@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-display: swap;
  src: url(/fonts/archivo-100-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-display: swap;
  src: url(/fonts/archivo-100-900-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/archivo-black-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/archivo-black-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/space-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/space-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/space-mono-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/space-mono-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root { --black:#090909; --white:#f3f3f0; --accent:#ff2917; --acid:var(--accent); --yellow-deep:var(--accent); --red:var(--accent); --grey:#b8b8b5; --line:rgba(9,9,9,.24); --p1:0px; --p2:0px; --p3:0px; --p4:0px; --p5:0px; --pointer-x:0px; --pointer-y:0px; --cursor-x:-100px; --cursor-y:-100px; --studio-y:0px; --hero-y:0px; --story-y:0px; --work-a:0px; --work-b:0px; }
* { box-sizing:border-box; }
html { overflow-x:clip; scroll-behavior:smooth; }
body { background:var(--white); color:var(--black); font-family:"Archivo",Arial,sans-serif; margin:0; overflow-x:clip; }
body.menu-open { overflow:hidden; }
main { padding-left:96px; }
a { color:inherit; text-decoration:none; }
button { color:inherit; cursor:pointer; font:inherit; }
img { display:block; max-width:100%; }
::selection { background:var(--accent); color:var(--white); }

.site-cursor { background:var(--acid); border-radius:50%; height:30px; left:var(--cursor-x); mix-blend-mode:difference; opacity:0; pointer-events:none; position:fixed; top:var(--cursor-y); transform:translate(-50%,-50%) scale(.4); transition:height .18s,width .18s,transform .18s,opacity .15s; width:30px; z-index:9999; }.cursor-ready .site-cursor { opacity:1; transform:translate(-50%,-50%) scale(1); }.cursor-hover .site-cursor { height:54px; width:54px; }
.side-rail { background:#050505; border-right:1px solid rgba(255,255,255,.2); bottom:0; color:#fff; left:0; position:fixed; top:0; width:96px; z-index:1000; }.rail-wordmark { background:#050505; height:72px; left:-29px; overflow:hidden; position:absolute; top:53px; transform:rotate(90deg); width:154px; }.rail-wordmark img { height:100%; object-fit:cover; width:100%; }
.rail-menu-button { align-items:center; background:var(--acid); border:0; border-radius:50%; display:flex; height:58px; justify-content:center; left:19px; padding:0; position:absolute; top:255px; width:58px; }.rail-menu-button i { background:#090909; height:1px; position:absolute; transition:transform .35s,width .35s; width:20px; }.rail-menu-button i:first-child { transform:translateY(-3px); }.rail-menu-button i:last-child { transform:translateY(3px); }.rail-menu-button.open i:first-child { transform:rotate(45deg); }.rail-menu-button.open i:last-child { transform:rotate(-45deg); }
.side-rail nav { bottom:24%; display:flex; flex-direction:column; gap:16px; left:0; position:absolute; right:0; text-align:center; }.side-rail nav a { color:var(--red); font:700 11px "Space Mono",monospace; }.rail-talk { bottom:22px; font:700 11px "Space Mono",monospace; left:44px; position:absolute; transform:rotate(-90deg); transform-origin:left center; white-space:nowrap; }

.hero { background:var(--black); color:var(--white); height:100svh; min-height:720px; overflow:hidden; position:relative; }
.hero::after { background-image:radial-gradient(rgba(255,255,255,.25) .55px,transparent .55px); background-size:5px 5px; content:""; inset:0; mix-blend-mode:soft-light; opacity:.13; pointer-events:none; position:absolute; z-index:20; }
.menu { background:var(--accent); bottom:0; color:var(--black); left:96px; opacity:0; overflow:hidden; padding:42px 5vw 24px; pointer-events:none; position:fixed; right:0; top:0; transform:translateX(-105%); transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .18s; z-index:900; }.menu::after { background:radial-gradient(circle at 42% 58%,#ff694f,#bf170c 70%); border-radius:50%; content:""; height:min(70vw,900px); position:absolute; right:-17vw; top:-18vw; width:min(70vw,900px); z-index:0; }.menu.open { opacity:1; pointer-events:auto; transform:none; }.menu > header,.menu > footer { display:flex; font:700 11px "Space Mono",monospace; justify-content:space-between; position:relative; text-transform:uppercase; z-index:2; }.menu nav { border-top:1px solid rgba(9,9,9,.75); margin-top:48px; position:relative; width:100%; z-index:2; }.menu nav a { align-items:center; border-bottom:1px solid rgba(9,9,9,.75); display:grid; grid-template-columns:56px 1fr auto; min-height:142px; padding:0 6px; text-transform:uppercase; }.menu nav small { font:700 11px "Space Mono",monospace; }.menu nav b { font-family:"Archivo Black",sans-serif; font-size:clamp(4.3rem,8vw,8rem); letter-spacing:-.075em; line-height:.78; }.menu nav span { font-size:2rem; }.menu > footer { bottom:24px; left:5vw; position:absolute; right:5vw; }
.menu nav a { overflow:hidden; position:relative; }.menu nav b,.menu nav small,.menu nav span { transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .25s; }.menu nav a::after { content:"ENTRAR"; font:700 11px "Space Mono",monospace; left:62px; opacity:0; position:absolute; top:50%; transform:translate(-22px,-50%); transition:opacity .25s,transform .45s cubic-bezier(.16,1,.3,1); }.menu nav a:hover b,.menu nav a:focus-visible b { transform:translateX(clamp(34px,6vw,120px)); }.menu nav a:hover small,.menu nav a:focus-visible small { transform:translateX(12px); }.menu nav a:hover span,.menu nav a:focus-visible span { transform:translate(-16px,-16px); }.menu nav a:hover::after,.menu nav a:focus-visible::after { opacity:1; transform:translate(0,-50%); }.menu nav a:active b { transform:translateX(clamp(54px,10vw,190px)) skewX(-7deg); }

.hero-masthead { align-items:center; background:var(--black); display:flex; height:clamp(166px,13.5vw,228px); justify-content:center; left:0; overflow:hidden; padding:0; pointer-events:none; position:absolute; top:0; transform:translate3d(0,var(--hero-y),0); will-change:transform; width:37%; z-index:30; }.hero-masthead img { height:100%; object-fit:cover; object-position:center; width:100%; }
.reel-takeover { bottom:0; display:grid; grid-template-columns:37% 63%; left:0; position:absolute; right:0; top:0; z-index:10; }.takeover-copy { display:flex; flex-direction:column; min-width:0; padding:clamp(220px,16vw,285px) 2.6vw 24px; position:relative; }.takeover-copy h1 { font-family:"Archivo Black",sans-serif; font-size:clamp(3.2rem,4.3vw,4.8rem); letter-spacing:-.07em; line-height:.76; margin:auto 0 24px; text-transform:uppercase; }.takeover-copy h1 span,.takeover-copy h1 strong { display:block; }.takeover-copy h1 strong { color:var(--accent); }.takeover-copy > p { color:rgba(255,255,255,.78); font-size:18px; line-height:1.55; margin:0 0 28px; max-width:500px; }
.takeover-copy footer { align-items:end; border-top:1px solid rgba(255,255,255,.26); display:grid; gap:20px; grid-template-columns:1fr auto; padding-top:15px; }.takeover-copy footer > div { align-items:center; display:flex; gap:10px; }.takeover-copy footer button { align-items:center; background:var(--red); border:0; color:var(--black); display:flex; font-size:13px; height:42px; justify-content:center; padding:0; width:42px; }.takeover-copy footer span { display:flex; flex-direction:column; gap:5px; }.takeover-copy footer small { color:rgba(255,255,255,.64); font:400 11px "Space Mono",monospace; }.takeover-copy footer div b { font:700 11px "Space Mono",monospace; line-height:1.35; text-transform:uppercase; }.takeover-copy footer a { border-bottom:1px solid rgba(255,255,255,.65); font:700 11px "Space Mono",monospace; padding-bottom:7px; text-transform:uppercase; }.takeover-copy footer a b { color:var(--red); margin-left:15px; }
.takeover-stage { background:#111; display:flex; min-width:0; overflow:hidden; }.takeover-stage > button { background:#0a0a0a; border:0; border-left:1px solid rgba(255,255,255,.28); display:grid; flex:1 1 0; grid-template-rows:minmax(0,1fr) 48px; min-width:0; overflow:hidden; padding:0; text-align:left; transition:flex .8s cubic-bezier(.16,1,.3,1); }.takeover-stage > button.active { flex:4.35 1 0; }.takeover-media { display:block; min-height:0; overflow:hidden; position:relative; }.takeover-media::after { background:linear-gradient(180deg,transparent 78%,rgba(0,0,0,.2)); content:""; inset:0; pointer-events:none; position:absolute; }.takeover-media img { filter:grayscale(1) brightness(.55) contrast(1.12); height:100%; object-fit:cover; transform:scale(1.02); transition:filter .55s,transform 1.2s cubic-bezier(.16,1,.3,1); width:100%; }.takeover-stage > button:hover .takeover-media img,.takeover-stage > button.active .takeover-media img { filter:grayscale(0) brightness(.98) contrast(1.02); transform:scale(1.065); }
.takeover-caption { align-items:center; color:rgba(255,255,255,.68); display:grid; font:400 11px "Space Mono",monospace; gap:9px; grid-template-columns:auto 1fr auto; padding:0 10px; text-transform:uppercase; }.takeover-caption b { color:var(--red); }.takeover-caption i { font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.takeover-caption small { color:inherit; font:inherit; opacity:0; transition:opacity .25s; }.takeover-stage > button.active .takeover-caption { background:var(--red); color:var(--black); }.takeover-stage > button.active .takeover-caption b { color:var(--black); }.takeover-stage > button.active .takeover-caption small { opacity:1; }
.takeover-progress { bottom:48px; display:grid; gap:3px; grid-template-columns:repeat(4,1fr); left:37%; pointer-events:none; position:absolute; right:0; z-index:5; }.takeover-progress > i { background:rgba(255,255,255,.18); height:3px; overflow:hidden; }.takeover-progress > i b { background:var(--red); display:block; height:100%; transform:scaleX(0); transform-origin:left; }.takeover-progress > i.active b { animation:wallProgress 4.2s linear forwards; }
.hero-code { bottom:18px; color:rgba(255,255,255,.65); display:flex; font:400 11px "Space Mono",monospace; justify-content:space-between; left:24px; position:absolute; right:24px; text-transform:uppercase; z-index:18; }

.chapter { align-items:center; border-bottom:1px solid currentColor; border-top:1px solid currentColor; display:flex; font:400 11px "Space Mono",monospace; height:38px; justify-content:space-between; letter-spacing:.06em; text-transform:uppercase; }.chapter.inverse { color:var(--white); }.chapter b { font-weight:700; }
.work { background:var(--white); color:var(--black); overflow:hidden; padding:22px 2vw 120px; }.stories-intro { display:grid; grid-template-columns:minmax(180px,.38fr) minmax(0,1.62fr); grid-template-rows:auto minmax(0,1fr) auto; height:calc(100svh - 60px); min-height:0; overflow:hidden; padding:clamp(28px,4.4vh,52px) 1vw clamp(30px,4.8vh,58px); position:relative; }.stories-intro::after { border-right:8px solid var(--accent); border-top:8px solid var(--accent); content:""; height:clamp(70px,8vw,126px); pointer-events:none; position:absolute; right:1vw; top:clamp(28px,4.4vh,52px); transform:translate3d(0,var(--story-y),0); width:clamp(70px,8vw,126px); will-change:transform; }.stories-kicker { align-self:start; display:flex; flex-direction:column; gap:18px; grid-column:1; position:relative; z-index:1; }.stories-kicker span { color:var(--accent); font:700 11px "Space Mono",monospace; letter-spacing:.06em; }.stories-kicker p { font:700 12px/1.5 "Space Mono",monospace; margin:0; text-transform:uppercase; }.stories-intro h2 { align-self:center; font-family:"Archivo Black",sans-serif; font-size:clamp(4rem,min(7.4vw,12.5svh),8.2rem); grid-column:1/3; letter-spacing:-.075em; line-height:.78; margin:clamp(14px,2.4vh,30px) 0; position:relative; text-transform:uppercase; z-index:1; }.stories-intro h2 > span { display:block; overflow:hidden; padding-bottom:.04em; }.stories-intro h2 > span:nth-child(2) { padding-left:9vw; }.stories-intro h2 > span:nth-child(3) { padding-left:18vw; }.stories-intro h2 i { display:block; font-style:normal; }.stories-intro h2 em { color:var(--accent); font-style:normal; position:relative; }.stories-intro h2 em::after { background:var(--accent); bottom:.05em; content:""; height:.055em; left:.02em; position:absolute; transform:scaleX(0); transform-origin:left; transition:transform .8s .75s cubic-bezier(.16,1,.3,1); width:96%; }.work.in-view .stories-intro h2 em::after { transform:scaleX(1); }.stories-note { align-items:center; border-top:1px solid var(--line); display:grid; gap:4vw; grid-column:2; grid-template-columns:minmax(0,620px) auto; padding-top:clamp(12px,2vh,20px); position:relative; z-index:1; }.stories-note > p { background:var(--accent); color:var(--black); margin:0; padding:18px 20px 16px; transform:rotate(-.55deg); transform-origin:left center; }.stories-note > p strong { display:block; font-family:"Archivo Black",sans-serif; font-size:clamp(1.35rem,min(2.25vw,3.8svh),2.45rem); letter-spacing:-.045em; line-height:.95; text-transform:uppercase; }.stories-note > p small { color:rgba(9,9,9,.66); display:block; font:700 11px "Space Mono",monospace; margin-top:14px; text-transform:uppercase; }.stories-note a { border-bottom:1px solid var(--black); font:700 11px "Space Mono",monospace; padding-bottom:8px; text-transform:uppercase; white-space:nowrap; }.stories-note a b { color:var(--accent); margin-left:20px; }
.work-grid { align-items:stretch; border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:clamp(64px,9vh,112px); scroll-margin-top:40px; }.work-item { border-left:1px solid var(--line); display:flex; flex-direction:column; min-width:0; padding:12px; }.work-item:last-child { border-right:1px solid var(--line); }
.work-image { aspect-ratio:9/16; background:#111; min-height:0; overflow:hidden; position:relative; }.work-image::after { background:var(--red); bottom:0; content:""; height:4px; left:0; position:absolute; transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.16,1,.3,1); width:100%; }.work-image img,.work-image video { display:block; filter:grayscale(1) contrast(1.04); height:100%; object-fit:cover; transition:filter .45s,transform .85s cubic-bezier(.16,1,.3,1); width:100%; }.work-image video { background:#111; }.work-image:hover img,.work-image:hover video,.work-image:focus-visible img,.work-image:focus-visible video,.work-image.is-playing video { filter:grayscale(0) contrast(1); transform:scale(1.025); }.work-image:hover::after,.work-image:focus-visible::after,.work-image.is-playing::after { transform:scaleX(1); }.work-image:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }.work-media-cue { align-items:center; backdrop-filter:blur(14px); background:rgba(0,0,0,.58); border:1px solid rgba(255,255,255,.65); bottom:12px; color:#fff; display:flex; font:700 10px "Space Mono",monospace; gap:8px; padding:9px 11px; position:absolute; right:10px; text-transform:uppercase; transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1); z-index:2; }.work-media-cue b { color:var(--accent); }.work-media-cue i,.work-media-cue em { font-style:normal; }.work-media-cue em { display:none; }.has-image .work-media-cue { display:none; }.work-image:hover .work-media-cue,.work-image:focus-visible .work-media-cue,.work-image.is-playing .work-media-cue { opacity:0; transform:translateY(8px); }
.work-item footer { display:grid; flex:1; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto 1fr; padding:18px 6px 8px; }.work-number { color:rgba(9,9,9,.58); font:400 11px "Space Mono",monospace; grid-column:1; padding-top:4px; }.work-item footer h3 { font-family:"Archivo Black",sans-serif; font-size:clamp(1.35rem,1.72vw,2rem); grid-column:2; hyphens:none; letter-spacing:-.05em; line-height:.93; margin:0; overflow-wrap:normal; word-break:normal; }.work-description { border-top:1px solid var(--line); font-size:clamp(.95rem,1.02vw,1.08rem); grid-column:2; line-height:1.48; margin:18px 0 0; overflow-wrap:break-word; padding:14px 0 18px; }.work-sector { align-self:end; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:7px; grid-column:2; margin:0; padding-top:13px; }.work-sector small { color:rgba(9,9,9,.55); font:400 10px "Space Mono",monospace; text-transform:uppercase; }.work-sector strong { font:700 11px/1.4 "Space Mono",monospace; overflow-wrap:normal; text-transform:uppercase; word-break:normal; }

.services { background:var(--black); color:var(--white); padding:22px 2vw 78px; }.services .chapter { font-size:11px; }.service-intro { display:grid; grid-template-columns:.7fr 1.3fr; margin:68px 0 58px; }.service-intro p { font:400 12px "Space Mono",monospace; margin:0; text-transform:uppercase; }.service-intro h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(4.7rem,8vw,8rem); letter-spacing:-.075em; line-height:.75; margin:0; text-transform:uppercase; }
.service-accordion { border-top:1px solid rgba(255,255,255,.28); }.service-accordion article { border-bottom:1px solid rgba(255,255,255,.28); height:clamp(92px,6.8vw,110px); overflow:hidden; position:relative; transition:height .62s cubic-bezier(.16,1,.3,1),border-color .3s; }.service-accordion article.active { background:transparent; color:var(--white); height:clamp(390px,28vw,440px); }
.service-accordion article > button { background:transparent; border:0; color:inherit; height:100%; overflow:hidden; padding:0; position:relative; text-align:left; width:100%; }.service-number { bottom:-.24em; font-size:clamp(8rem,12vw,13rem); font-weight:200; left:2.2vw; letter-spacing:-.09em; line-height:.72; position:absolute; top:auto; transform:none; transition:bottom .62s cubic-bezier(.16,1,.3,1),color .25s,font-size .62s cubic-bezier(.16,1,.3,1),top .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1); white-space:nowrap; }.service-name { bottom:17px; font-size:clamp(1.3rem,1.9vw,2.05rem); font-weight:400; left:51%; letter-spacing:-.04em; line-height:.95; position:absolute; text-transform:uppercase; transform:none; transition:color .25s,top .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1); }.service-toggle { align-items:center; border:1px solid rgba(255,255,255,.46); border-radius:50%; bottom:15px; display:flex; font-size:15px; height:29px; justify-content:center; position:absolute; right:8px; transition:background .25s,border-color .25s,color .25s,top .62s cubic-bezier(.16,1,.3,1); width:29px; }.service-accordion article:not(.active):hover .service-name,.service-accordion article:not(.active):hover .service-number { color:var(--accent); }.service-accordion article:not(.active):hover .service-toggle { background:var(--accent); border-color:var(--accent); color:var(--black); }
.service-accordion article.active .service-number { bottom:auto; font-size:clamp(13rem,18vw,20rem); top:50%; transform:translateY(-50%); }.service-accordion article.active .service-name { bottom:auto; color:var(--accent); top:50%; transform:translateY(-82px); }.service-accordion article.active .service-toggle { background:var(--accent); border-color:var(--accent); bottom:auto; color:var(--black); top:24px; }
.service-detail { left:51%; opacity:0; padding:0 78px 28px 0; pointer-events:none; position:absolute; right:0; top:50%; transform:translateY(-8px); transition:opacity .25s .12s,transform .35s .1s; }.active .service-detail { opacity:1; pointer-events:auto; transform:translateY(-18px); }.service-detail h3 { color:var(--accent); font:700 14px "Space Mono",monospace; letter-spacing:.02em; line-height:1.35; margin:0 0 18px; text-transform:uppercase; }.service-detail p { color:rgba(255,255,255,.82); font-size:18px; line-height:1.55; margin:0; max-width:680px; }.service-detail small { color:rgba(255,255,255,.52); display:block; font:700 11px "Space Mono",monospace; margin-top:18px; text-transform:uppercase; }.service-detail a { border-bottom:1px solid rgba(255,255,255,.68); display:inline-block; font:700 11px "Space Mono",monospace; margin-top:22px; padding-bottom:8px; text-transform:uppercase; white-space:nowrap; }

.impact { display:grid; gap:3vw; grid-template-columns:1.3fr .7fr; min-height:800px; padding:22px 2vw 50px; }.impact > .chapter { grid-column:1/3; }.impact-number { align-self:center; position:relative; }.impact-number small { font:400 11px "Space Mono",monospace; position:absolute; text-transform:uppercase; top:15%; }.impact-number strong { color:var(--yellow-deep); display:block; font-family:"Archivo Black",sans-serif; font-size:clamp(14rem,32vw,32rem); letter-spacing:-.12em; line-height:.67; }.impact-number strong span { font-size:.45em; }.impact-number p { bottom:-12px; font:700 11px "Space Mono",monospace; position:absolute; right:5%; text-transform:uppercase; }
.impact-aside { align-self:center; border-left:1px solid var(--line); padding-left:2vw; }.impact-aside figure { height:370px; margin:0; overflow:hidden; }.impact-aside img { filter:grayscale(1); height:100%; object-fit:cover; width:100%; }.impact-aside p { font-size:18px; line-height:1.55; margin:28px 0 0; max-width:500px; }

.studio { background:var(--black); color:var(--white); display:grid; grid-template-columns:1.15fr .85fr; min-height:950px; padding:18px; }.studio-visual { min-height:914px; overflow:hidden; position:relative; }.studio-visual::after { background:linear-gradient(90deg,transparent 60%,rgba(9,9,9,.5)); content:""; inset:0; position:absolute; }.studio-visual > img { filter:grayscale(1) contrast(1.08); height:112%; object-fit:cover; object-position:48% center; transform:translateY(var(--studio-y)); width:100%; }.studio-focus span { color:#fff; font-size:20px; position:absolute; z-index:3; }.studio-focus span:nth-child(1) { left:16px; top:16px; }.studio-focus span:nth-child(2) { right:16px; top:16px; }.studio-focus span:nth-child(3) { bottom:16px; left:16px; }.studio-focus span:nth-child(4) { bottom:16px; right:16px; }
.studio-copy { align-self:center; padding:50px 4vw; }.studio-copy > p:first-child { color:var(--red); font:400 11px "Space Mono",monospace; text-transform:uppercase; }.studio-copy h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(4.2rem,6.6vw,6.7rem); letter-spacing:-.07em; line-height:.76; margin:80px 0 40px; text-transform:uppercase; }.studio-copy h2 strong { color:var(--red); font-weight:900; }.studio-copy > p:nth-of-type(2) { color:rgba(255,255,255,.76); font-size:18px; line-height:1.55; max-width:520px; }.studio-copy a { border-bottom:1px solid rgba(255,255,255,.7); display:inline-block; font:700 11px "Space Mono",monospace; margin-top:34px; padding-bottom:8px; text-transform:uppercase; }.studio-copy a span { color:var(--red); margin-left:25px; }

.editorial-behind { background-color:#ececea; background-image:radial-gradient(rgba(9,9,9,.22) .7px,transparent .7px); background-size:18px 18px; border-bottom:1px solid var(--black); min-height:980px; overflow:hidden; position:relative; }.editorial-title { display:flex; font-family:"Archivo Black",sans-serif; font-size:clamp(5.5rem,9vw,9.8rem); justify-content:space-between; left:1.2vw; letter-spacing:-.085em; line-height:.76; position:absolute; right:1.2vw; text-transform:uppercase; top:34px; z-index:2; }.editorial-axis { bottom:39px; display:grid; grid-template-rows:repeat(8,1fr); justify-items:center; left:50%; position:absolute; top:28px; transform:translateX(-50%); width:36px; }.editorial-axis::before { background:rgba(9,9,9,.34); bottom:0; content:""; left:50%; position:absolute; top:0; width:1px; }.editorial-axis i { background:var(--black); height:5px; margin:auto; position:relative; width:5px; }.editorial-side { display:flex; font:700 11px "Space Mono",monospace; justify-content:space-between; position:absolute; text-transform:uppercase; top:48%; width:25%; }.editorial-side-left { left:2vw; }.editorial-side-right { right:2vw; }.editorial-spine { align-items:center; background:rgba(236,236,234,.94); display:flex; flex-direction:column; left:50%; margin:0; padding:150px 28px 72px; position:absolute; text-align:center; top:0; transform:translateX(-50%); width:clamp(260px,19vw,340px); z-index:3; }.editorial-spine > p:first-child,.editorial-spine a { font:700 11px "Space Mono",monospace; letter-spacing:.03em; text-transform:uppercase; }.editorial-spine h3 { font-size:16px; letter-spacing:.2em; line-height:1.35; margin:28px 0; }.editorial-spine figure { height:390px; margin:0 0 26px; overflow:hidden; width:210px; }.editorial-spine img { filter:grayscale(1) contrast(1.08); height:100%; object-fit:cover; transition:filter .4s,transform .7s cubic-bezier(.16,1,.3,1); width:100%; }.editorial-spine:hover img { filter:grayscale(0); transform:scale(1.03); }.editorial-spine > p:nth-of-type(2) { font-size:16px; line-height:1.55; margin:0; text-align:left; }.editorial-spine a { border-bottom:1px solid var(--black); margin-top:28px; padding-bottom:7px; }.editorial-bar,.output-bar { align-items:center; background:var(--black); bottom:0; color:var(--white); display:flex; font:700 11px "Space Mono",monospace; height:40px; justify-content:space-between; left:0; padding:0 1.2vw; position:absolute; right:0; text-transform:uppercase; z-index:5; }

.social-output { background-color:#f1f1ee; background-image:linear-gradient(rgba(9,9,9,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(9,9,9,.07) 1px,transparent 1px); background-size:25% 100%,25% 100%; padding:40px 1.2vw 55px; position:relative; }.output-bar { bottom:auto; top:0; }.social-output > header { align-items:end; display:grid; gap:5vw; grid-template-columns:.65fr 1.25fr .7fr; min-height:390px; padding:70px 1.4vw 65px; }.social-output > header > p { font:700 11px/1.5 "Space Mono",monospace; margin:0; text-transform:uppercase; }.social-output > header > p:last-child { font-family:"Archivo",Arial,sans-serif; font-size:18px; font-weight:400; line-height:1.55; max-width:460px; text-transform:none; }.social-output h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(5rem,8.5vw,9rem); letter-spacing:-.08em; line-height:.74; margin:0; text-transform:uppercase; }.social-output h2 strong { color:var(--accent); display:block; }.output-grid { display:grid; gap:1px; grid-template-columns:repeat(12,1fr); }.output-card { background:var(--black); display:grid; grid-template-rows:minmax(0,1fr) 50px; min-width:0; overflow:hidden; }.output-card-tall { grid-column:span 4; height:620px; }.output-card-small { grid-column:span 3; height:330px; margin-top:1px; }.output-card figure { margin:0; min-height:0; overflow:hidden; }.output-card img { filter:grayscale(1) contrast(1.05); height:100%; object-fit:cover; transition:filter .4s,transform .75s cubic-bezier(.16,1,.3,1); width:100%; }.output-card:hover img { filter:grayscale(0); transform:scale(1.025); }.output-card footer { align-items:center; background:#f1f1ee; border:1px solid var(--black); display:flex; font:700 11px "Space Mono",monospace; justify-content:space-between; padding:0 12px; text-transform:uppercase; }.output-card:hover footer { background:var(--accent); }

.about-us { background:var(--black); color:var(--white); display:grid; grid-template-rows:auto 1fr; min-height:100svh; padding:18px 2vw 24px; }.about-us-grid { align-items:center; display:grid; gap:clamp(50px,7vw,130px); grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); min-height:0; padding:clamp(34px,6vh,76px) 1vw; }.about-us-title > p { color:rgba(255,255,255,.58); font:700 11px/1.5 "Space Mono",monospace; letter-spacing:.04em; margin:0 0 clamp(34px,6vh,70px); max-width:520px; }.about-us h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(5.4rem,10vw,10.5rem); letter-spacing:-.08em; line-height:.74; margin:0; text-transform:uppercase; }.about-us h2 strong { color:var(--accent); }.about-us-copy > p { color:rgba(255,255,255,.82); font-size:20px; line-height:1.5; margin:0 0 clamp(32px,5vh,54px); max-width:620px; }.about-us ul { list-style:none; margin:0; padding:0; }.about-us li { border-top:1px solid rgba(255,255,255,.35); font-size:17px; padding:18px 0; text-transform:uppercase; }.about-us li:last-child { border-bottom:1px solid rgba(255,255,255,.35); }.about-us li span { color:var(--accent); display:inline-block; font:700 11px "Space Mono",monospace; width:54px; }

.about-you { background:var(--accent); min-height:900px; padding:22px 2vw 100px; }.about-you-grid { align-items:end; display:grid; gap:7vw; grid-template-columns:1.05fr .95fr; min-height:760px; padding:85px 1vw 10px; }.about-you-grid > div:first-child > p { font:700 12px "Space Mono",monospace; margin:0 0 48px; }.about-you h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(5rem,9vw,9.5rem); letter-spacing:-.08em; line-height:.74; margin:0; text-transform:uppercase; }.about-you h2 strong { color:var(--white); }.about-you-copy > p { font-size:20px; line-height:1.55; margin:0 0 45px; max-width:610px; }.about-you-copy > div { border-bottom:1px solid var(--black); }.about-you-copy > div span { border-top:1px solid var(--black); display:block; font:700 12px/1.45 "Space Mono",monospace; padding:17px 0; }.about-you-copy > a { border-bottom:2px solid var(--black); display:inline-block; font-size:18px; font-weight:700; margin-top:42px; padding-bottom:8px; }

.clients { min-height:650px; padding:22px 2vw 70px; }.clients h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(5rem,10vw,10rem); letter-spacing:-.08em; line-height:.74; margin:110px 0 90px; text-transform:uppercase; }.clients h2 strong { color:var(--yellow-deep); font-weight:900; }.clients > div:last-child { align-items:center; border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; font-size:22px; font-weight:800; grid-template-columns:repeat(6,1fr); min-height:120px; text-align:center; }

.footer { background:var(--accent); min-height:900px; padding:22px 2vw 24px; position:relative; }.footer > p { font:400 12px/1.55 "Space Mono",monospace; margin:70px 0 0; text-transform:uppercase; }.footer h2 { font-family:"Archivo Black",sans-serif; font-size:clamp(6rem,11.7vw,12rem); letter-spacing:-.085em; line-height:.72; margin:70px 0 0; text-transform:uppercase; }.footer h2 strong { color:var(--white); font-weight:900; padding-left:7vw; }.footer > a { align-items:center; border-bottom:2px solid var(--black); display:flex; font-size:clamp(1.5rem,3.2vw,3.2rem); font-weight:700; justify-content:space-between; margin-top:70px; padding-bottom:13px; }.footer-meta { bottom:20px; display:flex; font:400 11px "Space Mono",monospace; justify-content:space-between; left:2vw; position:absolute; right:2vw; text-transform:uppercase; }

[data-reveal-ready] .chapter { opacity:0; transform:translateY(14px); transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1); }[data-reveal-ready].in-view .chapter { opacity:1; transform:none; }
.work[data-reveal-ready] .stories-kicker,.work[data-reveal-ready] .stories-note { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .85s cubic-bezier(.16,1,.3,1); }.work[data-reveal-ready] .stories-intro h2 i { transform:translateY(112%); transition:transform 1s cubic-bezier(.16,1,.3,1); }.work[data-reveal-ready] .stories-intro h2 > span:nth-child(2) i { transition-delay:.09s; }.work[data-reveal-ready] .stories-intro h2 > span:nth-child(3) i { transition-delay:.18s; }.work[data-reveal-ready].in-view .stories-kicker,.work[data-reveal-ready].in-view .stories-note { opacity:1; transform:none; }.work[data-reveal-ready].in-view .stories-note { transition-delay:.28s; }.work[data-reveal-ready].in-view .stories-intro h2 i { transform:none; }
.work[data-reveal-ready] .work-item { opacity:0; transform:translateY(65px); transition:opacity .65s ease,transform .85s cubic-bezier(.16,1,.3,1); }.work[data-reveal-ready].in-view .work-item { opacity:1; transform:none; }.work[data-reveal-ready].in-view .work-item:nth-child(2) { transition-delay:.08s; }.work[data-reveal-ready].in-view .work-item:nth-child(3) { transition-delay:.16s; }.work[data-reveal-ready].in-view .work-item:nth-child(4) { transition-delay:.24s; }
.services[data-reveal-ready] .service-intro,.services[data-reveal-ready] .service-accordion,.studio[data-reveal-ready] .studio-copy,.about-us[data-reveal-ready] .about-us-grid,.about-you[data-reveal-ready] .about-you-grid { opacity:0; transform:translateY(55px); transition:opacity .65s ease,transform .9s cubic-bezier(.16,1,.3,1); }.services[data-reveal-ready].in-view .service-intro,.services[data-reveal-ready].in-view .service-accordion,.studio[data-reveal-ready].in-view .studio-copy,.about-us[data-reveal-ready].in-view .about-us-grid,.about-you[data-reveal-ready].in-view .about-you-grid { opacity:1; transform:none; }

@keyframes liveZoom { from { transform:scale(1); } to { transform:scale(1.08); } }
@keyframes blink { 50% { opacity:.2; } }
@keyframes reelCutIn { from { opacity:.45; transform:scale(1.08) translateY(15px); } to { opacity:1; transform:scale(1); } }
@keyframes wallProgress { from { transform:scaleX(0); } to { transform:scaleX(1); } }

@media (pointer:fine) { html,body,a,button { cursor:none; } }
@media (pointer:coarse) { .site-cursor { display:none; } }
@media (hover:none) { .work-media-cue i { display:none; }.work-media-cue em { display:inline; } }

@media (max-width:1050px) {
  .hero-masthead { width:41%; }.reel-takeover { grid-template-columns:41% 59%; }.takeover-copy h1 { font-size:4.4vw; }.takeover-copy footer a { display:none; }.takeover-progress { left:41%; }
  .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.work-item { min-height:0; }.work-item:nth-child(2) { border-right:1px solid var(--line); }.work-item:nth-child(n+3) { border-top:1px solid var(--line); }.studio { grid-template-columns:1fr 1fr; }
  .editorial-title { font-size:8.6vw; }.social-output > header { gap:3vw; grid-template-columns:.55fr 1.15fr .8fr; }
  .about-us-grid { gap:5vw; grid-template-columns:1.05fr .95fr; }.about-us h2 { font-size:9.5vw; }
}

@media (max-height:800px) and (min-width:721px) {
  .about-us-grid { gap:5vw; padding:24px 1vw; }.about-us-title > p { margin-bottom:24px; }.about-us h2 { font-size:clamp(4.8rem,8.2vw,8rem); }.about-us-copy > p { font-size:18px; margin-bottom:24px; }.about-us li { font-size:15px; padding:12px 0; }
}

@media (max-width:720px) {
  main { padding-left:0; }.side-rail { bottom:auto; height:64px; right:0; width:auto; }.rail-wordmark { height:56px; left:14px; top:4px; transform:none; width:155px; }.rail-menu-button { height:44px; left:auto; right:12px; top:10px; width:44px; }.side-rail nav,.rail-talk { display:none; }.menu { left:0; padding:25px 14px 18px; top:64px; }.menu::after { height:95vw; right:-35vw; top:-20vw; width:95vw; }.menu nav { margin-top:35px; }.menu nav a { grid-template-columns:30px 1fr auto; min-height:105px; }.menu nav a::after { display:none; }.menu nav a:hover b,.menu nav a:focus-visible b { transform:translateX(18px); }.menu nav b { font-size:15vw; }.menu nav span { font-size:1.2rem; }.menu > footer { bottom:18px; left:14px; right:14px; }.menu > footer span:first-child { display:none; }
  #work,#services,#studio,#about-us,#about-you { scroll-margin-top:64px; }
  .hero { height:100svh; min-height:680px; }.hero-masthead { background:transparent; height:94px; justify-content:flex-start; left:14px; padding:0; right:auto; top:78px; width:72%; }.hero-masthead img { object-fit:contain; object-position:left center; }
  .reel-takeover { display:block; top:64px; }.takeover-copy { height:54%; padding:128px 14px 14px; }.takeover-copy h1 { font-size:10.8vw; margin:auto 0 12px; }.takeover-copy > p { font-size:15px; line-height:1.42; margin-bottom:13px; max-width:360px; }.takeover-copy footer { grid-template-columns:1fr; padding-top:11px; }.takeover-copy footer small { font-size:10px; }.takeover-copy footer div b { font-size:10px; }.takeover-copy footer button { height:38px; width:38px; }.takeover-stage { bottom:0; height:46%; left:0; position:absolute; right:0; }.takeover-stage > button { grid-template-rows:minmax(0,1fr) 38px; }.takeover-stage > button.active { flex:5.2 1 0; }.takeover-caption { font-size:10px; grid-template-columns:auto 1fr; padding:0 6px; }.takeover-caption small { display:none; }.takeover-progress { bottom:38px; left:0; }.hero-code { display:none; }
  .chapter { font-size:11px; height:35px; }
  .work { padding:15px 8px 70px; }.stories-intro { display:grid; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr) auto; height:calc(100svh - 114px); min-height:0; padding:clamp(20px,3svh,32px) 6px clamp(22px,3.4svh,36px); }.stories-intro::after { border-width:5px; height:52px; right:6px; top:clamp(20px,3svh,32px); width:52px; }.stories-kicker { gap:12px; grid-column:1; }.stories-kicker span,.stories-kicker p { font-size:11px; }.stories-intro h2 { font-size:clamp(2.6rem,min(13.4vw,8.2svh),4.5rem); grid-column:1; line-height:.8; margin:clamp(14px,2.5svh,28px) 0; }.stories-intro h2 > span:nth-child(2) { padding-left:7vw; }.stories-intro h2 > span:nth-child(3) { padding-left:0; }.stories-note { display:block; grid-column:1; padding-top:clamp(12px,2svh,18px); }.stories-note > p { margin-bottom:clamp(12px,2.2svh,20px); max-width:390px; padding:14px 15px 12px; transform:rotate(-.35deg); }.stories-note > p strong { font-size:clamp(1.2rem,min(7vw,3.8svh),1.8rem); }.stories-note > p small { margin-top:8px; }.stories-note a { display:inline-block; }.work-grid { grid-template-columns:1fr; margin-top:54px; }.work-item,.work-item:nth-child(2) { border-right:1px solid var(--line); }.work-item:nth-child(n+2) { border-top:1px solid var(--line); }.work-item { padding:10px 6px 18px; }.work-image { margin:auto; max-height:76svh; width:min(100%,460px); }.work-item footer { grid-template-columns:34px minmax(0,1fr); padding:16px 6px 4px; }.work-item footer h3 { font-size:clamp(1.65rem,8vw,2.5rem); }.work-description { font-size:16px; line-height:1.5; margin-top:16px; padding:13px 0 17px; }.work-sector small { font-size:10px; }.work-sector strong { font-size:11px; }.work-media-cue { font-size:9px; }.work-media-cue i { display:none; }.work-media-cue em { display:inline; }
  .services { padding:10px 8px 42px; }.services .chapter { font-size:9px; }.service-intro { display:block; margin:34px 6px 30px; }.service-intro p { font-size:9px; }.service-intro h2 { font-size:13.5vw; margin-top:28px; }.service-accordion article { height:78px; }.service-accordion article.active { height:430px; }.service-number { font-size:22vw; left:4px; }.service-name { bottom:12px; font-size:clamp(.95rem,4.7vw,1.2rem); left:35%; right:40px; }.service-toggle { bottom:11px; height:25px; right:4px; width:25px; }.service-accordion article.active .service-number { font-size:31vw; top:50%; }.service-accordion article.active .service-name { top:50%; transform:translateY(-132px); }.service-accordion article.active .service-toggle { top:15px; }.service-detail { left:35%; padding:0 24px 16px 0; top:50%; }.active .service-detail { transform:translateY(-62px); }.service-detail h3 { font-size:11px; margin-bottom:11px; }.service-detail p { font-size:15px; line-height:1.42; }.service-detail small { font-size:9px; line-height:1.4; margin-top:12px; }.service-detail a { font-size:9px; margin-top:14px; }
  .impact { display:block; min-height:650px; overflow:hidden; padding:10px 14px 38px; }.impact > .chapter { margin-bottom:72px; }.impact-number small,.impact-number p { font-size:9px; }.impact-number strong { font-size:45vw; letter-spacing:-.1em; }.impact-number p { right:0; }.impact-aside { border-left:0; border-top:1px solid var(--line); display:grid; gap:16px; grid-template-columns:1fr 1.2fr; margin-top:65px; padding:16px 0 0; }.impact-aside figure { height:220px; }.impact-aside p { font-size:15px; line-height:1.45; margin:0; }
  .studio { display:flex; flex-direction:column; min-height:0; padding:8px; }.studio-visual { flex:none; height:52svh; min-height:400px; }.studio-visual > img { height:100%; transform:none; }.studio-copy { padding:44px 10px 54px; }.studio-copy > p:first-child { font-size:9px; }.studio-copy h2 { font-size:14vw; margin-top:38px; }.studio-copy > p:nth-of-type(2) { font-size:16px; line-height:1.48; }.studio-copy a { font-size:10px; }
  .editorial-behind { min-height:780px; }.editorial-title { font-size:11vw; gap:12px; justify-content:flex-start; left:10px; right:10px; top:22px; z-index:4; }.editorial-side { display:none; }.editorial-axis { bottom:38px; top:18px; }.editorial-spine { padding:112px 20px 58px; width:74vw; }.editorial-spine h3 { margin:20px 0; }.editorial-spine figure { height:310px; width:174px; }.editorial-spine > p:nth-of-type(2) { font-size:15px; line-height:1.45; }.editorial-bar,.output-bar { font-size:9px; padding:0 8px; }.editorial-bar span:last-child,.output-bar span:last-child { display:none; }
  .social-output { padding:40px 6px 32px; }.social-output > header { display:block; min-height:0; padding:52px 4px 42px; }.social-output > header > p:first-child { font-size:9px; }.social-output h2 { font-size:14vw; margin:38px 0 26px; }.social-output > header > p:last-child { font-size:15px; line-height:1.45; max-width:370px; }.output-grid { grid-template-columns:repeat(2,1fr); }.output-card-tall,.output-card-small { grid-column:span 1; margin-top:0; }.output-card-tall { height:400px; }.output-card-small { height:235px; }.output-card { grid-template-rows:minmax(0,1fr) 42px; }.output-card footer { font-size:8px; line-height:1.25; padding:0 5px; }
  .about-us,.about-you { padding:10px 14px 42px; }.about-us { min-height:calc(100svh - 64px); scroll-margin-top:64px; }.about-you { min-height:0; }.about-us-grid { align-content:start; display:grid; gap:28px; grid-template-columns:1fr; min-height:0; padding:42px 0 8px; }.about-you-grid { display:block; min-height:0; padding:54px 0 10px; }.about-us-title > p { font-size:9px; margin-bottom:22px; }.about-us h2 { font-size:14vw; }.about-you h2 { font-size:14vw; }.about-us-copy { margin:0; }.about-us-copy > p,.about-you-copy > p { font-size:16px; }.about-us-copy > p { line-height:1.45; margin-bottom:22px; }.about-us li { font-size:13px; padding:12px 0; }.about-you-grid > div:first-child > p { font-size:9px; margin-bottom:30px; }.about-you-copy { margin-top:56px; }.about-you-copy > div span { font-size:9px; }.about-you-copy > a { font-size:16px; }
  .clients { min-height:540px; padding:10px 14px 42px; }.clients h2 { font-size:14vw; margin:58px 0 46px; }.clients > div:last-child { gap:20px; grid-template-columns:repeat(2,1fr); min-height:230px; }
  .footer { min-height:calc(100svh - 64px); overflow:hidden; padding:10px 14px 18px; }.footer > p { font-size:9px; margin-top:42px; }.footer h2 { font-size:13.5vw; margin-top:50px; }.footer h2 strong { padding-left:0; }.footer > a { font-size:1rem; margin-top:50px; }.footer-meta { font-size:9px; left:14px; right:14px; }.footer-meta span:nth-child(2) { display:none; }
}

/* Humanhood and Barcelona Esports: one editorial system, two distinct worlds. */
.humanhood-case { --story-ink:#111015; --story-paper:#f2efe8; --story-accent:#b8ff63; --story-soft:#cdb8ff; }
.ajuntament-case { --story-ink:#090909; --story-paper:#f4f2ed; --story-accent:#ff2917; --story-soft:#ffd8d2; }
.storycase-content { background:var(--story-paper); color:var(--story-ink); overflow:clip; }
.storycase-content h1,.storycase-content h2,.storycase-content h3,.storycase-content blockquote { hyphens:none; overflow-wrap:normal; word-break:normal; }
.storycase-hero { background:var(--story-ink); color:#fff; height:calc(100svh - 92px); min-height:670px; overflow:hidden; position:relative; }
.storycase-hero > video { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.humanhood-story .storycase-hero > video { filter:contrast(1.08) saturate(.7); object-position:center 38%; }
.ajuntament-story .storycase-hero > video { filter:contrast(1.08) saturate(1.12); }
.storycase-hero-shade { background:linear-gradient(90deg,rgba(9,9,9,.96),rgba(9,9,9,.7) 48%,rgba(9,9,9,.12) 82%),linear-gradient(0deg,rgba(9,9,9,.76),transparent 54%); inset:0; position:absolute; }
.storycase-hero-copy { bottom:clamp(38px,6vh,72px); left:clamp(18px,4.5vw,82px); max-width:min(1120px,83vw); position:absolute; z-index:3; }
.storycase-hero-copy > p,.storycase-hero-note { font:700 8px/1.45 "Space Mono",monospace; margin:0; text-transform:uppercase; }
.storycase-hero-copy > p { margin-bottom:clamp(34px,5.5vh,64px); }.storycase-hero-copy > p span { color:var(--story-accent); margin:0 8px; }
.storycase-hero h1 { font:400 clamp(4.4rem,9vw,10.2rem)/.7 "Archivo Black",sans-serif; letter-spacing:-.09em; margin:0; text-transform:uppercase; }
.storycase-hero h2 { color:var(--story-accent); font-size:clamp(1.12rem,1.75vw,1.8rem); line-height:1.25; margin:clamp(22px,3vh,34px) 0 0; max-width:660px; text-wrap:balance; }
.storycase-hero-copy > a { align-items:center; border-bottom:1px solid rgba(255,255,255,.72); display:flex; font:700 8px "Space Mono",monospace; justify-content:space-between; margin-top:clamp(28px,4vh,42px); max-width:260px; padding-bottom:10px; text-transform:uppercase; }
.storycase-hero-copy > a span { color:var(--story-accent); }.storycase-hero-note { position:absolute; right:clamp(18px,3vw,46px); top:clamp(22px,4vh,42px); z-index:3; }
.humanhood-rings { border:1px solid color-mix(in srgb,var(--story-accent) 75%,transparent); border-radius:50%; height:min(48vw,650px); position:absolute; right:-12%; top:10%; width:min(48vw,650px); z-index:2; }
.humanhood-rings::before,.humanhood-rings::after { border:1px solid color-mix(in srgb,var(--story-accent) 36%,transparent); border-radius:50%; content:""; inset:16%; position:absolute; }.humanhood-rings::after { inset:36%; }
.humanhood-rings i { background:var(--story-accent); border-radius:50%; height:9px; position:absolute; width:9px; }.humanhood-rings i:nth-child(1) { left:11%; top:25%; }.humanhood-rings i:nth-child(2) { bottom:9%; left:48%; }.humanhood-rings i:nth-child(3) { right:-1px; top:52%; }
.ajuntament-gridmark { display:grid; gap:10px; grid-template-columns:repeat(2,80px); position:absolute; right:5vw; top:12vh; transform:rotate(8deg); z-index:2; }.ajuntament-gridmark i { aspect-ratio:1; border:1px solid rgba(255,41,23,.7); }.ajuntament-gridmark i:nth-child(2),.ajuntament-gridmark i:nth-child(3) { background:var(--story-accent); }

.storycase-impact { background:var(--story-accent); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 clamp(18px,4.5vw,82px); }
.storycase-impact article { align-content:end; border-left:1px solid color-mix(in srgb,var(--story-ink) 60%,transparent); display:grid; min-height:clamp(230px,21vw,360px); padding:clamp(28px,4vw,58px); }
.storycase-impact article:last-child { border-right:1px solid color-mix(in srgb,var(--story-ink) 60%,transparent); }
.storycase-impact strong { font:400 clamp(3.6rem,6.7vw,8rem)/.7 "Archivo Black",sans-serif; letter-spacing:-.09em; }
.storycase-impact p { font:700 8px/1.5 "Space Mono",monospace; margin:clamp(28px,3vw,44px) 0 0; max-width:240px; text-transform:uppercase; }

.storycase-intro { display:grid; gap:clamp(46px,8vw,136px); grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); margin:auto; max-width:1760px; padding:clamp(90px,10vw,160px) clamp(18px,4.5vw,82px); }
.storycase-intro header > p,.storycase-feature-copy > p:first-child,.storycase-work header > p,.storycase-result > p,.humanhood-manifesto > p,.ajuntament-map header > p,.ajuntament-digital > div:first-child > p { color:var(--story-accent); font:700 8px/1.45 "Space Mono",monospace; margin:0 0 clamp(38px,5vw,64px); text-transform:uppercase; }
.storycase-intro h2,.storycase-feature h2,.storycase-work h2,.storycase-result h2,.humanhood-manifesto h2,.ajuntament-map h2,.ajuntament-digital h2 { font:400 clamp(3.05rem,5.5vw,6.5rem)/.78 "Archivo Black",sans-serif; letter-spacing:-.075em; margin:0; text-transform:uppercase; text-wrap:balance; }
.storycase-intro > div > p { font-size:clamp(1.02rem,1.15vw,1.2rem); line-height:1.65; margin:0; max-width:840px; }.storycase-intro > div > p + p { border-top:1px solid var(--story-ink); margin-top:clamp(34px,4vw,58px); padding-top:clamp(34px,4vw,58px); }
.storycase-intro .storycase-lead { font-size:clamp(1.32rem,1.8vw,1.82rem); line-height:1.46; }
.storycase-intro ul { display:flex; flex-wrap:wrap; gap:7px; list-style:none; margin:clamp(38px,5vw,62px) 0 0; padding:0; }.storycase-intro li { border:1px solid var(--story-ink); border-radius:99px; font:700 8px/1.2 "Space Mono",monospace; padding:10px 13px; text-transform:uppercase; }
.storycase-intro small { border-top:1px solid color-mix(in srgb,var(--story-ink) 38%,transparent); display:block; font:400 7px/1.55 "Space Mono",monospace; margin-top:28px; padding-top:14px; text-transform:uppercase; }.storycase-intro small sup { color:var(--story-accent); font-size:12px; margin-right:4px; }

.storycase-visuals { background:var(--story-ink); display:grid; gap:1px; grid-template-columns:1.15fr .85fr; padding:1px; }.storycase-visuals figure { aspect-ratio:16/10; background:var(--story-ink); margin:0; overflow:hidden; position:relative; }.storycase-visuals-main { grid-row:span 2; }.storycase-visuals img { display:block; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.16,1,.3,1); width:100%; }.storycase-visuals-main img { object-position:center; }.humanhood-story .storycase-visuals-main img { object-position:center 35%; }.storycase-visuals figure:hover img { transform:scale(1.025); }
.storycase-visuals figcaption { background:linear-gradient(0deg,rgba(9,9,9,.84),transparent); bottom:0; color:#fff; display:flex; font:700 7px/1.4 "Space Mono",monospace; justify-content:space-between; left:0; padding:45px 14px 13px; position:absolute; right:0; text-transform:uppercase; }.storycase-visuals figcaption span:last-child { color:var(--story-accent); }

.storycase-feature { background:var(--story-ink); color:#fff; display:grid; grid-template-columns:minmax(350px,.9fr) minmax(390px,1.1fr); }.storycase-feature-copy { align-self:center; padding:clamp(82px,8vw,138px) clamp(18px,4.5vw,82px); }.storycase-feature-copy > p:not(:first-child) { color:rgba(255,255,255,.76); font-size:clamp(1.02rem,1.15vw,1.2rem); line-height:1.65; margin:clamp(36px,4vw,54px) 0 0; max-width:690px; }.storycase-feature blockquote { border-top:1px solid rgba(255,255,255,.34); color:var(--story-accent); font:400 clamp(2rem,3.35vw,4.05rem)/.87 "Archivo Black",sans-serif; letter-spacing:-.065em; margin:clamp(46px,5vw,70px) 0 0; padding-top:clamp(30px,4vw,46px); text-transform:uppercase; }.storycase-feature-copy > a { align-items:center; border-bottom:1px solid rgba(255,255,255,.68); display:flex; font:700 8px/1.4 "Space Mono",monospace; justify-content:space-between; margin-top:clamp(40px,5vw,60px); max-width:290px; padding-bottom:9px; text-transform:uppercase; }.storycase-feature-copy > a span { color:var(--story-accent); }
.storycase-reel { align-self:center; margin:0; padding:clamp(48px,6vw,94px) clamp(18px,6vw,108px); }.storycase-reel > div { aspect-ratio:9/16; background:#000; box-shadow:22px 22px 0 var(--story-accent); margin:auto; max-height:72svh; overflow:hidden; position:relative; width:auto; }.storycase-reel video { height:100%; object-fit:cover; width:100%; }.storycase-reel > div > span { background:var(--story-accent); bottom:14px; color:var(--story-ink); font:700 7px "Space Mono",monospace; left:14px; padding:8px 10px; position:absolute; text-transform:uppercase; }.storycase-reel figcaption { display:flex; font:700 7px/1.4 "Space Mono",monospace; justify-content:space-between; margin:35px auto 0; max-width:405px; text-transform:uppercase; }

.humanhood-manifesto { background:var(--story-soft); padding:clamp(88px,11vw,180px) clamp(18px,4.5vw,82px); }.humanhood-manifesto > p { color:var(--story-ink); }.humanhood-manifesto h2 { font-size:clamp(4rem,9vw,10rem); max-width:1500px; }.humanhood-manifesto h2 strong { color:var(--story-paper); display:block; -webkit-text-stroke:1px var(--story-ink); }.humanhood-manifesto > div { align-items:end; border-top:1px solid var(--story-ink); display:grid; gap:40px; grid-template-columns:minmax(0,650px) 1fr; margin-top:clamp(60px,8vw,105px); padding-top:30px; }.humanhood-manifesto > div p { font-size:clamp(1.05rem,1.35vw,1.35rem); line-height:1.6; margin:0; }.humanhood-manifesto > div span { font:400 clamp(8rem,19vw,20rem)/.55 "Archivo Black",sans-serif; justify-self:end; }

.ajuntament-map { background:var(--story-soft); display:grid; gap:clamp(48px,8vw,130px); grid-template-columns:.9fr 1.1fr; padding:clamp(88px,10vw,160px) clamp(18px,4.5vw,82px); }.ajuntament-map header > p:last-child { font-size:clamp(1.02rem,1.2vw,1.22rem); line-height:1.62; margin:40px 0 0; max-width:650px; }.ajuntament-map > div { display:grid; grid-template-columns:repeat(2,1fr); }.ajuntament-map article { align-content:space-between; border:1px solid var(--story-ink); display:grid; min-height:230px; padding:24px; }.ajuntament-map article:nth-child(2n) { border-left:0; }.ajuntament-map article:nth-child(n+3) { border-top:0; }.ajuntament-map strong { font:400 clamp(3rem,5.5vw,6.5rem)/.75 "Archivo Black",sans-serif; letter-spacing:-.08em; }.ajuntament-map span { font:700 8px/1.4 "Space Mono",monospace; margin-top:auto; max-width:200px; }

.storycase-work { padding:clamp(88px,10vw,160px) clamp(18px,4.5vw,82px); }.storycase-work > header { display:grid; gap:50px; grid-template-columns:.6fr 1.4fr; }.storycase-work > div { border-top:1px solid var(--story-ink); display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(62px,8vw,112px); }.storycase-work article { border-bottom:1px solid var(--story-ink); min-height:390px; padding:24px clamp(16px,2.2vw,34px) 36px; }.storycase-work article + article { border-left:1px solid var(--story-ink); }.storycase-work article > span { color:var(--story-accent); font:700 10px "Space Mono",monospace; }.storycase-work h3 { font-size:clamp(1.45rem,2vw,2.2rem); letter-spacing:-.04em; line-height:1; margin:clamp(72px,8vw,118px) 0 24px; text-transform:uppercase; }.storycase-work article p { font-size:clamp(.96rem,1.05vw,1.08rem); line-height:1.55; margin:0; }

.ajuntament-digital { background:var(--story-ink); color:#fff; display:grid; gap:clamp(48px,8vw,130px); grid-template-columns:.9fr 1.1fr; padding:clamp(88px,10vw,160px) clamp(18px,4.5vw,82px); }.ajuntament-digital > div:last-child > p { color:rgba(255,255,255,.76); font-size:clamp(1.05rem,1.3vw,1.28rem); line-height:1.62; margin:0; max-width:720px; }.ajuntament-digital > div:last-child > div { border-top:1px solid rgba(255,255,255,.4); display:grid; margin-top:58px; }.ajuntament-digital span { align-items:center; border-bottom:1px solid rgba(255,255,255,.4); display:flex; font:700 8px/1.4 "Space Mono",monospace; justify-content:space-between; padding:18px 0; text-transform:uppercase; }.ajuntament-digital span strong { color:var(--story-accent); font:400 clamp(2rem,3vw,3.4rem)/1 "Archivo Black",sans-serif; }

.storycase-result { background:var(--story-accent); display:grid; gap:clamp(42px,7vw,115px); grid-template-columns:.32fr 1fr; padding:clamp(90px,11vw,180px) clamp(18px,4.5vw,82px); }.storycase-result > p { color:var(--story-ink); }.storycase-result h2 { font-size:clamp(3.4rem,7vw,8.4rem); grid-column:2; }.storycase-result h2 span { display:block; color:var(--story-paper); -webkit-text-stroke:1px var(--story-ink); }.storycase-result > div { display:grid; gap:clamp(38px,6vw,88px); grid-column:2; grid-template-columns:1fr 1fr; }.storycase-result > div > p { font-size:clamp(1.05rem,1.3vw,1.3rem); line-height:1.6; margin:0; }.storycase-result nav { display:grid; }.storycase-result nav a { align-items:center; border-bottom:1px solid var(--story-ink); display:flex; font:700 8px/1.4 "Space Mono",monospace; justify-content:space-between; padding:15px 0; text-transform:uppercase; }
.storycase-next { background:var(--story-accent); }.humanhood-next { --story-accent:#b8ff63; }.ajuntament-next { --story-accent:#ff2917; }.storycase-next.case-next { background:var(--story-accent); }

.menu-socials,.footer-socials { align-items:center; display:inline-flex; gap:.55em; }.menu-socials i,.footer-socials i { font-style:normal; opacity:.45; }.menu-socials a,.footer-socials a { text-decoration:none; }.menu-socials a:hover,.footer-socials a:hover { color:var(--accent); }

@media (max-width:980px) {
  .storycase-work > div { grid-template-columns:repeat(2,1fr); }.storycase-work article:nth-child(3) { border-left:0; }.storycase-work article:nth-child(n+3) { border-top:0; }
  .storycase-result { grid-template-columns:.24fr 1fr; }.storycase-result > div { grid-template-columns:1fr; }
}

@media (max-width:720px) {
  .storycase-hero { height:auto; min-height:720px; }.storycase-hero > video { object-position:center; }.storycase-hero-shade { background:linear-gradient(0deg,rgba(9,9,9,.96),rgba(9,9,9,.28) 74%); }.storycase-hero-copy { bottom:30px; left:14px; max-width:calc(100% - 28px); }.storycase-hero-copy > p { margin-bottom:42px; }.storycase-hero h1 { font-size:clamp(3.15rem,16vw,5rem); }.storycase-hero h2 { font-size:1.05rem; max-width:92%; }.storycase-hero-note { font-size:6px; left:14px; right:auto; top:18px; }.humanhood-rings { height:86vw; right:-32%; top:12%; width:86vw; }.ajuntament-gridmark { gap:5px; grid-template-columns:repeat(2,42px); right:12px; top:60px; }
  .storycase-impact { grid-template-columns:1fr; padding:0 14px; }.storycase-impact article { border-left:0; border-top:1px solid var(--story-ink); min-height:170px; padding:28px 8px; }.storycase-impact article:last-child { border-right:0; }.storycase-impact strong { font-size:clamp(3.4rem,18vw,5.4rem); }.storycase-impact p { margin-top:24px; }
  .storycase-intro { display:block; padding:76px 14px 84px; }.storycase-intro header { margin-bottom:58px; }.storycase-intro h2,.storycase-feature h2,.storycase-work h2,.storycase-result h2,.humanhood-manifesto h2,.ajuntament-map h2,.ajuntament-digital h2 { font-size:clamp(2.7rem,12.5vw,4.3rem); }.storycase-intro .storycase-lead { font-size:1.22rem; }.storycase-intro > div > p { font-size:1rem; }.storycase-intro li { font-size:7px; }
  .storycase-visuals { display:block; }.storycase-visuals figure,.storycase-visuals-main { aspect-ratio:4/5; }.storycase-visuals figure + figure { border-top:1px solid var(--story-ink); }
  .storycase-feature { display:block; }.storycase-feature-copy { padding:78px 14px 62px; }.storycase-feature-copy > p:not(:first-child) { font-size:1rem; }.storycase-feature blockquote { font-size:clamp(2rem,10vw,3rem); }.storycase-reel { padding:34px 34px 76px; }.storycase-reel > div { box-shadow:12px 12px 0 var(--story-accent); max-height:none; width:min(100%,330px); }.storycase-reel figcaption { margin-top:26px; }
  .humanhood-manifesto { padding:76px 14px 84px; }.humanhood-manifesto h2 { font-size:clamp(3rem,15vw,5rem); }.humanhood-manifesto > div { display:block; margin-top:54px; }.humanhood-manifesto > div span { display:block; font-size:48vw; margin-top:50px; text-align:right; }
  .ajuntament-map { display:block; padding:76px 14px 84px; }.ajuntament-map > div { margin-top:56px; }.ajuntament-map article { min-height:170px; padding:16px; }.ajuntament-map strong { font-size:clamp(2.5rem,12vw,4rem); }.ajuntament-map span { font-size:6px; }
  .storycase-work { padding:76px 14px 84px; }.storycase-work > header { display:block; }.storycase-work > header > p { margin-bottom:38px; }.storycase-work > div { display:block; margin-top:56px; }.storycase-work article,.storycase-work article + article,.storycase-work article:nth-child(n+3) { border-left:0; border-top:0; min-height:290px; padding:22px 0 30px; }.storycase-work h3 { font-size:1.65rem; margin:70px 0 22px; }.storycase-work article p { font-size:1rem; }
  .ajuntament-digital { display:block; padding:76px 14px 84px; }.ajuntament-digital > div:last-child { margin-top:54px; }.ajuntament-digital span { align-items:flex-start; flex-direction:column; gap:8px; }.ajuntament-digital span strong { font-size:2.6rem; }
  .storycase-result { display:block; padding:76px 14px 84px; }.storycase-result > p { margin-bottom:42px; }.storycase-result h2 { font-size:clamp(3rem,14vw,4.7rem); }.storycase-result > div { display:block; margin-top:54px; }.storycase-result nav { margin-top:48px; }
  .storycase-next.case-next > a { font-size:clamp(2.8rem,12vw,4.5rem); }
  .menu-socials { gap:.45em; }
}

/* A high-contrast cursor remains visible over both dark and light case-study
   surfaces while preserving the same interaction language as the homepage. */
body:has(.case-page) .site-cursor {
  background:var(--accent);
  border:2px solid rgba(255,255,255,.92);
  box-shadow:0 0 0 1px rgba(9,9,9,.88),0 5px 18px rgba(0,0,0,.24);
  mix-blend-mode:normal;
}

/* Project pages v3: fewer sections, one shared editorial rhythm. */
.case-page-v3 { background:#f3f3f0; }
.case-page-v3 .case-nav {
  gap:clamp(18px,2.7vw,44px);
  grid-template-columns:minmax(170px,220px) minmax(0,1fr) auto;
  min-height:74px;
  padding:7px clamp(16px,2.5vw,40px);
}
.case-page-v3 .case-nav-logo { height:56px; width:210px; }
.case-page-v3 .case-nav-links { align-items:center; display:flex; gap:clamp(18px,3vw,50px); justify-content:center; white-space:nowrap; }
.case-page-v3 .case-nav-links a,.case-page-v3 .case-back { font:700 10px/1 "Space Mono",monospace; text-transform:uppercase; }
.case-page-v3 .case-nav-links a { position:relative; }
.case-page-v3 .case-nav-links a::after { background:var(--accent); bottom:-8px; content:""; height:2px; left:0; position:absolute; transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.16,1,.3,1); width:100%; }
.case-page-v3 .case-nav-links a:hover::after,.case-page-v3 .case-nav-links a:focus-visible::after { transform:scaleX(1); }

.case-page-v3 .case-hero { grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); height:auto; min-height:calc(100svh - 74px); }
.case-page-v3 .case-hero-copy { min-height:660px; padding:clamp(42px,5vw,78px); }
.case-page-v3 .case-hero h1 { font-size:clamp(3.2rem,5.65vw,6.7rem); margin:clamp(28px,4vh,46px) 0 24px; }
.case-page-v3 .case-headline { font-size:clamp(1.1rem,1.45vw,1.45rem); max-width:610px; }
.case-page-v3 .case-preagency { font-size:8px; line-height:1.55; margin-top:16px; max-width:530px; }
.case-page-v3 .case-hero-results { margin-top:clamp(28px,4vh,42px); max-width:850px; }
.case-page-v3 .case-hero-results p { min-height:164px; }
.case-page-v3 .case-hero-results strong { font-size:clamp(3rem,4.6vw,5.8rem); }
.case-page-v3 .case-hero-results span { font-size:10px; }

.case-brief {
  display:grid;
  gap:clamp(46px,8vw,126px);
  grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);
  margin:auto;
  max-width:1500px;
  padding:clamp(92px,10vw,160px) clamp(18px,4vw,68px);
}
.case-brief header h2,.case-actions h2,.case-result h2 { font:400 clamp(3.1rem,5.25vw,6.25rem)/.76 "Archivo Black",sans-serif; letter-spacing:-.075em; margin:clamp(48px,7vh,82px) 0 0; text-transform:uppercase; }
.case-brief header h2 strong,.case-actions h2 strong { color:var(--accent); font-weight:inherit; }
.case-brief-copy { align-self:end; }
.case-brief-lead { font-size:clamp(1.22rem,1.65vw,1.62rem); line-height:1.5; margin:0 0 clamp(44px,6vw,76px); max-width:800px; }
.case-brief-points { border-top:1px solid var(--black); display:grid; grid-template-columns:1fr 1fr; }
.case-brief-points article { padding:20px clamp(16px,2.3vw,34px) 2px 0; }
.case-brief-points article + article { border-left:1px solid var(--black); padding-left:clamp(16px,2.3vw,34px); }
.case-brief-points span { color:var(--accent); font:700 10px "Space Mono",monospace; }
.case-brief-points p { font-size:clamp(.98rem,1.1vw,1.08rem); line-height:1.58; margin:30px 0 0; }
.case-tags { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:46px 0 0; padding:0; }
.case-tags li { border:1px solid rgba(9,9,9,.38); font:700 9px/1 "Space Mono",monospace; padding:9px 11px; text-transform:uppercase; }

.case-feature-image { background:#111; height:min(68svh,780px); margin:0; overflow:hidden; position:relative; }
.case-feature-image::after { background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.45)); content:""; inset:0; pointer-events:none; position:absolute; }
.case-feature-image img { height:100%; object-fit:cover; width:100%; }
.case-feature-image figcaption { bottom:14px; color:#fff; font:700 9px "Space Mono",monospace; left:16px; position:absolute; text-transform:uppercase; z-index:1; }

.case-actions { background:#0a0a0a; color:#fff; padding:clamp(84px,9vw,140px) clamp(18px,4vw,68px); }
.case-actions > header { display:grid; gap:40px; grid-template-columns:.42fr 1.58fr; margin:auto; max-width:1500px; }
.case-actions > header > p,.case-result > header > p { color:var(--accent); font:700 10px "Space Mono",monospace; margin:0; text-transform:uppercase; }
.case-actions h2 { margin:0; }
.case-action-list { border-top:1px solid rgba(255,255,255,.35); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:clamp(58px,7vw,94px) auto 0; max-width:1500px; }
.case-action-list article { min-height:260px; padding:22px clamp(16px,2.3vw,34px) 28px 0; }
.case-action-list article + article { border-left:1px solid rgba(255,255,255,.35); padding-left:clamp(16px,2.3vw,34px); }
.case-action-list span { color:var(--accent); font:700 10px "Space Mono",monospace; }
.case-action-list h3 { font:400 clamp(1.45rem,2vw,2.2rem)/.95 "Archivo Black",sans-serif; letter-spacing:-.045em; margin:52px 0 22px; text-transform:uppercase; }
.case-action-list p { color:rgba(255,255,255,.72); font-size:clamp(.96rem,1.05vw,1.05rem); line-height:1.55; margin:0; }

.case-result { background:var(--accent); color:var(--black); display:grid; gap:clamp(48px,8vw,120px); grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); padding:clamp(86px,10vw,160px) clamp(18px,4vw,68px); }
.case-result > header,.case-result-copy { margin:auto; max-width:720px; width:100%; }
.case-result h2 { font-size:clamp(2.8rem,4.8vw,5.8rem); margin-top:54px; }
.case-result > header > p { color:var(--black); }
.case-result-copy > p { font-size:clamp(1.15rem,1.45vw,1.45rem); line-height:1.5; margin:0; }
.case-result-signals { border-bottom:1px solid var(--black); border-top:1px solid var(--black); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:clamp(44px,6vw,72px); }
.case-result-signals article { display:flex; flex-direction:column; min-height:150px; padding:20px 16px 16px 0; }
.case-result-signals article + article { border-left:1px solid var(--black); padding-left:16px; }
.case-result-signals strong { font:400 clamp(2.2rem,3.4vw,4rem)/.8 "Archivo Black",sans-serif; letter-spacing:-.07em; }
.case-result-signals span { font:700 8px/1.35 "Space Mono",monospace; margin-top:auto; text-transform:uppercase; }
.case-result-copy > a { border-bottom:1px solid var(--black); display:flex; font:700 10px "Space Mono",monospace; justify-content:space-between; margin-top:42px; padding-bottom:9px; text-transform:uppercase; }

@media (max-width:980px) {
  .case-page-v3 .case-nav { gap:12px; grid-template-columns:150px minmax(0,1fr) auto; }
  .case-page-v3 .case-nav-logo { width:145px; }
  .case-page-v3 .case-nav-links { gap:18px; }
  .case-page-v3 .case-hero { grid-template-columns:1fr .78fr; }
}

@media (max-width:720px) {
  .case-page-v3 .case-nav {
    display:flex;
    gap:10px;
    min-height:58px;
    overflow:hidden;
    padding:6px 10px;
  }
  .case-page-v3 .case-nav-logo { flex:0 0 78px; height:42px; width:78px; }
  .case-page-v3 .case-nav-links { flex:1 1 auto; gap:0; justify-content:space-between; min-width:0; }
  .case-page-v3 .case-nav-links a { font-size:clamp(6px,1.75vw,7.5px); }
  .case-page-v3 .case-back { display:none; }
  .case-page-v3 .case-hero { display:flex; flex-direction:column; min-height:0; }
  .case-page-v3 .case-hero-copy { min-height:0; padding:58px 14px 48px; }
  .case-page-v3 .case-hero h1 { font-size:clamp(2.45rem,11.3vw,3.8rem); margin:50px 0 24px; text-wrap:balance; }
  .case-page-v3 .case-preagency { font-size:7px; }
  .case-page-v3 .case-hero-results { grid-template-columns:1fr; }
  .case-page-v3 .case-hero-results p { min-height:116px; padding:16px 0 14px; }
  .case-page-v3 .case-hero-results p + p { border-left:0; border-top:1px solid rgba(255,255,255,.26); padding-left:0; }
  .case-page-v3 .case-hero-results strong { font-size:clamp(3.1rem,15vw,4.3rem); }
  .case-page-v3 .case-hero-media { aspect-ratio:9/11; min-height:0; }
  .case-brief { display:flex; flex-direction:column; gap:44px; padding:76px 14px 82px; }
  .case-brief header h2 { font-size:clamp(2.8rem,12.5vw,4.1rem); margin-top:44px; }
  .case-brief-lead { font-size:1.08rem; margin-bottom:44px; }
  .case-brief-points { grid-template-columns:1fr; }
  .case-brief-points article { padding:20px 0 30px; }
  .case-brief-points article + article { border-left:0; border-top:1px solid var(--black); padding:28px 0 0; }
  .case-brief-points p { font-size:1rem; margin-top:20px; }
  .case-tags { margin-top:36px; }
  .case-feature-image { height:58svh; min-height:390px; }
  .case-actions { padding:74px 14px 80px; }
  .case-actions > header { display:block; }
  .case-actions h2 { font-size:clamp(2.75rem,12.5vw,4.1rem); margin-top:42px; }
  .case-action-list { display:block; margin-top:54px; }
  .case-action-list article { min-height:0; padding:22px 0 36px; }
  .case-action-list article + article { border-left:0; border-top:1px solid rgba(255,255,255,.35); padding:30px 0 36px; }
  .case-action-list h3 { margin:32px 0 18px; }
  .case-result { display:flex; flex-direction:column; gap:52px; padding:76px 14px 84px; }
  .case-result h2 { font-size:clamp(2.55rem,11.6vw,3.8rem); margin-top:42px; }
  .case-result-copy > p { font-size:1.08rem; }
  .case-result-signals { grid-template-columns:1fr; }
  .case-result-signals article { min-height:108px; padding:16px 0 14px; }
  .case-result-signals article + article { border-left:0; border-top:1px solid var(--black); padding-left:0; }
  .case-result-signals strong { font-size:clamp(2.65rem,13vw,3.9rem); }
}

@media (max-width:1050px) and (min-width:721px) {
  .process-heading h2 { font-size:clamp(3.5rem,8vw,5.5rem); }
}

@media (max-width:380px) {
  .menu nav a { min-height:96px; }.menu nav b { font-size:14vw; }.takeover-copy h1 { font-size:11vw; }.chapter { letter-spacing:0; }.chapter span:last-child { line-height:1.15; max-width:42%; text-align:right; white-space:normal; }.about-us h2,.about-you h2,.clients h2 { font-size:14vw; }
}

/* Three-step story headline: one controlled line per step. */
.stories-intro h2 > span { white-space:nowrap; }

@media (max-width:720px) {
  .stories-intro h2 { font-size:clamp(2rem,min(10vw,7svh),3.4rem); }
  .stories-intro h2 { font-size:clamp(1.75rem,min(8.15vw,6.2svh),2.75rem); letter-spacing:-.075em; line-height:.82; width:100%; }
  .stories-intro h2 > span:nth-child(2) { padding-left:5vw; }
  .stories-intro h2 > span:nth-child(3) { padding-left:15vw; }
}

/* Hero 2026 — an interactive vertical-reel editing desk. */
.hero { --hero-dx:0px; --hero-dy:0px; --hero-back-x:0px; --hero-back-y:0px; --hero-img-x:0px; --hero-img-y:0px; --hero-rx:0deg; background:#050505; isolation:isolate; }
.hero-concept { display:grid; grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr); grid-template-rows:auto minmax(0,1fr) auto; height:100%; overflow:hidden; padding:24px clamp(22px,2.4vw,42px) 20px; position:relative; }
.hero-concept::before { background:var(--accent); clip-path:polygon(20% 0,100% 0,100% 84%,83% 100%,0 100%,0 19%); content:""; height:76%; opacity:.96; position:absolute; right:-7%; top:12%; transform:translate3d(var(--hero-back-x),var(--hero-back-y),0); transition:transform .35s cubic-bezier(.16,1,.3,1); width:44%; z-index:0; }
.hero-concept::after { background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:72px 72px; content:""; inset:0; mask-image:linear-gradient(90deg,transparent 28%,#000 72%); opacity:.46; pointer-events:none; position:absolute; z-index:0; }
.hero-brandline { align-items:center; border-bottom:1px solid rgba(255,255,255,.22); display:grid; grid-column:1/3; grid-template-columns:minmax(240px,1fr) auto auto; min-height:126px; position:relative; z-index:4; }
.hero-brand-lockup { height:112px; overflow:hidden; pointer-events:none; width:clamp(270px,23vw,390px); }
.hero-brand-lockup img { height:auto; max-width:none; transform:translateY(-16.5%); width:100%; }
.hero-brandline p { align-items:center; color:rgba(255,255,255,.74); display:flex; font:700 10px/1.55 "Space Mono",monospace; gap:10px; margin:0 4vw 0 0; text-transform:uppercase; }
.hero-brandline p i { background:var(--accent); display:block; height:9px; transform:rotate(45deg); width:9px; }
.hero-brandline > span { color:rgba(255,255,255,.5); font:400 10px "Space Mono",monospace; text-transform:uppercase; }
.hero-new-copy { align-self:center; min-width:0; padding:2vh 2vw 2vh 0; position:relative; z-index:3; }
.hero-eyebrow { color:rgba(255,255,255,.66); font:700 10px "Space Mono",monospace; letter-spacing:.04em; margin:0 0 clamp(24px,4vh,48px); text-transform:uppercase; }
.hero-eyebrow span { color:var(--accent); margin-right:18px; }
.hero-new-copy h1 { font-family:"Archivo Black",sans-serif; font-size:clamp(4.5rem,6.45vw,8.2rem); letter-spacing:-.078em; line-height:.76; margin:0; text-transform:uppercase; }
.hero-new-copy h1 span,.hero-new-copy h1 strong { display:block; }
.hero-new-copy h1 span:nth-child(2) { margin-left:clamp(30px,6vw,105px); }
.hero-new-copy h1 strong { color:var(--accent); font-weight:inherit; margin-left:clamp(8px,1.5vw,28px); position:relative; width:max-content; }
.hero-new-copy h1 strong::after { background:var(--white); bottom:-.08em; content:""; height:.035em; left:.02em; position:absolute; transform:scaleX(.18); transform-origin:left; transition:transform .7s .6s cubic-bezier(.16,1,.3,1); width:98%; }
.hero:hover .hero-new-copy h1 strong::after { transform:scaleX(1); }
.hero-subcopy { color:rgba(255,255,255,.76); font-size:17px; line-height:1.5; margin:clamp(26px,4vh,46px) 0 0 clamp(30px,6vw,105px); max-width:440px; }
.hero-reel-deck { align-self:stretch; min-height:0; position:relative; z-index:2; }
.hero-signal { color:rgba(255,255,255,.66); display:flex; flex-direction:column; font:700 10px "Space Mono",monospace; gap:8px; left:2%; position:absolute; text-transform:uppercase; top:10%; z-index:4; }
.hero-signal::before { background:var(--accent); box-shadow:0 0 18px var(--accent); content:""; height:7px; left:-14px; position:absolute; top:2px; width:7px; }
.hero-signal b { color:var(--white); font-family:"Archivo Black",sans-serif; font-size:clamp(2.8rem,4.2vw,5.6rem); letter-spacing:-.08em; line-height:.8; }
.hero-featured-reel { background:#111; border:0; box-shadow:0 30px 70px rgba(0,0,0,.5); clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%); height:min(66vh,640px); left:46%; overflow:hidden; padding:0; position:absolute; top:50%; transform:translate3d(calc(-50% + var(--hero-dx)),calc(-50% + var(--hero-dy)),0) rotate(var(--hero-rx)); transition:transform .4s cubic-bezier(.16,1,.3,1),clip-path .45s cubic-bezier(.16,1,.3,1); width:min(32vw,500px); z-index:2; }
.hero-featured-reel:hover { clip-path:polygon(3% 0,100% 0,100% 97%,97% 100%,0 100%,0 3%); }
.hero-featured-media { display:block; height:100%; overflow:hidden; position:relative; width:100%; }
.hero-featured-media::after { background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 38%,rgba(0,0,0,.58)); content:""; inset:0; pointer-events:none; position:absolute; }
.hero-featured-media img { height:108%; left:-4%; max-width:none; object-fit:cover; position:absolute; top:-4%; transform:translate3d(var(--hero-img-x),var(--hero-img-y),0) scale(1.04); transition:transform .55s cubic-bezier(.16,1,.3,1),filter .45s; width:108%; }
.hero-featured-reel:hover .hero-featured-media img { filter:saturate(1.12) contrast(1.04); transform:translate3d(var(--hero-img-x),var(--hero-img-y),0) scale(1.09); }
.hero-glass-control { align-items:center; backdrop-filter:blur(22px) saturate(1.4); background:rgba(8,8,8,.48); border:1px solid rgba(255,255,255,.36); bottom:18px; color:#fff; display:grid; gap:10px; grid-template-columns:36px 1fr auto; left:18px; padding:9px 11px; position:absolute; right:18px; z-index:3; }
.hero-glass-control b { align-items:center; background:var(--accent); color:var(--black); display:flex; font-size:12px; height:36px; justify-content:center; }
.hero-glass-control i { font:700 10px "Space Mono",monospace; font-style:normal; text-align:left; text-transform:uppercase; }
.hero-glass-control small { color:rgba(255,255,255,.68); font:400 10px "Space Mono",monospace; }
.hero-reel-stack { display:flex; flex-direction:column; gap:8px; position:absolute; right:0; top:50%; transform:translateY(-50%); z-index:4; }
.hero-reel-stack button { background:#111; border:1px solid rgba(255,255,255,.32); clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%); height:clamp(68px,9vh,92px); overflow:hidden; padding:0; position:relative; transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .25s; width:clamp(54px,5.2vw,78px); }
.hero-reel-stack button:hover { border-color:#fff; transform:translateX(-10px); }
.hero-reel-stack button.active { border-color:var(--accent); transform:translateX(-18px); }
.hero-reel-stack img { filter:grayscale(1) brightness(.55); height:100%; object-fit:cover; transition:filter .3s,transform .5s; width:100%; }
.hero-reel-stack button:hover img,.hero-reel-stack button.active img { filter:none; transform:scale(1.08); }
.hero-reel-stack span { align-items:center; background:rgba(0,0,0,.66); bottom:0; color:#fff; display:flex; font:700 9px "Space Mono",monospace; height:22px; justify-content:center; position:absolute; right:0; width:28px; }
.hero-reel-stack button.active span { background:var(--accent); color:var(--black); }
.hero-reel-stack button.active::after { animation:heroStackProgress 4.2s linear forwards; background:#fff; bottom:0; content:""; height:2px; left:0; position:absolute; transform-origin:left; width:100%; }
.hero-reel-info { backdrop-filter:blur(18px); background:rgba(8,8,8,.56); border-left:3px solid var(--accent); bottom:6%; display:flex; flex-direction:column; gap:7px; left:0; min-width:210px; padding:13px 16px; position:absolute; text-transform:uppercase; z-index:4; }
.hero-reel-info span,.hero-reel-info small { color:rgba(255,255,255,.62); font:400 9px "Space Mono",monospace; }
.hero-reel-info b { font:700 11px "Space Mono",monospace; }
.hero-new-footer { align-items:end; border-top:1px solid rgba(255,255,255,.22); display:grid; gap:30px; grid-column:1/3; grid-template-columns:minmax(260px,.9fr) 1.1fr; min-height:66px; padding-top:13px; position:relative; z-index:4; }
.hero-new-footer a { align-items:center; display:flex; font:700 11px "Space Mono",monospace; justify-content:space-between; max-width:360px; padding-bottom:8px; text-transform:uppercase; }
.hero-new-footer a b { align-items:center; background:var(--accent); color:var(--black); display:flex; font-size:16px; height:34px; justify-content:center; width:34px; }
.hero-new-footer p { color:rgba(255,255,255,.6); font:400 10px "Space Mono",monospace; margin:0 0 9px; text-align:right; }
.hero-new-footer p i { color:var(--accent); font-style:normal; margin:0 10px; }
.hero-brandline,.hero-new-copy,.hero-reel-deck,.hero-new-footer { animation:heroReveal .9s cubic-bezier(.16,1,.3,1) both; }
.hero-new-copy { animation-delay:.08s; }.hero-reel-deck { animation-delay:.16s; }.hero-new-footer { animation-delay:.24s; }
@keyframes heroReveal { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes heroStackProgress { from { transform:scaleX(0); } to { transform:scaleX(1); } }

@media (max-width:1050px) and (min-width:721px) {
  .hero-concept { grid-template-columns:minmax(330px,.92fr) minmax(390px,1.08fr); }
  .hero-brandline { min-height:110px; }.hero-brand-lockup { height:98px; width:280px; }
  .hero-new-copy h1 { font-size:clamp(4rem,7.2vw,6rem); }.hero-subcopy { font-size:15px; }
  .hero-featured-reel { height:min(62vh,570px); width:min(36vw,410px); }.hero-reel-info { min-width:175px; }.hero-reel-stack { right:-8px; }
}

@media (max-width:720px) {
  .hero { height:100svh; min-height:720px; }
  .hero-concept { display:grid; grid-template-columns:1fr; grid-template-rows:80px auto minmax(270px,1fr) 54px; padding:64px 10px 10px; }
  .hero-concept::before { height:44%; right:-25%; top:52%; width:88%; }.hero-concept::after { background-size:42px 42px; mask-image:linear-gradient(180deg,transparent 25%,#000 70%); }
  .hero-brandline { border-bottom:1px solid rgba(255,255,255,.2); grid-column:1; grid-template-columns:1fr auto; min-height:80px; }
  .hero-brand-lockup { height:78px; width:220px; }.hero-brandline p { font-size:8px; line-height:1.4; margin:0; }.hero-brandline p i { display:none; }.hero-brandline > span { display:none; }
  .hero-new-copy { align-self:start; padding:clamp(18px,3vh,28px) 4px 10px; }
  .hero-eyebrow { font-size:8px; margin-bottom:clamp(15px,2.4vh,24px); }.hero-eyebrow span { margin-right:8px; }
  .hero-new-copy h1 { font-size:clamp(3.15rem,14vw,4.6rem); line-height:.76; }.hero-new-copy h1 span:nth-child(2) { margin-left:17vw; }.hero-new-copy h1 strong { margin-left:3vw; }
  .hero-subcopy { font-size:14px; line-height:1.38; margin:clamp(13px,2vh,20px) 0 0 17vw; max-width:290px; }
  .hero-reel-deck { min-height:270px; }.hero-signal { display:none; }
  .hero-featured-reel { height:calc(100% - 12px); left:41%; top:50%; width:min(57vw,260px); }
  .hero-glass-control { bottom:9px; grid-template-columns:30px 1fr; left:8px; padding:6px; right:8px; }.hero-glass-control b { height:30px; }.hero-glass-control small { display:none; }.hero-glass-control i { font-size:8px; }
  .hero-reel-stack { gap:5px; right:2px; }.hero-reel-stack button { height:clamp(48px,7.2vh,66px); width:43px; }.hero-reel-stack button.active { transform:translateX(-8px); }.hero-reel-stack button:hover { transform:translateX(-5px); }.hero-reel-stack span { font-size:8px; height:17px; width:22px; }
  .hero-reel-info { bottom:7px; gap:4px; left:0; min-width:132px; padding:9px 8px; }.hero-reel-info span,.hero-reel-info small { font-size:7px; }.hero-reel-info small { display:none; }.hero-reel-info b { font-size:8px; }
  .hero-new-footer { grid-column:1; grid-template-columns:1fr; min-height:54px; padding-top:9px; }.hero-new-footer a { font-size:9px; max-width:none; }.hero-new-footer a b { height:28px; width:28px; }.hero-new-footer p { display:none; }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; }.takeover-media img,.studio-visual > img,.hero-featured-reel,.hero-featured-media img { transform:none!important; } }

/* Hero: the whole composition always fits the real viewport height. */
.hero { min-height:100svh; }

/* Hero: a fixed 9:16 contact sheet and one large active reel. */
.hero-cinema { height:100%; overflow:hidden; position:relative; }
.hero-cinema::after { background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 31%,rgba(0,0,0,.05) 58%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.82) 0%,transparent 45%); content:""; inset:0; pointer-events:none; position:absolute; z-index:2; }
.cinema-wall { display:grid; grid-template-columns:36.5% 63.5%; inset:-10px; overflow:hidden; position:absolute; transform:translate3d(var(--hero-back-x),var(--hero-back-y),0) scale(1.02); transition:transform .55s cubic-bezier(.16,1,.3,1); }
.cinema-teasers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-width:0; overflow:hidden; }
.cinema-teasers button { background:#0b0b0b; border:0; border-left:1px solid rgba(255,255,255,.16); min-width:0; overflow:hidden; padding:0; position:relative; }
.cinema-teasers button:first-child { border-left:0; }
.cinema-stage { border-left:1px solid rgba(255,255,255,.22); min-width:0; overflow:hidden; position:relative; }
.cinema-media { display:block; height:100%; overflow:hidden; position:relative; width:100%; }
.cinema-media::after { background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 58%,rgba(0,0,0,.34)); content:""; inset:0; pointer-events:none; position:absolute; }
.cinema-media img { height:106%; left:-3%; max-width:none; object-fit:cover; position:absolute; top:-3%; transition:filter .5s,transform .8s cubic-bezier(.16,1,.3,1); width:106%; }
.cinema-teasers img { filter:grayscale(1) brightness(.35) contrast(1.14); transform:scale(1.025); }
.cinema-teasers button:hover img,.cinema-teasers button.selected img { filter:grayscale(1) brightness(.56) contrast(1.08); transform:scale(1.075); }
.cinema-teasers button.selected::after { background:var(--accent); bottom:0; content:""; height:4px; left:0; position:absolute; right:0; z-index:4; }
.cinema-stage img { filter:saturate(1.05) brightness(.94) contrast(1.03); transform:translate3d(var(--hero-img-x),var(--hero-img-y),0) scale(1.07); }
.cinema-label { align-items:center; bottom:24px; color:#fff; display:flex; font:700 9px "Space Mono",monospace; gap:12px; left:18px; opacity:.72; position:absolute; text-transform:uppercase; white-space:nowrap; z-index:3; }
.cinema-teasers .cinema-label { bottom:22px; left:50%; transform:rotate(-90deg) translateY(-50%); transform-origin:left bottom; }
.cinema-label b { color:var(--accent); }
.cinema-label i { font-style:normal; }
.cinema-stage .cinema-label { opacity:0; }
.cinema-logo { left:clamp(16px,2.1vw,34px); pointer-events:none; position:absolute; top:0; width:clamp(360px,33vw,510px); z-index:5; }
.cinema-logo img { height:auto; max-width:100%; object-fit:contain; object-position:left top; transform:none; width:100%; }
.cinema-kicker { color:rgba(255,255,255,.86); font:700 9px "Space Mono",monospace; letter-spacing:.05em; margin:0; position:absolute; right:clamp(22px,2.5vw,42px); text-transform:uppercase; top:clamp(28px,3.2vw,48px); z-index:5; }
.cinema-kicker span { color:var(--accent); margin:0 8px; }
.cinema-orb { background:var(--accent); border-radius:50%; height:54px; position:absolute; right:-25px; top:14.5%; width:54px; z-index:5; }
.cinema-claim { bottom:clamp(56px,7vh,82px); font-family:"Archivo Black",sans-serif; font-size:clamp(4.4rem,min(7.65vw,18svh),9.25rem); left:clamp(22px,2.5vw,42px); letter-spacing:-.085em; line-height:.73; margin:0; max-width:calc(100% - clamp(44px,5vw,84px)); position:absolute; right:clamp(22px,2.5vw,42px); text-transform:uppercase; z-index:5; }
.cinema-claim span,.cinema-claim strong { display:block; max-width:100%; white-space:nowrap; }
.cinema-claim strong { color:var(--accent); font-weight:inherit; margin-left:clamp(58px,8vw,142px); }
.cinema-controls { align-items:center; backdrop-filter:blur(22px) saturate(1.3); background:rgba(5,5,5,.5); border:1px solid rgba(255,255,255,.42); bottom:16px; display:grid; gap:11px; grid-template-columns:38px auto; left:50%; max-width:310px; padding:8px 12px 8px 8px; position:absolute; transform:translateX(-50%); z-index:6; }
.cinema-controls > button { align-items:center; background:var(--accent); border:0; color:var(--black); display:flex; font-size:12px; height:38px; justify-content:center; padding:0; width:38px; }
.cinema-controls > div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.cinema-controls small { color:rgba(255,255,255,.62); font:400 8px "Space Mono",monospace; }
.cinema-controls b { font:700 9px "Space Mono",monospace; overflow:hidden; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.cinema-cta { align-items:center; bottom:16px; color:#fff; display:flex; font:700 10px "Space Mono",monospace; gap:13px; position:absolute; right:clamp(18px,2.5vw,42px); text-transform:uppercase; z-index:6; }
.cinema-cta b { align-items:center; backdrop-filter:blur(18px); background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.44); display:flex; font-size:15px; height:42px; justify-content:center; transition:background .25s,color .25s,transform .35s cubic-bezier(.16,1,.3,1); width:42px; }
.cinema-cta:hover b { background:var(--accent); color:var(--black); transform:translate(4px,4px); }
.cinema-logo,.cinema-kicker,.cinema-claim,.cinema-controls,.cinema-cta { animation:cinemaEnter .85s cubic-bezier(.16,1,.3,1) both; }
.cinema-claim { animation-delay:.1s; }
.cinema-controls,.cinema-cta { animation-delay:.2s; }
@keyframes cinemaEnter { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
.cinema-controls { animation-name:cinemaControlEnter; }
@keyframes cinemaControlEnter { from { opacity:0; transform:translate(-50%,26px); } to { opacity:1; transform:translate(-50%,0); } }

/* The index is a top-level fixed layer, so no section can paint over it. */
.side-rail { z-index:2147483001; }
.menu { isolation:isolate; visibility:hidden; z-index:2147483000; }
.menu.open { visibility:visible; }
.site-cursor { z-index:2147483002; }

/* Services: one responsive axis and one continuous opening motion. */
.service-intro { grid-template-columns:minmax(150px,.62fr) minmax(0,1.38fr); }
.services-description { max-width:850px; margin:-20px 0 40px auto; font-size:clamp(16px,1.5vw,21px); line-height:1.5; color:#d9d9d5; }
@media(max-width:760px) { .services-description { margin:0 6px 30px; } }
.service-intro h2 { font-size:clamp(4rem,6.2vw,6.25rem); max-width:100%; overflow-wrap:normal; word-break:normal; }
.service-accordion { --service-open-h:clamp(440px,30vw,500px); --service-row-h:112px; --service-split:50%; }
.service-accordion article { display:grid; grid-template-columns:var(--service-split) minmax(0,1fr); grid-template-rows:minmax(0,1fr); height:var(--service-row-h); min-height:0; overflow:hidden; position:relative; transition:height .72s cubic-bezier(.16,1,.3,1),border-color .3s; }
.service-accordion article > button { background:transparent; border:0; grid-column:1/-1; grid-row:1; height:100%; min-height:0; overflow:hidden; padding:0; position:relative; text-align:left; width:100%; z-index:1; }
.service-accordion article > button:focus-visible { outline:1px solid rgba(255,41,23,.78); outline-offset:-2px; }
.service-number { bottom:auto; font-size:clamp(7rem,9.5vw,9.6rem); left:2vw; line-height:.72; position:absolute; top:58%; transform:translateY(-28%); transition:color .25s,font-size .72s cubic-bezier(.16,1,.3,1),top .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1); white-space:nowrap; will-change:font-size,top,transform; }
.service-name { bottom:auto; font-size:clamp(1.25rem,2.05vw,2.25rem); left:var(--service-split); line-height:1.02; max-width:calc(100% - var(--service-split) - 64px); opacity:1; overflow-wrap:normal; padding:0; position:absolute; right:auto; top:50%; transform:translateY(-50%); transition:color .25s,opacity .24s,transform .55s cubic-bezier(.16,1,.3,1); white-space:normal; word-break:normal; }
.service-toggle { bottom:auto; margin:0; position:absolute; right:8px; top:50%; transform:translateY(-50%); transition:background .25s,border-color .25s,color .25s,top .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1); }
.service-detail { align-self:center; display:flex; flex-direction:column; grid-column:2; grid-row:1; justify-self:stretch; left:auto; max-width:760px; opacity:0; padding:34px 78px 34px 0; pointer-events:none; position:relative; right:auto; top:auto; transform:translateY(20px); transition:opacity .28s,transform .5s cubic-bezier(.16,1,.3,1),visibility 0s linear .5s; visibility:hidden; z-index:2; }
.service-accordion article.active { height:var(--service-open-h); min-height:0; }
.service-accordion article.active > button { height:100%; min-height:0; }
.service-accordion article.active .service-number { font-size:clamp(14rem,18vw,20rem); left:2vw; line-height:.76; top:50%; transform:translateY(-50%); }
.service-accordion article.active .service-name { opacity:0; pointer-events:none; transform:translateY(-50%) translateX(24px); }
.service-accordion article.active .service-toggle { background:var(--accent); border-color:var(--accent); color:var(--black); top:24px; transform:none; }
.service-accordion article.active .service-detail { opacity:1; pointer-events:auto; transform:none; transition-delay:.16s,.12s,0s; visibility:visible; }
.service-detail .service-detail-title { color:var(--accent); font-family:"Archivo",Arial,sans-serif; font-size:clamp(1.65rem,2.15vw,2.35rem); font-weight:400; letter-spacing:-.04em; line-height:1; margin:0 0 28px; overflow-wrap:normal; text-transform:uppercase; word-break:normal; }
.service-detail-lead { color:var(--accent)!important; font:700 14px/1.4 "Space Mono",monospace!important; letter-spacing:.02em; margin:0 0 18px!important; text-transform:uppercase; }
.service-detail p { overflow-wrap:normal; word-break:normal; }

/* Three clean steps: the key words carry the accent. */
.stories-intro h2 { max-width:1540px; }
.stories-intro h2 > span:nth-child(2) { padding-left:clamp(54px,12vw,220px); }
.stories-intro h2 > span:nth-child(3) { padding-left:clamp(108px,24vw,440px); }
.stories-intro h2 em { color:var(--accent); }

@media (max-width:1050px) and (min-width:721px) {
  .cinema-logo { width:min(37vw,430px); }
  .cinema-claim { font-size:clamp(3.9rem,min(7.8vw,18svh),6.3rem); }
  .service-accordion { --service-open-h:clamp(460px,48vw,520px); --service-split:40%; }
  .service-accordion article.active .service-number { font-size:22vw; }
  .service-accordion article.active .service-detail { padding-right:42px; }
  .service-detail p { font-size:17px; }
}

@media (max-width:900px) and (min-width:721px) {
  .stories-intro h2 { font-size:clamp(3.25rem,7.4vw,4.8rem); }
  .stories-intro h2 > span:nth-child(2) { padding-left:8vw; }
  .stories-intro h2 > span:nth-child(3) { padding-left:16vw; }
}

@media (max-width:720px) {
  .hero-cinema::after { background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.12) 62%,rgba(0,0,0,.5) 100%); }
  .cinema-wall { display:block; inset:0; transform:none; }
  .cinema-stage { border:0; inset:0; position:absolute; }
  .cinema-stage img { filter:brightness(.84) saturate(1.02); height:104%; left:-2%; top:-2%; transform:scale(1.045); width:104%; }
  .cinema-teasers { display:flex; flex-direction:column; gap:5px; overflow:visible; position:absolute; right:10px; top:92px; width:54px; z-index:4; }
  .cinema-teasers button { border:1px solid rgba(255,255,255,.38); flex:0 0 70px; }
  .cinema-teasers button.selected { border-color:var(--accent); }
  .cinema-teasers .cinema-label { bottom:3px; font-size:7px; left:4px; transform:none; }
  .cinema-teasers .cinema-label i,.cinema-stage .cinema-label { display:none; }
  .cinema-logo { left:6px; top:54px; width:min(78vw,300px); }
  .cinema-kicker { font-size:7px; left:14px; right:auto; top:220px; }
  .cinema-orb { height:38px; right:-18px; top:42%; width:38px; }
  .cinema-claim { bottom:128px; font-size:clamp(2.25rem,min(10.7vw,18svh),3.25rem); left:12px; line-height:.76; max-width:calc(100% - 20px); right:8px; }
  .cinema-claim strong { margin-left:8vw; }
  .cinema-controls { bottom:14px; left:12px; max-width:224px; padding:6px 9px 6px 6px; transform:none; }
  .cinema-controls > button { height:34px; width:34px; }
  .cinema-controls b { font-size:8px; }
  .cinema-controls small { font-size:7px; }
  .cinema-cta { bottom:14px; right:10px; }
  .cinema-cta span { display:none; }
  .cinema-cta b { height:44px; width:44px; }
  .cinema-controls { animation-name:cinemaEnter; }

  .service-intro h2 { font-size:13.5vw; }
  .service-accordion { --service-open-h:clamp(540px,148vw,610px); --service-row-h:96px; --service-split:39%; }
  .service-number { font-size:26vw; left:2px; top:62%; transform:translateY(-8%); }
  .service-name { font-size:clamp(1rem,4.7vw,1.35rem); line-height:1.05; max-width:calc(61% - 44px); }
  .service-accordion article.active .service-number { font-size:32vw; left:2px; }
  .service-detail { max-width:none; padding:30px 14px 30px 0; }
  .service-detail .service-detail-title { font-size:clamp(1.25rem,5.8vw,1.65rem); line-height:1.04; margin-bottom:22px; }
  .service-detail p { font-size:clamp(15px,4.2vw,18px); line-height:1.5; }
  .service-detail small { font-size:10px; line-height:1.5; }
  .service-detail a { font-size:10px; line-height:1.4; white-space:normal; }

  .stories-intro h2 { font-size:clamp(2rem,min(9.2vw,6.5svh),3.5rem); }
  .stories-intro { grid-template-columns:minmax(0,1fr); }
  .stories-kicker,.stories-intro h2,.stories-note { min-width:0; width:100%; }
  .stories-note > p { max-width:100%; }
  .stories-intro h2 > span:nth-child(2) { padding-left:7vw; }
  .stories-intro h2 > span:nth-child(3) { padding-left:14vw; }
}

@media (max-width:380px) {
  .cinema-logo { width:76vw; }
  .cinema-kicker { top:205px; }
  .cinema-claim { font-size:10.6vw; }
  .cinema-controls { max-width:210px; }
  .service-accordion { --service-open-h:620px; }
}

@media (max-height:720px) {
  .menu nav { margin-top:clamp(20px,5svh,36px); }
  .menu nav a { min-height:clamp(86px,calc((100svh - 170px)/4),128px); }
}

@media (max-width:720px) and (max-height:620px) {
  .menu nav { margin-top:clamp(12px,3svh,22px); }
  .menu nav a { min-height:clamp(64px,calc((100svh - 175px)/4),92px); }
  .menu nav b { font-size:clamp(2.25rem,min(13vw,9svh),4.5rem); }
  .menu > footer { bottom:10px; }
}

@media (max-width:720px) and (max-height:400px) {
  .menu { overflow-y:auto; }
  .menu > footer { bottom:auto; left:auto; margin-top:16px; padding-bottom:10px; position:relative; right:auto; }
}

@media (prefers-reduced-motion:reduce) {
  .cinema-wall,.cinema-media img { transform:none!important; }
}

/* The rail changes role after the hero: menu first, identity second. */
.rail-wordmark {
  clip-path:inset(0 100% 0 0);
  opacity:0;
  transform:rotate(90deg) translateX(-16px) scale(.96);
  transform-origin:center;
  transition:clip-path .72s cubic-bezier(.16,1,.3,1),opacity .28s ease,transform .72s cubic-bezier(.16,1,.3,1),visibility 0s linear .72s;
  visibility:hidden;
  will-change:clip-path,opacity,transform;
}
.side-rail.rail-scrolled .rail-wordmark {
  clip-path:inset(0);
  opacity:1;
  transform:rotate(90deg) translateX(0) scale(1);
  transition-delay:.08s,.08s,.08s,0s;
  visibility:visible;
}
.rail-menu-button {
  top:var(--rail-menu-hero-y,112px);
  transition:top .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1),background .25s ease;
  will-change:top,transform;
}
.side-rail.rail-scrolled .rail-menu-button { top:255px; }

@media (max-width:720px) {
  .rail-wordmark {
    clip-path:inset(0 100% 0 0);
    transform:translateX(-18px) scale(.96);
  }
  .side-rail.rail-scrolled .rail-wordmark {
    clip-path:inset(0);
    transform:translateX(0) scale(1);
  }
  .rail-menu-button {
    left:12px;
    right:auto;
    top:10px;
    transform:translateX(0);
  }
  .side-rail.rail-scrolled .rail-menu-button {
    top:10px;
    transform:translateX(calc(100vw - 68px));
  }
}

@media (prefers-reduced-motion:reduce) {
  .rail-wordmark,.rail-menu-button,.service-accordion article,.service-number,.service-name,.service-toggle,.service-detail { transition-duration:.01ms!important; }
}

/* Responsive safety pass: keep every message inside the real viewport. */
:where(h1,h2,h3,p,a,span,strong,small,li) {
  hyphens:none;
  overflow-wrap:normal;
  word-break:normal;
}

main,main > section,main > footer { max-width:100%; }

.social-output > header {
  grid-template-columns:minmax(0,.65fr) minmax(0,1.25fr) minmax(0,.7fr);
}
.social-output > header > * { min-width:0; }
.social-output > header > p:last-child { max-width:100%; }

/* Very low browser windows scroll instead of cropping the hero controls. */
.hero {
  height:max(100svh,520px);
  min-height:max(100svh,520px);
}

.cinema-claim {
  font-size:clamp(3.75rem,min(7.45vw,16.5svh),9rem);
  width:auto;
}

/* Services: closed numbers deliberately peek out; open numbers are complete. */
.service-accordion {
  --service-open-h:clamp(460px,36vw,550px);
  --service-row-h:clamp(104px,7.5vw,118px);
  --service-split:50%;
  contain:layout paint;
}

.service-accordion article,
.service-accordion article > button {
  min-width:0;
}

.service-number {
  font-size:clamp(7.4rem,10.5vw,10.75rem);
  line-height:.7;
  top:60%;
  transform:translateY(-20%);
}

.service-name {
  left:var(--service-split);
  max-width:none;
  right:58px;
  text-wrap:balance;
}

.service-accordion article.active .service-number {
  font-size:clamp(16rem,21vw,23rem);
  line-height:.76;
  top:50%;
  transform:translateY(-50%);
}

.service-detail {
  box-sizing:border-box;
  min-width:0;
  width:100%;
}

.service-detail .service-detail-title,
.service-detail-lead,
.service-detail p,
.service-detail small,
.service-detail a {
  max-width:100%;
}

@media (max-width:1050px) and (min-width:721px) {
  .hero { height:max(100svh,500px); min-height:max(100svh,500px); }
  .cinema-claim { font-size:clamp(3.55rem,min(7.35vw,16svh),6rem); }
  .service-accordion {
    --service-open-h:clamp(470px,52vw,540px);
    --service-split:42%;
  }
  .service-accordion article.active .service-number { font-size:clamp(14rem,24vw,18rem); }
  .social-output > header {
    gap:2vw;
    grid-template-columns:minmax(0,.48fr) minmax(0,1.14fr) minmax(0,.88fr);
  }
  .social-output > header > p:last-child { font-size:clamp(15px,1.8vw,18px); }
}

@media (max-width:720px) {
  .hero {
    height:max(100svh,568px);
    min-height:max(100svh,568px);
  }

  .cinema-claim {
    bottom:128px;
    font-size:clamp(2rem,min(10.25vw,8.4svh),3.15rem);
  }

  .service-accordion {
    --service-open-h:clamp(560px,145vw,620px);
    --service-row-h:96px;
    --service-split:42%;
  }

  .service-number {
    font-size:26vw;
    left:2px;
    top:64%;
    transform:translateY(-8%);
  }

  .service-name {
    font-size:clamp(1rem,4.6vw,1.3rem);
    left:var(--service-split);
    right:42px;
  }

  .service-accordion article.active .service-number {
    font-size:min(38vw,16rem);
    left:2px;
  }

  .service-detail {
    padding:28px 12px 28px 0;
  }

  .service-detail .service-detail-title {
    font-size:clamp(1.2rem,5.6vw,1.6rem);
    text-wrap:balance;
  }

  .service-detail p {
    font-size:clamp(15px,4.1vw,18px);
    line-height:1.48;
  }
}

@media (max-width:360px) {
  .service-accordion { --service-open-h:600px; --service-split:42%; }
  .service-detail { padding-right:8px; }
  .service-detail p { font-size:15px; }
}

/* Language switcher: compact on the rail, horizontal in the mobile bar. */
.rail-language {
  border:1px solid rgba(255,255,255,.28);
  display:flex;
  flex-direction:column;
  left:20px;
  padding:3px;
  position:absolute;
  top:337px;
  width:56px;
}
.rail-language button {
  background:transparent;
  border:0;
  color:rgba(255,255,255,.55);
  font:700 8px "Space Mono",monospace;
  height:23px;
  padding:0;
  transition:background .2s,color .2s;
  width:100%;
}
.rail-language button:hover,.rail-language button:focus-visible { color:#fff; }
.rail-language button:focus-visible { outline:1px solid var(--accent); outline-offset:-1px; }
.rail-language button.active { background:var(--accent); color:var(--black); }

/* Hero: one automatic, cinematic crossfade with no manual image controls. */
.cinema-wall { display:block; }
.cinema-stage { border:0; inset:0; position:absolute; }
.cinema-frame {
  inset:0;
  opacity:0;
  position:absolute;
  transition:opacity 1.15s ease;
  visibility:hidden;
}
.cinema-frame img {
  filter:saturate(1.05) brightness(.94) contrast(1.03);
  transform:translate3d(var(--hero-img-x),var(--hero-img-y),0) scale(1.065);
  transition:filter .7s,opacity 1.15s ease,transform 5.8s cubic-bezier(.16,1,.3,1);
}
.cinema-frame.active { opacity:1; visibility:visible; z-index:1; }
.cinema-frame.active img { transform:translate3d(var(--hero-img-x),var(--hero-img-y),0) scale(1.11); }
.cinema-claim { bottom:clamp(112px,13vh,142px); }
.cinema-support {
  backdrop-filter:blur(18px) saturate(1.2);
  background:rgba(5,5,5,.48);
  border-left:4px solid var(--accent);
  bottom:24px;
  color:#fff;
  font-size:clamp(1rem,1.35vw,1.28rem);
  font-weight:650;
  left:clamp(22px,2.5vw,42px);
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0;
  max-width:min(590px,55vw);
  padding:12px 15px;
  position:absolute;
  z-index:6;
}
.cinema-support strong { color:var(--accent); font-weight:800; }
.cinema-support,.cinema-cta { animation:cinemaEnter .85s .2s cubic-bezier(.16,1,.3,1) both; }

/* One commercial CTA system, adapted to dark and accent surfaces. */
.audit-cta {
  align-items:center;
  background:var(--black);
  border:1px solid var(--black);
  color:var(--white);
  display:flex;
  gap:20px;
  justify-content:space-between;
  min-height:88px;
  padding:15px 16px 15px 20px;
  text-transform:uppercase;
  transition:background .25s,color .25s,transform .35s cubic-bezier(.16,1,.3,1);
}
.audit-cta > span { display:flex; flex-direction:column; gap:6px; min-width:0; }
.audit-cta strong { font-family:"Archivo Black",sans-serif; font-size:clamp(1.08rem,1.75vw,1.75rem); letter-spacing:-.045em; line-height:.95; }
.audit-cta small { color:var(--accent); font:700 10px/1.35 "Space Mono",monospace; letter-spacing:.02em; }
.audit-cta > b { align-items:center; background:var(--accent); color:var(--black); display:flex; flex:0 0 48px; font-size:18px; height:48px; justify-content:center; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.audit-cta:hover,.audit-cta:focus-visible { background:#171717; color:#fff; transform:translateY(-3px); }
.audit-cta:hover > b,.audit-cta:focus-visible > b { transform:translate(3px,-3px); }
.audit-cta:focus-visible { outline:3px solid var(--white); outline-offset:3px; }

.service-accordion { --service-open-h:clamp(560px,40vw,620px); }
.service-detail .audit-cta {
  background:var(--accent);
  border:0;
  color:var(--black);
  display:flex;
  margin-top:20px;
  max-width:620px;
  min-height:76px;
  padding:12px 12px 12px 15px;
  white-space:normal;
  width:100%;
}
.service-detail .audit-cta strong { font-size:clamp(.98rem,1.35vw,1.25rem); }
.service-detail .audit-cta small { color:rgba(9,9,9,.68); font-size:9px; margin:0; }
.service-detail .audit-cta > b { background:var(--black); color:var(--accent); flex-basis:42px; height:42px; }
.service-detail .audit-cta:hover,.service-detail .audit-cta:focus-visible { background:#ff5749; color:var(--black); }
.service-detail .service-detail-title { margin-bottom:22px; }
.service-detail-lead { margin-bottom:14px!important; }

.about-you-copy > .audit-cta { border:1px solid var(--black); display:flex; margin-top:42px; max-width:660px; padding-bottom:15px; }
.footer { padding-bottom:86px; }
.footer > .audit-cta { border:1px solid var(--black); display:flex; margin-top:42px; max-width:760px; padding-bottom:15px; }
.footer > .footer-email { margin-top:32px; }

@media (max-width:1050px) and (min-width:721px) {
  .service-accordion { --service-open-h:clamp(600px,62vw,650px); }
  .cinema-support { max-width:54vw; }
}