:root{--bg: #0a0a0b;--fg: #f2f0eb;--muted: #8d8a84;--line: #24242a;--accent: #ffd300;--gutter: clamp(16px, 4vw, 56px);--sans: "Inter Tight", system-ui, sans-serif;--serif: "Instrument Serif", Georgia, serif;--ease: cubic-bezier(.2, .7, .1, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:clamp(16px,1.1vw,19px);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}em{font-family:var(--serif);font-style:italic;font-weight:400}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.035em;line-height:.95}::selection{background:var(--accent);color:#000}.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px var(--gutter);font-weight:500;mix-blend-mode:difference;transition:padding .4s var(--ease)}.nav--solid{padding-block:12px}.nav__logo{font-weight:800;font-size:1.15rem;letter-spacing:-.03em}.nav nav{display:flex;gap:clamp(14px,2.5vw,36px)}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav nav a:hover:after{transform:scaleX(1);transform-origin:left}.js .reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d, 0s)}.js .reveal.in{opacity:1;transform:none}.js .wipe>*{clip-path:inset(100% 0 0 0);transform:scale(1.15);transition:clip-path 1.2s var(--ease),transform 1.6s var(--ease);transition-delay:var(--d, 0s)}.js .wipe.in>*{clip-path:inset(0 0 0 0);transform:none}.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .12em .24em;margin:0 -.12em -.16em}.split .w>span{display:inline-block}.js .split .w>span{transform:translateY(110%);transition:transform 1s var(--ease);transition-delay:calc(var(--i) * 60ms + var(--d, 0s))}.js .split.in .w>span{transform:none}@media(prefers-reduced-motion:reduce){.js .reveal,.js .wipe,.js .wipe>*,.js .split .w>span{opacity:1;transform:none;clip-path:none;transition:none}}.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;--p: 0}.hero__media{position:absolute;inset:0;transform:scale(calc(1 + var(--p) * .15));opacity:calc(1 - var(--p) * .7)}.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover}.hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.4) 0%,rgba(10,10,11,.2) 35%,rgba(10,10,11,.75) 72%,var(--bg) 100%)}.hero__copy{position:absolute;inset:auto var(--gutter) clamp(40px,9vh,110px) var(--gutter);transform:translateY(calc(var(--p) * -80px))}.hero__eyebrow{font-size:.9rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 18px}.hero h1{font-size:clamp(2.8rem,9.5vw,10.5rem);max-width:14ch}.hero__scroll{position:absolute;right:var(--gutter);bottom:clamp(40px,9vh,110px);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;color:var(--muted)}.hero__scroll:after{content:"";display:inline-block;width:1px;height:60px;margin-top:12px;background:currentColor;animation:drip 2.2s var(--ease) infinite;transform-origin:top}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.section{padding:clamp(80px,14vh,180px) var(--gutter)}.label{font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 28px}.intro{font-size:clamp(1.7rem,4.2vw,4.2rem);font-weight:500;letter-spacing:-.03em;line-height:1.08;max-width:22ch}.intro a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:.06em;text-underline-offset:.12em;transition:text-decoration-color .2s}.intro a:hover,.intro a:focus-visible{text-decoration-color:currentColor}.marquee{border-block:1px solid var(--line);overflow:hidden;padding:26px 0;white-space:nowrap}.marquee__track{display:inline-flex;gap:64px;padding-right:64px;animation:marquee 38s linear infinite;font-family:var(--serif);font-size:clamp(1.6rem,3.2vw,3rem);color:var(--muted)}.marquee__track span:after{content:"✦";margin-left:64px;font-size:.5em;vertical-align:middle;color:var(--accent)}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none}}.work{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2.4vw,36px);row-gap:clamp(56px,7vw,112px)}.tile{grid-column:span 6;display:block;perspective:1200px}.tile:nth-child(3n+1){grid-column:span 12}.tile__frame{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:16 / 10;background:#151518;transform:rotateX(var(--rx, 0)) rotateY(var(--ry, 0));transition:transform .6s var(--ease)}.tile:nth-child(3n+1) .tile__frame{aspect-ratio:21 / 9}.tile__frame img,.tile__frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .6s var(--ease)}.tile__frame video{opacity:0}.tile:hover .tile__frame video,.tile:focus-visible .tile__frame video{opacity:1}.tile:hover .tile__frame img,.tile:hover .tile__frame video{transform:scale(1.04)}.tile__meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:8px}.tile__client{font-size:clamp(1.4rem,2.6vw,2.6rem);font-weight:800;letter-spacing:-.035em}.tile__title{color:var(--muted)}.tile__stat{position:absolute;left:20px;bottom:18px;z-index:2;padding:6px 12px;border-radius:99px;background:#0a0a0bb3;backdrop-filter:blur(8px);font-size:.85rem;font-weight:500}.tile__stat b{color:var(--tile-accent, var(--accent))}.about__photo{margin:0 0 clamp(32px,4vw,56px);max-width:460px;aspect-ratio:4 / 5;overflow:hidden;border-radius:6px;background:#1a1a1a}.about__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}@media(max-width:1100px){.about__photo{aspect-ratio:1}}.engagements{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.engagements li>*{display:grid;grid-template-columns:1fr auto;grid-template-areas:"client years" "role years";column-gap:16px;padding:16px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.engagements__client{grid-area:client;font-size:clamp(1.15rem,1.7vw,1.6rem);font-weight:500;letter-spacing:-.02em}.engagements__role{grid-area:role;color:var(--muted)}.engagements__role em{font-family:var(--sans);font-style:normal;opacity:.7}.engagements__years{grid-area:years;align-self:center;color:var(--muted);font-variant-numeric:tabular-nums}.engagements a:hover .engagements__client{color:var(--accent)}.about p.engagements__also{margin-top:20px;color:var(--muted)}.engagements__also b{color:var(--fg);font-weight:inherit}.engagements__also em{font-family:var(--sans);font-style:normal;opacity:.7}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,120px);align-items:start}.about p{font-size:clamp(1.05rem,1.4vw,1.35rem);color:#cfccc5;max-width:46ch}.cs-hero{position:relative;height:92svh;min-height:520px;overflow:hidden;--p: 0}.cs-hero .hero__media:after{background:linear-gradient(180deg,rgba(10,10,11,.45) 0%,rgba(10,10,11,.2) 30%,rgba(10,10,11,.8) 72%,var(--bg) 100%)}.cs-hero h1{font-size:clamp(2.4rem,7.5vw,8rem);max-width:16ch}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.stat{padding:clamp(28px,5vw,64px) var(--gutter);border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat__value{display:block;font-size:clamp(2.6rem,6.5vw,6.5rem);font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--cs-accent, var(--accent));font-variant-numeric:tabular-nums}.stat__label{display:block;margin-top:12px;color:var(--muted);max-width:24ch}.cs-summary{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,96px)}.cs-summary p{margin:0;font-size:clamp(1.4rem,2.8vw,2.6rem);font-weight:500;letter-spacing:-.025em;line-height:1.15}.cs-meta{color:var(--muted);font-size:.95rem}.cs-meta dt{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;margin-top:18px}.cs-meta dd{margin:4px 0 0;color:var(--fg)}.chapter{padding:clamp(60px,10vh,140px) var(--gutter) 0}.chapter__head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,96px);margin-bottom:clamp(28px,4vw,56px)}.chapter__num{font-family:var(--serif);font-size:1.4rem;color:var(--cs-accent, var(--accent))}.chapter h2{font-size:clamp(2rem,4.8vw,4.6rem)}.chapter__text{margin:18px 0 0;font-size:clamp(1.05rem,1.4vw,1.3rem);color:#cfccc5;max-width:48ch}.media{display:grid;gap:clamp(12px,1.6vw,24px)}.media--pair{grid-template-columns:1fr 1fr}.media--grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.media figure{margin:0;overflow:hidden;border-radius:6px;background:#151518}.media figure img,.media figure video{width:100%;height:100%;object-fit:cover}.media--grid figure{aspect-ratio:4 / 3}.media--pair figure{aspect-ratio:4 / 3}.press{display:flex;flex-wrap:wrap;gap:16px}.press img{height:clamp(90px,10vw,150px);width:auto;border-radius:6px;filter:grayscale(1);opacity:.85;transition:filter .4s,opacity .4s}.press img:hover{filter:none;opacity:1}.team{columns:2;list-style:none;padding:0;margin:0;color:var(--muted)}.team li{padding:4px 0}.gate{margin:clamp(60px,10vh,140px) var(--gutter) 0;padding:clamp(36px,6vw,80px);border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--cs-accent) 18%,transparent),transparent 60%)}.gate h2{font-size:clamp(1.8rem,3.6vw,3.4rem)}.gate p{margin:12px 0 0;color:var(--muted);max-width:48ch}.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:99px;background:var(--fg);color:var(--bg);font-weight:600;transition:transform .4s var(--ease),background .3s}.btn:hover{transform:translateY(-2px);background:var(--cs-accent, var(--accent))}.btn span{transition:transform .4s var(--ease)}.btn:hover span{transform:translate(4px)}.next{display:block;margin-top:clamp(80px,14vh,180px);padding:clamp(60px,10vh,120px) var(--gutter);border-top:1px solid var(--line)}.next .label{margin-bottom:12px}.next__title{font-size:clamp(2.6rem,9vw,9rem);font-weight:800;letter-spacing:-.045em;line-height:.95;transition:color .4s}.next:hover .next__title{color:var(--next-accent, var(--accent))}.footer{padding:clamp(80px,16vh,200px) var(--gutter) 32px;border-top:1px solid var(--line)}.footer__big{margin:0;font-size:clamp(2.4rem,7vw,7.5rem);font-weight:800;letter-spacing:-.045em;line-height:.95;max-width:13ch}.footer__mail{display:inline-block;margin-top:36px;font-size:clamp(1.3rem,2.6vw,2.4rem);border-bottom:2px solid var(--accent);padding-bottom:4px}.footer__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:clamp(60px,12vh,140px);color:var(--muted);font-size:.9rem}.footer__row a{margin-right:20px}.footer__row a:hover{color:var(--fg)}@media(max-width:760px){.hero h1{font-size:15.5vw;max-width:none}.cs-hero h1{font-size:12.5vw;max-width:none}.intro{font-size:9.5vw;max-width:none}.about__photo{max-width:none;aspect-ratio:1}.about__photo img{object-position:50% 30%}.tile,.tile:nth-child(3n+1){grid-column:span 12}.tile:nth-child(3n+1) .tile__frame{aspect-ratio:16 / 10}.about,.cs-summary,.chapter__head,.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.media--pair{grid-template-columns:1fr}.hero__scroll{display:none}.team{columns:1}}.media--wide figure{max-height:88vh;display:flex;justify-content:center}.media--wide figure img,.media--wide figure video{width:auto;max-height:88vh;object-fit:contain}.media--grid figure img{object-fit:contain}@media(max-width:420px){.nav nav{gap:12px;font-size:.9rem}}.quote{margin:0;padding:clamp(40px,8vh,100px) 0;border-block:1px solid var(--line)}.quote p{margin:0;font-family:var(--serif);font-size:clamp(2rem,5.5vw,5.5rem);line-height:1.05;max-width:20ch}.quote footer{margin-top:24px;color:var(--cs-accent, var(--accent));text-transform:uppercase;letter-spacing:.16em;font-size:.85rem}
