/* Background-only Safari coverage. Fixed layers add no document height. */
@media(max-width:760px),(max-width:1000px) and (pointer:coarse){
 @supports(height:100lvh){
  .credits-page>.catalog-backdrop,.studio-page>.studio-fixed-gallery,.price-page>.price-background{bottom:auto;height:calc(100lvh + env(safe-area-inset-bottom,0px))}
  .studio-page .mobile-studio-background{bottom:auto;height:calc(100lvh + env(safe-area-inset-bottom,0px))}
  .workshops-page>.workshop-fixed-backdrop{height:calc(100lvh + env(safe-area-inset-bottom,0px))!important}
  .workshops-page .mobile-workshop-scene>.intro-photo{height:calc(100lvh + env(safe-area-inset-bottom,0px));margin-bottom:calc(-100lvh - env(safe-area-inset-bottom,0px))}
 }
}

/* Extend only the phone entrance video. The existing cover height continues
   to position the copy, yellow hint and reveal motion exactly as approved. */
@media(max-width:760px),(max-width:1000px) and (pointer:coarse){
 @supports(height:100lvh){
  body.home-video-entrance .home-video-cover{overflow:visible!important}
  body.home-video-entrance .home-video-cover>.intro-photo{bottom:auto!important;height:max(100%,calc(100lvh + env(safe-area-inset-bottom,0px)))!important;overflow:hidden}
 }
}

/* A document-sized outer surface prevents the decorative plane from being
   just a fixed viewport box. Equal foreground geometry, original live media. */
body.has-document-backdrop{position:relative}
.has-document-backdrop>.safari-document-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;background:transparent}
.has-document-backdrop>.safari-document-backdrop>:is(.catalog-backdrop,.price-background,.workshop-fixed-backdrop,.mobile-studio-background){position:sticky!important;inset:auto!important;top:0!important;display:block;width:100%!important;height:100vh!important;height:calc(100lvh + env(safe-area-inset-bottom,0px))!important;max-height:none;margin:0!important;transform:none!important;background:transparent}
.studio-page.has-document-backdrop>.safari-document-backdrop>.mobile-studio-background{top:78px!important}

/* Studio glass: keep the gesture/text box, extend only its decorative glass.
   Put blur on the inner paint layer, not the viewport-constrained outer box. */
