:root{--bg: #05060a;--ink: #eef1f6;--ink-dim: #9aa3b4;--muted: #5f6675;--chrome: #cfd6e6;--accent: #52e6ff;--accent-2:#8a9bff;--line: rgba(238,241,246,.14);--line-soft: rgba(238,241,246,.07);--ease: cubic-bezier(.16,1,.3,1);--pad: clamp(20px, 4vw, 56px);--maxw: 1500px;--f-display: "Fraunces", Georgia, serif;--f-sans: "Space Grotesk", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:16px;line-height:1.5;overflow-x:hidden}a,button{color:inherit;text-decoration:none;font:inherit}button{background:none;border:none;cursor:pointer}a{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--accent);color:#04121a}#stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;display:block;pointer-events:none}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .7s var(--ease)}body.past-hero .veil{opacity:.82}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(125% 105% at 50% 46%,transparent 46%,rgba(0,0,0,.6) 100%)}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--bg);display:grid;place-items:center}.loader__inner{display:flex;align-items:center;gap:18px}.loader__mark{font-family:var(--f-mono);font-weight:500;font-size:15px;letter-spacing:.34em;padding-left:.34em}.loader__bar{width:120px;height:1px;background:var(--line);position:relative;overflow:hidden}.loader__bar i{position:absolute;top:0;right:0;bottom:0;left:0;width:0;background:var(--accent)}.loader__pct{font-family:var(--f-mono);font-size:12px;color:var(--muted)}.loader.is-done{opacity:0;visibility:hidden;transition:opacity .7s var(--ease),visibility .7s}.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:clamp(16px,2.2vw,26px) var(--pad)}.nav__brand{display:flex;align-items:center;gap:12px}.nav__mark{font-family:var(--f-mono);font-weight:500;font-size:15px;letter-spacing:.3em;padding:7px 12px 7px 15px;line-height:1;border:1px solid var(--line);border-radius:999px}.nav__brandtext{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.nav__links{display:flex;align-items:center;gap:6px}.nav__links a{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:9px 15px;border-radius:999px;color:var(--ink-dim);transition:color .3s,background .3s}.nav__links a:hover,.nav__links a.is-active{color:var(--ink)}.nav__cta{border:1px solid var(--line);color:var(--ink)!important}.nav__cta:hover{background:var(--accent);color:#04121a!important;border-color:var(--accent)}@media (max-width: 700px){.nav__brandtext{display:none}}.hero{position:relative;z-index:2}.side{position:fixed;left:var(--pad);top:clamp(96px,12vh,150px);z-index:30;width:210px}.side__label{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.side__list{list-style:none;display:flex;flex-direction:column;gap:2px;margin-bottom:18px}.filt{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.05em;color:var(--ink-dim);padding:5px 0;text-align:left;transition:color .3s,transform .3s var(--ease)}.filt:before{content:"›";opacity:0;margin-right:8px;color:var(--accent);transition:opacity .3s}.filt:hover,.filt.is-on{color:var(--ink)}.filt.is-on:before,.filt:hover:before{opacity:1}.side__count{font-family:var(--f-mono);font-size:11px;color:var(--muted)}.side__count b{color:var(--ink)}@media (max-width: 900px){.side{display:none}}.intro{position:fixed;left:var(--pad);bottom:clamp(34px,7vh,72px);z-index:20;max-width:34ch;transition:opacity .8s var(--ease),transform .8s var(--ease)}.intro__title{font-family:var(--f-display);font-weight:300;font-size:clamp(44px,6.4vw,96px);line-height:.92;letter-spacing:-.03em;margin-bottom:16px}.intro__title .it{font-style:italic;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.intro__lead{color:var(--ink-dim);font-size:clamp(13px,1vw,15px);line-height:1.55;max-width:42ch}@media (max-width: 900px){.intro{right:var(--pad);max-width:none}}.gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;perspective:1100px;perspective-origin:50% 48%;pointer-events:none}.gallery__space{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;will-change:transform}.pcard{position:absolute;top:50%;left:50%;width:300px;margin:-196px 0 0 -150px;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#b4c8f021,#1218284d);border:1px solid rgba(210,225,255,.22);box-shadow:0 30px 70px #00000080,inset 0 1px #ffffff29;will-change:transform,opacity;pointer-events:auto;transition:border-color .35s,box-shadow .35s}.pcard:hover{border-color:#78e6ff8c;box-shadow:0 36px 90px #0009,0 0 40px #52e6ff24}.pcard__media{position:relative;aspect-ratio:16/10;overflow:hidden}.pcard__media img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform .6s var(--ease),opacity .4s}.pcard:hover .pcard__media img{transform:scale(1.06);opacity:1}.pcard__media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--cg, #12203a);z-index:-1}.pcard__sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 34%,rgba(150,235,255,.2) 48%,rgba(170,150,255,.18) 55%,transparent 68%);mix-blend-mode:screen}.pcard__body{padding:16px 16px 18px}.pcard__row{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.pcard__row .c{color:var(--ink-dim)}.pcard__name{font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1;letter-spacing:-.01em;margin-bottom:8px}.pcard__meta{font-family:var(--f-mono);font-size:11px;color:var(--ink-dim)}.pcard.is-dim{filter:brightness(.5) saturate(.7)}.rail{position:fixed;right:var(--pad);top:50%;transform:translateY(-50%);width:2px;height:120px;background:var(--line-soft);z-index:30;border-radius:2px;overflow:hidden}.rail i{position:absolute;top:0;left:0;width:100%;height:0;background:linear-gradient(var(--accent),var(--accent-2))}@media (max-width: 700px){.rail{display:none}}body.past-hero .gallery,body.past-hero .side,body.past-hero .intro,body.past-hero .rail{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s var(--ease),visibility .5s}.runway{height:520vh;width:1px;pointer-events:none}.content{position:relative;z-index:5}.sec{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,12vh,150px) var(--pad)}.sec__over{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(22px,3vw,40px)}.sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,70px)}.sec__title{font-family:var(--f-display);font-weight:300;font-size:clamp(42px,7.5vw,110px);line-height:.92;letter-spacing:-.02em}.sec__lead{font-family:var(--f-display);font-weight:300;font-size:clamp(26px,4.4vw,66px);line-height:1.12;letter-spacing:-.02em;max-width:20ch}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}[data-reveal].in{opacity:1;transform:none}.studio__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:clamp(60px,8vw,110px);border-top:1px solid var(--line-soft);padding-top:clamp(30px,3vw,50px)}.studio__col .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);display:block;margin-bottom:14px}.studio__col p{color:var(--ink-dim);font-size:clamp(14px,1.1vw,16px);line-height:1.6}@media (max-width: 820px){.studio__grid{grid-template-columns:1fr}}.svc{list-style:none;border-top:1px solid var(--line-soft)}.svc__row{display:grid;grid-template-columns:60px 1fr 1.3fr;align-items:baseline;gap:clamp(14px,3vw,44px);padding:clamp(22px,2.8vw,40px) 0;border-bottom:1px solid var(--line-soft)}.svc__n{font-family:var(--f-mono);font-size:12px;color:var(--muted)}.svc__name{font-family:var(--f-display);font-weight:300;font-size:clamp(26px,3.6vw,52px);line-height:1;letter-spacing:-.01em}.svc__d{color:var(--ink-dim);font-size:clamp(13px,1.05vw,16px);line-height:1.55}@media (max-width: 760px){.svc__row{grid-template-columns:40px 1fr}.svc__d{grid-column:2}}.wlist{list-style:none;border-top:1px solid var(--line-soft)}.wrow{display:grid;grid-template-columns:54px 1.1fr 1fr 70px;align-items:center;gap:clamp(12px,2.5vw,40px);padding:clamp(20px,2.6vw,38px) 0;border-bottom:1px solid var(--line-soft);transition:padding .4s var(--ease)}.wrow:hover{padding-left:14px}.wrow__n{font-family:var(--f-mono);font-size:12px;color:var(--muted)}.wrow__name{font-family:var(--f-display);font-weight:300;font-size:clamp(28px,4.6vw,66px);line-height:1;letter-spacing:-.02em;transition:color .35s}.wrow:hover .wrow__name{color:var(--accent)}.wrow__meta{font-family:var(--f-mono);font-size:12px;color:var(--ink-dim)}.wrow__year{font-family:var(--f-mono);font-size:12px;color:var(--muted);text-align:right}@media (max-width: 760px){.wrow{grid-template-columns:34px 1fr 54px}.wrow__meta{display:none}}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,40px)}.step{border-top:1px solid var(--line);padding-top:22px}.step__n{font-family:var(--f-mono);font-size:12px;color:var(--accent)}.step h3{font-family:var(--f-display);font-weight:400;font-size:clamp(24px,2.6vw,38px);margin:16px 0 12px;letter-spacing:-.01em}.step p{color:var(--ink-dim);font-size:clamp(13px,1vw,15px);line-height:1.6}@media (max-width: 820px){.steps{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.steps{grid-template-columns:1fr}}.contact{text-align:center;display:flex;flex-direction:column;align-items:center;min-height:78vh;justify-content:center}.contact__title{font-family:var(--f-display);font-weight:300;font-size:clamp(38px,6.4vw,104px);line-height:1;letter-spacing:-.03em;margin-bottom:clamp(30px,4vw,50px)}.contact__mail{font-family:var(--f-mono);font-size:clamp(15px,2vw,24px);letter-spacing:.03em;border-bottom:1px solid var(--line);padding-bottom:6px;transition:color .3s,border-color .3s}.contact__mail:hover{color:var(--accent);border-color:var(--accent)}.foot{max-width:var(--maxw);margin:0 auto;padding:clamp(50px,6vw,90px) var(--pad) clamp(28px,3vw,40px);border-top:1px solid var(--line-soft)}.foot__top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,80px)}.foot__brand{max-width:30ch}.foot__mark{font-family:var(--f-mono);font-weight:500;font-size:16px;letter-spacing:.3em;display:block;margin-bottom:14px}.foot__brand p{color:var(--ink-dim);font-size:14px}.foot__cols{display:flex;gap:clamp(30px,5vw,80px);flex-wrap:wrap}.foot__col{display:flex;flex-direction:column;gap:10px}.foot__k{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.foot__col a{color:var(--ink-dim);font-size:14px;transition:color .3s}.foot__col a:hover{color:var(--accent)}.foot__word{font-family:var(--f-display);font-weight:300;font-size:clamp(70px,20vw,300px);line-height:.8;letter-spacing:-.03em;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(238,241,246,.12);margin:clamp(10px,2vw,30px) 0;-webkit-user-select:none;user-select:none}.foot__row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.foot__row a:hover{color:var(--accent)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition-duration:1ms!important}[data-reveal]{opacity:1;transform:none}.gallery{position:relative;perspective:none;height:auto;z-index:5}.gallery__space{position:relative;transform:none!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding:120px var(--pad) 40px;inset:auto}.pcard{position:relative;top:auto;left:auto;margin:0;width:auto;opacity:1!important;transform:none!important}.side{position:relative;inset:auto;width:auto;padding:0 var(--pad)}.intro{position:relative;inset:auto;max-width:none;padding:90px var(--pad) 0}.rail,.veil,.runway{display:none}}
