/* Shared visual contract for the four case-study families.
   Film, artwork and interface images retain their own aspect ratios. */
main.case-standard-v3{--case-width:1240px;--case-radius:16px;--case-space:64px;--case-gap:24px}
main.case-standard-v3 :is(.ge-wrap,.bi-wrap,.web-hero,.tero-chapter,.case-related,.gtm-retained-work){width:min(var(--case-width),88%);max-width:var(--case-width);margin-inline:auto}
main.case-standard-v3 .case-engine-lockup{display:block!important;width:180px!important;height:116px!important;max-width:none!important;object-fit:contain!important;flex:0 0 auto;filter:none!important;background:none!important;border:0!important;border-radius:0!important}
main.case-standard-v3 :is(.ge-brand-row,.ab-brand-pair){display:flex;justify-content:space-between;align-items:center;min-height:116px;padding:0;gap:24px;margin-bottom:32px}
main.case-standard-v3 :is(.ge-hero,.bi-opening){padding-top:40px}
main.case-standard-v3 :is(.ge-section,.ge-stage,.bi-section,.tero-chapter){padding-block:var(--case-space)}
main.case-standard-v3 .ge-stage{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
main.case-standard-v3 .ge-stage-brief h2{font:900 40px/1.08 'ENG1N Condensed',Impact,sans-serif!important;letter-spacing:.01em!important;margin:8px 0 20px}
main.case-standard-v3 .ge-stage-brief>p{font:400 15px/1.7 Barlow,Arial,sans-serif;color:#bdc7c1}
main.case-standard-v3 :is(.ge-stage-art,.case-evidence-grid,.dn-course-films,.cb-grid,.cb-film-grid,.cb-sequence,.cb-art-three){gap:var(--case-gap);align-items:start}
/* Landscape films get the full media column, never a thumbnail-sized grid cell. */
main.case-standard-v3 :is(.ge-stage-art,.case-evidence-grid,.dn-course-films,.cb-grid,.cb-film-grid,.cb-sequence,.cb-art-three)>:is(.case-film-card,.cb-youtube,:has([data-case-youtube],[data-cb-youtube],iframe,.case-landscape-film)){grid-column:1/-1;width:100%;max-width:none}
main.case-standard-v3 .dn-course-films{grid-template-columns:1fr}
main.case-standard-v3 :is(.case-film-screen,.cb-video-frame.cb-wide,.case-film){width:100%;height:auto;aspect-ratio:16/9;max-height:none;border-radius:var(--case-radius);overflow:hidden}
main.case-standard-v3 :is(.case-film-play,.cb-yt-play){width:100%;height:100%;min-height:0}
main.case-standard-v3 :is(.case-film-play,.cb-yt-play,.pova-stack-trigger)>img{width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important}
main.case-standard-v3 :is(.case-film-screen,.cb-video-frame,.case-film) iframe{width:100%;height:100%;border:0}
main.case-standard-v3 :is(.case-film-play>span,.cb-play-icon){width:64px;height:64px;font-size:24px}
/* No fixed square stage or maximum-height letterbox around original posts. */
main.case-standard-v3 :is(.case-work-art,.cb-art,.ge-art-square,.case-art,.ge-gallery figure){background:transparent}
main.case-standard-v3 :is(.case-work-art,.cb-art,.ge-art-square,.ge-gallery figure)>img,
main.case-standard-v3 .cb-art a>img,
main.case-standard-v3 .gtm-evidence .case-art img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:initial;border-radius:var(--case-radius)}
main.case-standard-v3 .cb-art a{background:transparent}
main.case-standard-v3 video.case-native-video{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:var(--case-video-ratio)!important;object-fit:cover;border-radius:var(--case-radius);background:transparent}
main.case-standard-v3 .cb-video-frame:has(video){aspect-ratio:auto!important;height:auto!important;max-height:none!important;background:transparent}
main.case-standard-v3 figure:has(>.case-portrait-film){max-width:360px;justify-self:center;width:100%}
/* The opening artwork uses a common width and natural image geometry. */
main.case-standard-v3 :is(.ge-hero-art,.gtm-hero-art,.bi-cover,.cb-cover,.tero-hero-art){margin:32px auto 0;background:transparent;max-width:100%;min-height:0}
main.case-standard-v3 :is(.ge-hero-art,.gtm-hero-art)>img,
main.case-standard-v3 .gtm-hero-art>figure>img,
main.case-standard-v3 .ge-hero-art>.case-work-art>img{width:auto!important;height:auto!important;max-width:100%!important;max-height:620px!important;aspect-ratio:auto!important;object-fit:contain;background:transparent!important;margin-inline:auto;border-radius:var(--case-radius)}
main.case-standard-v3 .gtm-hero-art:has(.pova-opening-banner){max-width:none}
main.case-standard-v3 .pova-opening-banner img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important}
main.case-standard-v3 :is(.ge-nav,.web-showcase-nav){margin-top:32px}
main.case-standard-v3 .ge-nav>.ge-wrap{width:min(var(--case-width),88%);max-width:var(--case-width);margin-inline:auto}
main.case-standard-v3 .case-related{padding-block:64px}
main.case-standard-v3 .case-related-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
main.case-standard-v3 .case-related-card img{border-radius:var(--case-radius);aspect-ratio:1;object-fit:cover}
@media(max-width:900px){main.case-standard-v3 .ge-stage{grid-template-columns:1fr;gap:28px}main.case-standard-v3 .ge-stage-brief{max-width:650px}}
@media(max-width:640px){main.case-standard-v3{--case-space:40px;--case-gap:20px;--case-radius:12px}main.case-standard-v3 :is(.ge-wrap,.bi-wrap,.web-hero,.tero-chapter,.case-related,.gtm-retained-work){width:90%}main.case-standard-v3 .case-engine-lockup{width:140px!important;height:91px!important}main.case-standard-v3 :is(.ge-brand-row,.ab-brand-pair){min-height:91px;margin-bottom:24px}main.case-standard-v3 .ge-stage-brief h2{font-size:34px!important}main.case-standard-v3 .ge-stage-brief>p{font-size:17px}main.case-standard-v3 .case-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}main.case-standard-v3 :is(.ge-stage-art,.case-evidence-grid,.dn-course-films,.cb-film-grid){grid-template-columns:1fr}main.case-standard-v3 :is(.case-film-play>span,.cb-play-icon){width:52px;height:52px;font-size:20px}main.case-standard-v3 .case-related{padding-block:40px}}
/* Match the approved case-page type hierarchy, independently of hero-only tokens. */
main.case-standard-v3{--eng1n-type-title:64px;--eng1n-type-title-line:1.05;--eng1n-type-secondary:40px}
main.case-standard-v3 :is(.ge-client-logo,.dn-client-logo,.ab-client-logo,.cb-client-logo){max-width:180px;max-height:88px;object-fit:contain}
@media(max-width:640px){main.case-standard-v3{--eng1n-type-title:44px;--eng1n-type-title-line:1.08;--eng1n-type-secondary:34px}}
main.case-standard-v3 .gtm-hero-art>figure{max-width:100%;width:100%;margin-inline:auto;opacity:1;transform:none;background:transparent;border:0;padding:0}
main.case-standard-v3 .gtm-hero-art>figure>figcaption{justify-content:center;gap:20px}
main.case-standard-v3 .ge-activities li:before{content:'•'}
main.case-standard-v3 .ge-gallery>:is(.case-film-card,.cb-youtube,:has([data-case-youtube],[data-cb-youtube],iframe,.case-landscape-film)){grid-column:1/-1;width:100%;max-width:none}
main.case-standard-v3 :is(.web-hero,.tero-chapter){padding-inline:0;box-sizing:border-box}
main.case-standard-v3 video.case-portrait-film{max-width:360px;margin-inline:auto}
main.case-standard-v3 video.case-square-film{max-width:560px;margin-inline:auto}
main.case-standard-v3 .cb-video-frame:has(>video.case-portrait-film){max-width:360px;margin-inline:auto}
main.case-standard-v3 .cb-video-frame:has(>video.case-square-film){max-width:560px;margin-inline:auto}
