/* Authoritative mobile layer: one source of truth for navigation, panels and layout. */
html body .mobile-panel-scrim{display:none}
@media (max-width:920px), (hover:none) and (pointer:coarse){
  html{overflow-x:clip !important;-webkit-text-size-adjust:100%;scroll-padding-top:78px}
  body{width:100% !important;min-width:0 !important;overflow-x:clip !important}
  body.menu-open,body.news-panel-open,body.history-open{overflow:hidden !important}
  .grain,.ic-premium-noise,.ic-ambient-layer,.ic-cursor-glow,.ic-cursor-ring,
  .ic-fluo-cursor-final,.project-cursor,#fluo-cursor{display:none !important}
  html,html body,html body *{cursor:auto !important}
  header.nav{
    position:sticky !important;top:0 !important;z-index:2147482600 !important;
    width:100% !important;height:76px !important;min-height:76px !important;
    padding:max(10px,env(safe-area-inset-top)) 14px 10px !important;
    grid-template-columns:44px minmax(0,1fr) 44px !important;gap:8px !important;
    overflow:visible !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important
  }
  header.nav .links-left{display:flex !important;grid-column:1 !important;justify-self:start !important;align-items:center !important;width:44px !important;opacity:1 !important}
  header.nav .brand.navbar-brand-inline{
    grid-column:2 !important;justify-self:center !important;display:flex !important;
    width:100% !important;min-width:0 !important;max-width:none !important;height:44px !important;
    gap:6px !important;overflow:hidden !important
  }
  header.nav .brand.navbar-brand-inline .navbar-symbol-img{
    display:block !important;width:30px !important;height:30px !important;
    min-width:30px !important;max-width:30px !important;max-height:30px !important;object-fit:contain !important
  }
  header.nav .brand.navbar-brand-inline .navbar-wordmark{
    display:block !important;min-width:0 !important;white-space:nowrap !important;
    font-size:clamp(17px,4.8vw,20px) !important;line-height:1 !important;
    letter-spacing:-.055em !important;overflow:hidden !important;text-overflow:clip !important
  }
  header.nav .links-right{display:flex !important;grid-column:3 !important;justify-self:end !important;width:44px !important;gap:0 !important;opacity:1 !important}
  header.nav .links-right>.pill{display:none !important}
  header.nav .menu-toggle,header.nav .news-tool-trigger{
    display:grid !important;place-items:center !important;width:44px !important;height:44px !important;
    min-width:44px !important;max-width:44px !important;padding:0 !important;margin:0 !important;
    border-radius:14px !important;transform:none !important
  }
  header.nav .menu-toggle>span:not(.menu-lines){display:none !important}
  header.nav .menu-lines{display:block !important;width:18px !important;height:14px !important;margin:0 !important}
  header.nav .menu-lines::before,header.nav .menu-lines::after{left:0 !important;width:18px !important;height:2px !important}
  header.nav .menu-lines::before{top:2px !important}header.nav .menu-lines::after{top:10px !important;bottom:auto !important}
  body.menu-open header.nav .menu-lines::before{transform:translateY(4px) rotate(45deg) !important}
  body.menu-open header.nav .menu-lines::after{transform:translateY(-4px) rotate(-45deg) !important}
  header.nav .section-menu{
    position:fixed !important;top:calc(76px + env(safe-area-inset-top)) !important;left:12px !important;right:12px !important;
    width:auto !important;min-width:0 !important;max-height:calc(100dvh - 96px) !important;overflow:auto !important;
    display:grid !important;gap:8px !important;padding:10px !important;border-radius:20px !important;
    background:#050505 !important;color:#fff !important;border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.28) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transform:translateY(-8px) !important
  }
  body.menu-open header.nav .section-menu{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:none !important}
  header.nav .section-menu .pill{min-height:48px !important;padding:13px 15px !important;color:#fff !important;border-color:rgba(255,255,255,.28) !important}
  header.nav .links-left>.ic-lang-switcher{
    position:fixed !important;top:342px !important;left:12px !important;z-index:2147482650 !important;
    background:#050505 !important;color:#fff !important;border-color:rgba(255,255,255,.28) !important;
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important
  }
  body.menu-open header.nav .links-left>.ic-lang-switcher{opacity:1 !important;visibility:visible !important;pointer-events:auto !important}
  html body .mobile-panel-scrim{
    appearance:none;position:fixed !important;inset:0 !important;z-index:2147482200 !important;
    display:block !important;width:100% !important;height:100dvh !important;margin:0 !important;padding:0 !important;border:0 !important;
    background:rgba(5,5,5,.42) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transition:none !important
  }
  html body.menu-open .mobile-panel-scrim,html body.news-panel-open .mobile-panel-scrim{
    opacity:1 !important;visibility:visible !important;pointer-events:auto !important
  }
  html body .news-tool-panel{
    position:fixed !important;z-index:2147482400 !important;top:82px !important;left:12px !important;right:12px !important;
    width:auto !important;max-width:none !important;max-height:calc(100dvh - 98px) !important;overflow:auto !important;
    border-radius:22px !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transform:translateY(-8px) scale(.985) !important
  }
  html body.news-panel-open .news-tool-panel{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:none !important}
  body:not(.history-open) .site-blur{opacity:0 !important;visibility:hidden !important;pointer-events:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
  body:not(.history-open) .history-panel{transform:translateX(105%) !important;visibility:hidden !important;pointer-events:none !important}
  body.history-open .site-blur{z-index:2147482800 !important;visibility:visible !important}
  body.history-open .history-panel{z-index:2147483000 !important;visibility:visible !important;pointer-events:auto !important;width:100% !important}
  body.menu-open .floating-talk,body.news-panel-open .floating-talk,body.history-open .floating-talk{opacity:0 !important;visibility:hidden !important;pointer-events:none !important}
  .services{width:100% !important;padding:34px 18px 48px !important;overflow:hidden !important}
  .services .label{margin-bottom:18px !important;font-size:13px !important;letter-spacing:.14em !important}
  .service,.service.reveal,.service.fx-reveal{
    width:100% !important;min-width:0 !important;min-height:126px !important;
    grid-template-columns:74px minmax(0,1fr) !important;grid-template-rows:auto auto !important;
    gap:8px 18px !important;padding:24px 0 !important;opacity:1 !important;visibility:visible !important;transform:none !important
  }
  .service>*{min-width:0 !important}.service-thumb{grid-row:1 / span 2 !important;width:74px !important;height:74px !important;margin:0 !important}
  .service h2{grid-column:2 !important;margin:0 !important;font-size:clamp(30px,8.35vw,36px) !important;line-height:.94 !important;letter-spacing:-.065em !important;white-space:normal !important;overflow-wrap:normal !important}
  .service p{grid-column:2 !important;margin:0 !important;max-width:none !important;font-size:17px !important;line-height:1.2 !important;letter-spacing:-.025em !important}
  footer.footer-redesign{padding:56px 18px calc(24px + env(safe-area-inset-bottom)) !important;overflow:hidden !important}
  footer.footer-redesign .footer-redesign-main{display:grid !important;grid-template-columns:1fr !important;gap:42px !important}
  footer.footer-redesign .footer-logo{width:150px !important;max-width:42vw !important}
  footer.footer-redesign .footer-nav-block{display:grid !important;grid-template-columns:1fr 1fr !important;gap:38px 22px !important}
  footer.footer-redesign .footer-col:last-child{grid-column:1 / -1 !important}
  footer.footer-redesign .footer-redesign-bottom{display:grid !important;grid-template-columns:1fr !important;gap:18px !important;align-items:start !important}
  footer.footer-redesign .footer-legal-links{display:flex !important;flex-wrap:wrap !important;gap:12px 18px !important}
  .floating-talk{right:14px !important;bottom:calc(14px + env(safe-area-inset-bottom)) !important;min-width:0 !important;padding:13px 17px !important;font-size:16px !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
}
@media (max-width:920px) and (orientation:landscape) and (max-height:520px){
  header.nav{height:64px !important;min-height:64px !important;padding:8px 14px !important}
  header.nav .section-menu{top:68px !important;grid-template-columns:1fr 1fr !important;max-height:calc(100dvh - 76px) !important}
  header.nav .links-left>.ic-lang-switcher{top:202px !important}
  html body .news-tool-panel{top:10px !important;bottom:10px !important;max-height:none !important}
  .floating-talk{padding:10px 14px !important}
}
@media (prefers-reduced-motion:reduce){
  .mobile-panel-scrim,.section-menu,.news-tool-panel{transition:none !important;animation:none !important}
}
