
.case-video-poster b { border:1px solid white; background:#0d2748bb; border-radius:50%; display:grid; place-items:center; width:64px; height:64px; flex-shrink:0; }
.case-video-poster:hover b { background:#ed1739; }
.case-video-poster:focus-visible { outline:4px solid white; outline-offset:-6px; }
.case-page .fastcase-youtube-campaign > div > strong { pointer-events:none; bottom:12px; right:12px; width:60px; height:60px; font-size:1.2rem; }
@media (max-width:720px) { .case-video-poster > span { align-items:center; flex-direction:column; gap:8px; padding:12px; font-size:14px; }.case-video-poster b { width:46px; height:46px; } }
@media (max-height:700px) and (min-width:721px) { .case-page .case-opening > header { min-height:320px; } }
@media (max-height:550px) and (min-width:560px) and (max-width:720px) {
 .case-page .case-opening > header { min-height:215px; }
 .case-page .case-opening > section { grid-template-columns:1.2fr 1fr .8fr; padding:12px 20px; }
 .case-page .case-opening > section article { display:flex; padding:0 12px; gap:8px; align-items:start; }
 .case-page .case-opening > section article + article { border-top:0; border-left:1px solid #101c2e44; }
 .case-page .case-opening > section strong { font-size:1.75rem; }
 .case-page .case-opening > section p { font-size:14px; }
 .case-page .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) { top:18px; bottom:18px; display:block; }
 .case-page .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) > p { margin-bottom:12px; }
 .case-page .case-opening .fastcase-hero-copy h1,.case-page .case-opening h1 { font-size:2.4rem; }
 .case-page .case-opening .fastcase-hero-copy h2,.case-page .case-opening h2 { margin-top:10px; max-width:62%; font-size:1rem; }
 .case-page .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) > a { display:none; }
 .case-page .fastcase-hero-family { width:72%; right:-10%; bottom:-8%; max-height:110%; }
}
@media (max-width:720px) and (min-height:740px) {
 .case-page .fastcase-hero-family { width:120%; left:-10%; right:auto; bottom:145px; top:auto; max-height:none; }
}
@media (max-width:559px) and (max-height:739px) {
 .case-page .fastcase-hero-family { width:80%; left:36%; right:auto; top:65px; bottom:auto; max-height:none; }
 .case-page .case-opening .fastcase-hero-copy h1 { font-size:11vw; }
 .case-page .case-opening .fastcase-hero-copy h2 { max-width:100%; }
}
.case-page .fastcase-intro { padding-top:clamp(64px,7vw,110px); padding-bottom:clamp(64px,7vw,110px); }
.case-page .fastcase-hero-family { opacity:1; }
@media (max-width:720px) and (min-height:740px) { .case-page .fastcase-hero-family { max-width:none; } }
@media (max-width:380px) and (max-height:620px) { .case-page .fastcase-hero-family { top:35px; } }

/* Supplied Seoul workshop artwork, shown in full alongside the training story. */
.hh-perspective > .hh-workshop-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(32px,5vw,80px); align-items:center; }
.hh-workshop-poster { margin:0; min-width:0; }
.hh-workshop-poster a { display:block; border:0; padding:0; }
.hh-workshop-poster a:focus-visible { outline:3px solid currentColor; outline-offset:6px; }
.hh-workshop-poster img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.hh-workshop-poster figcaption { font:500 12px/1.5 "Space Mono",monospace; padding-top:14px; }
.hh-workshop-copy { min-width:0; }
.hh-workshop-copy article + article { margin-top:40px; }
@media (max-width:900px) {
 .hh-perspective > .hh-workshop-layout { grid-template-columns:minmax(0,1fr); }
 .hh-workshop-poster { width:100%; max-width:720px; }
}

/* Mobile follows the constellation through a pinned viewport; reduced motion
   keeps the fully readable, flowing layout above. */
@media (max-width:720px) and (prefers-reduced-motion:no-preference) {
  .process-scroll { height:420svh; padding:0; }
  .process-sticky { position:sticky; top:64px; height:calc(100svh - 64px); min-height:0; padding:0 14px; overflow:hidden; }
  .process-canvas { position:absolute; top:24%; left:14px; width:calc(100% - 28px); gap:64px; transform:translateY(var(--process-mobile-y,0px)) scale(var(--process-mobile-scale,1)); transform-origin:top center; transition:none; opacity:1; }
  .process-node,.process-node:nth-of-type(even),.process-node:nth-of-type(odd) { opacity:var(--show); transform:translateY(var(--shift)); }
  .process-node small { font-size:11px; }
  .process-full-picture { position:absolute; inset:24px 14px 64px; margin:0; padding:0; display:block; background:transparent; opacity:var(--process-mobile-finish,0); transform:none; }
  .process-full-picture > span { position:absolute; top:12px; left:12px; }
  .process-full-picture > strong { position:absolute; bottom:52px; left:12px; right:12px; width:auto; max-width:none; font-size:clamp(1rem,4.5vw,1.4rem); line-height:1.12; padding:10px; opacity:var(--process-mobile-caption,0); }
  .process-full-picture > small { position:absolute; bottom:12px; left:12px; right:12px; font-size:.7rem; line-height:1.3; opacity:var(--process-mobile-caption,0); }
  .process-meter { display:flex; right:20px; bottom:24px; font-size:11px; gap:12px; }
  .process-meter i { width:120px; }
}

