[data-panasia-motion-fallback] { background-image:var(--panasia-poster); background-size:cover; background-position:center; }
/* Official Panasia paths replace the source glyphs in SSR and hydration. */
svg[viewBox="0 0 8 8"]:has(>path[data-panasia-brand="symbol"]) { width:14px; height:14px; }
[data-panasia-dialog] { width:min(720px,calc(100vw - 32px)); max-height:85vh; margin:auto; padding:32px; color:#151515; background:#fff; border:1px solid #ddd; border-radius:16px; }
[data-panasia-dialog]::backdrop { background:rgb(0 0 0 / .5); }
[data-panasia-dialog] h2 { font-size:28px; margin:0 0 20px; }
[data-panasia-dialog] input { width:100%; padding:14px; border:1px solid #888; color:#111; background:#fff; }
[data-panasia-dialog] a { display:block; padding:16px 0; border-bottom:1px solid #ddd; }
[data-panasia-dialog] button { padding:10px 18px; border:1px solid #333; border-radius:24px; margin:16px 8px 0 0; }
[data-panasia-dialog] :focus-visible { outline:2px solid #6355df; outline-offset:4px; }
[data-panasia-hidden] { display:none!important; }
.panasia-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[data-panasia-client] { display:inline-flex!important; align-items:center; gap:6px; width:auto!important; min-height:24px; white-space:nowrap; font-size:13px; font-weight:600; }
[data-panasia-client]::before { content:''; display:block; width:20px; height:20px; flex-shrink:0; background:var(--client-icon) center/contain no-repeat; }
/* Photograph attribution sits within each existing image frame, preserving layout. */
img[src^="/replica-photos/"] { object-fit:cover; }
.panasia-photo-overlay { position:absolute; inset:0 0 auto; height:0; z-index:25; pointer-events:none; }
.panasia-photo-credit { position:absolute; transform:translate(-100%,-100%); pointer-events:auto; display:block; box-sizing:border-box; width:max-content; padding:6px 10px; border-radius:4px; background:rgba(0,0,0,.78); color:#fff!important; font:12px/1.4 Arial,sans-serif; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.panasia-photo-credit[hidden] { display:none!important; }
.panasia-photo-credit:hover { background:#000; text-decoration:underline; }
.panasia-photo-credit:focus-visible { outline:3px solid #81b9ff; outline-offset:3px; }
.panasia-photo-sources { padding:20px max(24px,calc((100vw - 1280px)/2)); background:#f4f4f4; color:#333; font:12px/1.65 Arial,sans-serif; }
.panasia-photo-sources summary { cursor:pointer; font-size:14px; padding:10px 0; }
.panasia-photo-sources li { margin:12px 0; overflow-wrap:anywhere; }
.panasia-photo-sources a { color:inherit; text-decoration:underline; }
@media(max-width:600px) { .panasia-photo-credit { padding:13px 8px; min-height:44px; } }
/* The native placeholder already fades out when the WebGL film is ready.
   Show the approved poster during buffering as well as reduced-motion fallback. */
.HomeHero .rounded-2xl.bg-black { background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),var(--panasia-poster); background-size:cover; background-position:center; }
.HomeHero [data-panasia-motion-fallback] { touch-action:auto!important; }

.panasia-home-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.05) brightness(.82); }
.panasia-home-video[hidden] { display:none; }
.SgpStack .pointer-events-none[aria-hidden="true"]{mix-blend-mode:screen}
/* Preserve the source badge's box, palette, animation and layout. */
[data-panasia-brand="motion-badge"] {
  clip-path: none !important;
  -webkit-mask-image: url('/brand/panasia-glyph-white.png');
  mask-image: url('/brand/panasia-glyph-white.png');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
/* Keep the captured film frame visible until the native scene renders footage. */
.HomeHero:not([data-panasia-film-ready]) div:has(> .rounded-2xl.bg-black){opacity:1!important}
.panasia-mobile-hero-video{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72);pointer-events:none}
.panasia-mobile-hero-video[data-panasia-autoplay-state="blocked"]{opacity:0}
@media(max-width:767px), (hover:none) and (pointer:coarse){
 /* Keep the native mobile scrollbar. A themed inherited scrollbar-color also
    animates inside every transition-all descendant, invalidating whole trees. */
 html,body{scrollbar-color:auto!important}
 .panasia-mobile-hero-video{display:block}
 .HomeHero div:has(> .rounded-2xl.bg-black){transition:opacity .18s ease-out!important}
 .HomeHero[data-panasia-film-ready] div:has(> .rounded-2xl.bg-black){opacity:0!important;pointer-events:none}
 .HomeHero canvas{touch-action:pan-y!important}
 .HomeHero[data-panasia-static-chapter] div:has(> .rounded-2xl.bg-black){transform:translateY(-25dvh) scale(.55);transform-origin:50% 50%}
 .HomeHero [data-panasia-motion-fallback]{background-image:none;touch-action:pan-y!important}
}