@media(max-width:760px),(max-width:1000px) and (pointer:coarse){
 body.studio-page .studio-glass-cover{overflow:visible!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none;border-bottom-color:transparent}
 body.studio-page .studio-glass-cover::before{content:'';display:block!important;position:absolute;inset:0 0 auto;width:100%;height:100%;height:max(100%,calc(100lvh + env(safe-area-inset-bottom,0px)));z-index:-1;pointer-events:none;background:linear-gradient(135deg,#15151a9c,#12121880 50%,#202028a6);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);box-shadow:0 12px 35px #0005}
}

/* The entrance movie is document-backed; its original text/gesture box stays. */
body.has-home-document-video{position:relative}
.has-home-document-video>.home-entrance-document-surface{position:absolute;inset:0;z-index:89;pointer-events:none}
.has-home-document-video>.home-entrance-document-surface>.home-entrance-document-video{position:sticky!important;inset:auto!important;top:var(--mobile-header-height,78px)!important;width:100%!important;height:100vh!important;height:calc(100lvh + env(safe-area-inset-bottom,0px))!important;max-height:none;margin:0!important;overflow:hidden;will-change:transform}
body.has-home-document-video .home-video-cover{background:transparent!important}

/* Keep the entrance opaque after reparenting: dim pixels instead of letting
   the next section show through a 90%-opaque video over a transparent parent. */
.home-page .home-entrance-document-video :is(.home-hero-video,.home-hero-poster){filter:brightness(.9)}
.home-page .home-entrance-document-video .home-hero-video,.home-page .home-entrance-document-video:not(.is-video-playing) .home-hero-poster{opacity:1}


:is(.has-catalog-paint-anchor,.has-studio-paint-anchor)>.safari-document-backdrop{overflow:clip}

/* The phone search already precedes its own scrolling plugin list. A sticky
   dark search surface can make Safari extend that fill below its toolbar. */
html.iphone-experience .studio-page .mobile-software-section .studio-software-search .plugin-search{position:relative!important;top:auto!important}

/* Native compositor follows a zero-height transparent anchor. Only its
   absolute child paints the full large viewport; no JS scroll compensation. */
.credits-page.has-catalog-paint-anchor>.safari-document-backdrop>.catalog-backdrop{position:sticky!important;top:0!important;height:0!important;min-height:0!important;overflow:visible!important;transform:none!important}
.credits-page.has-catalog-paint-anchor .catalog-backdrop>.intro-photo{position:absolute!important;inset:0 0 auto!important;height:100vh!important;height:calc(100lvh + env(safe-area-inset-bottom,0px))!important}

/* A transparent native anchor owns no paint. The original Studio image
   remains a full-height absolute child, preserving its gallery and shading. */
.studio-page.has-studio-paint-anchor>.safari-document-backdrop>.studio-native-backdrop-anchor{position:sticky;top:var(--mobile-header-height,78px);height:0;overflow:visible}
.studio-page.has-studio-paint-anchor .studio-native-backdrop-anchor>.mobile-studio-background{position:absolute!important;inset:0 0 auto!important;height:100vh!important;height:calc(100lvh + env(safe-area-inset-bottom,0px))!important;max-height:none!important;transform:none!important;background:transparent}

/* Device recordings: lvh836/safe0 on a956px screen. Decorative overdraw only;
   zero-height anchors keep document geometry and native scrolling unchanged. */
.credits-page.has-catalog-paint-anchor .catalog-backdrop>.intro-photo,
.studio-page.has-studio-paint-anchor .studio-native-backdrop-anchor>.mobile-studio-background{height:max(100lvh,var(--safari-screen-paint-height,100lvh))!important}

/* The desktop final hardware stop must not remain a viewport-bound sticky
   surface under the phone's following software section. Keep normal flow. */
html.iphone-experience .studio-page .equipment-section.equipment-final{position:relative!important;top:auto!important}

/* Workshop uses the physically confirmed catalogue/Studio paint geometry.
   Its native anchor takes no layout space; title and gesture owners stay. */
.workshops-page.has-workshop-paint-anchor>.safari-document-backdrop{overflow:clip}
.workshops-page.has-workshop-paint-anchor>.safari-document-backdrop>.workshop-native-backdrop-anchor{position:sticky;top:0;height:0;overflow:visible}
.workshops-page.has-workshop-paint-anchor .workshop-native-backdrop-anchor>.workshop-fixed-backdrop{position:absolute!important;inset:0 0 auto!important;width:100%!important;height:100vh!important;height:max(100lvh,var(--safari-screen-paint-height,100lvh))!important;max-height:none!important;margin:0!important;transform:none!important;overflow:hidden;pointer-events:none;background:transparent}

/* Keep the fixed title's original rectangular clipping and child coordinates,
   without a full-viewport transparent box for Safari edge-color sampling. */
.workshops-page.has-workshop-title-anchor>.workshop-frozen-title-window{width:0!important;height:0!important;min-height:0!important;max-height:none!important;overflow:visible!important;clip-path:none!important;clip:rect(var(--workshop-native-clip-top,0px),100vw,var(--workshop-native-clip-bottom,100vh),0px)}

/* Phone opening owns the full physical screen before the coaching section.
   Leave its fixed copy/cue untouched; the16px buffer puts the14px upper
   waveform outside the first screen rather than merely moving the waveform. */
html.iphone-experience .workshops-page.has-workshop-paint-anchor main>.intro-stage{min-height:calc(var(--safari-screen-paint-height,100lvh) - var(--mobile-header-height,78px) + 16px)!important}

/* A zero-height but full-width sticky strip is still an edge candidate in
   WebKit. Make both owner dimensions zero; retain the exact viewport-wide
   decorative child, native sticky positioning and physical-screen height. */
html.iphone-experience .credits-page.has-catalog-paint-anchor>.safari-document-backdrop>.catalog-backdrop{width:0!important}
html.iphone-experience .credits-page.has-catalog-paint-anchor .catalog-backdrop>.intro-photo{width:100vw!important}
html.iphone-experience .studio-page.has-studio-paint-anchor>.safari-document-backdrop>.studio-native-backdrop-anchor,
html.iphone-experience .workshops-page.has-workshop-paint-anchor>.safari-document-backdrop>.workshop-native-backdrop-anchor{width:0}
html.iphone-experience .studio-page.has-studio-paint-anchor .studio-native-backdrop-anchor>.mobile-studio-background,
html.iphone-experience .workshops-page.has-workshop-paint-anchor .workshop-native-backdrop-anchor>.workshop-fixed-backdrop{width:100vw!important}
