/* Desktop playback fills the player; small screens preserve the full film frame. */
.case-hero[data-player-mode="playback"] [id$="heroInlineVideo"] { object-fit: cover !important; transform: none !important; }
@media (max-width:900px) {
 .case-hero[data-player-mode="playback"] [id$="heroInlineVideo"] { object-fit: contain !important; }
}
.case-hero:fullscreen { width: 100% !important; height: 100% !important; min-height: 0 !important; }
.case-hero:-webkit-full-screen { width: 100% !important; height: 100% !important; min-height: 0 !important; }
.case-reflections .case-reflections-copy p { text-align: center !important; }
.case-overview { padding: 40px 0 56px; }
.case-overview > .container { padding-block: 0; }
.case-overview-grid { grid-template-columns: minmax(0,1.8fr) minmax(250px,1fr); gap: 48px; }
@media (max-width:900px) {
.overview-meta { display: grid !important; gap: 22px !important; border: 0 !important; padding: 0 !important; align-content: start; }
.overview-meta .meta-item { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 16px; align-items: start !important; text-align: start !important; }
.overview-meta .meta-label { line-height: 1.7; font-size: .72rem; }
.overview-meta .meta-value { min-width: 0; font-size: .86rem !important; line-height: 1.7 !important; overflow-wrap: break-word; }

 .case-overview-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .overview-meta { padding-top: 24px !important; border-top: 1px solid rgba(255,255,255,.1) !important; }
}
@media (max-width:700px) {
 .case-hero:not(.home-featured-banner) { width: 100%; height: clamp(420px,76svh,580px); min-height: 0; padding: 90px 20px 40px; box-sizing: border-box; }
 .case-hero .case-hero-content { width: 100%; min-width: 0; padding-inline: 0; gap: 24px !important; }
 .case-hero .case-hero-content > div:nth-child(2) { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr); width: 100%; gap: 12px !important; }
 .case-hero .case-hero-content > div:nth-child(2) > div { min-width: 0; }
 .case-hero .case-hero-content > div:nth-child(2) > div[style*="width: 1px"] { display: none; }
 .case-hero .case-hero-content > div:nth-child(2) span { font-size: .74rem !important; line-height: 1.6; letter-spacing: .5px !important; }
 .case-hero [id$="heroBottomFade"] { height: 25% !important; }
 .case-hero [id$="pauseOverlayText"] { width: calc(100% - 48px); }
 .case-hero [id$="pauseMessageTitle"] { font-size: clamp(22px,5vw,32px) !important; }
 .case-hero [id$="pauseOverlayText"] p { font-size: .8rem !important; letter-spacing: 1px !important; }
 .case-hero [id$="customVideoControls"] { display: grid !important; grid-template-columns: 24px auto minmax(0,1fr) 24px 24px; direction: ltr !important; gap: 10px !important; left: 16px !important; right: 16px !important; bottom: 18px !important; }
 .case-hero [id$="customVideoControls"] > * { min-width: 0; }
 .case-hero [id$="customVideoControls"] > div:has([id$="customCurrentTime"]) { font-size: .72rem !important; letter-spacing: 0 !important; gap: 3px !important; }
 .case-hero [id$="customProgressBarContainer"] { margin: 0 !important; }
 .case-hero [id$="customVolumeContainer"] { display: none !important; }
 .case-hero [id$="customFullscreenBtn"] { margin: 0 !important; }
 .case-overview > .container { padding-inline: 22px; }
 .overview-meta .meta-item { grid-template-columns: 88px minmax(0,1fr); gap: 18px; }
 .case-reflections .container { padding-inline: 24px; }
 .case-reflections-copy p { font-size: .93rem !important; line-height: 1.95; }
 .study-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; grid-auto-rows: auto; gap: 12px; padding-inline: 20px; }
 .study-case-grid .gallery-item:nth-child(n) { grid-column: auto !important; grid-row: auto !important; min-width: 0; aspect-ratio: 1 / 1; }
 .study-case-grid .gallery-item:nth-child(1), .study-case-grid .gallery-item:last-child { grid-column: 1 / -1 !important; aspect-ratio: 16 / 9; }
 .case-gallery { padding-bottom: 48px; }
}

@media(max-width:700px) {
 .case-hero[data-player-mode="playback"]:not(:fullscreen):not(:-webkit-full-screen) { height: calc(100vw * .5625 + 64px) !important; min-height:0; padding:0; }
}
/* Landscape presentation also works when a browser cannot lock device orientation. */
@media(max-width:700px) and (orientation:portrait) {
 .case-hero[data-player-orientation="landscape"]:fullscreen [id$="heroInlineVideo"] { width:100dvh !important; height:100dvw !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) rotate(90deg) !important; }
 .case-hero[data-player-orientation="landscape"]:fullscreen [id$="pauseOverlayText"] { width:calc(100dvh - 64px) !important; transform:translate(-50%,-50%) rotate(90deg) !important; }
 .case-hero[data-player-orientation="landscape"]:fullscreen :is(#homeBeam_customVideoControls,#customVideoControls) { width:calc(100dvh - 40px) !important; left:28px !important; top:50% !important; right:auto !important; bottom:auto !important; transform:translate(-50%,-50%) rotate(90deg); }
}

.case-hero[data-player-mode="playback"] { background-color:#050505 !important; background-image:none !important; }
.case-hero[data-player-mode="playback"] [id$="heroInlineVideo"] { background:#050505 !important; }

/* Keep the project booking label light in both languages. */
.case-reflections .hero-cta-btn[data-i18n="project_start_cta"] { font-weight: 300 !important; }

/* A brief directional cue follows the same film orientation as the pause overlay. */
.seek-feedback-layer { position:absolute; left:50%; top:50%; width:100%; height:100%; transform:translate(-50%,-50%); z-index:35; pointer-events:none; display:flex; align-items:center; box-sizing:border-box; padding:24px; direction:ltr; }
.seek-feedback-layer[data-direction="forward"] { justify-content:flex-end; }
.seek-feedback-layer[data-direction="backward"] { justify-content:flex-start; }
.seek-feedback { opacity:0; color:#eee; background:rgba(10,10,10,.7); border:1px solid rgba(255,255,255,.15); border-radius:8px; padding:14px 18px; display:flex; flex-direction:column; align-items:center; gap:10px; font-size:.8rem; font-weight:300; text-align:center; }
.seek-description { unicode-bidi:plaintext; }
.seek-motion { width:36px; height:2px; background:linear-gradient(90deg,transparent,#eee); }
[data-direction="backward"] .seek-motion { transform:scaleX(-1); }
@media(max-width:700px) and (orientation:portrait) {
 .case-hero[data-player-orientation="landscape"]:fullscreen .seek-feedback-layer { width:100dvh; height:100dvw; transform:translate(-50%,-50%) rotate(90deg); }
}
@media(prefers-reduced-motion:reduce) { .seek-motion { background:#aaa; } }

/* Native mobile controls handle pause, seeking and iPhone fullscreen. */
.case-hero.native-player { touch-action: auto; }
.case-hero.native-player #customVideoControls,
.case-hero.native-player #pauseOverlayText,
.case-hero.native-player #heroBottomFade { display: none !important; }

/* Give the complete desktop overview more space below the hero. */
@media (min-width: 901px) {
 .case-overview { padding-top: 72px; }
}

/* Bring the reflection heading a little closer to the visual gallery. */
.case-reflections.pulled-up { padding-top: 2.5rem !important; }
@media (min-width: 701px) {
 .case-gallery { padding-bottom: 6rem; }
}
