/*
 * Eagle Overland / Savanna 2027
 * Ivory space, forest-green type, original Eagle gold. Loaded after page
 * layouts so the brand has one source of truth. Legacy token aliases below
 * preserve the existing calculators, dialogs and page-specific components.
 */
:root {
  --eo-forest:#173b32; --eo-forest-hover:#255548;
  --eo-ivory:#faf8f2; --eo-paper:#fffefa; --eo-sand:#f0ede3;
  --eo-brand-gold:#c4a56a; --eo-bronze:#82632f;
  --eo-rule:#dce0d5; --eo-body:#45564b;
  --bg:var(--eo-ivory); --bg2:var(--eo-sand); --deep:var(--eo-sand);
  --panel:var(--eo-paper); --panel-2:var(--eo-sand); --panel-hover:#f2f3eb;
  --panel-top:var(--eo-paper); --panel-bot:var(--eo-paper); --card:var(--eo-paper);
  --ink:var(--eo-forest); --white:var(--eo-forest); --text:var(--eo-forest);
  --soft:var(--eo-body); --muted:#606b61; --muted2:#657065; --muted-2:#657065;
  --gold:var(--eo-bronze); --gold2:var(--eo-bronze); --gold-soft:#eadcc0;
  --gold-hover:#d9bc80; --gold-rgb:196,165,106;
  --border:var(--eo-rule); --line:var(--eo-rule); --line-strong:#b6bcaa;
  --eo-bg:var(--eo-ivory); --eo-bg-2:var(--eo-sand); --eo-card:var(--eo-paper);
  --eo-card-2:var(--eo-sand); --eo-text:var(--eo-forest); --eo-muted:#606b61;
  --eo-line:var(--eo-rule); --eo-gold:var(--eo-brand-gold); --eo-gold-rgb:196,165,106;
  --eo-danger:#af352b; --danger:#af352b;
  --radius:10px; --radius-lg:16px; --eo-radius:12px;
  --shadow:0 12px 36px rgba(23,59,50,.06); --eo-shadow:var(--shadow);
  --shadow2:0 4px 18px rgba(23,59,50,.05); --shadow3:var(--shadow);
  --font-sans:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-serif:"Playfair Display",Georgia,serif;
  --eo-header-h:88px;
  color-scheme:light;
}
html,html body { background:var(--eo-ivory); color:var(--eo-body); color-scheme:light; }
html body { padding-top:88px; font-family:var(--font-sans); font-size:15px; line-height:1.75; }
body::before,body::after,body .grain,body .eo-grain,body .eo-aurora { display:none; }
body :is(h1,h2,h3,h4,h5,h6) { color:var(--eo-forest); text-shadow:none; }
body h1,body h2 { font-family:var(--font-serif); font-weight:500; letter-spacing:-.035em; }
body h2 { line-height:1.13; text-wrap:balance; }
body :is(.container,.wide-container,.site-shell-wide,.wide,.eo-container) { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body :is(.section-pad,.section.page-section) { padding-block:88px; }
body :is(.section-title,.section-head) { text-align:left; max-width:none; }
body .section-title h2 { font-size:clamp(2rem,3.2vw,3.2rem); max-width:840px; }
body .section-title .muted { margin-inline:0; max-width:760px; }
body :is(.eyebrow,.section-eyebrow) { color:var(--eo-bronze); font-size:10px; font-weight:600; letter-spacing:.2em; }
body :is(.muted,.small) { color:var(--muted); }
body :is(.foil,.foil-text,.f-foil) { background:none; color:var(--eo-forest); -webkit-text-fill-color:currentColor; filter:none; text-shadow:none; animation:none; }
body :is(.gold-rule,.orn) { display:none; }
body :is(.card,.surface,.panel,.hero-card,.hero-rate,.eo-glass,.quote-card,.finder-card) { background:var(--eo-paper); border-color:var(--eo-rule); border-radius:10px; box-shadow:var(--shadow); }
body :is(.card,.surface,.panel,.hero-card,.eo-glass)::before { pointer-events:none; }
body .card::before { display:none; }
body .card:hover { box-shadow:0 16px 40px rgba(23,59,50,.10); transform:translateY(-3px); }
body :is(.card-body,.card .p) { padding:26px; }
body .card h3 { font-family:var(--font-serif); font-size:1.6rem; font-weight:500; line-height:1.18; }
body :is(.thumb img,.media img,.feature-media img,.gallery-grid img) { filter:none; }
body :is(.thumb,.media)::after { background:linear-gradient(0deg,rgba(15,35,27,.12),transparent 40%); }
body :is(.btn-primary,.cta-primary,.btn-primary-eo,.eo-btnPrimary,.btn-cta.primary,.hero-pill.primary,.hero-action.primary) {
  background:var(--eo-forest); color:#fffdf6; border:1px solid var(--eo-forest);
  border-radius:6px; box-shadow:none; min-height:46px; padding:13px 20px;
  font-size:12px; font-weight:600; text-shadow:none; white-space:normal;
}
body :is(.btn-primary,.cta-primary,.btn-primary-eo,.eo-btnPrimary,.btn-cta.primary,.hero-pill.primary,.hero-action.primary):hover { background:var(--eo-forest-hover); color:#fffdf6; border-color:var(--eo-forest-hover); }
body :is(.btn-ghost,.cta-ghost,.btn-ghost-eo,.eo-btnGhost,.btn-cta,.hero-pill,.hero-action) {
  background:transparent; border:1px solid #aab6a6; color:var(--eo-forest); border-radius:6px;
  box-shadow:none; min-height:46px; padding:13px 20px; font-size:12px; font-weight:600; text-shadow:none; white-space:normal;
}
body :is(.btn-ghost,.cta-ghost,.btn-ghost-eo,.eo-btnGhost):hover { background:var(--eo-sand); color:var(--eo-forest); }
body :is(.btn-primary,.cta-primary,.cta-ghost)::after { display:none; }
body :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--eo-bronze); outline-offset:4px; box-shadow:none; }
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { background:#fffefa; color:var(--eo-forest); border-color:#bfc8b9; border-radius:6px; color-scheme:light; }
body :is(input,textarea)::placeholder { color:#70796f; opacity:1; }
body select option { background:#fffefa; color:var(--eo-forest); }
body :is(.chip,.pill,.tag,.spec-strip,.route-match,.route-meta,.hero-mini,.hero-stat) { background:#f0f2e9; border-color:var(--eo-rule); color:var(--eo-body); box-shadow:none; }
body :is(.chip.active,.chip.is-active,.chip[aria-pressed=true],.filter-btn.active) { background:var(--eo-forest); border-color:var(--eo-forest); color:#fffdf6; }
body :is(.chip,.pill) { font-weight:500; }
body :is(.ribbon,.price-float) { color:#fffdf6; background:var(--eo-forest); border:0; border-radius:3px; box-shadow:none; font-weight:500; font-size:11px; }
body .price { color:var(--eo-forest); }
body :is(.editorial-section,.soft-editorial-section,.soft-section,.planning-open,.camping-gear-section) { background:var(--eo-sand); }
body :is(.editorial-section,.soft-editorial-section,.planning-open,.camping-gear-section)::after { display:none; }
body :is(.final-drive-cta,.final-cta) { background:#e9eddf; border-block:1px solid #d2dac7; }
body :is(.final-drive-cta,.final-cta)::after { display:none; }
body :is(.faq-section details,details.faq-item,.faq-list details) { background:var(--eo-paper); color:var(--eo-body); border-color:var(--eo-rule); }
body summary { color:var(--eo-forest); }
body :is(.table,.compare-table,.pricing-table) { --bs-table-bg:var(--eo-paper); --bs-table-color:var(--eo-body); --bs-table-border-color:var(--eo-rule); color:var(--eo-body); }
body :is(th,td) { border-color:var(--eo-rule); }
body .trust-strip { margin-top:0; padding:0; background:var(--eo-paper); border-block:1px solid var(--eo-rule); }
body .trust-grid { border:0; border-radius:0; background:transparent; box-shadow:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
body .trust-item { background:transparent; padding:25px 22px; border-right:1px solid var(--eo-rule); min-height:0; }
body .trust-item:last-child { border-right:0; }
body .trust-item i { color:var(--eo-bronze); font-size:22px; float:left; margin:6px 14px 20px 0; }
body .trust-item span { font-size:9px; margin-top:0; letter-spacing:.13em; }
body .trust-item strong { font-size:12px; font-weight:500; color:var(--eo-forest); }
body :is(.scroll-progress,.eo-progress) { background:var(--eo-brand-gold); }
body .reveal,body .eo-reveal { opacity:1; transform:none; }

/* Homepage: a quiet editorial introduction beside unfiltered safari imagery. */
body.page-home .home-hero { display:block; min-height:0; background:var(--eo-ivory); padding:44px 0 46px; border:0; }
body.page-home .home-hero::before,body.page-home .home-hero::after { display:none; }
body.page-home .home-hero-shell { width:min(1380px,calc(100% - 80px)); padding:0; margin:auto; display:grid; grid-template-columns:.92fr 1.08fr; gap:64px; align-items:center; }
body.page-home .home-hero-copy { max-width:630px; }
body.page-home .home-kicker { display:flex; gap:12px; padding:0; margin:0 0 26px; border:0; border-radius:0; color:var(--eo-bronze); background:none; backdrop-filter:none; box-shadow:none; font-size:9px; font-weight:600; letter-spacing:.16em; }
.kicker-line { display:block; width:28px; height:1px; background:var(--eo-brand-gold); flex-shrink:0; }
body.page-home .home-hero h1 { max-width:620px; font-size:clamp(3.4rem,4.5vw,5rem); line-height:1.04; font-weight:500; letter-spacing:-.045em; color:var(--eo-forest); text-shadow:none; text-wrap:initial; }
body.page-home .home-hero h1 em { color:#708065; font-weight:400; }
body.page-home .home-hero .subtitle { max-width:480px; margin:26px 0 0; font-size:14px; line-height:1.85; color:var(--eo-body); text-shadow:none; }
body.page-home .home-hero-actions { gap:10px; margin-top:30px; }
body.page-home .home-hero-actions :is(a,button) { padding:14px 17px; font-size:11px; }
body.page-home .home-hero-trust { max-width:480px; color:var(--muted); text-shadow:none; font-size:10px; font-weight:500; gap:12px; margin-top:22px; }
body.page-home .home-hero-trust i { color:#73866b; }
body.page-home .home-hero-ribbon { display:flex; margin-top:28px; border:0; border-top:1px solid var(--eo-rule); padding-top:17px; backdrop-filter:none; box-shadow:none; }
body.page-home .home-hero-ribbon span { background:none; border:0; color:var(--muted); font-size:10px; font-weight:500; padding:0 14px 8px 0; }
.home-hero-media { min-width:0; }
.equipment-illustration { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; width:100%; height:100%; min-height:240px; background:radial-gradient(circle at 50% 40%,#fffefa,#e7eadb); color:#173b32; }
.equipment-illustration i { font-size:64px; line-height:1.3; color:#788064; }
.equipment-illustration span { font-family:var(--font-serif); font-size:25px; }
.team-symbol { display:grid; place-items:center; width:100%; height:100%; min-height:150px; background:#e9ecdf; color:#738367; font-size:58px; }
body .sticky-cta { background:var(--eo-paper); border-color:var(--eo-rule); box-shadow:0 -3px 18px #173b3210; }
body .sticky-cta .cta-primary { background:var(--eo-forest); color:#fffdf6; }
body .mobile-sticky-wa { background:#173b32; color:#fffdf6; border:1px solid #173b32; border-radius:6px; box-shadow:0 4px 18px #173b3218; font-weight:500; }
body.page-home .safari-portrait { position:relative; margin:0; overflow:hidden; border-radius:3px; height:480px; }
.safari-portrait img { width:100%; height:100%; object-fit:cover; object-position:52% center; }
.safari-portrait figcaption { display:flex; justify-content:space-between; gap:20px; position:absolute; bottom:0; left:0; right:0; padding:50px 26px 22px; color:#fffdf6; background:linear-gradient(transparent,rgba(18,44,33,.72)); font-size:11px; }
.safari-portrait figcaption > span { font-family:var(--font-serif); font-size:20px; font-style:italic; }
.safari-portrait figcaption a { color:#fffdf6; align-self:end; }
body.page-home .hero-rate-card { position:static; display:grid; grid-template-columns:auto 1fr; column-gap:22px; width:100%; margin:0; padding:21px 0 0; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; background:none; }
body.page-home .hero-rate-card small { grid-column:1; font-size:8px; letter-spacing:.12em; font-weight:600; color:var(--muted); }
body.page-home .hero-rate-card strong { grid-column:1; grid-row:2; color:var(--eo-forest); font-size:2rem; font-weight:500; margin:5px 0; text-shadow:none; }
body.page-home .hero-rate-card > span { grid-column:1; grid-row:3; font-size:10px; font-weight:500; color:var(--muted); margin:0; }
body.page-home .hero-rate-card p { grid-column:2; grid-row:1 / span 3; padding-left:22px; border-left:1px solid var(--eo-rule); align-self:center; font-size:10px; line-height:1.7; color:var(--muted); }
body.page-home .rate-includes { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:8px 14px; margin:16px 0 0; padding:12px 0 0; border-top:1px solid var(--eo-rule); }
body.page-home .rate-includes span { font-size:9px; font-weight:500; color:var(--muted); margin:0; }
body.page-home .editorial-grid { gap:80px; align-items:start; }
body.page-home .editorial-copy h2 { font-size:clamp(2rem,3.1vw,3rem); }
body.page-home .editorial-copy .muted { font-size:14px; }
body.page-home .seo-list li { border-bottom:1px solid #d6d9cc; padding-block:15px; font-size:13px; }
body.page-home .seo-list i { color:var(--eo-bronze); }
body.page-home .fleet-section { background:var(--eo-paper); }
body.page-home .fleet-filters { justify-content:flex-start; margin-top:24px; }
body.page-home .fleet-result-count { text-align:left; }
body.page-home .card .thumb { aspect-ratio:1.5; }

/* Inner pages use bright photographic headers and the same cream surfaces. */
body :is(.hero,.about-hero,.fleet-hero,.packages-hero,.vehicle-hero,.guide-hero,.article-hero) { min-height:480px; height:auto; padding:64px 0; background:var(--eo-sand); isolation:isolate; border-bottom:1px solid var(--eo-rule); }
body :is(.hero,.vehicle-hero,.guide-hero,.article-hero)::before { background:linear-gradient(90deg,rgba(250,248,242,.96),rgba(250,248,242,.75)),var(--hero-img,url('/assets/hero/fleet.jpg')) center/cover; filter:none; transform:none; opacity:1; }
body :is(.hero,.vehicle-hero,.guide-hero,.article-hero)::after { display:none; }
body :is(.about-hero,.fleet-hero,.packages-hero)::before { background:linear-gradient(90deg,#faf8f2 5%,rgba(250,248,242,.97) 36%,rgba(250,248,242,.68) 68%,rgba(250,248,242,.12)); }
body :is(.about-hero,.fleet-hero,.packages-hero)::after { display:none; }
body :is(.about-hero,.fleet-hero,.packages-hero) .hero-bg { filter:none; animation:none; opacity:1; transform:none; }
body :is(.about-hero-shell,.fleet-hero-shell,.packages-hero-shell,.hero-shell) { padding-block:0; width:min(1280px,calc(100% - 80px)); }
body :is(.hero,.about-hero,.fleet-hero,.packages-hero,.vehicle-hero,.guide-hero,.article-hero) h1 { color:var(--eo-forest); font-size:clamp(2.6rem,4.4vw,4.4rem); font-weight:500; line-height:1.06; letter-spacing:-.035em; text-shadow:none; max-width:850px; }
body :is(.hero,.about-hero,.fleet-hero,.packages-hero,.vehicle-hero,.guide-hero,.article-hero) :is(.subtitle,.hero-subtitle) { color:var(--eo-body); text-shadow:none; font-size:15px; line-height:1.8; }
body :is(.about-kicker,.fleet-kicker,.packages-kicker,.eo-kicker) { color:var(--eo-bronze); background:transparent; border:0; padding:0; border-radius:0; backdrop-filter:none; box-shadow:none; letter-spacing:.15em; font-size:10px; }
body :is(.about-hero-trust,.fleet-hero-trust,.packages-hero-trust,.hero-trust-line) { color:var(--eo-body); text-shadow:none; font-weight:500; font-size:11px; }
body :is(.about-hero-ribbon,.fleet-hero-ribbon,.packages-hero-ribbon,.hero-meta-ribbon) { background:var(--eo-paper); backdrop-filter:none; box-shadow:none; color:var(--eo-body); border-color:var(--eo-rule); }
body :is(.about-hero-ribbon,.fleet-hero-ribbon,.packages-hero-ribbon,.hero-meta-ribbon) span { background:transparent; color:var(--eo-body); font-size:11px; border-color:var(--eo-rule); }
body :is(.hero-card,.hero-rate) { backdrop-filter:none; background:rgba(255,254,250,.95); }
body .hero-inner { width:min(1280px,calc(100% - 80px)); padding:0; margin-inline:auto; }
body .hero-grid { background:none; }
body :is(.hero-card,.hero-rate) :is(h2,h3,strong) { color:var(--eo-forest); text-shadow:none; }
body .eo-hero { min-height:570px; background:var(--eo-sand); padding-top:40px; }
body .eo-hero::before { display:block; background:linear-gradient(90deg,rgba(250,248,242,.97),rgba(250,248,242,.89) 50%,rgba(250,248,242,.32)); }
body .eo-heroMedia::after { display:none; }
body .eo-heroMedia { filter:none; }
body .eo-hero .eo-title { color:var(--eo-forest); font-size:clamp(2.6rem,4.4vw,4.4rem); text-shadow:none; }
body .eo-hero :is(.eo-sub,.eo-breadcrumb,.eo-mini) { color:var(--eo-body); text-shadow:none; }
body.page-package-detail .eo-hero #factsGrid .eo-fact { background:var(--eo-paper); }
body .eo-tabs { background:var(--eo-paper); }
body .eo-tab[aria-selected=true] { background:var(--eo-forest); color:#fffdf6; }
body .success-hero { background:var(--eo-sand); padding-top:64px; }

@media(min-width:1600px) { body.page-home .safari-portrait { height:560px; } }
@media(max-width:1080px) {
  html body { padding-top:76px; }
  body :is(.container,.wide-container,.site-shell-wide,.wide,.eo-container) { width:calc(100% - 48px); }
  body.page-home .home-hero-shell { width:calc(100% - 48px); gap:32px; }
  body.page-home .home-hero h1 { font-size:clamp(2.9rem,5.1vw,4rem); }
  body.page-home .safari-portrait { height:450px; }
  body .trust-item { padding:22px 12px; }
  body .trust-item i { float:none; margin:0 0 8px; }
}
@media(max-width:760px) {
  body :is(.section-pad,.section.page-section) { padding-block:56px; }
  body :is(.container,.wide-container,.site-shell-wide,.wide,.eo-container) { width:calc(100% - 36px); }
  body.page-home .home-hero { padding:36px 0 28px; }
  body.page-home .home-hero-shell { width:calc(100% - 36px); grid-template-columns:1fr; gap:28px; }
  body.page-home .home-hero-copy { max-width:100%; }
  body.page-home .home-kicker { font-size:8px; gap:8px; margin-bottom:19px; }
  body.page-home .home-hero h1 { font-size:clamp(2.6rem,9.8vw,4.3rem); }
  body.page-home .home-hero .subtitle { margin-top:20px; font-size:13px; }
  body.page-home .home-hero-actions { display:grid; grid-template-columns:1fr 1fr; margin-top:23px; }
  body.page-home .home-hero-actions :is(a,button) { padding:12px 10px; min-height:52px; line-height:1.5; }
  body.page-home .home-hero-ribbon { margin-top:18px; }
  body.page-home .safari-portrait { height:350px; }
  .safari-portrait figcaption { padding:44px 16px 18px; }
  .safari-portrait figcaption > span { font-size:17px; }
  .safari-portrait figcaption a { font-size:9px; }
  body .trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .trust-item { padding:20px 16px; border-bottom:1px solid var(--eo-rule); }
  body .trust-item:nth-child(2n) { border-right:0; }
  body.page-home .editorial-grid { gap:26px; }
  body :is(.hero,.about-hero,.fleet-hero,.packages-hero,.vehicle-hero,.guide-hero,.article-hero) { min-height:0; padding:42px 0; }
  body :is(.about-hero-shell,.fleet-hero-shell,.packages-hero-shell,.hero-shell) { width:calc(100% - 36px); }
  body .hero-inner { width:calc(100% - 36px); }
  body :is(.hero,.about-hero,.fleet-hero,.packages-hero,.vehicle-hero,.guide-hero,.article-hero) h1 { font-size:clamp(2.3rem,8.7vw,3.5rem); }
  body :is(.about-hero,.fleet-hero,.packages-hero)::before { background:rgba(250,248,242,.92); }
  body .eo-hero::before { background:rgba(250,248,242,.91); }
  body :is(.grid-3,.grid-2) { grid-template-columns:1fr; }
  body :is(.card-body,.card .p) { padding:22px; }
  body .eo-hero { min-height:0; padding-block:36px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { html body { padding-top:0; background:white; } body :is(.eo-navbar,.eo-mobile-drawer,.eo-mobile-backdrop) { display:none; } }
