:root{--navy:#0b223e;--deep:#07192f;--gold:#f4cf7b;--ink:#142a43;--muted:#4e6174;--cream:#faf6ed;--line:#dedbd3}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #ae721d;outline-offset:4px}
.skip{position:fixed;left:1rem;top:1rem;transform:translateY(-200%);background:white;padding:.6rem 1rem;z-index:9}
.skip:focus{transform:none}
.wrap{width:min(1160px,calc(100% - 72px));margin-inline:auto}
.top{position:sticky;top:0;z-index:4;background:var(--deep);color:#fff}
.top-inner,.foot{display:flex;align-items:center;justify-content:space-between;gap:24px}
.top-inner{min-height:76px}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;flex:none}
.brand span{font:italic 36px/.95 Georgia,serif;color:var(--gold)}
.brand small{font-size:9px;letter-spacing:.24em;margin-top:8px}
nav{display:flex;align-items:center;gap:clamp(12px,3vw,34px);font-size:14px;font-weight:650}
nav a:hover,footer a:hover{text-decoration:underline}
.nav-contact{border:1px solid #c4a669;border-radius:100px;padding:8px 15px}
.hero{background:linear-gradient(90deg,#07192feb,#07192fb0 52%,#07192f31),#163b52 url('https://images.unsplash.com/photo-1540202404-a2f29016b523?w=1800&q=85') center 55%/cover;color:white}
.hero-inner{padding-block:clamp(72px,9vw,134px)}
.eyebrow{margin:0 0 14px;color:#77521a;font-weight:760;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem}
.hero .eyebrow,.how .eyebrow{color:var(--gold)}
.eyebrow span{display:inline-block;width:24px;height:1px;vertical-align:middle;margin-right:8px;background:currentColor}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.09;margin:0;letter-spacing:-.025em}
h1{font-size:clamp(45px,7vw,92px)}
h1 em{color:var(--gold)}
h2{font-size:clamp(35px,4.7vw,61px)}
h3{font-size:25px}
.hero-copy{font-size:clamp(16px,2vw,20px);max-width:560px;margin:24px 0}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;border:1px solid transparent;border-radius:100px;font-size:14px;font-weight:750;line-height:1.45;text-align:center}
.gold{background:var(--gold);color:var(--deep)}
.gold:hover{background:#ffe3a5}
.outline{color:white;border-color:#ffffffa8}
.outline:hover{background:#ffffff20}
.hero-note{font-size:13px;color:#f1e4c9;margin:22px 0 0}
.section{padding-block:clamp(56px,7vw,100px)}
.examples,.contact{background:var(--cream)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}
.intro{color:var(--muted);margin:15px 0 0;max-width:49ch}
.filters{display:flex;gap:5px;border:1px solid var(--line);border-radius:100px;background:white;padding:4px;flex:none}
.filters button{border:0;background:white;border-radius:100px;padding:7px 13px;color:var(--ink);font-size:14px;font-weight:650}
.filters button:hover{background:#f4ecdb}
.filters button[aria-pressed=true]{background:var(--navy);color:white}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{overflow:hidden;border-radius:15px;background:white;border:1px solid var(--line)}
.card-photo{position:relative;overflow:hidden;height:185px;padding:14px;background-color:#305361;background-position:center;background-size:cover}
.card-photo-crop{position:absolute;inset:0;width:100%;height:100%}
.card-photo span{position:relative;display:inline-block;background:var(--deep);color:white;padding:4px 9px;border-radius:5px;font-size:10px;font-weight:750;letter-spacing:.14em}
.cabo{background-image:url('https://images.unsplash.com/photo-1571896349842-33c89424de2d?w=800&q=80')}
.pueblo{background-image:url('https://images.unsplash.com/photo-1566073771259-6a8506099945?w=800&q=80')}
.card-body{padding:22px}
.location,.fine,.comparison{color:var(--muted);font-size:13px}
.location{margin:0 0 7px}
.rate{font-weight:750;font-size:30px;margin:12px 0 0;line-height:1.15}
.rate span{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}
.comparison{margin:6px 0 0}
.trip-detail{color:var(--muted);font-size:13px;margin:9px 0 0}
.comp-link{display:inline-block;color:var(--navy);text-decoration:underline;text-underline-offset:3px;font-size:13px;font-weight:700;margin-top:13px}
.fine{margin:20px 0 0}
.how{background:var(--navy);color:white}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}
.steps>div{border-top:1px solid #c4a66975;padding-top:18px}
.step-num{display:block;color:var(--gold);font-weight:750;font-size:13px;margin-bottom:15px}
.steps p{color:#d9e0ea;margin:10px 0 0}
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,6vw,92px)}
details{border-bottom:1px solid var(--line);padding:15px 0}
details:first-child{border-top:1px solid var(--line)}
summary{font-weight:700;cursor:pointer;list-style:none;display:flex;gap:10px;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:#77521a}
details[open] summary::after{content:'−'}
details p{color:var(--muted);margin:9px 0 0}
form{background:white;padding:clamp(19px,4vw,32px);border:1px solid var(--line);border-radius:15px}
form label{display:block;font-size:14px;font-weight:700;margin-bottom:13px}
form label span{color:var(--muted);font-weight:400}
input,textarea{display:block;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #a6aeb6;border-radius:7px;background:white;color:var(--ink)}
textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{margin:0 0 12px;color:var(--muted);font-size:13px}
.direct-email{margin:12px 0 0;color:var(--muted);font-size:13px}
footer{background:var(--deep);color:#fff;padding:34px 0 75px}
.foot p,.foot>a:last-child{font-size:13px}
.helper{position:fixed;right:16px;bottom:16px;z-index:5;text-align:right}
.helper>.button{box-shadow:0 3px 14px #07192f37}
.quick-panel{text-align:left;width:min(330px,calc(100vw - 32px));background:white;border-radius:13px;box-shadow:0 6px 28px #07192f38;margin-bottom:10px;overflow:hidden}
.quick-head{display:flex;align-items:center;justify-content:space-between;padding:9px 15px;background:var(--navy);color:white}
.quick-head h2{font-size:22px}
.quick-head button{background:transparent;color:white;border:0;font-size:25px;line-height:1}
.quick-body{padding:14px}
.quick-body p{margin:0 0 8px;font-size:14px}
.quick-body button{display:block;width:100%;text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:6px;margin-bottom:6px;padding:5px 9px;color:var(--ink);font-size:14px}
#quick-answer:not(:empty){background:#eaf0f7;padding:8px;border-radius:6px}
.quick-body a{text-decoration:underline;font-size:14px}
@media(max-width:820px){.wrap{width:calc(100% - 40px)}.section-head{align-items:start;flex-direction:column}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.steps{gap:18px}}
@media(max-width:550px){html{scroll-padding-top:112px}.top-inner{flex-direction:column;align-items:flex-start;gap:10px;padding-block:12px}.brand span{font-size:29px}nav{width:100%;justify-content:space-between;gap:6px;font-size:12px}.nav-contact{padding:5px 8px}.cards,.steps,.field-row{grid-template-columns:1fr}.hero-inner{padding-block:66px}.hero{background-position:62% center}.card-photo{height:165px}.steps{gap:22px}.foot{align-items:flex-start;flex-direction:column;gap:12px}.foot p{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-gift{display:inline-block;margin-top:7px;color:#fff;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.booking{background:#fffdf8;border-bottom:1px solid var(--line)}
.booking-grid{display:grid;grid-template-columns:1.05fr 1fr;grid-template-areas:"copy gifts" "action gifts";align-items:center;gap:20px clamp(28px,6vw,82px)}
.booking-copy{grid-area:copy;align-self:end}
.booking-actions{grid-area:action;align-self:start}
.gift-options{grid-area:gifts}
.schedule-status{margin:12px 0 0;color:var(--muted);font-size:13px;max-width:44ch}
.gift-options{display:grid;gap:14px}
.gift-card{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:center;padding:22px;background:var(--cream);border:1px solid #e2d5ba;border-radius:14px}
.gift-card svg{width:46px;height:46px;color:#815923}
.gift-card p{margin:7px 0 0;color:var(--muted);font-size:14px}
.gift-card .gift-kicker{margin:0 0 4px;color:#77521a;font-size:11px;font-weight:750;letter-spacing:.13em}
.examples-next{font-size:14px;font-weight:750;margin:12px 0 0}
.examples-next a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){.booking-grid{grid-template-columns:1fr;grid-template-areas:"copy" "gifts" "action"}}
@media(max-width:550px){nav .nav-contact{font-size:11px;white-space:nowrap}.gift-card{grid-template-columns:38px 1fr;gap:12px;padding:16px}.gift-card svg{width:36px;height:36px}}

.booking-actions .button:disabled{background:#e6e1d6;color:#514e46;cursor:default}
.schedule-status a,.direct-email a{text-decoration:underline;text-underline-offset:3px}
