/* Eagle Overland — index.html layout. Shared brand tokens: design-system.css */

    :root{
      --gold:#C4A56A;
      --gold-hover:#D3B878;
      --gold-soft:#E7D6AF;
      --gold-rgb:196,165,106;
      --olive:#788064;
      --olive-rgb:120,128,100;
      --bg:#0D0E0D;
      --deep:#131411;
      --panel:#1A1A17;
      --panel-hover:#20201C;
      --panel-top:#20201D;
      --panel-bot:#171815;
      --line:rgba(245,241,232,.11);
      --line-strong:rgba(196,165,106,.38);
      --muted:#AAA397;
      --soft:#DED8CD;
      --white:#F5F1E8;
      --radius:24px;
      --radius-lg:34px;
      --shadow:0 26px 70px rgba(0,0,0,.42);
      --ease:cubic-bezier(.2,.9,.2,1);
      --font-sans:"Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-serif:"Playfair Display", Georgia, serif;
    }

    *{ box-sizing:border-box; }

    html{
      scroll-behavior:smooth;
      color-scheme:light;
    }

    body{
      margin:0;
      color:var(--soft);
      font-family:var(--font-sans);
      line-height:1.62;
      overflow-x:hidden;
      background:radial-gradient(900px 560px at 7% -6%, rgba(var(--gold-rgb),.14), transparent 66%),
        radial-gradient(780px 520px at 94% 6%, rgba(255,255,255,.04), transparent 62%),
        linear-gradient(180deg,#fffdf8 0%,var(--bg) 42%,var(--deep) 100%);
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }

    @supports (overflow:clip){
      body{ overflow-x:clip; }
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-2;
      background:linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.018) 1px, transparent 1px);
      background-size:96px 96px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.45), transparent 72%);
    }

    img{ display:block; max-width:100%; }
    a{ color:inherit; }
    button{ font:inherit; }

    ::selection{ background:rgba(var(--gold-rgb),.26); }

    .grain{
      position:fixed;
      inset:0;
      z-index:-1;
      pointer-events:none;
      opacity:.11;
      mix-blend-mode:overlay;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
    }

    .container{ width:min(1180px,92%); margin-inline:auto; }
    .wide-container{ width:min(1440px,94%); margin-inline:auto; }

    .skip-link{
      position:absolute;
      left:-9999px;
      top:10px;
      padding:10px 14px;
      background:#fffdf8;
      color:#233f35;
      border:1px solid rgba(var(--gold-rgb),.45);
      border-radius:12px;
      z-index:9999;
    }

    .skip-link:focus{
      left:10px;
      outline:none;
      box-shadow:0 0 0 3px rgba(var(--gold-rgb),.25);
    }

    .sr-only{
      position:absolute !important;
      width:1px !important;
      height:1px !important;
      padding:0 !important;
      margin:-1px !important;
      overflow:hidden !important;
      clip:rect(0,0,0,0) !important;
      white-space:nowrap !important;
      border:0 !important;
    }

    :focus{ outline:none; }

    :focus-visible{
      box-shadow:0 0 0 3px rgba(var(--gold-rgb),.24);
      border-radius:12px;
    }

    section[id]{ scroll-margin-top:92px; }

    .section-pad{
      padding:clamp(48px,6vw,88px) 0;
      position:relative;
    }

    .eyebrow{
      margin:0 0 .65rem;
      color:var(--gold);
      text-transform:uppercase;
      letter-spacing:.18em;
      font-size:.72rem;
      font-weight:600;
    }

    .muted{
      color:var(--muted);
      line-height:1.72;
    }

    .gold-rule{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      margin:14px auto 18px;
    }

    .gold-rule .dot{
      width:7px;
      height:7px;
      border-radius:999px;
      background:var(--gold);
    }

    .gold-rule .line{
      width:min(180px,38vw);
      height:1px;
      background:linear-gradient(90deg,transparent,var(--gold),transparent);
    }

    .section-title{
      max-width:920px;
      margin:0 auto clamp(22px,3vw,38px);
      text-align:center;
    }

    .section-title h2{
      margin:.1rem 0 .75rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(1.9rem,3.25vw,3.45rem);
      line-height:1.04;
    }

    .section-title .muted{
      max-width:790px;
      margin-inline:auto;
    }

    .cta-primary,
    .cta-ghost,
    .btn-primary,
    .btn-ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:44px;
      padding:.72rem 1rem;
      border-radius:999px;
      text-decoration:none;
      cursor:pointer;
      font-weight:600;
      white-space:nowrap;
      transition:transform .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease), box-shadow .22s var(--ease), filter .22s var(--ease), background .22s var(--ease);
    }

    .cta-primary,
    .btn-primary{
      border:1px solid rgba(var(--gold-rgb),.55);
      color:#173b32;
      background:linear-gradient(180deg,var(--gold-soft),var(--gold));
      box-shadow:0 16px 32px rgba(var(--gold-rgb),.18), inset 0 1px 0 rgba(35,63,53,0.08);
    }

    .cta-ghost,
    .btn-ghost{
      border:1px solid rgba(35,63,53,0.22000000000000003);
      color:rgba(35,63,53,0.88);
      background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(250,248,242,0.12));
      box-shadow:inset 0 1px 0 rgba(35,63,53,0.05);
    }

    .cta-primary:hover,
    .btn-primary:hover,
    .cta-ghost:hover,
    .btn-ghost:hover{
      transform:translateY(-1px);
      text-decoration:none;
    }

    .cta-primary:hover,
    .btn-primary:hover{
      background:linear-gradient(180deg,#F0E1BC,var(--gold-hover));
    }

    .cta-ghost:hover,
    .btn-ghost:hover{
      border-color:rgba(var(--gold-rgb),.38);
      color:var(--gold-soft);
    }

    .scroll-progress{
      position:fixed;
      inset:0 0 auto 0;
      height:3px;
      z-index:9998;
      background:linear-gradient(90deg, rgba(var(--gold-rgb),0), rgba(var(--gold-rgb),.86));
      transform-origin:left;
      transform:scaleX(0);
      opacity:.86;
      pointer-events:none;
    }

    .reveal{
      opacity:1;
      transform:none;
      transition:opacity .7s var(--ease), transform .7s var(--ease);
    }

    .js-animate .reveal{
      opacity:0;
      transform:translateY(18px);
    }

    .js-animate .reveal.is-visible{
      opacity:1;
      transform:translateY(0);
    }

    /* =========================
       HERO
    ========================== */

    .home-hero{
      position:relative;
      isolation:isolate;
      min-height:100vh;
      min-height:100svh;
      min-height:100dvh;
      display:flex;
      align-items:stretch;
      overflow:hidden;
      background:#fffdf8;
      --hero-x:0px;
      --hero-y:0px;
      --hero-shimmer-op:.09;
      --float-x:0px;
      --float-y:0px;
    }

    .hero-bg-slider{
      position:absolute;
      inset:0;
      z-index:0;
      overflow:hidden;
      background:#fffdf8;
    }

    .home-hero .hero-bg{
      position:absolute;
      inset:0;
      z-index:0;
      width:100%;
      height:100%;
      max-width:none;
      object-fit:cover;
      object-position:center;
      filter:saturate(1.08) contrast(1.12) brightness(.64);
      transform:scale(1.035);
      opacity:0;
      animation:heroBgFade 24s infinite;
      will-change:opacity, transform;
    }

    .home-hero .hero-bg-1{ animation-delay:0s; }
    .home-hero .hero-bg-2{ animation-delay:8s; }
    .home-hero .hero-bg-3{ animation-delay:16s; }

    @keyframes heroBgFade{
      0%{
        opacity:0;
        transform:scale(1.035);
      }
      6%{
        opacity:1;
      }
      31%{
        opacity:1;
      }
      39%{
        opacity:0;
        transform:scale(1.075);
      }
      100%{
        opacity:0;
        transform:scale(1.035);
      }
    }

    .home-hero::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      background:linear-gradient(90deg, rgba(250,248,242,0.98) 0%, rgba(250,248,242,0.94) 24%, rgba(250,248,242,0.7) 48%, rgba(250,248,242,0.44) 72%, rgba(250,248,242,0.88) 100%),
        linear-gradient(180deg, rgba(250,248,242,0.54) 0%, rgba(250,248,242,0.18) 34%, rgba(250,248,242,0.76) 78%, var(--bg) 100%);
    }

    .home-hero::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      background:radial-gradient(960px 560px at calc(18% + var(--hero-x)) calc(18% + var(--hero-y)), rgba(var(--gold-rgb),.20), transparent 64%),
        radial-gradient(720px 460px at calc(78% + var(--hero-x)) calc(20% + var(--hero-y)), rgba(255,255,255,var(--hero-shimmer-op)), transparent 64%),
        linear-gradient(180deg, rgba(250,248,242,0.0) 0%, rgba(250,248,242,0.2) 54%, rgba(250,248,242,0.82) 84%, var(--bg) 100%);
      mix-blend-mode:screen;
    }

    .home-hero-shell{
      position:relative;
      z-index:2;
      width:min(1440px,94%);
      margin:auto;
      padding:clamp(20px,2vw,38px) 0 clamp(56px,6vw,88px);
      display:grid;
      grid-template-columns:minmax(0,1.02fr) minmax(390px,.62fr);
      gap:clamp(34px,5vw,78px);
      align-items:center;
    }

    .home-hero-copy{ max-width:960px; }

    .home-kicker{
      display:inline-flex;
      align-items:center;
      gap:9px;
      margin:0 0 .95rem;
      padding:.48rem .78rem;
      border-radius:999px;
      border:1px solid rgba(var(--gold-rgb),.38);
      background:rgba(250,248,242,0.5);
      color:#233f35;
      font-size:.76rem;
      font-weight:600;
      text-transform:uppercase;
      letter-spacing:.14em;
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
      box-shadow:0 12px 28px rgba(35,63,53,0.08);
    }

    .home-kicker i{ color:var(--gold); }

    .home-hero h1{
      margin:0;
      max-width:1020px;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(3rem,6.5vw,7.35rem);
      line-height:.90;
      letter-spacing:.005em;
      text-wrap:balance;
      text-shadow:none;
    }

    .home-hero .subtitle{
      max-width:790px;
      margin:1.15rem 0 0;
      color:#233f35;
      font-size:clamp(1rem,1.18vw,1.22rem);
      line-height:1.78;
      text-shadow:none;
    }

    .home-hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:1.55rem;
    }

    .home-hero-trust{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:1rem;
      color:#233f35;
      font-size:.86rem;
      font-weight:600;
      text-shadow:none;
    }

    .home-hero-trust span{
      display:inline-flex;
      align-items:center;
      gap:7px;
    }

    .home-hero-trust i{ color:var(--gold); }

    .home-hero-ribbon{
      margin-top:1.65rem;
      display:flex;
      flex-wrap:wrap;
      gap:0;
      border-top:1px solid rgba(35,63,53,0.24);
      border-bottom:1px solid rgba(35,63,53,0.2);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
      box-shadow:0 18px 38px rgba(35,63,53,0.08);
    }

    .home-hero-ribbon span{
      display:flex;
      align-items:center;
      gap:9px;
      padding:13px 18px;
      color:#233f35;
      border-right:1px solid rgba(35,63,53,0.2);
      background:rgba(250,248,242,0.24);
      font-size:.88rem;
      font-weight:600;
    }

    .home-hero-ribbon span:last-child{ border-right:0; }
    .home-hero-ribbon i{ color:var(--gold); }

    .hero-visual{
      position:relative;
      min-height:610px;
      display:grid;
      align-items:center;
      justify-items:center;
      transform:translate3d(var(--float-x), var(--float-y), 0);
      transition:transform .12s linear;
    }

    .hero-visual::before{
      content:"";
      position:absolute;
      inset:11% 4% 8% 8%;
      border-radius:46px;
      background:radial-gradient(520px 260px at 20% 0%, rgba(var(--gold-rgb),.24), transparent 64%),
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
      border:1px solid rgba(var(--gold-rgb),.22);
      box-shadow:0 30px 74px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.08);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
    }

    .hero-rate-card{
      position:absolute;
      left:0;
      bottom:6%;
      z-index:5;
      width:min(330px,88%);
      border-radius:28px;
      padding:20px;
      background:radial-gradient(420px 200px at 10% 0%, rgba(var(--gold-rgb),.20), transparent 64%),
        linear-gradient(180deg, rgba(250,248,242,0.92), rgba(250,248,242,0.86));
      border:1px solid rgba(var(--gold-rgb),.28);
      box-shadow:0 22px 54px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.07);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
    }

    .hero-rate-card small{
      color:var(--muted);
      letter-spacing:.13em;
      text-transform:uppercase;
      font-weight:600;
      font-size:.68rem;
    }

    .hero-rate-card strong{
      display:block;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(2.45rem,4vw,4rem);
      line-height:.94;
      margin:.25rem 0 .15rem;
      text-shadow:none;
    }

    .hero-rate-card span{
      display:block;
      color:#233f35;
      font-weight:600;
      margin-bottom:.5rem;
    }

    .hero-rate-card p{
      margin:0;
      color:var(--muted);
      font-size:.82rem;
      line-height:1.52;
    }

    .hero-floating-images{
      position:relative;
      width:min(520px,100%);
      height:560px;
      z-index:3;
    }

    .hero-float-img{
      position:absolute;
      overflow:hidden;
      border-radius:28px;
      border:1px solid rgba(var(--gold-rgb),.30);
      background:#fffdf8;
      box-shadow:0 24px 60px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.08);
      isolation:isolate;
      animation:heroFloat 7s ease-in-out infinite;
      will-change:transform;
      margin:0;
    }

    .hero-float-img::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:2;
      pointer-events:none;
      background:radial-gradient(320px 180px at 18% 10%, rgba(var(--gold-rgb),.18), transparent 60%),
        linear-gradient(180deg, rgba(250,248,242,0.05), rgba(250,248,242,0.58));
    }

    .hero-float-img::after{
      content:"";
      position:absolute;
      inset:9px;
      z-index:3;
      border-radius:20px;
      border:1px solid rgba(var(--gold-rgb),.28);
      pointer-events:none;
    }

    .hero-float-img img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:saturate(1.08) contrast(1.12) brightness(.84);
      transform:scale(1.04);
    }

    .hero-float-img figcaption{
      position:absolute;
      left:14px;
      right:14px;
      bottom:14px;
      z-index:4;
      display:flex;
      align-items:center;
      gap:7px;
      color:#233f35;
      font-size:.72rem;
      font-weight:600;
      text-shadow:none;
    }

    .hero-float-img figcaption i{ color:var(--gold); }

    .hero-float-img.one{
      width:54%;
      height:210px;
      top:2%;
      left:8%;
      animation-delay:-.7s;
    }

    .hero-float-img.two{
      width:45%;
      height:270px;
      top:17%;
      right:0;
      animation-delay:-2s;
    }

    .hero-float-img.three{
      width:50%;
      height:230px;
      left:0;
      bottom:16%;
      animation-delay:-3.4s;
    }

    .hero-float-img.four{
      width:47%;
      height:190px;
      right:8%;
      bottom:4%;
      animation-delay:-5s;
    }

    @keyframes heroFloat{
      0%,100%{ transform:translate3d(0,0,0) rotate(var(--r,0deg)); }
      50%{ transform:translate3d(0,-14px,0) rotate(calc(var(--r,0deg) + .65deg)); }
    }

    .hero-float-img.one{ --r:-4deg; }
    .hero-float-img.two{ --r:3deg; }
    .hero-float-img.three{ --r:2deg; }
    .hero-float-img.four{ --r:-2deg; }

    .hero-mini-badge{
      position:absolute;
      top:10%;
      right:10%;
      z-index:6;
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:.52rem .72rem;
      border-radius:999px;
      color:#173b32;
      background:linear-gradient(180deg, rgba(var(--gold-rgb),1), rgba(var(--gold-rgb),.72));
      font-size:.76rem;
      font-weight:600;
      box-shadow:0 16px 34px rgba(35,63,53,0.08);
    }

    .home-hero-fade{
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      z-index:3;
      height:190px;
      pointer-events:none;
      background:linear-gradient(180deg, rgba(250,248,242,0.0) 0%, rgba(250,248,242,0.38) 36%, rgba(250,248,242,0.78) 70%, var(--bg) 100%);
    }

    /* =========================
       TRUST STRIP
    ========================== */

    .trust-strip{
      margin-top:clamp(-40px,-3vw,-18px);
      position:relative;
      z-index:6;
    }

    .trust-grid{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:1px;
      overflow:hidden;
      border-radius:var(--radius-lg);
      border:1px solid rgba(35,63,53,0.18);
      background:rgba(255,255,255,.08);
      box-shadow:0 26px 56px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.04);
    }

    .trust-item{
      padding:18px 16px;
      min-height:104px;
      background:rgba(250,248,242,0.78);
    }

    .trust-item i{
      color:var(--gold);
      font-size:1.22rem;
    }

    .trust-item span{
      display:block;
      color:var(--muted);
      font-size:.7rem;
      letter-spacing:.1em;
      text-transform:uppercase;
      font-weight:600;
      margin-top:8px;
    }

    .trust-item strong{
      display:block;
      color:var(--white);
      margin-top:3px;
      line-height:1.25;
      font-size:.92rem;
    }

    /* =========================
       EDITORIAL / SHARED SECTIONS
    ========================== */

    .editorial-section,
    .planning-open,
    .final-drive-cta,
    .camping-gear-section,
    .soft-editorial-section{
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }

    .editorial-section,
    .soft-editorial-section{
      background:radial-gradient(760px 420px at 12% 12%, rgba(var(--gold-rgb),.10), transparent 66%),
        radial-gradient(680px 420px at 92% 18%, rgba(255,255,255,.035), transparent 64%);
    }

    .editorial-section::before,
    .planning-open::before,
    .final-drive-cta::before,
    .camping-gear-section::before,
    .soft-editorial-section::before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(var(--gold-rgb),.48), transparent);
      opacity:.9;
    }

    .editorial-section::after,
    .planning-open::after,
    .final-drive-cta::after,
    .camping-gear-section::after,
    .soft-editorial-section::after{
      content:"";
      position:absolute;
      inset:auto -10% -28% auto;
      width:440px;
      height:440px;
      background:url('/assets/brand/logo.png') center/contain no-repeat;
      opacity:.045;
      pointer-events:none;
      transform:rotate(-10deg);
    }

    .editorial-grid,
    .planning-open-grid,
    .final-drive-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);
      gap:clamp(28px,5vw,74px);
      align-items:center;
    }

    .editorial-copy,
    .planning-copy,
    .final-drive-copy{ max-width:860px; }

    .editorial-copy h2,
    .planning-copy h2,
    .final-drive-copy h2{
      margin:.15rem 0 1rem;
      max-width:860px;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(2.1rem,4vw,4.6rem);
      line-height:.98;
      text-shadow:none;
    }

    .editorial-copy p,
    .planning-copy p,
    .final-drive-copy p{
      max-width:78ch;
      font-size:1rem;
    }

    .editorial-points,
    .planning-points,
    .final-drive-points{
      position:relative;
      padding:clamp(10px,2vw,20px) 0 0 clamp(18px,2.6vw,36px);
    }

    .editorial-line{
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:1px;
      background:linear-gradient(180deg, rgba(var(--gold-rgb),.85), rgba(var(--gold-rgb),.08));
    }

    .seo-list{
      display:grid;
      gap:14px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .seo-list li{
      display:flex;
      align-items:flex-start;
      gap:12px;
      color:var(--soft);
      line-height:1.65;
      padding-bottom:14px;
      border-bottom:1px solid rgba(35,63,53,0.15000000000000002);
    }

    .seo-list li:last-child{
      border-bottom:0;
      padding-bottom:0;
    }

    .seo-list i{
      color:var(--gold);
      margin-top:.22rem;
      flex:0 0 auto;
    }

    .editorial-section a,
    .fleet-section a,
    .faq-section a{
      color:var(--gold);
      text-decoration:none;
      font-weight:600;
    }

    .editorial-section a:hover,
    .fleet-section a:hover,
    .faq-section a:hover{ text-decoration:underline; }

    /* =========================
       SOFT FIT + SAFETY SECTIONS
    ========================== */

    .soft-split{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
      gap:clamp(26px,5vw,70px);
      align-items:start;
    }

    .soft-copy{
      position:sticky;
      top:110px;
    }

    .soft-copy h2{
      margin:.15rem 0 1rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(2rem,4vw,4.25rem);
      line-height:.98;
      text-shadow:none;
    }

    .soft-copy .muted{ max-width:66ch; }

    .soft-list{
      display:grid;
      gap:12px;
    }

    .soft-row{
      display:grid;
      grid-template-columns:44px minmax(0,1fr);
      gap:14px;
      align-items:start;
      padding:16px 0;
      border-bottom:1px solid rgba(35,63,53,0.16);
    }

    .soft-row:first-child{ padding-top:0; }

    .soft-row:last-child{
      border-bottom:0;
      padding-bottom:0;
    }

    .soft-row-icon{
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
      border-radius:999px;
      color:var(--gold);
      background:rgba(var(--gold-rgb),.085);
      border:1px solid rgba(var(--gold-rgb),.20);
      box-shadow:inset 0 1px 0 rgba(35,63,53,0.045);
    }

    .soft-row h3{
      margin:0 0 .35rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:1.22rem;
      line-height:1.12;
    }

    .soft-row p{
      margin:0;
      color:var(--muted);
      font-size:.92rem;
      line-height:1.6;
    }

    .soft-note{
      margin-top:1.4rem;
      padding:15px 16px;
      border-left:2px solid rgba(var(--gold-rgb),.62);
      background:linear-gradient(90deg, rgba(var(--gold-rgb),.075), transparent);
      color:var(--soft);
      font-size:.92rem;
      line-height:1.65;
    }

    .soft-note i{
      color:var(--gold);
      margin-right:7px;
    }

    .soft-positive .soft-row-icon{
      color:#233f35;
      background:rgba(91,190,130,.10);
      border-color:rgba(91,190,130,.22);
    }

    .soft-caution .soft-row-icon{
      color:#86652f;
      background:rgba(255,200,110,.10);
      border-color:rgba(35,63,53,0.3);
    }

    .soft-two-column{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:clamp(18px,3vw,34px);
    }

    .soft-column-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:1rem;
      color:var(--gold);
      font-size:.72rem;
      font-weight:600;
      letter-spacing:.14em;
      text-transform:uppercase;
    }

    .soft-column-label i{ font-size:1rem; }

    .soft-safety-band{
      margin-top:1.6rem;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:1px;
      overflow:hidden;
      border-radius:26px;
      border:1px solid rgba(35,63,53,0.18);
      background:rgba(255,255,255,.08);
      box-shadow:0 22px 46px rgba(35,63,53,0.08);
    }

    .soft-safety-stat{
      padding:15px 13px;
      background:rgba(250,248,242,0.72);
    }

    .soft-safety-stat i{
      color:var(--gold);
      font-size:.96rem;
    }

    .soft-safety-stat strong{
      display:block;
      margin-top:6px;
      color:var(--white);
      font-size:.78rem;
      line-height:1.2;
    }

    .soft-safety-stat span{
      display:block;
      margin-top:4px;
      color:var(--muted);
      font-size:.64rem;
      line-height:1.38;
    }

    /* =========================
       CARDS / GRID
    ========================== */

    .grid{
      display:grid;
      gap:clamp(14px,2vw,18px);
    }

    .grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
    .grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }

    .card,
    .panel{
      position:relative;
      overflow:hidden;
      isolation:isolate;
      border-radius:var(--radius);
      background:radial-gradient(700px 260px at 15% 0%, rgba(var(--gold-rgb),.09), transparent 62%),
        linear-gradient(180deg,#f1eee5,var(--panel));
      border:1px solid rgba(35,63,53,0.21000000000000002);
      box-shadow:0 22px 44px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.055);
    }

    .card::before,
    .panel::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      pointer-events:none;
      background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%),
        radial-gradient(420px 160px at 80% 100%, rgba(255,255,255,.045), transparent 70%);
      opacity:.55;
    }

    .card > *,
    .panel > *{
      position:relative;
      z-index:1;
    }

    @media (hover:hover){
      .card{
        transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease), filter .35s var(--ease);
      }

      .card:hover{
        transform:translateY(-3px);
        border-color:rgba(var(--gold-rgb),.58);
        box-shadow:0 30px 60px rgba(35,63,53,0.08), 0 0 0 1px rgba(var(--gold-rgb),.08), inset 0 1px 0 rgba(35,63,53,0.065);
      }
    }

    .thumb{
      position:relative;
      aspect-ratio:16/9;
      overflow:hidden;
      background:#fffdf8;
      border-bottom:1px solid rgba(35,63,53,0.14);
      isolation:isolate;
    }

    .thumb::before{
      content:"";
      position:absolute;
      inset:-1px;
      z-index:2;
      pointer-events:none;
      background:radial-gradient(620px 240px at 18% 12%, rgba(var(--gold-rgb),.20), transparent 58%),
        linear-gradient(90deg, rgba(250,248,242,0.46), rgba(250,248,242,0.08) 46%, rgba(250,248,242,0.42)),
        linear-gradient(180deg, rgba(250,248,242,0.04), rgba(250,248,242,0.54) 100%);
      opacity:.86;
      transition:opacity .55s var(--ease);
    }

    .thumb::after{
      content:"";
      position:absolute;
      inset:10px;
      z-index:3;
      pointer-events:none;
      border-radius:18px;
      border:1px solid rgba(var(--gold-rgb),.30);
      opacity:.70;
      transition:opacity .45s var(--ease), transform .45s var(--ease), border-color .45s var(--ease);
    }

    .thumb img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:saturate(1.04) contrast(1.12) brightness(.78);
      transform:scale(1.035);
      transition:transform .85s var(--ease), filter .85s var(--ease);
    }

    @media (hover:hover){
      .card:hover .thumb img{
        transform:scale(1.075);
        filter:saturate(1.14) contrast(1.14) brightness(.87);
      }

      .card:hover .thumb::before{ opacity:.70; }

      .card:hover .thumb::after{
        opacity:.95;
        transform:scale(.985);
        border-color:rgba(var(--gold-rgb),.58);
      }
    }

    .ribbon{
      position:absolute;
      top:12px;
      left:12px;
      z-index:4;
      display:inline-flex;
      gap:6px;
      align-items:center;
      padding:.36rem .62rem;
      border-radius:999px;
      font-size:.74rem;
      font-weight:600;
      color:#173b32;
      background:linear-gradient(180deg, rgba(var(--gold-rgb),1), rgba(var(--gold-rgb),.72));
      box-shadow:0 10px 22px rgba(35,63,53,0.08);
    }

    .ribbon-soft{
      color:var(--soft);
      background:linear-gradient(180deg, rgba(250,248,242,0.92), rgba(250,248,242,0.92));
      border:1px solid rgba(var(--gold-rgb),.28);
    }

    .price-float{
      position:absolute;
      right:12px;
      bottom:12px;
      z-index:4;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:34px;
      padding:.5rem .72rem;
      border-radius:999px;
      color:var(--gold-soft);
      background:rgba(250,248,242,0.72);
      border:1px solid rgba(var(--gold-rgb),.42);
      font-weight:600;
      font-size:.78rem;
      letter-spacing:.01em;
      box-shadow:0 12px 26px rgba(35,63,53,0.08);
      white-space:nowrap;
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
    }

    .card-body{
      padding:16px;
      display:flex;
      flex-direction:column;
      flex:1;
    }

    .pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:.32rem .6rem;
      border-radius:999px;
      border:1px solid rgba(35,63,53,0.16999999999999998);
      background:linear-gradient(180deg,#f1eee5,#f1eee5);
      color:var(--soft);
      margin-bottom:.65rem;
      font-size:.74rem;
      width:max-content;
      max-width:100%;
      box-shadow:inset 0 1px 0 rgba(35,63,53,0.045);
      white-space:nowrap;
    }

    .pill i{ color:var(--gold); }

    .card h3,
    .panel h3{
      margin:0 0 .55rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(1.18rem,1.2vw + .9rem,1.55rem);
      line-height:1.08;
      letter-spacing:.15px;
    }

    .card .muted{
      margin:.1rem 0 .8rem;
      font-size:.92rem;
      line-height:1.62;
    }

    .route-match,
    .best-for{
      display:flex;
      align-items:flex-start;
      gap:8px;
      margin:.2rem 0 .72rem;
      padding:.62rem .7rem;
      border-radius:14px;
      color:var(--soft);
      font-size:.78rem;
      line-height:1.42;
      background:rgba(var(--gold-rgb),.075);
      border:1px solid rgba(var(--gold-rgb),.16);
    }

    .route-match i,
    .best-for i{
      color:var(--gold);
      margin-top:.12rem;
      flex:0 0 auto;
    }

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

    .spec-strip span{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      min-height:38px;
      padding:8px 9px;
      border-radius:999px;
      color:var(--soft);
      background:rgba(255,255,255,.045);
      border:1px solid rgba(35,63,53,0.155);
      font-size:.74rem;
      font-weight:700;
      line-height:1.1;
      text-align:center;
      white-space:nowrap;
    }

    .spec-strip i{
      color:var(--gold);
      flex:0 0 auto;
    }

    .actions{
      margin-top:auto;
      display:flex;
      flex-wrap:nowrap;
      gap:8px;
      align-items:center;
      overflow:hidden;
    }

    .actions .btn-primary,
    .actions .btn-ghost{
      flex:1 1 0;
      min-width:0;
      min-height:38px;
      font-size:.74rem;
      line-height:1;
      padding:.48rem .54rem;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .center-action{
      margin-top:1.6rem;
      text-align:center;
    }

    .chip-row{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:center;
      gap:10px;
      margin-top:1rem;
    }

    .chip{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      min-height:38px;
      padding:.52rem .84rem;
      border-radius:999px;
      border:1px solid rgba(35,63,53,0.2);
      background:linear-gradient(180deg,#f1eee5,#f1eee5);
      color:var(--soft);
      cursor:pointer;
      font-weight:600;
      font-size:.86rem;
      transition:transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
    }

    .chip:hover{
      transform:translateY(-1px);
      border-color:rgba(var(--gold-rgb),.42);
    }

    .chip.active,
    .chip[aria-pressed="true"]{
      border-color:rgba(var(--gold-rgb),.62);
      background:linear-gradient(180deg,#f1eee5,#f1eee5);
    }

    .fleet-result-count{
      text-align:center;
      margin:-14px 0 22px;
      color:var(--muted);
      font-size:.9rem;
    }

    /* =========================
       ROUTE CARDS
    ========================== */

    .route-card{ min-height:100%; }
    .route-card .thumb{ aspect-ratio:16/10.6; }

    .route-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:.4rem 0 .9rem;
    }

    .route-meta span{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:.36rem .55rem;
      border-radius:999px;
      color:var(--soft);
      background:rgba(255,255,255,.045);
      border:1px solid rgba(35,63,53,0.15000000000000002);
      font-size:.74rem;
      font-weight:700;
    }

    .route-meta i{ color:var(--gold); }

    .best-month-strip{
      margin:0 0 .92rem;
      padding:.78rem .8rem;
      border-radius:16px;
      background:radial-gradient(360px 160px at 12% 0%, rgba(var(--gold-rgb),.13), transparent 62%),
        rgba(255,255,255,.04);
      border:1px solid rgba(var(--gold-rgb),.18);
    }

    .best-month-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      color:#233f35;
      font-size:.74rem;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:.55rem;
    }

    .best-month-title i{ color:var(--gold); }

    .months{
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:4px;
      margin-bottom:5px;
    }

    .month-bar{
      height:8px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(35,63,53,0.14);
    }

    .month-bar.good{
      background:linear-gradient(180deg, rgba(var(--gold-rgb),.95), rgba(var(--gold-rgb),.48));
      border-color:rgba(var(--gold-rgb),.52);
      box-shadow:0 0 14px rgba(var(--gold-rgb),.14);
    }

    .month-labels{
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:4px;
      color:#606b61;
      font-size:.58rem;
      font-weight:600;
      text-align:center;
      text-transform:uppercase;
    }

    .month-note{
      display:block;
      margin-top:.5rem;
      color:var(--muted);
      font-size:.60rem;
      line-height:1.25;
      letter-spacing:-.01em;
      white-space:nowrap;
    }

    /* =========================
       COMPACT ADD-ONS / CAMPING GEAR
    ========================== */

    .camping-gear-section{
      background:radial-gradient(760px 420px at 12% 12%, rgba(var(--gold-rgb),.12), transparent 66%),
        radial-gradient(680px 420px at 92% 18%, rgba(255,255,255,.035), transparent 64%),
        linear-gradient(180deg, rgba(250,248,242,0.1), rgba(250,248,242,0.78));
    }

    .addons-compact-shell{
      position:relative;
      z-index:1;
      border-radius:var(--radius-lg);
      padding:clamp(20px,3vw,34px);
      background:radial-gradient(680px 260px at 10% 0%, rgba(var(--gold-rgb),.15), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
      border:1px solid rgba(var(--gold-rgb),.22);
      box-shadow:0 26px 64px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.05);
      overflow:hidden;
      isolation:isolate;
    }

    .addons-compact-shell::before{
      content:"";
      position:absolute;
      inset:auto -90px -120px auto;
      width:360px;
      height:360px;
      border-radius:999px;
      background:rgba(var(--gold-rgb),.075);
      pointer-events:none;
      z-index:0;
    }

    .addons-compact-shell > *{
      position:relative;
      z-index:1;
    }

    .addons-compact-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:22px;
      align-items:end;
      margin-bottom:18px;
    }

    .addons-compact-head h2{
      margin:.15rem 0 .75rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:clamp(1.9rem,3.2vw,3.25rem);
      line-height:1.02;
      text-shadow:none;
    }

    .addons-price-mini{
      min-width:178px;
      padding:16px 18px;
      border-radius:24px;
      text-align:center;
      background:radial-gradient(260px 140px at 20% 0%, rgba(var(--gold-rgb),.20), transparent 64%),
        rgba(250,248,242,0.24);
      border:1px solid rgba(var(--gold-rgb),.26);
      box-shadow:inset 0 1px 0 rgba(35,63,53,0.05);
    }

    .addons-price-mini small{
      display:block;
      color:var(--muted);
      font-size:.68rem;
      font-weight:600;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .addons-price-mini strong{
      display:block;
      margin:.22rem 0 .1rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:2.35rem;
      line-height:.9;
    }

    .addons-price-mini span{
      color:#233f35;
      font-size:.76rem;
      font-weight:600;
    }

    .addons-compact-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
    }

    .addon-mini-card{
      display:flex;
      gap:12px;
      align-items:flex-start;
      min-height:128px;
      padding:15px;
      border-radius:20px;
      background:radial-gradient(360px 160px at 10% 0%, rgba(var(--gold-rgb),.08), transparent 62%),
        linear-gradient(180deg,#f1eee5,var(--panel));
      border:1px solid rgba(35,63,53,0.2);
      box-shadow:0 16px 34px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.04);
      transition:transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
    }

    .addon-mini-card:hover{
      transform:translateY(-2px);
      border-color:rgba(var(--gold-rgb),.40);
      box-shadow:0 22px 42px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.05);
    }

    .addon-mini-icon{
      flex:0 0 auto;
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:999px;
      color:var(--gold);
      background:rgba(var(--gold-rgb),.09);
      border:1px solid rgba(var(--gold-rgb),.20);
      font-size:1.1rem;
    }

    .addon-mini-card h3{
      margin:0 0 .35rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:1.12rem;
      line-height:1.08;
    }

    .addon-mini-card p{
      margin:0;
      color:var(--muted);
      font-size:.82rem;
      line-height:1.48;
    }

    .addon-mini-tag{
      display:inline-flex;
      align-items:center;
      gap:5px;
      margin-top:.65rem;
      padding:.28rem .5rem;
      border-radius:999px;
      color:#173b32;
      background:linear-gradient(180deg, rgba(var(--gold-rgb),1), rgba(var(--gold-rgb),.72));
      font-size:.66rem;
      font-weight:600;
    }

    .addons-compact-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      margin-top:16px;
      padding-top:16px;
      border-top:1px solid rgba(35,63,53,0.16);
    }

    .addons-compact-note{
      margin:0;
      color:var(--muted);
      font-size:.88rem;
      line-height:1.55;
    }

    .addons-compact-note i{
      color:var(--gold);
      margin-right:6px;
    }

    .addons-compact-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    /* =========================
       WHY / PROCESS
    ========================== */

    .process-shell{
      border-radius:var(--radius-lg);
      padding:clamp(22px,3.4vw,42px);
      border:1px solid rgba(var(--gold-rgb),.20);
      background:radial-gradient(760px 320px at 8% 0%, rgba(var(--gold-rgb),.14), transparent 64%),
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
      box-shadow:0 22px 58px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.04);
    }

    .process-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
      counter-reset:step;
    }

    .process-step{
      counter-increment:step;
      min-height:230px;
      padding:18px;
      border-radius:22px;
      background:rgba(250,248,242,0.2);
      border:1px solid rgba(35,63,53,0.18);
      transition:transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
    }

    .process-step:hover{
      transform:translateY(-2px);
      border-color:rgba(var(--gold-rgb),.42);
      background:rgba(var(--gold-rgb),.06);
    }

    .process-step::before{
      content:counter(step, decimal-leading-zero);
      display:grid;
      place-items:center;
      width:46px;
      height:46px;
      border-radius:999px;
      color:var(--gold);
      background:rgba(var(--gold-rgb),.08);
      border:1px solid rgba(var(--gold-rgb),.22);
      font-weight:600;
      font-size:.82rem;
      margin-bottom:14px;
    }

    .process-step h3{
      margin:0 0 .5rem;
      color:var(--white);
      font-family:var(--font-serif);
      font-size:1.05rem;
      line-height:1.16;
    }

    .process-step p{
      margin:0;
      color:var(--muted);
      font-size:.76rem;
      line-height:1.48;
    }

    .panel{ padding:clamp(18px,2.4vw,26px); }

    .panel-icon{
      width:46px;
      height:46px;
      display:grid;
      place-items:center;
      border-radius:999px;
      color:var(--gold);
      background:rgba(var(--gold-rgb),.09);
      border:1px solid rgba(var(--gold-rgb),.22);
      margin-bottom:14px;
      font-size:1.2rem;
    }

    .panel p{
      margin:0;
      color:var(--muted);
      line-height:1.6;
      font-size:.92rem;
    }

    .eo-list{
      list-style:none;
      margin:14px 0 0;
      padding:0;
      display:grid;
      gap:10px;
    }

    .eo-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#606b61;
      line-height:1.55;
    }

    .eo-list i{
      color:var(--gold);
      margin-top:2px;
    }

    /* =========================
       FAQ
    ========================== */

    .faq-section .faq-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
    }

    details{
      margin:0;
      padding:clamp(14px,2vw,18px);
      border-radius:16px;
      background:linear-gradient(180deg,#f1eee5,#f1eee5);
      border:1px solid var(--line);
      box-shadow:0 16px 30px rgba(35,63,53,0.08), inset 0 1px 0 rgba(35,63,53,0.04);
    }

    summary{
      display:flex;
      justify-content:space-between;
      gap:14px;
      font-weight:700;
      cursor:pointer;
      color:#233f35;
      list-style:none;
    }

    summary::-webkit-details-marker{ display:none; }

    summary::after{
      content:"+";
      color:var(--gold);
      font-weight:600;
    }

    details[open] summary::after{ content:"–"; }
    details p{ margin:.9rem 0 0; }

    /* =========================
       FINAL CTA / FLOATING
    ========================== */

    .planning-open{
      background:radial-gradient(760px 420px at 12% 12%, rgba(var(--gold-rgb),.10), transparent 66%),
        radial-gradient(680px 420px at 92% 18%, rgba(255,255,255,.035), transparent 64%);
    }

    .final-drive-cta{
      background:radial-gradient(820px 470px at 14% 14%, rgba(var(--gold-rgb),.13), transparent 66%),
        radial-gradient(720px 460px at 92% 20%, rgba(255,255,255,.04), transparent 64%),
        linear-gradient(180deg, rgba(250,248,242,0.0), rgba(250,248,242,0.76));
    }

    .planning-actions,
    .final-drive-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top:1.6rem;
    }

    .final-drive-points .seo-list,
    .planning-points .seo-list{
      gap:10px;
    }

    .final-drive-points .seo-list li,
    .planning-points .seo-list li{
      position:relative;
      display:grid;
      grid-template-columns:34px minmax(0,1fr);
      align-items:start;
      gap:12px;
      padding:13px 14px;
      border-radius:16px;
      border-bottom:0;
      background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.015), transparent);
      box-shadow:inset 0 0 0 1px rgba(35,63,53,0.055);
    }

    .final-drive-points .seo-list li i,
    .planning-points .seo-list li i{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      margin-top:0;
      border-radius:999px;
      color:var(--gold);
      background:rgba(var(--gold-rgb),.085);
      border:1px solid rgba(var(--gold-rgb),.20);
      box-shadow:inset 0 1px 0 rgba(35,63,53,0.045);
    }

    .final-drive-points .seo-list li span,
    .planning-points .seo-list li span{
      min-width:0;
      padding-top:3px;
    }

    .mobile-sticky-wa{
      position:fixed;
      left:14px;
      right:14px;
      bottom:calc(14px + env(safe-area-inset-bottom));
      z-index:80;
      display:none;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:13px 16px;
      border-radius:999px;
      color:#173b32;
      font-weight:600;
      text-decoration:none;
      background:linear-gradient(180deg, rgba(var(--gold-rgb),1), rgba(var(--gold-rgb),.72));
      box-shadow:0 16px 34px rgba(35,63,53,0.08);
    }

    .to-top{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:79;
      width:46px;
      height:46px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:rgba(250,248,242,0.92);
      border:1px solid rgba(35,63,53,0.2);
      box-shadow:0 10px 24px rgba(35,63,53,0.08);
      color:#233f35;
      opacity:0;
      transform:translateY(10px);
      pointer-events:none;
      transition:opacity .25s var(--ease), transform .25s var(--ease), border-color .25s var(--ease);
    }

    .to-top i{ color:var(--gold); }

    .to-top.show{
      opacity:1;
      transform:translateY(0);
      pointer-events:auto;
    }

    .toast{
      position:fixed;
      left:50%;
      bottom:88px;
      z-index:100;
      transform:translateX(-50%) translateY(14px);
      opacity:0;
      pointer-events:none;
      display:flex;
      align-items:center;
      gap:8px;
      padding:11px 14px;
      border-radius:999px;
      color:var(--gold-soft);
      background:rgba(250,248,242,0.94);
      border:1px solid rgba(var(--gold-rgb),.25);
      box-shadow:0 18px 42px rgba(35,63,53,0.08);
      transition:opacity .25s var(--ease), transform .25s var(--ease);
    }

    .toast.show{
      opacity:1;
      transform:translateX(-50%) translateY(0);
    }

    .toast i{ color:var(--gold); }

    /* =========================
       RESPONSIVE
    ========================== */

    @media (max-width:1180px){
      .home-hero-shell{
        grid-template-columns:1fr;
        align-items:start;
      }

      .hero-visual{
        min-height:520px;
        max-width:760px;
        width:100%;
      }

      .hero-floating-images{
        width:100%;
        max-width:620px;
        height:500px;
      }

      .hero-rate-card{
        left:4%;
        bottom:3%;
      }
    }

    @media (max-width:1120px){
      .editorial-grid,
      .planning-open-grid,
      .final-drive-grid{
        grid-template-columns:1fr;
        align-items:start;
      }

      .trust-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
      .grid-3{ grid-template-columns:repeat(2,minmax(0,1fr)); }

      .grid-4,
      .process-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    }

    @media (max-width:980px){
      .editorial-points,
      .planning-points,
      .final-drive-points{ padding-left:22px; }

      .faq-section .faq-grid{ grid-template-columns:1fr; }

      .addons-compact-head{
        grid-template-columns:1fr;
        align-items:start;
      }

      .addons-price-mini{
        width:max-content;
        max-width:100%;
      }

      .addons-compact-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }

      .soft-split{ grid-template-columns:1fr; }

      .soft-copy{
        position:relative;
        top:auto;
      }

      .soft-two-column{ grid-template-columns:1fr; }

      .soft-safety-band{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    }

    @media (max-width:820px){
      .home-hero{
        min-height:100vh;
        min-height:100svh;
        min-height:100dvh;
      }

      .home-hero-shell{
        width:min(100% - 24px,1440px);
        padding:calc(var(--eo-header-h,78px) + 26px) 0 46px;
        gap:24px;
      }

      .home-hero h1{ font-size:clamp(2.35rem,12vw,4.25rem); }

      .home-hero-actions,
      .planning-actions,
      .final-drive-actions{ flex-direction:column; }

      .home-hero-actions .cta-primary,
      .home-hero-actions .cta-ghost,
      .planning-actions .btn-primary,
      .planning-actions .btn-ghost,
      .final-drive-actions .cta-primary,
      .final-drive-actions .cta-ghost{ width:100%; }

      .home-hero-ribbon{
        display:grid;
        grid-template-columns:1fr;
      }

      .home-hero-ribbon span{
        border-right:0;
        border-bottom:1px solid rgba(35,63,53,0.18);
      }

      .home-hero-ribbon span:last-child{ border-bottom:0; }

      .hero-visual{ min-height:450px; }
      .hero-floating-images{ height:430px; }
      .hero-float-img{ border-radius:22px; }
      .hero-rate-card{ width:min(300px,88%); }
      .home-hero-fade{ height:135px; }
      .trust-strip{ margin-top:0; }
      .trust-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }

      .grid-2,
      .grid-3,
      .grid-4,
      .process-grid{ grid-template-columns:1fr; }
    }

    @media (max-width:760px){
      body{ padding-bottom:76px; }

      .cta-primary,
      .cta-ghost{ width:100%; }

      .spec-strip{ grid-template-columns:1fr; }

      .actions{
        flex-direction:column;
        flex-wrap:wrap;
      }

      .actions .btn-primary,
      .actions .btn-ghost{
        width:100%;
        flex:1 1 auto;
      }

      .mobile-sticky-wa{ display:flex; }
      .to-top{ display:none; }

      .hero-visual{
        min-height:auto;
        padding-top:18px;
      }

      .hero-visual::before{ inset:8% 0 0 0; }

      .hero-floating-images{
        height:auto;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
      }

      .hero-float-img{
        position:relative;
        width:100% !important;
        height:180px !important;
        inset:auto !important;
        animation:none;
        transform:none !important;
      }

      .hero-rate-card{
        position:relative;
        left:auto;
        bottom:auto;
        width:100%;
        margin-top:14px;
      }

      .hero-mini-badge{
        top:0;
        right:0;
      }

      .addons-compact-actions,
      .addons-compact-actions .btn-primary,
      .addons-compact-actions .btn-ghost{ width:100%; }
    }

    @media (max-width:620px){
      .addons-compact-grid{ grid-template-columns:1fr; }
      .addons-price-mini{ width:100%; }
      .soft-safety-band{ grid-template-columns:1fr; }
    }

    @media (max-width:560px){
      .soft-row{
        grid-template-columns:38px minmax(0,1fr);
        gap:12px;
      }

      .soft-row-icon{
        width:38px;
        height:38px;
      }

      .final-drive-points .seo-list li,
      .planning-points .seo-list li{
        grid-template-columns:32px minmax(0,1fr);
        gap:10px;
        padding:12px;
      }

      .final-drive-points .seo-list li i,
      .planning-points .seo-list li i{
        width:32px;
        height:32px;
        font-size:.92rem;
      }
    }

    @media (max-width:520px){
      .trust-grid{ grid-template-columns:1fr; }

      .home-kicker{
        font-size:.66rem;
        letter-spacing:.10em;
      }

      .hero-floating-images{ grid-template-columns:1fr; }
    }

    @media (prefers-reduced-motion:reduce){
      html{ scroll-behavior:auto !important; }

      *,
      *::before,
      *::after{
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.001ms !important;
      }

      .home-hero::after{ display:none; }

      .home-hero .hero-bg{
        animation:none !important;
        opacity:0;
        transform:scale(1.035) !important;
      }

      .home-hero .hero-bg-1{
        opacity:1;
      }

      .reveal{
        opacity:1 !important;
        transform:none !important;
      }

      .hero-visual{ transform:none !important; }
    }

    /* 2026 professional homepage refinement */
    :root{
      --radius:16px;
      --radius-lg:20px;
    }

    .home-hero{
      min-height:100vh;
      min-height:100svh;
      min-height:100dvh;
    }

    .home-hero .hero-bg{
      opacity:1;
      animation:none;
      transform:scale(1.02);
      filter:saturate(.98) contrast(1.08) brightness(.68);
    }

    .home-hero::before{
      background:linear-gradient(90deg,rgba(250,248,242,0.94) 0%,rgba(250,248,242,0.79) 42%,rgba(250,248,242,0.36) 74%,rgba(250,248,242,0.56) 100%),
        linear-gradient(180deg,rgba(250,248,242,0.34),rgba(250,248,242,0.88) 100%);
    }

    .home-hero::after{
      background:radial-gradient(820px 480px at 18% 22%,rgba(var(--gold-rgb),.13),transparent 66%);
      mix-blend-mode:normal;
    }

    .home-hero-shell{
      grid-template-columns:minmax(0,1.15fr) minmax(300px,.48fr);
      gap:clamp(40px,7vw,110px);
    }

    .home-hero h1{
      max-width:850px;
      font-size:clamp(3rem,6vw,6.4rem);
      line-height:.96;
    }

    .home-hero .subtitle{
      max-width:690px;
      line-height:1.68;
    }

    .home-hero-ribbon,
    .hero-floating-images,
    .hero-mini-badge,
    .hero-visual::before{
      display:none;
    }

    .hero-visual{
      min-height:0;
      display:block;
      transform:none;
    }

    .hero-rate-card{
      position:relative;
      left:auto;
      bottom:auto;
      width:100%;
      border-radius:18px;
      padding:clamp(22px,3vw,30px);
      background:rgba(250,248,242,0.78);
      border:1px solid rgba(35,63,53,0.22000000000000003);
      box-shadow:0 24px 60px rgba(35,63,53,0.08);
    }

    .hero-rate-card strong{
      font-size:clamp(2.7rem,4vw,4.2rem);
    }

    .hero-rate-card .rate-includes{
      display:grid;
      gap:10px;
      margin:18px 0 0;
      padding:18px 0 0;
      border-top:1px solid rgba(35,63,53,0.19);
    }

    .hero-rate-card .rate-includes span{
      display:flex;
      align-items:center;
      gap:9px;
      margin:0;
      color:#233f35;
      font-size:.84rem;
      font-weight:650;
    }

    .hero-rate-card .rate-includes i{ color:var(--gold); }

    .trust-grid{
      grid-template-columns:repeat(4,minmax(0,1fr));
      border-radius:20px;
    }

    .trust-item{
      min-height:96px;
      padding:18px;
    }

    .card,
    .route-card,
    .vehicle-card,
    .faq-grid details{
      border-radius:16px;
    }

    /* A restrained natural accent distinguishes route information from sales CTAs. */
    #routes .route-meta i{
      color:var(--olive);
    }

    #routes .route-card .ribbon{
      border-color:rgba(var(--olive-rgb),.42);
      background:rgba(250,248,242,0.82);
    }

    /* Professional card system */
    #fleetGrid,
    #routes .grid-3{
      width:min(1220px,100%);
      margin-inline:auto;
      gap:24px;
    }

    .vehicle-card,
    .route-card{
      display:flex;
      flex-direction:column;
      min-width:0;
      border-radius:16px;
      background:linear-gradient(180deg,var(--panel-hover),var(--panel));
      border:1px solid var(--line);
      box-shadow:0 14px 34px rgba(35,63,53,0.08),inset 0 1px 0 rgba(35,63,53,0.035);
    }

    .vehicle-card::before,
    .route-card::before{
      opacity:.18;
    }

    .vehicle-card .thumb,
    .route-card .thumb{
      aspect-ratio:16/10;
      border-bottom-color:var(--line);
    }

    .vehicle-card .thumb::before,
    .route-card .thumb::before{
      background:linear-gradient(180deg,rgba(250,248,242,0.02),rgba(250,248,242,0.48));
      opacity:.72;
    }

    .vehicle-card .thumb::after,
    .route-card .thumb::after{
      display:none;
    }

    .vehicle-card .thumb img,
    .route-card .thumb img{
      filter:saturate(.98) contrast(1.07) brightness(.88);
      transform:scale(1.01);
    }

    .vehicle-card .card-body,
    .route-card .card-body{
      flex:1;
      padding:22px;
    }

    .vehicle-card h3,
    .route-card h3{
      margin-bottom:.7rem;
      font-size:clamp(1.32rem,1.4vw,1.65rem);
      line-height:1.14;
    }

    .vehicle-card .muted,
    .route-card .muted{
      display:-webkit-box;
      overflow:hidden;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:3;
      line-clamp:3;
      margin-bottom:1rem;
      line-height:1.58;
    }

    .vehicle-card .pill{
      padding:0;
      border:0;
      border-radius:0;
      background:none;
      box-shadow:none;
      color:var(--muted);
      font-size:.7rem;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .vehicle-card .best-for,
    .route-card .route-match{
      padding:10px 0;
      border:0;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      border-radius:0;
      background:none;
    }

    .vehicle-card .route-match{
      gap:6px;
      font-size:.72rem;
      line-height:1.2;
      white-space:nowrap;
    }

    /* Compact typography for detailed supporting content */
    #fit .soft-column-label{
      font-size:.64rem;
      letter-spacing:.12em;
    }

    #fit .soft-column-label i{
      font-size:.86rem;
    }

    #fit .soft-row h3{
      margin-bottom:.25rem;
      font-size:1rem;
      line-height:1.18;
    }

    #fit .soft-row p{
      font-size:.78rem;
      line-height:1.48;
    }

    #safety .soft-row h3{
      margin-bottom:.25rem;
      font-size:1rem;
      line-height:1.18;
    }

    #safety .soft-row p{
      font-size:.78rem;
      line-height:1.48;
    }

    .planning-points .seo-list li span,
    .final-drive-points .seo-list li span{
      padding-top:4px;
      font-size:.76rem;
      line-height:1.45;
    }

    .vehicle-card .spec-strip{
      gap:0;
      margin:12px 0 18px;
      border:1px solid var(--line);
      border-radius:12px;
      overflow:hidden;
    }

    .vehicle-card .spec-strip span{
      min-height:42px;
      padding:9px 7px;
      border:0;
      border-right:1px solid var(--line);
      border-radius:0;
      background:rgba(255,255,255,.022);
    }

    .vehicle-card .spec-strip span:last-child{ border-right:0; }

    .vehicle-card .actions,
    .route-card .actions{
      gap:10px;
      padding-top:4px;
    }

    .vehicle-card .actions .btn-primary,
    .vehicle-card .actions .btn-ghost,
    .route-card .actions .btn-primary,
    .route-card .actions .btn-ghost{
      min-height:42px;
      font-size:.76rem;
    }

    .route-card .route-meta{
      gap:12px;
      margin:.35rem 0 1rem;
    }

    .route-card .route-meta span{
      padding:0;
      border:0;
      border-radius:0;
      background:none;
      color:var(--muted);
    }

    .addon-mini-card{
      min-height:118px;
      padding:18px;
      border-radius:14px;
      background:var(--panel);
      border:1px solid var(--line);
      box-shadow:0 10px 24px rgba(35,63,53,0.08);
    }

    .addon-mini-icon{
      border-radius:12px;
      color:var(--gold);
      background:rgba(var(--gold-rgb),.07);
      border-color:rgba(var(--gold-rgb),.15);
    }

    .addon-mini-tag{
      color:var(--gold-soft);
      background:transparent;
      border:1px solid rgba(var(--gold-rgb),.25);
    }

    .faq-section .faq-grid{
      width:min(980px,100%);
      margin-inline:auto;
      gap:12px 18px;
    }

    .faq-section details{
      padding:18px 20px;
      border-radius:14px;
      background:var(--panel);
      box-shadow:0 8px 20px rgba(35,63,53,0.08);
    }

    @media (hover:hover){
      .vehicle-card:hover,
      .route-card:hover{
        transform:translateY(-2px);
        border-color:rgba(var(--gold-rgb),.28);
        box-shadow:0 18px 40px rgba(35,63,53,0.08),inset 0 1px 0 rgba(35,63,53,0.04);
      }

      .vehicle-card:hover .thumb img,
      .route-card:hover .thumb img{
        transform:scale(1.035);
        filter:saturate(1.03) contrast(1.08) brightness(.92);
      }

      .addon-mini-card:hover{
        transform:translateY(-2px);
        border-color:rgba(var(--gold-rgb),.24);
        box-shadow:0 14px 30px rgba(35,63,53,0.08);
      }
    }

    @media (max-width:980px){
      .home-hero-shell{ grid-template-columns:1fr; }
      .hero-visual{ max-width:520px; }
      .trust-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
      #fleetGrid,
      #routes .grid-3{ gap:20px; }
    }

    @media (max-width:560px){
      .home-hero{
        min-height:100vh;
        min-height:100svh;
        min-height:100dvh;
      }
      .home-hero-shell{ padding-top:110px; }
      .home-hero-actions > *{ width:100%; }
      .home-hero-trust{ display:grid; }
      .trust-grid{ grid-template-columns:1fr; }
    }
  