/* Parser-critical storefront layout. Keep synchronized with the full source styles. */

.storefront-skip-link {
  position: fixed;
  top: max(8px, env(safe-area-inset-top, 0px));
  left: max(8px, env(safe-area-inset-left, 0px));
  z-index: 20000;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 16px;
  border: 2px solid #fff;
  border-radius: 10px;
  color: #fff;
  background: #0f2744;
  box-shadow: 0 8px 24px rgba(15, 39, 68, .3);
  font: 800 1rem/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none;
  transform: translateY(calc(-100% - 24px));
  transition: transform .16s ease-out;
}
.storefront-skip-link:focus,
.storefront-skip-link:focus-visible {
  outline: 3px solid #86efac;
  outline-offset: 3px;
  transform: translateY(0);
}
body.admin-route .storefront-skip-link,
body.order-thread-route .storefront-skip-link { display: none; }

/* cookie-consent-critical */
/* Keep the consent notice in its final fixed position before the app CSS
   arrives. Without this small critical block the parsed banner briefly
   participates in document flow, then jumps into place and becomes CLS/LCP. */
.cookie-banner {
  position: fixed;
  box-sizing: border-box;
  left: 20px;
  right: auto;
  bottom: 20px;
  z-index: 10050;
  width: min(620px, calc(100vw - 40px));
  padding: 14px;
  color: #e2e8f0;
  background: #0f2744;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.34);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  transform: translateY(calc(100% + 40px));
  transition: transform 0.32s cubic-bezier(.4, 0, .2, 1);
  pointer-events: auto;
}
.cookie-banner.visible,
html.cookie-consent-pending .cookie-banner { transform: translateY(0); }
html.cookie-consent-pending .cookie-banner { transition: none; }
.cookie-banner[hidden] { display: none !important; }
.cookie-banner-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  max-width: 1200px;
  margin: 0 auto;
}
.cookie-text { display: flex; align-items: flex-start; min-width: 0; }
.cookie-text > div { min-width: 0; }
.cookie-text strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 1rem;
  line-height: 1.3;
}
.cookie-text p { margin: 0; color: #cbd5e1; font-size: 0.9375rem; line-height: 1.5; }
.cookie-policy-link { color: #86efac; text-decoration: underline; text-underline-offset: 3px; }
.cookie-settings {
  position: fixed;
  left: max(10px, env(safe-area-inset-left, 0px));
  bottom: max(10px, env(safe-area-inset-bottom, 0px));
  z-index: 10040;
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid rgba(15, 39, 68, .24);
  border-radius: 999px;
  color: #0f2744;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 6px 18px rgba(15, 39, 68, .14);
  font: 700 .875rem/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  cursor: pointer;
}
.cookie-settings[hidden],
body.cookie-consent-visible .cookie-settings { display: none !important; }
.cookie-actions { display: flex; gap: 8px; flex-shrink: 0; }
.cookie-btn-decline,
.cookie-btn-accept {
  min-height: 44px;
  padding: 8px 13px;
  border-radius: 10px;
  cursor: pointer;
  font: 700 0.875rem/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  white-space: nowrap;
}
.cookie-btn-decline {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: transparent;
  color: #e2e8f0;
}
.cookie-btn-accept {
  border: 0;
  background: linear-gradient(135deg, #2faa35 0%, #2867b2 100%);
  color: #fff;
}
@media (max-width: 768px) {
  .cookie-banner {
    left: max(10px, env(safe-area-inset-left, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    /* Soft dock FABs: bottom 14px + 48px height — keep consent clear of them */
    bottom: calc(68px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-height: min(42vh, 280px);
    padding: 12px;
    border-radius: 14px;
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.28);
    z-index: 10050;
    overflow-y: auto;
  }
  .cookie-banner-inner { grid-template-columns: 1fr; gap: 10px; }
  .cookie-text strong { font-size: 1rem; }
  .cookie-text p { font-size: 0.9375rem; line-height: 1.45; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
  .cookie-btn-decline,
  .cookie-btn-accept { min-width: 0; width: 100%; min-height: 44px; padding: 8px 10px; font-size: 0.875rem; }
  body.product-route.quote-config-active .cookie-banner {
    bottom: calc(190px + env(safe-area-inset-bottom, 0px));
  }
}
/* A phone held sideways can be wider than the normal mobile breakpoint,
   but its short viewport needs a compact consent card. */
@media (max-height: 600px) and (orientation: landscape) {
  .cookie-banner {
    left: max(8px, env(safe-area-inset-left, 0px));
    right: max(8px, env(safe-area-inset-right, 0px));
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    width: auto;
    max-height: calc(100dvh - 16px);
    padding: 10px;
    border-radius: 12px;
    overflow-y: auto;
  }
  .cookie-banner-inner { grid-template-columns: 1fr; align-items: stretch; gap: 8px; }
  body.product-route.quote-config-active .cookie-banner {
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
  }
  .cookie-text strong { font-size: 0.9375rem; line-height: 1.25; }
  .cookie-text p { font-size: 0.875rem; line-height: 1.35; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px; }
  .cookie-btn-decline,
  .cookie-btn-accept { min-width: 0; width: 100%; min-height: 44px; padding: 8px 9px; font-size: 0.875rem; }
}

/* product-route-fallback-css */
html.product-route-pending, html.product-route-pending body, body.product-route { margin: 0; min-height: 100%; background: #fff; color: #1e293b; font: 16px/1.7 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
html.product-route-pending *, html.product-route-pending *::before, html.product-route-pending *::after, body.product-route *, body.product-route *::before, body.product-route *::after { box-sizing: border-box; }
body.product-route a { color: inherit; text-decoration: none; }
body.product-route img { display: block; max-width: 100%; }
body.product-route .container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 24px; }
body.product-route .global-mesh-bg,
body.product-route #app > #main-content > section:not(.product-detail-page):not(.quote-section),
body.product-route .footer,
body.product-route #back-to-top,
body.product-route .nav-links,
body.product-route .mobile-toggle { display: none !important; }
body.product-route .header { position: fixed; inset: 0 0 auto; z-index: 1000; }
body.product-route .header-top { padding: 8px 0; background: #0f2744; color: #fff; font-size: .82rem; }
body.product-route .header-top-inner,
body.product-route .header-social,
body.product-route .header-nav-inner,
body.product-route .header-actions,
body.product-route .header-contact-item { display: flex; align-items: center; }
body.product-route .header-top-inner { gap: 24px; }
body.product-route .header-contact-item { gap: 6px; min-height: 32px; color: rgba(255,255,255,.8); }
body.product-route .header-social { margin-left: auto; gap: 8px; }
body.product-route .header-nav { background: rgba(255,255,255,.98); border-bottom: 1px solid #e2e8f0; }
body.product-route .header-nav-inner { height: 68px; justify-content: space-between; gap: 8px; }
body.product-route .logo { display: flex; min-height: 44px; align-items: center; flex-shrink: 0; }
body.product-route .logo-img { width: auto; height: 44px; object-fit: contain; }
body.product-route .header-actions { margin-left: auto; justify-content: flex-end; gap: 10px; }
body.product-route .btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 12px; font: 700 .9rem/1.2 system-ui, sans-serif; }
body.product-route .btn-primary { color: #fff; background: linear-gradient(135deg,#3daa35,#2e5eaa); }
body.product-route .btn-outline { border: 1.5px solid #e2e8f0; color: #1e293b; background: #fff; }
body.product-route .product-nav-shell { position: relative; min-height: 56px; background: #2e5eaa; border-bottom: 1px solid rgba(15,39,68,.34); }
body.product-route .product-nav-inner { display: flex; min-height: 56px; max-width: 1600px; align-items: center; justify-content: flex-start; justify-content: safe center; gap: 1px; overflow-x: auto; scrollbar-width: none; }
body.product-route .product-nav-inner::-webkit-scrollbar { display: none; }
body.product-route .product-nav-scroll-control { display: none; }
body.product-route .product-nav-tab { display: flex; min-width: 0; min-height: 56px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0 clamp(10px,.85vw,17px); appearance: none; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #fff; cursor: pointer; font: 700 clamp(.72rem,.72vw,.84rem)/1 system-ui,sans-serif; text-align: center; text-decoration: none; white-space: nowrap; touch-action: manipulation; }
body.product-route .product-nav-label { display: block; }
body.product-route .product-nav-tab:hover,
body.product-route .product-nav-tab.active { border-bottom-color: #8ce18a; background: rgba(255,255,255,.13); color: #fff; }
body.product-route .product-nav-about { margin-left: 4px; border-left: 1px solid rgba(255,255,255,.24); }
body.product-route .product-detail-page { position: relative; min-height: 100vh; padding: 192px 0 52px; background: linear-gradient(180deg,#fff,#f7f9fc); }
body.product-route .product-page-shell { display: grid; gap: 22px; }
body.product-route .product-breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #64748b; font-size: .82rem; }
body.product-route .product-page-primary { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 142px; padding: 22px 24px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
body.product-route .product-page-eyebrow { display: block; margin-bottom: 7px; color: #237020; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.product-route .product-page-primary-copy h1 { margin: 0 0 7px; color: #0f172a; font: 800 clamp(1.8rem,3.4vw,3.15rem)/1 system-ui,sans-serif; }
body.product-route .product-page-primary-copy p { max-width: 720px; margin: 0; color: #64748b; }
body.product-route .product-page-price-note { display: grid; min-width: 180px; padding: 12px 15px; border: 1px solid rgba(34,197,94,.22); border-radius: 10px; background: rgba(34,197,94,.07); }
body.product-route .product-page-price-note span, body.product-route .product-page-price-note strong, body.product-route .product-page-price-note small { display: block; }
body.product-route .product-page-price-note span { color: #237020; font-size: .7rem; font-weight: 800; letter-spacing: .75px; text-transform: uppercase; }
@keyframes sage-prod-spin { to { transform: rotate(360deg); } }
@keyframes sage-prod-skel { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
body.product-route .product-route-loading { margin-top: 4px; }
body.product-route .product-route-loading-card { overflow: hidden; border: 1px solid #b9dcc7; border-radius: 16px; background: #f9fdf9; box-shadow: 0 12px 34px rgba(15,39,68,.08); }
body.product-route .product-route-loading-head { display: flex; align-items: flex-start; gap: 16px; padding: 22px 24px; border-bottom: 1px solid #cfe6d7; background: #f1faf3; }
body.product-route .product-route-loading-spinner { width: 28px; height: 28px; flex: 0 0 28px; margin-top: 4px; border: 3px solid #b8dfc5; border-top-color: #237020; border-radius: 50%; animation: sage-prod-spin .7s linear infinite; }
body.product-route .product-route-loading-kicker { display: block; color: #237020; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
body.product-route .product-route-loading-title { display: block; margin: 3px 0 4px; color: #0f172a; font: 800 clamp(1.2rem,2.4vw,1.55rem)/1.15 system-ui,sans-serif; }
body.product-route .product-route-loading-copy { margin: 0; color: #64748b; font-size: .9rem; }
body.product-route .product-route-loading-skel { display: grid; gap: 14px; padding: 22px 24px 26px; }
body.product-route .product-route-loading-skel-label { width: 38%; height: 12px; border-radius: 999px; background: linear-gradient(90deg,#dbeee1,#eff8f1,#dbeee1); background-size: 200% 100%; animation: sage-prod-skel 1.2s ease-in-out infinite; }
body.product-route .product-route-loading-skel-chips { display: flex; gap: 8px; }
body.product-route .product-route-loading-skel-chips span { height: 44px; flex: 1 1 0; border-radius: 10px; background: linear-gradient(90deg,#dbeee1,#eff8f1,#dbeee1); background-size: 200% 100%; animation: sage-prod-skel 1.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  body.product-route .product-route-loading-spinner,
  body.product-route .product-route-loading-skel-label,
  body.product-route .product-route-loading-skel-chips span { animation: none; }
}
body.product-route .product-fast-builder { overflow: hidden; border: 1px solid #dfe6ee; border-radius: 16px; background: #fff; box-shadow: 0 12px 34px rgba(15,39,68,.08); }
body.product-route .product-fast-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #e7edf3; }
body.product-route .product-fast-heading span { color: #237020; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
body.product-route .product-fast-heading h2,
body.product-route .product-fast-heading h3 { margin: 3px 0 4px; color: #0f172a; font: 800 clamp(1.35rem,2.4vw,1.9rem)/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.product-route .product-fast-heading p { max-width: 680px; margin: 0; color: #64748b; font-size: .9rem; line-height: 1.55; }
body.product-route #product-route-custom-intro { margin-top: 4px; }
body.product-route .product-route-custom-notes { display: grid; gap: 7px; margin: 0; padding: 0 24px 14px; }
body.product-route .product-route-custom-notes > span { color: #0f172a; font-size: .84rem; font-weight: 800; }
body.product-route .product-route-custom-notes textarea { width: 100%; min-height: 110px; resize: vertical; box-sizing: border-box; padding: 12px 13px; color: #1e293b; background: #fff; border: 1.5px solid #dfe6ee; border-radius: 10px; font: 500 .9rem/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.product-route .product-route-custom-notes textarea:focus-visible { outline: 3px solid rgba(46,94,170,.28); outline-offset: 2px; border-color: #2e5eaa; }
body.product-route .product-route-custom-notes small { color: #64748b; font-size: .76rem; line-height: 1.4; }
body.product-route .product-route-custom-actions { display: flex; justify-content: flex-end; padding: 0 24px 22px; }
body.product-route .product-route-custom-actions button { min-width: 220px; min-height: 46px; padding: 11px 18px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#3daa35,#2e5eaa); color: #fff; cursor: pointer; font: 800 .9rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.product-route .product-route-custom-actions button:focus-visible { outline: 3px solid rgba(46,94,170,.32); outline-offset: 3px; }
body.product-route .product-route-custom-actions button:disabled { cursor: wait; opacity: .72; }
@media (max-width:1024px) {
  body.product-route .header-top { display: none; }
  body.product-route .product-detail-page { padding-top: 148px; }
}
@media (max-width:640px) {
  body.product-route .container { padding: 0 16px; }
  body.product-route .header-nav-inner { height: 58px; min-height: 58px; gap: 6px; }
  body.product-route .logo { flex: 1 1 auto; min-width: 0; }
  body.product-route .logo-img { width: min(82px,23vw); height: auto; max-height: 38px; }
  body.product-route .header-actions { gap: 6px; }
  body.product-route .nav-track-order, body.product-route .nav-cta { min-width: 0; padding: 8px 12px; font-size: .82rem; }
  body.product-route .nav-home-link { display: none; }
  body.product-route .product-nav-shell { min-height: 60px; }
  body.product-route .product-page-primary { flex-direction: column; align-items: stretch; min-height: 0; padding: 17px; }
  body.product-route .product-route-loading-head,
  body.product-route .product-route-loading-skel { padding: 17px; }
  body.product-route .product-fast-heading { display: grid; padding: 17px; }
  body.product-route .product-route-custom-notes { padding: 0 17px 12px; }
  body.product-route .product-route-custom-actions { padding: 0 17px 17px; }
  body.product-route .product-route-custom-actions button { width: 100%; min-width: 0; }
  body.product-route .product-nav-inner { min-height: 60px; justify-content: flex-start; gap: 8px; padding-inline: 12px; }
  body.product-route .product-nav-tab { min-height: 44px; padding-inline: 14px; font-size: .9rem; }
  body.product-route .product-detail-page { padding-top: 128px; padding-bottom: 24px; }
}
@media (max-width:640px) {
  :root { --header-height: calc(110px + env(safe-area-inset-top,0px)); }
  body.product-route .header-nav-inner { height:56px; min-height:56px; padding-inline:max(14px,env(safe-area-inset-left,0px)) max(14px,env(safe-area-inset-right,0px)); }
  body.product-route .logo-img { width:min(96px,28vw); max-height:42px; }
  body.product-route .header-actions > :is(.nav-home-link,.nav-cta,.theme-toggle-btn,.lang-toggle-btn) { display:none!important; }
  body.product-route .accessibility-text-toggle { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:6px 9px; border:1.5px solid #d6e0ea; border-radius:10px; background:#fff; color:#0f2744; font:800 .8rem/1 system-ui,sans-serif; }
  body.product-route .product-nav-shell { min-height:54px; }
  body.product-route .product-nav-inner { min-height:44px; }
  body.product-route .product-detail-page { padding-top:110px; }
}

/* home-route-critical-css */
:root { --header-height: 174px; --home-bg: #fff; --home-text: #1e293b; --home-heading: #0f172a; --home-muted: #334155; --home-border: #e2e8f0; }
body.home-route, body.home-route *, body.home-route *::before, body.home-route *::after { box-sizing: border-box; }
:where(body.home-route *) { margin: 0; padding: 0; }
body.home-route { margin: 0; max-width: 100%; overflow: hidden; padding-top: var(--header-height); background: var(--home-bg); color: var(--home-text); font: 16px/1.7 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.home-route a { color: inherit; text-decoration: none; }
body.home-route img { display: block; max-width: 100%; }
body.home-route .ph { display: inline-flex; width: 1em; height: 1em; flex: 0 0 1em; align-items: center; justify-content: center; }
body.home-route .container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 24px; }
body.home-route #app > #main-content > section:not(#hero), body.home-route .footer, body.home-route .seo-content-section, body.home-route .global-mesh-bg, body.home-route .nav-links, body.home-route .mobile-toggle, body.home-route .nav-home-link, body.home-route .hero-scroll-indicator, body.home-route .hero-logos, body.home-route #hero-services, body.home-route #back-to-top { display: none !important; }
body.home-route .header { position: fixed; inset: 0 0 auto; z-index: 1000; }
body.home-route .header-top { padding: 8px 0; background: #0f2744; color: #fff; font-size: .82rem; }
body.home-route .header-top-inner, body.home-route .header-social, body.home-route .header-nav-inner, body.home-route .header-actions, body.home-route .header-contact-item { display: flex; align-items: center; }
body.home-route .header-top-inner { gap: 24px; } body.home-route .header-contact-item { gap: 6px; min-height: 32px; color: rgba(255,255,255,.8); } body.home-route .header-social { margin-left: auto; gap: 8px; }
body.home-route .header-social a { display: grid; min-width: 36px; min-height: 36px; place-items: center; color: rgba(255,255,255,.72); }
body.home-route .home-cart-fab { position: fixed; right: 18px; bottom: 18px; z-index: 1100; display: inline-flex; min-width: 52px; min-height: 52px; align-items: center; justify-content: center; gap: 6px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #fff; background: #0f2744; box-shadow: 0 12px 30px rgba(15,39,68,.28); font: 800 .82rem/1 system-ui,sans-serif; cursor: pointer; }
body.home-route .home-cart-fab span { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 999px; color: #0f2744; background: #7ee2b8; font-size: .72rem; }
body.home-route .header-nav { background: rgba(255,255,255,.98); border-bottom: 1px solid var(--home-border); }
body.home-route .header-nav-inner { height: 68px; justify-content: space-between; gap: 8px; } body.home-route .logo { display: flex; align-items: center; min-height: 44px; flex-shrink: 0; } body.home-route .logo-img { width: auto; height: 44px; object-fit: contain; }
body.home-route .header-actions { margin-left: auto; justify-content: flex-end; gap: 10px; } body.home-route .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 28px; border: 0; border-radius: 12px; font: 600 .95rem/1.2 Outfit, Inter, system-ui, sans-serif; }
body.home-route .btn-primary { color: #fff; background: linear-gradient(135deg,#3daa35,#2e5eaa); } body.home-route .btn-outline { color: var(--home-text); background: rgba(255,255,255,.92); border: 1.5px solid var(--home-border); } body.home-route .nav-track-order { min-height: 44px; padding: 10px 18px; }
body.home-route .product-nav-shell { position: relative; min-height: 56px; background: #2e5eaa; border-bottom: 1px solid rgba(15,39,68,.34); box-shadow: 0 3px 12px rgba(15,39,68,.16); }
body.home-route .product-nav-inner { display: flex; align-items: center; justify-content: safe center; min-height: 56px; overflow-x: auto; scrollbar-width: none; }
body.home-route .product-nav-tab { display: flex; min-height: 56px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0 clamp(10px,.85vw,17px); border: 0; border-bottom: 3px solid transparent; background: transparent; color: #fff; font: 700 clamp(.72rem,.72vw,.84rem)/1 Inter,system-ui,sans-serif; white-space: nowrap; cursor: pointer; touch-action: manipulation; }
body.home-route .product-nav-tab.active,
body.home-route .product-nav-tab:hover { border-bottom-color: #8ce18a; background: rgba(255,255,255,.13); }
body.home-route .product-nav-about { margin-left: 4px; border-left: 1px solid rgba(255,255,255,.24); }
body.home-route .product-mega,
body.product-route .product-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 999; display: none; background: rgba(255,255,255,.99); border-bottom: 1px solid #e2e8f0; box-shadow: 0 24px 60px rgba(15,23,42,.12); }
body.home-route .product-mega.open,
body.product-route .product-mega.open { display: block; }
body.home-route .product-mega-inner,
body.product-route .product-mega-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,300px); gap: 28px; padding: 20px 24px 28px; }
body.home-route .product-mega-skeleton,
body.product-route .product-mega-skeleton { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,300px); gap: 28px; min-height: 280px; }
body.home-route .product-mega-skel-stack,
body.home-route .product-mega-skel-feature,
body.product-route .product-mega-skel-stack,
body.product-route .product-mega-skel-feature { border-radius: 12px; background: linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6); background-size: 200% 100%; }
body.home-route .product-mega-skel-stack,
body.product-route .product-mega-skel-stack { min-height: 240px; }
body.home-route .product-mega-skel-feature,
body.product-route .product-mega-skel-feature { min-height: 220px; }
body.home-route.product-mega-open,
body.product-route.product-mega-open { overflow-y: hidden; }
/* Reserve the exact Sage Worlds stage before the full stylesheet arrives.
   This must stay aligned with src/sage-worlds.css or the first viewport
   shifts by the header height when the deferred CSS finishes loading. */
body.home-route .sage-worlds-hero {
  position: relative;
  isolation: isolate;
  z-index: 0;
  min-height: max(760px,calc(100svh - var(--header-height,174px)));
  height: max(760px,calc(100svh - var(--header-height,174px)));
  margin-top: 0;
  overflow: hidden;
  background: #071421;
}
/* Keep the pre-rendered Sage Worlds layers in their final geometry before
   the deferred scene stylesheet arrives. Without this, the hotspot layer
   participates in document flow and jumps into place after first paint. */
body.home-route .sw-scene-stack,
body.home-route .sw-scene-image,
body.home-route .sw-scene-shade,
body.home-route .sw-scene-content,
body.home-route .sw-hotspot-layer { position: absolute; inset: 0; }
body.home-route .sw-scene-stack { z-index: 0; }
body.home-route .sw-scene-image { width: 100%; height: 100%; object-fit: cover; opacity: 0; }
body.home-route .sw-scene-image.is-active { opacity: 1; }
body.home-route .sw-scene-shade,
body.home-route .sw-scene-content { z-index: 2; }
body.home-route .sw-scene-shade {
  background:
    linear-gradient(90deg,rgba(4,15,27,.94) 0%,rgba(5,19,33,.76) 29%,rgba(4,15,26,.19) 58%,rgba(4,15,26,.16) 100%),
    linear-gradient(0deg,rgba(4,14,25,.97) 0%,rgba(5,18,31,.08) 43%,rgba(4,15,27,.12) 100%);
}
body.home-route .sw-story-panel {
  position: absolute;
  z-index: 4;
  left: max(48px, calc((100vw - 1120px) / 2));
  top: 13%;
  width: min(420px, 34vw);
}
body.home-route .sw-story-panel h1 { margin: 0; color: #fff; font: 750 clamp(2.8125rem,4.35vw,4.25rem)/.96 Outfit,system-ui,sans-serif; }
body.home-route .sw-story-panel h1 em { color: #74ddb2; font-style: normal; }
body.home-route .sw-story-panel p { max-width: 390px; margin: 22px 0 25px; color: #ecf3f8; font-size: 1.0625rem; line-height: 1.55; }
body.home-route .sw-scene-kicker {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px;
  padding: 7px 11px; border: 1px solid rgba(117,222,178,.28); border-radius: 999px;
  color: #b9f2da; background: rgba(23,77,69,.48);
  font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
body.home-route .sw-scene-kicker i { display: none; }
body.home-route .sw-story-actions { width: min(100%,390px); display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 10px; }
body.home-route .sw-story-action {
  min-height: 57px; display: inline-flex; align-items: center; justify-content: center;
  padding: 0 18px; border: 0; border-radius: 8px; color: #fff; background: #0f2744;
  font: 750 1rem/1 system-ui,sans-serif; text-decoration: none; white-space: nowrap;
}
body.home-route .sw-get-quote { background: linear-gradient(135deg,#2f9e44,#2563a8); }
body.home-route .sw-hotspot-layer { pointer-events: none; }
body.home-route .sw-product-hotspot {
  position: absolute;
  left: var(--sw-x);
  top: var(--sw-y);
  transform: translate(-50%,-50%) translateY(8px);
  pointer-events: auto;
}
body.home-route .sw-stage-controls {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 62px;
  width: min(1120px,calc(100vw - 48px));
  height: 76px;
  display: flex;
  align-items: stretch;
  transform: translateX(-50%);
}
body.home-route .sw-stage-caption {
  position: absolute;
  z-index: 4;
  bottom: 20px;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  color: #a9bac9;
  font-size: .75rem;
}
body.home-route .sw-scene-rail {
  min-width: 0;
  display: flex;
  flex: 1;
  overflow-x: auto;
  border: 1px solid rgba(188,210,231,.42);
  border-radius: 15px;
  background: rgba(7,21,36,.86);
}
body.home-route .sw-scene-tab {
  min-width: 178px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border: 0;
  border-right: 1px solid rgba(177,199,220,.16);
  color: #f7fbff;
  background: transparent;
  appearance: none;
  text-align: left;
  font: inherit;
}
body.home-route .sw-scene-tab.is-active { border-radius: 14px; background: linear-gradient(105deg,rgba(62,166,103,.85),rgba(25,75,112,.9)); }
body.home-route .sw-scene-icon {
  width: 42px; height: 48px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.28); border-radius: 9px; background: rgba(255,255,255,.06);
}
body.home-route .sw-scene-icon svg { width: 24px; height: 24px; stroke: #fff; stroke-width: 1.8; fill: none; }
body.home-route .sw-scene-tab strong, body.home-route .sw-scene-tab small { display: block; white-space: nowrap; }
body.home-route .sw-scene-tab strong { color: #fff; font-size: .875rem; font-weight: 600; }
body.home-route .sw-scene-tab small { margin-top: 3px; color: #b7c7d7; font-size: .625rem; }
body.home-route .sw-direction, body.home-route .sw-play {
  position: absolute; display: grid; place-items: center;
  border: 1px solid rgba(198,216,234,.44); color: #fff; background: rgba(7,23,39,.88);
}
body.home-route .sw-direction { top: 16px; width: 44px; height: 44px; border-radius: 50%; }
body.home-route .sw-previous { left: -23px; } body.home-route .sw-next { right: -23px; }
body.home-route .sw-play { right: 305px; top: -45px; width: 44px; height: 44px; border-radius: 9px; }
body.home-route .sw-direction i, body.home-route .sw-play i { display: none; }
body.home-route .sw-product-hotspot {
  display: flex; align-items: center; gap: 10px; padding: 0; border: 0;
  color: #fff; background: transparent; appearance: none;
}
body.home-route .sw-hotspot-pulse {
  position: relative; width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden;
  border: 1.5px solid rgba(255,255,255,.86); border-radius: 50%; background: rgba(8,35,38,.42);
  box-shadow: 0 0 0 7px rgba(61,170,53,.14),0 0 28px rgba(61,170,53,.78); backdrop-filter: blur(5px);
}
body.home-route .sw-hotspot-orb { width: 100%; height: 100%; display: block; pointer-events: none; }
body.home-route .sw-hotspot-label {
  min-height: 35px; display: inline-flex; align-items: center; padding: 0 13px;
  border: 1px solid rgba(198,217,235,.62); border-radius: 999px;
  background: rgba(8,22,38,.72); color: #fff; font: 700 12px/1 system-ui,sans-serif;
}
body.home-route .sw-story-action i { display: none; }
body.home-route .hero { position: relative; display: block; height: 100dvh; min-height: 100dvh; padding-top: var(--header-height); overflow: hidden; --hero-copy: #101827; --hero-muted: #334155; --hero-card-bg: rgba(255,255,255,.78); --hero-card-border: rgba(255,255,255,.68); --hero-word-gradient: linear-gradient(135deg,#2f9e44,#2563a8); --hero-scrim: linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.62) 38%,rgba(255,255,255,.18) 68%,rgba(255,255,255,.08)),linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.1) 62%,rgba(255,255,255,.78)); }
body.home-route .hero-bg, body.home-route .hero-bg-banner, body.home-route .hero-gradient { position: absolute; inset: 0; width: 100%; height: 100%; } body.home-route .hero-bg { z-index: 0; } body.home-route .hero-bg-banner { object-fit: cover; opacity: 1; transform: scale(1.04); } body.home-route .hero-gradient { z-index: 0; background: var(--hero-scrim); }
body.home-route .hero-content { position: relative; z-index: 1; display: grid; width: 100%; min-height: calc(100dvh - var(--header-height)); align-content: center; padding-top: clamp(10px,2vh,18px); padding-bottom: 20px; } body.home-route .hero-text { width: min(100%,620px); min-width: 0; }
body.home-route .hero-badge { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; padding: 6px 14px; border: 1px solid var(--hero-card-border); border-radius: 50px; background: var(--hero-card-bg); color: var(--hero-copy); font-size: .75rem; font-weight: 600; box-shadow: 0 18px 45px rgba(15,23,42,.1); } body.home-route .badge-dot { width: 8px; height: 8px; border-radius: 50%; background: #6fc47a; }
body.home-route .hero h1 { margin: 0 0 10px; color: var(--hero-copy); font: 900 clamp(1.95rem,8.8vw,2.35rem)/1.04 Outfit,Inter,system-ui,sans-serif; } body.home-route .hero-line { display: block; } body.home-route .hero-gradient-text { background: var(--hero-word-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body.home-route .hero-subtitle { max-width: 100%; margin: 0 0 12px; color: var(--hero-muted); font-size: .94rem; line-height: 1.42; } body.home-route .hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; } body.home-route .hero-actions .btn-lg { min-height: 50px; padding: 14px 20px; font-size: .96rem; }
body.home-route .hero-actions .hero-get-quote { min-width: 220px; border: 2px solid #f8d264; border-radius: 8px; color: #fff; background: #0f2744; box-shadow: 0 18px 45px rgba(15,39,68,.22); } body.home-route .hero-actions .hero-track-order { min-width: 180px; background: var(--hero-card-bg); border-color: var(--hero-card-border); color: var(--hero-copy); }
body.home-route .hero-quick-start { width: 100%; max-width: 430px; margin-bottom: 10px; padding: 8px; border: 1px solid var(--hero-card-border); border-radius: 8px; background: var(--hero-card-bg); box-shadow: 0 18px 45px rgba(15,23,42,.1); } body.home-route .hero-quick-start-label { margin: 0 2px 7px; color: var(--hero-muted); font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
body.home-route .hero-quick-start-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; } body.home-route .hero-quick-card { display: flex; align-items: center; gap: 9px; min-height: 52px; padding: 6px 8px; border: 1px solid rgba(61,170,53,.18); border-radius: 8px; background: rgba(255,255,255,.62); color: var(--hero-copy); } body.home-route .hero-quick-icon { display: inline-flex; width: 34px; height: 34px; flex: 0 0 34px; overflow: hidden; border: 1px solid rgba(148,163,184,.22); border-radius: 8px; background: #f8fafc; } body.home-route .hero-quick-icon img { width: 100%; height: 100%; object-fit: cover; } body.home-route .hero-quick-card strong, body.home-route .hero-quick-card small { display: block; line-height: 1.12; } body.home-route .hero-quick-card strong { font-size: .86rem; font-weight: 900; } body.home-route .hero-quick-card small { margin-top: 4px; color: var(--hero-muted); font-size: .7rem; font-weight: 700; } body.home-route .hero-stats { display: none; }
body.home-route #hero [data-animate] { opacity: 1; transform: none; }
.shell-tracker[hidden] { display: none !important; }
.shell-tracker { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); background: rgba(4,13,28,.68); }
.shell-tracker-card { position: relative; width: min(100%,500px); max-height: min(85dvh,720px); overflow-y: auto; padding: 28px; border: 1px solid #dbe4ee; border-radius: 16px; background: #fff; color: #172033; box-shadow: 0 25px 60px rgba(0,0,0,.3); }
.shell-tracker-close { position: absolute; top: 10px; right: 12px; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #475569; font: 700 1.2rem/1 system-ui,sans-serif; }
.shell-tracker-heading { padding: 8px 36px 16px; text-align: center; } .shell-tracker-heading span { display: block; font-size: 2rem; } .shell-tracker-heading h2 { margin: 4px 0; color: #0f172a; font: 800 1.4rem/1.2 Outfit,Inter,system-ui,sans-serif; } .shell-tracker-heading p { margin: 0; color: #475569; font-size: .9rem; }
.shell-tracker-form { display: grid; gap: 12px; } .shell-tracker-form label { display: grid; gap: 6px; color: #172033; font-size: .85rem; font-weight: 800; } .shell-tracker-form input { width: 100%; min-height: 50px; padding: 12px 14px; border: 2px solid #cbd5e1; border-radius: 10px; background: #fff; color: #172033; font: 1rem/1.3 Inter,system-ui,sans-serif; } .shell-tracker-form input:focus { border-color: #2e5eaa; outline: 3px solid rgba(46,94,170,.22); }
.shell-tracker-submit { min-height: 50px; padding: 12px 18px; border: 0; border-radius: 10px; background: #18783a; color: #fff; font: 800 1rem/1.2 Outfit,Inter,system-ui,sans-serif; } .shell-tracker-submit:focus-visible,.shell-tracker-close:focus-visible { outline: 3px solid #f8d264; outline-offset: 3px; }
.shell-tracker-results { margin-top: 16px; } .shell-tracker-message { margin: 0; padding: 14px; border-radius: 10px; background: #f1f5f9; color: #334155; text-align: center; } .shell-tracker-message[data-kind="error"] { background: #fff1f2; color: #9f1239; }
.shell-tracker-order { margin-top: 12px; padding: 14px; border: 1px solid #dbe4ee; border-left: 4px solid #2e5eaa; border-radius: 10px; background: #f8fafc; } .shell-tracker-order h3 { margin: 0 0 6px; color: #0f172a; font-size: 1rem; } .shell-tracker-order p { margin: 4px 0; color: #475569; font-size: .82rem; overflow-wrap: anywhere; }
@media (max-width:1024px) { :root { --header-height: 130px; } body.home-route .header-top { display: none; } }
@media (max-width:760px) {
  body.home-route .sage-worlds-hero { min-height: 720px; height: max(720px,calc(100svh - var(--header-height,118px))); font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  body.home-route .sw-scene-image { object-position: center; }
  body.home-route .sw-scene-shade { background: linear-gradient(180deg,rgba(4,15,27,.94) 0%,rgba(4,15,27,.72) 28%,rgba(4,15,27,.16) 53%,rgba(4,14,25,.88) 100%),linear-gradient(90deg,rgba(4,15,27,.7) 0%,rgba(5,19,33,.22) 76%,rgba(4,15,26,.08) 100%); }
  body.home-route .sw-story-panel { left: 48px; top: 13%; width: min(360px,calc(100vw - 96px)); animation: none; }
  body.home-route .sw-story-panel h1 { max-width: 340px; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: clamp(2.4375rem,12vw,3.25rem); font-weight: 800; letter-spacing: -.04em; }
  body.home-route .sw-story-panel p { display: -webkit-box; max-width: 390px; margin: 14px 0 16px; overflow: hidden; font-size: .92rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
  body.home-route .sw-story-panel p[data-localization-fallback="owner-source"][data-localization-length="long"] { display: block; max-height: none; overflow: visible; overflow-wrap: anywhere; unicode-bidi: isolate; white-space: normal; -webkit-line-clamp: unset; }
  body.home-route .sw-story-actions { width: min(100%,390px); }
  body.home-route .sw-product-hotspot { left: var(--sw-mobile-x); top: var(--sw-mobile-y); min-width: 44px; min-height: 44px; justify-content: center; gap: 0; padding: 4px; opacity: 1; transform: translate(-50%,-50%); animation: none; touch-action: manipulation; }
  body.home-route .sw-hotspot-pulse { width: 44px; height: 44px; }
  body.home-route .sw-hotspot-label { display: none; }
  body.home-route .sw-stage-controls { bottom: 49px; width: calc(100vw - 32px); height: 66px; }
  body.home-route .sw-scene-rail { border-radius: 13px; scroll-snap-type: x proximity; }
  body.home-route .sw-scene-tab { min-width: 0; flex: 0 0 clamp(146px,39vw,168px); overflow: hidden; padding: 8px 10px; gap: 9px; scroll-snap-align: center; }
  body.home-route .sw-scene-tab.is-active { flex-basis: clamp(196px,56vw,220px); }
  body.home-route .sw-scene-icon { width: 38px; height: 45px; flex: 0 0 auto; }
  body.home-route .sw-scene-copy { min-width: 0; flex: 1 1 auto; overflow: hidden; }
  body.home-route .sw-scene-tab strong, body.home-route .sw-scene-tab small { overflow: hidden; text-overflow: ellipsis; }
  body.home-route .sw-scene-tab strong { font-size: .75rem; }
  body.home-route .sw-scene-tab small { font-size: .5625rem; }
  body.home-route .sw-direction { display: none; }
  body.home-route .sw-play { left: 18px; right: auto; top: -45px; }
  body.home-route .sw-play::before { content: 'Ⅱ'; font: 800 15px/1 system-ui,sans-serif; letter-spacing: -2px; }
  body.home-route .sw-play[aria-label^='Resume']::before { content: '▶'; font-size: 13px; letter-spacing: 0; }
  body.home-route .sw-stage-caption { bottom: 17px; width: calc(100vw - 38px); overflow: hidden; text-overflow: ellipsis; text-align: center; }
  body.home-route .home-cart-fab { display: none; }
}
@media (max-width:768px) {
  body.home-route .product-nav-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 6px; min-height: 60px; padding: 6px max(8px,env(safe-area-inset-right,0px)) 6px 0; }
  body.home-route .product-nav-inner { width: 100%; min-width: 0; min-height: 48px; justify-content: flex-start; gap: 7px; padding-left: max(12px,env(safe-area-inset-left,0px)); padding-right: 0; scroll-snap-type: x proximity; scroll-padding-left: max(12px,env(safe-area-inset-left,0px)); }
  body.home-route .product-nav-tab { min-height: 44px; padding: 0 10px; border: 1.5px solid rgba(255,255,255,.22); border-radius: 999px; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: .84rem; }
  body.home-route .product-nav-tab.active { border-color: #9ae69a; background: rgba(255,255,255,.22); box-shadow: inset 0 0 0 1px rgba(154,230,154,.45); }
  body.home-route .product-nav-label { font-size: 0; line-height: 0; white-space: nowrap; }
  body.home-route .product-nav-label::after { content: attr(data-short); font-size: .86rem; font-weight: 800; letter-spacing: .01em; line-height: 1; }
  body.home-route .product-nav-scroll-control:not([hidden]),
  body.product-route .product-nav-scroll-control:not([hidden]) {
    display: inline-flex; min-width: 108px; min-height: 44px; align-items: center; justify-content: center;
    gap: 6px; padding: 0 12px; border: 1px solid rgba(15,39,68,.14); border-radius: 999px;
    color: #0f2744; background: #fff; box-shadow: 0 3px 12px rgba(15,39,68,.2);
    font: 800 .82rem/1 Inter,system-ui,sans-serif;
  }
  body.home-route .product-nav-scroll-glyph,
  body.product-route .product-nav-scroll-glyph { display: inline-flex; font: 900 1.08rem/1 Inter,system-ui,sans-serif; }
}
@media (max-width:640px) { :root { --header-height: calc(128px + env(safe-area-inset-top,0px)); } body.home-route .container { padding: 0 16px; } body.home-route .header { padding-top: env(safe-area-inset-top,0px); } body.home-route .header-nav-inner { height: 58px; min-height: 58px; padding: 0 max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px)); } body.home-route .logo { flex: 1 1 auto; min-width: 0; } body.home-route .logo-img { width: min(96px,28vw); height: auto; max-height: 44px; } body.home-route .header-actions > :not(.nav-track-order):not(.accessibility-text-toggle) { display: none!important; } body.home-route .accessibility-text-toggle { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:6px 9px; border:1.5px solid #d6e0ea; border-radius:10px; background:#fff; color:#0f2744; font:800 .8rem/1 system-ui,sans-serif; } body.home-route .nav-track-order { min-width: 0; min-height: 44px; padding: 8px 12px; font-size: .82rem; } body.home-route .nav-track-order-label { font-size: 0; } body.home-route .nav-track-order-label::after { content: attr(data-short); font-size: .82rem; } body.home-route .product-nav-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 6px; min-height: 60px; padding: 6px max(8px,env(safe-area-inset-right,0px)) 6px 0; } body.home-route .product-nav-inner { width: 100%; min-width: 0; justify-content: flex-start; gap: 8px; padding-left: max(12px,env(safe-area-inset-left,0px)); padding-right: 0; } body.home-route .product-nav-scroll-control:not([hidden]) { position: static; grid-column: 2; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; } body.home-route .product-nav-scroll-control:not([hidden]) [data-product-nav-scroll-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; } body.home-route .hero-actions { flex-direction: column; align-items: stretch; width: 100%; } body.home-route .hero-actions .btn-lg { width: 100%; min-height: 52px; } body.home-route .hero-quick-start-options { grid-template-columns: 1fr; gap: 8px; } body.home-route .hero-quick-card { min-height: 56px; } }
@media (max-width:640px) {
  body.home-route .sw-story-panel { width: min(285px,calc(100vw - 92px)); }
  body.home-route .product-nav-inner { min-height: 56px; gap: 7px; }
  body.home-route .nav-track-order { font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  body.product-route .product-nav-scroll-control:not([hidden]) { width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border-radius:50%; }
  body.product-route .product-nav-scroll-control:not([hidden]) [data-product-nav-scroll-label] { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
}
@media (max-width:390px) { body.home-route .sw-story-panel h1 { font-size: clamp(2.25rem,11.4vw,2.8125rem); } }
@media (max-width:360px) { body.home-route .sw-story-panel { left: max(34px,env(safe-area-inset-left,0px)); top: 11%; width: min(245px,calc(100vw - 68px)); } body.home-route .sw-story-panel h1 { font-size: clamp(2.28rem,12.5vw,2.65rem); line-height: .98; } body.home-route .sw-story-actions { width: min(100%,245px); gap: 6px; } body.home-route .sw-story-action { min-height: 46px; padding-inline: 8px; font-size: .78rem; } }
@media (max-width:480px) { :root { --header-height: calc(128px + env(safe-area-inset-top,0px)); } }
@media (max-width:640px) {
  :root { --header-height: calc(110px + env(safe-area-inset-top,0px)); }
  body.home-route .header-nav-inner { height:56px; min-height:56px; }
  body.home-route .product-nav-shell { min-height:54px; padding-block:5px; }
  body.home-route .product-nav-inner { min-height:44px; }
  body.home-route .sw-story-panel { left:max(24px,env(safe-area-inset-left,0px)); top:10%; width:min(330px,calc(100vw - 48px)); }
}
html[data-text-size="large"] body.home-route .sw-story-panel { width:min(34rem,calc(100vw - 48px)); max-height:none; }
html[data-text-size="large"] body.home-route .sw-story-panel h1 { max-width:100%; overflow-wrap:anywhere; font-size:clamp(2.65rem,5vw,4.25rem)!important; }
html[data-text-size="large"] body.home-route .sw-story-panel p { display:block!important; max-width:38ch; max-height:none; overflow:visible!important; font-size:1.0625rem!important; line-height:1.6!important; -webkit-line-clamp:unset!important; }
html[data-text-size="large"] body.home-route .sw-story-action { min-height:3.5rem; height:auto; padding:.75rem 1rem; white-space:normal; }
html[data-text-size="large"] body.home-route .sw-scene-tab { flex:0 0 auto!important; min-width:11rem; height:auto; }
html[data-text-size="large"] body.home-route .sw-scene-copy,
html[data-text-size="large"] body.home-route .sw-scene-tab strong,
html[data-text-size="large"] body.home-route .sw-scene-tab small { overflow:visible; text-overflow:clip; white-space:normal; }
button[aria-busy="true"], a[aria-busy="true"] { cursor: wait !important; opacity: 0.72; }

/* JavaScript removes .no-js during the first parser phase. */
.no-js [data-animate] { opacity: 1 !important; transform: none !important; }
