:root {
  --ink: #152823;
  --ink-soft: #39534b;
  --muted: #39534b;
  --forest: #173f35;
  --forest-2: #225547;
  --sand: #f2eadc;
  --sand-2: #e4d6c0;
  --paper: #fffdf8;
  --sunset: #b94f29;
  --sunset-dark: #b94f29;
  --gold: #d6a956;
  --line: rgba(21,40,35,.15);
  --success: #2e705a;
  --error: #a63e2e;
  --shadow-sm: 0 10px 30px rgba(19,47,40,.08);
  --shadow-md: 0 24px 70px rgba(15,42,35,.14);
  --radius-sm: .75rem;
  --radius: 1.25rem;
  --radius-lg: 2rem;
  --container: 1200px;
  --header-h: 78px;
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(185,79,41,.6); outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: -10rem; z-index: 9999; padding: .75rem 1rem; background: var(--paper); border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.section-sm { padding: clamp(3rem, 6vw, 5rem) 0; }
.section-dark { color: #fff9ee; background: var(--forest); }
.section-sand { background: var(--sand); }
.eyebrow { display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 1rem; font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--sunset); }
.eyebrow::before { content: ""; width: 2.2rem; height: 2px; background: currentColor; }
h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--font-display); font-weight: 500; line-height: 1.04; letter-spacing: -.035em; }
h1 { font-size: clamp(3.2rem, 7.5vw, 7.2rem); }
h2 { font-size: clamp(2.35rem, 5vw, 4.7rem); }
h3 { font-size: clamp(1.45rem, 2.4vw, 2rem); }
.lead { font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: var(--ink-soft); max-width: 65ch; }
.section-dark .lead { color: rgba(255,249,238,.72); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 3rem; align-items: end; margin-bottom: 3rem; }
.section-heading h2 { margin-bottom: 0; max-width: 12ch; }
.section-heading p { margin-bottom: .25rem; }
.btn { display: inline-flex; justify-content: center; align-items: center; gap: .7rem; min-height: 50px; padding: .78rem 1.15rem; border: 1px solid transparent; border-radius: 999px; font-weight: 780; line-height: 1; transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, background .24s ease, color .24s ease; }
.btn:hover { transform: translateY(-2px) scale(1.012); }
.btn:active { transform: translateY(0) scale(.985); }
.btn .icon { transition: transform .24s cubic-bezier(.2,.8,.2,1); }
.btn:hover .icon { transform: translateX(4px); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.btn-primary { color: #fff; background: var(--sunset); box-shadow: 0 10px 26px rgba(185,79,41,.25); }
.btn-primary:hover { background: var(--sunset-dark); box-shadow: 0 14px 32px rgba(185,79,41,.32); }
.btn-secondary { color: var(--forest); background: rgba(255,255,255,.82); border-color: var(--line); }
.btn-secondary:hover { background: #fff; }
.btn-ghost { border-color: currentColor; background: transparent; }
.btn-small { min-height: 42px; padding: .65rem .95rem; font-size: .9rem; }
.icon { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.topbar { background: #102c25; color: rgba(255,255,255,.78); font-size: .78rem; }
.topbar .container { min-height: 34px; display: flex; justify-content: center; align-items: center; gap: 1.25rem; text-align: center; }
.site-header { position: sticky; top: 0; z-index: 1000; padding: .55rem 0; background: rgba(255,253,248,.88); border-bottom: 1px solid rgba(21,40,35,.08); box-shadow: 0 10px 30px rgba(19,47,40,.055); backdrop-filter: blur(20px) saturate(140%); animation:header-arrive .55s cubic-bezier(.2,.8,.2,1) both; transition:padding .32s cubic-bezier(.2,.8,.2,1),background .25s ease,box-shadow .25s ease; }
.header-inner { position:relative; min-height: calc(var(--header-h) - 1.1rem); display: flex; align-items: center; justify-content: space-between; gap: clamp(1rem,2vw,2rem); transition:min-height .32s cubic-bezier(.2,.8,.2,1); }
.brand { display: inline-flex; align-items: center; gap: .75rem; min-width: max-content; }
.brand img { width: 44px; height: 44px; filter: drop-shadow(0 5px 10px rgba(19,47,40,.12)); }
.brand-copy { display: grid; line-height: 1; }
.brand-name { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; letter-spacing: -.025em; }
.brand-sub { margin-top: .25rem; font-size: .61rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: var(--sunset-dark); }
.site-nav { position:relative; isolation:isolate; display:flex; align-items:center; gap:.12rem; padding:.35rem; border:1px solid rgba(21,40,35,.09); border-radius:999px; background:rgba(23,63,53,.055); }
.nav-indicator { position:absolute; z-index:0; top:.35rem; bottom:.35rem; left:0; width:0; border-radius:999px; pointer-events:none; opacity:0; background:var(--forest); box-shadow:0 7px 18px rgba(23,63,53,.2); transform:translate3d(0,0,0); transition:width .42s cubic-bezier(.2,.9,.2,1),transform .48s cubic-bezier(.2,.9,.2,1),opacity .18s ease; }
.site-nav > a { position:relative; z-index:1; }
.site-nav > a:not(.btn) { padding:.65rem .66rem; border-radius:999px; font-size:.82rem; font-weight:760; line-height:1; color:var(--ink-soft); transition:color .22s ease,transform .22s ease; }
.site-nav > a:not(.btn):hover,.site-nav > a:not(.btn).is-indicator-target { color:#fffdf8; background:transparent; transform:none; }
.site-nav > a:not(.btn)[aria-current="page"] { color:#fffdf8; background:transparent; box-shadow:none; }
.site-nav.is-previewing > a:not(.btn)[aria-current="page"] { color:var(--ink-soft); }
.site-nav > a:not(.btn):focus-visible { outline-offset: 1px; }
.site-nav .btn { min-height: 40px; margin-left: .35rem; padding-inline: 1rem; white-space: nowrap; }
.site-nav .btn[aria-current="page"] { box-shadow: 0 0 0 3px rgba(185,79,41,.15), 0 10px 24px rgba(185,79,41,.24); }
.nav-toggle { display: none; min-width: 88px; height: 44px; padding: 0 .85rem; align-items: center; justify-content: center; gap: .5rem; border: 1px solid rgba(23,63,53,.18); border-radius: 999px; background: var(--forest); color: #fff; box-shadow: 0 8px 20px rgba(23,63,53,.18); }
.nav-toggle-label { font-size: .8rem; font-weight: 800; }
.desktop-nav-reveal { display:none; }
.site-header.is-scrolled { padding:.28rem 0; background:rgba(255,253,248,.96); box-shadow:0 14px 38px rgba(19,47,40,.12); }
.site-header.is-scrolled .header-inner { min-height:56px; }
.site-header .brand img { transition:width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1); }
.site-header .brand-sub { max-height:1rem; overflow:hidden; transition:opacity .2s ease,max-height .3s ease,margin .3s ease; }
.site-header.is-scrolled .brand img { width:38px; height:38px; }
.site-header.is-scrolled .brand-sub { max-height:0; margin-top:0; opacity:0; }
.scroll-progress { position:fixed; z-index:1200; top:0; left:0; width:100%; height:3px; pointer-events:none; background:linear-gradient(90deg,var(--sunset),var(--gold)); transform:scaleX(var(--scroll-progress,0)); transform-origin:left center; will-change:transform; }
.hero { position: relative; min-height: calc(100svh - var(--header-h) - 34px); display: grid; align-items: end; overflow: hidden; background: #173b31; }
.hero-media { position: absolute; inset: 0; }
.hero-media img { width:100%; height:calc(100% + 140px); margin-top:-70px; object-fit:cover; transform:translate3d(0,var(--hero-shift,0),0) scale(1.02); will-change:transform; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,27,23,.84) 0%, rgba(10,27,23,.46) 49%, rgba(10,27,23,.08) 78%), linear-gradient(0deg, rgba(10,27,23,.55), transparent 52%); }
.hero-inner { position: relative; z-index: 2; padding: clamp(5rem, 10vh, 8rem) 0 2.5rem; }
.hero-copy { max-width: 760px; color: #fff9ee; }
.hero-copy h1 { margin-bottom: 1.25rem; max-width: 10.5ch; }
.hero-copy .lead { color: rgba(255,249,238,.82); max-width: 57ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.8rem; }
.hero-copy > * { animation:content-arrive .7s cubic-bezier(.2,.8,.2,1) both; }
.hero-copy > :nth-child(1) { animation-delay:.08s; }
.hero-copy > :nth-child(2) { animation-delay:.16s; }
.hero-copy > :nth-child(3) { animation-delay:.24s; }
.hero-copy > :nth-child(4) { animation-delay:.32s; }
.hero .btn-secondary { color: #fff; background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.32); backdrop-filter: blur(10px); }
.search-shell { margin-top: clamp(3rem, 8vh, 6rem); padding: 1rem; border-radius: 1.5rem; background: rgba(255,253,248,.95); box-shadow: var(--shadow-md); color: var(--ink); animation:content-arrive .75s .38s cubic-bezier(.2,.8,.2,1) both; }
.availability-form { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr 1fr .85fr auto; gap: .75rem; align-items: end; }
.field { display: grid; gap: .4rem; }
.field label { font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: .75rem .8rem; color: var(--ink); background-color: #fff; border: 1px solid rgba(21,40,35,.17); border-radius: .8rem; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.field select { appearance: none; padding-right: 3rem; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23173f35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1.1rem; }
.field select:hover, .field input:hover, .field textarea:hover { border-color: rgba(21,40,35,.38); background-color: var(--paper); }
.field select option { color: var(--ink); background: #fff; }
.field textarea { min-height: 145px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--sunset); outline: none; box-shadow: 0 0 0 3px rgba(185,79,41,.14); }
.form-note { margin: .8rem .2rem 0; font-size: .78rem; color: var(--ink-soft); }
.trust-strip { border-bottom: 1px solid var(--line); background: var(--paper); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { display: flex; gap: .8rem; align-items: center; min-height: 94px; padding: 1rem 1.4rem; border-right: 1px solid var(--line); }
.trust-item { transition:background .25s ease,transform .3s cubic-bezier(.2,.8,.2,1); }
.trust-item:hover { z-index:1; background:#fff; transform:translateY(-3px); }
.trust-item:first-child { border-left: 1px solid var(--line); }
.trust-item .icon { color: var(--sunset); width: 1.45rem; height: 1.45rem; }
.trust-item strong { display: block; font-size: .9rem; }
.trust-item span { display: block; font-size: .76rem; color: var(--ink-soft); }
.vehicle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.vehicle-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); transition: transform .26s ease, box-shadow .26s ease; }
.vehicle-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-md); }
.vehicle-media { position: relative; aspect-ratio: 5/3; overflow: hidden; background: var(--sand); }
.vehicle-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vehicle-card:hover .vehicle-media img { transform: scale(1.035); }
.vehicle-tag { position: absolute; left: 1rem; top: 1rem; padding: .45rem .7rem; border-radius: 999px; background: rgba(255,253,248,.9); backdrop-filter: blur(8px); font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.vehicle-body { padding: 1.25rem; }
.vehicle-body h3 { margin-bottom: .55rem; }
.vehicle-body > p { color: var(--ink-soft); font-size: .93rem; }
.spec-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; margin: 1.1rem 0; }
.spec { min-width: 0; padding: .7rem .55rem; border-radius: .75rem; background: #f7f2e9; text-align: center; }
.spec .icon { width: 1.05rem; height: 1.05rem; margin: 0 auto .3rem; color: var(--forest-2); }
.spec strong { display: block; font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.spec span { display: block; font-size: .63rem; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .06em; }
.vehicle-meta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.rate-label { font-size: .72rem; color: var(--ink-soft); }
.rate { font-size: 1rem; font-weight: 850; }
.rate small { font-size: .7rem; font-weight: 600; color: var(--ink-soft); }
.rates-grid .rate-card { display:flex; flex-direction:column; }
.rates-grid .vehicle-body { display:flex; flex:1; flex-direction:column; }
.rates-grid .vehicle-body h2 { margin-bottom:1.2rem; }
.rate-panel { margin-top:auto; padding:1rem; border:1px solid rgba(23,63,53,.1); border-radius:1rem; background:linear-gradient(135deg,#f6efe3,#eef3ed); }
.rate-panel .rate-label { display:block; margin-bottom:.35rem; font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.rate-price { display:flex; align-items:baseline; gap:.5rem; padding-bottom:.8rem; border-bottom:1px solid rgba(23,63,53,.12); }
.rate-price strong { font-family:var(--font-display); font-size:clamp(1.8rem,2.7vw,2.35rem); line-height:1; color:var(--forest); }
.rate-price span { color:var(--ink-soft); font-size:.78rem; }
.rate-terms { display:grid; gap:.4rem; padding-top:.75rem; }
.rate-terms span { display:grid; grid-template-columns:7px 1fr; gap:.55rem; align-items:start; color:var(--ink-soft); font-size:.72rem; line-height:1.35; }
.rate-terms span::before { content:""; width:6px; height:6px; margin-top:.28rem; border-radius:50%; background:var(--sunset); }
.rates-grid .card-actions { margin-top:1rem; }
.card-actions { display: flex; gap: .5rem; }
.compare-check { display: inline-flex; align-items: center; gap: .5rem; margin: .85rem 0 0; font-size: .78rem; font-weight: 750; color: var(--ink-soft); }
.compare-check input { width: 18px; height: 18px; accent-color: var(--sunset); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; counter-reset: steps; }
.process-card { position: relative; padding: 2rem; border-top: 1px solid rgba(255,255,255,.2); counter-increment: steps; }
.process-card { transition:background .28s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
.process-card:hover { background:rgba(255,255,255,.055); transform:translateY(-5px); }
.payment-process .process-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.payment-process .process-card::before{display:none}.payment-number{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:1.1rem;border-radius:50%;color:#fff;background:var(--forest);font-size:.78rem;font-weight:900;letter-spacing:.06em}.payment-process h3{margin-bottom:.7rem}.payment-process p{margin-bottom:0;color:var(--ink-soft)}
.process-card::before { content: "0" counter(steps); position: absolute; right: 1.4rem; top: 1.2rem; font-family: var(--font-display); font-size: 4.5rem; line-height: 1; color: rgba(255,255,255,.08); }
.process-card h3 { margin: 2.3rem 0 .8rem; }
.process-card p { color: rgba(255,249,238,.7); }
.process-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; background: var(--sunset); }
.destination-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.destination-card { position: relative; min-height: 390px; overflow: hidden; border-radius: var(--radius); color: #fff; background: var(--forest); box-shadow: var(--shadow-sm); }
.destination-card:nth-child(1), .destination-card:nth-child(4) { grid-column: span 7; }
.destination-card:nth-child(2), .destination-card:nth-child(3) { grid-column: span 5; }
.destination-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.destination-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,29,24,.82),rgba(9,29,24,.02) 68%); }
.destination-card:hover img { transform: scale(1.045); }
.destination-content { position: absolute; z-index: 2; left: 1.5rem; right: 1.5rem; bottom: 1.4rem; }
.destination-content h3 { margin-bottom: .35rem; }
.destination-content p { margin: 0; color: rgba(255,255,255,.75); font-size: .9rem; }
.destination-meta { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:.7rem; }
.pill { display:inline-flex; align-items:center; min-height:29px; padding:.35rem .62rem; border-radius:999px; background:rgba(255,255,255,.16); backdrop-filter:blur(8px); font-size:.69rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.story-visual { position: relative; min-height: 560px; overflow: hidden; border-radius: var(--radius-lg); background: var(--sand); }
.story-visual img { width:100%; height:calc(100% + 70px); object-fit:cover; position:absolute; inset:-35px 0 auto; transform:translate3d(0,var(--story-shift,0),0) scale(1.025); will-change:transform; }
.floating-note { position:absolute; right:1.2rem; bottom:1.2rem; width:min(300px,calc(100% - 2.4rem)); padding:1.2rem; border-radius:1rem; background:rgba(255,253,248,.92); backdrop-filter:blur(15px); box-shadow:var(--shadow-md); }
.floating-note strong { display:block; margin-bottom:.35rem; }
.floating-note span { font-size:.86rem; color:var(--ink-soft); }
.values-list { display:grid; gap:1rem; margin:2rem 0; }
.value-item { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; }
.value-icon { width:2.6rem; height:2.6rem; display:grid; place-items:center; border-radius:50%; background:var(--sand); color:var(--sunset-dark); }
.value-item h4 { margin:.1rem 0 .2rem; font-size:1rem; }
.value-item p { margin:0; font-size:.9rem; color:var(--ink-soft); }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.review { padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.review .icon { color:var(--sunset); width:1.8rem; height:1.8rem; margin-bottom:1.2rem; }
.review blockquote { margin:0 0 1.5rem; font-family:var(--font-display); font-size:1.23rem; line-height:1.35; }
.review footer { font-size:.8rem; color:var(--ink-soft); }
.cta-band { position:relative; overflow:hidden; padding:clamp(3rem,7vw,6rem); border-radius:var(--radius-lg); color:#fff; background:var(--forest); }
.cta-band::before { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.13); border-radius:50%; right:-210px; top:-270px; box-shadow:0 0 0 60px rgba(255,255,255,.03),0 0 0 120px rgba(255,255,255,.025); }
.cta-band > * { position:relative; z-index:1; }
.cta-band h2 { max-width:13ch; margin-bottom:1rem; }
.cta-band p { max-width:58ch; color:rgba(255,255,255,.72); }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-question { width:100%; display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0; border:0; background:transparent; color:var(--ink); text-align:left; font-weight:800; }
.faq-question span:last-child { font-size:1.5rem; font-weight:400; transition:transform .2s ease; }
.faq-question[aria-expanded="true"] span:last-child { transform:rotate(45deg); }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.faq-answer > div { overflow:hidden; }
.faq-answer p { padding:0 2.5rem 1.2rem 0; color:var(--ink-soft); }
.faq-item.is-open .faq-answer { grid-template-rows:1fr; }
.page-hero { position:relative; padding:clamp(5rem,10vw,9rem) 0 4rem; color:#fff9ee; background:var(--forest); overflow:hidden; }
.page-hero:not(.booking-hero)::after { content:""; position:absolute; right:-14vw; top:-36vw; width:62vw; height:62vw; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 6vw rgba(255,255,255,.018),0 0 0 13vw rgba(255,255,255,.012); animation:hero-orbit 16s ease-in-out infinite alternate; pointer-events:none; }
.page-hero > .container { position:relative; z-index:1; transform:translate3d(0,var(--page-hero-shift,0),0); opacity:var(--page-hero-opacity,1); will-change:transform,opacity; }
.page-hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:end; }
.page-hero h1 { margin-bottom:1rem; font-size:clamp(3.2rem,7vw,6.8rem); }
.page-hero .lead { color:rgba(255,249,238,.72); }
.page-hero-aside { padding:1.4rem; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); background:rgba(255,255,255,.05); }
.page-hero-aside strong { display:block; color:var(--gold); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.3rem; font-size:.78rem; color:rgba(255,255,255,.65); }
.breadcrumbs a:hover { color:#fff; }
.filter-bar { position:sticky; top:calc(var(--header-h) + 12px); z-index:20; display:flex; flex-wrap:wrap; align-items:end; gap:.8rem; margin-bottom:2rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,253,248,.94); box-shadow:var(--shadow-sm); backdrop-filter:blur(14px); }
.filter-bar .field { min-width:155px; flex:1; }
.filter-bar .btn { flex:0 0 auto; }
.result-count { margin-left:auto; align-self:center; font-size:.82rem; color:var(--ink-soft); }
.compare-tray { position:fixed; left:50%; bottom:1rem; z-index:1200; width:min(680px,calc(100% - 2rem)); transform:translate(-50%,140%); display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border-radius:999px; color:#fff; background:#102c25; box-shadow:var(--shadow-md); transition:transform .3s ease; }
.compare-tray.is-visible { transform:translate(-50%,0); }
.compare-tray p { margin:0; font-size:.85rem; }
.compare-tray-actions { display:flex; gap:.5rem; }
.modal { position:fixed; inset:0; z-index:1600; display:none; place-items:center; padding:1rem; background:rgba(4,18,15,.72); backdrop-filter:blur(6px); }
.modal.is-open { display:grid; }
.modal-card { width:min(980px,100%); max-height:90vh; overflow:auto; border-radius:var(--radius); background:#fffdf8; box-shadow:var(--shadow-md); }
.modal-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; padding:1.2rem 1.4rem; border-bottom:1px solid var(--line); background:#fffdf8; }
.modal-close { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:transparent; }
.compare-table-wrap { overflow:auto; padding:1rem; }
.compare-table { width:100%; min-width:720px; border-collapse:collapse; }
.compare-table th,.compare-table td { padding:1rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.compare-table th:first-child { color:var(--ink-soft); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.vehicle-detail-hero { background:var(--sand); }
.vehicle-detail-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr); gap:2rem; align-items:start; }
.vehicle-gallery-main { overflow:hidden; border-radius:var(--radius); background:#e7d9c4; }
.vehicle-gallery-main img { width:100%; aspect-ratio:5/3; object-fit:cover; }
.detail-card { position:sticky; top:calc(var(--header-h) + 1.5rem); padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.detail-card h1 { margin-bottom:.5rem; font-size:clamp(2.4rem,4vw,4rem); }
.detail-card .lead { font-size:1rem; }
.detail-price { display:grid; gap:.65rem; min-width:0; margin:1.4rem 0; padding:1rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-price > div { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.35rem 1rem; min-width:0; }
.detail-price strong { display:block; max-width:100%; font-size:clamp(1.2rem,2vw,1.45rem); line-height:1.1; white-space:nowrap; font-variant-numeric:tabular-nums; }
.detail-price span { display:block; min-width:0; font-size:.75rem; line-height:1.45; color:var(--ink-soft); overflow-wrap:anywhere; }
.detail-price > span { max-width:34ch; }
.detail-card .btn { width:100%; }
.detail-specs { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; margin-top:1.2rem; }
.detail-spec { padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:#fff; }
.detail-spec .icon { color:var(--sunset); margin-bottom:.7rem; }
.detail-spec strong,.detail-spec span { display:block; }
.detail-spec span { font-size:.75rem; color:var(--ink-soft); }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:3rem; }
.prose h2 { margin-top:3rem; font-size:clamp(2rem,4vw,3.3rem); }
.prose h3 { margin-top:2rem; }
.prose p,.prose li { color:var(--ink-soft); }
.check-list { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem 1.4rem; padding:0; list-style:none; }
.check-list li { display:flex; gap:.7rem; }
.check-list .icon { width:1rem; height:1rem; margin-top:.3rem; color:var(--success); }
.sidebar-card { padding:1.2rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--sand); }
.sidebar-card h3 { font-size:1.35rem; }
.route-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.route-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease; }
.route-card img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s ease; }
.route-card:hover { transform:translateY(-6px); border-color:rgba(23,63,53,.24); box-shadow:var(--shadow-md); }
.route-card:hover img { transform:scale(1.025); filter:saturate(1.04); }
.route-body { padding:1.2rem; }
.route-body h3 { margin-bottom:.5rem; }
.route-body p { color:var(--ink-soft); font-size:.9rem; }
.route-details { display:flex; flex-wrap:wrap; gap:.45rem; margin:1rem 0; }
.route-details .pill { background:var(--sand); color:var(--ink-soft); }
.duration-tabs { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.5rem; }
.tab-btn { padding:.65rem 1rem; border:1px solid var(--line); border-radius:999px; background:transparent; font-weight:800; color:var(--ink-soft); }
.tab-btn.is-active { color:#fff; background:var(--forest); border-color:var(--forest); }
.itinerary { display:none; padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.itinerary.is-active { display:block; }
.itinerary-days { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; margin-top:1rem; }
.day-card { padding:1rem; border-radius:.8rem; background:var(--sand); }
.day-card strong { display:block; font-size:.78rem; color:var(--sunset-dark); text-transform:uppercase; letter-spacing:.06em; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.stat { padding:1.4rem; border-left:1px solid var(--line); }
.stat strong { display:block; font-family:var(--font-display); font-size:clamp(2.4rem,5vw,4rem); line-height:1; color:var(--sunset); }
.stat span { display:block; margin-top:.5rem; font-size:.8rem; color:var(--ink-soft); }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.team-card { padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.team-avatar { width:64px; height:64px; display:grid; place-items:center; border-radius:50%; margin-bottom:1.1rem; font-family:var(--font-display); font-size:1.5rem; color:#fff; background:var(--forest); }
.team-card p { color:var(--ink-soft); font-size:.9rem; }
.contact-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.contact-cards { display:grid; gap:1rem; }
.contact-card { display:flex; gap:1rem; padding:1.2rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.contact-card .icon { margin-top:.15rem; color:var(--sunset); }
.contact-card strong,.contact-card span { display:block; }
.contact-card span { font-size:.86rem; color:var(--ink-soft); }
.form-card { padding:clamp(1.3rem,4vw,2.3rem); border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-sm); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-grid .full { grid-column:1/-1; }
.form-status { display:none; margin-top:1rem; padding:.85rem 1rem; border-radius:.8rem; font-size:.88rem; }
.form-status.is-visible { display:block; }
.form-status.success { color:#184b3b; background:#dff1e8; }
.form-status.error { color:#742719; background:#f7ddd6; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.site-footer { color:rgba(255,255,255,.73); background:#0d2922; }
.footer-main { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:3rem; padding:4.5rem 0 3rem; }
.footer-brand p { max-width:38ch; font-size:.9rem; }
.footer-brand .brand { color:#fff; margin-bottom:1rem; }
.footer-col h3 { margin-bottom:1rem; font-family:var(--font-sans); font-size:.78rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; color:#fff; }
.footer-links { display:grid; gap:.6rem; }
.footer-links a { font-size:.88rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding:1.2rem 0; border-top:1px solid rgba(255,255,255,.12); font-size:.75rem; }
.whatsapp { position:fixed; right:1rem; bottom:1rem; z-index:900; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#1d7b58; box-shadow:0 15px 35px rgba(13,41,34,.25); transition:transform .2s ease; }
.whatsapp:hover { transform:translateY(-3px) scale(1.03); }
.whatsapp .icon { width:1.35rem; height:1.35rem; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.section-heading.reveal h2 { opacity:0; transform:translateY(24px); transition:opacity .7s .08s ease,transform .8s .08s cubic-bezier(.2,.8,.2,1); }
.section-heading.reveal.is-visible h2 { opacity:1; transform:none; }
.route-card.reveal,.vehicle-card.reveal { clip-path:inset(0 0 14% 0 round var(--radius)); transform:translateY(30px) scale(.982); transition:opacity .65s ease,transform .8s cubic-bezier(.2,.8,.2,1),clip-path .85s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease; }
.route-card.reveal.is-visible,.vehicle-card.reveal.is-visible { clip-path:inset(0 0 0 0 round var(--radius)); transform:none; }
.motion-tilt { --tilt-x:0deg; --tilt-y:0deg; --card-lift:0px; transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--card-lift)); transform-style:preserve-3d; will-change:transform; }
.reveal.is-visible.motion-tilt { transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--card-lift)); }
.motion-tilt:hover { --card-lift:-6px; }
.motion-tilt.reveal:not(.is-visible) { transform:translateY(30px) scale(.982); }
.motion-tilt::before { content:""; position:absolute; z-index:3; inset:0; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(380px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(255,255,255,.24),transparent 52%); transition:opacity .3s ease; }
.motion-tilt:hover::before { opacity:1; }
.motion-reveal { opacity:0; transform:translateY(16px) scale(.985); transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1); }
.motion-reveal.is-visible { opacity:1; transform:none; }
.route-grid .reveal:nth-child(2),.vehicle-grid .reveal:nth-child(2),.process-grid .reveal:nth-child(2){transition-delay:.07s}
.route-grid .reveal:nth-child(3),.vehicle-grid .reveal:nth-child(3),.process-grid .reveal:nth-child(3){transition-delay:.14s}
.route-grid .reveal:nth-child(4){transition-delay:.05s}.route-grid .reveal:nth-child(5){transition-delay:.1s}.route-grid .reveal:nth-child(6){transition-delay:.15s}.route-grid .reveal:nth-child(7){transition-delay:.2s}
.page-hero .breadcrumbs,.page-hero .eyebrow,.page-hero h1,.page-hero .lead,.page-hero-aside{animation:content-arrive .65s cubic-bezier(.2,.8,.2,1) both}
.page-hero .eyebrow{animation-delay:.06s}.page-hero h1{animation-delay:.12s}.page-hero .lead{animation-delay:.18s}.page-hero-aside{animation-delay:.24s}
@keyframes header-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes content-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hero-orbit{from{transform:translate3d(0,0,0) scale(.96)}to{transform:translate3d(-3vw,4vw,0) scale(1.04)}}
.empty-state { grid-column:1/-1; padding:3rem; border:1px dashed var(--line); border-radius:var(--radius); text-align:center; color:var(--ink-soft); }
.notice { padding:1rem; border-left:4px solid var(--gold); border-radius:.4rem; background:#faf1d8; color:#5a4827; }
@media (min-width:1181px){
 .site-nav{max-width:820px;overflow:hidden;transform-origin:right center;transition:max-width .5s cubic-bezier(.2,.8,.2,1),padding .42s cubic-bezier(.2,.8,.2,1),opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1),border-color .25s ease}
 .desktop-nav-reveal{display:inline-flex;width:0;max-width:0;min-height:42px;margin-left:auto;align-items:center;justify-content:center;gap:.45rem;overflow:hidden;padding:0;border:1px solid transparent;border-radius:999px;opacity:0;white-space:nowrap;color:#fff;background:var(--forest);box-shadow:0 9px 24px rgba(23,63,53,.2);transform:translateX(12px) scale(.88);transition:width .45s cubic-bezier(.2,.8,.2,1),max-width .45s cubic-bezier(.2,.8,.2,1),padding .4s ease,opacity .25s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
 .desktop-nav-reveal .icon{width:1rem;height:1rem}
 .desktop-nav-reveal span{font-size:.8rem;font-weight:800}
 .site-header.is-nav-collapsed .site-nav{position:absolute;right:0;max-width:0;padding-inline:0;border-color:transparent;opacity:0;transform:translateX(14px) scale(.94);pointer-events:none}
 .site-header.is-nav-collapsed .desktop-nav-reveal{width:104px;max-width:104px;padding:0 .9rem;border-color:rgba(23,63,53,.16);opacity:1;transform:none}
}
@media (max-width:1050px){
 .availability-form{grid-template-columns:repeat(3,1fr)} .availability-form .btn{width:100%}
 .vehicle-grid,.route-grid{grid-template-columns:repeat(2,1fr)} .vehicle-card:last-child{grid-column:1/-1;max-width:calc(50% - .6rem);justify-self:center}
 .footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-col:last-child{grid-column:2/-1}
 .detail-specs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1180px){
 :root{--header-h:72px}
 .topbar{display:none}
 .site-header{padding:.45rem 0}
 .nav-toggle{display:inline-flex}
 .site-nav{position:fixed;top:var(--header-h);right:0;bottom:0;left:auto;width:min(420px,100%);display:flex;flex-direction:column;align-items:stretch;gap:.3rem;padding:1rem 1rem 2rem;border:0;border-left:1px solid var(--line);border-radius:0;background:linear-gradient(155deg,#fffdf8 0%,#f5eee2 100%);box-shadow:-35px 0 90px rgba(8,32,26,.24),-100vw 0 0 rgba(8,32,26,.3);transform:translateX(110%);transition:transform .28s ease;overflow-y:auto}
 .nav-indicator{display:none}
 .site-nav.is-open{transform:none}
 .site-nav>a:not(.btn){padding:.9rem 1rem;border-radius:.8rem;font-size:1rem;line-height:1.2;color:var(--ink)}
 .site-nav>a:not(.btn):hover{background:#fff;transform:none}
 .site-nav>a:not(.btn)[aria-current="page"]{color:#fff;background:var(--forest)}
 .site-nav .btn{width:100%;min-height:50px;margin:1rem 0 0}
 .hero{min-height:calc(100svh - var(--header-h))}
}
@media (max-width:820px){
 :root{--header-h:68px}.hero{min-height:calc(100svh - var(--header-h))}.hero-media::after{background:linear-gradient(0deg,rgba(10,27,23,.88),rgba(10,27,23,.22))}.hero-copy h1{font-size:clamp(3rem,13vw,5.5rem)}
 .section-heading,.split,.page-hero-grid,.vehicle-detail-grid,.content-grid,.contact-grid{grid-template-columns:1fr}.section-heading{gap:1rem}.section-heading h2{max-width:15ch}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(3){border-left:1px solid var(--line);border-top:1px solid var(--line)}.trust-item:nth-child(4){border-top:1px solid var(--line)}
 .process-grid,.review-grid,.team-grid{grid-template-columns:1fr}.destination-card:nth-child(n){grid-column:span 12;min-height:330px}.story-visual{min-height:430px}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-card{position:static}.content-grid aside{order:-1}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}.filter-bar{position:static}.result-count{width:100%;margin-left:0}.compare-tray{border-radius:1rem}.check-list{grid-template-columns:1fr}
}
@media (max-width:820px){
 .motion-rail{display:flex!important;gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:max(.75rem,calc((100vw - min(calc(100% - 2rem),var(--container)))/2));padding-bottom:1rem;scrollbar-width:none}
 .motion-rail::-webkit-scrollbar{display:none}
 .motion-rail>*{flex:0 0 min(84vw,390px);width:min(84vw,390px);max-width:none!important;grid-column:auto!important;scroll-snap-align:start}
 .motion-rail>*:last-child{margin-right:.35rem}
}
@media (max-width:620px){
 .container{width:min(calc(100% - 1.25rem),var(--container))}.section{padding:4rem 0}.brand-sub{display:none}.brand-name{font-size:1.12rem}.brand img{width:40px;height:40px}.nav-toggle{min-width:80px;height:42px}.site-nav{width:100%;box-shadow:none}.availability-form{grid-template-columns:1fr}.search-shell{border-radius:1rem;padding:.8rem}.hero-inner{padding-bottom:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-item,.trust-item:nth-child(n){border-left:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line)}.trust-item:first-child{border-top:0}.vehicle-grid,.route-grid{grid-template-columns:1fr}.vehicle-card:last-child{grid-column:auto;max-width:none}.spec-row{grid-template-columns:repeat(3,1fr)}.vehicle-meta{align-items:flex-end}.card-actions{flex-direction:column}.story-visual{min-height:360px}.floating-note{position:absolute}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:1rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-main{grid-template-columns:1fr;gap:2rem}.footer-brand,.footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.detail-specs{grid-template-columns:1fr 1fr}.page-hero{padding-top:4rem}.compare-tray{align-items:flex-start}.compare-tray-actions{flex-direction:column}.whatsapp{bottom:5.5rem}.route-grid{gap:1rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.motion-reveal,.section-heading.reveal h2{opacity:1;transform:none}.hero-media img,.story-visual img,.page-hero>.container,.motion-tilt{transform:none!important}.route-card.reveal,.vehicle-card.reveal{clip-path:none}}
/* Phase 2 booking and quote system */
.booking-hero{position:relative;background:linear-gradient(135deg,#dfe8dc,#f3ead7);color:#13372f}
.booking-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.72),transparent 38%),radial-gradient(circle at 85% 0%,rgba(190,91,53,.08),transparent 30%);pointer-events:none}
.booking-hero .container{position:relative;z-index:1}
.booking-hero h1{color:#13372f;text-shadow:0 1px 0 rgba(255,255,255,.75),0 8px 24px rgba(255,255,255,.25)}
.booking-hero .lead{color:rgba(19,55,47,.78);max-width:34rem}
.booking-promise{background:rgba(255,255,255,.76);backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(19,55,47,.08)}
.booking-promise{display:grid;gap:.7rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.72)}
.booking-promise strong{font-family:var(--font-display);font-size:1.5rem}.booking-promise span{display:flex;gap:.55rem;color:var(--ink-soft)}.booking-promise span::before{content:'✓';color:var(--success);font-weight:900}
.system-notice{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;padding:1rem 1.2rem;border-left:4px solid var(--gold);border-radius:.7rem;background:#faf1d8;color:#5a4827}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:2rem;align-items:start}.booking-main{min-width:0}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 1.4rem}.booking-progress li{position:relative;display:flex;align-items:center;gap:.55rem;padding:.9rem;color:var(--ink-soft);font-size:.78rem;font-weight:800;border-bottom:3px solid var(--line)}.booking-progress span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--sand)}.booking-progress li.is-active{color:var(--forest);border-color:var(--sunset)}.booking-progress li.is-active span,.booking-progress li.is-complete span{color:#fff;background:var(--forest)}
.booking-step{display:none;padding:clamp(1.3rem,4vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.booking-step.is-active{display:block}.booking-step h2{font-size:clamp(2rem,4vw,3.2rem)}.step-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem}.booking-step[data-booking-step="1"] .form-note{flex:1;max-width:48ch;margin:0;line-height:1.5}.booking-check-action{flex:0 0 auto;min-width:230px;padding-inline:1.5rem;white-space:nowrap}.booking-check-action .icon{width:1.05rem;height:1.05rem}.muted{color:var(--ink-soft)}
.holding-deposit-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.2rem,3vw,2rem);margin-bottom:1.4rem;padding:clamp(1.2rem,3vw,1.8rem);border:1px solid rgba(23,63,53,.16);border-radius:var(--radius);background:linear-gradient(135deg,#f4ead9 0%,#eef4ef 100%);box-shadow:var(--shadow-sm)}.holding-deposit-intro h2{margin-bottom:.7rem;font-size:clamp(1.8rem,3vw,2.5rem)}.holding-deposit-intro p:last-child{margin-bottom:0;color:var(--ink-soft);font-size:.9rem}.payment-timeline{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.payment-timeline li{display:grid;grid-template-columns:34px 1fr;gap:.75rem;align-items:start;padding:.75rem;border:1px solid rgba(23,63,53,.1);border-radius:.8rem;background:rgba(255,255,255,.7)}.payment-timeline li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:var(--forest);font-size:.78rem;font-weight:900}.payment-timeline strong,.payment-timeline small{display:block}.payment-timeline small{margin-top:.15rem;color:var(--ink-soft);line-height:1.45}.option-group-note{max-width:64ch;margin:-.35rem 0 1rem;color:var(--ink-soft);font-size:.85rem}.summary-payment{display:grid;gap:.45rem;margin:.8rem 0;padding:.8rem;border-radius:.75rem;background:rgba(255,255,255,.55)}.summary-payment div{display:flex;justify-content:space-between;gap:1rem}.summary-payment span{font-size:.75rem;color:var(--ink-soft)}.summary-payment strong{font-size:.82rem;text-align:right}.summary-payment .summary-payment-separate{margin-top:.25rem;padding-top:.55rem;border-top:1px solid var(--line)}.summary-payment>small{color:var(--ink-soft);font-size:.68rem;line-height:1.4}
.availability-results{display:grid;gap:1rem}.availability-card{display:grid;grid-template-columns:170px 1fr;overflow:hidden;border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;transition:.2s ease}.availability-card:has(input:checked){border-color:var(--sunset);box-shadow:0 0 0 3px rgba(190,91,53,.12)}.availability-card input{position:absolute;opacity:0}.availability-card img{width:100%;height:100%;min-height:160px;object-fit:cover;background:var(--sand)}.availability-card-body{display:flex;flex-direction:column;padding:1.2rem}.availability-card-body>strong{font-family:var(--font-display);font-size:1.8rem}.availability-card-body small{color:var(--ink-soft)}.availability-price{margin-top:auto;padding-top:1rem}.availability-price b{color:var(--sunset-dark)}
.option-group{margin-top:1.5rem}.option-cards,.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.option-card,.extra-card,.toggle-row{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;cursor:pointer;background:#fff}.option-card>input,.extra-card>input,.toggle-row>input{width:1rem;height:1rem;min-height:0;flex:0 0 1rem;align-self:flex-start;margin:.3rem 0 0;accent-color:var(--sunset)}.option-card:has(input:checked),.extra-card:has(input:checked),.toggle-row:has(input:checked){border-color:var(--sunset);background:#fff8f1}.option-card span,.extra-card span,.toggle-row span{display:grid;gap:.25rem}.option-card small,.extra-card small,.toggle-row small{color:var(--ink-soft)}.option-card b{margin-top:.35rem;color:var(--sunset-dark)}.cover-terms{display:grid;gap:.25rem;margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--line);font-style:normal}.cover-terms span{grid-template-columns:1fr auto;align-items:center;font-size:.72rem;color:var(--ink-soft)}.cover-terms strong{font-size:.75rem;color:var(--forest);text-align:right}.extra-grid{grid-template-columns:repeat(2,1fr)}.toggle-row{margin:1.5rem 0}.is-hidden{display:none!important}
.consent-row{display:flex;gap:.8rem;margin-top:1rem;color:var(--ink-soft);font-size:.88rem}.consent-row input{margin-top:.2rem}.booking-summary{position:sticky;top:calc(var(--header-h) + 1rem);padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--sand)}.booking-summary h2{font-size:2rem}.booking-summary dl{display:grid;gap:.65rem}.booking-summary dl div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.booking-summary dt{color:var(--ink-soft)}.booking-summary dd{margin:0;text-align:right;font-weight:800}.summary-total{display:flex;justify-content:space-between;align-items:end;margin-top:1rem;padding-top:1rem;border-top:2px solid var(--forest)}.summary-total strong{font-family:var(--font-display);font-size:2rem;color:var(--sunset-dark)}.booking-summary p{font-size:.78rem;color:var(--ink-soft)}
.quote-shell{width:min(980px,calc(100% - 2rem));margin:3rem auto}.quote-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.quote-head{padding:2rem;color:#fff;background:var(--forest)}.quote-body{padding:clamp(1.4rem,4vw,2.5rem)}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.quote-panel{padding:1.2rem;border:1px solid var(--line);border-radius:1rem}.quote-panel dl{display:grid;gap:.6rem}.quote-panel dl div{display:flex;justify-content:space-between;gap:1rem}.quote-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.status-badge{display:inline-flex;padding:.4rem .7rem;border-radius:999px;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;background:var(--sand)}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.option-cards{grid-template-columns:1fr}.extra-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.system-notice{display:grid}.booking-progress li{display:grid;justify-items:center;padding:.65rem .25rem}.booking-progress{font-size:.7rem}.availability-card{grid-template-columns:1fr}.availability-card img{max-height:220px}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .btn{width:100%}.extra-grid,.quote-grid{grid-template-columns:1fr}}
@media print{.site-header,.topbar,.site-footer,.whatsapp,.quote-actions{display:none!important}.quote-shell{width:100%;margin:0}.quote-card{box-shadow:none;border:0}}
/* Phase 4: publishing, smart planning and private route plans */
.filter-chips{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:2rem}.chip{display:inline-flex;gap:.4rem;align-items:center;padding:.65rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-weight:800}.chip.active,.chip:hover{color:#fff;background:var(--forest);border-color:var(--forest)}.chip span{font-size:.72rem;opacity:.7}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.article-card{overflow:hidden;border:1px solid var(--line);border-radius:1.2rem;background:var(--paper);box-shadow:var(--shadow-sm)}.article-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-card-body{padding:1.25rem}.article-card h2{margin:.25rem 0 .65rem;font-size:1.6rem}.article-card h2 a:hover{color:var(--sunset)}.article-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1rem;font-size:.78rem;color:var(--muted)}.article-meta a{color:var(--forest);font-weight:850}.empty-state{grid-column:1/-1;padding:3rem;text-align:center;border:1px dashed var(--line);border-radius:1.2rem;background:var(--paper)}.story-hero{padding:clamp(3rem,8vw,7rem) 0 2rem;background:var(--sand)}.story-header{max-width:900px}.story-image{margin-top:2rem}.story-image img{width:100%;max-height:620px;object-fit:cover;border-radius:1.4rem}.story-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,6vw,5rem);padding-top:3rem;padding-bottom:5rem}.prose{font-size:1.08rem;line-height:1.8}.prose h2,.prose h3,.prose h4{margin-top:2.1em}.prose blockquote{margin:2rem 0;padding:1.2rem 1.5rem;border-left:4px solid var(--sunset);background:var(--sand);font-family:var(--font-display);font-size:1.25rem}.prose a{color:var(--sunset);text-decoration:underline}.story-aside .sticky-card,.planner-preview .sticky-card,.trip-plan-layout .sticky-card{position:sticky;top:7rem}.panel-card,.sticky-card{padding:1.4rem;border:1px solid var(--line);border-radius:1.2rem;background:var(--paper);box-shadow:var(--shadow-sm)}.sticky-card{display:grid;gap:.8rem}.sticky-card .btn{width:100%}.planner-hero{position:relative;color:#12352d;background:linear-gradient(135deg,#efe7d5,#dbe7df)}.planner-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.78),transparent 34%),radial-gradient(circle at 88% 10%,rgba(190,91,53,.1),transparent 28%),radial-gradient(circle at 52% 100%,rgba(19,55,47,.08),transparent 30%);pointer-events:none}.planner-hero .container{position:relative;z-index:1}.planner-hero .eyebrow{color:var(--sunset-dark)}.planner-hero h1{color:#12352d;text-shadow:0 1px 0 rgba(255,255,255,.78),0 10px 30px rgba(255,255,255,.2)}.planner-hero .lead{max-width:36rem;color:rgba(18,53,45,.82)}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2rem;align-items:start}.planner-form{display:grid;gap:1.6rem;padding:clamp(1.2rem,4vw,2.2rem)}.planner-step{display:flex;gap:1rem;align-items:flex-start;padding-top:1rem;border-top:1px solid var(--line)}.planner-step:first-of-type{padding-top:0;border:0}.planner-step>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;color:#fff;background:var(--forest);font-weight:900}.planner-step h2,.planner-step p{margin:0}.choice-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.choice-card,.region-choice{cursor:pointer}.choice-card input,.region-choice input{position:absolute;opacity:0;pointer-events:none}.choice-card span{display:grid;place-items:center;min-height:62px;padding:.7rem;text-align:center;border:1px solid var(--line);border-radius:.8rem;background:#fff;font-weight:800}.choice-card input:checked+span{color:#fff;background:var(--forest);border-color:var(--forest)}.choice-card input:focus-visible+span,.region-choice input:focus-visible+span{outline:3px solid rgba(190,91,53,.35);outline-offset:2px}.region-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.region-choice span{display:grid;gap:.2rem;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff}.region-choice small{color:var(--muted)}.region-choice input:checked+span{border-color:var(--forest);box-shadow:inset 0 0 0 2px var(--forest);background:#eef5f1}.consent-line{display:flex;gap:.7rem;align-items:flex-start}.consent-line input{margin-top:.25rem}.planner-dialog{width:min(900px,calc(100% - 2rem));max-height:90vh;padding:clamp(1.2rem,4vw,2.2rem);border:0;border-radius:1.3rem;box-shadow:0 30px 90px rgba(0,0,0,.3)}.planner-dialog::backdrop{background:rgba(8,26,22,.72)}.dialog-close{position:absolute;right:1rem;top:1rem;width:38px;height:38px;border:0;border-radius:50%;font-size:1.6rem;cursor:pointer}.planner-result-vehicle{margin:1rem 0;padding:1rem;border-radius:.8rem;background:var(--sand)}.dialog-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}.trip-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start}.route-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:2rem}.route-summary-grid article{padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--paper)}.route-summary-grid span,.route-summary-grid strong{display:block}.route-summary-grid span{font-size:.75rem;color:var(--muted)}.itinerary-list{display:grid;gap:.8rem}.itinerary-day{display:grid;grid-template-columns:72px 1fr;gap:1rem;padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper)}.itinerary-day>span{display:grid;place-items:center;align-self:start;min-height:58px;border-radius:.7rem;color:#fff;background:var(--forest);font-weight:900}.itinerary-day h2,.itinerary-day h3,.itinerary-day p{margin:.15rem 0}.itinerary-list.compact{max-height:45vh;overflow:auto}.trip-plan-layout aside{display:grid;gap:1rem}.trip-plan-layout .panel-card ul,.sticky-card ul{padding-left:1.2rem}.notice-box{margin-bottom:4rem;padding:1.2rem;border-left:4px solid var(--sunset);background:var(--sand)}.check-list{display:grid;gap:.55rem;padding-left:1.2rem}.page-hero.compact{padding:clamp(3rem,8vw,6rem) 0}
@media(max-width:980px){.article-grid{grid-template-columns:repeat(2,1fr)}.story-layout,.planner-layout,.trip-plan-layout{grid-template-columns:1fr}.story-aside .sticky-card,.planner-preview .sticky-card,.trip-plan-layout .sticky-card{position:static}.choice-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.holding-deposit-card{grid-template-columns:1fr}}
@media(max-width:650px){.article-grid,.region-choice-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,1fr)}.route-summary-grid{grid-template-columns:repeat(2,1fr)}.itinerary-day{grid-template-columns:54px 1fr}.article-meta{align-items:flex-start;flex-direction:column}.dialog-actions{display:grid}.dialog-actions .btn{width:100%}}
@media print{.site-header,.topbar,.site-footer,.whatsapp-float,.hero-actions{display:none!important}.trip-plan-layout{display:block}.itinerary-day{break-inside:avoid}.story-hero,.page-hero{padding:1rem 0;background:#fff}}
.vehicle-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-card{overflow:hidden;margin:0;border:1px solid var(--line);border-radius:1rem;background:var(--paper);box-shadow:var(--shadow-sm)}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-card figcaption{padding:.85rem 1rem;font-size:.82rem;font-weight:800;color:var(--ink-soft)}
.vehicle-photos{padding-top:1rem}.vehicle-detail-gallery{grid-template-columns:repeat(4,1fr)}
@media(max-width:1050px){.vehicle-detail-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.vehicle-gallery-grid,.vehicle-detail-gallery{grid-template-columns:1fr}}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;padding:4rem 0 3rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.footer-grid h3{margin:0 0 .5rem}.footer-grid a{color:rgba(255,255,255,.72)}.footer-grid a:hover{color:#fff}.footer-grid p{color:rgba(255,255,255,.65)}.footer-grid .footer-brand{display:flex}.whatsapp-float{position:fixed;right:1rem;bottom:1rem;z-index:900;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#1d7b58;box-shadow:0 15px 35px rgba(13,41,34,.25)}.whatsapp-float .icon{width:1.35rem;height:1.35rem}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

.consent-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:5000;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:760px;margin-inline:auto;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper);box-shadow:var(--shadow-md)}
.consent-banner p{margin:0;font-size:.9rem}.consent-actions{display:flex;gap:.5rem;flex-wrap:wrap}.consent-actions .btn{min-height:42px}
@media(max-width:640px){.consent-banner{align-items:stretch;flex-direction:column}.consent-actions .btn{flex:1}}

/* Official operator documents stay visually distinct from Roamstead's own terms. */
.official-resources{background:linear-gradient(135deg,#f3eadc 0%,#edf3ed 100%)}
.official-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.official-resource-card{display:grid;grid-template-columns:auto 1fr;gap:.35rem .85rem;align-items:start;min-height:12rem;padding:1.25rem;border:1px solid rgba(23,63,53,.16);border-radius:1.15rem;background:rgba(255,255,255,.82);color:var(--forest);box-shadow:0 12px 28px rgba(21,50,42,.06);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.official-resource-card:hover{transform:translateY(-4px);border-color:var(--sunset);box-shadow:0 18px 36px rgba(21,50,42,.11)}
.official-resource-card>span{grid-row:1/4;display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;background:var(--forest);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em}
.official-resource-card strong{font-family:var(--font-display);font-size:1.35rem;line-height:1.05}
.official-resource-card small{color:var(--ink-soft);line-height:1.5}
.official-resource-card b{align-self:end;margin-top:auto;color:var(--sunset-dark);font-size:.78rem;letter-spacing:.03em}
.cover-resource-links{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin-top:.8rem;padding:.85rem 1rem;border-radius:.85rem;background:var(--sand);font-size:.78rem}
.cover-resource-links strong{margin-right:auto;color:var(--forest)}
.cover-resource-links a{color:var(--sunset-dark);font-weight:700;text-decoration:underline;text-decoration-color:rgba(190,73,35,.3);text-underline-offset:.2rem}
@media(max-width:900px){.official-resource-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.official-resource-grid{grid-template-columns:1fr}.official-resource-card{min-height:0}.cover-resource-links{align-items:flex-start;flex-direction:column}.cover-resource-links strong{margin-right:0}}
.prose a.btn-primary,.prose a.btn-primary:visited{color:#fff;text-decoration:none}
.prose a.btn-primary:hover,.prose a.btn-primary:focus-visible{color:#fff;text-decoration:none}
.prose a.btn-secondary,.prose a.btn-secondary:visited{color:var(--forest);text-decoration:none}
.policy-updated{margin-top:1.5rem;font-size:.82rem;letter-spacing:.02em}
.legal-prose{max-width:900px}
.legal-prose>h2{padding-top:.2rem;color:var(--forest)}
.legal-prose>ul{display:grid;gap:.55rem;margin:.85rem 0 1.5rem;padding-left:1.35rem}
.legal-prose>ul li::marker{color:var(--sunset)}
.privacy-choice-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.privacy-choice-panel h2,.privacy-choice-panel p{margin-top:.25rem}
@media(max-width:650px){.privacy-choice-panel{align-items:stretch;flex-direction:column}.privacy-choice-panel .btn{width:100%}}
.cover-definition{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,6rem);align-items:end;margin-bottom:2rem}
.cover-definition h2{margin:.15rem 0 0}
.cover-definition>p{margin:0;font-size:1.05rem;line-height:1.75;color:var(--ink-soft)}
.cover-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cover-plan-card{display:flex;flex-direction:column;min-width:0;padding:1.35rem;border:1px solid var(--line);border-radius:1.15rem;background:var(--paper);box-shadow:var(--shadow-sm)}
.cover-plan-card.is-featured{border-color:var(--sunset);box-shadow:0 18px 42px rgba(190,73,35,.12)}
.cover-plan-card>span{align-self:flex-start;padding:.35rem .6rem;border-radius:999px;background:var(--sand);color:var(--sunset-dark);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.cover-plan-card h2{margin:.8rem 0 .3rem;font-size:2rem}
.cover-plan-card>p{color:var(--ink-soft)}
.cover-plan-card dl{display:grid;gap:.55rem;margin:1rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cover-plan-card dl div{display:flex;justify-content:space-between;gap:1rem}
.cover-plan-card dt{color:var(--ink-soft)}
.cover-plan-card dd{margin:0;color:var(--forest);font-weight:850;text-align:right}
.cover-plan-detail{font-size:.82rem;line-height:1.6}
.cover-footnote{margin:1rem 0 0;color:var(--ink-soft);font-size:.78rem}
.legal-prose>ol{display:grid;gap:.55rem;padding-left:1.35rem}
.legal-prose>ol li::marker{color:var(--sunset);font-weight:850}
@media(max-width:900px){.cover-plan-grid{grid-template-columns:1fr}.cover-plan-card{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem}.cover-plan-card>span,.cover-plan-card h2,.cover-plan-card>p{grid-column:1}.cover-plan-card dl{grid-column:2;grid-row:1/5;margin:0;padding:0 0 0 1.2rem;border:0;border-left:1px solid var(--line)}.cover-plan-detail{grid-column:1/-1}}
@media(max-width:650px){.cover-definition{grid-template-columns:1fr;gap:1rem}.cover-plan-card{display:flex}.cover-plan-card dl{margin:1rem 0;padding:1rem 0;border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}}
