/* packages.html only — ivory space, safari photography, forest and gold. */
body.page-packages { --packages-space:clamp(52px,5.5vw,78px); --packages-header-space:88px; background:#fffdf8; color:#173b32; }
body.page-packages main { overflow:clip; }
body.page-packages #content { scroll-margin-top:var(--packages-header-space); }
body.page-packages main :is(h1,h2,h3,p,figure) { margin:0; }
body.page-packages main .container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body.page-packages main .section-pad { padding-block:var(--packages-space); border:0; }
body.page-packages main h2 { font:500 clamp(32px,3.3vw,48px)/1.12 var(--font-serif); letter-spacing:-.035em; }
body.page-packages main h3 { font:500 23px/1.2 var(--font-serif); }
body.page-packages main .eyebrow { margin-bottom:16px; color:#82632f; font-size:9px; font-weight:600; line-height:1.6; letter-spacing:.17em; text-transform:uppercase; }
body.page-packages main .muted { color:#526150; opacity:1; font-size:13px; line-height:1.85; }
body.page-packages main .section-title { display:block; max-width:none; margin-bottom:28px; text-align:left; }
body.page-packages main .section-title .muted { max-width:750px; margin-top:20px; }
body.page-packages main .foil-text { background:none; color:#173b32; -webkit-text-fill-color:currentColor; }
body.page-packages main :is(section[id],#pkgGrid) { scroll-margin-top:0; }
body.page-packages :is(main,dialog,.sticky-cta) :is(a,button,input,select,summary):focus-visible { outline:3px solid #9c793d; outline-offset:4px; box-shadow:none; }
body.page-packages .skip-link { position:fixed; z-index:2000; top:-100px; left:16px; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-packages .skip-link:focus { top:12px; }
body.page-packages .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.page-packages :where(main,dialog,.sticky-cta) :is(.cta-primary,.btn-primary,.cta-btn.primary) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:12px 18px; border:1px solid #173b32; border-radius:5px; background:#173b32; color:#fffdf8; font:600 11px/1.5 var(--font-sans); text-decoration:none; cursor:pointer; box-shadow:none; }
body.page-packages :where(main,dialog,.sticky-cta) :is(.cta-primary,.btn-primary,.cta-btn.primary):hover { background:#285446; border-color:#285446; }
body.page-packages :where(main,dialog,.sticky-cta) :is(.cta-ghost,.cta-btn):not(.primary) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:12px 18px; border:1px solid #cfc5ad; border-radius:5px; background:transparent; color:#173b32; font:600 11px/1.5 var(--font-sans); text-decoration:none; cursor:pointer; box-shadow:none; }
body.page-packages :where(main,dialog,.sticky-cta) :is(.cta-ghost,.cta-btn):not(.primary):hover { background:#eef1e7; border-color:#9fac92; }

/* A full-screen safari scene consistent with the Home, About and Vehicles heroes. */
body.page-packages .packages-hero { position:relative; padding:0; min-height:0; border:0; overflow:hidden; background:#f7f3e8; }
body.page-packages .packages-hero::before,body.page-packages .packages-hero::after { display:none; }
body.page-packages .packages-hero-shell { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; width:100%; margin:0; padding:32px clamp(24px,5vw,80px); min-height:calc(100vh - var(--packages-header-space)); min-height:calc(100svh - var(--packages-header-space)); isolation:isolate; }
body.page-packages .packages-hero-copy { position:relative; z-index:2; max-width:590px; min-width:0; padding:8px 0; }
body.page-packages .packages-breadcrumb { display:flex; align-items:center; gap:11px; margin-bottom:25px; font-size:9px; color:#6e7566; }
body.page-packages .packages-breadcrumb a:hover { text-decoration:underline; }
body.page-packages .packages-kicker { display:flex; gap:12px; align-items:center; margin-bottom:21px; color:#82632f; font-size:9px; font-weight:600; line-height:1.6; letter-spacing:.13em; text-transform:uppercase; }
body.page-packages .packages-kicker > span { width:24px; height:1px; background:#b69a63; }
body.page-packages .packages-hero h1 { max-width:620px; color:#173b32; font:600 clamp(43px,4.3vw,65px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; }
body.page-packages .packages-hero h1 em { display:block; color:#896930; font-weight:500; }
body.page-packages .packages-hero .subtitle { max-width:475px; margin-top:20px; color:#526150; font-size:13px; line-height:1.8; }
body.page-packages .packages-hero-actions { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin-top:25px; }
body.page-packages .packages-hero-actions .cta-primary { gap:22px; border-radius:999px; padding:14px 21px; border-color:#c4a56a; background:#c4a56a; color:#193b30; }
body.page-packages .packages-hero-actions .cta-primary:hover { border-color:#d8be86; background:#d8be86; }
body.page-packages .packages-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#173b32; font-size:11px; font-weight:500; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.page-packages .packages-hero-trust { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:23px; }
body.page-packages .packages-hero-trust span { display:flex; gap:6px; align-items:center; color:#526150; font-size:9px; line-height:1.7; }
body.page-packages .packages-hero-trust i { color:#94733b; font-size:12px; }
body.page-packages .packages-route-details { max-width:475px; margin-top:20px; border-block:1px solid #dcd3c1; }
body.page-packages .packages-route-details > summary { display:flex; align-items:center; gap:15px; list-style:none; min-height:49px; padding:11px 0; cursor:pointer; color:#69725e; font-size:10px; }
body.page-packages .packages-route-details > summary::-webkit-details-marker { display:none; }
body.page-packages .packages-route-details > summary strong { margin-right:7px; color:#173b32; font:500 27px/1 var(--font-serif); }
body.page-packages .packages-route-details > summary > span:nth-child(2) { margin-left:auto; font-size:9px; }
body.page-packages .packages-route-details > summary::after { content:'+'; color:#896930; font-size:21px; }
body.page-packages .packages-route-details[open] > summary::after { content:'−'; }
body.page-packages .packages-route-content { padding:0 0 18px; color:#526150; font-size:11px; line-height:1.8; }
body.page-packages .route-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px 15px; margin:15px 0; font-size:10px; }
body.page-packages .route-card-grid span { display:flex; align-items:center; gap:7px; }
body.page-packages .route-card-grid i { color:#927642; }
body.page-packages .route-ready-note { color:#82632f; font-size:9px; }
body.page-packages .packages-hero-visual { position:absolute; inset:0; z-index:0; width:100%; height:100%; overflow:hidden; }
body.page-packages .packages-hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:66% center; filter:brightness(1.14) saturate(.88); }
body.page-packages .packages-hero-visual::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8d6 43%,#f7f3e81f 70%,#10281d0a); pointer-events:none; }
body.page-packages .packages-photo-label { position:absolute; z-index:2; right:clamp(24px,5vw,80px); top:25px; display:flex; gap:7px; align-items:center; padding:8px 12px; border:1px solid #ffffff55; border-radius:999px; background:#173b328c; color:#fff9ed; font-size:8px; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(8px); }
body.page-packages .packages-hero-visual figcaption { position:absolute; z-index:2; right:clamp(24px,5vw,80px); bottom:106px; width:34%; padding:23px; border-left:1px solid #d4b779; border-radius:0 12px 12px 0; color:#fff9ed; background:linear-gradient(90deg,#142c22d9,#142c2259); }
body.page-packages .packages-hero-visual figcaption > span { display:block; font:500 clamp(22px,2.5vw,36px)/1.08 var(--font-serif); }
body.page-packages .packages-hero-visual figcaption em { color:#e5cd95; }
body.page-packages .packages-hero-visual figcaption a { display:inline-flex; align-items:center; gap:12px; min-height:30px; margin-top:14px; color:#fff9ed; font-size:10px; text-decoration:underline; text-underline-offset:6px; }
body.page-packages .packages-chapters { position:absolute; z-index:3; right:clamp(24px,5vw,80px); bottom:25px; width:34%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 12px; border:1px solid #ffffff33; border-radius:8px; background:#173b32cc; backdrop-filter:blur(8px); }
body.page-packages .packages-chapters a { display:flex; align-items:center; justify-content:center; gap:7px; min-height:54px; padding:12px 0; border-top:2px solid transparent; color:#f4f1e5; font-size:10px; white-space:nowrap; }
body.page-packages .packages-chapters a:hover { border-top-color:#d9bd80; }
body.page-packages .packages-chapters a > span { color:#d9c28e; font-size:8px; }

/* Clear filters and compact season-aware route cards. */
body.page-packages main #packages { background:#fffdf8; }
body.page-packages #packages .section-title h2 { max-width:870px; }
body.page-packages .finder { margin:0; padding:22px; border:1px solid #ddd3be; border-radius:15px; background:#f5f1e7; box-shadow:none; }
body.page-packages .finder-head { display:flex; justify-content:space-between; gap:20px; align-items:start; margin-bottom:20px; }
body.page-packages .finder-title h3 { display:flex; align-items:center; gap:10px; font-size:24px; }
body.page-packages .finder-title h3 i { color:#94733b; font-size:19px; }
body.page-packages .finder-title p { max-width:720px; margin-top:8px; color:#62705b; font-size:11px; line-height:1.75; }
body.page-packages .finder-actions { display:flex; gap:5px; flex:none; }
body.page-packages :where(main) .mini { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:42px; padding:8px 10px; border:1px solid #d7ccb5; border-radius:5px; background:transparent; color:#526150; font:500 10px/1.5 var(--font-sans); cursor:pointer; }
body.page-packages :where(main) .mini:hover { border-color:#9fac92; background:#eef1e7; }
body.page-packages .finder-grid { display:grid; grid-template-columns:1.6fr repeat(4,minmax(0,1fr)); gap:16px; margin:0; }
body.page-packages .field { display:grid; gap:8px; min-width:0; align-content:start; }
body.page-packages .field > label { display:flex; gap:7px; align-items:center; color:#526150; font-size:10px; font-weight:500; }
body.page-packages .field > label > i { display:none; }
body.page-packages .control { position:relative; display:flex; align-items:center; min-width:0; }
body.page-packages .control > i { position:absolute; left:12px; color:#94733b; font-size:14px; pointer-events:none; }
body.page-packages .control :is(input,select) { display:block; width:100%; min-width:0; height:46px; padding:10px 10px 10px 34px; border:1px solid #d4ccb7; border-radius:5px; background:#fffdf8; color:#173b32; font:500 11px/1.5 var(--font-sans); box-shadow:none; color-scheme:light; }
body.page-packages .control input::placeholder { color:#7a7b69; }
body.page-packages .chip-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:21px; }
body.page-packages .chip { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 14px; border:1px solid transparent; border-radius:5px; background:transparent; color:#526150; font:500 11px/1.5 var(--font-sans); box-shadow:none; cursor:pointer; }
body.page-packages .chip.is-active { border-color:#173b32; background:#173b32; color:#fffdf8; }
body.page-packages .chip:not(.is-active):hover { border-color:#c4cbb9; background:#e9eee2; }
body.page-packages .facts { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:18px; padding-top:17px; border-top:1px solid #ddd3bd; }
body.page-packages .fact { display:flex; align-items:center; gap:7px; border:0; border-radius:0; padding:0; background:transparent; color:#62705b; font-size:9px; box-shadow:none; }
body.page-packages .finder .facts .fact,
body.page-packages .finder .facts .fact:hover { background:none; border:0; box-shadow:none; text-shadow:none; filter:none; backdrop-filter:none; transform:none; }
body.page-packages .fact i { color:#94733b; font-size:13px; }
body.page-packages .grid-tools { display:flex; justify-content:space-between; gap:20px; align-items:center; margin:24px 0 18px; }
body.page-packages .results-pill { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding:0; border:0; border-radius:0; background:none; color:#67735d; font-size:10px; }
body.page-packages .results-pill strong { color:#173b32; font-weight:600; }
body.page-packages .results-pill > i { color:#94733b; }
body.page-packages .sort-wrap { display:flex; gap:10px; align-items:center; color:#64705b; font-size:10px; }
body.page-packages .sort { min-height:42px; padding:9px 10px; border:1px solid #d9cfb9; border-radius:5px; background:#fffdf8; color:#173b32; font:500 11px/1.5 var(--font-sans); }
body.page-packages #pkgGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; width:100%; margin:0; }
body.page-packages #pkgGrid .pkg { position:relative; display:flex; flex-direction:column; min-width:0; height:auto; overflow:hidden; padding:0; border:1px solid #ded5c1; border-radius:17px; background:#fffdf8; box-shadow:0 5px 18px #243d2406; }
body.page-packages #pkgGrid .pkg[hidden],body.page-packages #pkgGrid .pkg.is-hidden,body.page-packages .pkg-empty[hidden] { display:none; }
body.page-packages #pkgGrid .pkg::before,body.page-packages #pkgGrid .pkg::after,body.page-packages #pkgGrid .crest { display:none; }
body.page-packages #pkgGrid .pkg.is-selected { border-color:#94733b; box-shadow:0 0 0 2px #c4a56a44; }
body.page-packages #pkgGrid .thumb { position:relative; display:block; width:100%; aspect-ratio:16/10; height:auto; overflow:hidden; border-radius:0; background:#e3e6d9; }
body.page-packages #pkgGrid .thumb::before { display:none; }
body.page-packages #pkgGrid .thumb::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#10251d12,transparent 40%,#10251d55); pointer-events:none; }
body.page-packages #pkgGrid .thumb picture { display:block; width:100%; height:100%; }
body.page-packages #pkgGrid .thumb img { display:block; width:100%; height:100%; object-fit:cover; filter:brightness(1.12) saturate(.94); transform:none; }
body.page-packages #pkgGrid .ribbon { position:absolute; z-index:2; top:14px; left:14px; display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid #ffffffa6; border-radius:999px; background:#fffdf8ed; color:#173b32; font-size:8px; line-height:1.6; font-weight:500; box-shadow:none; }
body.page-packages #pkgGrid .ribbon i { color:#94733b; }
body.page-packages #pkgGrid .ribbon::after { display:none; }
body.page-packages #pkgGrid .duration-badge { position:absolute; z-index:2; bottom:15px; left:16px; display:flex; align-items:center; gap:7px; color:#fffdf8; font:500 26px/1 var(--font-serif); text-shadow:0 2px 12px #102519b3; }
body.page-packages #pkgGrid .duration-badge i { font-size:15px; }
body.page-packages #pkgGrid .image-arrow { position:absolute; z-index:2; right:15px; bottom:14px; display:grid; place-items:center; width:34px; height:34px; border:1px solid #fff9; border-radius:50%; color:#173b32; background:#fffdf8eb; font-size:18px; }
body.page-packages #pkgGrid .thumb:focus-visible { outline-offset:-5px; }
body.page-packages #pkgGrid .p { display:flex; flex-direction:column; flex:1; min-width:0; padding:16px; }
body.page-packages #pkgGrid h3 { min-height:0; margin:0; font:500 25px/1.18 var(--font-serif); letter-spacing:-.025em; color:#173b32; }
body.page-packages #pkgGrid h3 a { color:inherit; text-decoration:none; }
body.page-packages #pkgGrid h3 a:hover { color:#82632f; }
body.page-packages #pkgGrid .meta { display:flex; flex-wrap:wrap; gap:5px 10px; min-height:0; margin:12px 0 0; color:#5c6b55; font-size:10px; line-height:1.7; }
body.page-packages #pkgGrid .meta > .dot { display:none; }
body.page-packages #pkgGrid .meta i { color:#94733b; margin-right:4px; }
body.page-packages #pkgGrid .specs { display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; margin:15px 0; padding:13px 0; border-block:1px solid #e0d8c7; border-radius:0; background:transparent; }
body.page-packages #pkgGrid .specs > div { display:flex; align-items:start; gap:7px; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:#42583f; font-size:10px; line-height:1.5; }
body.page-packages #pkgGrid .specs > div::before { display:none; }
body.page-packages #pkgGrid .specs i { flex:none; color:#94733b; font-size:15px; }
body.page-packages #pkgGrid .actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:15px 0 0; }
body.page-packages #pkgGrid .actions > * { display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; width:100%; min-height:44px; padding:10px 8px; border-radius:5px; font:600 10px/1.5 var(--font-sans); text-decoration:none; box-shadow:none; }
body.page-packages #pkgGrid .quickview { border:1px solid #cfc5ad; background:transparent; color:#173b32; cursor:pointer; }
body.page-packages #pkgGrid .quickview:hover { background:#eef1e7; border-color:#9fac92; }
body.page-packages .pkg-empty { padding:30px; border:1px solid #ddd3be; border-radius:14px; text-align:center; background:#f5f1e7; color:#526150; }
body.page-packages .pkg-empty h3 { margin-bottom:10px; }
body.page-packages .pkg-empty p { font-size:12px; line-height:1.8; }
body.page-packages .pkg-empty button { margin-top:18px; }

/* Every month's data remains visible in a small, legible timing guide. */
body.page-packages .ms { margin-top:auto; padding:0; border:0; }
body.page-packages .ms-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px 10px; margin-bottom:9px; }
body.page-packages .ms-title { display:flex; align-items:center; gap:6px; color:#5b6b53; font-size:9px; }
body.page-packages .ms-title i { color:#94733b; }
body.page-packages .ms-legend { display:flex; gap:10px; color:#667359; font-size:8px; white-space:nowrap; }
body.page-packages .ms-lg { display:flex; align-items:center; gap:4px; }
body.page-packages .ms-sw { width:10px; height:7px; border:1px solid #d5cbb6; border-radius:2px; background:#f4f0e5; }
body.page-packages .ms-sw--p { background:#94733b; border-color:#94733b; }
body.page-packages .ms-sw--g { background:#dcc794; border-color:#c3ad79; }
body.page-packages .ms-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:5px 5px 13px; gap:4px; align-items:center; }
body.page-packages .ms-cell { min-height:5px; border:1px solid #ded7c7; border-radius:2px; background:#f3efe5; box-shadow:none; }
body.page-packages .ms-cell--p.is-on { background:#94733b; border-color:#94733b; }
body.page-packages .ms-cell--g.is-on { background:#dcc794; border-color:#c3ad79; }
body.page-packages .ms-lab { text-align:center; color:#607055; font-size:8px; line-height:1; }
body.page-packages .ms-cell.is-focus { outline:2px solid #173b32; outline-offset:1px; }
body.page-packages .ms-lab.is-focus { color:#173b32; font-weight:700; }

/* The same airy FAQ treatment as the vehicle detail pages. */
body.page-packages main .packages-faq { padding-top:0; background:#fffdf8; }
body.page-packages .packages-faq > .container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr); gap:clamp(30px,5vw,70px); align-items:start; }
body.page-packages .packages-faq .section-title { margin:0; }
body.page-packages .packages-faq .section-title .muted { margin-top:20px; }
body.page-packages .faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px); border-top:1px solid #d4c9b1; }
body.page-packages .faq-item { min-width:0; padding:0; border:0; border-bottom:1px solid #d4c9b1; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
body.page-packages .faq-item summary { position:relative; display:list-item; list-style:none; padding:20px 30px 20px 0; cursor:pointer; color:#173b32; font-size:13px; font-weight:400; line-height:1.6; }
body.page-packages .faq-item summary > i { display:none; }
body.page-packages .faq-item summary::-webkit-details-marker { display:none; }
body.page-packages .faq-item summary::after { content:'+'; position:absolute; top:17px; right:3px; width:auto; height:auto; display:block; border:0; border-radius:0; background:none; color:#94733b; font-size:23px; transform:none; }
body.page-packages .faq-item[open] summary::after { content:'−'; transform:none; }
body.page-packages .d-body { padding:0 27px 22px 0; color:#5a6955; font-size:12px; line-height:1.85; }
body.page-packages main .final-drive-cta { background:#e9eddf; }
body.page-packages .final-drive-grid { display:grid; grid-template-columns:1.14fr .86fr; gap:65px; align-items:center; }
body.page-packages .final-drive-copy .muted { max-width:680px; margin-top:23px; }
body.page-packages .final-drive-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:24px; }
body.page-packages .final-drive-points { padding-left:28px; border-left:1px solid #bdad7d; }
body.page-packages .editorial-line { display:none; }
body.page-packages .seo-list { display:grid; gap:20px; margin:0; padding:0; list-style:none; }
body.page-packages .seo-list li { display:flex; gap:10px; align-items:start; color:#586650; font-size:11px; line-height:1.8; }
body.page-packages .seo-list i { color:#94733b; font-size:19px; flex:none; }
body.page-packages noscript p { color:#526150 !important; }

/* A restrained enquiry bar appears only alongside the route collection. */
body.page-packages .sticky-cta { position:fixed; z-index:80; left:0; right:0; bottom:max(16px,env(safe-area-inset-bottom)); padding-inline:20px; visibility:hidden; opacity:0; pointer-events:none; }
body.page-packages .sticky-cta.is-on { visibility:visible; opacity:1; pointer-events:auto; }
body.page-packages .sticky-cta .bar { display:flex; justify-content:space-between; align-items:center; gap:24px; width:min(900px,100%); margin:auto; padding:13px 19px; border:1px solid #c6b17b; border-radius:12px; background:#173b32f5; color:#fffdf8; box-shadow:0 8px 30px #173b3233; backdrop-filter:blur(16px); }
body.page-packages .sticky-cta .left { min-width:0; }
body.page-packages .sticky-cta .kicker { display:flex; align-items:center; gap:6px; margin-bottom:4px; color:#d3bc85; font-size:8px; letter-spacing:.07em; text-transform:uppercase; }
body.page-packages .sticky-cta .title { font:500 18px/1.2 var(--font-serif); }
body.page-packages .sticky-cta .right { display:flex; gap:7px; flex:none; }
body.page-packages .sticky-cta .cta-btn { min-height:42px; padding:10px 14px; border-color:#ffffff55; color:#fffdf8; font-size:10px; }
body.page-packages .sticky-cta .cta-btn.primary { border-color:#c4a56a; background:#c4a56a; color:#173b32; }
body.page-packages .sticky-cta .cta-btn:hover { background:#315848; }
body.page-packages .sticky-cta .cta-btn.primary:hover { background:#d8be86; }

/* Existing native fallback dialog retains its selection and enquiry controls. */
body.page-packages .pkg-modal { width:min(790px,calc(100vw - 36px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #d4c5a4; border-radius:17px; background:#fffdf8; color:#173b32; box-shadow:0 20px 70px #10271f44; }
body.page-packages .pkg-modal::backdrop { background:#10271f9c; backdrop-filter:blur(6px); }
body.page-packages .m-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; border-bottom:1px solid #ddd3bd; }
body.page-packages .m-title h3 { margin:0; font:500 30px/1.2 var(--font-serif); }
body.page-packages .m-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; color:#5a6955; font-size:10px; }
body.page-packages .m-close { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid #d5c8aa; border-radius:50%; background:transparent; color:#173b32; cursor:pointer; }
body.page-packages .m-body { display:grid; grid-template-columns:1.1fr 1fr; gap:22px; padding:24px; }
body.page-packages .m-card { padding:0; border:0; background:transparent; color:#526150; font-size:12px; line-height:1.8; }
body.page-packages .m-card .pill { display:inline-flex; gap:6px; align-items:center; padding:5px 8px; border:1px solid #d7ccb4; border-radius:4px; background:#f5f1e7; color:#526150; font-size:9px; }
body.page-packages .pkg-modal ul { display:grid; gap:9px; margin:18px 0 0; padding-left:17px; }
body.page-packages .m-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }

@media (min-width:1000px) and (prefers-reduced-motion:no-preference) {
  body.page-packages #pkgGrid .thumb img { transition:transform .55s ease; }
  body.page-packages #pkgGrid .thumb:hover img { transform:scale(1.035); }
}
@media (max-width:1100px) {
  body.page-packages main .container { width:calc(100% - 48px); }
  body.page-packages .finder-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.page-packages .finder-grid .field:first-child { grid-column:span 2; }
  body.page-packages .final-drive-grid { gap:35px; }
}
@media (max-width:1080px) { body.page-packages { --packages-header-space:76px; } }
@media (max-width:991.98px) { body.page-packages #pkgGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) {
  body.page-packages .packages-hero-shell { grid-template-columns:1.12fr .88fr; gap:15px; padding-inline:28px; }
  body.page-packages .packages-hero h1 { font-size:46px; }
  body.page-packages .packages-hero .subtitle { font-size:12px; }
  body.page-packages .packages-hero-actions { gap:8px 15px; }
  body.page-packages .packages-hero-actions .cta-primary { padding-inline:15px; }
  body.page-packages .packages-hero-visual::after { background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8ed 28%,#f7f3e8ba 49%,#f7f3e81a 76%); }
  body.page-packages .packages-hero-visual figcaption,body.page-packages .packages-chapters { right:25px; width:32%; }
  body.page-packages .packages-chapters { gap:5px; padding-inline:7px; }
  body.page-packages .packages-chapters a { font-size:9px; gap:4px; }
  body.page-packages .packages-chapters a > span { display:none; }
  body.page-packages .finder-head { flex-wrap:wrap; gap:14px; }
}
@media (max-width:860px) { body.page-packages .faq-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:700px) {
  body.page-packages main .container { width:calc(100% - 36px); }
  body.page-packages .packages-hero-shell { display:flex; flex-direction:column; gap:0; align-items:stretch; padding:0; min-height:calc(100svh - 76px); }
  body.page-packages .packages-hero-copy { max-width:none; padding:28px 22px 23px; }
  body.page-packages .packages-breadcrumb { margin-bottom:21px; font-size:8px; }
  body.page-packages .packages-kicker { font-size:8px; margin-bottom:15px; }
  body.page-packages .packages-hero h1 { max-width:520px; font-size:clamp(37px,8.5vw,52px); line-height:1.04; }
  body.page-packages .packages-hero .subtitle { margin-top:16px; max-width:520px; font-size:12px; line-height:1.8; }
  body.page-packages .packages-hero-actions { margin-top:18px; gap:7px 16px; }
  body.page-packages .packages-hero-actions .cta-primary { min-height:44px; padding:11px 16px; font-size:10px; gap:14px; }
  body.page-packages .packages-text-link { font-size:10px; }
  body.page-packages .packages-hero-trust { margin-top:18px; gap:9px 13px; }
  body.page-packages .packages-hero-trust span { font-size:8px; }
  body.page-packages .packages-route-details { max-width:none; margin-top:16px; }
  body.page-packages .packages-route-details > summary { min-height:44px; }
  body.page-packages .packages-hero-visual { position:relative; inset:auto; flex:1; width:100%; height:auto; min-height:270px; }
  body.page-packages .packages-hero-visual img { object-position:64% 47%; }
  body.page-packages .packages-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e800 24%,#10271f0d 46%,#10271f8c); }
  body.page-packages .packages-photo-label { right:18px; top:28px; padding:6px 9px; font-size:7px; }
  body.page-packages .packages-hero-visual figcaption { left:22px; right:22px; bottom:75px; width:auto; padding:0; border:0; background:transparent; }
  body.page-packages .packages-hero-visual figcaption > span { font-size:26px; text-shadow:0 2px 8px #10271f66; }
  body.page-packages .packages-hero-visual figcaption a { font-size:9px; margin-top:8px; }
  body.page-packages .packages-chapters { width:auto; left:18px; right:18px; bottom:14px; padding-inline:8px; }
  body.page-packages .packages-chapters a { min-height:45px; padding:10px 0; font-size:9px; gap:7px; }
  body.page-packages .packages-chapters a > span { display:block; }
  body.page-packages #pkgGrid { grid-template-columns:minmax(0,1fr); gap:24px; }
  body.page-packages .finder { padding:19px; border-radius:14px; }
  body.page-packages .finder-title h3 { font-size:25px; }
  body.page-packages .finder-title p { font-size:10px; }
  body.page-packages .finder-grid { grid-template-columns:1fr 1fr; gap:18px 13px; }
  body.page-packages .finder-grid .field:first-child { grid-column:span 2; }
  body.page-packages .control :is(input,select) { font-size:16px; }
  body.page-packages .control > i { font-size:13px; left:10px; }
  body.page-packages .control :is(input,select) { padding-left:29px; }
  body.page-packages .chip-row { gap:3px; }
  body.page-packages .chip { font-size:10px; padding:10px; }
  body.page-packages .facts { gap:9px 15px; }
  body.page-packages .fact { font-size:8px; }
  body.page-packages .grid-tools { align-items:start; gap:10px; }
  body.page-packages .results-pill { max-width:210px; gap:5px 8px; font-size:9px; }
  body.page-packages .results-pill > i { display:none; }
  body.page-packages .sort-wrap { gap:6px; font-size:9px; flex:none; }
  body.page-packages .sort { font-size:10px; padding-inline:7px; }
  body.page-packages #pkgGrid h3 { font-size:26px; }
  body.page-packages .packages-faq > .container { grid-template-columns:minmax(0,1fr); gap:29px; }
  body.page-packages .final-drive-grid { grid-template-columns:1fr; gap:29px; }
  body.page-packages .final-drive-points { padding:25px 0 0; border-left:0; border-top:1px solid #c9bb96; }
  body.page-packages .seo-list { grid-template-columns:1fr 1fr; gap:20px; }
  body.page-packages .seo-list li { display:block; font-size:10px; }
  body.page-packages .seo-list i { display:block; margin-bottom:8px; }
  body.page-packages .sticky-cta { bottom:max(12px,env(safe-area-inset-bottom)); padding-inline:14px; }
  body.page-packages .sticky-cta .bar { gap:12px; padding:11px 13px; }
  body.page-packages .sticky-cta .title { font-size:15px; }
  body.page-packages .sticky-cta .kicker { font-size:7px; }
  body.page-packages .sticky-cta .cta-btn { min-height:44px; padding-inline:10px; }
  body.page-packages .sticky-cta #stickyCall { display:none; }
  body.page-packages .m-head { padding:20px; }
  body.page-packages .m-body { grid-template-columns:1fr; padding:20px; }
}
@media (max-width:430px) {
  body.page-packages .packages-hero-copy { padding-top:24px; padding-bottom:18px; }
  body.page-packages .packages-breadcrumb { margin-bottom:16px; }
  body.page-packages .packages-hero .subtitle { margin-top:14px; }
  body.page-packages .packages-hero-actions { margin-top:15px; }
  body.page-packages .packages-route-details { margin-top:14px; }
  body.page-packages .packages-hero-visual { min-height:225px; }
}
@media (max-width:370px) {
  body.page-packages .packages-hero-copy { padding-inline:18px; }
  body.page-packages .packages-hero h1 { font-size:36px; }
  body.page-packages .packages-hero-actions .cta-primary { padding-inline:12px; gap:9px; font-size:9px; }
  body.page-packages .packages-text-link { font-size:9px; }
  body.page-packages .finder { padding:16px; }
  body.page-packages .finder-grid { gap:16px 10px; }
  body.page-packages .control > i { display:none; }
  body.page-packages .control :is(input,select) { padding-left:8px; font-size:16px; }
  body.page-packages .chip { font-size:9px; gap:5px; padding:10px 8px; }
  body.page-packages .results-pill { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  body.page-packages main *,body.page-packages .sticky-cta * { animation:none !important; transition:none !important; }
}
@media print {
  body.page-packages .sticky-cta { display:none; }
  body.page-packages .packages-hero-shell { min-height:0; }
}


/* October refinement. Card flow dimensions intentionally match the previous version. */
body.page-packages #pkgGrid .pkg { background:#fffefa; border-color:#d8d0bd; box-shadow:none; transform:none; transition:border-color .25s ease,box-shadow .25s ease; }
body.page-packages #pkgGrid .pkg:hover,body.page-packages #pkgGrid .pkg:focus-within { transform:none; border-color:#a9ad94; box-shadow:0 4px 18px #173b320a; }
body.page-packages #pkgGrid .pkg.is-selected { border-color:#173b32; box-shadow:0 0 0 2px #173b3226; }
body.page-packages #pkgGrid .thumb img { filter:brightness(1.06) saturate(1.02) contrast(1.03); }
body.page-packages #pkgGrid .thumb::after { background:linear-gradient(180deg,#10271f12,transparent 35%,#10271f14 55%,#10271fbd); }
body.page-packages #pkgGrid .ribbon { border-color:#fffdf899; border-radius:6px; background:#fffdf8f5; font-size:9px; color:#173b32; }
body.page-packages #pkgGrid .route-region { position:absolute; z-index:2; bottom:57px; left:16px; color:#f2e6ca; font:600 9px/1.4 var(--font-sans); letter-spacing:.12em; text-transform:uppercase; text-shadow:0 1px 4px #10271f80; }
body.page-packages #pkgGrid .duration-badge { gap:8px; align-items:baseline; font-size:36px; letter-spacing:-.025em; }
body.page-packages #pkgGrid .duration-number { font:inherit; }
body.page-packages #pkgGrid .duration-unit { font:500 11px/1.4 var(--font-sans); letter-spacing:.08em; text-transform:uppercase; }
body.page-packages #pkgGrid .image-arrow { background:transparent; border-color:#fffdf888; color:#fffdf8; }
body.page-packages #pkgGrid .route-select { position:absolute; z-index:3; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #fffdf8bd; border-radius:50%; background:#fffdf8f5; color:#173b32; font-size:18px; box-shadow:none; cursor:pointer; transition:background .2s ease,color .2s ease; }
body.page-packages #pkgGrid .route-select[hidden] { display:none; }
body.page-packages #pkgGrid .route-select:hover { background:#ecf0e5; }
body.page-packages #pkgGrid .route-select[aria-pressed="true"] { background:#173b32; color:#f2deb0; border-color:#f2deb0; }
body.page-packages #pkgGrid .p { background:linear-gradient(180deg,#fffefa 45%,#f8f5eb); }
body.page-packages #pkgGrid .meta { color:#465b4d; }
body.page-packages #pkgGrid .meta i,body.page-packages #pkgGrid .specs i { color:#876834; }
body.page-packages #pkgGrid .specs { border-color:#ded8c8; }
body.page-packages #pkgGrid .specs > div { color:#314e40; }
body.page-packages #pkgGrid .specs .route-mountain { position:relative; width:0; }
body.page-packages #pkgGrid .specs .route-mountain::before { position:absolute; top:4px; left:-7px; width:11px; font-size:11px; }
body.page-packages #pkgGrid .actions .enquire { border-color:#bac5b3; background:#edf1e7; color:#173b32; filter:none; }
body.page-packages #pkgGrid .actions .enquire:hover { background:#e0e8d6; border-color:#8ba183; }
body.page-packages #pkgGrid .actions .quickview { border-color:#173b32; background:#173b32; color:#fffdf8; }
body.page-packages #pkgGrid .actions .quickview:hover { border-color:#285446; background:#285446; }
body.page-packages #pkgGrid .actions .quickview > span { color:#e6c991; }
body.page-packages #pkgGrid .ms-title,body.page-packages #pkgGrid .ms-legend,body.page-packages #pkgGrid .ms-lab { color:#44583f; }
body.page-packages #pkgGrid .ms-sw--p,body.page-packages #pkgGrid .ms-cell--p.is-on { background:#285547; border-color:#285547; }
body.page-packages #pkgGrid .ms-sw--g,body.page-packages #pkgGrid .ms-cell--g.is-on { background:#ccaf70; border-color:#b39760; }
body.page-packages #pkgGrid .ms-cell.is-focus { outline-color:#173b32; }
body.page-packages #pkgGrid .ms-lab.is-focus { background:#173b32; color:#fffdf8; border-radius:2px; }

/* A clearer finder and supporting copy, kept within the existing sections. */
body.page-packages .finder { border-color:#d2c7af; background:#f5f1e6; }
body.page-packages .finder-title p { color:#4c604e; font-size:12px; }
body.page-packages .field > label { color:#355243; font-size:11px; }
body.page-packages .control :is(input,select) { border-color:#bcc6b2; font-size:12px; }
body.page-packages .control input::placeholder { color:#5b6b54; }
body.page-packages .control :is(input,select):focus { border-color:#8c743f; }
body.page-packages .finder .mini { border-color:#c2c6b3; background:#fffdf866; color:#355243; }
body.page-packages .chip { border-radius:999px; }
body.page-packages .chip:not(.is-active) { color:#385343; }
body.page-packages .finder .fact { color:#4c604e; font-size:10px; }
body.page-packages .results-pill { color:#4d604a; font-size:11px; }
body.page-packages .results-pill strong { font-variant-numeric:tabular-nums; }
body.page-packages .sort-wrap { color:#385343; }
body.page-packages .sort { border-color:#bcc6b2; }
body.page-packages #packages .section-title .muted,body.page-packages .packages-faq .muted,body.page-packages .final-drive-copy .muted { font-size:14px; }
body.page-packages .packages-faq .faq-item summary { font-size:14px; }
body.page-packages .packages-faq .d-body { font-size:13px; color:#4c604e; }
body.page-packages .seo-list li { font-size:12px; color:#3d5745; }
body.page-packages .sticky-cta .bar { box-shadow:0 6px 20px #173b321c; }
@media (max-width:700px) {
  body.page-packages .control :is(input,select) { font-size:16px; }
  body.page-packages .finder-title p { font-size:11px; }
  body.page-packages .finder .fact { font-size:9px; }
  body.page-packages .results-pill { font-size:10px; }
  body.page-packages #packages .section-title .muted,body.page-packages .packages-faq .muted,body.page-packages .final-drive-copy .muted { font-size:13px; }
  body.page-packages .seo-list li { font-size:11px; }
}
@media (max-width:370px) {
  body.page-packages .results-pill { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  body.page-packages #pkgGrid .pkg,body.page-packages #pkgGrid .route-select { transition:none; }
}
/* Direct links to the collection keep the cards clear of the fixed header. */
body.page-packages main #pkgGrid { scroll-margin-top:calc(var(--packages-header-space) + 18px); }
