/* =====================================================================
 * Lok-N-Blok mobile experience layer
 * 2026-06-05
 *
 * Additive mobile polish: stronger scroll confidence, tactile touch
 * response, cleaner funnel routing, safer light/dark readability, and
 * form ergonomics across the public mobile paths.
 * ===================================================================== */

:root {
  --lnb-touch: 48px;
  --lnb-mobile-pad: clamp(16px, 4.8vw, 22px);
  --lnb-mobile-card: rgba(10, 21, 16, .86);
  --lnb-mobile-card-strong: rgba(13, 28, 20, .94);
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-y: auto;
  scroll-padding-top: 88px;
}

body {
  min-height: 100dvh;
  overscroll-behavior-y: auto;
}

body.lnb-mobile-menu-open {
  overscroll-behavior-y: contain;
}

a, button, input, select, textarea {
  -webkit-tap-highlight-color: rgba(110, 232, 154, .18);
}

@media (hover: none), (pointer: coarse) {
  a, button, .lnb-btn, .btn, .nav-cta, [role="button"] {
    touch-action: manipulation;
  }

  a:active, button:active, .lnb-btn:active, .btn:active, .lnb-v2-track:active,
  .builder-fastlane-grid a:active, .lnb-first-step-card:active {
    transform: translateY(1px) scale(.985);
  }
}

