/* Homepage refinement. Deliberately scoped so other pages stay independent. */
body.page-home { --home-space:clamp(60px,6.5vw,100px); --eo-paper:#fffdf8; --eo-sand:#f2ede2; --eo-rule:#e1daca; --eo-bronze:#856632; }
body.page-home main { overflow:clip; }
body.page-home .home-hero { padding:32px 0 42px; background:linear-gradient(110deg,#faf8f2 45%,#f3efe4); }
body.page-home .home-hero-shell { width:min(1380px,calc(100% - 80px)); grid-template-columns:.88fr 1.12fr; gap:clamp(32px,4vw,64px); align-items:center; }
body.page-home .home-hero-copy { padding:18px 0; }
body.page-home .home-kicker { font-size:10px; letter-spacing:.17em; margin-bottom:28px; }
body.page-home .home-hero h1 { font-size:clamp(46px,4.9vw,74px); line-height:1.07; letter-spacing:-.045em; max-width:620px; }
body.page-home .home-hero h1 em { color:#6b795d; font-weight:500; }
body.page-home .home-hero .subtitle { font-size:14px; max-width:465px; line-height:1.9; margin:26px 0 28px; }
body.page-home .home-hero-actions { gap:10px; }
body.page-home .home-hero-actions :is(a,button) { min-height:50px; padding:14px 17px; font-size:11px; }
body.page-home .home-hero-trust { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:22px; font-size:10px; }
body.page-home .home-hero-ribbon { margin-top:24px; padding-top:18px; gap:10px 17px; font-size:10px; }
body.page-home .home-hero-media { position:relative; min-width:0; }
body.page-home .safari-portrait { position:relative; height:540px; margin:0; border-radius:5px 38px 5px 5px; isolation:isolate; background:#e3e5d8; box-shadow:0 18px 48px rgba(30,51,34,.09); }
body.page-home .safari-scene { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .55s ease,visibility .55s; }
body.page-home .safari-scene.is-active { opacity:1; visibility:visible; }
body.page-home .safari-scene img { width:100%; height:100%; object-fit:cover; object-position:52% center; filter:saturate(.84); }
body.page-home .safari-scene[data-scene="camp"] img { object-position:50% center; }
body.page-home .safari-scene[data-scene="journey"] img { object-position:48% center; }
body.page-home .photo-location { position:absolute; top:24px; left:24px; display:flex; align-items:center; gap:7px; background:rgba(255,254,250,.94); color:var(--eo-forest); padding:8px 12px; border-radius:3px; font-size:9px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
body.page-home .safari-portrait figcaption { padding:68px 28px 26px; background:linear-gradient(transparent,rgba(13,35,28,.85)); align-items:end; gap:20px; }
body.page-home .safari-portrait figcaption > span { font-size:26px; line-height:1.2; max-width:270px; }
body.page-home .safari-portrait figcaption a { color:#fffdf6; font-size:10px; white-space:nowrap; padding-bottom:3px; border-bottom:1px solid #e3d4b0; }
body.page-home .scene-controls { display:grid; grid-template-columns:repeat(3,1fr); margin:14px 0 0; gap:15px; }
body.page-home .scene-controls[hidden] { display:none; }
body.page-home .scene-control { display:flex; gap:10px; align-items:center; text-align:left; border:0; border-top:2px solid #dce0d5; background:transparent; padding:12px 0 8px; color:#636f63; font-size:10px; cursor:pointer; transition:color .2s,border-color .2s; min-height:44px; }
body.page-home .scene-control span { color:#7c704e; font-size:9px; }
body.page-home .scene-control[aria-pressed="true"] { color:var(--eo-forest); border-color:var(--eo-bronze); font-weight:600; }
body.page-home .scene-control:hover { color:var(--eo-forest); border-color:var(--eo-brand-gold); }
body.page-home .hero-rate-details { padding:0; margin-top:15px; background:transparent; border:0; border-top:1px solid var(--eo-rule); border-radius:0; box-shadow:none; }
body.page-home .hero-rate-details summary { display:flex; align-items:baseline; justify-content:flex-start; padding:14px 0 0; gap:7px; font-size:10px; font-weight:500; }
body.page-home .hero-rate-details summary strong { font-family:var(--font-serif); font-size:29px; font-weight:500; letter-spacing:-.04em; }
body.page-home .hero-rate-details summary .rate-explainer { margin-left:auto; font-size:10px; }
body.page-home .hero-rate-details p,body.page-home .hero-rate-details .rate-includes { font-size:11px; line-height:1.75; }
body.page-home .hero-rate-details .rate-includes { margin:14px 0 0; display:grid; gap:6px; }
body.page-home .hero-rate-details .rate-includes i { margin-right:6px; color:var(--eo-bronze); }
body.page-home .trust-strip { background:#f0ece1; border-block:1px solid #e4ddcd; }
body.page-home .trust-item { padding:20px 24px; }
body.page-home .trust-item i { font-size:22px; color:var(--eo-bronze); }
body.page-home .trust-item span { font-size:9px; }
body.page-home .trust-item strong { font-size:11px; line-height:1.5; }
body.page-home .home-waypoints { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:21px; border-bottom:1px solid var(--eo-rule); font-size:11px; }
body.page-home .home-waypoints > span { font-family:var(--font-serif); font-style:italic; color:#667657; font-size:19px; }
body.page-home .home-waypoints div { display:flex; flex-wrap:wrap; gap:28px; }
body.page-home .home-waypoints a { text-decoration:none; display:flex; align-items:center; gap:8px; padding:5px 0; }
body.page-home .home-waypoints a span { color:#89713e; font-size:9px; }
body.page-home .home-waypoints a:hover { color:var(--eo-bronze); }
body.page-home .section-pad { padding-block:var(--home-space); }
body.page-home .section-title { margin-bottom:34px; }
body.page-home .section-title h2,body.page-home .editorial-copy h2,body.page-home .soft-copy h2,body.page-home .planning-copy h2,body.page-home .final-drive-copy h2 { font-size:clamp(34px,3.35vw,50px); line-height:1.13; max-width:790px; letter-spacing:-.035em; text-wrap:balance; }
body.page-home .section-title .muted { max-width:720px; font-size:14px; line-height:1.85; }
body.page-home .eyebrow { font-size:10px; margin-bottom:15px; }
body.page-home .gold-rule { display:none; }
body.page-home .editorial-section { background:var(--eo-ivory); }
body.page-home .editorial-grid { grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
body.page-home .editorial-copy p.muted { font-size:13px; line-height:1.9; }
body.page-home .editorial-copy a { text-decoration-color:#b7a06b; text-underline-offset:4px; }
body.page-home .home-story-media { position:relative; margin:0; padding:0 42px 52px 0; }
body.page-home .home-story-main { width:100%; height:440px; object-fit:cover; object-position:46% center; border-radius:clamp(54px,7vw,108px) 12px 12px clamp(54px,7vw,108px); filter:saturate(.86); box-shadow:0 14px 38px rgba(33,49,30,.07); }
body.page-home .home-story-inset { position:absolute; width:48%; height:220px; right:0; bottom:32px; object-fit:cover; border:7px solid var(--eo-ivory); border-radius:12px clamp(36px,4.5vw,64px) clamp(36px,4.5vw,64px) 12px; box-shadow:0 12px 28px rgba(33,49,30,.10); }
body.page-home .home-story-media figcaption { padding-top:13px; color:#616b5d; font-size:10px; letter-spacing:.02em; }
body.page-home .editorial-points { grid-column:1/-1; margin-top:0; border-top:1px solid var(--eo-rule); padding:28px 0 0; border-left:0; background:transparent; }
body.page-home .editorial-points .editorial-line { display:none; }
body.page-home .editorial-points .seo-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
body.page-home .editorial-points .seo-list li { display:block; padding:0; }
body.page-home .editorial-points .seo-list li i { display:block; margin-bottom:10px; font-size:21px; color:var(--eo-bronze); }
body.page-home .editorial-points .seo-list li span { font-size:11px; line-height:1.8; padding:0; }
body.page-home .why-section { padding-top:0; }
body.page-home .why-section .panel { border:0; border-top:1px solid #c9ceb9; border-radius:0; box-shadow:none; background:transparent; padding:28px 22px 0 0; }
body.page-home .why-section .panel-icon { background:transparent; border:0; padding:0; place-items:start; width:auto; height:36px; color:var(--eo-bronze); font-size:24px; }
body.page-home .why-section h3 { font-size:25px; margin:15px 0; }
body.page-home .why-section .panel p { font-size:13px; line-height:1.9; }
body.page-home #how-it-works { background:#e9eddf; }
body.page-home .process-shell { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
body.page-home .process-grid { gap:32px; }
body.page-home .process-step { min-height:0; padding:25px 0 0; border:0; border-top:1px solid #bec7ac; border-radius:0; background:transparent; }
body.page-home .process-step::before { font-family:var(--font-serif); font-size:40px; font-weight:500; border:0; color:#79876b; background:transparent; border-radius:0; width:auto; height:auto; display:block; margin-bottom:18px; }
body.page-home .process-step h3 { font-size:22px; line-height:1.25; margin-bottom:13px; }
body.page-home .process-step p { font-size:12px; line-height:1.85; }
body.page-home .process-step:hover { transform:none; background:transparent; }
body.page-home #fit { background:var(--eo-ivory); }
body.page-home #safety { background:#f2eee4; }
body.page-home .soft-copy .muted { font-size:13px; line-height:1.85; }
body.page-home .soft-note { font-size:11px; line-height:1.8; border-radius:4px; }
body.page-home #fit .soft-row h3,body.page-home #safety .soft-row h3 { font-size:20px; }
body.page-home #fit .soft-row p,body.page-home #safety .soft-row p { font-size:12px; line-height:1.8; }
body.page-home .soft-two-column { gap:32px; }
body.page-home .soft-positive,body.page-home .soft-caution { padding:0; border:0; background:transparent; box-shadow:none; }
body.page-home .soft-row-icon { background:transparent; border:0; color:var(--eo-bronze); border-radius:0; }
body.page-home .soft-safety-stat { border-radius:4px; }
body.page-home .addons-compact-shell { border-radius:5px; padding:34px; background:#f2efe5; border:1px solid #ded7c7; box-shadow:none; }
body.page-home .addons-compact-head h2 { font-size:clamp(30px,3vw,44px); line-height:1.15; }
body.page-home .addon-mini-card { box-shadow:none; border-radius:4px; }
body.page-home .addon-mini-card h3 { font-size:20px; }
body.page-home .addon-mini-card p { font-size:11px; line-height:1.75; }
body.page-home .addon-mini-tag { color:#82632f; }
body.page-home .planning-open { background:var(--eo-ivory); padding-top:0; }
body.page-home .planning-open-grid { border-top:1px solid var(--eo-rule); padding-top:50px; }
body.page-home .planning-points .seo-list li span,body.page-home .final-drive-points .seo-list li span { font-size:12px; line-height:1.8; }
body.page-home .faq-section { background:#f4f0e7; }
body.page-home .faq-section > .container { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
body.page-home .faq-section .section-title { position:sticky; top:120px; }
body.page-home .faq-section .faq-grid { display:block; width:100%; }
body.page-home .faq-section details { border:0; border-top:1px solid #cdd1c3; padding:22px 0; border-radius:0; background:transparent; box-shadow:none; }
body.page-home .faq-section details:last-child { border-bottom:1px solid #cdd1c3; }
body.page-home .faq-section summary { font-size:13px; line-height:1.8; font-weight:500; gap:24px; }
body.page-home .faq-section summary::after { font-size:20px; line-height:1.15; }
body.page-home .faq-section details p { font-size:12px; line-height:1.9; padding-right:25px; }
body.page-home .home-text-link { display:inline-flex; align-items:center; gap:12px; padding:8px 0; margin-top:18px; border-bottom:1px solid var(--eo-bronze); text-decoration:none; font-size:12px; }
/* Warm sand closing invitation; the shared footer remains forest green. */
body.page-home .final-drive-cta { background:#ece3d1; color:#173b32; border-top:1px solid #d7ccb4; border-bottom-color:#d7ccb4; }
body.page-home .final-drive-copy h2 { color:#173b32; }
body.page-home .final-drive-copy .eyebrow,body.page-home .final-drive-points i { color:#76572b; }
body.page-home .final-drive-copy .muted,body.page-home .final-drive-points .seo-list li span { color:#56634f; }
body.page-home .final-drive-copy .cta-primary { background:#173b32; color:#fffdf8; border-color:#173b32; }
body.page-home .final-drive-copy .cta-ghost { color:#173b32; border-color:#7f866f; background:transparent; }
body.page-home .final-drive-copy .cta-primary:hover { background:#255548; color:#fffdf8; border-color:#255548; }
body.page-home .final-drive-copy .cta-ghost:hover { background:#fff9ec; color:#173b32; border-color:#173b32; }
body.page-home .final-drive-points { background:transparent; border-color:#d7ccb4; }
body.page-home .final-drive-points .editorial-line { background:#b3945c; }
body.page-home .final-drive-points .seo-list li { background:#fff9ec; box-shadow:inset 0 0 0 1px #d7ccb470; }
body.page-home .final-drive-points .seo-list li i { background:#efe7d8; border-color:#d8ccb3; box-shadow:none; }
body.page-home :is(a,button,summary):focus-visible { outline:2px solid #997a40; outline-offset:5px; box-shadow:none; border-radius:2px; }
@media (prefers-reduced-motion:no-preference) {
  body.page-home .home-hero-copy { animation:home-arrive .75s both; }
  body.page-home .home-hero-media { animation:home-arrive .9s .12s both; }
  body.page-home .reveal.home-entered { animation:home-arrive .65s both; }
  @keyframes home-arrive { from { opacity:.2; translate:0 20px; } to { opacity:1; translate:0 0; } }
}
@media (min-width:1600px) { body.page-home .safari-portrait { height:610px; } }
@media (max-width:1100px) {
  body.page-home .home-hero-shell { width:calc(100% - 48px); gap:30px; grid-template-columns:.95fr 1.05fr; }
  body.page-home .home-hero h1 { font-size:clamp(43px,5.6vw,62px); }
  body.page-home .safari-portrait { height:520px; }
  body.page-home .home-hero-actions { flex-direction:column; align-items:stretch; }
  body.page-home .home-hero-actions :is(a,button) { text-align:center; justify-content:center; }
  body.page-home .safari-portrait figcaption { display:block; padding:60px 20px 24px; }
  body.page-home .safari-portrait figcaption a { display:table; margin-top:14px; }
  body.page-home .editorial-grid,body.page-home .faq-section > .container { gap:38px; }
  body.page-home .home-story-main { height:430px; }
  body.page-home .home-story-inset { height:190px; }
  body.page-home .process-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  body.page-home .home-hero { padding:20px 0 28px; }
  body.page-home .home-hero-shell { width:calc(100% - 36px); grid-template-columns:1fr; gap:20px; }
  body.page-home .home-hero-copy { padding:12px 0 0; }
  body.page-home .home-kicker { font-size:9px; margin-bottom:20px; gap:10px; }
  body.page-home .home-hero h1 { font-size:clamp(43px,9vw,66px); line-height:1.08; }
  body.page-home .home-hero .subtitle { font-size:13px; margin:20px 0 22px; max-width:570px; }
  body.page-home .home-hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  body.page-home .home-hero-actions :is(a,button) { font-size:10px; padding:12px 8px; min-height:49px; }
  body.page-home .home-hero-actions i { display:none; }
  body.page-home .home-hero-trust { font-size:9px; gap:8px 12px; margin-top:17px; }
  body.page-home .home-hero-ribbon { font-size:9px; margin-top:16px; padding-top:13px; }
  body.page-home .safari-portrait { height:400px; border-top-right-radius:38px; }
  body.page-home .safari-portrait figcaption { display:flex; align-items:end; padding:55px 20px 24px; }
  body.page-home .safari-portrait figcaption > span { font-size:23px; }
  body.page-home .safari-portrait figcaption a { font-size:9px; }
  body.page-home .photo-location { left:18px; top:18px; font-size:8px; }
  body.page-home .scene-controls { gap:10px; margin-top:9px; }
  body.page-home .scene-control { font-size:10px; gap:7px; }
  body.page-home .hero-rate-details { margin-top:9px; }
  body.page-home .trust-item { padding:19px 12px; }
  body.page-home .trust-item strong { font-size:10px; }
  body.page-home .home-waypoints { gap:12px; padding-block:18px; }
  body.page-home .home-waypoints > span { display:none; }
  body.page-home .home-waypoints div { width:100%; justify-content:space-between; gap:9px; }
  body.page-home .home-waypoints a { font-size:10px; gap:5px; }
  body.page-home .section-title h2,body.page-home .editorial-copy h2,body.page-home .soft-copy h2,body.page-home .planning-copy h2,body.page-home .final-drive-copy h2 { font-size:clamp(32px,6.8vw,44px); }
  body.page-home .section-title .muted { font-size:13px; }
  body.page-home .editorial-grid { grid-template-columns:1fr; gap:30px; }
  body.page-home .home-story-media { padding:0 35px 36px 0; }
  body.page-home .home-story-main { height:390px; }
  body.page-home .home-story-inset { height:180px; bottom:20px; }
  body.page-home .home-story-media figcaption { font-size:9px; max-width:180px; }
  body.page-home .editorial-points .seo-list { grid-template-columns:1fr 1fr; gap:24px; }
  body.page-home .editorial-points .seo-list li span { font-size:11px; }
  body.page-home .process-grid { gap:26px 24px; }
  body.page-home .process-step h3 { font-size:20px; }
  body.page-home .process-step p { font-size:11px; }
  body.page-home .soft-copy { position:static; }
  body.page-home .addons-compact-shell { padding:24px 18px; }
  body.page-home .faq-section > .container { grid-template-columns:1fr; gap:12px; }
  body.page-home .faq-section .section-title { position:static; }
  body.page-home .final-drive-actions { flex-direction:column; align-items:stretch; }
}
@media (max-width:360px) {
  body.page-home .home-kicker { font-size:8px; letter-spacing:.12em; }
  body.page-home .home-hero h1 { font-size:40px; }
  body.page-home .home-hero-actions { grid-template-columns:1fr; }
  body.page-home .scene-control { font-size:9px; gap:4px; }
  body.page-home .safari-portrait { height:340px; }
  body.page-home .safari-portrait figcaption { display:block; }
  body.page-home .process-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  body.page-home .safari-scene { transition:none; }
  body.page-home * { animation:none!important; scroll-behavior:auto!important; }
}

body.page-home .home-hero-ribbon span { font-size:inherit; padding:0; }

/* Homepage collections: proportions from Africano Paraiso package-list.css.
   Keep content-driven heights so expanded seasons and text zoom remain readable. */
body.page-home .home-collection > :is(.container,.wide-container) { width:100%; max-width:1320px; padding-inline:12px; margin-inline:auto; }
@media (max-width:1399.98px) { body.page-home .home-collection > :is(.container,.wide-container) { max-width:1140px; } }
@media (max-width:1199.98px) { body.page-home .home-collection > :is(.container,.wide-container) { max-width:960px; } }
@media (max-width:991.98px) { body.page-home .home-collection > :is(.container,.wide-container) { max-width:720px; } }
@media (max-width:767.98px) { body.page-home .home-collection > :is(.container,.wide-container) { max-width:540px; } }
@media (max-width:575.98px) { body.page-home .home-collection > :is(.container,.wide-container) { max-width:none; } }
body.page-home .home-collection { --collection-rule:#e5dfd1; }
body.page-home #fleet { background:#f2efe6; }
body.page-home #routes { background:#fcfaf5; }
body.page-home .collection-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:64px; margin-bottom:25px; }
body.page-home .collection-heading .eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:17px; }
body.page-home .collection-heading .eyebrow::before { content:""; width:27px; height:1px; background:var(--eo-brand-gold); }
body.page-home .collection-heading h2 { margin:0; max-width:640px; font-size:clamp(34px,3.25vw,48px); line-height:1.13; letter-spacing:-.035em; text-wrap:balance; }
body.page-home .collection-heading .muted { margin:0 0 3px; max-width:430px; font-size:13px; line-height:1.9; }
body.page-home .collection-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 0 17px; border-bottom:1px solid #dcd3bf; margin-bottom:23px; }
body.page-home .collection-toolbar .fleet-filters { display:flex; gap:6px; margin:0; flex-wrap:wrap; }
body.page-home #fleet .collection-toolbar .chip { display:flex; gap:8px; border:1px solid transparent; background:transparent; padding:10px 14px; min-height:43px; border-radius:4px; color:#52614f; font-size:11px; font-weight:500; box-shadow:none; }
body.page-home #fleet .collection-toolbar .chip.active { background:var(--eo-forest); color:#fffdf6; border-color:var(--eo-forest); }
body.page-home #fleet .collection-toolbar .chip:not(.active):hover { border-color:#adb9a3; background:#e7ebde; }
body.page-home .collection-toolbar .fleet-result-count { margin:0; color:#52614f; font-size:10px; line-height:1.6; }
body.page-home .collection-note { display:flex; align-items:center; gap:9px; color:#53604f; font-size:11px; }
body.page-home .collection-note i { color:var(--eo-bronze); font-size:16px; }
body.page-home .collection-toolbar > a { color:var(--eo-forest); font-size:11px; text-underline-offset:5px; text-decoration-color:#ac9461; }
body.page-home #homeFleetGrid,body.page-home #routes .grid-3 { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:clamp(1rem,1.8vw,1.45rem); margin:0; }
body.page-home :is(#fleet,#routes) .collection-card { position:relative; display:flex; flex-direction:column; min-width:0; height:auto; max-height:none; overflow:hidden; border:1px solid #ddd5c4; border-radius:17px; background:var(--eo-paper); box-shadow:0 5px 18px rgba(44,46,27,.035); transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease; }
body.page-home :is(#fleet,#routes) .collection-card::before { display:none; }
body.page-home :is(#fleet,#routes) .thumb { position:relative; display:block; width:100%; aspect-ratio:16 / 10; height:auto; max-height:none; flex-shrink:0; padding:0; overflow:hidden; isolation:isolate; background:#e3e6d9; border:0; border-radius:0; }
body.page-home :is(#fleet,#routes) .thumb::before,body.page-home :is(#fleet,#routes) .thumb::after { display:none; }
body.page-home :is(#fleet,#routes) .thumb img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:saturate(.86); transform:none; transition:transform .65s ease; }
body.page-home #routes .thumb img { filter:brightness(1.1) saturate(.95); }
body.page-home :is(#fleet,#routes) .collection-badge { position:absolute; left:13px; top:13px; display:inline-flex; align-items:center; gap:6px; padding:7px 10px; background:rgba(255,253,248,.97); border:1px solid rgba(163,142,95,.15); border-radius:2px; color:var(--eo-forest); font-size:9px; line-height:1.3; font-weight:500; letter-spacing:.025em; }
body.page-home :is(#fleet,#routes) .collection-badge i { color:var(--eo-bronze); font-size:12px; }
body.page-home :is(#fleet,#routes) .image-arrow { position:absolute; bottom:13px; right:13px; display:grid; place-items:center; width:30px; height:30px; background:rgba(255,253,248,.96); border:1px solid rgba(163,142,95,.2); border-radius:50%; font-size:17px; line-height:1; color:var(--eo-forest); transition:background .25s,color .25s; }
body.page-home :is(#fleet,#routes) .duration-label { position:absolute; right:13px; top:13px; background:var(--eo-forest); color:#fffdf6; padding:8px 10px; font-size:10px; line-height:1.3; border-radius:2px; }
body.page-home :is(#fleet,#routes) .card-body { display:flex; flex:1; flex-direction:column; gap:0; padding:1rem; }
body.page-home :is(#fleet,#routes) .card-kicker { margin:0 0 .28rem; color:#7b745e; font-size:.61rem; line-height:1.5; letter-spacing:.09em; font-weight:500; text-transform:uppercase; }
body.page-home :is(#fleet,#routes) h3 { font-size:1.12rem; font-weight:700; line-height:1.25; letter-spacing:-.015em; min-height:0; margin:0 0 .65rem; }
body.page-home :is(#fleet,#routes) h3 a { color:var(--eo-forest); text-decoration:none; }
body.page-home :is(#fleet,#routes) h3 a:hover { color:#697e54; }
body.page-home #fleet h3 span { display:block; margin-top:5px; color:#4f604d; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:0; line-height:1.6; }
body.page-home #routes h3 { min-height:0; text-wrap:balance; }
body.page-home :is(#fleet,#routes) .card-body > .muted { display:block; overflow:visible; min-height:0; margin:0 0 .8rem; font-size:.78rem; line-height:1.52; color:#5a6758; }
body.page-home #fleet .card-body > .muted { min-height:0; }
body.page-home #routes .card-body > .muted { min-height:0; }
body.page-home #fleet .spec-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; padding:10px 0; border:0; border-top:1px solid var(--collection-rule); border-bottom:1px solid var(--collection-rule); border-radius:0; background:transparent; overflow:visible; }
body.page-home #fleet .spec-strip span { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:6px; padding:0; min-height:20px; border:0; background:transparent; font-size:10px; line-height:1.5; font-weight:500; color:var(--eo-forest); }
body.page-home #fleet .spec-strip i { color:#8c7344; font-size:15px; }
body.page-home .card-fit { display:flex; gap:7px; align-items:baseline; margin:10px 0 12px; font-size:10px; line-height:1.7; color:#54604e; }
body.page-home .card-fit > span { color:#82632f; flex-shrink:0; }
body.page-home .card-fit a { color:inherit; text-decoration-color:#bdad8b; text-underline-offset:3px; }
body.page-home .card-price { display:grid; justify-items:end; align-content:start; gap:0; margin:0; padding:0 0 0 10px; border-left:1px solid var(--collection-rule); font-size:9px; line-height:1.5; color:#77725e; }
body.page-home .card-price strong { font-family:var(--font-serif); font-size:1.15rem; line-height:1.15; letter-spacing:-.025em; font-weight:500; color:var(--eo-forest); white-space:nowrap; }
body.page-home :is(#fleet,#routes) .actions { display:grid; grid-template-columns:1.12fr 1fr; gap:.38rem; margin:0; padding:0; }
body.page-home :is(#fleet,#routes) .actions :is(a,button) { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 8px; border-radius:3px; font-size:10px; font-weight:600; white-space:normal; text-align:center; line-height:1.5; }
body.page-home :is(#fleet,#routes) .actions .btn-primary { color:#fffdf6; background:var(--eo-forest); border:1px solid var(--eo-forest); box-shadow:none; }
body.page-home :is(#fleet,#routes) .actions .btn-primary:hover { background:#285446; border-color:#285446; }
body.page-home :is(#fleet,#routes) .actions .btn-ghost { color:var(--eo-forest); border:1px solid #cfc5ad; background:transparent; box-shadow:none; }
body.page-home :is(#fleet,#routes) .actions .btn-ghost:hover { background:#eef1e7; border-color:#9fac92; }
body.page-home :is(#fleet,#routes) .thumb:focus-visible { outline:3px solid #9c7b3c; outline-offset:-5px; }
body.page-home #routes .route-line { border-top:1px solid var(--collection-rule); border-bottom:1px solid var(--collection-rule); padding:10px 0; margin:0 0 10px; }
body.page-home #routes .route-line > span { display:block; color:#82632f; font-size:9px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:4px; }
body.page-home #routes .route-line p { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0; color:var(--eo-forest); font-size:10px; line-height:1.7; }
body.page-home #routes .route-line b { font-size:11px; font-weight:400; color:#9d8a62; }
body.page-home #routes .card-season { border:1px solid #e6dfd1; border-radius:3px; padding:0; background:#f5f2e9; box-shadow:none; margin:0 0 12px; }
body.page-home #routes .card-season summary { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:9px 11px; min-height:44px; color:#5b684f; font-size:10px; font-weight:500; line-height:1.7; cursor:pointer; }
body.page-home #routes .card-season summary i { color:#8c7344; font-size:13px; }
body.page-home #routes .card-season summary strong { margin-left:auto; font-size:10px; font-weight:600; color:var(--eo-forest); }
body.page-home #routes .card-season summary::after { color:#82632f; font-size:14px; }
body.page-home #routes .best-month-strip { border:0; margin:0; padding:0 13px 14px; background:transparent; border-radius:0; box-shadow:none; }
body.page-home #routes .best-month-strip .months,body.page-home #routes .best-month-strip .month-labels { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:4px; }
body.page-home #routes .month-bar { height:5px; min-height:0; border-radius:2px; background:#d9dece; }
body.page-home #routes .month-bar.good { background:#7d8b63; }
body.page-home #routes .month-labels { margin-top:5px; font-size:8px; text-align:center; color:#5e6b51; }
body.page-home #routes .month-note { display:block; margin-top:10px; font-size:10px; line-height:1.7; color:#5e6b51; white-space:normal; }
body.page-home #routes .actions { margin-top:auto; }
body.page-home .collection-footer { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:22px; }
body.page-home .collection-footer p { margin:0; max-width:690px; color:#5d6855; font-size:11px; line-height:1.8; }
body.page-home .collection-footer p a { text-underline-offset:3px; }
body.page-home .collection-footer > a { display:inline-flex; align-items:center; gap:14px; flex-shrink:0; min-height:44px; padding:9px 0; color:var(--eo-forest); border-bottom:1px solid #a68b51; text-decoration:none; font-size:12px; font-weight:600; }
body.page-home .collection-footer > a:hover { color:#82632f; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.page-home :is(#fleet,#routes) .collection-card:hover { transform:translateY(-3px); border-color:#bfa977; box-shadow:0 14px 30px rgba(39,46,28,.08); }
  body.page-home :is(#fleet,#routes) .collection-card:hover .thumb img { transform:scale(1.035); }
  body.page-home :is(#fleet,#routes) .collection-card:hover .image-arrow { background:var(--eo-forest); color:#fffdf6; }
}
@media (max-width:1100px) and (min-width:761px) {
  body.page-home .collection-heading { grid-template-columns:1.1fr .9fr; gap:34px; }
  body.page-home #routes h3 { min-height:0; }
  body.page-home .collection-footer p { max-width:60%; }
}
@media (max-width:760px) {
  body.page-home .collection-heading { grid-template-columns:1fr; gap:18px; margin-bottom:25px; }
  body.page-home .collection-heading .muted { max-width:100%; font-size:12px; }
  body.page-home .collection-heading h2 { font-size:clamp(32px,7vw,42px); }
  body.page-home .collection-toolbar { flex-wrap:wrap; gap:15px; padding-bottom:18px; margin-bottom:23px; }
  body.page-home .collection-toolbar .fleet-filters { width:100%; gap:4px; }
  body.page-home #fleet .collection-toolbar .chip { font-size:10px; padding:10px 12px; }
  body.page-home .collection-toolbar .fleet-result-count { font-size:10px; }
  body.page-home .collection-note { font-size:10px; }
  body.page-home .collection-toolbar > a { font-size:10px; }
  body.page-home .card-price { padding-top:0; }
  body.page-home .collection-footer { flex-direction:column; align-items:flex-start; gap:13px; margin-top:23px; }
  body.page-home .collection-footer p { font-size:10px; }
}
@media (max-width:360px) {
  body.page-home :is(#fleet,#routes) .collection-badge { left:12px; top:12px; padding:7px 9px; font-size:8px; }
  body.page-home :is(#fleet,#routes) .duration-label { right:12px; top:12px; font-size:9px; padding:7px 9px; }
  body.page-home :is(#fleet,#routes) .actions { grid-template-columns:1.05fr 1fr; gap:6px; }
  body.page-home #fleet .spec-strip { gap:7px; }
  body.page-home #fleet .spec-strip span { font-size:9px; }
  body.page-home .card-fit { flex-wrap:wrap; gap:2px 7px; }
  body.page-home #routes .card-season summary { padding:10px; gap:6px; }
}

/* Compact editorial layout: preserve every content block and action. */
body.page-home #fleet .card-body { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"kicker kicker" "title price" "description description" "specs specs" "fit fit" "actions actions"; grid-template-rows:auto auto auto auto 1fr auto; column-gap:12px; align-content:start; }
body.page-home #fleet .card-kicker { grid-area:kicker; }
body.page-home #fleet h3 { grid-area:title; align-self:start; margin-bottom:9px; }
body.page-home #fleet .card-price { grid-area:price; align-self:start; }
body.page-home #fleet .card-body > .muted { grid-area:description; }
body.page-home #fleet .spec-strip { grid-area:specs; }
body.page-home #fleet .card-fit { grid-area:fit; }
body.page-home #fleet .actions { grid-area:actions; align-self:end; }
body.page-home header.eo-navbar { background:#fffdf8; border-bottom-color:#e0d8c7; }
body.page-home header.eo-navbar .crest { box-shadow:0 0 0 3px #fffdf8,0 0 0 4px #d5c499; }
body.page-home header.eo-navbar .header-quote { border-radius:3px; }
body.page-home .home-hero-actions :is(a,button) { border-radius:3px; }
body.page-home .home-hero-actions .cta-ghost { border-color:#c9bda2; }
body.page-home .editorial-points { border-top-color:#d8ceb6; }
body.page-home .home-story-media figcaption { color:#817253; font-family:var(--font-serif); font-style:italic; font-size:13px; }
body.page-home .scene-control[aria-pressed="true"] { border-color:#b3975c; }
body.page-home .process-step::before { color:#8b8464; font-style:italic; }
body.page-home .faq-section details { border-color:#dcd3c1; }
@media (max-width:760px) {
  body.page-home #fleet .card-body { column-gap:10px; }
  body.page-home .home-story-media figcaption { font-size:12px; }
}
@media (max-width:360px) {
  body.page-home #fleet .card-price { padding-left:7px; }
  body.page-home :is(#fleet,#routes) .actions :is(a,button) { font-size:9px; padding-inline:5px; gap:5px; }
}

/* Reference grid breakpoints: three / two / one cards per row. */
@media (max-width:991.98px) {
  body.page-home #homeFleetGrid,body.page-home #routes .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  body.page-home #homeFleetGrid,body.page-home #routes .grid-3 { grid-template-columns:1fr; }
}

/* Paraiso-inspired hero and card finish, within the existing page footprint. */
body.page-home .home-hero { position:relative; padding:0; overflow:hidden; background:#f7f3e8; }
body.page-home .home-hero-shell { width:100%; max-width:none; min-height:650px; padding:36px clamp(24px,5vw,80px); grid-template-columns:1.05fr .95fr; gap:40px; isolation:isolate; }
body.page-home .home-hero-copy { position:relative; z-index:2; max-width:560px; padding:8px 0; }
body.page-home .home-kicker { margin-bottom:22px; color:#795c2d; }
body.page-home .home-hero h1 { font-size:clamp(44px,4.6vw,68px); line-height:1.04; font-weight:600; text-wrap:balance; }
body.page-home .home-hero h1 em { color:#896930; font-weight:500; }
body.page-home .home-hero .subtitle { max-width:465px; margin:20px 0; font-size:13px; line-height:1.8; }
body.page-home .home-hero-actions { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; margin-top:20px; gap:14px 22px; }
body.page-home .home-hero-actions .cta-primary { width:auto; border-radius:999px; background:#c4a56a; border-color:#c4a56a; color:#193a2f; font-weight:700; box-shadow:0 5px 18px #5c4c2312; }
body.page-home .home-hero-actions .cta-primary:hover { background:#d5bb84; border-color:#d5bb84; transform:translateY(-2px); }
body.page-home .home-hero-actions .cta-ghost { width:auto; min-height:48px; padding:10px 0; background:transparent; border:0; border-radius:0; box-shadow:none; text-decoration:underline; text-underline-offset:6px; text-decoration-color:#b69960; }
body.page-home .home-hero-actions .cta-ghost:hover { color:#86632e; }
body.page-home .home-hero-trust { display:flex; gap:8px 18px; margin-top:18px; }
body.page-home .home-hero-trust span { display:inline-flex; align-items:center; gap:7px; }
body.page-home .home-hero-trust i,body.page-home .home-hero-ribbon i { color:#91703b; }
body.page-home .home-hero-ribbon { margin-top:17px; padding-top:13px; gap:8px 16px; border-top-color:#b3a58a66; }
body.page-home .hero-rate-details { max-width:465px; margin-top:12px; border-top-color:#b3a58a66; }
body.page-home .hero-rate-details summary { min-height:44px; padding-top:10px; }
body.page-home .hero-rate-details summary strong { font-size:25px; }
body.page-home .hero-rate-details[open] { background:rgba(255,253,248,.95); padding:0 12px 12px; border-radius:6px; }
body.page-home .home-hero-media { position:static; animation:none; }
body.page-home .safari-portrait { position:absolute; inset:0; width:100%; height:100%; border-radius:0; box-shadow:none; z-index:0; }
body.page-home .safari-portrait::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f7f3e8 0%,rgba(247,243,232,.97) 28%,rgba(247,243,232,.84) 43%,rgba(247,243,232,.12) 68%,rgba(16,40,29,.06) 100%); }
body.page-home .safari-scene img { object-position:65% center; filter:saturate(.93); }
body.page-home .photo-location { z-index:2; top:25px; left:auto; right:clamp(24px,5vw,80px); border:1px solid #ffffff55; background:#173b328c; color:#fffdf6; border-radius:999px; backdrop-filter:blur(8px); }
body.page-home .safari-portrait figcaption { z-index:2; left:auto; right:clamp(24px,5vw,80px); bottom:105px; width:35%; padding:26px 24px; display:block; border-left:1px solid #d4b779; border-radius:0 12px 12px 0; background:linear-gradient(90deg,#142c22c7,#142c2240); }
body.page-home .safari-portrait figcaption > span { display:block; max-width:350px; font-size:clamp(23px,2.5vw,36px); }
body.page-home .safari-portrait figcaption a { display:inline-flex; gap:10px; margin-top:15px; min-height:30px; align-items:center; }
body.page-home .scene-controls { position:absolute; z-index:3; right:clamp(24px,5vw,80px); bottom:25px; width:35%; margin:0; padding:0 12px; gap:14px; background:#173b32b5; border:1px solid #ffffff33; border-radius:8px; backdrop-filter:blur(8px); }
body.page-home .scene-control { min-height:56px; padding:12px 0; border-top:2px solid transparent; color:#f4f1e5; font-size:10px; }
body.page-home .scene-control span { color:#d9c28e; }
body.page-home .scene-control[aria-pressed="true"],body.page-home .scene-control:hover { color:#fff; border-color:#d9bd80; }
body.page-home .card-number { position:absolute; left:17px; bottom:13px; color:#fffdf6; text-shadow:0 2px 12px #102519b3; font-family:var(--font-serif); font-size:29px; line-height:1; pointer-events:none; transition:color .25s,transform .25s; }
body.page-home :is(#fleet,#routes) .collection-card::after { content:""; position:absolute; z-index:2; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg,#957137,#ddc58b); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; pointer-events:none; }
body.page-home :is(#fleet,#routes) .collection-card:focus-within { border-color:#bfa977; box-shadow:0 14px 30px #272e1c14; }
body.page-home :is(#fleet,#routes) .collection-card:focus-within::after { transform:scaleX(1); }
@media (hover:hover) {
  body.page-home :is(#fleet,#routes) .collection-card:hover::after { transform:scaleX(1); }
  body.page-home :is(#fleet,#routes) .collection-card:hover .card-number { color:#f0dca9; transform:translateY(-2px); }
}
@media (max-width:1100px) and (min-width:761px) {
  body.page-home .home-hero-shell { padding-inline:30px; gap:24px; grid-template-columns:1.15fr .85fr; }
  body.page-home .home-hero-actions { gap:6px 16px; }
  body.page-home .scene-controls { right:30px; width:36%; gap:8px; padding-inline:8px; }
  body.page-home .scene-control { gap:5px; font-size:9px; }
  body.page-home .photo-location { right:30px; font-size:8px; }
  body.page-home .safari-portrait figcaption { right:30px; width:33%; padding:20px; }
}
@media (max-width:760px) {
  body.page-home .home-hero-shell { display:block; width:100%; min-height:0; padding:0; }
  body.page-home .home-hero-copy { max-width:none; padding:28px 20px 22px; background:linear-gradient(125deg,#fcfaf4,#f3ecdc); }
  body.page-home .home-kicker { font-size:9px; margin-bottom:16px; }
  body.page-home .home-hero h1 { max-width:560px; font-size:clamp(40px,9.5vw,60px); line-height:1.04; }
  body.page-home .home-hero .subtitle { max-width:560px; font-size:12px; line-height:1.8; margin:17px 0; }
  body.page-home .home-hero-actions { display:flex; gap:6px 17px; margin-top:17px; }
  body.page-home .home-hero-actions :is(a,button) { min-height:46px; font-size:10px; }
  body.page-home .home-hero-actions .cta-primary { padding:12px 15px; }
  body.page-home .home-hero-actions .cta-ghost { padding-inline:0; }
  body.page-home .home-hero-trust { font-size:9px; margin-top:12px; }
  body.page-home .home-hero-ribbon { font-size:9px; margin-top:13px; padding-top:11px; gap:7px 14px; }
  body.page-home .hero-rate-details { max-width:none; margin-top:10px; }
  body.page-home .home-hero-media { position:relative; height:300px; }
  body.page-home .safari-portrait { height:100%; }
  body.page-home .safari-portrait::after { background:linear-gradient(180deg,#172e2110 30%,#102d2280); }
  body.page-home .safari-scene img { object-position:center 56%; }
  body.page-home .photo-location { top:14px; right:auto; left:18px; font-size:8px; padding:7px 10px; }
  body.page-home .safari-portrait figcaption { left:18px; right:18px; bottom:75px; width:auto; padding:12px 15px; display:flex; align-items:center; gap:18px; }
  body.page-home .safari-portrait figcaption > span { font-size:23px; max-width:250px; }
  body.page-home .safari-portrait figcaption a { margin-top:0; font-size:9px; }
  body.page-home .scene-controls { right:18px; left:18px; bottom:12px; width:auto; padding-inline:10px; gap:10px; }
  body.page-home .scene-control { min-height:48px; font-size:9px; gap:6px; }
}
@media (max-width:360px) {
  body.page-home .home-hero-copy { padding-inline:16px; }
  body.page-home .home-kicker { font-size:8px; letter-spacing:.1em; }
  body.page-home .home-hero h1 { font-size:38px; }
  body.page-home .home-hero-actions .cta-primary { font-size:9px; padding-inline:12px; }
  body.page-home .home-hero-actions .cta-ghost { font-size:9px; }
  body.page-home .safari-portrait figcaption > span { font-size:20px; }
  body.page-home .scene-control { font-size:8px; gap:4px; }
}
/* Native dialog adds no height to the page and keeps keyboard focus contained. */
body.page-home .home-enquiry-dialog { width:min(660px,calc(100% - 28px)); max-height:calc(100dvh - 28px); margin:auto; padding:0; border:1px solid #c7b27c; border-radius:18px; background:#fffdf8; color:var(--eo-forest); box-shadow:0 28px 90px #142b2255; overflow:auto; overscroll-behavior:contain; }
body.page-home .home-enquiry-dialog::backdrop { background:#122c24a6; backdrop-filter:blur(5px); }
body.page-home .enquiry-heading { position:relative; padding:24px 72px 22px 26px; background:linear-gradient(125deg,#173b32,#2a4835); color:#fffdf6; }
body.page-home .enquiry-heading .eyebrow { margin:0 0 8px; color:#dec58f; font-size:9px; }
body.page-home .enquiry-heading h2 { margin:0; font-size:30px; line-height:1.1; color:#fffdf6; }
body.page-home .enquiry-heading p:last-child { font-size:11px; line-height:1.65; margin:12px 0 0; color:#dde5d8; }
body.page-home .enquiry-close { position:absolute; right:14px; top:14px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #cfbc8766; border-radius:50%; color:#fffdf6; background:#ffffff08; font-size:26px; cursor:pointer; }
body.page-home .enquiry-close:hover { background:#ffffff18; }
body.page-home .enquiry-form { padding:22px 26px 24px; }
body.page-home .enquiry-fields { margin:0; padding:0; border:0; min-width:0; }
body.page-home .enquiry-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
body.page-home .enquiry-field { display:grid; align-content:start; gap:6px; min-width:0; }
body.page-home .enquiry-full { grid-column:1/-1; }
body.page-home .enquiry-field label { color:#455447; font-size:11px; font-weight:600; }
body.page-home .enquiry-field label span { font-weight:400; color:#777460; }
body.page-home .enquiry-field :is(input,select,textarea) { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #d1cbb9; border-radius:6px; background:#fff; color:#173b32; font:13px/1.5 var(--font-sans); }
body.page-home .enquiry-field textarea { min-height:72px; resize:vertical; }
body.page-home .enquiry-consent { display:flex; align-items:flex-start; gap:10px; font-size:10px; line-height:1.7; margin-top:16px; }
body.page-home .enquiry-consent input { width:17px; height:17px; margin:2px 0 0; accent-color:#173b32; flex-shrink:0; }
body.page-home .enquiry-consent a { text-underline-offset:3px; }
body.page-home .enquiry-submit { display:flex; justify-content:center; align-items:center; gap:10px; min-height:46px; width:100%; margin-top:17px; padding:12px 20px; border:1px solid #173b32; border-radius:999px; background:#173b32; color:#fffdf6; font:600 12px/1.5 var(--font-sans); cursor:pointer; }
body.page-home .enquiry-submit:hover { background:#285346; }
body.page-home .enquiry-submit:disabled { opacity:.65; cursor:wait; }
body.page-home .enquiry-secondary { margin:13px 0 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#64705e; font-size:10px; }
body.page-home .enquiry-secondary a { display:inline-flex; align-items:center; gap:6px; min-height:32px; text-underline-offset:4px; }
body.page-home .enquiry-status { font-size:12px; line-height:1.7; margin:0; }
body.page-home .enquiry-status:not(:empty) { padding:12px; margin-top:14px; border-radius:6px; background:#f5efdf; color:#704b1e; }
body.page-home .enquiry-success { padding:28px; }
body.page-home .enquiry-success h3 { font-family:var(--font-serif); font-size:26px; margin:0 0 10px; }
body.page-home .enquiry-success p { font-size:13px; line-height:1.8; }
body.page-home .enquiry-success[hidden],body.page-home .enquiry-form[hidden] { display:none; }
body.page-home .enquiry-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media (max-width:600px) {
  body.page-home .enquiry-heading { padding:22px 63px 20px 20px; }
  body.page-home .enquiry-heading h2 { font-size:25px; }
  body.page-home .enquiry-form { padding:18px 20px 22px; }
  body.page-home .enquiry-grid { gap:12px 10px; }
  body.page-home .enquiry-field :is(input,select,textarea) { font-size:16px; padding:9px; }
  body.page-home .enquiry-field:has(input[type=email]),body.page-home .enquiry-field:has(input[autocomplete=name]) { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) {
  body.page-home :is(.collection-card,.card-number,.safari-scene,.safari-scene img,.home-hero-actions a),body.page-home .collection-card::after { transition:none!important; animation:none!important; }
}
body.page-home .enquiry-fields legend { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Compact trust band immediately after the full-screen hero. */
body.page-home .home-hero { width:100%; }
body.page-home .home-hero-shell { width:100%; max-width:none; }
body.page-home .hero-trust { position:relative; width:100%; margin:0; border-top:1px solid #b7a06b80; border-bottom:0; background:linear-gradient(100deg,#1d4032,#2b4938); }
body.page-home .hero-trust .wide-container { width:min(1380px,calc(100% - 80px)); }
body.page-home .hero-trust .trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
body.page-home .hero-trust .trust-item { padding:17px 20px; border-color:#bdcba32b; text-align:left; }
body.page-home .hero-trust .trust-item i { color:#d5bb7f; font-size:20px; }
body.page-home .hero-trust .trust-item span { color:#d2bd89; font-size:8px; letter-spacing:.12em; }
body.page-home .hero-trust .trust-item strong { color:#edf0e3; font-size:10px; line-height:1.6; }
body.page-home header.eo-navbar .header-quote { border-radius:999px; }
@media (max-width:760px) {
  body.page-home .hero-trust .wide-container { width:calc(100% - 36px); }
  body.page-home .hero-trust .trust-grid { grid-template-columns:1fr 1fr; }
  body.page-home .hero-trust .trust-item { padding:13px 10px; border-bottom:1px solid #bdcba32b; }
  body.page-home .hero-trust .trust-item:nth-last-child(-n+2) { border-bottom:0; }
  body.page-home .hero-trust .trust-item i { font-size:19px; }
  body.page-home .hero-trust .trust-item strong { font-size:9px; }
}

/* Keep the opening viewport dedicated to the hero; use a stable header allowance
   so the hero does not jump when the sticky navigation becomes compact. */
body.page-home { --home-header-space:88px; }
body.page-home .home-hero-shell {
  position:relative;
  min-height:calc(100vh - var(--home-header-space));
  min-height:calc(100svh - var(--home-header-space));
}
@media (max-width:1080px) {
  body.page-home { --home-header-space:76px; }
}
@media (max-width:760px) {
  body.page-home .home-hero-shell { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  body.page-home .home-hero-copy { flex:0 0 auto; }
  body.page-home .home-hero-media { flex:1 0 240px; min-height:240px; height:auto; }
}

/* The hero already offers an enquiry action; reveal the floating contact control
   after it leaves view, keeping the opening image controls unobstructed. */
body.page-home:not(.past-home-hero) .mobile-sticky-wa { visibility:hidden; opacity:0; pointer-events:none; }