/* A reserved video frame prevents layout shifts; the caption stays off the footage. */
.about-you-visual--video { height:auto; clip-path:none; }
.about-you-visual--video::after { display:none; }
.about-you-visual--video .pulse-video { position:relative; aspect-ratio:16/9; background:#090909; overflow:hidden; }
.about-you-visual--video .pulse-video :is(img,video) { display:block; width:100%; height:100%; object-fit:contain; filter:none; transform:none; }
.about-you-visual--video .pulse-video video { position:absolute; inset:0; opacity:0; }
.about-you-visual--video .pulse-video video.is-ready { opacity:1; }
.pulse-video button { position:absolute; top:12px; right:12px; z-index:3; display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff80; border-radius:50%; background:#090909b8; color:white; cursor:pointer; }
.pulse-video button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.about-you-visual--video figcaption { position:static; padding:16px 20px 20px; background:#090909; }
.about-you-visual--video figcaption b { font-size:clamp(1.3rem,2.8vw,2.4rem); max-width:none; line-height:1; }

/* Shared vector icons retain the same appearance on iOS and desktop. */
.leadrive-arrow { display:inline-block; flex-shrink:0; vertical-align:-.12em; overflow:visible; }
.home-video-toggle { position:absolute; right:12px; bottom:12px; z-index:4; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #ffffff90; border-radius:50%; background:#090909a8; color:#fff; cursor:pointer; }
.home-video-toggle:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.hero-playback { position:absolute; inset:0; }
.hero-video-toggle { z-index:9; bottom:20px; right:auto; left:20px; }
.work-image video { pointer-events:none; }
.work[data-reveal-ready] .stories-intro h2 i { transition-duration:.48s; }
.work[data-reveal-ready] .stories-intro h2 span:nth-child(2) i { transition-delay:.05s; }
.work[data-reveal-ready] .stories-intro h2 span:nth-child(3) i { transition-delay:.1s; }

@media (max-width:720px) {
  main[lang] .stories-intro { display:flex; flex-direction:column; justify-content:center; gap:32px; height:auto; min-height:0; padding:40px 0 48px; overflow:visible; }
  main[lang] .stories-intro h2 { font-size:clamp(1.5rem,7.8vw,3.4rem); line-height:1.13; width:100%; margin:0; padding:0; transform:none; }
  main[lang] .stories-intro h2 > span { padding:.06em 0 .14em; white-space:normal; overflow:hidden; }
  main[lang] .stories-intro h2 > span:nth-child(2) { padding-left:5%; }
  main[lang] .stories-intro h2 > span:nth-child(3) { padding-left:10%; }
  main[lang] .stories-intro h2 i { display:block; }
  .stories-kicker,.stories-note { width:100%; min-width:0; }
  .stories-note { gap:16px; align-items:center; }
  .stories-note p { max-width:62%; }
  .stories-note a { flex-shrink:0; }
  .process-heading { margin-bottom:0; }
  .hero-video-toggle { left:14px; bottom:16px; width:36px; height:36px; }
}
@media (max-width:720px) and (prefers-reduced-motion:no-preference) {
  .process-canvas { top:12%; }
}
@media (prefers-reduced-motion:reduce) {
  .work[data-reveal-ready] .stories-intro h2 i { transition:none; transform:none; }
}
@media (max-width:720px) {
  .work[data-reveal-ready] .stories-intro h2 > span { overflow:visible; }
  .work[data-reveal-ready] .stories-intro h2 i { opacity:0; transform:translateY(12px); transition:opacity .3s ease,transform .35s ease; }
  .work[data-reveal-ready].in-view .stories-intro h2 i { opacity:1; transform:none; }
  .stories-note { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
  .stories-note > p { width:100%; max-width:100%; }
  .stories-note strong { font-size:clamp(1.3rem,6vw,2rem); }
}

@media (max-width:720px) { .site-cursor { display:none!important; } }
@media (min-width:721px) and (max-width:900px) { .process-heading h2 { font-size:8vw; } }

:root { --leadrive-ui-release:20260912; }

/* Clear, prominent next steps for services and selected work. */
.service-detail .audit-cta strong {
  font-size:clamp(1.35rem,2.2vw,2rem);
  line-height:1.12;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.work-case-link {
  min-height:48px;
  padding:14px 16px;
  gap:16px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:var(--black);
  font-size:13px;
  letter-spacing:.03em;
  transition:background .2s,color .2s,transform .2s;
}
.work-case-link b { color:inherit; font-size:20px; }
.work-case-link:hover,.work-case-link:focus-visible { background:var(--black); border-color:var(--black); color:var(--white); }
.work-case-link:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@media (max-width:720px) {
  .service-detail .audit-cta strong { font-size:clamp(1.2rem,5.5vw,1.65rem); }
  .work-case-link { min-height:50px; }
}

/* Every visible brand mark links to the localized home. */
@media (max-width:720px) {
  .work-image.has-video video { filter:none; }
}

a.cinema-logo,a.footer-lockup { pointer-events:auto; cursor:pointer; }
:is(.rail-wordmark,.cinema-logo,.footer-lockup):focus-visible { outline:2px solid var(--accent); outline-offset:4px; }

/* A little breathing room around the mobile navigation logo. */
@media (max-width:720px) {
  .side-rail .rail-wordmark { left:18px; top:2px; height:60px; }
  .side-rail .rail-wordmark img { position:absolute; left:50%; top:50%; width:88%; height:auto; object-fit:contain; transform:translate(-50%,-50%); }
}

/* The mobile timeline uses cached geometry and composited movement, not animated layout. */
@media (max-width:720px) and (prefers-reduced-motion:no-preference) {
  .process-scroll.is-mobile-process-active :is(.process-canvas,.process-node,.process-link,.process-full-picture) { will-change:transform,opacity; }
  .process-scroll .process-canvas,.process-scroll .process-node,.process-scroll .process-link { transition:none; }
}

/* The complete process remains readable before JS starts or when it is blocked. */
html:not(.home-motion-ready) .process-scroll { height:auto; }
html:not(.home-motion-ready) .process-sticky { height:auto; min-height:0; position:relative; top:auto; overflow:visible; padding:28px clamp(18px,4vw,64px); }
html:not(.home-motion-ready) .process-canvas { position:relative; inset:auto; width:100%; height:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; transform:none; }
html:not(.home-motion-ready) .process-node { position:relative; inset:auto; width:auto; max-width:none; opacity:1; transform:none; padding:20px 20px 20px 36px; }
html:not(.home-motion-ready) .process-links,
html:not(.home-motion-ready) .process-universe,
html:not(.home-motion-ready) .process-full-picture,
html:not(.home-motion-ready) .process-meter { display:none; }
@media (max-width:720px) {
  html:not(.home-motion-ready) .process-canvas { grid-template-columns:1fr; }
}
/* Older mobile engines without small viewport units retain a usable hero. */
@supports not (height:100svh) {
  .hero { height:100vh; min-height:600px; }
  .process-sticky { height:100vh; }
  @media (max-width:720px) { .process-sticky { height:calc(100vh - 64px); } }
}
/* Analytics consent: same choices and controls in every public language. */
.cookie-ui { position:relative; z-index:100000; font-family:Arial,sans-serif; cursor:auto; }
.cookie-ui button,.cookie-ui a,.cookie-ui summary { cursor:pointer; }
.cookie-manage { position:fixed; bottom:12px; right:12px; border:1px solid #777; border-radius:20px; padding:9px 14px; background:#101010; color:#fff; font:600 12px/1 Arial,sans-serif; }
.cookie-panel { position:fixed; right:18px; bottom:58px; width:min(510px,calc(100vw - 36px)); max-height:calc(100dvh - 100px); overflow-y:auto; box-sizing:border-box; padding:24px; border:1px solid #777; border-radius:6px; background:#f3f3ef; color:#101010; box-shadow:0 12px 50px #0005; }
.cookie-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.cookie-panel h2 { margin:0; font:700 22px/1.15 Arial,sans-serif; letter-spacing:-.04em; text-transform:none; }
.cookie-panel p { margin:14px 0; font:400 14px/1.55 Arial,sans-serif; }
.cookie-panel button { min-height:44px; padding:10px 14px; border:1px solid #101010; border-radius:3px; background:#101010; color:#fff; font:600 14px/1.25 Arial,sans-serif; }
.cookie-heading button { min-height:30px; padding:4px 8px; background:transparent; color:#101010; font-size:12px; }
.cookie-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }
.cookie-panel details { border-top:1px solid #aaa; padding-top:14px; }
.cookie-panel summary,.cookie-panel a { font:400 13px/1.5 Arial,sans-serif; }
.cookie-panel a { color:#101010; text-decoration:underline; }
.cookie-ui :is(button,a,summary):focus-visible { outline:3px solid #dc4527; outline-offset:3px; }
@media(max-width:540px) { .cookie-panel { right:12px; width:calc(100vw - 24px); padding:20px; } .cookie-panel h2 { font-size:21px; } }


/* HUMANHOOD / Barcelona Esports — two editorial systems, one LEADRIVE portfolio. */
.case-page .folio-case { --folio-space:clamp(22px,5vw,88px); --folio-rule:rgba(255,255,255,.22); color:var(--folio-text); font-family:Arial,Helvetica,sans-serif; }
.folio-case *, .folio-next * { box-sizing:border-box; min-width:0; }
.case-page .folio-case h1,.case-page .folio-case h2,.case-page .folio-case h3 { margin:0; overflow-wrap:break-word; hyphens:none; word-break:normal; text-transform:none; text-wrap:balance; }
.case-page .folio-case h2 { font:500 clamp(2.35rem,4.8vw,5.6rem)/1.04 Arial,Helvetica,sans-serif; letter-spacing:-.065em; }
.case-page .folio-case h3 { font:600 clamp(1.25rem,1.9vw,1.9rem)/1.15 Arial,Helvetica,sans-serif; letter-spacing:-.035em; }
.case-page .folio-case p { font-size:clamp(1rem,1.15vw,1.16rem); line-height:1.65; margin:0; }
.case-page .folio-case p + p { margin-top:22px; }
.case-page .folio-case .folio-lead { font-size:clamp(1.25rem,1.65vw,1.65rem); line-height:1.5; }
.case-page .folio-case .folio-kicker,.folio-next .folio-kicker { font:500 12px/1.5 "Space Mono",monospace; letter-spacing:.055em; text-transform:uppercase; margin:0 0 30px; }
.folio-section { padding:clamp(68px,8vw,130px) var(--folio-space); }
.folio-case a { text-underline-offset:5px; }
.folio-case a:hover { text-decoration:underline; }
.folio-case a:focus-visible,.folio-next a:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.folio-case figure { margin:0; }
.folio-case img { display:block; width:100%; }
.folio-case figcaption { font:500 12px/1.5 "Space Mono",monospace; letter-spacing:.02em; padding-top:14px; }
.folio-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font:500 12px/1.5 "Space Mono",monospace; }
.folio-breadcrumb > span[aria-hidden] { opacity:.5; }
.case-page .folio-case .folio-credit { font-size:14px; line-height:1.5; border-top:1px solid var(--folio-rule); margin-top:28px; padding-top:20px; opacity:.72; }
.folio-text-link { display:inline-flex; gap:20px; align-items:center; font-size:14px; line-height:1.5; border-bottom:1px solid currentColor; padding-bottom:8px; margin-top:28px; }
.folio-round-link { width:64px; height:64px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:30px; flex-shrink:0; }
.folio-body { max-width:740px; }
.folio-ambient { position:absolute; inset:0; background:#101916; }
.folio-ambient video { display:block; width:100%; height:100%; object-fit:cover; }
.folio-ambient button { position:absolute; top:24px; right:24px; z-index:5; display:flex; gap:10px; align-items:center; padding:10px 14px; border:1px solid #ffffff77; border-radius:30px; background:#08100bcc; color:#fff; font:500 14px/1.4 Arial,sans-serif; cursor:pointer; }
.folio-ambient button:focus-visible { outline:3px solid white; outline-offset:3px; }
.folio-service-rows { border-top:1px solid var(--folio-rule); }
.folio-service-rows article { display:grid; grid-template-columns:32px 1fr; gap:24px; border-bottom:1px solid var(--folio-rule); padding:30px 0; }
.folio-service-rows article > span { font:500 12px/1.5 "Space Mono",monospace; opacity:.65; }
.folio-service-rows article p { margin-top:14px!important; max-width:640px; }

/* Stage, shadow and the green of the supplied Seoul print. */
.human-editorial { --folio-text:#f0f1e9; background:#0a1713; }
.human-editorial em { font:italic 400 1.04em/1.06 Georgia,"Times New Roman",serif; letter-spacing:-.055em; color:#b6d0b0; }
.human-cover { height:calc(100svh - 92px); min-height:600px; max-height:1100px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:30px var(--folio-space) 46px; isolation:isolate; }
.human-cover > .folio-ambient { background:transparent; }
.human-cover > .folio-ambient video { position:absolute; inset:0; z-index:-3; }
.human-cover-shade { position:absolute; inset:0; background:linear-gradient(0deg,#08140ff5 0%,#08140f77 45%,#08140f55 100%); z-index:-2; pointer-events:none; }
.human-cover .folio-ambient button { top:auto; bottom:28px; right:var(--folio-space); }
.human-cover-top { display:flex; gap:24px; justify-content:space-between; }
.human-cover-top .folio-kicker { margin:0!important; }
.case-page .human-cover-title > p { font:500 14px/1.5 "Space Mono",monospace; margin-bottom:18px; }
.case-page .human-cover h1 { font:400 clamp(3.1rem,10.3vw,12.5rem)/.96 "Archivo Black",sans-serif; letter-spacing:-.075em; white-space:nowrap; }
.human-cover-title > div { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:34px; margin-top:28px; border-top:1px solid #ffffff55; }
.case-page .human-cover h2 { font-size:clamp(1.8rem,3.3vw,3.8rem); line-height:1.1; }
.human-cover h2 em { display:block; margin-top:3px; }
.human-cover .folio-round-link { margin-right:170px; }
.human-service-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 32px; padding:25px var(--folio-space); color:#bbd0b4; border-bottom:1px solid var(--folio-rule); font:500 12px/1.5 "Space Mono",monospace; }
.human-brief { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,7vw,115px); }
.human-brief h2 em { display:block; margin-top:6px; }
.human-brief .folio-body { padding-top:48px; }
.human-diptych { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); background:#111d19; }
.human-diptych figure { position:relative; }
.human-diptych img { height:100%; min-height:500px; object-fit:cover; }
.human-diptych figcaption { position:absolute; bottom:0; left:0; right:0; display:flex; gap:20px; justify-content:space-between; padding:48px 24px 20px; background:linear-gradient(transparent,#000c); }
.human-diptych-statement { display:flex; flex-direction:column; justify-content:center; padding:50px 40px; }
.case-page .human-diptych-statement > p:not(.folio-kicker) { font-size:clamp(2rem,3.8vw,4.4rem); line-height:1.05; letter-spacing:-.06em; }
.human-diptych-statement em { display:block; }
.human-diptych-statement > span { font-size:14px; margin-top:46px; color:#a1b2a8; }
.human-workshop { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(40px,7vw,110px); background:#dce3d5; color:#11241b; --folio-rule:#11241b44; }
.human-workshop em { display:block; font-size:1.65em; color:#365a45; margin-top:8px; }
.human-workshop h2 { margin-bottom:32px!important; }
.human-workshop p:not(.folio-kicker) { max-width:530px; }
.human-workshop figure > a { display:block; box-shadow:0 24px 60px #1228192b; }
.human-workshop img { height:auto; aspect-ratio:1; object-fit:contain; }
.human-workshop figcaption { font-size:12px; }
.human-method { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(40px,6vw,100px); }
.human-method h2 { max-width:560px; }
.human-method em { display:block; margin-top:4px; }
.human-motion { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:clamp(40px,11vw,170px); align-items:center; background:#152920; }
.human-motion h2 em { display:block; }
.human-motion p:not(.folio-kicker) { margin-top:30px!important; max-width:540px; }
.human-motion figure { max-width:430px; width:100%; justify-self:center; }
.human-motion video { width:100%; aspect-ratio:9/16; object-fit:contain; display:block; background:#040705; max-height:740px; }
.human-gallery { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:20px; background:#0a1713; }
.human-gallery img { aspect-ratio:3/2; height:auto; object-fit:cover; }
.human-gallery figcaption { color:#a1b2a8; }
.human-finale { border-top:1px solid var(--folio-rule); }
.human-finale h2 { max-width:1060px; font-size:clamp(2.7rem,6.4vw,7.5rem)!important; }
.human-finale h2 em { display:block; }
.human-finale > div { margin:42px 0 0 auto; max-width:600px; }
.human-finale nav,.city-finale nav { display:flex; flex-wrap:wrap; gap:18px 28px; margin-top:26px; font-size:14px; }

/* A civic sports publication: cobalt, paper, large documentary imagery. */
.city-editorial { --folio-text:#172126; --folio-rule:#17212633; --city-blue:#183dee; background:#f7f7f2; }
.city-cover { padding:30px var(--folio-space) 0; }
.city-cover-top { display:flex; gap:24px; justify-content:space-between; border-bottom:1px solid var(--folio-rule); padding-bottom:24px; }
.city-cover-top > .folio-kicker { margin:0!important; }
.city-cover-heading { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); align-items:end; gap:40px; padding:36px 0 32px; }
.case-page .city-cover-heading > div > p { font:500 12px/1.5 "Space Mono",monospace; margin:0 0 20px; }
.case-page .city-cover-heading h1 { font:400 clamp(3.1rem,8.3vw,10rem)/.94 "Archivo Black",sans-serif; letter-spacing:-.065em; }
.city-cover-heading h1 span { color:var(--city-blue); }
.case-page .city-cover-heading > div:last-child > p { font:400 clamp(1rem,1.35vw,1.4rem)/1.5 Arial,sans-serif; margin:0; max-width:350px; }
.city-cover-heading .folio-text-link { margin-top:20px; }
.city-cover-media { height:clamp(300px,43svh,550px); position:relative; isolation:isolate; background:#172126; color:white; }
.city-cover-media .folio-ambient { background:transparent; }
.city-cover-media .folio-ambient video { position:absolute; inset:0; z-index:-1; }
.city-cover-media .folio-ambient video { object-position:50% 40%; }
.city-cover-media > p { position:absolute; bottom:0; left:0; right:0; padding:40px 24px 20px; background:linear-gradient(transparent,#000a); font:500 12px/1.5 "Space Mono",monospace!important; pointer-events:none; }
.city-cover-stamp { position:absolute; bottom:58px; right:28px; border:1px solid #fff8; padding:14px 18px; font:400 clamp(1.1rem,2.4vw,2.6rem)/.95 "Archivo Black",sans-serif; letter-spacing:-.045em; }
.city-brief { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(40px,6vw,90px); }
.city-editorial h2 span { color:var(--city-blue); display:block; }
.city-brief .folio-body { padding-top:48px; }
.city-contact-sheet { padding:0 var(--folio-space) 80px; }
.city-contact-sheet header { display:grid; grid-template-columns:1fr 1.6fr; gap:30px; align-items:end; border-top:1px solid var(--folio-rule); padding:30px 0 40px; }
.city-contact-sheet header h2 { font-size:clamp(2rem,3.5vw,4rem)!important; }
.city-contact-sheet > div { display:grid; grid-template-columns:1.4fr 1fr; gap:20px; }
.city-contact-sheet figure { display:flex; flex-direction:column; }
.city-contact-sheet .city-photo-main { grid-row:span 2; }
.city-contact-sheet img { aspect-ratio:16/10; height:auto; object-fit:cover; }
.city-contact-sheet .city-photo-main img { flex:1; min-height:0; aspect-ratio:4/5; }
.city-contact-sheet figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:14px 0 18px; border-bottom:1px solid var(--folio-rule); }
.city-contact-sheet figcaption strong { font-family:Arial,sans-serif; font-weight:500; font-size:16px; }
.case-page .folio-case .folio-media-note { font-size:12px; line-height:1.5; color:#586268; margin-top:18px; }
.city-film { background:var(--city-blue); color:#fff; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr); align-items:center; gap:clamp(40px,10vw,155px); }
.city-film h2 { font-size:clamp(3rem,6vw,7.2rem)!important; }
.city-film h2 span { color:#c8d4ff; }
.city-film p:not(.folio-kicker) { margin-top:26px!important; max-width:600px; }
.city-film figure { width:100%; max-width:410px; justify-self:center; }
.city-film video { display:block; width:100%; aspect-ratio:9/16; max-height:720px; background:#061229; object-fit:contain; }
.city-method { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(40px,6vw,100px); }
.city-method h2 { max-width:570px; }
.city-scale { background:#e5eafb; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(40px,6vw,100px); }
.city-scale-data dl { margin:0; }
.city-scale-data dl > div { display:flex; flex-direction:row-reverse; gap:28px; align-items:center; justify-content:space-between; border-top:1px solid var(--folio-rule); padding:24px 0; }
.city-scale-data dt { max-width:190px; font-size:16px; line-height:1.4; }
.city-scale-data dd { font:400 clamp(2.4rem,4.6vw,5rem)/1 "Archivo Black",sans-serif; letter-spacing:-.06em; margin:0; }
.case-page .city-scale-data > p { font-size:14px; line-height:1.55; margin-top:14px; max-width:600px; }
.city-finale { background:#172126; color:#f7f7f2; }
.city-finale h2 { max-width:1100px; font-size:clamp(2.7rem,6.4vw,7.5rem)!important; }
.city-finale h2 span { color:#a7b7ff; }
.city-finale > div { margin:40px 0 0 auto; max-width:600px; }
.folio-next { background:#080b0b; color:#f2f2eb; padding:60px clamp(22px,5vw,88px) 28px; }
.folio-next-project { display:flex; align-items:center; gap:30px; justify-content:space-between; font:400 clamp(2rem,5.6vw,6.8rem)/1 "Archivo Black",sans-serif; letter-spacing:-.06em; }
.folio-next-name { overflow-wrap:anywhere; }
.folio-next-project > span[aria-hidden] { font-family:Arial,sans-serif; flex-shrink:0; }
.folio-contact { display:flex; justify-content:space-between; gap:24px; margin-top:50px; padding-top:22px; border-top:1px solid #fff4; font-size:14px; line-height:1.5; }
.folio-contact p { margin:0; }
@media (max-width:1100px) {
 .human-cover-top,.city-cover-top { flex-direction:column; gap:12px; }
 .human-diptych { grid-template-columns:1.35fr 1fr; }
 .human-diptych-statement { padding:36px 24px; }
 .human-workshop { gap:32px; }
 .city-cover-heading { grid-template-columns:1fr; gap:28px; }
 .city-cover-heading > div:last-child { display:flex; align-items:end; justify-content:space-between; gap:30px; }
 .city-cover-heading > div:last-child > p { max-width:460px!important; }
 .city-cover-heading .folio-text-link { flex-shrink:0; }
 .city-contact-sheet > div { grid-template-columns:1fr 1fr; }
 .city-contact-sheet .city-photo-main { grid-column:1/-1; grid-row:auto; }
 .city-contact-sheet .city-photo-main img { aspect-ratio:16/9; width:100%; flex:auto; }
}
@media (max-width:800px) {
 .human-brief,.human-method,.city-brief,.city-method,.city-scale { grid-template-columns:1fr; gap:32px; }
 .human-brief .folio-body,.city-brief .folio-body { padding-top:0; }
 .human-workshop { grid-template-columns:1fr; }
 .human-workshop figure { width:100%; max-width:680px; }
 .human-workshop em { font-size:1.4em; }
 .human-motion,.city-film { gap:32px; grid-template-columns:1fr 1fr; }
 .human-diptych { grid-template-columns:1fr; }
 .human-diptych img { min-height:0; aspect-ratio:4/3; }
 .human-diptych-statement { padding:40px var(--folio-space); }
 .human-diptych-statement > span { margin-top:20px; }
 .city-contact-sheet header { grid-template-columns:1fr; gap:0; }
}
@media (max-width:720px) {
 .case-page .folio-case h2 { font-size:clamp(2.2rem,8.5vw,3.8rem); }
 .human-cover { height:calc(100svh - 64px); min-height:550px; padding:22px var(--folio-space) 85px; }
 .human-cover h1 { font-size:10.3vw!important; }
 .human-cover-title > p { font-size:12px!important; }
 .human-cover-title > div { margin-top:22px; padding-top:22px; }
 .case-page .human-cover h2 { font-size:clamp(1.8rem,7vw,2.8rem); }
 .human-cover .folio-round-link { width:44px; height:44px; font-size:24px; margin-right:0; }
 .human-cover .folio-ambient button { bottom:20px; }
 .human-service-line { display:grid; grid-template-columns:1fr 1fr; gap:16px; font-size:12px; padding-top:20px; padding-bottom:20px; }
 .human-gallery { gap:14px; padding:14px; }
 .human-gallery img { aspect-ratio:4/5; }
 .human-motion,.city-film { grid-template-columns:1fr; gap:36px; }
 .human-motion figure,.city-film figure { max-width:390px; }
 .human-motion video,.city-film video { max-height:650px; }
 .city-cover { padding-top:22px; }
 .city-cover-heading { padding:28px 0; }
 .case-page .city-cover-heading h1 { font-size:clamp(2.9rem,12vw,5.7rem); }
 .city-cover-heading > div:last-child { display:block; }
 .city-cover-media { height:370px; margin:0 calc(-1 * var(--folio-space)); }
 .city-cover-stamp { bottom:64px; right:22px; }
 .city-contact-sheet { padding-bottom:60px; }
 .city-contact-sheet > div { grid-template-columns:1fr; gap:24px; }
 .city-contact-sheet .city-photo-main { grid-column:auto; }
 .city-contact-sheet .city-photo-main img { aspect-ratio:4/3; }
 .city-contact-sheet img { aspect-ratio:4/3; }
 .city-film h2 { font-size:clamp(2.8rem,10vw,4rem)!important; }
 .human-finale h2,.city-finale h2 { font-size:clamp(2.5rem,9.4vw,4rem)!important; }
 .folio-service-rows article { grid-template-columns:24px 1fr; gap:14px; padding:26px 0; }
 .folio-contact { flex-direction:column; gap:16px; }
 .folio-next-project { font-size:clamp(2rem,9vw,4rem); }
}
@media (max-width:380px) {
 .folio-breadcrumb { font-size:12px; gap:6px; }
 .human-cover-top > .folio-kicker { font-size:12px!important; }
 .human-service-line { grid-template-columns:1fr; }
 .human-gallery { grid-template-columns:1fr; }
 .city-scale-data dl > div { gap:16px; }
 .city-scale-data dt { font-size:14px; max-width:140px; }
 .city-scale-data dd { font-size:2.25rem; }
}
@media (prefers-reduced-motion:no-preference) {
 .folio-round-link { transition:background .2s,color .2s; }
 .folio-round-link:hover { background:#b6d0b0; color:#102017; text-decoration:none; }
}
.human-teaser-link { display:flex; width:fit-content; margin-top:18px; }
.human-gallery img { object-position:center 70%; }

/* Shared LEADRIVE rhythm; case colours stay local. HUMANHOOD is intentionally untouched. */
.case-refined { --project-pad:clamp(22px,4.5vw,82px); --project-accent:#77d2e9; --project-ink:#0b1522; --project-line:#ffffff30; }
.bshcase-content.case-refined { --project-accent:#dfff19; --project-ink:#07111f; }
.bcncase-content.case-refined { --project-accent:#ff704a; --project-ink:#131414; background:var(--project-ink); color:#fff; }
.case-refined *, .case-refined *::before, .case-refined *::after { box-sizing:border-box; }
.case-page .case-refined .project-eyebrow { font:600 12px/1.5 'Space Mono',monospace; letter-spacing:.04em; text-transform:uppercase; margin:0 0 28px; color:var(--project-accent); }
.case-page .case-refined :is(.project-context,.project-work,.bcncase-film,.bcncase-scenes,.bcncase-result) h2 { font:400 clamp(2.2rem,4.1vw,4.8rem)/1.06 'Archivo Black',sans-serif; letter-spacing:-.05em; text-transform:uppercase; margin:0; overflow-wrap:break-word; text-wrap:balance; }
.case-refined .project-context h2 span,.case-refined .bcncase-film h2 span,.case-refined .bcncase-result h2 span,.case-refined .bcncase-scenes h2 span { display:block; color:var(--project-accent); }
.case-refined .project-inline-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid currentColor; padding:0 0 9px; margin-top:26px; font:600 14px/1.5 'Space Mono',monospace; text-decoration:none; }
.case-refined .project-inline-link:hover { color:var(--project-accent); }
.case-refined a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.project-context { background:var(--project-ink); color:#f6f7f4; padding:clamp(60px,7vw,112px) var(--project-pad); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px clamp(36px,6vw,100px); }
.project-context > * { min-width:0; }
.project-context-copy { padding-top:46px; }
.case-page .project-context-copy p { font:400 1.0625rem/1.65 Arial,sans-serif; max-width:670px; margin:0; }
.case-page .project-context-copy p + p { margin-top:22px; }
.case-page .project-context-copy .project-lead { font-size:clamp(1.15rem,1.5vw,1.45rem); line-height:1.55; }
.case-page .project-context-copy :is(.project-credit,.folio-credit) { font:400 14px/1.5 Arial,sans-serif; opacity:.68; border-top:1px solid var(--project-line); padding-top:20px; margin-top:28px; }
.case-page .fast-context .fastcase-memory { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:10px 0 0; padding:0; gap:14px; }
.case-page .fast-context .fastcase-memory li { color:#142940; border:0; background:#e9f3f4; padding:22px; display:grid; grid-template-columns:minmax(0,1fr) minmax(80px,1fr); gap:8px 12px; align-items:end; border-radius:2px; }
.case-page .fast-context .fastcase-memory img { grid-column:2; grid-row:1/4; width:100%; height:160px; object-fit:contain; margin:0; }
.case-page .fast-context .fastcase-memory b { grid-column:1; font:500 12px/1.45 'Space Mono',monospace; color:#173f72; align-self:start; }
.case-page .fast-context .fastcase-memory strong { grid-column:1; font-size:clamp(1.2rem,1.8vw,1.75rem); line-height:1.1; }
.case-page .fast-context .fastcase-memory span { grid-column:1; font-size:14px; line-height:1.4; margin:0; align-self:start; }
.hub-context header { position:relative; }
.hub-context-word { display:block; color:var(--project-accent); font:400 clamp(3rem,7vw,7.5rem)/.9 'Archivo Black',sans-serif; letter-spacing:-.07em; margin-top:35px; }

/* The service offer is the centre of each case, with a shared hierarchy. */
.project-work { padding:clamp(64px,7vw,112px) var(--project-pad); background:#181d20; color:#f6f7f4; }
.project-work > header { border-bottom:1px solid var(--project-line); padding-bottom:36px; }
.project-work > header > div { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:40px clamp(36px,6vw,100px); align-items:end; }
.case-page .project-work > header h2 { max-width:820px; }
.project-work > header > div > p { font:400 1.125rem/1.6 Arial,sans-serif; max-width:550px; margin:0; color:#ccd1d1; }
.project-deliverables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.project-deliverables article { display:grid; grid-template-columns:34px minmax(0,1fr); gap:16px 18px; padding:32px 0; border-bottom:1px solid var(--project-line); align-content:start; min-width:0; }
.project-item-number { grid-column:1; font:600 12px/1.5 'Space Mono',monospace; color:var(--project-accent); padding-top:4px; }
.case-page .project-deliverables h3 { grid-column:2; font:400 clamp(1.2rem,1.65vw,1.65rem)/1.2 'Archivo Black',sans-serif; letter-spacing:-.035em; margin:0; text-transform:none; overflow-wrap:break-word; }
.project-deliverables article > p { grid-column:2; font:400 1rem/1.65 Arial,sans-serif; color:#ccd1d1; margin:0; max-width:610px; }

/* Keep the Hub opening; align its type, video and figures to one grid. */
.case-page .bshcase-opening > header { display:flex; align-items:end; padding:38px var(--project-pad); }
.case-page .bshcase-opening .bshcase-hero-copy { position:relative; top:auto; right:auto; bottom:auto; left:auto; width:100%; max-width:1000px; }
.case-page .bshcase-opening .bshcase-hero-copy h1 { text-wrap:initial; }
.case-page .bshcase-opening .bshcase-hero-note { top:30px; right:var(--project-pad); }
.case-page .bshcase-opening .bshcase-hero-orbit { right:var(--project-pad); top:50%; transform:translateY(-50%); height:32vw; width:32vw; max-height:440px; max-width:440px; opacity:.65; }
.case-page .bshcase-opening > section { grid-template-columns:repeat(3,minmax(0,1fr)); padding-left:var(--project-pad); padding-right:var(--project-pad); }
.case-page .bshcase-opening > section article { align-items:flex-start; justify-content:flex-start; }
.case-page .bshcase-opening > section p { min-height:2.8em; }
.case-page .case-refined .bshcase-activation { background:#10264e; color:#fff; padding:clamp(64px,7vw,112px) var(--project-pad); gap:clamp(40px,7vw,110px); align-items:center; }
.case-page .case-refined .bshcase-activation-copy { padding:0; }
.case-page .case-refined .bshcase-activation-copy > p:first-child { color:var(--project-accent); }
.case-page .case-refined .bshcase-activation h2 { font-size:clamp(2.2rem,4.1vw,4.8rem); }
.case-page .case-refined .bshcase-activation blockquote { font-size:clamp(1.3rem,2vw,2rem); line-height:1.2; letter-spacing:-.03em; color:var(--project-accent); margin-top:30px; padding-top:25px; }
.case-page .case-refined .bshcase-reel { transform:none; padding:0; width:100%; max-width:380px; justify-self:center; }
.case-page .case-refined .bshcase-reel > div { box-shadow:none; transform:none; border-radius:0; }
.case-page .case-refined .bshcase-reel video { display:block; width:100%; height:100%; object-fit:contain; }
.case-page .case-refined .bshcase-result { padding:clamp(64px,7vw,112px) var(--project-pad); }
.case-page .case-refined .fastcase-cesar { background:#112842; }
.case-page .case-refined .fastcase-cesar-story > p:first-child { color:#77d2e9; }
.case-page .case-refined .fastcase-network { background:#e9f3f4; }
.case-page .case-refined .fastcase-network-copy { padding:clamp(56px,6vw,92px) var(--project-pad); }
.case-page .case-refined .fastcase-network h2 { font-size:clamp(2.1rem,3.7vw,4.3rem); }
.case-page .case-refined .fastcase-network-copy p:not(:first-child) { font-size:1.0625rem; margin-top:24px; }
.case-page .case-refined .fastcase-network nav { grid-template-columns:1fr 1fr; gap:16px 24px; margin-top:30px; }
.case-page .case-refined .fastcase-network nav a { font:500 14px/1.5 Arial,sans-serif; text-transform:none; }
.case-page .case-refined .fastcase-youtube-campaign { background:transparent; padding:40px var(--project-pad) 40px 0; }
.case-page .case-refined .fastcase-youtube-campaign > div { box-shadow:none; }

/* Barcelona Esports uses LEADRIVE's display typography and a warm sporting accent. */
.bcncase-hero { position:relative; isolation:isolate; color:white; min-height:620px; height:calc(100svh - 92px); padding:30px var(--project-pad) 56px; display:flex; flex-direction:column; justify-content:space-between; background:#131414; }
.bcncase-hero .folio-ambient { background:transparent; }
.bcncase-hero .folio-ambient video { position:absolute; inset:0; z-index:-3; object-position:center 40%; }
.bcncase-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,#0a1012ee 5%,#0a101288 60%,#0a101233),linear-gradient(0deg,#0a1012cc,transparent 60%); pointer-events:none; }
.bcncase-hero-top { display:flex; align-items:start; justify-content:space-between; gap:30px; padding-right:175px; }
.bcncase-hero-copy { margin-top:80px; }
.case-page .bcncase-hero h1 { font:400 clamp(3rem,7.4vw,8.8rem)/.97 'Archivo Black',sans-serif; letter-spacing:-.065em; text-transform:uppercase; margin:0; text-wrap:initial; }
.case-page .bcncase-hero h2 { font:500 clamp(1.25rem,2vw,2rem)/1.3 Arial,sans-serif; letter-spacing:-.015em; margin:28px 0 0; text-transform:none; }
.bcncase-hero h2 span { display:block; color:var(--project-accent); }
.bcncase-service-line { background:var(--project-accent); color:#141414; display:flex; flex-wrap:wrap; gap:18px 30px; justify-content:space-between; padding:25px var(--project-pad); font:600 14px/1.5 'Space Mono',monospace; }
.bcncase-film { background:#27312e; padding:clamp(64px,7vw,112px) var(--project-pad); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(40px,8vw,130px); align-items:center; }
.bcncase-film > div > p:not(.project-eyebrow) { font:400 1.125rem/1.65 Arial,sans-serif; margin:28px 0 0; max-width:620px; }
.bcncase-film figure { margin:0; width:100%; max-width:380px; justify-self:center; }
.bcncase-film video { display:block; width:100%; aspect-ratio:9/16; max-height:650px; object-fit:contain; background:#080b0b; }
.bcncase-content figcaption { font:500 12px/1.5 'Space Mono',monospace; padding-top:14px; }
.bcncase-scenes { padding:clamp(64px,7vw,112px) var(--project-pad); }
.bcncase-scenes header { display:grid; grid-template-columns:1fr 1.5fr; gap:32px; align-items:start; margin-bottom:36px; }
.bcncase-scenes > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.bcncase-scenes figure { margin:0; }
.bcncase-scenes img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; display:block; }
.bcncase-source-note { font:400 12px/1.5 Arial,sans-serif; color:#b7bdbb; margin:20px 0 0; }
.bcncase-result { background:var(--project-accent); color:#141414; padding:clamp(64px,7vw,112px) var(--project-pad); display:grid; grid-template-columns:1.2fr .8fr; gap:32px 60px; }
.case-page .bcncase-result .project-eyebrow { color:#141414; grid-column:1/-1; margin:0; }
.case-page .bcncase-result h2 span { color:#141414; }
.bcncase-result > div { align-self:end; }
.bcncase-result > div > p { font:400 1.125rem/1.65 Arial,sans-serif; margin:0; }
.bcncase-result .project-inline-link:hover { color:#141414; text-decoration:underline; }
@media (max-width:1100px) {
 .case-page .fast-context .fastcase-memory { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-page .fast-context .fastcase-memory img { height:140px; }
 .project-context { column-gap:32px; }
 .project-work > header > div { grid-template-columns:1fr; gap:28px; }
 .project-work > header > div > p { max-width:750px; }
 .case-page .case-refined .fastcase-youtube-campaign { padding:0 var(--project-pad) 60px; max-width:none; }
 .case-page .case-refined .bshcase-activation { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
 .bcncase-hero-top { flex-direction:column; gap:12px; }
 .bcncase-scenes header { grid-template-columns:1fr; gap:0; }
 .bcncase-result { grid-template-columns:1fr; }
}
@media (max-width:720px) {
 .case-page .case-refined :is(.project-context,.project-work,.bcncase-film,.bcncase-scenes,.bcncase-result) h2 { font-size:clamp(2rem,8.6vw,3.5rem); }
 .project-context { grid-template-columns:1fr; gap:28px; }
 .project-context-copy { padding-top:0; }
 .project-deliverables { grid-template-columns:1fr; }
 .project-deliverables article { grid-template-columns:26px minmax(0,1fr); gap:14px; padding:28px 0; }
 .case-page .project-deliverables h3 { font-size:1.3rem; }
 .hub-context-word { font-size:3.5rem; margin-top:24px; }
 .case-page .fast-context .fastcase-memory { grid-column:1; gap:10px; margin-top:10px; }
 .case-page .fast-context .fastcase-memory li { display:flex; flex-direction:column; align-items:stretch; padding:14px; gap:8px; }
 .case-page .fast-context .fastcase-memory b { min-height:2.9em; }
 .case-page .fast-context .fastcase-memory img { height:150px; width:100%; }
 .case-page .fast-context .fastcase-memory strong { font-size:1.4rem; }
 .case-page .bshcase-opening > header { padding:28px var(--project-pad); min-height:320px; }
 .case-page .bshcase-opening .bshcase-hero-copy { top:auto; bottom:auto; }
 .case-page .bshcase-opening .bshcase-hero-orbit { width:52vw; height:52vw; right:-12%; top:40%; opacity:.45; }
 .case-page .bshcase-opening > section { grid-template-columns:1fr; }
 .case-page .bshcase-opening > section article { grid-template-columns:124px minmax(0,1fr); align-items:center; }
 .case-page .bshcase-opening > section p { min-height:0; }
 .case-page .case-refined .bshcase-activation { grid-template-columns:1fr; gap:40px; }
 .case-page .case-refined .bshcase-reel { margin:0 auto; }
 .case-page .case-refined .fastcase-network nav { grid-template-columns:1fr; }
 .bcncase-hero { height:calc(100svh - 64px); min-height:560px; padding:24px var(--project-pad) 40px; }
 .bcncase-hero-top { padding-right:0; }
 .bcncase-hero-top .folio-breadcrumb { padding-right:72px; }
 .bcncase-hero .folio-ambient button { top:auto; bottom:42px; right:var(--project-pad); }
 .bcncase-hero .folio-ambient button span { display:none; }
 .bcncase-hero-copy { margin-top:80px; }
 .case-page .bcncase-hero h1 { font-size:clamp(2rem,8.7vw,4rem); line-height:1.02; }
 .case-page .bcncase-hero h2 { font-size:1.25rem; max-width:90%; }
 .bcncase-service-line { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-top:20px; padding-bottom:20px; }
 .bcncase-film { grid-template-columns:1fr; }
 .bcncase-scenes > div { grid-template-columns:1fr; gap:28px; }
 .bcncase-scenes img { aspect-ratio:16/10; }
 .bcncase-result { gap:28px; }
}
@media (max-height:550px) and (min-width:560px) and (max-width:720px) {
 .case-page .bshcase-opening > header { min-height:215px; padding:18px var(--project-pad); }
 .case-page .bshcase-opening > section { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .case-page .bshcase-opening > section article { display:flex; align-items:flex-start; }
}
.case-page .case-refined .bshcase-activation-copy > a { font-size:14px; line-height:1.5; margin-top:28px; }
.case-page .case-refined .bshcase-reel figcaption { margin-top:16px; }
@media (min-width:1101px) {
 .case-page .case-refined .bshcase-activation { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
}

/* Openings fill the viewport. Desktop navigation occupies the left edge, not the top. */
.case-page:is(.fast-case,.bsh-case) { --case-nav-height:0px; }
.case-page .case-refined .case-opening { height:calc(100dvh - var(--case-nav-height)); min-height:0; grid-template-rows:minmax(0,1fr) auto; }
.case-page .case-refined .case-opening > header { min-height:0; }
.case-page .case-refined .case-opening > section { align-self:end; }
.case-page .case-refined .case-opening > section strong { font-size:clamp(2rem,min(4.3vw,6dvh),4.6rem); }
.case-page .case-refined .case-opening > section { padding-top:clamp(16px,2.8dvh,26px); padding-bottom:clamp(16px,2.8dvh,26px); }
.case-page .case-refined .case-opening h1 { font-size:clamp(2.8rem,min(8vw,12dvh),8rem); }

/* A tangible, interactive service showcase. Content is server-rendered in native disclosures. */
.work-showcase { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,7vw,115px); padding:clamp(64px,7vw,112px) var(--project-pad); background:#101517; color:#f6f7f4; }
.work-showcase > * { min-width:0; }
.case-page .work-showcase h2 { font:400 clamp(2.5rem,5.2vw,6rem)/1 'Archivo Black',sans-serif; text-transform:uppercase; letter-spacing:-.055em; margin:0; text-wrap:balance; }
.case-page .work-showcase-hook { font:600 clamp(1.2rem,2vw,1.9rem)/1.2 Arial,sans-serif; letter-spacing:-.035em; color:var(--project-accent); margin:20px 0 0; }
.work-showcase-summary { font:400 1rem/1.65 Arial,sans-serif; max-width:580px; margin:20px 0 0; color:#ced3d3; }
.work-showcase figure { position:relative; margin:32px 0 0; max-width:520px; }
.work-showcase figure img { display:block; width:100%; height:340px; object-fit:cover; }
.work-showcase figcaption { font:500 12px/1.5 'Space Mono',monospace!important; margin:14px 0 0; padding:0!important; color:#b7c0bd; }
.work-showcase-character figure { max-width:420px; }
.work-showcase-character figure img { object-fit:contain; height:360px; object-position:left center; filter:drop-shadow(0 20px 32px #0006); }
.work-showcase-character .work-showcase-hook { color:#77d2e9; }
.work-showcase-services { padding-top:8px; }
.work-showcase-hint { display:flex; justify-content:space-between; gap:16px; font:500 14px/1.5 'Space Mono',monospace; color:#acb9b8; margin:0 0 26px; }
.work-showcase-services details { border-top:1px solid #ffffff40; }
.work-showcase-services details:last-child { border-bottom:1px solid #ffffff40; }
.work-showcase-services summary { cursor:pointer; list-style:none; padding:25px 0; }
.work-showcase-services summary::-webkit-details-marker { display:none; }
.case-page .work-showcase-services h3 { display:grid; grid-template-columns:26px minmax(0,1fr) 28px; gap:18px; align-items:center; margin:0; font:400 clamp(1.2rem,1.85vw,1.85rem)/1.15 'Archivo Black',sans-serif; letter-spacing:-.035em; text-transform:none; text-wrap:initial; }
.work-service-number { font:500 12px/1.5 'Space Mono',monospace; letter-spacing:0; color:var(--project-accent); }
.work-service-toggle { font:300 30px/1 Arial,sans-serif; justify-self:end; color:var(--project-accent); }
.work-showcase-services details[open] summary { color:var(--project-accent); }
.work-showcase-services details[open] .work-service-toggle { transform:rotate(45deg); }
.work-service-body { padding:0 40px 28px 44px; }
.work-service-body p { font:400 1.0625rem/1.65 Arial,sans-serif; margin:0; max-width:650px; color:#dce0dd; }
.work-showcase-services summary:hover { color:var(--project-accent); }
.work-showcase-services summary:focus-visible { outline:2px solid var(--project-accent); outline-offset:5px; }
.bshcase-content .work-showcase { background:#0a1830; }
.bshcase-content .work-showcase figure { max-width:360px; }
.bshcase-content .work-showcase figure img { height:360px; object-position:center 35%; }
.bcncase-content .work-showcase { background:#181d20; }
.case-page .case-refined .fast-network-links { display:flex; flex-wrap:wrap; gap:20px 30px; }
.case-page .case-refined .fast-network-links a { flex:0 1 auto; border-color:#173f7240; padding-bottom:12px; gap:24px; }

/* Put people and sporting innovation into the Hub story. */
.hub-feature-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#07111f; color:#f6f7f4; }
.hub-feature-intro > figure { margin:0; position:relative; min-height:580px; }
.hub-feature-intro > figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:58% center; }
.hub-feature-intro figcaption { position:absolute; bottom:24px; left:var(--project-pad); background:#07111f; color:#dfff19; padding:9px 12px; font:500 12px/1.5 'Space Mono',monospace; }
.hub-feature-intro > div { padding:clamp(56px,6vw,96px) var(--project-pad); }
.case-page .hub-feature-intro h2 { font:400 clamp(2.2rem,4vw,4.6rem)/1.06 'Archivo Black',sans-serif; letter-spacing:-.05em; text-transform:uppercase; margin:0 0 28px; }
.hub-feature-intro h2 span { display:block; color:#dfff19; }
.hub-feature-intro p:not(.project-eyebrow) { font:400 1.0625rem/1.65 Arial,sans-serif; margin:20px 0 0; }
.hub-feature-intro .project-credit { font-size:14px!important; opacity:.65; border-top:1px solid #ffffff30; padding-top:20px; margin-top:28px!important; }

/* Event branding, shown through the actual presentation, badge and live setting. */
.hub-event-case { padding:clamp(64px,7vw,112px) var(--project-pad); background:#eceeea; color:#151817; --project-accent:#343f9d; }
.hub-event-case > header { display:grid; grid-template-columns:1fr 1fr; gap:28px 64px; align-items:end; margin-bottom:40px; }
.hub-event-case > header > .project-eyebrow { grid-column:1/-1; margin:0!important; }
.case-page .hub-event-case h2 { font:400 clamp(2.4rem,4.8vw,5.6rem)/1.04 'Archivo Black',sans-serif; letter-spacing:-.05em; text-transform:uppercase; margin:0; }
.hub-event-case h2 span { display:block; }
.case-page .hub-event-case header h3 { font:600 1.4rem/1.25 Arial,sans-serif; letter-spacing:-.025em; margin:0 0 16px; }
.hub-event-case header p:not(.project-eyebrow) { font:400 1.0625rem/1.65 Arial,sans-serif; margin:0; }
.hub-event-case header .hub-event-date { font:500 12px/1.5 'Space Mono',monospace!important; margin-top:20px!important; }
.hub-branding-board { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:start; gap:30px; background:#dfe2dd; padding:clamp(18px,3vw,46px); }
.hub-branding-board figure { margin:0; }
.hub-branding-board img { display:block; width:100%; height:auto; }
.hub-branding-board figcaption { font:500 12px/1.5 'Space Mono',monospace; padding-top:14px; }
.hub-event-slide img,.hub-event-badge img { box-shadow:0 12px 30px #1112; }
.hub-event-badge { grid-column:2; grid-row:1/3; padding:12px 8%; transform:rotate(3deg); }
.hub-event-slide { grid-column:1; }
.hub-event-photocall { grid-column:1; }
.hub-event-photocall img { aspect-ratio:16/9; object-fit:cover; }
.hub-event-bela { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(30px,5vw,72px); margin-top:50px; align-items:center; }
.hub-event-bela figure { margin:0; }
.hub-event-bela img { display:block; width:100%; height:auto; }
.case-page .hub-event-bela h3 { font:400 clamp(1.5rem,2.3vw,2.8rem)/1.13 'Archivo Black',sans-serif; letter-spacing:-.04em; margin:0; }
.hub-event-bela p:not(.project-eyebrow) { font:400 1.0625rem/1.65 Arial,sans-serif; margin:24px 0 0; }

/* BCN Esports shares LEADRIVE's vermilion and lets the city appear behind the story. */
.bcncase-content.case-refined { --project-accent:var(--accent); }
.case-page .bcncase-hero h2 { font:400 clamp(2rem,4.3vw,5rem)/1.04 'Archivo Black',sans-serif; letter-spacing:-.05em; text-transform:uppercase; max-width:900px; }
.bcncase-hero h2 span { color:#ff614f; }
.bcn-context-photo { position:relative; isolation:isolate; overflow:hidden; background:#101819; }
.bcn-context-photo .bcn-city-image { position:absolute; z-index:-2; left:0; top:0; width:60%; height:100%; object-fit:cover; object-position:center 55%; opacity:.4; filter:grayscale(1); mask-image:linear-gradient(90deg,#000 30%,transparent 100%); }
.bcn-context-photo > header,.bcn-context-photo > .project-context-copy { position:relative; }
.bcn-context-photo .project-context-copy { padding:40px 0 0; }
.bcn-context-photo h2 span { color:#ff614f; }
.bcn-events { background:#111718; color:#f6f7f4; padding:clamp(64px,7vw,112px) var(--project-pad); }
.bcn-events header { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:end; gap:24px 64px; margin-bottom:40px; }
.bcn-events header .project-eyebrow { grid-column:1/-1; margin:0!important; }
.case-page .bcn-events h2 { font:400 clamp(2.3rem,4.2vw,5rem)/1.06 'Archivo Black',sans-serif; letter-spacing:-.05em; text-transform:uppercase; margin:0; }
.bcn-events h2 span { display:block; color:#ff614f; }
.bcn-events header > p:last-child { font:400 1.0625rem/1.65 Arial,sans-serif; margin:0; max-width:570px; }
.bcn-events-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:24px; }
.bcn-events-grid figure { position:relative; min-height:280px; margin:0; aspect-ratio:16/10; }
.bcn-events-grid .bcn-event-marathon { grid-row:span 2; aspect-ratio:auto; }
.bcn-events-grid img { display:block; position:absolute; inset:0; height:100%; width:100%; object-fit:cover; }
.bcn-event-marathon img { object-position:center 55%; }
.bcn-events-grid figcaption { position:absolute; left:0; right:0; bottom:0; padding:80px 24px 24px; background:linear-gradient(transparent,#000d); }
.bcn-events-grid figcaption span { font:500 12px/1.5 'Space Mono',monospace; }
.case-page .bcn-events-grid h3 { font:400 clamp(1.3rem,2vw,2.3rem)/1.13 'Archivo Black',sans-serif; letter-spacing:-.03em; margin:12px 0 0; }
@media (prefers-reduced-motion:no-preference) {
 .work-showcase-services summary,.work-service-toggle { transition:color .2s,transform .2s; }
 .work-showcase-services details[open] .work-service-body { animation:service-open .2s ease-out; }
 @keyframes service-open { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
}
@media (max-width:1100px) {
 .work-showcase { gap:36px; }
 .work-service-body { padding-right:0; }
 .hub-feature-intro > div { padding:56px 30px; }
 .hub-event-case > header { gap:28px 36px; }
 .hub-event-bela { grid-template-columns:1fr; }
 .hub-event-bela > div { max-width:750px; }
}
@media (max-width:800px) {
 .work-showcase { grid-template-columns:1fr; gap:36px; }
 .work-showcase-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); column-gap:24px; align-items:start; }
 .work-showcase-intro > .project-eyebrow,.work-showcase-intro > h2 { grid-column:1/-1; }
 .work-showcase-intro > figure { grid-column:2; grid-row:3/5; margin-top:22px; }
 .work-showcase-intro > .work-showcase-hook,.work-showcase-intro > .work-showcase-summary { grid-column:1; }
 .work-showcase figure img,.work-showcase-character figure img,.bshcase-content .work-showcase figure img { height:230px; }
 .hub-feature-intro { grid-template-columns:1fr; }
 .hub-feature-intro > figure { min-height:0; height:340px; }
 .hub-feature-intro > div { padding:50px var(--project-pad); }
 .hub-event-case > header,.bcn-events header { grid-template-columns:1fr; }
 .hub-branding-board { gap:20px; }
 .bcn-events-grid { grid-template-columns:1fr 1fr; }
 .bcn-events-grid .bcn-event-marathon { grid-row:auto; grid-column:1/-1; height:500px; }
 .bcn-events-grid figure { aspect-ratio:4/5; min-height:300px; }
}
@media (max-width:720px) {
 .case-page:is(.fast-case,.bsh-case) { --case-nav-height:64px; }
 .case-page .case-refined .case-opening h1 { font-size:clamp(2.25rem,10.4vw,4.5rem); }
 .case-page .case-refined .case-opening .fastcase-hero-copy h1 { font-size:clamp(2.6rem,12vw,5rem); }
 .case-page .case-refined .case-opening > section { padding:12px var(--project-pad); }
 .case-page .case-refined .case-opening > section strong { font-size:1.7rem; }
 .case-page .case-refined .case-opening > section article { padding:8px 0; }
 .case-page .work-showcase h2 { font-size:clamp(2.5rem,10vw,4rem); }
 .work-showcase-services h3 { column-gap:14px!important; }
 .work-service-body { padding-left:40px; }
 .case-page .hub-feature-intro h2,.case-page .hub-event-case h2,.case-page .bcn-events h2 { font-size:clamp(2.2rem,8.8vw,3.8rem); }
 .hub-event-case { padding-left:var(--project-pad); padding-right:var(--project-pad); }
 .hub-branding-board { grid-template-columns:1fr; padding:20px; }
 .hub-event-badge { grid-column:1; grid-row:auto; width:70%; margin:0 auto!important; padding:0; transform:rotate(2deg); }
 .hub-event-photocall { grid-column:1; }
 .hub-event-bela { gap:28px; }
 .case-page .bcncase-hero h2 { font-size:clamp(1.7rem,7.4vw,3rem); max-width:100%; }
 .bcn-context-photo .bcn-city-image { width:100%; height:65%; opacity:.25; mask-image:linear-gradient(#000 35%,transparent); }
 .bcn-context-photo .project-context-copy { padding-top:0; }
 .bcn-events-grid { grid-template-columns:1fr; }
 .bcn-events-grid .bcn-event-marathon { height:440px; }
 .bcn-events-grid figure { aspect-ratio:4/3; }
 .bcn-events-grid figcaption { padding:60px 20px 20px; }
}
@media (max-width:440px) {
 .work-showcase-intro { display:block; }
 .work-showcase-intro > figure { max-width:100%; margin-top:24px; }
 .work-showcase-character figure img { height:240px; object-position:center; }
 .work-showcase figure img,.bshcase-content .work-showcase figure img { height:260px; }
 .case-page .work-showcase-services h3 { font-size:1.2rem; }
}
@media (max-height:650px) and (min-width:721px) {
 .case-page .case-refined .case-opening h1 { font-size:clamp(2rem,min(6.5vw,10dvh),4.5rem); }
 .case-page .case-refined .case-opening h2 { margin-top:14px; font-size:1rem; }
 .case-page .case-refined .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) > p { margin-bottom:14px; }
 .case-page .case-refined .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) > a { margin-top:14px; }
 .case-page .case-refined .case-opening > section p { font-size:14px; margin-top:8px; }
 .case-page .case-refined .case-opening > section { padding-top:16px; padding-bottom:16px; }
 .case-page .bshcase-opening > header { padding-top:22px; padding-bottom:22px; }
 .case-page .bshcase-opening .bshcase-hero-note { display:none; }
}
@media (max-height:550px) and (min-width:560px) and (max-width:720px) {
 .case-page .case-refined .case-opening h1,.case-page .case-refined .case-opening .fastcase-hero-copy h1 { font-size:2.4rem; }
}
@media (max-width:559px) and (max-height:650px) {
 .case-page .case-refined .case-opening > section strong { font-size:1.5rem; }
 .case-page .case-refined .case-opening > section article { padding:6px 0; }
 .case-page .case-refined .case-opening .fastcase-hero-copy h1 { font-size:11vw; }
}
@media (max-height:430px) and (min-width:721px) {
 .case-page .case-refined .case-opening h1 { font-size:2rem; }
 .case-page .case-refined .case-opening h2 { margin-top:8px; line-height:1.25; }
 .case-page .case-refined .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) > a { display:none; }
 .case-page .case-refined .case-opening :is(.fastcase-hero-copy,.bshcase-hero-copy) > p { margin-bottom:8px; }
 .case-page .case-refined .case-opening .fastcase-hero-copy { bottom:18px; }
 .case-page .bshcase-opening > header { padding-top:18px; padding-bottom:18px; }
}

/* A continuous client strip; originals retain their geometry and brand lettering. */
.client-marquee { position:relative; padding:32px 0 24px; color:var(--black); background:var(--accent); border-block:1px solid #09090926; overflow:hidden; isolation:isolate; }
.client-marquee-meta { display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,80px); gap:24px; }
.client-marquee-meta p { margin:0; font:500 11px/1.5 'Space Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--black); }
.client-marquee-meta label { display:grid; place-items:center; width:32px; height:32px; border:1px solid #09090966; border-radius:50%; cursor:pointer; font:16px/1 Arial,sans-serif; }
.client-motion-toggle { position:absolute; opacity:0; width:32px; height:32px; right:clamp(24px,5vw,80px); top:32px; }
.client-motion-toggle:focus-visible ~ .client-marquee-meta label { outline:2px solid var(--black); outline-offset:4px; }
.client-resume { display:none; }
.client-motion-toggle:checked ~ .client-marquee-meta .client-pause { display:none; }
.client-motion-toggle:checked ~ .client-marquee-meta .client-resume { display:block; }
.client-marquee-window { overflow:hidden; margin:18px 0; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.client-marquee-track { display:flex; width:max-content; animation:client-drift 48s linear infinite; }
.client-marquee-track ul { display:flex; align-items:center; width:max-content; margin:0; padding:0; list-style:none; }
.client-logo { flex:0 0 235px; width:235px; height:102px; padding:15px 28px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.client-logo img { width:100%; height:100%; object-fit:contain; display:block; flex-shrink:0; }
.client-logo-filters { position:absolute; pointer-events:none; }
.client-logo.white img { filter:brightness(0) invert(1); }
.client-logo.inverse img { filter:url(#client-white-from-light); }
.client-logo.screen img { filter:url(#client-white-from-dark); }
.client-logo.color { flex-basis:150px; width:150px; padding:6px 30px; }
.client-logo.color img { filter:url(#client-fast-white); width:120px; height:120px; max-width:none; }
.client-logo.paper img { width:210px; height:210px; max-width:none; }
.client-marquee > small { display:block; margin:0; padding:0 clamp(24px,5vw,80px); color:#242424; font:400 11px/1.5 Arial,sans-serif; }
.client-motion-toggle:checked ~ .client-marquee-window .client-marquee-track,.client-marquee-window:hover .client-marquee-track { animation-play-state:paused; }
@keyframes client-drift { to { transform:translateX(-50%); } }

.fastcase-hero-family-mobile { display:none; }

/* Reels belong to the service story, at the scale of a supporting example. */
.bshcase-content .work-showcase figure.work-showcase-reel { width:100%; max-width:none; }
.work-showcase-reel video { display:block; width:100%; height:auto; max-height:none; aspect-ratio:16/9; object-fit:cover; object-position:center; background:#050a11; border:1px solid #ffffff30; border-radius:12px; }
.hub-event-case { background:#101621; color:#f5f5f3; --project-accent:#b8c5ff; }
.hub-event-case > header { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:24px 50px; margin-bottom:32px; }
.case-page .hub-event-case h2 { font-size:clamp(2rem,3.6vw,4rem); }
.hub-event-case h2 span { color:#b8c5ff; }
.hub-event-case header p:not(.project-eyebrow) { font-size:1rem; color:#c9cdd5; }
.hub-branding-board { grid-template-columns:minmax(0,1.6fr) minmax(0,.68fr) minmax(0,.68fr); align-items:center; gap:28px; padding:26px clamp(20px,3vw,44px) 32px; background:radial-gradient(ellipse at 70% 110%,#532245 0%,transparent 65%),#080c14; border:1px solid #ffffff26; border-radius:16px; }
.hub-board-label { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; font:500 10px/1.5 'Space Mono',monospace; text-transform:uppercase; letter-spacing:.12em; padding-bottom:20px; border-bottom:1px solid #ffffff25; color:#b8bdcb; }
.hub-event-slide { grid-column:1; grid-row:2; }
.hub-event-slide a { display:flex; align-items:center; background:#151b29; border:8px solid #252c3b; border-bottom-width:16px; border-radius:8px; box-shadow:0 22px 30px #0006; }
.hub-event-slide img { box-shadow:none; }
.hub-event-badge { grid-column:2; grid-row:2; padding:0 8px; transform:rotate(-5deg); position:relative; }
.hub-event-badge a { display:block; }
.hub-event-badge img { border-radius:8px; box-shadow:0 16px 24px #0008; }
.hub-event-reel { grid-column:3; grid-row:2; }
.hub-event-reel video { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; background:#000; border:4px solid #252c3b; border-radius:14px; }
.hub-branding-board figcaption { font-size:10px; color:#c6cbd6; padding-top:18px; }
.hub-event-bela { display:grid; grid-template-columns:minmax(180px,.48fr) minmax(0,1fr); gap:30px; margin-top:28px; border-top:1px solid #ffffff26; padding-top:28px; }
.hub-event-bela figure { max-width:340px; }
.hub-event-bela img { border-radius:4px; }
.case-page .hub-event-bela h3 { font:600 clamp(1.15rem,1.65vw,1.65rem)/1.25 Arial,sans-serif; letter-spacing:-.025em; }
.hub-event-bela .project-eyebrow { font-size:10px; margin:0 0 10px; }
.hub-event-bela p:not(.project-eyebrow) { font-size:.95rem; line-height:1.6; margin-top:12px; color:#c9cdd5; }
.hub-event-bela a { font-size:12px; margin-top:16px; }

/* HUMANHOOD keeps its stage-like cover and adds a quiet, bottom-aligned scorecard. */
.human-cover { height:100dvh; min-height:620px; max-height:none; padding-bottom:26px; gap:24px; }
.human-cover-title { margin-top:auto; }
.human-cover-title > div { padding-top:24px; margin-top:24px; }
.human-cover .folio-round-link { margin-right:0; }
.human-cover .folio-ambient button { top:24px; bottom:auto; right:var(--folio-space); }
.human-cover-top { padding-right:170px; }
.human-cover-kpis { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:8px 0 0; padding:22px 0 0; border-top:1px solid #ffffff55; }
.human-cover-kpis > div { display:flex; flex-direction:column-reverse; gap:8px; }
.human-cover-kpis > div + div { border-left:1px solid #ffffff40; padding-left:32px; }
.human-cover-kpis dt { font:400 14px/1.4 Arial,sans-serif; color:#d4ddd5; }
.human-cover-kpis dd { margin:0; font:400 clamp(1.8rem,3.3vw,3.7rem)/1.05 Arial,sans-serif; letter-spacing:-.045em; }
.human-service-accordion details { border-bottom:1px solid var(--folio-rule); }
.human-service-accordion details:first-child { border-top:1px solid var(--folio-rule); }
.human-service-accordion summary { display:grid; grid-template-columns:28px minmax(0,1fr) 24px; align-items:center; gap:20px; padding:28px 0; cursor:pointer; list-style:none; }
.human-service-accordion summary::-webkit-details-marker { display:none; }
.human-service-number { font:500 12px/1.4 'Space Mono',monospace; color:#adbfb3; }
.human-service-toggle { font:300 28px/1 Arial,sans-serif; }
.human-service-accordion details[open] .human-service-toggle { transform:rotate(45deg); }
.human-service-accordion details[open] h3 { color:#c4dacb; }
.human-service-accordion summary:focus-visible { outline:2px solid #c4dacb; outline-offset:5px; }
.case-page .human-service-accordion details > p { padding:0 32px 28px 48px; font-size:1.0625rem; line-height:1.65; color:#c8d0c9; }

/* One statement, two lines. The institution becomes the signature, not a second headline. */
.bcncase-hero { height:100dvh; min-height:560px; }
.bcn-hero-photo { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:65% 40%; }
.bcncase-hero-top { padding-right:0; }
.case-page .bcncase-hero-copy h1 { font:500 clamp(1rem,1.6vw,1.8rem)/1.3 'Space Mono',monospace; letter-spacing:.025em; }
.case-page .bcncase-hero-copy h2 { font:400 clamp(1.6rem,3.7vw,5rem)/1.12 'Archivo Black',sans-serif; text-transform:uppercase; letter-spacing:-.05em; max-width:none; margin-top:22px; white-space:nowrap; }
.case-page .bcncase-hero-copy h2 span { display:block; font-size:clamp(4.5rem,11.8vw,13rem); line-height:1.06; letter-spacing:-.065em; color:#ff614f; margin-top:6px; }
.bcn-context-photo { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:28px 7%; align-items:center; }
.bcn-context-photo > header { grid-column:1; grid-row:1; align-self:end; }
.bcn-context-photo > .project-context-copy { grid-column:1; grid-row:2; padding:0; align-self:start; }
.bcn-context-photo .bcn-city-portrait { grid-column:2; grid-row:1/3; margin:0; }
.bcn-context-photo .bcn-city-image { display:block; position:static; width:100%; height:auto; max-height:none; object-fit:contain; opacity:1; filter:none; mask-image:none; border-radius:2px; }
.bcn-city-portrait figcaption { font:500 11px/1.5 'Space Mono',monospace; color:#aebcb8; padding-top:14px; }
.case-page .bcn-context-photo h2 { font-size:clamp(2rem,3.7vw,4.8rem); }

@media (max-width:800px) {
 .hub-event-case > header { grid-template-columns:1fr; }
 .hub-branding-board { grid-template-columns:1fr 1fr; gap:28px 24px; }
 .hub-event-slide { grid-column:1/-1; grid-row:2; }
 .hub-event-badge { grid-column:1; grid-row:3; width:80%; justify-self:center; margin:0!important; }
 .hub-event-reel { grid-column:2; grid-row:3; width:80%; justify-self:center; }
 .hub-event-bela { grid-template-columns:1fr; gap:20px; }
 .hub-event-bela figure { max-width:none; }
 .bcn-context-photo { grid-template-columns:1fr 1fr; gap:28px; }
 .bcn-context-photo > header { grid-column:1/-1; grid-row:1; }
 .bcn-context-photo .bcn-city-portrait { grid-column:2; grid-row:2; }
}
@media (max-width:720px) {
 /* Give every mobile hero element its own row; the family fits the remaining space. */
 .case-page .case-refined .fastcase-opening > header { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) auto auto; padding:18px var(--project-pad); gap:8px; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy { display:contents; position:static; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > * { position:relative; z-index:2; margin:0; max-width:100%; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > p { grid-row:1; font-size:10px; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > h1 { grid-row:2; font-size:clamp(2rem,9vw,3.6rem); line-height:.95; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > h2 { grid-row:4; font-size:clamp(.875rem,3.9vw,1.1rem); line-height:1.3; width:100%; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > a { grid-row:5; display:inline-flex; width:max-content; font-size:12px; }
 /* Frame the original transparent PNG around the complete family, including hands and feet. */
 .case-page .case-refined .fastcase-opening .fastcase-hero-family { display:none; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-family-mobile { display:block; grid-row:3; grid-column:1; align-self:stretch; justify-self:center; position:relative; z-index:2; width:100%; height:100%; min-width:0; min-height:0; max-width:100%; max-height:100%; margin:0; overflow:hidden; }
 .case-page .fastcase-opening .fastcase-hero-note { display:none; }
 .human-cover { height:calc(100dvh - 64px); min-height:540px; padding:22px var(--folio-space); gap:20px; }
 .human-cover-top { padding-right:90px; }
 .human-cover .folio-ambient button { top:18px; bottom:auto; }
 .human-cover .folio-ambient button span { display:none; }
 .human-cover-title > div { padding-top:18px; margin-top:18px; }
 .human-cover-kpis { gap:18px; padding-top:18px; margin-top:0; }
 .human-cover-kpis > div + div { padding-left:18px; }
 .human-cover-kpis dd { font-size:clamp(1.6rem,6.3vw,2.5rem); }
 .human-cover-kpis dt { font-size:12px; }
 .human-service-accordion summary { gap:12px; grid-template-columns:22px minmax(0,1fr) 22px; padding:24px 0; }
 .case-page .human-service-accordion details > p { padding-left:34px; padding-right:0; font-size:1rem; }
 .bcncase-hero { height:calc(100dvh - 64px); min-height:470px; }
 .case-page .bcncase-hero-copy h1 { font-size:clamp(.8rem,3vw,1.2rem); }
 .case-page .bcncase-hero-copy h2 { white-space:normal; font-size:clamp(1.3rem,5.6vw,2.4rem); max-width:100%; }
 .case-page .bcncase-hero-copy h2 span { font-size:clamp(3rem,12.8vw,5.8rem); }
 .bcn-context-photo { grid-template-columns:1fr; }
 .bcn-context-photo > header { grid-column:1; grid-row:1; }
 .bcn-context-photo > .project-context-copy { grid-column:1; grid-row:2; }
 .bcn-context-photo .bcn-city-portrait { grid-column:1; grid-row:3; max-width:380px; width:100%; justify-self:center; }
 .client-logo { flex-basis:195px; width:195px; padding-inline:24px; }
 .client-logo.color { flex-basis:140px; }
}
@media (max-height:650px) and (min-width:721px) {
 .human-cover { min-height:450px; gap:16px; padding-block:20px; }
 .case-page .human-cover h1 { font-size:clamp(3rem,8vw,6rem); }
 .human-cover-title > div { padding-top:12px; margin-top:12px; }
 .case-page .human-cover h2 { font-size:1.8rem; }
 .human-cover-kpis { padding-top:14px; }
 .human-cover-kpis dd { font-size:2rem; }
 .bcncase-hero { min-height:420px; padding-bottom:30px; }
 .bcncase-hero-copy { margin-top:25px; }
 .case-page .bcncase-hero-copy h2 span { font-size:min(11.8vw,20dvh); }
}
@media (prefers-reduced-motion:reduce) {
 .client-marquee-track { animation:none; width:100%; }
 .client-marquee-track ul { width:100%; flex-wrap:wrap; justify-content:center; }
 .client-marquee-track ul[aria-hidden] { display:none; }
 .client-marquee-meta label,.client-motion-toggle { display:none; }
 .client-marquee-window { mask-image:none; }
}
@media (max-width:720px) {
 .human-cover { min-height:0; }
}
@media (min-width:560px) and (max-width:720px) and (max-height:550px) {
 .case-page .case-refined .fastcase-opening > header { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:auto auto minmax(0,1fr); gap:6px 18px; padding-block:12px; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > p { grid-column:1/-1; grid-row:1; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > h1 { grid-column:1; grid-row:2; font-size:2rem; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > h2 { grid-column:1; grid-row:3; font-size:.875rem; align-self:start; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-copy > a { display:none; }
 .case-page .case-refined .fastcase-opening .fastcase-hero-family-mobile { grid-column:2; grid-row:2/4; }
 .human-cover { padding-block:16px; gap:12px; }
 .human-cover-top { flex-direction:row; }
 .human-cover-top > .folio-kicker,.human-cover-title > p { display:none; }
 .case-page .human-cover h1 { font-size:7vw!important; }
 .case-page .human-cover h2 { font-size:1.4rem; }
 .human-cover-title > div { padding-top:10px; margin-top:10px; }
 .human-cover-kpis { padding-top:12px; }
 .human-cover-kpis dd { font-size:1.65rem; }
}

@media (min-width:441px) and (max-width:800px) {
 .bshcase-content .work-showcase-intro > figure.work-showcase-reel { grid-column:1/-1; grid-row:auto; }
}

/* Editorial additions are scoped: original home/cases keep their visual system. */
.news-eyebrow{font:700 .75rem "Space Mono",monospace;letter-spacing:.09em;text-transform:uppercase;display:block}
.news-teaser{padding:36px clamp(24px,5vw,86px);background:var(--black);color:var(--white);border-top:1px solid #353535;position:relative}
.news-teaser-heading{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center}.news-teaser h2{font-family:"Archivo Black",sans-serif;font-size:clamp(2rem,4vw,4.5rem);letter-spacing:-.03em;margin:0;line-height:1}.news-teaser h2 span,.news-index-heading h1 span,.cms-library h1 span{color:var(--accent)}
.news-teaser-heading>a{font-size:.9rem;display:flex;gap:26px;align-items:center}.news-teaser-heading>a>span{font-size:1.8rem;color:var(--accent)}.news-teaser-empty{color:#b9b9b4;font-size:1rem;line-height:1.5;margin:18px 0 0;max-width:70ch}.news-teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:34px}
.news-card{min-width:0;position:relative}.news-card>a{display:block;padding-bottom:24px;border-bottom:1px solid currentColor}.news-card-image{overflow:hidden;aspect-ratio:1.6;border-radius:2px 2px 38px 2px;background:#222}.news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.news-card a:hover img{transform:scale(1.035)}.news-card-meta{font:400 .75rem "Space Mono",monospace;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:18px 0 12px;text-transform:uppercase}.news-card h3{font-size:clamp(1.3rem,2vw,1.9rem);letter-spacing:-.035em;line-height:1.12;margin:0 0 12px;text-wrap:balance}.news-card p{font-size:1rem;line-height:1.55;max-width:55ch;margin:0;padding-right:28px}.news-card-arrow{position:absolute;bottom:24px;right:0;color:var(--accent);font-size:1.5rem;transition:transform .2s}.news-card a:hover .news-card-arrow{transform:translate(3px,-3px)}
.news-page{padding:clamp(100px,10vw,150px) clamp(24px,7vw,115px) 0 calc(96px + clamp(24px,7vw,115px));min-height:100svh;background:var(--white);color:var(--black)}.news-index-heading{margin-bottom:70px}.news-index-heading h1{font-family:"Archivo Black",sans-serif;font-size:clamp(4rem,10.5vw,11rem);line-height:1;letter-spacing:-.035em;margin:24px 0 36px;overflow-wrap:anywhere}.news-index-heading>div{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #c5c5bf;padding-top:24px}.news-index-heading h2{font-size:clamp(1.5rem,2.6vw,2.7rem);letter-spacing:-.04em;margin:0}.news-index-heading p{font-size:1.1rem;line-height:1.55;max-width:48ch;margin:0}.news-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 38px}.news-empty{padding:50px 0;border-block:1px solid #c5c5bf}.news-empty p{max-width:52ch;font-size:1.2rem;line-height:1.6}.news-empty a,.news-footer>a{display:inline-block;border-bottom:1px solid;padding-bottom:8px}.news-footer{padding:80px 0;margin-top:70px;border-top:1px solid #c5c5bf;display:flex;justify-content:space-between;align-items:center;gap:30px}.news-footer h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.03em;line-height:1.05;max-width:18ch;margin:0}.news-footer a{white-space:nowrap}
.news-back{font-size:.875rem;display:inline-block;margin-bottom:46px}.news-article-heading{max-width:1100px}.news-article-heading h1{font-family:"Archivo Black",sans-serif;font-size:clamp(2.5rem,5.6vw,6rem);letter-spacing:-.03em;line-height:1.05;margin:22px 0 26px;overflow-wrap:anywhere;text-wrap:balance}.news-deck{font-size:clamp(1.15rem,1.8vw,1.6rem);line-height:1.5;max-width:65ch}.news-byline{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.8rem;margin:26px 0 40px}.news-cover{margin:0 0 58px}.news-cover img{display:block;width:100%;height:auto;max-height:740px;object-fit:contain;background:#e9e9e3;border-radius:2px 2px 64px 2px}.news-body{max-width:740px;margin-inline:auto;overflow-wrap:anywhere}.news-body p,.news-body li{font-size:1.125rem;line-height:1.8}.news-body p{margin:0 0 26px}.news-body h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.04em;margin:48px 0 20px}.news-body h3{font-size:1.45rem;margin:32px 0 16px}.news-body ul{padding-left:24px;margin-bottom:26px}.news-body a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.menu.menu-with-news{overflow-y:auto}.menu-with-news nav{margin-top:clamp(14px,4svh,40px)}.menu-with-news nav a{min-height:clamp(60px,calc((100svh - 210px)/5),128px)}.menu-with-news nav b{font-size:clamp(2rem,min(6.4vw,9svh),6rem);line-height:1}.menu.menu-with-news>footer{position:relative;inset:auto;margin-top:28px;padding-bottom:6px}
/* The editor uses normal cursors and quiet surfaces for long writing sessions. */
body:has(.cms),body:has(.cms) a,body:has(.cms) button{cursor:auto}.cms input,.cms textarea{cursor:text}.cms button,.cms a,.cms select{cursor:pointer}body:has(.cms) .site-cursor{display:none}.cms{padding:28px clamp(18px,4vw,64px) 64px!important;background:#f3f3f0;color:#101010;min-height:100svh;font-family:"Archivo",Arial,sans-serif;--cms-border:#d1d1c9}.cms *{box-sizing:border-box}.cms button,.cms input,.cms textarea,.cms select{font:inherit}.cms button{border:1px solid #bdbdb5;background:transparent;border-radius:4px;padding:11px 16px;line-height:1.3}.cms button:disabled{opacity:.5;cursor:wait}.cms button:hover:not(:disabled){background:#e5e5df}.cms button.cms-primary{background:#101010;color:#fff;border-color:#101010}.cms button.cms-primary:hover:not(:disabled){background:#353535}.cms a:focus-visible,.cms button:focus-visible,.cms input:focus-visible,.cms textarea:focus-visible,.cms select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.cms-brand{font-family:"Archivo Black",sans-serif;font-size:1.5rem;letter-spacing:-.05em}.cms-brand span{font:500 .75rem "Space Mono",monospace;letter-spacing:0;margin-left:12px}.cms-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--cms-border)}.cms-header>div{display:flex;align-items:center;gap:24px;font-size:.875rem}.cms-header>div>span{color:#65655f}.cms h1{font-family:"Archivo Black",sans-serif;font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.03em;margin:18px 0}.cms-notices{position:sticky;top:0;z-index:20}.cms-error,.cms-success{font-size:1rem;line-height:1.5;padding:14px 18px;border-left:4px solid;margin:12px 0}.cms-error{background:#fff0ed;color:#851b12}.cms-success{background:#e4eee1;color:#234b24}.cms-library{max-width:1280px;margin:60px auto}.cms-library-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.cms-library-heading p{color:#65655f}.cms-filters{display:flex;gap:8px;margin:32px 0 20px}.cms-filters button[aria-pressed=true]{background:#101010;color:white}.cms-post-row{display:grid;grid-template-columns:110px 1fr auto!important;width:100%;text-align:left;gap:24px;align-items:center;padding:20px 0!important;border:0!important;border-top:1px solid var(--cms-border)!important;border-radius:0!important}.cms-post-row img,.cms-no-cover{width:110px;height:76px;object-fit:cover;border-radius:4px}.cms-no-cover{display:grid;place-items:center;background:#dddcd3;font:bold 1.5rem "Archivo Black",sans-serif}.cms-post-row strong{display:block;font-size:1.3rem;letter-spacing:-.025em;margin:8px 0}.cms-post-row small,.cms-status{color:#62625d;font-size:.75rem}.cms-status{font-family:"Space Mono",monospace}.cms-empty{padding:70px 32px;text-align:center;border:1px dashed #b8b8af;border-radius:8px;margin:24px 0}.cms-empty h2{font-size:2rem;letter-spacing:-.04em}.cms-empty p{max-width:52ch;margin:16px auto 28px;line-height:1.6}.cms-editor{max-width:1500px;margin:20px auto}.cms-editor-bar{display:flex;gap:20px;align-items:center;padding:16px 0 22px;position:sticky;top:0;background:#f3f3f0;z-index:10;border-bottom:1px solid var(--cms-border)}.cms-editor-bar>span{font-size:.8rem;color:#62625d}.cms-editor-bar>div{margin-left:auto;display:flex;gap:10px}.cms-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(24px,5vw,80px);padding:38px 0}.cms label{display:flex;flex-direction:column;gap:10px;font-size:.875rem;font-weight:600;margin-bottom:26px}.cms input,.cms textarea,.cms select{width:100%;min-width:0;border:1px solid #b8b8b0;border-radius:4px;padding:12px;background:#fff;color:#101010;font-size:1rem;line-height:1.5}.cms textarea{resize:vertical}.cms input:read-only{background:#e9e9e3;color:#62625d}.cms small{font-size:.75rem;font-weight:400;line-height:1.5;color:#62625d;display:block;overflow-wrap:anywhere}.cms input.cms-title-input{font-weight:600;font-size:clamp(1.3rem,2.4vw,2.2rem);letter-spacing:-.03em}.cms-content-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.cms-content-label label{margin:0}.cms-toolbar{display:flex;gap:5px;flex-wrap:wrap}.cms-toolbar button{padding:7px 9px;font-size:.8rem}.cms .cms-body-input{font-size:1.1rem;line-height:1.85;padding:22px;margin-bottom:12px}.cms-settings{min-width:0}.cms-settings>section{border-bottom:1px solid var(--cms-border);padding-bottom:26px;margin-bottom:26px}.cms-settings h2{font-size:1rem;margin:0 0 22px}.cms-settings a{font-size:.875rem;display:block;margin:15px 0}.cms-settings .cms-withdraw{margin-top:12px}.cms-upload{border:1px dashed #999;padding:18px;border-radius:4px;text-align:center}.cms-upload input{font-size:.8rem;padding:6px;border:0;background:none}.cms-cover-preview{width:100%;height:180px;object-fit:cover;margin-bottom:16px;border-radius:4px}.cms-preview{max-width:1000px;margin:50px auto}.cms-preview h1{font-size:clamp(2.5rem,5vw,5rem);overflow-wrap:anywhere}.cms-preview-cover{width:100%;height:auto;max-height:580px;object-fit:contain;margin:24px 0 40px}.cms-search-preview{background:#fff;border:1px solid var(--cms-border);padding:16px;border-radius:6px;overflow-wrap:anywhere}.cms-search-preview strong{display:block;font-size:1.15rem;color:#234f9c;line-height:1.35;margin-top:8px;font-weight:500}.cms-search-preview p{font-size:.875rem;line-height:1.5;margin-bottom:0}.cms button.cms-delete{color:#8c2118;border-color:#d7aaa5}.cms-login-box{max-width:510px;margin:9vh auto}.cms-login-box h1{font-size:clamp(3rem,5vw,4.5rem)}.cms-login-box>p{color:#62625d;line-height:1.5;margin:24px 0 32px}.cms-login-box form>button{width:100%}.cms-back{display:inline-block;font-size:.875rem;margin-top:28px}
@media(max-width:900px){.news-teaser-heading{grid-template-columns:1fr auto}.news-teaser-heading>.news-eyebrow{grid-column:1/-1}.news-teaser-grid{gap:20px}.cms-editor-grid{grid-template-columns:minmax(0,1fr) 280px;gap:24px}.cms-editor-bar{flex-wrap:wrap}.cms-editor-bar>div{flex-wrap:wrap}.news-index-grid{gap:40px 24px}}
@media(max-width:700px){.news-teaser{padding:28px 22px}.news-teaser-grid{grid-template-columns:1fr}.news-teaser-heading h2{font-size:2.5rem}.news-teaser .news-card a{display:grid;grid-template-columns:100px 1fr;gap:0 16px;padding-bottom:20px}.news-teaser .news-card-image{grid-column:1;grid-row:1/4;aspect-ratio:1;height:100px;border-radius:2px 2px 20px 2px}.news-teaser .news-card-meta{grid-column:2;font-size:.7rem;margin:0 0 9px}.news-teaser .news-card h3{grid-column:2;font-size:1.2rem;padding-right:12px}.news-teaser .news-card p{grid-column:1/-1;margin-top:14px;font-size:1rem}.news-page{padding:105px 22px 0}.news-index-heading{margin-bottom:40px}.news-index-heading h1{font-size:clamp(3.5rem,15vw,6rem)}.news-index-heading>div{grid-template-columns:1fr;gap:15px}.news-index-grid{grid-template-columns:1fr}.news-footer{display:block;padding:44px 0;margin-top:45px}.news-footer a{margin-top:28px}.news-article-heading h1{font-size:clamp(2.25rem,9vw,3.5rem)}.news-body p,.news-body li{font-size:1.05rem}.news-cover img{border-radius:2px 2px 32px 2px}.menu-with-news nav a{min-height:clamp(54px,calc((100svh - 215px)/5),110px)}.menu-with-news nav b{font-size:clamp(2rem,min(12vw,7svh),4rem)}.cms-header{flex-wrap:wrap}.cms-header>div{gap:20px;width:100%;justify-content:space-between}.cms-library{margin:36px auto}.cms-library-heading{align-items:flex-start;flex-direction:column}.cms-editor-grid{grid-template-columns:1fr;padding-top:24px}.cms-editor-bar{position:relative;gap:10px}.cms-editor-bar>div{width:100%;margin:0}.cms-editor-bar button{font-size:.8rem;padding:10px}.cms-editor-bar>span{margin-left:auto}.cms-post-row{grid-template-columns:60px 1fr auto!important;gap:12px}.cms-post-row img,.cms-no-cover{width:60px;height:65px}.cms-post-row strong{font-size:1.1rem}.cms-filters button{padding:10px 12px}.cms-empty{padding:32px 16px}.cms-empty h2{font-size:1.6rem}.cms-login-box{margin-top:10vh}.cms-brand{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.news-card img,.news-card-arrow{transition:none}}
@media(min-width:701px){
.news-teaser-grid:has(>.news-card:only-child){grid-template-columns:1fr}
.news-teaser .news-card:only-child>a{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:44px;align-content:start}
.news-teaser .news-card:only-child .news-card-image{grid-column:1;grid-row:1/4;max-height:280px;aspect-ratio:1.8}
.news-teaser .news-card:only-child .news-card-meta,.news-teaser .news-card:only-child h3,.news-teaser .news-card:only-child p{grid-column:2}
.news-teaser .news-card:only-child h3{font-size:clamp(1.6rem,2.6vw,2.6rem);max-width:28ch}
.news-teaser .news-card:only-child:not(:has(.news-card-image)) .news-card-meta,.news-teaser .news-card:only-child:not(:has(.news-card-image)) h3{grid-column:1}
.news-teaser .news-card:only-child:not(:has(.news-card-image)) p{grid-column:2;grid-row:2}
}

/* Official studio identity in both editorial sign-in and dashboard. */
.cms-brand{display:inline-flex;align-items:center;gap:20px;max-width:100%;}
.cms-brand img{display:block;width:170px;height:auto;background:#000;border-radius:3px;flex-shrink:0;}
.cms-brand span{margin-left:0;white-space:nowrap;}
.news-teaser-heading h2{min-width:0;text-wrap:balance;}
@media(max-width:700px){.cms-brand{gap:16px}.cms-brand img{width:142px}.news-teaser-heading{grid-template-columns:minmax(0,1fr) auto;gap:20px 18px}.news-teaser-heading>a{max-width:116px;gap:12px}.news-teaser-heading h2{font-size:clamp(1.9rem,8.8vw,2.5rem);line-height:1.08;}}

/* Each card enters at its own viewport position, independent of its section. */
.editorial-motion .work[data-reveal-ready] .work-item,
.editorial-motion .services[data-reveal-ready] .service-accordion {
  opacity:1; transform:none; transition:none;
}
.case-reading-progress {
  position:fixed; top:0; left:0; right:0; height:3px; z-index:999;
  background:var(--accent,#ff2917); transform:scaleX(0); transform-origin:left;
  pointer-events:none;
}
.humanhood-case .case-reading-progress { background:#c4dacb; }
@media (max-width:720px) { .case-reading-progress { top:64px; } }
.editorial-motion .hub-feature-intro > figure,
.editorial-motion .human-diptych > figure { overflow:hidden; }
@media (prefers-reduced-motion:no-preference) {
  .work-case-link .leadrive-arrow, .folio-next-project .leadrive-arrow,
  .work-showcase-services summary h3 > span:nth-child(2),
  .human-service-accordion summary h3 { transition:transform .25s ease; }
  .work-case-link:hover .leadrive-arrow, .work-case-link:focus-visible .leadrive-arrow,
  .folio-next-project:hover .leadrive-arrow { transform:translate(3px,-3px); }
  .work-showcase-services summary:hover h3 > span:nth-child(2),
  .work-showcase-services summary:focus-visible h3 > span:nth-child(2),
  .human-service-accordion summary:hover h3,
  .human-service-accordion summary:focus-visible h3 { transform:translateX(5px); }
  .work-showcase-services details[open] .work-service-number {
    color:var(--accent,#ff2917); transition:color .25s ease;
  }
  .work-case-link:active, .folio-next-project:active { transform:translateY(2px); }
}
/* Prepared offscreen, revealed once. Only opacity and transforms animate. */
@keyframes editorial-body { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) {
  .editorial-motion .motion-ready[data-motion-kind="title"],
  .editorial-motion .motion-ready[data-motion-kind="piece"],
  .editorial-motion .motion-ready[data-motion-kind="row"] {
    transition:opacity .72s ease,transform .9s cubic-bezier(.22,.61,.36,1);
  }
  .editorial-motion .motion-ready:not([data-motion-seen])[data-motion-kind="title"],
  .editorial-motion .motion-ready:not([data-motion-seen])[data-motion-kind="piece"] {
    opacity:0; transform:translate3d(0,14px,0);
  }
  .editorial-motion .motion-ready:not([data-motion-seen])[data-motion-kind="row"] {
    opacity:0; transform:translate3d(-10px,0,0);
  }
  .editorial-motion .motion-ready[data-motion-seen][data-motion-kind="title"],
  .editorial-motion .motion-ready[data-motion-seen][data-motion-kind="piece"],
  .editorial-motion .motion-ready[data-motion-seen][data-motion-kind="row"] { opacity:1; transform:none; }

  /* One editorial gesture: three lines, a slight stagger, then the underline. */
  .editorial-motion #stories-title.motion-ready > span > i {
    transition:opacity .8s ease,transform 1s cubic-bezier(.22,.61,.36,1);
  }
  .editorial-motion #stories-title.motion-ready > span:nth-child(2) > i { transition-delay:80ms; }
  .editorial-motion #stories-title.motion-ready > span:nth-child(3) > i { transition-delay:160ms; }
  .editorial-motion #stories-title.motion-ready:not([data-motion-seen]) > span > i {
    opacity:0; transform:translate3d(0,.42em,0);
  }
  .editorial-motion #stories-title[data-motion-seen] > span > i { opacity:1; transform:none; }
  .editorial-motion #stories-title em::after {
    transform:scaleX(0); transition:transform 1s cubic-bezier(.22,.61,.36,1) .3s;
  }
  .editorial-motion #stories-title > span:nth-child(3) em::after { transition-delay:.46s; }
  .editorial-motion #stories-title[data-motion-seen] em::after { transform:scaleX(1); }

  /* The connected frame stays still; only each step's text gently arrives. */
  .process-node.motion-ready > small,
  .process-node.motion-ready > h3,
  .process-node.motion-ready > p {
    transition:opacity .7s ease,transform .85s cubic-bezier(.22,.61,.36,1);
  }
  .process-node.motion-ready > h3 { transition-delay:40ms; }
  .process-node.motion-ready > p { transition-delay:80ms; }
  .process-node.motion-ready:not([data-motion-seen]) > small,
  .process-node.motion-ready:not([data-motion-seen]) > h3,
  .process-node.motion-ready:not([data-motion-seen]) > p { opacity:0; transform:translate3d(0,8px,0); }
  .process-node.motion-ready[data-motion-seen] > small,
  .process-node.motion-ready[data-motion-seen] > h3,
  .process-node.motion-ready[data-motion-seen] > p { opacity:1; transform:none; }

  .editorial-motion .work-showcase-services details[open] .work-service-body,
  .editorial-motion .human-service-accordion details[open] > p,
  .editorial-motion .service-accordion article.active .service-detail {
    animation:editorial-body .48s cubic-bezier(.22,.61,.36,1) both;
  }
}

/* Touch devices keep document flow identical before and after hydration.
   The frame encloses the entire story without a pinned, JS-scrubbed camera. */
@media (max-width:720px), (hover:none) and (pointer:coarse), (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .site-cursor { display:none!important; }
  html .process .process-scroll { height:auto; padding:6px 0 32px; }
  html .process .process-sticky {
    position:relative; inset:auto; height:auto; min-height:0; overflow:visible;
    margin:0 6px; padding:68px 18px 22px; border:2px solid var(--accent);
    background:#f1f0ec; transform:none; will-change:auto;
  }
  html .process .process-canvas {
    display:block; position:relative; inset:auto; height:auto; width:100%;
    margin:0; padding:0; transform:none; opacity:1; transition:none; will-change:auto;
  }
  html .process .process-node {
    position:relative; inset:auto; display:block; width:100%; max-width:none;
    min-height:124px; margin:0; padding:10px 0 34px 32px; box-sizing:border-box;
    text-align:left; background:none; box-shadow:none; opacity:1;
    transform:none; transition:none; will-change:auto;
  }
  html .process .process-node:last-child { min-height:0; padding-bottom:20px; }
  html .process .process-node::before {
    display:block; content:""; position:absolute; left:7px; right:auto;
    top:23px; bottom:-23px; width:1px; height:auto; background:#b3b0aa; transform:none;
  }
  html .process .process-node:last-child::before { display:none; }
  html .process .process-node .process-dot {
    position:absolute; left:0; right:auto; top:17px; width:15px; height:15px;
    border:4px solid #f1f0ec; box-shadow:0 0 0 1px var(--black);
    box-sizing:border-box; background:var(--accent); transform:none;
  }
  html .process .process-node[data-motion-seen]::before { background:var(--accent); }
  html .process .process-node small { font-size:11px; margin:0 0 7px; }
  html .process .process-node h3 { font-size:clamp(1.02rem,4.4vw,1.4rem); line-height:1.15; }
  html .process .process-node p { font-size:1rem; line-height:1.45; margin:9px 0 0; }
  html .process .process-full-picture {
    display:grid; gap:18px; position:static; inset:auto; width:auto; height:auto;
    border:0; margin:10px 0 0; padding:0; background:none;
    opacity:1; transform:none; transition:none; will-change:auto;
  }
  html .process .process-full-picture > span {
    position:absolute; top:18px; left:18px; right:auto; bottom:auto;
    width:max-content; max-width:calc(100% - 36px); padding:7px 9px;
    font:700 11px/1.3 "Space Mono",monospace; opacity:1;
  }
  html .process .process-full-picture > strong {
    position:static; width:auto; max-width:none; padding:14px; margin:0;
    font-size:clamp(1.2rem,5.2vw,1.8rem); line-height:1.12;
    text-align:left; opacity:1;
  }
  html .process .process-full-picture > small {
    position:static; width:auto; max-width:none; padding:0; margin:0;
    font-size:.75rem; line-height:1.5; opacity:1;
  }
  html .process .process-links, html .process .process-meter,
  html .process .process-universe { display:none; }
  .service-number,.service-name,.service-toggle,.service-detail,
  .service-accordion article,.service-accordion article > button { will-change:auto; transition:none; }
  .studio-visual > img { transform:none!important; }
  .stories-intro::after { transform:none; will-change:auto; }
  .case-reading-progress { display:none; }
}
@media (min-width:721px) and (prefers-reduced-motion:reduce) {
  html .process .process-sticky { max-width:860px; margin-inline:auto; }
}
@media (max-width:720px) {
  /* The header never sweeps over the logo when crossing its scroll threshold. */
  .side-rail .rail-wordmark,.side-rail.rail-scrolled .rail-wordmark {
    clip-path:none; transform:none; transition:opacity .16s ease; will-change:auto;
  }
  .side-rail .rail-menu-button,.side-rail.rail-scrolled .rail-menu-button {
    left:auto; right:12px; top:10px; transform:none; transition:background .2s; will-change:auto;
  }
}

/* One mobile decoder carries the four moving hero panels. The poster preserves
   the same collage when Safari declines autoplay (for example, low power mode). */
.hero-mobile-collage { display:none; }
@media (max-width:720px), (hover:none) and (pointer:coarse) {
  .hero::after { background:none; mix-blend-mode:normal; }
  .hero-playback .cinema-stage { display:none; }
  .hero-mobile-collage { display:block; position:absolute; inset:0; overflow:hidden; }
  .hero-mobile-collage video { display:block; width:100%; height:100%; object-fit:fill; filter:none; transform:none; }
  .hero-mobile-collage::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.16),transparent 44%,rgba(0,0,0,.3)); }
  .hero-playback .cinema-wall { inset:0; transform:none; transition:none; }
  .hero .cinema-support,.hero .cinema-cta b,.home-video-toggle { -webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(9,9,9,.82); }
  .work-image.has-video video,.folio-ambient video,.bshcase-hero-video { filter:none; }
  .work-image.has-video video { transition:none; transform:none; }
}

/* The desktop composition is intentionally untouched. */
.mobile-brand,.mobile-process-map { display:none; }
.side-rail .rail-language { z-index:30; top:clamp(150px,43vh,344px); }
.side-rail .rail-language .language-options {
  left:54px; right:auto; top:50%; bottom:auto; z-index:31;
  transform:translate(6px,-50%);
}
.side-rail .rail-language.open .language-options { transform:translate(0,-50%); }
@media (max-width:720px), (hover:none) and (pointer:coarse) {
  main, .case-page-v8 { padding-left:0; padding-top:64px; }
  .news-page { padding-inline:clamp(22px,5vw,64px); }
  .side-rail { width:100%; height:64px; bottom:auto; border-right:0; border-bottom:1px solid #ffffff24; }
  .side-rail .rail-wordmark,.hero .cinema-logo,.side-rail > nav,.side-rail .rail-talk { display:none!important; }
  .side-rail .mobile-brand {
    position:absolute; left:14px; top:7px; display:block;
    width:122px; height:50px; transform:none; animation:none; transition:none;
  }
  .mobile-brand > svg { display:block; width:100%; height:100%; }
  .mobile-brand:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
  .side-rail .rail-menu-button,.side-rail.rail-scrolled .rail-menu-button {
    top:10px; right:12px; left:auto; width:44px; height:44px; transform:none;
  }
  .side-rail .rail-language { top:10px; left:auto; right:66px; width:44px; height:44px; }
  .side-rail .rail-language .language-current { width:44px; height:44px; }
  .side-rail .rail-language .language-current,.side-rail .rail-language .language-options {
    -webkit-backdrop-filter:none; backdrop-filter:none; background:#141414;
  }
  .side-rail .rail-language .language-options { top:49px; right:0; left:auto; transform:translateY(-5px); }
  .side-rail .rail-language.open .language-options { transform:none; }
  .hero .cinema-kicker { left:16px; right:auto; top:24px; font-size:8px; animation:none; }
  .hero-mobile-collage video { object-fit:cover; }
  .menu { left:0; top:64px; transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .2s; }
  .client-marquee-window { mask-image:none; -webkit-mask-image:none; }
  .client-marquee-track { animation-play-state:paused; }
  .client-marquee[data-marquee-visible] .client-marquee-track { animation-play-state:running; }
  .client-marquee .client-motion-toggle:checked ~ .client-marquee-window .client-marquee-track { animation-play-state:paused; }

  /* The constellation unfolds in normal document flow, inside one complete frame. */
  html .process .process-scroll { height:auto; padding:6px 0 28px; }
  html .process .process-sticky {
    position:relative; inset:auto; height:auto; min-height:0; overflow:visible;
    margin:0 6px; padding:36px 16px 24px; border:1px solid var(--accent);
    border-radius:0; background:#f1f0ec; color:#090909; transform:none; will-change:auto;
  }
  html .process .process-sticky::before,html .process .process-sticky::after {
    content:""; position:absolute; width:22px; height:22px; border-color:var(--accent); pointer-events:none;
  }
  html .process .process-sticky::before { top:-2px; left:-2px; border-top:4px solid var(--accent); border-left:4px solid var(--accent); }
  html .process .process-sticky::after { bottom:-2px; right:-2px; border-bottom:4px solid var(--accent); border-right:4px solid var(--accent); }
  html .process .process-canvas {
    display:flex; flex-direction:column; align-items:stretch; gap:34px; position:relative;
    inset:auto; width:100%; height:auto; margin:0; padding:0 0 14px;
    overflow:visible; scroll-snap-type:none; touch-action:auto;
    transform:none; opacity:1; transition:none; will-change:auto;
  }
  .mobile-process-map { display:block; position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:0; }
  .constellation-guide { fill:none; stroke:#b8b5ae; stroke-width:1; }
  .constellation-connection { fill:none; stroke:var(--accent); stroke-width:1.5; stroke-dasharray:1; stroke-dashoffset:1; }
  .constellation-connection[data-connected] { stroke-dashoffset:0; }
  html .process .process-node,html .process .process-node:last-child {
    position:relative; inset:auto; display:block; flex:none;
    width:88%; max-width:none; min-width:0; min-height:0; height:auto;
    margin:0 auto 0 0; padding:0; border:0; border-radius:0;
    color:#090909; background:transparent; box-shadow:none; text-align:left;
    transform:none; opacity:1; transition:none; will-change:auto; z-index:1;
  }
  html .process .process-node:nth-of-type(even) { margin:0 0 0 auto; text-align:right; }
  html .process .process-node::before { display:none; }
  html .process .process-node .process-dot {
    display:block; position:relative; inset:auto; width:44px; height:44px; margin:0 0 12px;
    border:1px solid #090909; border-radius:50%; background:#f1f0ec; box-shadow:none; transform:none; z-index:1;
  }
  html .process .process-node:nth-of-type(even) .process-dot { margin-left:auto; }
  html .process .process-node small {
    position:absolute; top:16px; left:0; width:44px; display:block;
    color:#090909; font:700 11px/1 "Space Mono",monospace; margin:0; text-align:center; z-index:2;
  }
  html .process .process-node:nth-of-type(even) small { left:auto; right:0; }
  html .process .process-node h3 { position:relative; color:inherit; font-size:clamp(1.4rem,5.7vw,1.85rem); line-height:1.06; letter-spacing:-.05em; margin:0; padding:4px 0 5px; background:#f1f0ec; }
  html .process .process-node p { position:relative; color:#41413e; background:#f1f0ec; font-size:1rem; line-height:1.45; margin:0; padding:4px 0 8px; }
  html .process .process-node[data-constellation-seen] .process-dot { background:var(--accent); border-color:var(--accent); }
  html .process .process-full-picture { display:grid; position:static; inset:auto; gap:14px; width:auto; height:auto; margin:18px -2px 0; padding:22px 18px; border:0; background:#090909; opacity:1; transform:none; transition:none; }
  html .process .process-full-picture > span { display:block; position:static; width:max-content; max-width:100%; margin:0; padding:0; font:700 9px/1.4 "Space Mono",monospace; color:var(--accent); background:none; }
  html .process .process-full-picture > strong { position:static; width:auto; max-width:none; margin:0; padding:0; color:#f3f3f0; background:none; font-size:clamp(1.25rem,5vw,1.6rem); line-height:1.15; text-align:left; }
  html .process .process-full-picture > small { position:static; width:auto; max-width:none; margin:0; padding:0; color:#aaa; background:none; font-size:.75rem; line-height:1.5; }
  html .process .process-links,html .process .process-meter { display:none; }

}