.fk-cinematic-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.fk-video-ready .fk-cinematic-video{opacity:1}.fk-video-skip{position:absolute;z-index:5;right:var(--fk-gap);top:130px;padding:12px 16px;border:1px solid #ffffff80;background:#1d1b4f80;color:#fff;font-size:11px;text-underline-offset:4px}.fk-video-skip:focus-visible{outline:3px solid #a6ce39;outline-offset:5px}.fk-video-status{font-size:9px;max-width:180px;text-align:right}.fk-hero-foot p{max-width:240px;text-align:center;line-height:1.7}.fk-journey-beat{display:none}@media(max-width:899px){.fk-video-skip{top:105px;font-size:10px;padding:10px}.fk-video-status{display:none}}@media(prefers-reduced-motion:reduce){.fk-cinematic-video{display:none}}

.fk-hero-picture img{object-position:50% 50%}

/* Visual copy is decorative; the unchanged H1 remains the sole accessible heading. */
.fk-headline-stage{position:relative}.fk-headline-visual{display:none;position:absolute;inset:0;pointer-events:none}.fk-headlines-active .fk-headline-stage h1{opacity:0}.fk-headlines-active .fk-headline-visual{display:block}.fk-headline-line{position:absolute;inset:0;margin:0;font-weight:400;color:#fff;will-change:opacity,transform}.fk-headline-line>span{color:#f1f0e7}@media(prefers-reduced-motion:reduce){.fk-headlines-active .fk-headline-stage h1{opacity:1}.fk-headline-visual{display:none!important}}

.fk-headline-line{visibility:hidden}.fk-headlines-active .fk-headline-line.is-current{visibility:visible}

/* Only the active pinned sequence fills the current mobile viewport. */
@media(max-width:899px){.fk-hero.fk-video-ready{height:100vh;height:100dvh;min-height:0;max-height:none}}

/* Phone: match the visual viewport, including dynamic browser toolbars. */
@media(max-width:600px){
 .fk-hero{height:100vh;height:100dvh;min-height:0;max-height:none}
 .fk-hero-copy{top:max(146px,25%);left:max(var(--fk-gap),env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}
 .fk-video-skip{top:calc(94px + env(safe-area-inset-top));right:max(var(--fk-gap),env(safe-area-inset-right))}
 .fk-hero-foot{left:max(var(--fk-gap),env(safe-area-inset-left));right:max(var(--fk-gap),env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
}
/* Keep controls visible on short landscape or small phone viewports. */
@media(max-width:600px) and (max-height:620px){
 .fk-hero-copy{top:135px}
 .fk-hero-copy>.fk-eyebrow{margin-bottom:12px}
 .fk-site .fk-hero h1{font-size:clamp(34px,8.6vw,43px);line-height:1.04}
 .fk-hero-bottom-copy{margin-top:14px}
 .fk-hero-bottom-copy p{display:none}
 .fk-hero-foot{bottom:max(8px,env(safe-area-inset-bottom))}
}
/* Phone/tablet landscape can cross the phone width breakpoint. */
@media(max-width:899px) and (max-height:500px){
 .fk-hero{height:100vh;height:100dvh;min-height:0;max-height:none}
 .fk-hero-copy{top:110px;right:calc(max(var(--fk-gap),env(safe-area-inset-right)) + 150px)}
 .fk-hero-copy>.fk-eyebrow{margin-bottom:8px}
 .fk-site .fk-hero h1{font-size:clamp(28px,5vw,40px);line-height:1.02}
 .fk-hero-bottom-copy{margin-top:10px}
 .fk-hero-bottom-copy p{display:none}
 .fk-hero-foot{bottom:max(6px,env(safe-area-inset-bottom))}
}

/* Narrow-screen illustrative cross-section. Desktop WebGL is untouched.
   Bands are deliberately schematic: their thickness is not to scale. */
@media (max-width: 600px) {
  .fk-detail-stage { height: 330px; }
  .fk-detail-stage::after {
    content: 'ILLUSTRATIVE · NOT TO SCALE'; position: absolute; bottom: 12px; right: 16px;
    color: #c9d1bf; font: 600 8px/1.2 Manrope, sans-serif; letter-spacing: .08em;
  }
  .fk-floor-fallback {
    top: 50%; left: 50%;
    width: calc(100% - 48px); max-width: 390px; height: 240px;
    transform: translate(-50%, -50%); transform-style: flat;
  }
  .fk-floor-fallback .fk-fallback-layer {
    inset: auto 0; position: absolute;
    box-sizing: border-box; border: 1px solid #e8ead14d;
    box-shadow: 0 8px 14px #0003; transform: none;
    transition: transform .4s ease;
  }
  .fk-floor-fallback .fk-fallback-layer::before {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    color: #fff; font: 700 10px/1 Manrope, sans-serif;
    letter-spacing: .06em; text-shadow: 0 1px 3px #000b;
  }
  .fk-floor-fallback .fk-fallback-top { bottom: 128px; height: 32px; }
  .fk-floor-fallback .fk-fallback-adhesive { bottom: 112px; height: 16px; }
  .fk-floor-fallback .fk-fallback-level { bottom: 84px; height: 28px; }
  .fk-floor-fallback .fk-fallback-base { bottom: 24px; height: 60px; }
  .fk-floor-fallback .fk-fallback-top::before { content: '01'; }
  .fk-floor-fallback .fk-fallback-adhesive::before { content: '02'; }
  .fk-floor-fallback .fk-fallback-level::before { content: '03'; }
  .fk-floor-fallback .fk-fallback-base::before { content: '04'; }
  .fk-floor-fallback:not(.is-exploded) .fk-fallback-top,
  .fk-floor-fallback:not(.is-exploded) .fk-fallback-adhesive,
  .fk-floor-fallback:not(.is-exploded) .fk-fallback-level,
  .fk-floor-fallback:not(.is-exploded) .fk-fallback-base { transform: none; }
  .fk-floor-fallback.is-exploded .fk-fallback-top { transform: translateY(-54px); }
  .fk-floor-fallback.is-exploded .fk-fallback-adhesive { transform: translateY(-36px); }
  .fk-floor-fallback.is-exploded .fk-fallback-level { transform: translateY(-18px); }
  .fk-floor-fallback.is-exploded .fk-fallback-base { transform: none; }
  .fk-material-controls button { min-height: 44px; }
  .fk-layer-toggle { min-height: 48px; }
}
@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
  .fk-floor-fallback .fk-fallback-layer { transition: none; }
}
