:root{--navy:#232566;--navy-d:#14153d;--orange:#e9822b;--orange-d:#c96a18;--sand:#fbf4ea;--ink:#1d1f3a;--muted:#5a5e7a;--r:16px;
--serif:"Fraunces",Georgia,serif;--sans:"Figtree",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:400 1rem/1.65 var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(2.4rem,6vw,4.4rem);color:#fff}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.center{text-align:center;margin-top:2.5rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.7rem;border-radius:999px;border:2px solid transparent;font:600 1rem var(--sans);cursor:pointer;transition:background .2s,transform .2s}
.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-d)}
.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--navy-d)}
.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy)}
.wa-btn{background:#25d366;color:#fff}.wa-btn:hover{background:#1ebd5a}

.site-header{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(20,21,61,.12)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{height:50px;width:auto}
.brand span{display:flex;flex-direction:column;line-height:1;font:700 1.25rem var(--serif);color:var(--navy);text-transform:uppercase;letter-spacing:.02em}
.brand span b{display:inline;font-weight:700}.brand .o{color:var(--orange)}
.brand span{display:block}.brand small{display:block;margin-top:.3rem;font:500 .68rem var(--sans);letter-spacing:.32em;color:var(--muted)}
.brand.light span{color:#fff}.brand.light small{color:#c9cbe6}
.nav{display:flex;align-items:center;gap:1.8rem}
.nav a:not(.btn){font-weight:600;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:not(.btn):hover,.nav a.active{color:var(--orange);border-color:var(--orange)}
.nav-cta{padding:.65rem 1.4rem}
.menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy);padding:.5rem;cursor:pointer}

.hero{position:relative;color:#fff;padding:clamp(80px,14vh,150px) 0 0;margin-bottom:90px;isolation:isolate}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,21,61,.88) 0%,rgba(20,21,61,.55) 55%,rgba(20,21,61,.2) 100%)}
.hero-copy{padding-bottom:clamp(80px,14vh,140px)}
.kicker{font:600 .95rem var(--sans);letter-spacing:.04em;color:var(--orange);margin-bottom:.8rem}
.kicker.dark{color:var(--orange-d)}
.lead{font-size:1.2rem;max-width:34rem;color:#eef}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}
.quick{position:relative;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:.5rem 1rem;align-items:end;background:#fff;color:var(--ink);padding:1.2rem 1.4rem;border-radius:20px;box-shadow:0 20px 50px rgba(20,21,61,.25);transform:translateY(50%)}
.quick label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);font-weight:600;gap:.2rem}
.quick input,.quick select,.form input,.form select,.form textarea{font:500 1rem var(--sans);color:var(--ink);padding:.7rem .8rem;border:1px solid #dcdcea;border-radius:12px;background:#fff;width:100%}
.hero + .section{padding-top:7rem}

.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sand{background:var(--sand)}
.head{max-width:40rem;margin:0 auto 3rem;text-align:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.ticks{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;margin:1.4rem 0 2rem;font-weight:600}
.ticks i{color:var(--orange);margin-right:.3rem}
.collage{position:relative;padding-bottom:12%}
.c1{width:72%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r) var(--r) 120px var(--r)}
.c2{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:4/3;object-fit:cover;border:8px solid #fff;border-radius:var(--r);box-shadow:0 16px 40px rgba(20,21,61,.2)}
.ico{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.5rem}
.ico.sm{width:48px;height:48px;font-size:1.1rem;flex:none}
.ico em{position:absolute;top:-6px;right:-6px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--navy);font:700 .8rem var(--sans)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{background:#fff;border-radius:var(--r);padding:2rem;box-shadow:0 10px 30px rgba(20,21,61,.06)}
.card .ico{margin-bottom:1.1rem}
.card p{color:var(--muted)}
.card.has-bg{position:relative;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(180deg,rgba(20,21,61,.25) 0%,rgba(20,21,61,.88) 100%),var(--bg) center/cover no-repeat}
.card.has-bg h3,.card.has-bg p{color:#fff}
.card.has-bg p{opacity:.9}
.card.has-bg a{color:#ffb15c}
.card a{font-weight:700;color:var(--orange-d)}.card a i{transition:transform .2s}.card a:hover i{transform:translateX(4px)}
.dests{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.dest{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4.2;color:#fff;background:var(--navy-d)}
.dest img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dest:hover img{transform:scale(1.05)}
.dest div{position:absolute;inset:auto 0 0;padding:3rem 1.3rem 1.3rem;background:linear-gradient(transparent,rgba(20,21,61,.92))}
.dest h3{color:#fff;margin-bottom:.2rem}.dest p{margin:0 0 .6rem;font-size:.95rem;color:#e6e7f5}
.dest span{font-weight:700;color:#ffb877}
.pts{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1.2rem;margin-top:2rem}
.pt{display:flex;gap:.9rem}.pt h3{font-size:1.05rem;margin-bottom:.2rem}.pt p{margin:0;font-size:.95rem;color:var(--muted)}
.arch{width:100%;max-height:560px;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--r) var(--r)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.steps .ico{width:84px;height:84px;font-size:1.8rem;margin-bottom:1.1rem}
.steps p{color:var(--muted)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gal a{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gal a:hover img{transform:scale(1.06)}

.book{background:linear-gradient(rgba(20,21,61,.9),rgba(20,21,61,.94)),url("../img/road-dusk.jpg") center/cover;color:#fff}
.book h2{color:#fff}.book-copy>p{color:#dfe0f1;max-width:30rem}
.contact li{display:flex;gap:.7rem;align-items:center;margin-bottom:.7rem}
.contact i{color:var(--orange);width:1.2rem;text-align:center}
.book .btn{margin-top:1rem}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;color:var(--ink);padding:clamp(1.3rem,3vw,2.2rem);border-radius:20px}
.form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.9rem}
.form .full{grid-column:1/-1}
.form textarea{resize:vertical}
.err{color:#b3261e;font-weight:600;margin:0}

.site-footer{background:var(--navy-d);color:#cfd1ea;padding-top:4rem}
.site-footer .grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:2.5rem}
.site-footer h3{color:#fff}.site-footer li{margin-bottom:.5rem}
.site-footer a:hover{color:var(--orange)}
.legal{margin-top:3rem;padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}
.fab{position:fixed;bottom:1.2rem;z-index:40;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;font-size:1.5rem;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.fab.wa{left:1.2rem;background:#25d366;font-size:1.8rem}
.fab.up{right:1.2rem;background:var(--orange);font-size:1.1rem;opacity:0;pointer-events:none;transition:opacity .25s}
.fab.up.show{opacity:1;pointer-events:auto}
.notfound{padding:8rem 0;text-align:center}.notfound h1{color:var(--navy)}

@media (max-width:1024px){
  .quick{grid-template-columns:1fr 1fr}.quick .btn{grid-column:1/-1}
  .dests{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}.hero{margin-bottom:150px}.hero + .section{padding-top:9rem}
}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:.5rem 1.25rem 1.5rem;box-shadow:0 14px 24px rgba(20,21,61,.12);display:none}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:.9rem 0;border-bottom:1px solid #eee}
  .nav-cta{margin-top:1rem}
  .split,.site-footer .grid{grid-template-columns:1fr}
  .split.rev .arch{order:-1}
  .collage{max-width:520px}
}
@media (max-width:600px){
  .brand span{font-size:1.05rem}.brand img{height:42px}
  .hero::before{background:linear-gradient(180deg,rgba(20,21,61,.8),rgba(20,21,61,.6))}
  .quick{grid-template-columns:1fr;padding:1rem}
  .cards,.dests,.steps,.pts,.ticks,.form{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr 1fr}
  .dest{aspect-ratio:4/4.4}
  .cta-row .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.page-hero{position:relative;isolation:isolate;color:#fff;text-align:center;padding:clamp(100px,18vh,170px) 0 clamp(70px,12vh,120px)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,21,61,.7),rgba(20,21,61,.88))}
.page-hero h1{color:#fff}
.page-hero .lead{max-width:40rem;margin:1rem auto 0;color:#fff;opacity:.92}
.duo{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 1.5rem}
.ticks.one{grid-template-columns:1fr}
.band{color:#fff;background:linear-gradient(rgba(20,21,61,.85),rgba(20,21,61,.92)),var(--bg) center/cover no-repeat}
.band h2,.band h3{color:#fff}
.band p{color:#fff;opacity:.92}
@media (max-width:860px){.duo,.svc{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.duo,.svc{grid-template-columns:1fr}}

.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0 0 2.5rem}
.chip{font:600 .95rem var(--sans);padding:.55rem 1.2rem;border-radius:999px;border:2px solid #e3e3ef;background:#fff;color:var(--navy);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--orange);color:var(--orange-d)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.dcard{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px rgba(20,21,61,.08)}
.dcard[hidden]{display:none}
.dcard .ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.dcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dcard:hover .ph img{transform:scale(1.05)}
.dcard .tag{position:absolute;top:.9rem;left:.9rem;background:var(--orange);color:#fff;font:700 .75rem var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:.3rem .8rem;border-radius:999px}
.dcard .body{display:flex;flex-direction:column;flex:1;padding:1.4rem 1.5rem 1.6rem}
.dcard .region{font-size:.9rem;font-weight:600;color:var(--muted);margin-bottom:.4rem}
.dcard .region i{color:var(--orange);margin-right:.2rem}
.dcard p:not(.region){color:var(--muted)}
.hl{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.3rem}
.hl li{font-size:.8rem;font-weight:600;color:var(--navy);background:var(--sand);padding:.25rem .7rem;border-radius:999px}
.dcard .btn{margin-top:auto;align-self:flex-start;padding:.65rem 1.3rem}
.empty{text-align:center;color:var(--muted);margin-top:2rem}
.center-text{text-align:center;max-width:44rem}
.cta-row.mid{justify-content:center}
@media (max-width:1024px){.dgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.dgrid{grid-template-columns:1fr}}

.mas{columns:3 280px;column-gap:1.1rem}
.gitem{margin:0 0 1.1rem;break-inside:avoid}
.gitem[hidden]{display:none}
.gitem a{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--navy-d)}
.gitem img{width:100%;height:auto;transition:transform .5s}
.gitem a:hover img{transform:scale(1.05)}
.gitem figcaption{position:absolute;inset:auto 0 0;padding:2.2rem 1rem .9rem;font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(20,21,61,.85));opacity:0;transition:opacity .25s}
.gitem a:hover figcaption,.gitem a:focus-visible figcaption{opacity:1}
.lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(10,11,32,.94);padding:1rem}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:min(92vw,1100px);text-align:center}
.lb img{max-height:80vh;width:auto;margin:0 auto;border-radius:12px}
.lb figcaption{color:#e6e7f5;margin-top:.8rem}
.lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.2rem;cursor:pointer}
.lb button:hover{background:var(--orange)}
.lb-x{top:1rem;right:1rem}.lb-p{left:1rem;top:50%}.lb-n{right:1rem;top:50%}
body.lb-open{overflow:hidden}
@media (max-width:600px){.mas{columns:2 140px;column-gap:.7rem}.gitem{margin-bottom:.7rem}.lb-p,.lb-n{top:auto;bottom:1rem}}

.vals .card.has-bg{min-height:340px;transition:transform .25s}
.vals .card.has-bg:hover{transform:translateY(-4px)}
.card.has-bg.tall{min-height:380px;background:linear-gradient(180deg,rgba(20,21,61,.45) 0%,rgba(20,21,61,.92) 100%),var(--bg) center/cover no-repeat}
.card.has-bg .ico{margin-bottom:auto}
.card.has-bg h3{margin-top:1.2rem}

.cinfo{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:clamp(3rem,7vw,5rem)}
.cbox{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:var(--r);padding:1.3rem 1.4rem;box-shadow:0 10px 30px rgba(20,21,61,.07);transition:transform .25s}
a.cbox:hover{transform:translateY(-4px)}
.cbox span:last-child{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:.95rem;line-height:1.35}
.cbox b{font:700 1.05rem var(--serif);color:var(--navy);margin-bottom:.15rem}
.cform{align-items:start}
.cform .form{margin-top:1.5rem;padding:0;background:none;border-radius:0}
.cform .form .cta-row{margin-top:.4rem}
.mapbox{display:grid;gap:1.2rem}
.mapbox iframe{width:100%;height:340px;border:0;border-radius:var(--r);box-shadow:0 10px 30px rgba(20,21,61,.1)}
.mapbox img{width:100%;height:220px;object-fit:cover;border-radius:var(--r)}
@media (max-width:1024px){.cinfo{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cinfo{grid-template-columns:1fr}.mapbox iframe{height:280px}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok{color:#1b6b3a;font-weight:600;margin:0}
.form .err:not([hidden]),.form .ok:not([hidden]){padding:.8rem 1rem;border-radius:12px;background:#f6f6fb}
