:root{--black:#0c0d0b;--coal:#171814;--ivory:#f3f0e8;--gold:#c6a15a;--olive:#34372b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--black);font:400 16px/1.6 "DM Sans",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e0bd78;outline-offset:3px}
.skip-link{position:fixed;left:16px;top:16px;z-index:100;transform:translateY(-160%);background:#111;color:#fff;padding:10px 14px}
.skip-link:focus{transform:translateY(0)}
.topbar{position:absolute;z-index:20;top:0;width:100%;height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff33}
.brand{display:flex;flex-direction:column;line-height:1}
.brand span{font:500 1.55rem/1 "Playfair Display",serif;letter-spacing:.16em}
.brand small{margin-top:9px;color:var(--gold);font-size:.58rem;letter-spacing:.38em}
.topbar nav{display:flex;gap:2.3rem;margin-left:clamp(3rem,7vw,8rem);margin-right:auto}
.topbar nav a{font-size:.83rem;color:#e4e4df}
.nav-cta{padding:11px 16px;border:1px solid #ffffff70;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}
.nav-cta span{color:var(--gold);margin-left:10px}
.menu-toggle{display:none}
.language-picker{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:18px;color:#fff}
.language-picker span{font-size:.78rem}
.language-picker select{border:0;border-bottom:1px solid #ffffff70;background:#11120fd9;color:#fff;padding:7px 22px 7px 7px;font-size:.78rem;letter-spacing:.1em;cursor:pointer}
.language-picker option{background:#111;color:#fff}
.hero{height:100svh;min-height:760px;position:relative;overflow:hidden;color:#fff;display:flex;align-items:center}
.hero>picture{position:absolute;inset:0}
.hero>picture img{width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#090a08e8 0%,#090a08a8 38%,#090a0820 72%),linear-gradient(0deg,#090a08b8,transparent 45%)}
.hero-content{position:relative;z-index:2;margin-left:7vw;margin-bottom:3vh;max-width:780px}
.kicker{margin:0 0 22px;text-transform:uppercase;font-size:.78rem;font-weight:600;letter-spacing:.22em;color:#8a6a31}
.kicker.light{color:#e0bd78}
.hero h1{margin:0;font:500 clamp(4.2rem,8vw,8.6rem)/.88 "Playfair Display",serif;letter-spacing:-.05em;max-width:100%;overflow-wrap:break-word;hyphens:auto}
.hero h1 em,.promise h2 em,.final-word em{color:#d8b66f;font-weight:500}
.hero-text{max-width:590px;margin:30px 0 35px;color:#dfdfda;font-size:1.08rem}
.actions{display:flex;gap:13px}
.btn{display:inline-flex;min-height:54px;align-items:center;padding:0 25px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600}
.btn.primary{background:var(--gold);color:#15130f}
.btn.line{border:1px solid #ffffff77}
.hero-card{position:absolute;z-index:2;right:5vw;bottom:6vh;width:320px;padding:26px;background:#0b0c09f2;border-top:2px solid var(--gold);backdrop-filter:blur(8px);box-shadow:0 14px 38px #0007}
.card-index{font-size:.62rem;letter-spacing:.18em;color:var(--gold)}
.hero-card>p{font:500 1.35rem/1.35 "Playfair Display",serif}
.hero-card>div{display:flex;justify-content:space-between;border-top:1px solid #ffffff2c;padding-top:15px}
.hero-card b{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#fff;font-weight:600}
.scroll-cue{position:absolute;z-index:2;bottom:7vh;left:7vw;font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:#c2c2bd;display:flex;align-items:center;gap:14px}
.scroll-cue span{width:55px;height:1px;background:var(--gold)}
.promise{position:relative;padding:140px 8vw 130px 14vw;display:grid;grid-template-columns:1fr .9fr;gap:9vw;overflow:hidden}
.vertical-word{position:absolute;left:2vw;top:128px;writing-mode:vertical-rl;letter-spacing:.52em;font-size:.62rem;color:#9c9b93}
.promise h2,.section-title h2,.details h2,.planner h2{margin:0;font:500 clamp(3rem,5vw,5.7rem)/1.02 "Playfair Display",serif;letter-spacing:-.04em}
.promise .lead{max-width:620px;color:#5d5e57;font-size:1.12rem;margin-top:28px}
.promise-points{padding-top:15px}
.promise-points article{display:grid;grid-template-columns:46px 1fr;gap:18px;border-top:1px solid #bcb5a9;padding:27px 0}
.promise-points span,.detail-list b{font-family:"Playfair Display",serif;color:#92713a}
.promise-points h3{font:500 1.4rem "Playfair Display",serif;margin:0 0 8px}
.promise-points p{color:#666760;margin:0}
.journeys{padding:120px 7vw;background:#e5dfd3}
.section-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);align-items:end;gap:6vw;margin-bottom:60px}
.section-title>p{max-width:390px;color:#666760}
.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(680px,78vh) repeat(2,minmax(480px,auto));gap:16px}
.destination{position:relative;overflow:hidden;cursor:pointer}
.destination-featured{grid-column:1/-1}
.destination-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.destination-featured img{object-position:center 54%}
.destination:hover img{transform:scale(1.035)}
@media(hover:hover){.btn,.nav-cta,.service-grid a,.destination-cta,.more-routes a,.more-routes button{transition:opacity .2s ease,transform .2s ease}.btn:hover,.nav-cta:hover,.service-grid a:hover,.destination-cta:hover,.more-routes a:hover,.more-routes button:hover{opacity:.82}}
.destination-shade{position:absolute;inset:0;background:linear-gradient(0deg,#070806e6,transparent 66%)}
.destination-copy{position:absolute;z-index:2;left:40px;right:40px;bottom:38px;color:#fff}
.destination-copy>span,.route{font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;color:#f0cf8b}
.destination h3{font:500 clamp(2.45rem,3.5vw,3.4rem)/1 "Playfair Display",serif;margin:12px 0 15px;overflow-wrap:anywhere}
.destination-featured h3{max-width:850px;font-size:clamp(4.4rem,7.5vw,7.8rem);letter-spacing:-.045em}
.destination-featured p{font-size:1.05rem}
.destination p{max-width:430px;color:#d6d6d0}
.destination-cta,.more-routes button{background:none;border:0;padding:0;color:inherit;text-transform:uppercase;font-size:.76rem;letter-spacing:.11em;cursor:pointer}
.destination-dark{padding:38px;background:var(--coal);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.destination-dark.pale{background:#cac1b2;color:#151611}
.destination-dark.pale .route{color:#6c522a}
.destination-dark div>b{font:500 4rem "Playfair Display",serif;color:#ffffff20}
.destination-dark.pale div>b{color:#00000018}
.destination-dark p{color:#b8b9b3}
.destination-dark.pale p{color:#52534e}
.photo-credits{margin:16px 0 0;color:#74736c;font-size:.7rem;line-height:1.7}
.photo-credits a{border-bottom:1px solid #aaa397}
.more-routes{display:grid;grid-template-columns:220px 1fr;margin-top:55px;padding-top:25px;border-top:1px solid #aaa397}
.more-routes>p{text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;color:#77766f}
.more-routes>div{display:flex;flex-direction:column}
.more-routes button,.more-routes a{font:500 clamp(1.5rem,2.5vw,2.5rem) "Playfair Display",serif;text-transform:none;letter-spacing:0;text-align:left;padding:18px 0;border-bottom:1px solid #bcb5a9;display:flex;justify-content:space-between}
.more-routes span{color:#9c7534}
.services{padding:125px 7vw;background:var(--black);color:#fff}
.section-title.light>p{color:#aaa}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff30}
.service-grid article{min-height:335px;padding:34px;border-right:1px solid #ffffff30;display:flex;flex-direction:column}
.service-grid article:last-child{border-right:0}
.service-grid span{color:var(--gold);font-family:"Playfair Display",serif}
.service-grid h3{font:500 clamp(1.55rem,2.2vw,2rem)/1.15 "Playfair Display",serif;margin:55px 0 15px;overflow-wrap:anywhere}
.service-grid p{color:#aaa;flex:1}
.service-grid a{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:#e8c77f}
.service-note{margin-top:50px;border:1px solid #ffffff22;padding:24px 28px;display:flex;justify-content:space-between;gap:30px;align-items:center}
.service-note span{font-size:.76rem;letter-spacing:.13em;color:#e8c77f}
.service-note p{margin:0;color:#aaa;max-width:650px}
.details{padding:130px 7vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}
.detail-list{border-top:1px solid #aaa397}
.detail-list article{display:grid;grid-template-columns:42px 190px 1fr;gap:20px;border-bottom:1px solid #c5beb2;padding:27px 0}
.detail-list h3{font:500 1.3rem "Playfair Display",serif;margin:0}
.detail-list p{margin:0;color:#666760}
.planner{background:var(--olive);color:#fff;padding:125px 8vw;display:grid;grid-template-columns:.86fr 1.14fr;gap:9vw}
.planner-heading>p:last-child{color:#c1c2ba;max-width:480px;margin-top:27px}
.quote-form{background:#f2efe7;color:#151611;padding:42px;display:grid;gap:22px}
.quote-form label{display:grid;gap:8px}
.quote-form label>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#595951;font-weight:600}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:0;border-bottom:1px solid #aaa397;background:transparent;border-radius:0;padding:10px 2px 12px;color:#171814;outline:none}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#8a6a31}
.form-row{display:grid;grid-template-columns:1.5fr .5fr;gap:24px}
.submit{border:0;background:#181914;color:#fff;min-height:60px;padding:0 22px;margin-top:6px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;cursor:pointer}
.submit b{color:var(--gold);font-size:1.2rem}
.form-note{text-align:center;color:#77766f;font-size:.72rem;margin:0}
.final-word{text-align:center;padding:135px 24px;background:#d6cdbd}
.final-word>p{font-size:.65rem;letter-spacing:.22em;color:#765c30}
.final-word h2{font:500 clamp(3rem,6vw,6.8rem)/1 "Playfair Display",serif;margin:20px auto 40px}
.final-word a{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #777066;padding:10px 0;text-transform:uppercase;font-size:.7rem;letter-spacing:.16em}
.final-word a span{color:#8a6a31}
.whatsapp{position:fixed;z-index:30;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366 url("whatsapp.svg") center/28px no-repeat;color:transparent;font-size:0;box-shadow:0 10px 30px #0004}
.email-request{border:1px solid #8d8b82!important;background:transparent!important;color:#181914!important;margin-top:-10px}
.belvero-contact-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}
.form-status{min-height:1.4em;margin:-4px 0 0;text-align:center;color:#8c3b32;font-size:.8rem}
.form-status.success{color:#315e3b}
.email-request:disabled{opacity:.58;cursor:wait}
footer{padding:60px 7vw 32px;background:#0b0c0a;color:#9b9c96;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}
.footer-brand{color:#fff}
footer>div{text-align:right;font-size:.78rem}
footer>div p{margin:0 0 6px}
.preview{grid-column:1/-1;margin:12px 0 0;padding-top:22px;border-top:1px solid #ffffff1e;font-size:.7rem;color:#656660}
.reveal{opacity:0;translate:0 22px;transition:opacity .75s,translate .75s}
.reveal.visible{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none}
.destination-photo img{transition:none}
}
@media(max-width:900px){.topbar{height:76px;padding:0 22px}
.language-picker{margin-left:auto;margin-right:8px}
.language-picker span{display:none}
.language-picker select{padding:6px 17px 6px 5px}
.topbar nav{display:none;position:absolute;top:76px;left:0;width:100%;padding:25px;background:#111;flex-direction:column;margin:0}
.topbar nav.open{display:flex}
.nav-cta{display:none}
.menu-toggle{display:flex;width:42px;height:42px;border:0;background:none;flex-direction:column;gap:7px;align-items:flex-end;justify-content:center}
.menu-toggle i{width:24px;height:1px;background:#fff}
.menu-toggle i:last-child{width:16px}
.hero{height:auto;min-height:760px;align-items:center}
.hero-content{margin:115px 24px 70px;max-width:660px}
.hero h1{font-size:clamp(4rem,18vw,6.4rem)}
.hero-card,.scroll-cue{display:none}
.promise,.details,.planner{grid-template-columns:1fr;padding:90px 24px;gap:55px}
.vertical-word{display:none}
.section-title{display:block}
.section-title>p{margin-top:25px}
.journeys,.services{padding:90px 24px}
.editorial-grid{grid-template-columns:1fr;grid-template-rows:minmax(620px,72vh) repeat(4,minmax(430px,auto))}
.destination-featured{grid-column:auto}
.more-routes{grid-template-columns:1fr}
.service-grid{grid-template-columns:1fr}
.service-grid article{border-right:0;border-bottom:1px solid #ffffff30;min-height:285px}
.service-note{display:block}
.service-note p{margin-top:14px}
.detail-list article{grid-template-columns:38px 1fr}
.detail-list p{grid-column:2}
.quote-form{padding:28px 22px}
.final-word{padding:95px 20px}
footer{grid-template-columns:1fr}
footer>div{text-align:left}
.preview{grid-column:1}
}
@media(max-width:560px){.hero{min-height:700px}
.hero-content{margin-top:105px}
.hero h1{font-size:clamp(3.25rem,17vw,4.3rem);line-height:.94}
.hero-text{font-size:.97rem}
.actions{flex-direction:column;align-items:flex-start}
.editorial-grid{grid-template-rows:minmax(560px,72vh) repeat(4,minmax(420px,62vh))}
.destination-featured h3{font-size:clamp(3.4rem,16vw,4.8rem)}
.destination-copy{left:24px;right:24px;bottom:25px}
.destination h3{font-size:2.55rem}
.destination-dark{padding:25px;min-height:340px}
.form-row{grid-template-columns:1fr}
.belvero-contact-fields{grid-template-columns:1fr}
.quote-form{padding:24px 18px}
.whatsapp{right:14px;bottom:14px}
}
