/* Owner-directed desktop pass: preserve source files; fill the camera viewport. */
.glass-filter-definitions{position:fixed;pointer-events:none;overflow:hidden}
@media(min-width:901px){
 html[data-route='scroll'] #poc-cinema-plane>.poc-film,
 html[data-route='scroll'] #poc-cinema-plane>.poc-held-frame{
  inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
 }
 :root{--desktop-glass-tint:rgba(4,8,12,.58)}
 header.glass,.chapter .panel,#contact .contact-panel{
  position:relative;background:transparent;border:1px solid transparent;border-radius:28px;
  backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate;
  box-shadow:0 3px 8px -2px #00000026,0 18px 38px -10px #00000040;
 }
 header.glass{position:fixed;box-shadow:0 2px 5px -1px #00000026,0 9px 24px -6px #00000038}
 header.glass::before,.chapter .panel::before,#contact .contact-panel::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,#ffffff09,#ffffff00 45%,#ffffff05),var(--desktop-glass-tint);
  -webkit-backdrop-filter:blur(2px) saturate(125%);
  backdrop-filter:blur(2px) saturate(125%);
  backdrop-filter:var(--glass-refraction,blur(2px)) saturate(125%);
 }
 /* A masked, directional highlight traces the bevel without frosting the face. */
 header.glass::after,.chapter .panel::after,#contact .contact-panel::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(135deg,#ffffffa8 0%,#ffffff70 20%,#ffffff24 43%,#ffffff0c 56%,#162b38b8 80%,#ffffff20 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  box-shadow:inset 0 0 9px #ffffff18;
 }
 header .brand img{filter:brightness(0) invert(1)}
 header nav a{color:#fff;border-radius:14px;text-shadow:none}
 header nav a:hover{background:#ffffff18;text-decoration:none}
 .chapter .panel,#contact .contact-panel{color:#fff;text-shadow:none;padding:clamp(26px,2.5vw,36px)}
 .chapter .panel p,.chapter .panel .credit,#contact .contact-panel p{color:#fff}
 #opening .intro{
  background:none;border:0;border-radius:0;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  padding:0;text-shadow:0 2px 18px #000000a0,0 1px 3px #00000070;
 }
 #opening .intro{max-width:780px;width:min(780px,75vw)}
 #opening h1{font-size:clamp(3.25rem,5.6vw,5.75rem);letter-spacing:-.045em;line-height:1.02}
 #opening .intro p{max-width:52ch}
 #opening .opening-stage{padding-left:5%;padding-right:5%}
 #nearhalo .stage{display:flex!important;flex-direction:row;align-items:center;min-height:100svh!important;height:100svh!important}
 #nearhalo .stage>.world{position:absolute!important;inset:0;min-height:0;max-height:none;width:100%;height:100%}
 #nearhalo .panel{width:min(540px,44%);flex-shrink:0;margin-left:auto;margin-right:1%;justify-self:auto}
 #nearhalo .panel h2{font-size:clamp(2.25rem,3.4vw,3.75rem);letter-spacing:-.04em}
 #opening .actions,#nearhalo .actions{text-shadow:none}
 #opening .secondary,#nearhalo .continue{
  color:#fff;border-color:#ffffff80;text-shadow:0 1px 6px #00000090;
 }
}

/* Transform/opacity only: no layout movement while characters appear. */
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 header.glass{animation:glass-nav-enter .6s cubic-bezier(.18,.8,.25,1) backwards}
 html[data-route='scroll'] .chapter .panel,html[data-route='scroll'] #contact .contact-panel{
  transform-origin:center;opacity:1;transform:translateY(0) scale(1);visibility:visible;
  transition:opacity .36s cubic-bezier(.42,0,.58,1),transform .36s cubic-bezier(.42,0,.58,1),border-radius .36s cubic-bezier(.42,0,.58,1),visibility 0s;
 }
 html[data-route='scroll'] .chapter[data-transit='true'] .panel,
 html[data-route='scroll'] .chapter .panel[data-glass-active='false'],
 html[data-route='scroll'] #contact .contact-panel[data-glass-active='false']{
  opacity:0;transform:translateY(16px) scale(.78);border-radius:38px;pointer-events:none;visibility:hidden;
  transition:opacity .36s cubic-bezier(.42,0,.58,1),transform .36s cubic-bezier(.42,0,.58,1),border-radius .36s cubic-bezier(.42,0,.58,1),visibility 0s .36s;
 }
 html[data-route="scroll"] .chapter .panel.is-text-visible .reveal-char,
 html[data-route="scroll"] #contact .contact-panel.is-text-visible .reveal-char{animation-delay:calc(var(--char-delay) + 280ms)}
 .reveal-word{display:inline-block;white-space:nowrap}
 .reveal-char{display:inline-block}
 .text-reveal-ready:not(.is-text-visible) .reveal-char{opacity:0}
 .is-text-visible .reveal-char{animation:glass-character-enter .3s ease-out both;animation-delay:var(--char-delay)}
}
@keyframes glass-nav-enter{from{opacity:0;transform:translateY(-8px) scale(.99,.94)}to{opacity:1;transform:none}}
@keyframes glass-character-enter{from{opacity:0;transform:translateY(4px);filter:blur(1.5px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.reveal-char{opacity:1!important;animation:none!important;transform:none!important;filter:none!important}}

/* Fixed trailer titles replace the physical upward swipe of black sections. */
#trailer-interlude{display:none}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 html[data-trailer='true'] .statement{min-height:150svh;background:transparent;padding:0}
 html[data-trailer='true'] .statement>h2{opacity:0;pointer-events:none}
 html[data-trailer='true'] #trailer-interlude:not([hidden]){display:flex;position:fixed;inset:0;z-index:3;background:#000;align-items:center;padding:120px 8%;pointer-events:none}
 #trailer-interlude h2{font-size:clamp(2.5rem,6vw,6rem);max-width:15ch;margin:0;color:#fff;line-height:1.08}
 #trailer-interlude h2[hidden]{display:none}
 #poc-cinema-plane>.poc-shot-dissolve{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2;pointer-events:none}
 #poc-cinema-plane>.poc-shot-dissolve[hidden]{display:none}
}
@media(max-width:900px),(prefers-reduced-motion:reduce){.poc-shot-dissolve{display:none!important}}

/* Seeking status must not resize the controls and recenter the product cards. */
@media(min-width:901px){
 html:not([data-review='true']) #poc-state{height:2.7em;min-height:2.7em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
}
