:root{--bg:#0a0d11;--bg-2:#0d1218;--surface:#101720;--surface-2:#141d27;--line:#243040;--line-soft:#1b2530;--text:#e8eef4;--muted:#9daab8;--faint:#66727f;--accent:#6fd6e8;--accent-soft:#6fd6e81f;--azure:#7aa2e8;--azure-soft:#7aa2e81f;--radius:20px;--font-display:"Fraunces",Georgia,serif;--font-body:"Space Grotesk",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.65;overflow-x:clip}::selection{background:var(--accent);color:#081114}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}section{scroll-margin-top:92px}#fx{z-index:0;pointer-events:none;position:fixed;inset:0}.ambient{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient:before{content:"";background:radial-gradient(circle,#6fd6e812,#0000 60%);width:60vmax;height:60vmax;position:absolute;top:-25vmax;left:-20vmax}.ambient:after{content:"";background:radial-gradient(circle,#7aa2e80e,#0000 60%);width:55vmax;height:55vmax;position:absolute;bottom:-28vmax;right:-22vmax}.grain{z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");animation:9s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-5%,-2%)}80%{transform:translate(4%,4%)}}.skip{z-index:99;background:var(--accent);color:#081114;border-radius:10px;padding:10px 18px;font-weight:500;transition:top .2s;position:fixed;top:-60px;left:16px}.skip:focus{top:14px}.nav{z-index:50;-webkit-backdrop-filter:blur(14px);background:#0a0d11b8;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(18px,4vw,44px);transition:border-color .35s,background .35s;display:flex;position:fixed;top:0;left:0;right:0}.nav:after{content:"";height:2px;width:var(--p,0%);background:linear-gradient(90deg,var(--azure),var(--accent));pointer-events:none;position:absolute;bottom:0;left:0}.nav.scrolled{border-bottom-color:var(--line-soft)}.brand{font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:10px;font-size:1.3rem;font-weight:600;display:flex}.brand i{background:var(--accent);width:9px;height:9px;box-shadow:0 0 14px var(--accent);border-radius:2px;display:inline-block}.nav-links{scrollbar-width:none;-ms-overflow-style:none;gap:6px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-size:.74rem;transition:color .25s,border-color .25s,background .25s}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--accent);background:var(--accent-soft);border-color:#6fd6e866}.nav-cta{font-family:var(--font-mono);letter-spacing:.08em;color:#081114;background:var(--accent);white-space:nowrap;border-radius:999px;padding:10px 20px;font-size:.74rem;font-weight:500;transition:transform .25s,box-shadow .25s}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6fd6e84d}.nav-menu{display:contents}.nav-toggle{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;display:none}.nav-toggle span{background:var(--text);border-radius:1px;width:16px;height:1.5px;transition:transform .25s}.nav.open .nav-toggle span:first-child{transform:translateY(3.25px)rotate(45deg)}.nav.open .nav-toggle span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.wrap{z-index:2;width:min(1120px,92vw);margin:0 auto;position:relative}.section{padding:clamp(72px,10vw,130px) 0}.section-head{align-items:baseline;gap:18px;margin-bottom:clamp(36px,5vw,60px);display:flex}.section-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;font-size:.8rem}.section-num:before{content:"// "}.section-title{font-family:var(--font-display);font-size:clamp(1.9rem,4.4vw,3rem);font-weight:400;line-height:1.1}.section-title em{color:var(--accent);font-style:italic}.rule{background:linear-gradient(90deg,var(--line),transparent);flex:1;align-self:center;height:1px}.reveal{transition:opacity .8s cubic-bezier(.2,.65,.3,1),transform .8s cubic-bezier(.2,.65,.3,1);transition-delay:var(--d,0s)}html.js .reveal{opacity:0;transform:translateY(34px)}html.js .reveal.is-in{opacity:1;transform:none}.ticker{z-index:2;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#0d121866;width:100vw;margin-left:calc(50% - 50vw);padding:20px 0;position:relative;overflow:hidden}.ticker-track{white-space:nowrap;width:max-content;animation:32s linear infinite ticker;display:flex}.ticker-group{align-items:center;gap:56px;padding-right:56px;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.client-item{align-items:center;display:inline-flex}.client-item img{object-fit:contain;opacity:.8;border-radius:8px;width:auto;max-width:170px;height:44px;transition:opacity .3s}.client-item:hover img{opacity:1}.ticker-track i{font-style:normal;font-family:var(--font-mono);color:var(--accent);font-size:.72rem}@keyframes ticker{to{transform:translate(-50%)}}.hero{grid-template-columns:minmax(280px,400px) 1fr;align-items:center;gap:clamp(36px,6vw,80px);min-height:100svh;padding-top:110px;display:grid;position:relative}.hero-cmd{font-family:var(--font-mono);letter-spacing:.04em;color:var(--faint);align-items:center;gap:10px;margin-bottom:22px;font-size:.8rem;display:flex}.hero-cmd b{color:var(--accent);font-weight:500}.hero-cmd em{color:var(--muted);font-style:normal}.hero-cmd .caret{background:var(--accent);width:8px;height:15px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.portrait{position:relative}.portrait-frame{aspect-ratio:1;border:1px solid var(--line);border-radius:26px;transition:transform .6s cubic-bezier(.2,.65,.3,1);position:relative;overflow:hidden;transform:rotate(-1.6deg);box-shadow:0 30px 80px #0000008c,0 0 0 1px #6fd6e814}.portrait:hover .portrait-frame{transform:rotate(0)scale(1.015)}.portrait-frame img{object-fit:cover;filter:saturate(.92)contrast(1.02);width:100%;height:100%}.portrait-frame:before{content:"";z-index:2;pointer-events:none;opacity:.9;background:linear-gradient(var(--accent),var(--accent)) top left/18px 1.5px, linear-gradient(var(--accent),var(--accent)) top left/1.5px 18px, linear-gradient(var(--accent),var(--accent)) top right/18px 1.5px, linear-gradient(var(--accent),var(--accent)) top right/1.5px 18px, linear-gradient(var(--accent),var(--accent)) bottom left/18px 1.5px, linear-gradient(var(--accent),var(--accent)) bottom left/1.5px 18px, linear-gradient(var(--accent),var(--accent)) bottom right/18px 1.5px, linear-gradient(var(--accent),var(--accent)) bottom right/1.5px 18px;background-repeat:no-repeat;position:absolute;inset:10px}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0a0d118c);position:absolute;inset:0}.portrait-badge{z-index:3;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text);border:1px solid var(--line);backdrop-filter:blur(8px);background:#0a0d11b3;border-radius:999px;align-items:center;gap:9px;padding:8px 14px;font-size:.72rem;display:flex;position:absolute;bottom:16px;left:18px}.portrait-badge i{background:#7fd18b;border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse;box-shadow:0 0 10px #7fd18b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.portrait-ring{pointer-events:none;border:1px dashed #6fd6e859;border-radius:32px;position:absolute;inset:-14px;transform:rotate(1.4deg)}.portrait-meta{background:var(--line-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;display:grid;overflow:hidden}.portrait-meta div{background:var(--bg-2);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:10px 13px;font-size:.6rem}.portrait-meta b{color:var(--text);letter-spacing:.04em;margin-top:4px;font-size:.72rem;font-weight:500;display:block}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;margin-bottom:20px;font-size:.78rem;display:flex}.eyebrow:before{content:"";background:var(--accent);width:34px;height:1px}.hero h1{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:24px;font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:400;line-height:1.06}.hero h1 em{color:var(--accent);font-style:italic}.line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.line-in{will-change:transform;display:inline-block}html.js .line-in{animation:1s cubic-bezier(.2,.65,.3,1) backwards lineup}.line:nth-child(2) .line-in{animation-delay:.16s}@keyframes lineup{0%{transform:translateY(115%)}to{transform:none}}.hero-sub{color:var(--muted);max-width:56ch;margin-bottom:34px;font-size:clamp(1rem,1.4vw,1.15rem)}.hero-sub b{color:var(--text);font-weight:500}.hero-cta{flex-wrap:wrap;gap:14px;margin-bottom:44px;display:flex}.btn{letter-spacing:.02em;border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:14px 26px;font-size:.92rem;font-weight:500;transition:transform .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.btn-primary{background:var(--accent);color:#081114;border-color:var(--accent)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #6fd6e847}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn svg{fill:currentColor;width:15px;height:15px}.hero-stats{flex-wrap:wrap;gap:clamp(22px,4vw,52px);display:flex}.stat{border-left:1px solid var(--line);padding-left:16px}.stat .n{font-family:var(--font-display);color:var(--text);font-size:clamp(1.9rem,3vw,2.6rem);font-weight:500}.stat .n sup{color:var(--accent);font-size:.6em}.stat .l{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:4px;font-size:.68rem}.clients{z-index:2;padding-top:clamp(48px,7vw,80px);position:relative}.clients-label{text-align:center;font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-size:.68rem}.story-grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(24px,4vw,52px);display:grid}.story-copy p{color:var(--muted);max-width:58ch;font-size:clamp(1rem,1.35vw,1.14rem)}.story-copy p+p{margin-top:20px}.story-copy p b{color:var(--text);font-weight:500}.stack-chips{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.story-orbit{min-width:0}#story .orbit{grid-template-columns:1fr 1fr}#story .orbit-on .orbit-card{width:min(190px,56vw);padding:18px 20px}.orbit{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.orbit-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,2.4vw,28px);transition:transform .35s cubic-bezier(.2,.65,.3,1),border-color .35s,background .35s}.orbit-card:hover{background:var(--surface-2);border-color:#6fd6e873;transform:translateY(-5px)}.orbit-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.62rem;display:block}.orbit-card h3{font-family:var(--font-display);margin-bottom:6px;font-size:1.35rem;font-weight:500}.orbit-card p{color:var(--faint);font-size:.82rem}.orbit-hint{display:none}.orbit.orbit-on{border-radius:var(--radius);perspective:1300px;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;height:420px;display:block;position:relative;overflow:hidden}.orbit.orbit-on:active{cursor:grabbing}.orbit.orbit-on:before{content:"";pointer-events:none;background:repeating-radial-gradient(64% 48%,#0000 0 42px,#6fd6e80e 42px 43px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 25%,#0000 76%);mask-image:radial-gradient(#000 25%,#0000 76%)}.orbit-on .orbit-card{will-change:transform,opacity;backface-visibility:hidden;width:min(240px,62vw);margin:0;transition:none;position:absolute;top:50%;left:50%}.orbit-on+.orbit-hint{text-align:center;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-top:14px;font-size:.64rem;display:block}.flow{counter-reset:step;grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,34px);transition:transform .4s cubic-bezier(.2,.65,.3,1),border-color .4s,background .4s;position:relative;overflow:hidden}.step:before{content:"";background:linear-gradient(var(--accent),transparent);opacity:0;width:3px;transition:opacity .4s;position:absolute;top:0;bottom:0;left:0}.step:hover{background:var(--surface-2);border-color:#6fd6e873;transform:translateY(-5px)}.step:hover:before{opacity:1}.step-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.12em;align-items:center;gap:10px;margin-bottom:16px;font-size:.78rem;display:inline-flex}.step-num:after{content:"";background:var(--line);width:26px;height:1px}.step h3{font-family:var(--font-display);margin-bottom:10px;font-size:1.28rem;font-weight:500;line-height:1.3}.step p{color:var(--muted);font-size:.94rem}.flow-connector{color:var(--faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;margin-top:26px;font-size:.72rem;display:flex}.flow-connector:before,.flow-connector:after{content:"";background:var(--line-soft);flex:1;height:1px}.boards{grid-template-columns:1fr;gap:22px;display:grid}.board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,2.6vw,30px);transition:transform .4s,border-color .4s;overflow:hidden}.board:hover{border-color:#6fd6e866;transform:translateY(-4px)}.board-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.board-head svg{width:22px;height:22px}.board-head .gh{fill:var(--text)}.board-head .gl{fill:#e2432a}.board-name{font-size:1.02rem;font-weight:500}.board-handle{font-family:var(--font-mono);color:var(--faint);font-size:.72rem;transition:color .25s;display:inline-block}a.board-handle:hover{color:var(--accent)}.switch{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;gap:4px;margin-left:auto;padding:4px;display:inline-flex}.switch-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 15px;font-size:.68rem;transition:color .25s,background .25s,box-shadow .25s}.switch-btn:hover{color:var(--text)}.switch-btn.is-on{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #6fd6e859}.board-sub{font-family:var(--font-mono);color:var(--muted);margin:4px 0 0;font-size:.74rem}.board-sub b{color:var(--accent);font-weight:500}.heat{grid-template-rows:repeat(7,auto);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-top:16px;transition:opacity .18s;display:grid}.heat .heat-note{min-height:80px;color:var(--faint);grid-area:1/1/-1/-1;place-items:center;font-size:.8rem;display:grid}.heat.swap{opacity:0}.heat i{aspect-ratio:1;background:var(--cell);border-radius:2.5px;width:100%;transition:transform .15s;display:block}.heat i:hover{outline:1px solid #ffffff40;transform:scale(1.35)}.heat-months{font-family:var(--font-mono);color:var(--faint);letter-spacing:.05em;justify-content:space-between;margin-top:10px;font-size:.62rem;display:flex}.heat-legend{font-family:var(--font-mono);color:var(--faint);justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;font-size:.62rem;display:flex}.heat-legend i{border-radius:2.5px;width:11px;height:11px}.board-note{color:var(--faint);border-top:1px dashed var(--line-soft);margin-top:14px;padding-top:12px;font-size:.8rem}.timeline{padding-left:34px;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent),var(--line) 30%,var(--line));width:1px;position:absolute;top:6px;bottom:6px;left:8px}.job{padding:0 0 42px;position:relative}.job:last-child{padding-bottom:0}.job:before{content:"";background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:11px;height:11px;transition:background .3s,box-shadow .3s;position:absolute;top:7px;left:-30.5px}.job:hover:before{background:var(--accent);box-shadow:0 0 16px #6fd6e899}.job-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,32px);transition:transform .4s cubic-bezier(.2,.65,.3,1),border-color .4s}.job:hover .job-card{border-color:#6fd6e866;transform:translate(6px)}.job-top{flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin-bottom:6px;display:flex}.job-co{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.job-co small{font-family:var(--font-body);color:var(--faint);margin-left:8px;font-size:.78rem;font-weight:300}.job-when{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);white-space:nowrap;border:1px solid #6fd6e859;border-radius:999px;margin-left:auto;padding:5px 13px;font-size:.7rem}.job-when.now:before{content:"";background:#7fd18b;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block;box-shadow:0 0 8px #7fd18b}.job-role{color:var(--accent);margin-bottom:12px;font-size:.92rem;font-weight:400}.job-points{gap:8px;list-style:none;display:grid}.job-points li{color:var(--muted);padding-left:20px;font-size:.92rem;position:relative}.job-points li:before{content:"";background:var(--accent);width:8px;height:1.5px;position:absolute;top:.62em;left:0}.job-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);background:var(--bg-2);border-radius:6px;padding:4px 10px;font-size:.66rem}.sub-roles{border-top:1px dashed var(--line-soft);gap:6px;margin-top:14px;padding-top:12px;display:grid}.sub-roles div{color:var(--faint);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.sub-roles span{font-family:var(--font-mono);font-size:.68rem}.project{border:1px solid var(--line);transform-style:preserve-3d;perspective:1000px;border-radius:28px;margin-bottom:26px;position:relative;overflow:hidden}.project-inner{will-change:transform;transition:transform .5s cubic-bezier(.2,.65,.3,1)}.project.cyan{background:linear-gradient(135deg,#6fd6e821,#6fd6e80a 55%,#0000);border-color:#6fd6e84d}.project.azure{background:linear-gradient(135deg,#7aa2e824,#7aa2e80d 55%,#0000);border-color:#7aa2e84d}.project-grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(24px,4vw,52px);padding:clamp(24px,4vw,48px);display:grid}.media-slot{aspect-ratio:16/10;border:1px solid var(--line);background:var(--bg-2);border-radius:18px;position:relative;overflow:hidden}.media-slot img,.media-slot video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.media-art{place-items:center;display:grid;position:absolute;inset:0}.media-art svg{width:72%;height:72%}.media-hint{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);border:1px dashed var(--line);white-space:nowrap;background:#0a0d11a6;border-radius:999px;padding:5px 12px;font-size:.6rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.media-slot img.fit-contain{object-fit:contain}.cf-track{position:relative}.coverflow{flex-direction:column;justify-content:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.cf-stage{perspective:1600px;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;outline:none;align-items:center;width:100%;max-width:min(540px,92vw);margin:0 auto;display:grid}.cf-stage:active{cursor:grabbing}.cf-stage:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:28px}.cf-stage>.project{will-change:transform,opacity;backface-visibility:hidden;grid-area:1/1;margin-bottom:0;transition:transform .7s cubic-bezier(.22,.7,.25,1),opacity .7s,filter .7s}.coverflow .project-grid{grid-template-columns:1fr;align-items:start;gap:18px;padding:clamp(18px,2.6vw,30px)}.coverflow .media-slot{aspect-ratio:16/9}.coverflow .project-body h3{margin-bottom:10px;font-size:clamp(1.4rem,2.4vw,1.8rem)}.coverflow .case>div{padding:8px 0}@media (prefers-reduced-motion:reduce){.cf-stage>.project{transition:none}}.project-body .kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.7rem}.project.cyan .kicker{color:var(--accent)}.project.azure .kicker{color:var(--azure)}.project-body h3{font-family:var(--font-display);margin-bottom:14px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500;line-height:1.15}.project-body p{color:var(--muted);margin-bottom:20px;font-size:.95rem}.case{margin:0 0 4px;display:grid}.case>div{border-top:1px dashed var(--line-soft);grid-template-columns:110px 1fr;gap:14px;padding:11px 0;display:grid}.case dt{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-top:4px;font-size:.64rem}.case dd{color:var(--muted);font-size:.92rem}.project.azure .case dt{color:var(--azure)}.project-links{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.store-btn{border:1px solid var(--line);background:#0a0d1180;border-radius:12px;align-items:center;gap:10px;padding:11px 18px;font-size:.8rem;transition:transform .25s,border-color .25s,background .25s;display:inline-flex}.store-btn:hover{border-color:var(--accent);background:#0a0d11d9;transform:translateY(-3px)}.store-btn svg{width:18px;height:18px;fill:var(--text)}.store-btn small{color:var(--faint);font-size:.58rem;line-height:1;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;display:block}.store-btn strong{font-size:.86rem;font-weight:500}.store-note{border:1px dashed var(--line);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-radius:12px;align-items:center;gap:9px;padding:11px 18px;font-size:.7rem;display:inline-flex}.store-note svg{fill:none;width:13px;height:13px;stroke:var(--accent);stroke-width:1.5px}.contact{text-align:center;padding:clamp(80px,12vw,150px) 0}.contact .eyebrow{justify-content:center}.contact .eyebrow:before{display:none}.contact h2{font-family:var(--font-display);max-width:16ch;margin:0 auto 22px;font-size:clamp(2.2rem,5.4vw,4rem);font-weight:400;line-height:1.1}.contact h2 em{color:var(--accent);font-style:italic}.contact p{color:var(--muted);max-width:52ch;margin:0 auto 36px}.contact-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.contact .copy-note{min-height:1.5em;font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);margin:14px auto 0;font-size:.72rem}.signature{justify-content:center;margin-top:46px;display:flex}.signature svg{width:min(320px,72vw);height:auto}.sig-text{font-family:var(--font-display);fill:#0000;stroke:var(--accent);stroke-width:.9px;font-size:60px;font-style:italic}html.js .signature.is-in .sig-text{stroke-dasharray:720;stroke-dashoffset:720px;animation:2.6s cubic-bezier(.4,.2,.3,1) forwards sig-draw}@keyframes sig-draw{0%{stroke-dashoffset:720px;fill:#0000}68%{stroke-dashoffset:0;fill:#0000}to{stroke-dashoffset:0;fill:var(--accent)}}.contact-meta{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.contact-meta span{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);background:var(--bg-2);border-radius:8px;padding:8px 14px;font-size:.66rem}.socials{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:38px;display:flex}.soc{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:9px;padding:10px 18px;font-size:.82rem;transition:color .25s,border-color .25s,transform .25s;display:inline-flex}.soc:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.soc svg{fill:currentColor;width:15px;height:15px}footer{border-top:1px solid var(--line-soft);z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:26px clamp(18px,4vw,44px);display:flex;position:relative}footer p{font-family:var(--font-mono);color:var(--faint);letter-spacing:.08em;font-size:.68rem}.top-link{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.68rem;transition:color .25s}.top-link:hover{color:var(--accent)}@media (width<=768px){.cf-track{height:auto}.coverflow{height:auto;position:static}.nav-toggle{display:inline-flex}.nav-menu{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);opacity:0;visibility:hidden;pointer-events:none;background:#0a0d11f7;flex-direction:column;gap:4px;padding:10px 16px 16px;transition:opacity .25s,transform .25s,visibility .25s;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px)}.nav.open .nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-links{flex-direction:column;align-items:stretch;overflow:visible}.nav-links a{padding:11px 14px}.nav-cta{justify-content:center;margin-top:6px;display:inline-flex}}@media (width<=960px){.hero{grid-template-columns:1fr;gap:44px;min-height:auto;padding-top:130px}.portrait{max-width:340px}.project-grid,.boards,.story-grid{grid-template-columns:1fr}.orbit{grid-template-columns:1fr 1fr}}@media (width<=640px){.flow,.orbit,#story .orbit{grid-template-columns:1fr}.orbit.orbit-on{height:360px}.nav{padding:12px 16px}.hero-stats{gap:20px}.job-when{margin-left:0}.case>div{grid-template-columns:1fr;gap:4px;padding:10px 0}.portrait-meta{grid-template-columns:1fr 1fr 1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}.sig-text{fill:var(--accent);stroke:none}#fx,.grain{display:none}}
