/* ============================================================
   CAELARIUM v0.94.0 — Mobile adaptation
   Mobile owns touch geometry, safe areas and compact storytelling.
   Desktop rules remain untouched.
============================================================ */

@media (max-width: 900px) {
  :root{
    --cael-safe-top:env(safe-area-inset-top,0px);
    --cael-safe-right:env(safe-area-inset-right,0px);
    --cael-safe-bottom:env(safe-area-inset-bottom,0px);
    --cael-safe-left:env(safe-area-inset-left,0px);
    --cael-mobile-chrome:58px;
  }
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    overscroll-behavior-x:none;
  }
  body{
    min-height:100dvh;
    overscroll-behavior-x:none;
  }
  button,a,input,textarea,select,.custom-select-trigger,.custom-select-option{
    -webkit-tap-highlight-color:transparent;
  }
  button,a,.custom-select-trigger,.custom-select-option{
    touch-action:manipulation;
  }

  /* ---------- Homepage chrome / navigation ---------- */
  .chrome{
    height:calc(var(--cael-mobile-chrome) + var(--cael-safe-top))!important;
    padding:var(--cael-safe-top) max(14px,var(--cael-safe-right)) 0 max(14px,var(--cael-safe-left))!important;
    background:rgba(2,3,8,.91)!important;
    backdrop-filter:blur(22px) saturate(145%)!important;
    -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
    border-bottom:1px solid rgba(255,255,255,.055);
  }
  .brand{font-size:10px!important;letter-spacing:.16em!important;gap:7px!important}
  .caelarium-symbol{width:24px!important;height:24px!important}
  .chrome-right{gap:6px!important;align-items:center}
  #restart,.chrome-right>.iconbtn{display:none!important}
  .lang-toggle{
    min-width:72px!important;height:40px!important;padding:0 10px!important;
    font-size:9px!important;border-radius:999px!important;
  }
  .section-menu-toggle{
    display:block!important;width:40px!important;height:40px!important;
    min-width:40px!important;min-height:40px!important;
  }
  .section-menu-toggle span{left:12px!important;width:14px!important}
  .section-menu-toggle span:nth-child(1){top:12px!important}
  .section-menu-toggle span:nth-child(2){top:19px!important}
  .section-menu-toggle span:nth-child(3){top:26px!important}
  .section-menu-toggle.open span:nth-child(1),.section-menu-toggle.open span:nth-child(3){top:19px!important}

  /* Mobile navigation is a bottom sheet, not a narrow desktop rail. */
  .section-nav,
  .section-nav.show,
  .section-nav.portrait-open,
  .section-nav.show.portrait-open{
    position:fixed!important;
    left:max(12px,var(--cael-safe-left))!important;
    right:max(12px,var(--cael-safe-right))!important;
    top:auto!important;
    bottom:calc(12px + var(--cael-safe-bottom))!important;
    width:auto!important;
    max-height:min(68dvh,560px)!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translate3d(0,18px,0) scale(.985)!important;
    transition:opacity 180ms var(--ease-out),transform 260ms var(--ease-out)!important;
  }
  .section-nav.show,.section-nav.portrait-open,.section-nav.show.portrait-open{
    opacity:1!important;pointer-events:auto!important;transform:none!important;
  }
  .section-nav-inner{
    width:100%!important;max-height:min(68dvh,560px)!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;gap:6px!important;padding:10px!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    border-radius:26px!important;
    background:rgba(9,10,17,.96)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 24px 80px rgba(0,0,0,.48)!important;
    backdrop-filter:blur(28px) saturate(155%)!important;
    -webkit-backdrop-filter:blur(28px) saturate(155%)!important;
    scroll-snap-type:none!important;
  }
  .section-nav-brand{
    grid-column:1/-1!important;position:static!important;width:auto!important;
    min-height:36px!important;display:flex!important;align-items:center!important;
    padding:0 10px!important;text-align:left!important;background:transparent!important;
  }
  .section-nav button{
    min-width:0!important;width:100%!important;height:46px!important;
    padding:0 13px!important;border-radius:16px!important;
    text-align:left!important;font-size:10px!important;scroll-snap-align:none!important;
  }

  .back{
    top:calc(var(--cael-safe-top) + 68px)!important;
    left:max(14px,var(--cael-safe-left))!important;
    min-height:42px!important;padding:0 14px!important;
  }
  .tooltip{display:none!important}
  #interaction{touch-action:pan-y pinch-zoom!important}

  /* Detail and child-world surfaces become reachable bottom sheets. */
  .panel{
    left:max(12px,var(--cael-safe-left))!important;
    right:max(12px,var(--cael-safe-right))!important;
    bottom:calc(12px + var(--cael-safe-bottom))!important;
    top:auto!important;width:auto!important;
    max-height:min(62dvh,570px)!important;overflow:auto!important;
    padding:22px!important;border-radius:24px!important;
    transform:translate3d(0,20px,0) scale(.985)!important;
  }
  .panel.show{transform:none!important}
  .panel h3{font-size:clamp(36px,10vw,48px)!important;line-height:1!important}
  .panel .desc{font-size:14px!important;line-height:1.68!important;margin:17px 0 20px!important}
  .panel .buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .panel .buttons button{min-height:44px!important;padding:0 12px!important}
  .panel .buttons .primary{grid-column:1/-1!important}

  .world-popover-anchor{
    position:fixed!important;inset:0!important;width:auto!important;height:auto!important;
    transform:none!important;pointer-events:none!important;
  }
  .world-popover{
    position:fixed!important;
    left:max(12px,var(--cael-safe-left))!important;
    right:max(12px,var(--cael-safe-right))!important;
    top:auto!important;bottom:calc(12px + var(--cael-safe-bottom))!important;
    width:auto!important;max-height:56dvh!important;overflow:auto!important;
    padding:19px 18px 17px!important;border-radius:22px!important;
    transform:translate3d(0,18px,0) scale(.985)!important;
    transform-origin:50% 100%!important;
  }
  .world-popover.show{transform:none!important}
  .world-popover h3{font-size:26px!important}
  .world-popover-action{min-height:44px!important;padding:0 15px!important}
  .world-popover-close{width:36px!important;height:36px!important;right:9px!important;top:8px!important}
  .world-popover-hint{display:none!important}

  /* ---------- Homepage story ---------- */
  #space,#focus{width:100dvw!important;height:100dvh!important}
  .story{width:calc(100vw - 32px)!important}
  .hero-small{font-size:11px!important;letter-spacing:.22em!important;margin-bottom:14px!important}
  .hero-title{font-size:clamp(50px,14vw,76px)!important;line-height:1.03!important}
  #universe .big{font-size:clamp(39px,11.4vw,62px)!important;line-height:1.08!important}
  .scrollhint{bottom:calc(18px + var(--cael-safe-bottom))!important}
  .map-caption{
    left:max(16px,var(--cael-safe-left))!important;
    right:max(16px,var(--cael-safe-right))!important;
    bottom:calc(16px + var(--cael-safe-bottom))!important;
    max-width:none!important;
  }
  .map-caption .t{font-size:13.5px!important;line-height:1.48!important;max-width:34em!important}
  .drag-hint{font-size:8px!important;letter-spacing:.12em!important}
  .system-drag-hint{left:16px!important;right:16px!important;text-align:center!important;font-size:8px!important}

  .company-summary{
    width:calc(100vw - 36px)!important;
    padding:0 4px!important;
  }
  .company-summary h2{font-size:clamp(40px,11.3vw,62px)!important;line-height:1.09!important}
  .company-summary p{font-size:15px!important;line-height:1.72!important;margin-top:20px!important}
  .company-chapter,.company-chapter.reverse-company{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(220px,36dvh)!important;
    align-content:center!important;gap:12px!important;
    padding:calc(var(--cael-safe-top) + 78px) 18px calc(var(--cael-safe-bottom) + 24px)!important;
  }
  .chapter-copy{max-width:none!important}
  .chapter-copy .eyebrow{font-size:9px!important;margin-bottom:13px!important}
  .chapter-copy h2,html[data-lang="zh"] .chapter-copy h2{
    font-size:clamp(36px,9.8vw,53px)!important;line-height:1.10!important;letter-spacing:-.035em!important;
  }
  .chapter-copy p{font-size:14.5px!important;line-height:1.70!important;margin-top:16px!important}
  .chapter-note{font-size:10px!important;margin-top:14px!important}
  .chapter-visual{height:36dvh!important;min-height:220px!important;max-height:360px!important}
  .frontier-detail-link{min-height:44px!important;padding:0 17px!important;margin-top:14px!important}
  .future-world.lia-world .world-core{width:54px!important;height:54px!important}
  .agency-caption,.civilization-caption,.north-caption{font-size:8px!important}
  .north-principles{gap:10px!important}.north-principles span{font-size:9px!important}

  .final{width:calc(100vw - 34px)!important;padding:0 2px!important}
  .final h2{font-size:clamp(42px,11.8vw,66px)!important;line-height:1.10!important}
  .final p{font-size:15px!important;margin:17px auto 23px!important}
  .final .links{display:grid!important;grid-template-columns:1fr!important;width:min(330px,100%)!important;margin:0 auto!important;gap:8px!important}
  .final .links a,.final .links button{min-height:46px!important;width:100%!important}

  /* ---------- L.I.A. cinema ---------- */
  .lia-cinema,.lia-cinema-scroll{height:100dvh!important}
  .lia-cinema-header{
    height:calc(58px + var(--cael-safe-top))!important;
    padding:var(--cael-safe-top) max(12px,var(--cael-safe-right)) 0 max(12px,var(--cael-safe-left))!important;
    grid-template-columns:auto 1fr auto!important;gap:8px!important;
    background:rgba(2,3,8,.92)!important;
  }
  .lia-cinema-back,.lia-cinema-lang{min-height:42px!important;font-size:9px!important}
  .lia-cinema-back{padding:0 6px!important}
  .lia-cinema-lang{min-width:70px!important;padding:0 8px!important}
  .lia-cinema-brand{font-size:8px!important;gap:6px!important;white-space:nowrap!important}
  .lia-cinema-brand .caelarium-symbol--compact{width:17px!important;height:17px!important}
  .lia-cinema-stage{height:100dvh!important}
  .lia-video-frame{width:100dvw!important;height:100dvh!important}
  .lia-cinema-copy.scene-copy.s1,.lia-cinema-copy.scene-copy.s2,
  .scene-copy{
    left:18px!important;right:18px!important;bottom:calc(50px + var(--cael-safe-bottom))!important;width:auto!important;
  }
  .lia-cinema-copy.scene-copy h1,.lia-cinema-copy.scene-copy h2{
    font-size:clamp(40px,10.5vw,58px)!important;line-height:1.08!important;
  }
  .lia-cinema-copy.scene-copy p{font-size:14px!important;line-height:1.72!important;max-width:100%!important}
  .lia-editorial-sections{padding-top:90dvh!important}
  .lia-editorial-section{min-height:132dvh!important}
  .lia-editorial-section:last-child,.lia-editorial-section.stage-current{min-height:112dvh!important;height:auto!important}
  .lia-roadmap-overlay-copy,.lia-roadmap-overlay-copy.left,.lia-roadmap-overlay-copy.right{
    left:18px!important;right:18px!important;bottom:calc(42px + var(--cael-safe-bottom))!important;width:auto!important;
  }
  .lia-roadmap-overlay-copy h2{font-size:clamp(37px,9.7vw,54px)!important;line-height:1.10!important;max-width:10.8ch!important}
  .lia-roadmap-overlay-copy p,.lia-copy-lead{font-size:14px!important;line-height:1.72!important;max-width:100%!important}
  .lia-copy-note{font-size:11px!important;line-height:1.6!important}
  .lia-cinema-progress,.lia-cinema-chapter{display:none!important}
  .lia-cinema-scrollhint{bottom:calc(10px + var(--cael-safe-bottom))!important}
  .lia-cinema-footer{padding-bottom:calc(28px + var(--cael-safe-bottom))!important}
  .lia-cinema-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lia-cinema-footer-column a{min-height:34px!important;display:flex!important;align-items:center!important}

  /* ---------- L.I.A. Recall cinema ---------- */
  .recall-cinema,.recall-cinema-scroll{height:100dvh!important}
  .recall-cinema-header{
    height:calc(58px + var(--cael-safe-top))!important;
    padding:var(--cael-safe-top) max(12px,var(--cael-safe-right)) 0 max(12px,var(--cael-safe-left))!important;
    background:rgba(2,3,8,.93)!important;
  }
  .recall-cinema-back,.recall-cinema-lang{min-height:42px!important}
  .recall-cinema-brand{font-size:8px!important;gap:6px!important;white-space:nowrap!important}
  .recall-cinema-brand .caelarium-symbol--compact{width:17px!important;height:17px!important}
  .recall-story-section,.recall-story-section.hero-stage{min-height:118dvh!important}
  .recall-story-section.final-stage{min-height:108dvh!important}
  .recall-story-section[data-recall-stage="6"]{min-height:132dvh!important}
  .recall-story-inner,
  .recall-story-section[data-recall-stage="2"] .recall-story-inner{
    height:100dvh!important;
    padding:calc(var(--cael-safe-top) + 78px) 18px calc(var(--cael-safe-bottom) + 42px)!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:22px!important;
    grid-template-columns:1fr!important;
  }
  .recall-story-section[data-recall-stage="2"] .recall-copy{order:0!important;margin-left:0!important;max-width:none!important}
  .recall-story-section[data-recall-stage="2"] .score-orbit{order:1!important;justify-self:auto!important;margin-right:0!important}
  .recall-copy h1{font-size:clamp(43px,11.2vw,62px)!important;line-height:1.08!important}
  .recall-copy h2,.recall-story-inner>h2{font-size:clamp(36px,9.5vw,52px)!important;line-height:1.10!important}
  .recall-copy p,.boundary-inner>p,.final-inner>p{font-size:14.5px!important;line-height:1.72!important;margin-top:18px!important}
  .recall-kicker{font-size:9px!important;margin-bottom:12px!important}
  .recall-visual{max-width:100%!important}
  .quote-field{min-height:300px!important}
  .quote-field article{width:76%!important;padding:13px 14px!important;border-radius:17px!important}
  .quote-field strong{font-size:30px!important}
  .score-orbit{min-height:290px!important}
  .score-ring{width:190px!important;height:190px!important}
  .score-ring strong{font-size:60px!important}
  .reason-stack div{padding:13px 14px!important}.reason-stack b{font-size:14px!important}
  .action-field{min-height:270px!important;padding:5%!important}.action-field span,.action-field strong{height:42px!important;padding:0 14px!important}
  .approval-card{padding:18px!important;border-radius:20px!important}.approval-card button{min-height:42px!important}
  .state-line{gap:7px!important}.state-line b{padding:10px 12px!important}.state-line i{width:14px!important}
  .inbox-card{border-radius:20px!important}.inbox-card header{padding:18px!important}
  .foundation-orbit{height:300px!important;width:100%!important}.foundation-orbit strong{font-size:46px!important}
  .revenue-number strong{font-size:clamp(68px,19vw,104px)!important}
  .recall-cta-row{flex-direction:column!important;align-items:stretch!important;width:min(330px,100%)!important;margin-left:auto!important;margin-right:auto!important}
  .recall-cta-row a{min-height:46px!important;width:100%!important}
  .recall-grain{display:none!important}
  .recall-footer{padding:58px 20px calc(28px + var(--cael-safe-bottom))!important}
  .recall-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .recall-footer-column a{min-height:34px!important;display:flex!important;align-items:center!important}

  /* ---------- Frontier ---------- */
  .frontier-header{
    height:calc(58px + var(--cael-safe-top))!important;
    padding:var(--cael-safe-top) max(14px,var(--cael-safe-right)) 0 max(14px,var(--cael-safe-left))!important;
    background:rgba(2,3,8,.94)!important;
  }
  .frontier-back,.frontier-lang{min-height:42px!important;display:flex!important;align-items:center!important}
  .frontier-lang{justify-content:center!important;min-width:70px!important}
  .frontier-nav{
    top:calc(58px + var(--cael-safe-top))!important;height:48px!important;
    background:rgba(2,3,8,.96)!important;
  }
  .frontier-nav-inner{justify-content:flex-start!important;width:100%!important;padding:0 max(14px,var(--cael-safe-left))!important;gap:22px!important;scroll-padding-inline:42px!important}
  .frontier-nav a{min-height:48px!important;padding:17px 0 14px!important;font-size:10px!important}
  .frontier-cinema{inset:calc(106px + var(--cael-safe-top)) 0 0!important;opacity:.38!important}
  .frontier-cinema .frontier-3d{opacity:.55!important}
  .frontier-hero,.frontier-rule,.frontier-chapter,.frontier-flow,.frontier-access,.frontier-north{
    width:calc(100% - 36px)!important;min-height:108dvh!important;
    padding:calc(var(--cael-safe-top) + 92px) 0 calc(var(--cael-safe-bottom) + 96px)!important;
  }
  .frontier-hero{min-height:calc(100dvh - 106px - var(--cael-safe-top))!important}
  .frontier-hero-copy,.frontier-rule>*,.frontier-copy,.frontier-flow>*,.frontier-access>*,.frontier-north>*,.frontier-hero-note{width:100%!important;margin-left:0!important}
  .frontier-hero h1{font-size:clamp(43px,11.2vw,61px)!important;line-height:1.08!important}
  .frontier-rule h2,.frontier-flow h2,.frontier-access h2,.frontier-north h2,.frontier-copy h2{font-size:clamp(36px,9.4vw,51px)!important;line-height:1.11!important}
  .frontier-lead,.frontier-copy>p:not(.frontier-kicker),.frontier-access>p:not(.frontier-kicker),.frontier-north>p:not(.frontier-kicker){font-size:15px!important;line-height:1.78!important}
  .frontier-index{position:static!important;margin:0 0 10px!important}
  .rule-grid,.frontier-cards.two,.frontier-cards.three{grid-template-columns:1fr!important;gap:14px!important}
  .rule-grid,.frontier-cards,.flow-line,.state-row,.access-equation{margin-top:34px!important}
  .frontier-cards article{padding-top:16px!important}.frontier-cards h3{margin-top:18px!important}
  .state-row{grid-template-columns:1fr!important;gap:7px!important}
  .access-equation{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  .access-equation i{transform:rotate(90deg)!important;margin-left:5px!important}
  .frontier-footer{padding:40px 20px calc(24px + var(--cael-safe-bottom))!important}

  /* ---------- Trust ---------- */
  .trust-header{
    height:calc(58px + var(--cael-safe-top))!important;
    padding:var(--cael-safe-top) max(14px,var(--cael-safe-right)) 0 max(14px,var(--cael-safe-left))!important;
    background:rgba(2,3,8,.94)!important;
  }
  .trust-back,.trust-lang{min-height:42px!important;display:flex!important;align-items:center!important}
  .trust-lang{justify-content:center!important;min-width:70px!important}
  .trust-nav{
    top:calc(58px + var(--cael-safe-top))!important;height:48px!important;
    background:rgba(2,3,8,.96)!important;
  }
  .trust-nav-inner{justify-content:flex-start!important;width:100%!important;padding:0 max(14px,var(--cael-safe-left))!important;gap:22px!important;scroll-padding-inline:42px!important}
  .trust-nav a{min-height:48px!important;padding:17px 0 14px!important;font-size:10px!important}
  .trust-hero-symbol{
    position:fixed!important;top:calc(var(--cael-safe-top) + 118px)!important;
    right:-38vw!important;width:88vw!important;height:62dvh!important;
    opacity:.18!important;pointer-events:none!important;
  }
  .trust-statement,.trust-current,.trust-permission,.trust-security,.trust-future,.trust-no-do,.trust-contact,.trust-chapter,.trust-hero{
    width:calc(100% - 36px)!important;min-height:108dvh!important;
    padding:calc(var(--cael-safe-top) + 94px) 0 calc(var(--cael-safe-bottom) + 98px)!important;
    padding-right:0!important;
  }
  .trust-hero{min-height:calc(100dvh - 106px - var(--cael-safe-top))!important}
  .trust-statement>*,.trust-current>*,.trust-permission>*,.trust-security>*,.trust-future>*,.trust-no-do>*,.trust-contact>*,.trust-chapter>*{max-width:none!important;width:100%!important}
  .trust-hero h1{font-size:clamp(43px,11.2vw,61px)!important;line-height:1.10!important;max-width:none!important}
  .trust-statement h2,.trust-current h2,.trust-security h2,.trust-contact h2,.trust-future h2,.trust-permission-head h2,.trust-chapter-copy h2{font-size:clamp(35px,9.3vw,50px)!important;line-height:1.12!important}
  .trust-hero-lead,.trust-chapter-copy>p:not(.trust-kicker):not(.trust-roadmap-note),.trust-security-lead{font-size:15px!important;line-height:1.78!important}
  .trust-chapter-index{position:static!important;margin-bottom:10px!important}
  .trust-principle-grid,.trust-current-grid,.trust-security-grid,.trust-no-do-grid,.trust-data-columns{margin-top:34px!important}
  .trust-sequence{margin-top:34px!important}.trust-sequence article{grid-template-columns:34px 1fr!important;gap:10px!important}.trust-sequence p{grid-column:2!important}
  .trust-actions{display:grid!important;grid-template-columns:1fr!important}.trust-actions a{min-height:46px!important;width:100%!important;justify-content:center!important}
  .trust-footer{padding:40px 20px calc(24px + var(--cael-safe-bottom))!important}

  /* ---------- Early Access / Business Inquiry ---------- */
  .access-header{
    min-height:calc(58px + var(--cael-safe-top))!important;
    padding:var(--cael-safe-top) max(14px,var(--cael-safe-right)) 0 max(14px,var(--cael-safe-left))!important;
    background:rgba(2,3,8,.94)!important;
  }
  .access-back{min-height:42px!important;display:flex!important;align-items:center!important;max-width:62vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .access-lang{height:42px!important;min-width:70px!important}
  .access-main{min-height:calc(100dvh - 58px - var(--cael-safe-top))!important}
  .access-intro{padding:52px 18px 48px!important}
  .access-mode-switch{margin-bottom:40px!important;gap:18px!important;max-width:100%!important;overflow-x:auto!important}
  .access-mode-switch button{min-height:42px!important;white-space:nowrap!important}
  .access-intro h1{font-size:clamp(41px,10.8vw,58px)!important;line-height:1.10!important;max-width:12ch!important}
  .access-lead{font-size:15px!important;line-height:1.78!important}
  .access-principles{margin-top:42px!important;gap:16px!important}
  .business-story{margin-top:38px!important}
  .access-form-column{padding:48px 18px calc(54px + var(--cael-safe-bottom))!important}
  .form-heading h2,.submission-success h3{font-size:clamp(31px,8.2vw,40px)!important;line-height:1.12!important}
  input,select,textarea,.custom-select-trigger,.custom-select-option{font-size:16px!important}
  input,select,.custom-select-trigger{min-height:50px!important}
  textarea{min-height:138px!important}
  .custom-select-option{min-height:46px!important}
  .custom-select-menu{max-height:min(42dvh,310px)!important}
  .submit-button,.secondary-action,.primary-link{min-height:48px!important;padding:0 18px!important;font-size:12px!important}
  .form-actions{align-items:stretch!important}.submit-button{width:100%!important}
  .submission-success-actions{display:grid!important;grid-template-columns:1fr!important}.secondary-action,.primary-link{width:100%!important}
  .access-footer{padding:24px 18px calc(24px + var(--cael-safe-bottom))!important}
}

@media (max-width: 480px) {
  .brand span{max-width:126px;overflow:hidden;text-overflow:ellipsis}
  .section-nav-inner{grid-template-columns:1fr!important}
  .panel .buttons{grid-template-columns:1fr!important}.panel .buttons .primary{grid-column:auto!important}
  .lia-cinema-brand>strong>span,.recall-cinema-brand>strong>span{display:none!important}
  .lia-cinema-brand>span,.recall-cinema-brand>span{display:none!important}
  .lia-cinema-footer-columns,.recall-footer-columns{grid-template-columns:1fr 1fr!important}
  .frontier-nav-inner,.trust-nav-inner{gap:18px!important}
  .frontier-hero h1,.trust-hero h1{font-size:clamp(40px,10.8vw,54px)!important}
}

@media (max-width: 380px) {
  .brand{font-size:9px!important;letter-spacing:.13em!important}
  .lang-toggle{min-width:64px!important;padding:0 8px!important}
  .lia-cinema-back,.recall-cinema-back{max-width:118px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
  .chapter-copy h2,.frontier-rule h2,.frontier-flow h2,.frontier-access h2,.frontier-north h2,.frontier-copy h2,.trust-statement h2,.trust-current h2,.trust-security h2,.trust-contact h2,.trust-future h2,.trust-permission-head h2,.trust-chapter-copy h2{font-size:34px!important}
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 540px) {
  .chrome{--cael-mobile-chrome:52px}
  .section-nav,.section-nav.show,.section-nav.portrait-open,.section-nav.show.portrait-open{max-height:80dvh!important}
  .company-chapter,.company-chapter.reverse-company{grid-template-columns:.9fr 1.1fr!important;grid-template-rows:1fr!important;padding-top:calc(var(--cael-safe-top) + 62px)!important;gap:16px!important}
  .chapter-visual{height:66dvh!important;max-height:none!important}
  .lia-cinema-copy.scene-copy h1,.lia-cinema-copy.scene-copy h2{font-size:36px!important}
  .lia-roadmap-overlay-copy h2{font-size:34px!important}
  .recall-story-inner,.recall-story-section[data-recall-stage="2"] .recall-story-inner{padding-top:calc(var(--cael-safe-top) + 64px)!important;padding-bottom:calc(var(--cael-safe-bottom) + 24px)!important}
  .recall-copy h1{font-size:38px!important}.recall-copy h2,.recall-story-inner>h2{font-size:34px!important}
  .frontier-hero,.frontier-rule,.frontier-chapter,.frontier-flow,.frontier-access,.frontier-north,.trust-statement,.trust-current,.trust-permission,.trust-security,.trust-future,.trust-no-do,.trust-contact,.trust-chapter,.trust-hero{min-height:132dvh!important}
}

@media (prefers-reduced-motion: reduce) and (max-width: 900px) {
  .section-nav,.panel,.world-popover{transition:opacity 160ms ease!important;transform:none!important}
}


/* ============================================================
   v0.94.1 — Mobile navigation + continuous Frontier/Trust scroll fix
============================================================ */
@media (max-width: 900px) {
  html,body{max-width:100%;overflow-x:hidden!important}

  .section-nav,
  .section-nav.show{
    position:fixed!important;
    top:calc(var(--cael-safe-top) + var(--cael-mobile-chrome) + 8px)!important;
    bottom:auto!important;
    left:calc(var(--cael-safe-left) + 116px)!important;
    right:max(14px,var(--cael-safe-right))!important;
    width:auto!important;
    max-width:300px!important;
    max-height:min(62dvh,520px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    filter:none!important;
    transform:translate3d(0,-10px,0) scale(.985)!important;
    transform-origin:top left!important;
    transition:opacity 170ms var(--ease-out),transform 230ms var(--ease-out),visibility 0s linear 230ms!important;
  }
  .section-nav.portrait-open,
  .section-nav.show.portrait-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:opacity 170ms var(--ease-out),transform 230ms var(--ease-out),visibility 0s!important;
  }
  .section-nav-inner{
    width:100%!important;max-width:none!important;max-height:min(62dvh,520px)!important;
    display:grid!important;grid-template-columns:1fr!important;gap:3px!important;padding:7px!important;
    overflow-y:auto!important;overflow-x:hidden!important;border-radius:20px!important;
    background:#0b0c12!important;border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:0 20px 62px rgba(0,0,0,.52)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  .section-nav-brand{display:none!important}
  .section-nav button{width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:0 13px!important;border-radius:13px!important;text-align:left!important;font-size:10px!important}

  .access-mode-switch{
    width:min(100%,330px)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;margin-bottom:40px!important;padding:4px!important;overflow:visible!important;scrollbar-width:none!important;
    border:1px solid rgba(255,255,255,.10)!important;border-radius:16px!important;background:rgba(255,255,255,.035)!important;
  }
  .access-mode-switch::-webkit-scrollbar{display:none!important}
  .access-mode-switch button{width:100%!important;min-width:0!important;min-height:44px!important;padding:0 10px!important;border-radius:12px!important;color:rgba(255,255,255,.48)!important;font-size:11px!important;line-height:1.15!important;white-space:nowrap!important}
  .access-mode-switch button::after{display:none!important}
  .access-mode-switch button.is-active{color:#fff!important;background:rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 5px 16px rgba(0,0,0,.20)!important}
  .access-header{grid-template-columns:minmax(0,1fr) auto!important;width:100%!important}
  .access-back{min-width:0!important;max-width:calc(100vw - 112px)!important}
  .access-lang{justify-self:end!important}

  .frontier-nav-inner,.trust-nav-inner{overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;scroll-snap-type:none!important}
  .frontier-nav,.trust-nav{touch-action:pan-x pan-y!important}
  .frontier-section,.trust-section,main{touch-action:pan-y pinch-zoom!important}

  .frontier-hero,.frontier-rule,.frontier-chapter,.frontier-flow,.frontier-access,.frontier-north,
  .trust-statement,.trust-current,.trust-permission,.trust-security,.trust-future,.trust-no-do,.trust-contact,.trust-chapter,.trust-hero{
    min-height:calc(100dvh - 106px - var(--cael-safe-top))!important;
    padding-top:calc(var(--cael-safe-top) + 76px)!important;padding-bottom:calc(var(--cael-safe-bottom) + 76px)!important;
  }
  .frontier-hero,.trust-hero{min-height:calc(100dvh - 106px - var(--cael-safe-top))!important;padding-top:calc(var(--cael-safe-top) + 52px)!important}
  .frontier-rule,.frontier-chapter,.frontier-flow,.frontier-access,.frontier-north,
  .trust-statement,.trust-current,.trust-permission,.trust-security,.trust-future,.trust-no-do,.trust-contact,.trust-chapter{height:auto!important}
  .frontier-footer,.trust-footer{touch-action:pan-y pinch-zoom!important}
}

@media (max-width: 480px) {
  .section-nav,.section-nav.show{left:calc(var(--cael-safe-left) + 112px)!important;right:max(12px,var(--cael-safe-right))!important;max-width:none!important}
  .access-mode-switch{width:100%!important}
}


/* ============================================================
   v0.94.2 — Top-anchored mobile menus.
   Homepage, Frontier and Trust use the same hamburger pattern.
============================================================ */
@media (max-width:900px){
  .section-nav,
  .section-nav.show,
  .section-nav.portrait-open,
  .section-nav.show.portrait-open{
    top:calc(var(--cael-safe-top) + var(--cael-mobile-chrome) + 6px)!important;
    bottom:auto!important;
    left:var(--cael-mobile-menu-left,118px)!important;
    right:auto!important;
    width:var(--cael-mobile-menu-width,min(292px,calc(100vw - 132px)))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - var(--cael-safe-top) - var(--cael-mobile-chrome) - 18px)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translate3d(0,-8px,0) scale(.985)!important;transform-origin:top left!important;filter:none!important;
  }
  .section-nav.portrait-open,
  .section-nav.show.portrait-open{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;
  }
  .section-nav-inner{
    max-height:calc(100dvh - var(--cael-safe-top) - var(--cael-mobile-chrome) - 18px)!important;
    overflow-y:auto!important;
  }

  .frontier-header-left,.trust-header-left{justify-self:start;min-width:0;display:flex;align-items:center;gap:8px}
  .frontier-menu-toggle,.trust-menu-toggle{
    display:block!important;width:40px;height:40px;min-width:40px;position:relative;padding:0;border-radius:50%;
    border:1px solid rgba(255,255,255,.13);background:#11121a;color:#fff;cursor:pointer;touch-action:manipulation;
  }
  .frontier-menu-toggle span,.trust-menu-toggle span{
    position:absolute;left:12px;width:14px;height:1px;border-radius:999px;background:rgba(255,255,255,.82);
    transition:transform 190ms var(--ease-out),top 190ms var(--ease-out),opacity 140ms var(--ease-out);
  }
  .frontier-menu-toggle span:nth-child(1),.trust-menu-toggle span:nth-child(1){top:12px}
  .frontier-menu-toggle span:nth-child(2),.trust-menu-toggle span:nth-child(2){top:19px}
  .frontier-menu-toggle span:nth-child(3),.trust-menu-toggle span:nth-child(3){top:26px}
  .frontier-menu-toggle.open span:nth-child(1),.trust-menu-toggle.open span:nth-child(1){top:19px;transform:rotate(45deg)}
  .frontier-menu-toggle.open span:nth-child(2),.trust-menu-toggle.open span:nth-child(2){opacity:0}
  .frontier-menu-toggle.open span:nth-child(3),.trust-menu-toggle.open span:nth-child(3){top:19px;transform:rotate(-45deg)}

  .frontier-header,.trust-header{
    position:sticky!important;top:0!important;z-index:130!important;
    grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;
  }
  .frontier-brand,.trust-brand{display:none!important}
  .frontier-back,.trust-back{min-width:0!important;max-width:calc(100vw - 168px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  .frontier-nav,.trust-nav{
    position:fixed!important;z-index:125!important;
    top:calc(var(--cael-safe-top) + 64px)!important;
    left:var(--story-menu-left,110px)!important;right:auto!important;
    width:var(--story-menu-width,min(300px,calc(100vw - 124px)))!important;height:auto!important;
    max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - var(--cael-safe-top) - 76px)!important;
    border:0!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;overflow:visible!important;
    transform:translate3d(0,-8px,0) scale(.985)!important;transform-origin:top left!important;
    transition:opacity 170ms var(--ease-out),transform 230ms var(--ease-out),visibility 0s linear 230ms!important;
  }
  .frontier-nav::after,.trust-nav::after{display:none!important}
  .frontier-nav.mobile-open,.trust-nav.mobile-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;transition:opacity 170ms var(--ease-out),transform 230ms var(--ease-out),visibility 0s!important}
  .frontier-nav-inner,.trust-nav-inner{
    width:100%!important;height:auto!important;max-height:calc(100dvh - var(--cael-safe-top) - 76px)!important;
    margin:0!important;padding:7px!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important;
    overflow-y:auto!important;overflow-x:hidden!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:20px!important;
    background:#0b0c12!important;box-shadow:0 20px 62px rgba(0,0,0,.52)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  .frontier-nav a,.trust-nav a{
    display:flex!important;align-items:center!important;width:100%!important;min-height:42px!important;padding:0 13px!important;border-radius:13px!important;
    font-size:10px!important;color:rgba(255,255,255,.58)!important;white-space:nowrap!important;overflow:visible!important;
  }
  .frontier-nav a::after,.trust-nav a::after{display:none!important}
  .frontier-nav a.is-active,.trust-nav a.is-active{background:#2b2c36!important;color:#fff!important}

  .frontier-cinema{inset:calc(var(--cael-safe-top) + 58px) 0 0!important}
  .frontier-hero,.frontier-rule,.frontier-chapter,.frontier-flow,.frontier-access,.frontier-north,
  .trust-statement,.trust-current,.trust-permission,.trust-security,.trust-future,.trust-no-do,.trust-contact,.trust-chapter,.trust-hero{
    min-height:calc(100dvh - 58px - var(--cael-safe-top))!important;
    padding-top:calc(var(--cael-safe-top) + 76px)!important;
  }
  .frontier-hero,.trust-hero{min-height:calc(100dvh - 58px - var(--cael-safe-top))!important;padding-top:calc(var(--cael-safe-top) + 58px)!important}
  .trust-hero-symbol{top:calc(var(--cael-safe-top) + 72px)!important}
}
@media (min-width:901px){.frontier-menu-toggle,.trust-menu-toggle{display:none!important}}


/* ============================================================
   v0.94.3 — Frontier / Trust mobile header is truly fixed.
   Preserve the approved layout by replacing the lost sticky-flow
   height with an equal top spacer on the story main element.
============================================================ */
@media (max-width:900px){
  .frontier-header,.trust-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    z-index:180!important;
  }
  .frontier-header ~ main,.trust-header ~ main{
    padding-top:72px!important;
  }
  .frontier-nav,.trust-nav{
    z-index:175!important;
    top:calc(var(--cael-safe-top) + 72px)!important;
  }
  .frontier-cinema{
    inset:calc(var(--cael-safe-top) + 72px) 0 0!important;
  }
  .trust-hero-symbol{
    top:calc(var(--cael-safe-top) + 86px)!important;
  }
}
@media (max-width:640px){
  .frontier-header ~ main,.trust-header ~ main{
    padding-top:64px!important;
  }
  .frontier-nav,.trust-nav{
    top:calc(var(--cael-safe-top) + 64px)!important;
  }
  .frontier-cinema{
    inset:calc(var(--cael-safe-top) + 64px) 0 0!important;
  }
  .trust-hero-symbol{
    top:calc(var(--cael-safe-top) + 78px)!important;
  }
}
