:root { --ink:#15171c; --road:#2b2f38; --taxi:#ffc800; --taxi-deep:#e0ad00; --paper:#f7f7f4; --line:#e3e3dc; --muted:#5d626d; --radius:14px; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
html, body { max-width:100%; overflow-x:hidden; }
body { font-family:Figtree, system-ui, -apple-system, sans-serif; background:var(--paper); color:var(--ink); padding-top:0; }
h1, h2, h3, .brand { font-family:"Bricolage Grotesque", Figtree, system-ui, sans-serif; letter-spacing:-0.02em; }
:focus-visible { outline:3px solid var(--taxi); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; scroll-behavior:auto !important; } }

.site-nav { background:var(--ink); }
.brand { color:#fff; font-weight:800; font-size:1.35rem; text-decoration:none; }
.brand i { color:var(--taxi); margin-right:.5rem; }
.site-nav .nav-link { color:rgba(255,255,255,.8); font-weight:500; }
.site-nav .nav-link:hover { color:var(--taxi); }
.btn-call { background:var(--taxi); color:var(--ink); font-weight:700; border-radius:999px; padding:.5rem 1.1rem; }
.btn-call:hover { background:var(--taxi-deep); color:var(--ink); }

.lp-hero { background:var(--ink); color:#fff; padding:112px 0 64px; }
.lp-hero h1 { font-weight:800; font-size:clamp(1.9rem, 4.4vw, 3.1rem); line-height:1.08; max-width:22ch; }
.lp-hero .lead { color:rgba(255,255,255,.75); max-width:40rem; }
.crumbs { font-size:.88rem; color:rgba(255,255,255,.6); }
.crumbs a { color:rgba(255,255,255,.8); text-decoration:none; }
.crumbs a:hover { color:var(--taxi); }
.btn-book-lg { background:var(--taxi); color:var(--ink); font-weight:800; border-radius:12px; padding:.85rem 1.5rem; border:0; }
.btn-book-lg:hover { background:var(--taxi-deep); color:var(--ink); }
.btn-ghost { border:1.5px solid rgba(255,255,255,.35); color:#fff; font-weight:600; border-radius:12px; padding:.85rem 1.3rem; }
.btn-ghost:hover { border-color:var(--taxi); color:#fff; }
.trust { display:inline-flex; align-items:center; gap:.6rem; color:#fff; text-decoration:none; padding:.45rem .9rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; font-size:.92rem; }
.trust:hover { border-color:var(--taxi); color:#fff; }
.trust .stars { color:var(--taxi); letter-spacing:1px; }
.checker { height:16px; background:repeating-conic-gradient(var(--ink) 0 25%, var(--taxi) 0 50%) 0 0 / 32px 32px; }

section.block { padding:64px 0; }
section.block h2 { font-weight:800; font-size:clamp(1.5rem, 2.8vw, 2rem); }
.spot { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; height:100%; }
.spot-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--taxi); font-size:1.3rem; margin-bottom:.9rem; }
.spot h3 { font-size:1.15rem; font-weight:800; }
.spot p { margin:0; font-size:1.05rem; }
.prose { max-width:46rem; }
.prose h2 { margin-top:1.8rem; margin-bottom:.6rem; }
.prose h2:first-child { margin-top:0; }
.prose p { color:#3b3f48; font-size:1.05rem; line-height:1.65; }
.air-card { display:block; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.3rem; text-decoration:none; color:var(--ink); height:100%; transition:border-color .2s, transform .2s; }
.air-card:hover { border-color:var(--taxi-deep); transform:translateY(-3px); color:var(--ink); }
.air-card h3 { font-size:1.1rem; font-weight:800; }
.air-card p { color:var(--muted); margin-bottom:.6rem; }
.air-card span { font-weight:700; font-size:.92rem; }
.accordion-header { font-family:Figtree, sans-serif; letter-spacing:0; }
.accordion-button:not(.collapsed) { background:#fffbe6; color:var(--ink); box-shadow:none; }
.accordion-button:focus { box-shadow:0 0 0 .2rem rgba(255,200,0,.4); }

footer { background:var(--ink); color:#fff; }
footer a { color:#fff; text-decoration:none; }
footer a:hover { color:var(--taxi); }
.wa-float { position:fixed; right:16px; bottom:16px; z-index:1030; background:#25d366; color:#fff; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; font-size:1.7rem; box-shadow:0 8px 20px rgba(0,0,0,.3); }
.wa-float:hover { color:#fff; filter:brightness(.95); }
