@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@500;750&family=Manrope:wght@400;500;600;700;800&family=Nunito:wght@900&display=swap');

:root{color-scheme:dark;--bg:#060616;--surface:#0c0c20;--text:#f3f3fb;--muted:#a3a3ba;--line:rgba(163,166,220,.14);--cyan:#32baff;--pink:#e567fa;--font:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--cyan);outline-offset:7px;border-radius:4px}
img{display:block;max-width:100%}
::selection{background:#6446bc;color:#fff}
.container{width:min(1180px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--text);color:var(--bg);padding:12px 18px;border-radius:8px}
.skip-link:focus{top:20px}
.site-header{height:88px;position:relative;z-index:10;border-bottom:1px solid var(--line);background:rgba(6,6,22,.8)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{position:relative;width:38px;height:46px;overflow:hidden;flex-shrink:0}
.brand-mark img{position:absolute;width:100px;height:100px;max-width:none;left:-30px;top:-17px}
.brand-name,.footer-brand{font-size:15px;letter-spacing:1.15px;font-weight:800}
.brand-name span,.footer-brand span{font-weight:400;color:#bfc0d4;margin-left:4px}
nav{display:flex;gap:28px;margin-left:auto;margin-right:4px;font-size:13px;color:#b9b9ce}
.language-switch{display:flex;gap:3px;flex-shrink:0;padding:3px;border:1px solid var(--line);border-radius:7px}
.language-link{display:grid;place-items:center;min-width:31px;height:30px;font-size:10px;font-weight:700;letter-spacing:.7px;color:var(--muted);border-radius:4px;transition:color .2s,background .2s}
.language-link:hover{color:#fff;background:#ffffff08}
.language-link[aria-current=page]{color:#fff;background:#8b6be832}
nav a{transition:color .2s}
nav a:hover{color:#fff}
.header-cta{padding:11px 17px;border:1px solid #3a3459;border-radius:7px;font-size:12px;font-weight:600;display:flex;gap:24px;align-items:center;transition:background .2s,border-color .2s}
.header-cta:hover{background:#17132b;border-color:#8972c2}
.header-cta>span[aria-hidden]{font-size:19px;color:#c6b3ff}
.hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:285px 0 40px}
.hero-art{position:absolute;inset:0 0 auto;z-index:-1;pointer-events:none;height:515px;overflow:hidden}
.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,6,22,.1),transparent 35%,var(--bg) 100%)}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-content{position:relative}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 23px;justify-content:center;color:#c0bed7}
.spark{width:6px;height:6px;border-radius:50%;background:#9e8eff;box-shadow:0 0 14px #925aff}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(46px,5.4vw,76px);font-weight:800;line-height:1.08;letter-spacing:-3.5px;margin-bottom:25px}
.gradient-text{background:linear-gradient(105deg,#50c7ff 3%,#9d91ff 45%,#ef8df4 90%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-description{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:30px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 23px;border-radius:8px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s}
.button-primary{background:linear-gradient(110deg,#7166ec,#ad56d8);color:#fff;border:1px solid #ab8aef;box-shadow:0 4px 30px #6850d52b}
.button>span[aria-hidden]{font-size:20px;line-height:1}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 38px #8359e650}
.scroll-cue{display:flex;gap:13px;align-items:center;justify-content:center;margin:57px auto 0;font-size:10px;letter-spacing:.5px;color:#79798f;width:fit-content}
.scroll-cue>span[aria-hidden]{font-size:16px;color:#c0b9dd}
.hero-coordinate{position:absolute;left:48px;bottom:43px;font:10px monospace;letter-spacing:2px;color:#62617c;writing-mode:vertical-rl}
.projects-section{padding-top:92px;scroll-margin-top:24px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:39px}
.section-label{justify-content:flex-start;letter-spacing:1.8px;margin-bottom:21px;font-size:10px}
.section-label>span[aria-hidden]{color:#8e84d4;margin-right:8px}
h2{font-size:clamp(30px,3.3vw,44px);line-height:1.22;letter-spacing:-1.6px;font-weight:700;margin-bottom:0}
.muted-heading{color:#9392b0}
.section-description{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:3px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.project-card{--accent:var(--cyan);display:block;background:linear-gradient(140deg,#0e1027,#0b0b1b);border:1px solid #24273f;border-radius:14px;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.project-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 12px 45px #0006}
.subtext-card{--accent:#e1bc79;background:linear-gradient(140deg,#17211d,#0d1714)}
.rngmon-card{--accent:#f4ce45;background:linear-gradient(140deg,#191b22,#0b0b1b)}
.project-art{height:266px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}
.subtext-art{background:radial-gradient(ellipse at 10% 0,#35403166,transparent 70%),#111917}
.art-label{position:absolute;top:22px;left:25px;color:#b0aa98;font:10px monospace;letter-spacing:2px;z-index:2}
.art-baseline{display:flex;justify-content:space-between;position:absolute;bottom:19px;left:25px;right:25px;font:8px monospace;letter-spacing:1.5px;color:#b0aa98;text-transform:uppercase;z-index:2}
.subtext-lockup{display:flex;align-items:center;gap:17px;color:#f2eddf;font-family:'Golos Text',Arial,sans-serif}
.subtext-brand-mark{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;background:#e1bc79;color:#1d2b22;border-radius:15px;box-shadow:5px 5px 0 #e1bc7920;transform:rotate(-5deg);font-size:48px;font-weight:750;line-height:1;letter-spacing:-7px;padding:0 7px 8px 0}
.subtext-brand-mark:lang(en){letter-spacing:-4px;padding-right:3px}
.subtext-brand-name{display:block;font-size:36px;line-height:1.1;letter-spacing:-1.8px;font-weight:750}
.subtext-brand-tagline{display:block;font-size:8px;font-weight:500;letter-spacing:1.7px;color:#b0aa98;margin-top:10px}
.rngmon-art{background:radial-gradient(ellipse at 90% 0,#f4ce451c,transparent 70%),#f8f8ef}
.rngmon-art .art-label,.rngmon-art .art-baseline{color:#737567}
.rng-lockup{display:flex;align-items:center;gap:14px;color:#262821;font-family:Nunito,Arial,sans-serif;font-weight:900}
.rng-brand-mark{display:grid;place-items:center;position:relative;width:52px;height:56px;border:3px solid #262821;border-radius:17px 17px 21px 21px;background:#f4ce45;box-shadow:3px 3px 0 #262821;transform:rotate(-4deg);font-size:32px}
.rng-brand-mark>span{position:absolute;font-size:17px;right:-9px;top:-10px}
.rng-brand-copy strong{display:block;font-size:30px;letter-spacing:1px;line-height:1.1}
.rng-brand-copy>span{display:block;font-size:9px;letter-spacing:2px;margin-top:6px}
.dicebeasts-card{--accent:#e6a23c;background:linear-gradient(140deg,#1a2a1f,#0d1611)}
.dicebeasts-art{background:#243528 url('/projects/dicebeasts-forest.jpg') center/cover no-repeat}
.dicebeasts-art:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0d16112b,#0d161170 55%,#0d1611d9)}
.dicebeasts-art .art-label,.dicebeasts-art .art-baseline{color:#e2d3b3}
.dicebeasts-wordmark{position:relative;width:calc(100% - 40px);height:auto;max-width:350px;filter:drop-shadow(0 4px 10px #0008);transition:transform .25s}
.project-card:hover .dicebeasts-wordmark{transform:scale(1.025)}
.project-info{padding:26px 29px 27px}
.project-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
h3{font-size:27px;letter-spacing:-.8px;font-weight:700;margin:0}
.project-arrow{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;border:1px solid #3a3b56;color:var(--accent);font-size:22px;transition:background .2s,transform .2s}
.project-card:hover .project-arrow{transform:rotate(6deg);background:#ffffff09}
.project-info p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:25px}
.project-domain{display:flex;align-items:center;gap:9px;font:10px monospace;color:#a9adc7;border-top:1px solid var(--line);padding-top:20px}
.domain-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;opacity:.9}
.projects-note{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:27px;color:#7e7d99;font-size:10px}
.projects-note p{margin:0}.projects-note>span{color:#ab83d6;font-size:15px}
.about-section{margin-top:110px;margin-bottom:85px;display:grid;grid-template-columns:340px 1fr;align-items:center;gap:85px;border-top:1px solid var(--line);padding-top:70px}
.about-image{width:300px;max-width:100%;position:relative}
.about-image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.about-image:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 40px 25px var(--bg);pointer-events:none}
.about-content h2{font-size:45px;margin-bottom:22px;letter-spacing:-2px}
.about-content>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:25px}
.text-link{display:inline-flex;align-items:center;gap:23px;font-size:12px;color:#cfbfec;border-bottom:1px solid #74608a;padding-bottom:10px}
.text-link:hover{color:#fff}.text-link>span[aria-hidden]{font-size:18px}
.site-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:27px 32px;gap:20px}
.footer-brand{font-size:11px;letter-spacing:1.5px}
.site-footer p{font-size:10px;color:#77758f;margin:0}
.back-top{display:flex;align-items:center;gap:20px;font-size:10px;color:#aaa6c0}
.back-top>span[aria-hidden]{font-size:18px}
@media(max-width:900px){.project-grid{grid-template-columns:1fr}.project-art{height:250px}}
@media(min-width:1600px){.hero-art{height:570px}.hero{padding-top:320px}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}nav{margin-right:0;gap:24px}.header-cta{display:none}.hero{padding-top:265px}.hero-art{height:460px}.hero-art img{object-fit:cover}.hero-coordinate{left:20px}.about-section{gap:38px;grid-template-columns:280px 1fr}.about-content h2{font-size:39px}}
@media(max-width:650px){html{scroll-padding-top:35px}.container{width:calc(100% - 40px)}.site-header{height:74px}.brand-name{font-size:11px;letter-spacing:.7px}.brand{gap:4px}.brand-mark{width:32px}nav{gap:0;margin:0;font-size:11px}nav a:nth-child(2){display:none}.header-inner{gap:14px}.hero{padding-top:188px;padding-bottom:35px}.hero-art{height:290px}.hero-art img{min-width:740px;max-width:none;width:740px;height:296px;position:absolute;left:50%;transform:translateX(-50%)}.hero-art:after{background:linear-gradient(180deg,rgba(6,6,22,.12),transparent 35%,var(--bg) 100%)}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:20px}h1{font-size:44px;letter-spacing:-2px;line-height:1.12;margin-bottom:22px}.hero-description{font-size:12px;line-height:1.9}.button{font-size:12px;padding:15px 21px}.scroll-cue{margin-top:36px;font-size:9px}.hero-coordinate{display:none}.projects-section{padding-top:57px}.section-heading{display:block;margin-bottom:26px}.section-label{font-size:9px;margin-bottom:15px}h2{font-size:32px;letter-spacing:-1px}.section-description{font-size:11px;margin-top:17px}.section-description br{display:none}.project-grid{grid-template-columns:1fr;gap:22px}.project-art{height:235px}.project-info{padding:24px}.project-info p{font-size:12px}.project-domain{font-size:10px}.projects-note{align-items:flex-start;font-size:9px;line-height:1.8;padding-inline:6px}.projects-note>span{line-height:1.2}.about-section{margin-top:67px;margin-bottom:52px;padding-top:38px;grid-template-columns:1fr;gap:20px}.about-image{width:220px;margin-inline:auto}.about-content{text-align:center}.about-content .eyebrow{justify-content:center}.about-content h2{font-size:35px}.about-content>p:not(.eyebrow){font-size:12px}.site-footer{flex-wrap:wrap;padding-top:24px;gap:20px}.footer-brand{font-size:10px}.site-footer p{font-size:9px}.back-top{width:100%;justify-content:center;padding-top:4px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
