/* V06 shared case architecture. Arimo Regular/Bold are self-hosted under the retained SIL OFL. */
.brand.identity-lockup{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;line-height:1.05}.identity-name{font-size:21px;font-weight:700;letter-spacing:.12em}.identity-title{font-size:12.5px;font-weight:700;letter-spacing:.14em;margin-top:7px}.identity-specialism{font-size:9px;font-weight:400;letter-spacing:.17em;margin-top:4px;color:var(--muted)}
.portrait-frame figcaption{padding:14px 16px;line-height:1.5}.thumb-bentley{display:grid;grid-template-columns:1.1fr 1fr;height:100%;gap:2px}.thumb-bentley img{width:100%;height:100%;object-fit:cover}.card-image img{object-position:center}.card-image img[src*="lynx-brand"]{object-fit:contain;background:#080b0e}.card-image img[src*="adidas-five"]{object-fit:contain;background:#f5f5f5}.card-image img[src*="valley-bank-exact"]{object-position:center}
/* Every case, including GC, uses the same masthead, section and grid rules. */
.case-article .case-hero .hero-photo{left:30%;width:70%;height:100%;object-fit:cover;object-position:center;background:#080c0e;filter:none}.case-article .hero-contain .hero-photo,.case-article .case-campaign .hero-photo{object-fit:contain}.case-article .case-hero .hero-copy{width:80%;max-width:1200px}.case-article .case-hero h1{font-size:clamp(56px,7.4vw,118px);max-width:850px;line-height:.94;text-wrap:balance}.case-article .case-hero .subhead{font-size:clamp(25px,3.2vw,48px);max-width:720px;text-wrap:balance}.case-article .section-top h2,.case-article .results .results-head h2{font-size:13px;font-weight:700;letter-spacing:.16em;line-height:1.5;margin:0;color:var(--accent)}.case-article .case-snapshot p{text-wrap:pretty}.case-article .case-chapter h2{text-wrap:balance}.case-article .case-chapter p{font-size:18px;text-wrap:pretty}
.case-article .results.results{display:grid;grid-template-columns:repeat(var(--result-count),minmax(0,1fr));align-items:start;gap:28px;padding-top:52px;padding-bottom:58px;background:#121c21}.case-article .results .results-head{grid-column:1/-1;border-bottom:1px solid #52616a;padding-bottom:16px;margin:0 0 2px}.case-article .results .result{display:block;min-width:0}.case-article .results .result strong{font-size:clamp(34px,4.9vw,74px);line-height:1.08;letter-spacing:-.05em;white-space:normal;overflow-wrap:normal;word-break:normal}.case-article .results .result p{font-size:14px;line-height:1.5;margin:12px 0 0;max-width:32ch;text-wrap:pretty}.case-article .results .budget-result strong{font-size:clamp(28px,3.3vw,49px)}.case-article .budget-result strong span{display:block;font-size:.48em;line-height:1.2;letter-spacing:-.01em;margin-top:8px}
.case-article .case-work .executions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:1120px;align-items:stretch;margin-inline:auto}.case-article .case-work .executions:has(>.execution:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}.case-article .case-work .execution{margin:0;min-width:0;height:100%}.case-article .execution-click{display:flex;flex-direction:column;height:100%;cursor:pointer}.case-article .case-work .execution .film-frame{aspect-ratio:var(--media-ratio,4/5);width:100%;background:#0a1013;border:1px solid #293943;display:flex;align-items:center;justify-content:center;overflow:hidden}.case-article .case-work .execution img{width:100%;height:100%;object-fit:contain!important;object-position:center;transform:none!important}.case-article .case-work .execution figcaption{padding:16px 0 0;flex:1}.case-article .execution h3{font-size:17px;line-height:1.25;text-transform:uppercase;margin:0 0 9px}.case-article .execution p{font-size:14px;line-height:1.45;max-width:none;margin:0 0 12px;color:#bcc8ce}.case-article .execution .metric{font-size:12px;line-height:1.5;color:#e4edf0;display:block}.click-hint{font-size:11px;color:var(--accent);display:block;margin-top:10px;line-height:1.6}.case-article .execution button{border:0;padding:0;background:none;cursor:zoom-in;display:block;width:100%}.case-article .execution-click:hover img,.case-article .execution-click:focus-visible img{filter:brightness(1.12)}
.case-article .strategy-evidence .evidence-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.case-article .strategy-evidence button{width:100%;padding:0;border:0;text-align:left;background:none;cursor:zoom-in;grid-column:auto;max-width:none}.case-article .strategy-evidence figure{margin:0}.case-article .strategy-evidence img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#080c0e}.case-article .strategy-evidence figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:14px;max-width:64ch}.case-article .role-section{padding-top:52px;padding-bottom:58px}.case-article .role-section>h2,.case-article .transfer>h2{margin:0;font-size:13px}.case-article .role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:28px}.case-article .role-list li{font-size:15px;line-height:1.6;text-wrap:pretty}.case-article .transfer p{font-size:clamp(25px,3vw,44px);line-height:1.16;max-width:1150px;text-wrap:pretty;margin:24px 0 0}.case-article .case-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:32px;padding-bottom:32px}.back-to-top{background:none;border:0;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.09em;min-height:44px;padding:10px 0}
.gctv-programme{background:#0b171e}.programme-intro h2{font-size:clamp(34px,4.6vw,65px);line-height:1;text-transform:uppercase;letter-spacing:-.03em;margin:20px 0}.programme-intro p{max-width:700px;color:var(--muted);font-size:18px}.source-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:5px}.campaign-links .source-link{margin-right:35px}.testimonial{background:#11232d}.testimonial blockquote{font-size:clamp(26px,3.5vw,46px);line-height:1.18;letter-spacing:-.025em;max-width:1050px;margin:0 0 24px}.testimonial p{font-size:15px}
.film-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:1120px;margin:auto}.film-player{margin:0;min-width:0}.film-player figcaption{padding-top:18px}.film-player figcaption h3{font-size:23px;margin:0;text-transform:uppercase}.film-player figcaption p{font-size:14px;color:var(--muted)}.video-consent{display:block;position:relative;padding:0;aspect-ratio:16/9;min-height:0;width:100%;max-width:none;overflow:hidden;background:#0a1013}.video-consent>img{width:100%;height:100%;object-fit:contain;filter:brightness(.7)}.film-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;background:linear-gradient(0deg,#080c0edb,transparent)}.film-overlay p{font-size:12px;color:#e4edf0}.load-video{font-size:13px;white-space:normal;line-height:1.4}.player-mount{position:absolute;inset:0}.video-consent:not([data-loaded]) .player-mount{pointer-events:none}.video-consent iframe{width:100%;height:100%;border:0}.video-consent[data-loaded]>.film-overlay,.video-consent[data-loaded]>img{visibility:hidden}.player-message{min-height:1.5em}
.animation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.animation-grid figure{margin:0;min-width:0}.animation-grid video{width:100%;aspect-ratio:4/5;object-fit:contain;display:block;background:#090d10}.animation-grid h3{font-size:15px;text-transform:uppercase;line-height:1.4}.motion-control{padding:10px 14px;border:1px solid #677780;background:none;min-height:44px;font-size:12px}.local-video{width:100%;max-height:75svh;object-fit:contain;display:block;background:#080c0e}
/* Separate rotating hero feature. Grid order is fixed in FEATURED_IDS. */
.home-hero{min-height:800px}.home-hero>.hero-copy{position:relative;z-index:2;padding-bottom:150px;pointer-events:none}.home-hero>.hero-copy a{pointer-events:auto}.featured-banner{position:absolute;inset:0;z-index:0;touch-action:pan-y}.banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;isolation:isolate}.banner-slide[data-active]{opacity:1;visibility:visible}.banner-image{position:absolute;inset:0 0 0 24%;width:76%;height:100%;object-fit:cover;object-position:center}.banner-slide:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#080c0efa 0%,#080c0ed9 34%,#080c0e22 78%),linear-gradient(0deg,#080c0ef0,transparent 40%)}.banner-caption{position:absolute;right:var(--pad);bottom:80px;z-index:1;max-width:400px;text-align:right}.banner-caption p{font-size:clamp(22px,2.6vw,38px);font-weight:700;text-transform:uppercase;line-height:1;margin:0 0 8px;text-shadow:0 2px 18px #000}.banner-controls{position:absolute;right:var(--pad);bottom:20px;z-index:4;display:flex;gap:8px;align-items:center}.banner-controls button{min-width:44px;min-height:44px;border:1px solid #657983;background:#080c0ebb;padding:8px;font-size:12px}.banner-controls button[aria-current=true]{background:var(--accent);color:#080c0e;border-color:var(--accent)}.banner-indicators{display:flex;gap:3px}.banner-indicators button{min-width:28px;padding:4px}.home-hero:after{display:none}
@media(min-width:761px){.case-article .results.results-4{grid-template-columns:repeat(4,minmax(0,1fr))}.case-article .results.results-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-article .results.results-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:761px){.case-article .results .result strong{font-size:46px}.case-article .results .budget-result strong{font-size:33px}.case-article .results .result p{font-size:13px}.case-article .case-hero .hero-copy{width:90%}.home-hero>.hero-copy{width:85%}.case-article .results.results{gap:22px}}
@media(max-width:760px){.identity-name{font-size:19px}.identity-title{font-size:11.5px;margin-top:6px}.identity-specialism{font-size:8.5px;letter-spacing:.14em}.case-article .case-hero{overflow:hidden;padding-top:300px}.case-article .case-hero .hero-photo{inset:0 0 auto;width:100%;height:340px;object-fit:cover}.case-article .hero-contain .hero-photo,.case-article .case-campaign .hero-photo{object-fit:contain}.case-article .case-hero .hero-copy{width:100%;padding:0 var(--pad) 38px}.case-article .case-hero h1{font-size:clamp(43px,10.4vw,75px)}.case-article .case-hero .subhead{font-size:clamp(24px,6.3vw,34px)}.case-article .results.results{grid-template-columns:1fr;gap:25px;padding-top:36px;padding-bottom:40px}.case-article .results .result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:center}.case-article .results .result strong{font-size:clamp(29px,8vw,48px)}.case-article .results .result p{margin:0;font-size:13px}.case-article .results .budget-result strong{font-size:30px}.case-article .case-work .executions,.case-article .case-work .executions:has(>.execution:nth-child(2):last-child){grid-template-columns:1fr;gap:32px;max-width:430px}.case-article .case-work .execution .film-frame{max-height:560px;aspect-ratio:var(--media-ratio,4/5)}.case-article .strategy-evidence .evidence-layout{grid-template-columns:1fr;gap:30px}.case-article .role-list{grid-template-columns:1fr}.case-article .case-bottom{flex-wrap:wrap;gap:8px 24px}.case-article .case-bottom>a:last-child{flex-basis:100%;justify-content:flex-end}.animation-grid{grid-template-columns:1fr 1fr;gap:18px}.video-consent{aspect-ratio:16/9;min-height:170px}.film-overlay{padding:12px}.film-overlay p{display:none}.film-overlay .load-video{font-size:11px;padding:12px;max-width:100%}.home-hero{padding-top:0;min-height:0}.home-hero>.hero-copy{padding-top:350px;padding-bottom:42px;width:100%;pointer-events:none}.featured-banner{height:340px}.banner-image{inset:0;width:100%;height:100%;object-fit:cover}.banner-slide:after{background:linear-gradient(0deg,#080c0ee8,transparent 70%)}.banner-caption{left:var(--pad);right:auto;bottom:63px;text-align:left}.banner-caption p{font-size:22px;max-width:250px}.banner-caption .text-link{font-size:11px}.banner-controls{bottom:10px;left:var(--pad);right:auto;gap:5px}.banner-controls button{background:#080c0ee8}.banner-controls [data-banner-pause]{display:none}.banner-indicators button{min-width:22px}.home-hero .hero-copy a{pointer-events:auto}}
@media(max-width:380px){.identity-name{font-size:18px}.identity-title{font-size:10.5px}.identity-specialism{font-size:8px}.animation-grid{grid-template-columns:1fr}.banner-controls{gap:3px}.banner-controls button{min-width:38px}.banner-indicators button{min-width:20px}.case-article .results .result{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}}
@media(prefers-reduced-motion:reduce){.banner-slide{transition:none}.case-article img{transition:none!important;transform:none!important}}

.pilot-module{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw}.pilot-module h2{font-size:clamp(27px,3vw,43px);line-height:1.06;letter-spacing:-.025em;text-transform:uppercase;margin:15px 0}.pilot-module p{font-size:18px;color:var(--muted);max-width:770px;margin-top:0}
@media(max-width:760px){.pilot-module{grid-template-columns:1fr;gap:25px}}
@media(min-width:761px){.case-article .case-work .executions[style*="9/16"]{max-width:960px}}

/* Static homepage is the accepted default; optional comparison shares this one page. */
.home-hero.home-static{height:min(790px,calc(100svh - 94px));min-height:690px}
.home-hero.home-static>.hero-photo{z-index:-3;left:26%;width:74%;height:100%;object-fit:cover;object-position:60% 48%}
.home-hero.home-static:after{display:block;background:linear-gradient(90deg,#080c0efa 0%,#080c0ee8 30%,#080c0e30 75%),linear-gradient(0deg,#080c0edb,transparent 40%)}
.home-hero.home-static>.hero-copy{padding-bottom:65px;pointer-events:auto}
.full-portfolio-link{margin-top:34px}
.case-article .primary-label,.case-article .case-snapshot h2,.case-article .section-top h2,.case-article .results .results-head h2,.case-article .role-section>h2,.case-article .transfer>h2{font-size:13px;font-weight:700;letter-spacing:.16em;line-height:1.5;color:var(--accent);text-transform:uppercase;margin-top:0}
.case-article .results.results-5{grid-template-columns:repeat(3,minmax(0,1fr))}
.result-context{font-size:11px;color:var(--muted);display:block;line-height:1.5;margin-top:7px}
.case-article .case-hero.hero-artwork .hero-copy{width:51%;padding-right:20px}
.case-article .case-hero.hero-artwork h1{font-size:clamp(53px,6vw,96px)}
.case-article .case-hero.hero-artwork .subhead{font-size:clamp(25px,2.7vw,42px)}
.case-article .case-hero.hero-artwork .hero-photo{left:51%;width:49%;object-fit:contain;object-position:center}
.case-article .case-hero.hero-artwork:after{background:linear-gradient(90deg,#080c0e 0%,#080c0ee8 32%,#080c0e08 66%),linear-gradient(0deg,#080c0eaa,transparent 25%)}
.campaign-reference .reference-enlarge{display:block;width:100%;padding:0;border:0;background:#080c0e;cursor:zoom-in}
.campaign-reference img{width:100%;height:auto;object-fit:contain;max-height:580px}
.recognition ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.recognition li{border-top:1px solid var(--line);padding-top:20px;font-size:17px;line-height:1.5}
.card-image img[src*="sure-maximum-official"]{object-fit:contain;background:#000}
@media(max-width:1100px) and (min-width:761px){.home-hero.home-static>.hero-copy{width:88%}.case-article .case-hero.hero-artwork h1{font-size:65px}}
@media(max-width:760px){
 .home-hero.home-static{display:block;height:auto;min-height:0;padding-top:300px;overflow:hidden}
 .home-hero.home-static>.hero-photo{left:0;top:0;width:100%;height:340px;object-fit:cover;object-position:58% 48%}
 .home-hero.home-static:after{height:345px;background:linear-gradient(0deg,#080c0e 0%,#080c0e00 90%)}
 .home-hero.home-static>.hero-copy{padding:0 var(--pad) 40px;width:100%}
 .case-article .case-hero.hero-artwork .hero-photo{inset:0 0 auto;width:100%;height:300px;object-fit:contain}
 .case-article .case-hero.hero-artwork .hero-copy{width:100%;padding:0 var(--pad) 38px}
 .case-article .case-hero.hero-artwork h1{font-size:clamp(43px,10.4vw,75px)}
 .case-article .case-hero.hero-artwork .subhead{font-size:clamp(24px,6.3vw,34px)}
 .case-article .case-hero.hero-artwork:after{height:300px;background:linear-gradient(0deg,#080c0e 0%,transparent 45%)}
 .case-article .results.results-5{grid-template-columns:1fr}
 .recognition ul{grid-template-columns:1fr}
}
/* Artwork retains its full logo and photograph rather than fading behind text. */
.case-article .case-hero.hero-artwork:after{display:none}
@media(min-width:761px){.case-article .case-hero.hero-artwork .hero-photo{left:53%;width:47%}.case-article .case-hero.hero-artwork .hero-copy{width:53%}}

/* FINAL P1: one editorial static homepage; complete artwork and native athletes. */
.home-hero.home-static>.hero-photo{object-position:50% 55%}
.portrait-frame figcaption{padding-left:18px;padding-right:18px}
.work-warner .card-image{background:linear-gradient(130deg,#85c735,#438439)}
.card-image .warner-art{position:absolute;top:8%;left:0;width:100%;height:90%;object-fit:contain;object-position:center top;transform:none!important}
.case-article .case-warner.hero-artwork .hero-photo{top:8%;height:90%;object-position:center top}
.case-article .case-sure .hero-photo{object-fit:contain;object-position:50% 50%}
.card-image img[src*="sure-athlete-original"]{object-position:53% 50%}
.case-article .case-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto auto minmax(0,1fr);gap:22px}
.case-article .case-bottom a{min-width:0;white-space:normal;line-height:1.5;min-height:44px}
.case-article .case-bottom .next-project{justify-content:flex-end;text-align:right}
@media(max-width:760px){
 .home-hero.home-static>.hero-photo{object-position:60% 55%}
 .case-article .case-warner.hero-artwork .hero-photo{top:24px;height:270px;left:0;width:100%;object-position:center top}
 .case-article .case-sure{padding-top:calc(37.143vw + 24px)}
 .case-article .case-sure .hero-photo{top:0;height:auto;aspect-ratio:1400/520;width:100%;object-fit:contain}
 .case-article .case-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .case-article .case-bottom .next-project{grid-column:2;justify-content:flex-end}
 .case-article .case-bottom>a:last-child{flex-basis:auto}
 .case-article .case-bottom .all-work-link{justify-content:flex-end}
}
/* Arimo fit at the narrowest supported viewport: keep the approved lines inside their text boxes. */
@media(max-width:328px){#page-home .home-hero h1{font-size:45.5px}#page-bd .case-hero h1{font-size:42px}#page-valley-bank .results .result strong{font-size:27.5px}}