@media (max-width: 760px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  body {
    background:
      radial-gradient(circle at 50% -8%, rgba(110, 232, 154, .14), transparent 34rem),
      linear-gradient(180deg, #050a07, #07110c 42%, #050a07);
    position: relative !important;
    height: auto !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-choice-summary,
  body[data-lnb-home-mobile-clean="1"] .lnb-consumer-guide,
  body[data-lnb-home-mobile-clean="1"] .lnb-pwa-install-card,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-sticky-cta,
  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-more-cue,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-scroll-cue {
    display: none !important;
  }

  body[data-lnb-home-mobile-clean="1"]:has(.lnb-mobile-dock) {
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }

  nav {
    position: sticky !important;
    top: 0 !important;
    padding: max(10px, env(safe-area-inset-top)) 0 10px !important;
  }

  nav .container,
  .lnb-nav {
    min-height: 58px;
  }

  .logo,
  .brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    height: auto !important;
    min-width: 48px !important;
    max-width: calc(100vw - 88px) !important;
    font-size: 1rem !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
  }

  .logo-icon,
  .logo-icon svg,
  .brand-logo {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  .cursor-glow,
  #cursorGlow,
  .mouse-glow,
  .pointer-glow,
  .lnb-hero-sheen {
    display: none !important;
  }

  .mobile-toggle,
  .menu-btn,
  .hamburger,
  .nav-toggle,
  button[aria-label*="menu" i],
  button[aria-label*="navigation" i] {
    min-width: var(--lnb-touch) !important;
    min-height: var(--lnb-touch) !important;
    width: auto !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04)) !important;
    border: 1px solid rgba(110, 232, 154, .22) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
  }

  .mobile-toggle svg,
  .menu-btn svg,
  .hamburger svg,
  .nav-toggle svg {
    width: 22px !important;
    height: 22px !important;
  }

  body > a,
  header a,
  nav a {
    min-height: 44px;
    align-items: center;
  }

  .nav-links.show,
  .lnb-nav .links.open {
    top: calc(100% + 8px) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-height: calc(100dvh - 94px) !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(10,21,16,.985), rgba(5,10,7,.97)) !important;
    border: 1px solid rgba(110,232,154,.22) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.58);
  }

  .nav-links.show a,
  .lnb-nav .links.open a {
    min-height: var(--lnb-touch) !important;
    padding: 12px 13px !important;
    border-radius: 13px !important;
    border: 1px solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.035);
    font-weight: 800 !important;
  }

  .nav-links.show .nav-cta,
  .lnb-nav .links.open .cta {
    background: linear-gradient(135deg, #f0c35a, #d4a843) !important;
    color: #050a07 !important;
    justify-content: center !important;
  }

  [class*="cookie"] button,
  [id*="cookie"] button,
  [class*="consent"] button,
  [id*="consent"] button,
  .privacy button,
  #lnb-prefs-button {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
    font-size: .95rem !important;
  }

  #lnb-prefs-button {
    display: none !important;
  }

  [class*="cookie"] a,
  [id*="cookie"] a,
  [class*="consent"] a,
  [id*="consent"] a,
  a[href^="mailto:"],
  a[href^="tel:"] {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  #lnb-cookie-banner,
  #lnb-cookie-banner :is(.lnb-cb-copy,.lnb-cb-actions,a,button) {
    font-size: .96rem !important;
    line-height: 1.38 !important;
  }

  body.lnb-cookie-visible:has(.lnb-mobile-dock) #lnb-cookie-banner {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    margin: 16px 10px calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    max-height: min(28vh, 180px) !important;
    overflow: auto !important;
    z-index: 10024 !important;
  }

  body.lnb-cookie-visible:has(.lnb-mobile-dock) #lnb-prefs-button {
    display: none !important;
  }

  .lnb-v2-hero {
    min-height: auto !important;
    padding: 64px var(--lnb-mobile-pad) 22px !important;
    overflow: hidden !important;
    contain: paint !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-hero {
    padding: 66px 14px 18px !important;
  }

  .lnb-v2-hero-video {
    inset: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    opacity: .48 !important;
    filter: saturate(1.06) contrast(1.08);
  }

  .lnb-v2-hero-video-scrim {
    background:
      linear-gradient(180deg, rgba(5,10,7,.34), rgba(5,10,7,.82) 46%, rgba(5,10,7,.98)),
      radial-gradient(circle at 48% 16%, rgba(110,232,154,.13), transparent 22rem) !important;
  }

  .lnb-v2-hero .wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }

  .lnb-v2-hero .hero-left,
  .lnb-v2-sub,
  .lnb-v2-tracks,
  .lnb-v2-risk,
  .lnb-v2-proof,
  .lnb-v2-kh,
  .lnb-v2-proof-chips {
    width: 100% !important;
    max-width: 100% !important;
  }

  .lnb-v2-hero .hero-left {
    min-width: 0 !important;
  }

  .lnb-v2-kh {
    order: 1 !important;
    margin: 0 0 8px !important;
    background: linear-gradient(135deg, rgba(57, 43, 12, .86), rgba(9, 18, 13, .92)) !important;
    border-color: rgba(240,195,90,.42) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.33);
    padding: 11px 12px !important;
    gap: 10px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-kh {
    display: none !important;
  }

  .lnb-v2-kh .kh-avatar {
    width: 46px !important;
    height: 46px !important;
  }

  .lnb-v2-kh .kh-kicker {
    font-size: .94rem !important;
    letter-spacing: .16em !important;
  }

  .lnb-v2-kh .kh-name {
    font-size: 1rem !important;
    margin-bottom: 2px !important;
  }

  .lnb-v2-kh .kh-body {
    font-size: 1rem !important;
    line-height: 1.48 !important;
  }

  .lnb-v2-h1 {
    order: 2 !important;
    max-width: 14.5ch;
    font-size: 2.12rem !important;
    line-height: 1.04 !important;
    text-wrap: balance;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-h1 {
    max-width: 12.5ch;
    font-size: 2rem !important;
    line-height: 1.05 !important;
    margin-bottom: 8px !important;
  }

  .lnb-v2-sub {
    order: 3 !important;
    color: rgba(236, 246, 240, .9) !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-sub {
    font-size: 1rem !important;
    line-height: 1.48 !important;
    margin-bottom: 10px !important;
  }

  .lnb-v2-tracks {
    order: 4 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 2px 0 12px !important;
  }

  .lnb-v2-track {
    min-height: 58px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(15, 32, 23, .96), rgba(7, 14, 10, .92)) !important;
    border-color: rgba(110,232,154,.2) !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.22);
  }

  .lnb-v2-track:first-child {
    border-color: rgba(240,195,90,.4) !important;
  }

  .lnb-v2-track .t-ico {
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
  }

  .lnb-v2-track .t-head {
    font-size: 1rem !important;
  }

  .lnb-v2-track .t-sub {
    color: rgba(202, 218, 207, .86) !important;
    font-size: 1rem !important;
    line-height: 1.42 !important;
  }

  .lnb-v2-risk {
    order: 5 !important;
    margin: 0 0 8px !important;
    border-color: rgba(240,195,90,.24) !important;
    background: rgba(240,195,90,.075) !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-risk {
    order: 6 !important;
    font-size: .92rem !important;
    border-radius: 14px !important;
  }

  .lnb-v2-proof-chips {
    order: 6 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 4px 0 10px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof-chips,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof-chips + .lnb-v2-sub {
    display: none !important;
  }

  .lnb-v2-proof-chips a {
    min-height: 58px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.045) !important;
  }

  .lnb-v2-proof {
    order: 7 !important;
    margin-top: 2px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof {
    order: 5 !important;
    padding: 12px !important;
    margin-top: 0 !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-tracks {
    order: 3 !important;
    margin: 2px 0 10px !important;
  }

  .lnb-v2-wind-lab {
    padding: 10px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-wind-canvas-lab {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-wind-canvas-lab .wind-canvas-wrap {
    border-radius: 14px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-wind-canvas-lab #windCanvas {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof-grid {
    display: none !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof-footer {
    display: none !important;
  }

  .wind-lab-stage {
    height: 112px !important;
    overflow: hidden !important;
    contain: paint;
  }

  .wind-debris {
    display: none !important;
  }

  .wind-load-ring {
    left: 8px !important;
    right: auto !important;
    width: 88px !important;
    height: 88px !important;
  }

  .lnb-wall-stack {
    width: 106px !important;
    right: 12px !important;
  }

  .lnb-v2-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .lnb-v2-stat {
    min-height: 62px;
    padding: 9px !important;
  }

  .lnb-v2-stat .v {
    font-size: 1.28rem !important;
  }

  .lnb-v2-stat .l {
    font-size: .96rem !important;
    line-height: 1.28 !important;
  }

  .lnb-v2-scroll-cue {
    position: static !important;
    display: flex !important;
    width: min(100%, 240px);
    justify-content: center;
    margin: 14px auto 0 !important;
    padding: 8px 12px;
    border: 1px solid rgba(110,232,154,.22);
    border-radius: 999px;
    background: rgba(5,10,7,.72);
    color: rgba(232,237,233,.86);
    transform: none !important;
  }

  .lnb-v2-scroll-cue span {
    font-size: .96rem !important;
    letter-spacing: .12em;
  }

  .lnb-v2-scroll-cue span::after {
    content: " for proof";
    letter-spacing: 0;
    text-transform: none;
  }

  .lnb-mobile-cue-pulse {
    animation: lnbMobileCuePulse .9s ease-in-out 2;
  }

  @keyframes lnbMobileCuePulse {
    50% { transform: translateY(5px) !important; border-color: rgba(240,195,90,.55); }
  }

  .lnb-v2-builder-fastlane,
  .lnb-first-step-panel {
    padding: 44px var(--lnb-mobile-pad) !important;
  }

  .lnb-hero {
    padding: 28px var(--lnb-mobile-pad) 18px !important;
  }

  .lnb-hero nav[aria-label="breadcrumb"] {
    display: none !important;
  }

  .lnb-hero:has(+ .lnb-first-step-panel.tight) {
    padding-bottom: 8px !important;
  }

  .lnb-hero:has(+ .lnb-first-step-panel.tight) + .lnb-first-step-panel.tight {
    padding-top: 16px !important;
  }

  .lnb-v2-builder-fastlane .wrap,
  .lnb-first-step-panel .wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .builder-fastlane-copy h2,
  .lnb-first-step-title {
    font-size: 1.86rem !important;
    line-height: 1.08 !important;
    text-wrap: balance;
  }

  .builder-fastlane-copy p,
  .lnb-first-step-copy,
  .lnb-sec p,
  .audience-card p,
  .dev-check p,
  .pro-list-card p,
  .pro-route p,
  .proof p,
  .route p {
    font-size: 1rem !important;
    line-height: 1.58 !important;
  }

  .lnb-first-step-meta {
    display: none !important;
  }

  .fastlane-flow {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }

  .fastlane-flow span {
    min-height: 44px;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 999px;
    background: rgba(110,232,154,.075);
    border: 1px solid rgba(110,232,154,.16);
    font-size: .95rem !important;
    line-height: 1.16 !important;
  }

  .builder-fastlane-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .builder-fastlane-grid a,
  .lnb-first-step-card {
    min-height: 112px !important;
    padding: 16px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(13,28,20,.94), rgba(7,14,10,.9)) !important;
    border-color: rgba(110,232,154,.18) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.2);
  }

  .builder-fastlane-grid a strong,
  .lnb-first-step-card strong {
    font-size: 1.06rem !important;
  }

  .builder-fastlane-grid a span,
  .lnb-first-step-card span {
    font-size: .98rem !important;
    line-height: 1.42 !important;
  }

  .builder-fastlane-grid a small,
  .lnb-first-step-card small {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin-top: 12px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(240,195,90,.09);
    color: #f0c35a !important;
  }

  .lnb-route-receipt {
    padding: 30px var(--lnb-mobile-pad) !important;
  }

  .lnb-route-receipt-inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .lnb-route-receipt-inner div {
    border-radius: 14px;
    background: var(--lnb-mobile-card);
  }

  .lnb-v2-sticky-cta {
    left: 8px !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    z-index: 10020 !important;
    padding: 7px !important;
    border-radius: 18px !important;
    background: rgba(5,10,7,.92) !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.5);
  }

  .lnb-v2-sticky-cta a {
    min-height: 48px !important;
    height: auto !important;
    display: grid;
    place-items: center;
    border-radius: 13px !important;
    font-size: 1rem !important;
  }

  .lnb-call-now-float,
  .sticky-call,
  .floating-call,
  .mobile-cta a,
  .sticky-cta a,
  .dock a,
  footer a {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body:has(.lnb-mobile-dock) .lnb-call-now-float,
  body:has(.lnb-mobile-dock) .sticky-call,
  body:has(.lnb-mobile-dock) .floating-call,
  body:has(.lnb-v2-sticky-cta) .lnb-call-now-float {
    display: none !important;
  }

  .lnb-table-scroll,
  .compare-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 16px !important;
    overscroll-behavior-x: contain;
  }

  .compare-table {
    width: max-content !important;
    min-width: 680px !important;
    max-width: none !important;
  }

  .lnb-table-scroll::after,
  .compare-wrapper::after {
    content: "Swipe to compare";
    position: sticky;
    left: 12px;
    bottom: 8px;
    display: inline-flex;
    margin: 8px 0 0 8px;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(5,10,7,.82);
    color: #f0c35a;
    border: 1px solid rgba(240,195,90,.24);
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    pointer-events: none;
  }

  .wind-section,
  .race-section,
  .how-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .wind-demo-container,
  .race-demo-container,
  .how-animation {
    border-radius: 18px !important;
  }

  #windCanvas,
  #raceCanvas,
  #buildCanvas {
    max-height: 54vh;
    object-fit: contain;
  }
}

@media (max-width: 760px) {
  .audience-hero,
  .dev-hero,
  .pro-hero,
  .info-hero {
    min-height: auto !important;
    padding: 86px var(--lnb-mobile-pad) 34px !important;
    align-items: flex-end !important;
    overflow: visible !important;
  }

  .audience-hero::after,
  .dev-hero::after,
  .pro-hero::before,
  .info-hero::before {
    background: linear-gradient(180deg, rgba(5,10,7,.3), rgba(5,10,7,.82) 44%, #050a07 96%) !important;
  }

  .audience-hero h1,
  .dev-hero h1,
  .pro-hero h1,
  .info-hero h1,
  .hero h1 {
    font-size: 2.42rem !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }

  .audience-hero p,
  .dev-hero p,
  .pro-hero p,
  .info-hero p,
  .kicker {
    font-size: 1.08rem !important;
    line-height: 1.56 !important;
    color: rgba(232, 241, 235, .9) !important;
  }

  .audience-actions,
  .dev-actions,
  .pro-actions,
  .info-hero-actions,
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 9px !important;
  }

  .audience-actions a,
  .dev-actions a,
  .pro-actions a,
  .info-hero-actions a,
  .hero-actions a,
  .lnb-btn {
    width: 100%;
    min-height: 50px !important;
    justify-content: center !important;
    border-radius: 14px !important;
    font-size: 1rem !important;
  }

  .audience-stats,
  .dev-hero-stats,
  .rr,
  .rsvp-strip,
  .pro-rail-grid,
  .info-strip-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .audience-stat,
  .dev-hero-stat,
  .rr-item,
  .pro-rail-grid div,
  .info-strip-grid div {
    border-radius: 13px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: initial !important;
    min-height: 76px;
  }

  .audience-stat strong,
  .dev-hero-stat strong {
    overflow-wrap: anywhere;
  }

  .audience-split,
  .dev-split,
  .intake-wrap,
  .pro-split {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding-left: var(--lnb-mobile-pad) !important;
    padding-right: var(--lnb-mobile-pad) !important;
  }

  .audience-grid,
  .dev-checks,
  .dev-process-grid,
  .pro-routes,
  .pro-list,
  .pro-steps,
  .story {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .audience-card,
  .dev-check,
  .pro-route,
  .pro-list-card,
  .beat,
  .quick-reserve-card,
  .info-quick-card,
  .lnb-form {
    border-radius: 16px !important;
    background: var(--lnb-mobile-card-strong) !important;
    border-color: rgba(110,232,154,.18) !important;
  }

  .quick-reserve-grid,
  .info-quick-card .row {
    grid-template-columns: 1fr !important;
  }

  form input,
  form select,
  form textarea,
  .quick-reserve-card input,
  .info-quick-card input,
  .info-quick-card select,
  .info-quick-card textarea {
    min-height: 50px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
    background: rgba(5,10,7,.9) !important;
  }

  form label,
  .quick-reserve-card label,
  .info-quick-card label {
    font-size: .72rem !important;
    letter-spacing: .08em !important;
    margin-bottom: 7px !important;
  }

  form button,
  .quick-reserve-card button,
  .info-quick-card button {
    min-height: 52px !important;
    border-radius: 14px !important;
  }

  /* Phone-first conversion rails. These classes are applied by
     lnb-mobile-delight.js so older public pages get the same app-like flow. */
  .lnb-mobile-enhanced body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }

  body.lnb-mobile-field-focus .lnb-v2-sticky-cta,
  body.lnb-mobile-field-focus .lnb-mobile-dock,
  body.lnb-mobile-field-focus .mobile-dock,
  body.lnb-mobile-field-focus .dock {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(18px) !important;
  }

  .lnb-mobile-choice-summary {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
  }

  .lnb-mobile-choice-summary a {
    min-height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    color: #e8f5ed;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(110,232,154,.13), rgba(240,195,90,.08));
    border: 1px solid rgba(110,232,154,.2);
    font-weight: 900;
  }

  .lnb-mobile-choice-summary a::after {
    content: "→";
    flex: 0 0 auto;
    color: #f0c35a;
  }

  .lnb-mobile-form-sheet,
  form.lnb-mobile-form-sheet,
  .lnb-form.lnb-mobile-form-sheet,
  .quick-reserve-card.lnb-mobile-form-sheet,
  .info-quick-card.lnb-mobile-form-sheet {
    position: relative;
    margin-top: 10px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    background:
      linear-gradient(180deg, rgba(18,38,27,.96), rgba(7,15,11,.94)) !important;
    border: 1px solid rgba(110,232,154,.24) !important;
    box-shadow: 0 20px 58px rgba(0,0,0,.28);
  }

  .lnb-mobile-form-sheet::before {
    content: "Takes about 30 seconds";
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-bottom: 12px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(110,232,154,.1);
    color: #8ff3b2;
    font-size: .9rem !important;
    line-height: 1.18 !important;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  :is(label,small,.mini-label,.section-label,.lnb-first-step-kicker,.eyebrow,.eyebrow.gold) {
    font-size: max(.94rem, 15px) !important;
    line-height: 1.22 !important;
  }

  .lnb-mobile-field-card {
    border-radius: 14px !important;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.07);
    padding: 10px;
  }

  .lnb-mobile-field-card + .lnb-mobile-field-card {
    margin-top: 8px;
  }

  .lnb-mobile-field-card:focus-within {
    border-color: rgba(110,232,154,.46);
    box-shadow: 0 0 0 3px rgba(110,232,154,.1);
  }

  .lnb-mobile-primary-action {
    position: sticky !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    z-index: 80;
    width: 100% !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.38);
  }

  .lnb-mobile-progression {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 12px 0 0;
  }

  .lnb-mobile-progression span {
    min-height: 42px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid rgba(110,232,154,.16);
    background: rgba(255,255,255,.045);
    color: rgba(232, 241, 235, .84);
    font-size: .96rem;
    line-height: 1.16;
    font-weight: 900;
    text-align: center;
  }

  .lnb-mobile-progression span:first-child {
    background: rgba(110,232,154,.14);
    color: #96f5b8;
  }

  .lnb-mobile-more-cue {
    width: min(100%, 220px);
    min-height: 46px;
    margin: 16px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(110,232,154,.24);
    border-radius: 999px;
    background: rgba(5,10,7,.76);
    color: rgba(232, 241, 235, .92);
    font: inherit;
    font-size: .95rem;
    font-weight: 900;
    box-shadow: 0 12px 34px rgba(0,0,0,.24);
  }

  .lnb-mobile-more-cue strong {
    color: #f0c35a;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .94rem;
  }

  .lnb-mobile-video-deferred {
    filter: saturate(.94) contrast(1.06);
  }

  .lnb-mobile-video-gate {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 8;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid rgba(240,195,90,.34);
    border-radius: 999px;
    background: rgba(5,10,7,.86);
    color: #f5f9f5;
    font: inherit;
    font-size: .95rem;
    font-weight: 950;
    box-shadow: 0 14px 40px rgba(0,0,0,.34);
  }

  .lnb-mobile-video-gate strong {
    color: #f0c35a;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .94rem;
  }

  .lnb-mobile-video-gate.is-loading {
    opacity: .72;
    pointer-events: none;
  }

  .lnb-mobile-enhanced :is(.hero,.page-hero,.team-hero,.deck-hero,.franchise-hero,.affiliate-hero,.partner-hero) {
    min-height: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .lnb-mobile-enhanced :is(.card,.panel,.tile,.proof-card,.resource-card,.team-card,.partner-card,.deck-card,.stat-card) {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  .lnb-mobile-enhanced :is(.card,.panel,.tile,.proof-card,.resource-card,.team-card,.partner-card,.deck-card,.stat-card) :is(h1,h2,h3,h4,p,span,strong,small) {
    max-width: 100%;
  }

  .lnb-mobile-enhanced :is(section,main,article) {
    max-width: 100%;
  }

  html[data-lnb-base="light"] .lnb-mobile-choice-summary a,
  body.light-theme .lnb-mobile-choice-summary a {
    background: #ffffff;
    color: #07110c;
    border-color: rgba(16, 78, 45, .2);
  }

  html[data-lnb-base="light"] .lnb-mobile-form-sheet,
  html[data-lnb-base="light"] form.lnb-mobile-form-sheet,
  html[data-lnb-base="light"] .lnb-form.lnb-mobile-form-sheet,
  html[data-lnb-base="light"] .quick-reserve-card.lnb-mobile-form-sheet,
  html[data-lnb-base="light"] .info-quick-card.lnb-mobile-form-sheet,
  body.light-theme .lnb-mobile-form-sheet,
  body.light-theme form.lnb-mobile-form-sheet,
  body.light-theme .lnb-form.lnb-mobile-form-sheet,
  body.light-theme .quick-reserve-card.lnb-mobile-form-sheet,
  body.light-theme .info-quick-card.lnb-mobile-form-sheet {
    background: #ffffff !important;
    color: #07110c !important;
    border-color: rgba(16, 78, 45, .18) !important;
    box-shadow: 0 18px 48px rgba(12, 33, 22, .12);
  }

  html[data-lnb-base="light"] .lnb-mobile-form-sheet::before,
  body.light-theme .lnb-mobile-form-sheet::before {
    color: #095b31;
    background: rgba(22, 163, 74, .1);
  }

  html[data-lnb-base="light"] .lnb-mobile-field-card,
  body.light-theme .lnb-mobile-field-card {
    background: #f7faf6;
    border-color: rgba(16, 78, 45, .12);
  }

  html[data-lnb-base="light"] .lnb-mobile-more-cue,
  body.light-theme .lnb-mobile-more-cue,
  html[data-lnb-base="light"] .lnb-mobile-video-gate,
  body.light-theme .lnb-mobile-video-gate {
    background: rgba(255,255,255,.94);
    color: #07110c;
    border-color: rgba(136, 103, 26, .24);
    box-shadow: 0 14px 34px rgba(12,33,22,.12);
  }

  html[data-lnb-base="light"] form input,
  html[data-lnb-base="light"] form select,
  html[data-lnb-base="light"] form textarea,
  body.light-theme form input,
  body.light-theme form select,
  body.light-theme form textarea {
    background: #ffffff !important;
    color: #07110c !important;
    border-color: rgba(16, 78, 45, .22) !important;
  }

  html[data-lnb-base="light"] form input::placeholder,
  html[data-lnb-base="light"] form textarea::placeholder,
  body.light-theme form input::placeholder,
  body.light-theme form textarea::placeholder {
    color: rgba(7,17,12,.56) !important;
  }

  html[data-theme="light"] .lnb-hero .kicker,
  html[data-lnb-base="light"] .lnb-hero .kicker,
  body.light-theme .lnb-hero .kicker {
    color: #33463c !important;
    -webkit-text-fill-color: #33463c !important;
    text-shadow: none !important;
  }

  html[data-theme="light"] .lnb-hero .kicker :is(strong,b),
  html[data-lnb-base="light"] .lnb-hero .kicker :is(strong,b),
  body.light-theme .lnb-hero .kicker :is(strong,b) {
    color: #07110c !important;
    -webkit-text-fill-color: #07110c !important;
  }

  html[data-theme="light"] :is(.fastlane-flow span,.lnb-mobile-progression span),
  html[data-lnb-base="light"] :is(.fastlane-flow span,.lnb-mobile-progression span),
  body.light-theme :is(.fastlane-flow span,.lnb-mobile-progression span) {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(16,78,45,.18) !important;
    color: #0d1f17 !important;
    -webkit-text-fill-color: #0d1f17 !important;
    text-shadow: none !important;
  }

  html[data-theme="light"] :is(.fastlane-flow span:first-child,.lnb-mobile-progression span:first-child),
  html[data-lnb-base="light"] :is(.fastlane-flow span:first-child,.lnb-mobile-progression span:first-child),
  body.light-theme :is(.fastlane-flow span:first-child,.lnb-mobile-progression span:first-child) {
    background: #e5f7eb !important;
    border-color: rgba(12,95,51,.2) !important;
    color: #084c28 !important;
    -webkit-text-fill-color: #084c28 !important;
  }
}

html[data-lnb-base="light"] .lnb-v2-track,
html[data-lnb-base="light"] .builder-fastlane-grid a,
html[data-lnb-base="light"] .lnb-first-step-card,
html[data-lnb-base="light"] .audience-card,
html[data-lnb-base="light"] .dev-check,
html[data-lnb-base="light"] .pro-route,
html[data-lnb-base="light"] .pro-list-card,
html[data-lnb-base="light"] .beat,
body.light-theme .lnb-v2-track,
body.light-theme .builder-fastlane-grid a,
body.light-theme .lnb-first-step-card,
body.light-theme .audience-card,
body.light-theme .dev-check,
body.light-theme .pro-route,
body.light-theme .pro-list-card,
body.light-theme .beat {
  background: #ffffff !important;
  color: #07110c !important;
  border-color: rgba(16, 78, 45, .18) !important;
}

html[data-lnb-base="light"] :is(.lnb-v2-track,.builder-fastlane-grid a,.lnb-first-step-card,.audience-card,.dev-check,.pro-route,.pro-list-card,.beat) :is(strong,h1,h2,h3,h4),
body.light-theme :is(.lnb-v2-track,.builder-fastlane-grid a,.lnb-first-step-card,.audience-card,.dev-check,.pro-route,.pro-list-card,.beat) :is(strong,h1,h2,h3,h4) {
  color: #07110c !important;
}

html[data-lnb-base="light"] :is(.lnb-v2-track,.builder-fastlane-grid a,.lnb-first-step-card,.audience-card,.dev-check,.pro-route,.pro-list-card,.beat) :is(span,p,small),
body.light-theme :is(.lnb-v2-track,.builder-fastlane-grid a,.lnb-first-step-card,.audience-card,.dev-check,.pro-route,.pro-list-card,.beat) :is(span,p,small) {
  color: #3d4d43 !important;
}

/* iOS-app mobile shell: broad, last-mile guardrails for pages that were built
   with desktop grids, fixed heroes, or hover navigation. */
@media (max-width: 760px) {
  html.lnb-ios-app,
  html.lnb-ios-app body {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-behavior: auto !important;
  }

  html.lnb-ios-app * {
    box-sizing: border-box;
  }

  html.lnb-ios-app body {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
    -webkit-font-smoothing: antialiased;
  }

  html.lnb-ios-app :is(main, section, article, header, footer, nav, .container, .wrap, .shell, .page, .page-shell, .content, .content-wrap) {
    max-width: 100% !important;
  }

  html.lnb-ios-app :is(section, main, article, .page-section, .panel-section) {
    overflow: visible !important;
  }

  html.lnb-ios-app :is(.hero, .page-hero, .team-hero, .deck-hero, .franchise-hero, .affiliate-hero, .partner-hero, .audience-hero, .dev-hero, .pro-hero, .info-hero, [class$="-hero"]) {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html.lnb-ios-app :is(.container, .wrap, .shell, .page, .content, .content-wrap) {
    width: min(100%, calc(100vw - 28px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.lnb-ios-app :is(h1, .h1, .hero-title, .lnb-v2-h1) {
    max-width: 100% !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  html.lnb-ios-app :is(h2, h3, h4, p, li, small, strong, span, label, button, a) {
    letter-spacing: 0 !important;
    text-wrap: pretty;
  }

  html.lnb-ios-app :is(p, li) {
    max-width: 68ch;
    line-height: 1.52;
  }

  html.lnb-ios-app :is(img, picture, video, canvas, svg, iframe) {
    max-width: 100% !important;
  }

  html.lnb-ios-app :is(img, video, canvas, iframe) {
    height: auto !important;
  }

  html.lnb-ios-app :is(.hero-grid, .split, .two-col, .two-column, .three-col, .feature-grid, .stats-grid, .proof-grid, .team-grid, .partner-grid, .resource-grid, .pricing-grid, .card-grid, .tile-grid, .deck-grid, .loi-grid, .roi-grid, .funnel-grid, .audience-grid, .dev-grid, .pro-grid, .metric-grid, .kpi-grid, .form-grid, .contact-grid),
  html.lnb-ios-app main :is([style*="grid-template-columns"], [style*="grid-template"]) {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  html.lnb-ios-app :is(.row, .split-row, .button-row, .actions, .cta-row, .hero-actions, .nav-actions) {
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }

  html.lnb-ios-app :is(.card, .panel, .tile, .metric, .stat, .proof-card, .resource-card, .team-card, .partner-card, .deck-card, .stat-card, .glass-card, .callout, .notice) {
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 18px !important;
    overflow-wrap: anywhere;
  }

  html.lnb-ios-app :is(input, select, textarea, button, .btn, .lnb-btn, .nav-cta, [role="button"]) {
    min-height: 48px !important;
    border-radius: 14px !important;
  }

  html.lnb-ios-app :is(input, select, textarea) {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
  }

  html.lnb-ios-app nav {
    z-index: 10020 !important;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }

  html.lnb-ios-app :is(nav .container, .lnb-nav, .top-nav, .site-nav, .nav-shell) {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    margin-inline: auto !important;
  }

  html.lnb-ios-app :is(.nav-links.show, .lnb-nav .links.open, .mobile-menu.open, .menu.open) {
    position: fixed !important;
    top: calc(66px + env(safe-area-inset-top, 0px)) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-height: calc(100dvh - 92px - env(safe-area-inset-top, 0px)) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  html.lnb-ios-app :is(.portal-dropdown, .dropdown, .nav-dropdown) {
    width: 100% !important;
  }

  html.lnb-ios-app :is(.portal-trigger, .dropdown-trigger) {
    width: 100% !important;
    justify-content: space-between !important;
  }

  html.lnb-ios-app :is(.portal-menu, .dropdown-menu, .submenu) {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 8px 0 0 !important;
    padding: 8px !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    border-radius: 16px !important;
    background: rgba(3, 11, 7, .92) !important;
    border: 1px solid rgba(110, 232, 154, .16) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.035) !important;
  }

  html.lnb-ios-app :is(.portal-dropdown.mobile-open, .dropdown.mobile-open, .nav-dropdown.mobile-open) :is(.portal-menu, .dropdown-menu, .submenu) {
    display: grid !important;
  }

  html.lnb-ios-app :is(.portal-menu a, .dropdown-menu a, .submenu a) {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    align-items: center !important;
    padding: 10px 12px !important;
  }

  html.lnb-ios-app .lnb-mobile-scroll-region {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }

  html.lnb-ios-app .lnb-mobile-scroll-region > table,
  html.lnb-ios-app .lnb-table-scroll > table {
    width: max-content !important;
    min-width: 680px !important;
    max-width: none !important;
  }

  html.lnb-ios-app .lnb-mobile-scroll-region::after {
    content: "Swipe";
    position: sticky;
    left: 10px;
    bottom: 8px;
    display: inline-flex;
    margin: 8px 0 0;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(5, 10, 7, .82);
    color: #f0c35a;
    border: 1px solid rgba(240, 195, 90, .22);
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
    pointer-events: none;
  }

  html.lnb-ios-app .lnb-mobile-dock {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    z-index: 10025 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 7px;
    padding: 7px;
    border-radius: 20px;
    background: rgba(4, 12, 8, .92);
    border: 1px solid rgba(110, 232, 154, .18);
    box-shadow: 0 18px 54px rgba(0,0,0,.44);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  html.lnb-ios-app .lnb-mobile-dock a {
    min-height: 62px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border-radius: 14px;
    color: #eaf4ed;
    text-decoration: none;
    font-size: .98rem;
    font-weight: 950;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.07);
  }

  html.lnb-ios-app .lnb-mobile-dock a strong {
    display: block;
    max-width: 100%;
    font-size: .96rem;
    line-height: 1.06;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: .78;
  }

  html.lnb-ios-app .lnb-mobile-dock a strong::before {
    content: attr(data-lnb-dock-icon);
  }

  html.lnb-ios-app .lnb-mobile-dock a span {
    display: block;
    max-width: 100%;
    font-size: .96rem;
    line-height: 1.08;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html.lnb-ios-app .lnb-mobile-dock a:nth-child(2) {
    color: #07110c;
    background: linear-gradient(135deg, #f0c35a, #dcae42);
  }

  html.lnb-ios-app .lnb-mobile-dock a:nth-child(4) {
    color: #041008;
    background: linear-gradient(135deg, #5cf09a, #20bf6b);
  }

  html.lnb-ios-app body.lnb-mobile-field-focus .lnb-mobile-dock,
  html.lnb-ios-app body.lnb-mobile-field-focus .lnb-v2-sticky-cta {
    transform: translateY(120%) !important;
    opacity: 0;
    pointer-events: none;
  }

  html[data-lnb-base="light"].lnb-ios-app body,
  html.lnb-ios-app body.light-theme {
    background: linear-gradient(180deg, #fbfdf9, #f4f7f0 52%, #fbfdf9) !important;
    color: #07110c !important;
  }

  html[data-lnb-base="light"].lnb-ios-app :is(.portal-menu, .dropdown-menu, .submenu),
  html.lnb-ios-app body.light-theme :is(.portal-menu, .dropdown-menu, .submenu) {
    background: rgba(255, 255, 255, .96) !important;
    border-color: rgba(16, 78, 45, .14) !important;
    box-shadow: 0 18px 50px rgba(12,33,22,.12) !important;
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-dock,
  html.lnb-ios-app body.light-theme .lnb-mobile-dock {
    background: rgba(255, 255, 255, .94);
    border-color: rgba(16, 78, 45, .13);
    box-shadow: 0 14px 42px rgba(12,33,22,.16);
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-dock a,
  html.lnb-ios-app body.light-theme .lnb-mobile-dock a {
    color: #0a1d12;
    background: rgba(11, 64, 34, .06);
    border-color: rgba(16, 78, 45, .12);
  }

  html[data-theme="light"].lnb-ios-app .lnb-mobile-dock a:not(:first-child):not(:nth-child(2)),
  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-dock a:not(:first-child):not(:nth-child(2)),
  html.lnb-ios-app body.light-theme .lnb-mobile-dock a:not(:first-child):not(:nth-child(2)) {
    background: rgba(255,255,255,.92) !important;
    border-color: rgba(16,78,45,.16) !important;
    color: #0d1f17 !important;
    -webkit-text-fill-color: #0d1f17 !important;
    opacity: 1 !important;
  }

  html[data-theme="light"].lnb-ios-app .lnb-mobile-dock a:not(:first-child):not(:nth-child(2)) :is(strong,span),
  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-dock a:not(:first-child):not(:nth-child(2)) :is(strong,span),
  html.lnb-ios-app body.light-theme .lnb-mobile-dock a:not(:first-child):not(:nth-child(2)) :is(strong,span) {
    color: #0d1f17 !important;
    -webkit-text-fill-color: #0d1f17 !important;
    text-shadow: none !important;
  }

  html.lnb-ios-app .lnb-mobile-scroll-progress {
    position: fixed;
    top: env(safe-area-inset-top, 0px);
    left: 0;
    right: 0;
    z-index: 10050;
    height: 3px;
    pointer-events: none;
    background: transparent;
  }

  html.lnb-ios-app .lnb-mobile-scroll-progress span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, #5cf09a, #f0c35a);
    box-shadow: 0 0 18px rgba(110, 232, 154, .42);
  }

  html.lnb-ios-app body.lnb-mobile-scrolled nav {
    box-shadow: 0 14px 38px rgba(0,0,0,.28) !important;
  }

  html.lnb-ios-app body.lnb-mobile-menu-open {
    overflow: hidden !important;
  }

  .lnb-mobile-menu-sheet {
    position: fixed;
    inset: 0;
    z-index: 10060;
    display: none;
    pointer-events: none;
  }

  .lnb-mobile-menu-sheet.open {
    display: block;
    pointer-events: auto;
  }

  .lnb-mobile-menu-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .56);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .lnb-mobile-menu-panel {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 34px - env(safe-area-inset-top, 0px));
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 9px 12px 14px;
    border: 1px solid rgba(110,232,154,.2);
    border-radius: 26px;
    background:
      linear-gradient(180deg, rgba(15, 35, 24, .98), rgba(4, 12, 8, .98));
    box-shadow: 0 28px 90px rgba(0,0,0,.58);
    transform: translateY(18px);
    opacity: 0;
    transition: transform .2s ease, opacity .2s ease;
  }

  .lnb-mobile-menu-sheet.open .lnb-mobile-menu-panel {
    transform: translateY(0);
    opacity: 1;
  }

  .lnb-mobile-menu-grip {
    width: 42px;
    height: 4px;
    margin: 2px auto 12px;
    border-radius: 999px;
    background: rgba(232, 241, 235, .28);
  }

  .lnb-mobile-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
  }

  .lnb-mobile-menu-head strong {
    display: block;
    color: #f5fbf6;
    font-size: 1.05rem;
    line-height: 1.05;
  }

  .lnb-mobile-menu-head span {
    display: block;
    margin-top: 3px;
    color: rgba(216, 231, 220, .72);
    font-size: .94rem;
  }

  .lnb-mobile-menu-head button {
    flex: 0 0 auto;
    min-height: 42px !important;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    color: #eef7f0;
    font: inherit;
    font-weight: 900;
  }

  .lnb-mobile-menu-grid {
    display: grid;
    gap: 9px;
  }

  .lnb-mobile-menu-grid a {
    min-height: 70px !important;
    display: grid !important;
    gap: 4px;
    align-content: center;
    padding: 12px 14px;
    border-radius: 18px;
    color: #edf7f0;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(110,232,154,.12), rgba(255,255,255,.045));
    border: 1px solid rgba(110,232,154,.16);
  }

  .lnb-mobile-menu-grid a strong {
    font-size: 1.04rem;
    line-height: 1.05;
  }

  .lnb-mobile-menu-grid a span {
    color: rgba(214, 230, 219, .74);
    font-size: .96rem;
    line-height: 1.28;
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-panel,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-panel {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,241,.98));
    border-color: rgba(16, 78, 45, .14);
    box-shadow: 0 24px 70px rgba(12,33,22,.22);
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-head strong,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-head strong,
  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-grid a,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-grid a {
    color: #07110c;
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-head span,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-head span,
  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-grid a span,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-grid a span {
    color: rgba(7,17,12,.66);
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-head button,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-head button {
    background: #ffffff;
    border-color: rgba(16, 78, 45, .16);
    color: #07110c;
  }

  html[data-lnb-base="light"].lnb-ios-app .lnb-mobile-menu-grid a,
  html.lnb-ios-app body.light-theme .lnb-mobile-menu-grid a {
    background: linear-gradient(135deg, rgba(22,163,74,.08), rgba(136,103,26,.04));
    border-color: rgba(16, 78, 45, .13);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wind-stream,
  .wind-debris,
  .lnb-wall-stack span,
  .wind-load-ring,
  .lnb-v2-proof-eyebrow .dot,
  .tag .dot,
  .urgency .dot {
    animation: none !important;
  }
}

/* Final mobile guardrail: keep the homepage hero full-width even when older
   narrow-viewport rules set --lnb-mobile-hero-max. */
@media (max-width: 760px) {
  .lnb-v2-hero .wrap {
    box-sizing: border-box !important;
    flex: 0 0 calc(100vw - 32px) !important;
    align-self: center !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }

  .lnb-v2-hero .hero-left,
  .lnb-v2-kh,
  .lnb-v2-h1,
  .lnb-v2-sub,
  .lnb-v2-tracks,
  .lnb-v2-risk,
  .lnb-v2-proof,
  .lnb-v2-proof-chips {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Homepage iPhone contract: one proof animation, no duplicate route cards,
   no consumer-guide overlay, and the proof canvas appears before path cards. */
@media (max-width: 760px) {
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-hero .hero-left {
    display: contents !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-kh,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof-chips,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof-chips + .lnb-v2-sub,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-hero .hero-left > .lnb-v2-sub,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-hero > .lnb-v2-sub,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-hero .wrap > .lnb-v2-sub,
  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-choice-summary,
  body[data-lnb-home-mobile-clean="1"] .lnb-consumer-guide,
  body[data-lnb-home-mobile-clean="1"] .lnb-pwa-install-card,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-sticky-cta,
  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-more-cue,
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-scroll-cue {
    display: none !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-h1 {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
    font-size: 2.08rem !important;
    line-height: 1.06 !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-sub {
    order: 2 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-wrap: pretty;
    font-size: 1rem !important;
    line-height: 1.42 !important;
    margin: 0 0 8px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-proof {
    order: 3 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-wind-canvas-lab .wind-canvas-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-wind-canvas-lab #windCanvas {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 112px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-wind-canvas-lab > p {
    display: none !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-tracks {
    order: 3 !important;
    display: none !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-v2-risk {
    order: 4 !important;
    margin-top: 2px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-dock a strong {
    display: none !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-dock {
    display: grid !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    overflow: hidden !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-dock a {
    min-width: 0 !important;
    padding: 9px 4px !important;
  }

  body[data-lnb-home-mobile-clean="1"] .lnb-mobile-dock a span {
    font-size: .95rem !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 360px) {
  body[data-lnb-home-mobile-clean="1"] .lnb-v2-h1 {
    font-size: 1.9rem !important;
  }
}
