.loader{z-index:95;background:var(--bone);color:var(--ground);place-items:center;display:grid;position:fixed;inset:0}.loader-mark{top:var(--gutter);left:var(--gutter);color:var(--ground);position:absolute}.loader-count{right:var(--gutter);bottom:var(--gutter);font-family:var(--font-mono);font-size:clamp(3rem,8vw,6rem);line-height:1;position:absolute;overflow:clip}.loader-count span{display:block}.loader-word{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:-.16em;padding-bottom:.16em;padding-right:.04em;font-size:clamp(3.5rem,9vw,7rem);line-height:1;overflow:clip}.loader-word sup{vertical-align:1.4em;letter-spacing:normal;font-size:.3em}main section[id]{scroll-margin-top:6rem}.site-head{z-index:80;padding:1.1rem var(--gutter);pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;top:0;left:0;right:0}.site-head>*{pointer-events:auto}.head-brand{color:var(--bone);align-items:center;gap:.85rem;display:inline-flex}.head-brand .mark{width:34px;height:34px}.head-brand-name{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.5rem}.head-brand-name sup{vertical-align:.9em;font-size:.45em}.head-nav{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);background:#0d10158c;border-radius:999px;gap:.25rem;padding:.3rem;display:flex}.head-nav a{font-variation-settings:"wght" 480;transition:background-color .45s var(--ease-out), color .45s var(--ease-out);border-radius:999px;padding:.45rem 1rem;font-size:.85rem;position:relative}.head-nav a:hover{background:var(--bone);color:var(--ground)}.head-meta{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim);flex-direction:column;align-items:flex-end;gap:.1rem;font-size:.6rem;display:flex}.hero{min-height:100dvh;position:relative;overflow:clip}.hero-canvas{width:100%;height:100%;position:absolute;inset:0}.hero-inner{z-index:2;min-height:100dvh;padding:calc(5.5rem + 2vh) var(--gutter) 2.2rem;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:relative}.hero-inner a,.hero-inner .hero-cue{pointer-events:auto}.hero-top{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.hero-note{text-align:right;max-width:21rem;color:var(--bone-dim);text-wrap:balance;font-size:.95rem;line-height:1.5}.hero-mark{font-family:var(--font-display);letter-spacing:-.035em;color:var(--bone);align-self:flex-start;align-items:baseline;margin:auto 0 -.1em -.05em;padding-bottom:.16em;padding-right:.04em;font-size:clamp(6.5rem,23vw,23rem);font-weight:400;line-height:.9;display:flex;overflow:clip}.hero-char{will-change:transform;display:inline-block;transform:translateY(140%)rotate(4deg)}.hero-reg{letter-spacing:normal;align-self:flex-start;margin-top:1.15em;margin-left:.4em;font-size:.13em}.hero-base{justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:1.8rem;display:flex}.hero-defn{max-width:24rem;color:var(--bone-dim);font-size:.9rem}.hero-defn em{font-variation-settings:"opsz" 30, "wght" 460;color:var(--bone);font-family:Fraunces Variable,Georgia,serif;font-style:italic}.hero-cue{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);align-items:center;gap:.9rem;font-size:.6rem;display:inline-flex}.hero-cue-line{background:var(--bone-dim);transform-origin:0;width:3.2rem;height:1px;animation:cue-pulse 2.4s var(--ease-out) infinite}@media (prefers-reduced-motion:reduce){.hero-cue-drag{display:none}.hero-cue-line{animation:none}}@keyframes cue-pulse{0%{transform:scaleX(0)}55%{transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}.manifesto{padding:clamp(9rem, 18vh, 15rem) var(--gutter) clamp(7rem, 13vh, 11rem);max-width:88rem}.manifesto-text{font-family:var(--font-display);letter-spacing:-.015em;max-width:62rem;margin-top:2.2rem;font-size:clamp(1.9rem,4.4vw,4.3rem);font-weight:400;line-height:1.16}.manifesto-text em{font-variation-settings:"opsz" 90, "wght" 420;color:var(--ultra-bright);font-family:Fraunces Variable,Georgia,serif;font-style:italic}.manifesto-text .w{opacity:.12;will-change:opacity;display:inline-block}.manifesto-foot{justify-content:space-between;align-items:flex-end;gap:3rem;margin-top:4.5rem;display:flex}.manifesto-foot p:first-child{max-width:26rem;color:var(--bone-dim)}.manifesto-index{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;text-align:right;color:var(--bone-faint);font-size:.65rem}.work{padding:0 var(--gutter) clamp(6rem, 12vh, 10rem)}.work-head{margin-bottom:clamp(3.5rem,7vh,6rem)}.work-title,.services-title,.process-title,.outro-title{font-family:var(--font-display);letter-spacing:-.025em;margin-top:1.4rem;font-size:clamp(3rem,7.5vw,7.8rem);font-weight:400;line-height:1}.case{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(1.5rem,4vw,4.5rem);padding:clamp(2rem,4vh,3.5rem) 0;display:grid}.case--flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.case--flip .case-media{order:2}.case-media{border:1px solid var(--hairline);background:#e8e3d50b;border-radius:1.8rem;padding:clamp(.4rem,.8vw,.65rem);position:relative}.case-shot{aspect-ratio:13/10;border-radius:calc(1.8rem - clamp(.4rem,.8vw,.65rem));overflow:clip}.case-shot img{object-fit:cover;will-change:transform;width:100%;height:114%}.case-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--bone);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;background:#0d1015b8;border-radius:999px;padding:.35rem .85rem;font-size:.6rem;position:absolute;top:1.4rem;left:1.4rem}.case-meta{padding-bottom:.5rem}.case-name{font-family:var(--font-display);letter-spacing:-.02em;transition:color .5s var(--ease-out);font-size:clamp(2rem,3.6vw,3.4rem);font-weight:400;line-height:1}.case:hover .case-name{color:var(--ultra-bright)}.case-desc{max-width:24rem;color:var(--bone-dim);margin-top:1.1rem}.case-tags{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;list-style:none;display:flex}.case-tags li{border:1px solid var(--hairline);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim);border-radius:999px;padding:.32rem .9rem;font-size:.62rem}.case-next{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);transition:background-color .5s var(--ease-out), padding-left .5s var(--ease-out);align-items:baseline;gap:2rem;margin-top:2rem;padding:2.2rem .2rem;display:flex}.case-next:hover{background:#e8e3d50a;padding-left:1.2rem}.case-next-num{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-faint);font-size:.62rem}.case-next-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.6rem,3vw,2.6rem)}.case-next-arrow{transition:transform .5s var(--ease-out), color .4s ease;margin-left:auto;font-size:1.6rem}.case-next:hover .case-next-arrow{color:var(--ultra-bright);transform:translate(4px,-4px)}.services{padding:clamp(6rem, 12vh, 10rem) var(--gutter);background:var(--ground-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);position:relative}.services-head{margin-bottom:clamp(3rem,6vh,5rem)}.svc-list{list-style:none}.svc{border-top:1px solid var(--hairline);transition:padding-left .55s var(--ease-out);grid-template-columns:5rem minmax(0,1.2fr) minmax(0,1fr);align-items:baseline;gap:1.5rem;padding:2.1rem .2rem;display:grid;position:relative}.svc:last-child{border-bottom:1px solid var(--hairline)}.svc:hover{padding-left:1.4rem}.svc-num{font-family:var(--font-mono);letter-spacing:.2em;color:var(--bone-faint);font-size:.68rem;transition:color .4s}.svc:hover .svc-num{color:var(--ultra-bright)}.svc-name{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.7rem,3.4vw,3.1rem);font-weight:400;line-height:1.04}.svc-desc{color:var(--bone-dim);max-width:26rem;font-size:.95rem}.svc-preview{z-index:60;aspect-ratio:4/3;pointer-events:none;opacity:0;will-change:transform, opacity;border-radius:1.2rem;width:clamp(220px,24vw,340px);position:fixed;top:0;left:0;transform:scale(.85)rotate(-3deg);box-shadow:0 30px 80px -20px #000000b3}.process{padding:clamp(6rem, 13vh, 11rem) var(--gutter) clamp(7rem, 14vh, 12rem)}.process-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:2rem 4rem;margin-bottom:clamp(4rem,8vh,7rem);display:grid}.process-head .eyebrow{grid-column:1/-1}.process-note{max-width:24rem;color:var(--bone-dim);justify-self:end;padding-bottom:.6rem}.phase-list{margin-left:clamp(0rem,4vw,4rem);list-style:none;position:relative}.phase-line{--draw:0;background:var(--hairline);width:1px;position:absolute;top:0;bottom:0;left:0}.phase-line:after{content:"";background:var(--ultra);transform:scaleY(var(--draw));transform-origin:top;position:absolute;inset:0}.phase{border-bottom:1px solid var(--hairline);grid-template-columns:clamp(4rem,8vw,8rem) minmax(0,1fr) auto;align-items:start;gap:1.5rem 2rem;padding:clamp(2.2rem,4.5vh,3.6rem) 0 clamp(2.2rem,4.5vh,3.6rem) clamp(1.8rem,4vw,4rem);display:grid;position:relative}.phase:first-child{border-top:1px solid var(--hairline)}.phase:before{content:"";background:var(--ground);border:1.5px solid var(--bone-faint);border-radius:50%;width:9px;height:9px;transition:background-color .5s,border-color .5s,box-shadow .5s;position:absolute;top:clamp(2.9rem,5.4vh,4.3rem);left:-4px}.phase.is-active:before{background:var(--ultra);border-color:var(--ultra);box-shadow:0 0 18px #4053ffa6}.phase-num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--bone-faint);padding-top:.5rem;font-size:clamp(.9rem,1.6vw,1.2rem);transition:color .5s}.phase.is-active .phase-num{color:var(--ultra-bright)}.phase-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2rem,4.4vw,4rem);font-weight:400;line-height:1}.phase-desc{max-width:30rem;color:var(--bone-dim);margin-top:1rem}.phase-span{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-faint);white-space:nowrap;padding-top:.9rem;font-size:.62rem}.outro{padding:clamp(7rem, 14vh, 12rem) var(--gutter) 0;background:var(--bone);color:var(--ground);border-radius:2.6rem 2.6rem 0 0;position:relative;overflow:clip}.outro .eyebrow{color:#0d1015b3}.outro .eyebrow:before{background:var(--ultra)}.outro-inner{max-width:88rem;position:relative}.outro-title{color:var(--ground);margin-top:1.6rem;font-size:clamp(3rem,8.4vw,9rem)}.outro-title em{font-variation-settings:"opsz" 144, "wght" 440;color:var(--ultra);font-family:Fraunces Variable,Georgia,serif;font-style:italic}.outro-cta{flex-wrap:wrap;align-items:center;gap:2.4rem;margin-top:clamp(3rem,6vh,5rem);display:flex}.btn--outro{background:var(--ground);color:var(--bone)}.btn--outro .btn-disc{background:#e8e3d524}.outro-mail{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.3rem;position:relative}.outro-mail:after{content:"";background:var(--ultra);transform-origin:100%;width:100%;height:1px;transition:transform .5s var(--ease-out);position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.outro-mail:hover:after{transform-origin:0;transform:scaleX(1)}.site-foot{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#0d1015ad;border-top:1px solid #0d101529;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:clamp(5rem,10vh,9rem);padding:1.6rem 0 1.8rem;font-size:.62rem;display:flex}.foot-links{gap:1.6rem;display:flex}.foot-links a{transition:color .35s}.foot-links a:hover{color:var(--ultra)}@media (prefers-reduced-motion:reduce){.hero-cue-line{animation:none;transform:none}}@media (max-width:900px){.head-nav{display:none}.hero-top{flex-direction:column}.hero-note{text-align:left;max-width:18rem}.hero-base{flex-direction:column;align-items:flex-start;gap:1.4rem}.case,.case--flip{grid-template-columns:1fr;align-items:start;gap:1.6rem}.case--flip .case-media{order:0}.manifesto-foot{flex-direction:column;align-items:flex-start}.manifesto-index{text-align:left}.svc{grid-template-columns:3rem 1fr}.svc-desc{grid-column:2}.svc-preview{display:none}.process-head{grid-template-columns:1fr}.process-note{justify-self:start}.phase-list{margin-left:0}.phase{grid-template-columns:3rem 1fr;padding-left:1.6rem}.phase-span{grid-column:2;padding-top:0}}
