:root{--cream:#f9f6f1;--ink:#1c1b19;--mut:#6b675f;--line:#e3ddd2;--accent:#b8895a;--dark:#14130f;
--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:#333;font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink);letter-spacing:-.02em;line-height:1.08}
h2{font-size:clamp(2.2rem,5vw,4.2rem)}
h2 em,h1 em{font-style:italic;font-weight:400;color:var(--accent)}
.eyebrow{font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
section{padding:120px 0}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:24px 40px;transition:.3s;color:#fff}
.nav.solid{background:rgba(249,246,241,.94);backdrop-filter:blur(10px);color:var(--ink);padding:16px 40px;border-bottom:1px solid var(--line)}
.hero-light .nav:not(.solid){color:var(--ink)}
.brand{font:500 1.35rem var(--serif);letter-spacing:-.02em}
.brand span{color:var(--accent)}
.nav nav{display:flex;gap:34px;align-items:center}
.nav nav a{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-block;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:17px 34px;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:.25s}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn-sm{padding:12px 20px;background:var(--accent);border-color:var(--accent);color:#fff!important}
.btn-ghost{background:transparent;border-color:currentColor;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.link{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:4px}

/* hero */
.hero{min-height:100vh;display:flex;align-items:flex-end;color:#fff;position:relative;background:linear-gradient(135deg,#2c3b3a,#6b7f77) center/cover;padding:0 0 90px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,8,.45),rgba(10,10,8,.1) 45%,rgba(10,10,8,.75))}
.hero .wrap{position:relative;width:100%}
.hero h1{color:#fff;font-size:clamp(2.8rem,8vw,7rem);max-width:12ch;margin-bottom:1.5rem}
.hero p{max-width:540px;font-size:1.05rem;opacity:.9;margin-bottom:2.4rem}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.hero .btn{background:#fff;color:var(--ink);border-color:#fff}.hero .btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.hero .btn-ghost{background:transparent;color:#fff}

.marquee{background:var(--dark);color:#cfc8ba;overflow:hidden;white-space:nowrap;padding:18px 0;font:500 11px var(--sans);letter-spacing:.3em;text-transform:uppercase}
.marquee div{display:inline-block;animation:mq 40s linear infinite}
.marquee span{margin:0 26px}.marquee span::after{content:"·";margin-left:52px;color:var(--accent)}
@keyframes mq{to{transform:translateX(-50%)}}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center}
.stats strong{display:block;font:400 clamp(3rem,6vw,5rem)/1 var(--serif);color:var(--ink)}
.stats span{font:500 11px var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--mut)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:60px}
.zone{position:relative;min-height:520px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:44px;background:#444 center/cover}
.zone::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.75))}
.zone>*{position:relative}.zone h3{color:#fff;font-size:2.4rem;margin-bottom:.6rem}.zone p{max-width:420px;opacity:.9;margin-bottom:1.4rem}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid var(--line)}
.step{padding:34px 28px 10px 0}
.step b{font:400 3rem var(--serif);color:var(--accent);display:block;margin-bottom:12px}
.step h4{font:500 1.35rem var(--serif);color:var(--ink);margin-bottom:10px}
.step p{font-size:.92rem;color:var(--mut)}

.head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:60px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.card{background:#fff;border:1px solid var(--line)}
.card-img{display:block;aspect-ratio:4/3;background:#cfc8ba var(--bg) center/cover;position:relative;transition:.5s}
.card:hover .card-img{filter:brightness(1.05)}
.tag{position:absolute;top:16px;left:16px;background:rgba(20,19,15,.75);color:#fff;font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px}
.tag-r{left:auto;right:16px;background:var(--accent)}
.card-body{padding:28px}
.card-body h3{font-size:1.7rem;margin-bottom:10px}
.card-body p{font-size:.92rem;color:var(--mut);margin-bottom:16px}
.specs{list-style:none;display:flex;gap:18px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.card-foot{display:flex;justify-content:space-between;align-items:flex-end}
.card-foot small{display:block;font:500 10px var(--sans);letter-spacing:.2em;color:var(--mut)}
.card-foot strong{font:500 1.4rem var(--serif);color:var(--ink)}

.trip{background:var(--dark);color:#cfc8ba}
.trip h2{color:#fff}.trip .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.trip p{margin:24px 0 36px;font-size:1.02rem}
.trip .pic{aspect-ratio:4/5;background:#444 url('https://images.unsplash.com/photo-1552074284-5e88ef1aef18?auto=format&fit=crop&w=1000&q=80') center/cover}
.quote{text-align:center;max-width:860px;margin:0 auto}
.quote blockquote{font:italic 400 clamp(1.5rem,3vw,2.2rem)/1.35 var(--serif);color:var(--ink)}
.quote cite{display:block;margin-top:28px;font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--accent)}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.form{display:grid;gap:18px}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{font:600 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mut);display:grid;gap:8px}
.form input,.form textarea,.form select{font:400 1rem var(--sans);padding:14px 0;border:0;border-bottom:1px solid #bdb5a6;background:transparent;color:var(--ink);outline:0;border-radius:0}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--accent)}
.hp{position:absolute!important;left:-9999px}
.flash{background:#e9efe4;border-left:3px solid #6f8f55;padding:14px 18px;margin-bottom:24px;font-size:.95rem}
.flash.err{background:#f6e6e2;border-color:#b5503c}

/* detail */
.dhero{height:72vh;min-height:460px;background:#444 center/cover;position:relative;display:flex;align-items:flex-end;color:#fff}
.dhero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 40%,rgba(0,0,0,.7))}
.dhero .wrap{position:relative;padding-bottom:60px}.dhero h1{color:#fff;font-size:clamp(2.4rem,6vw,5rem)}
.dgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:40px;background:#fff}
.facts div{padding:22px;border-right:1px solid var(--line)}.facts div:last-child{border:0}
.facts small{display:block;font:600 10px var(--sans);letter-spacing:.18em;color:var(--mut);text-transform:uppercase}
.facts b{font:500 1.5rem var(--serif);color:var(--ink)}
.side{background:#fff;border:1px solid var(--line);padding:34px;position:sticky;top:100px}
.price{font:500 2.4rem var(--serif);color:var(--ink);margin-bottom:20px}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.filters a{padding:11px 18px;border:1px solid var(--line);font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.filters a.on,.filters a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.foot{background:var(--dark);color:#9d978a;padding:80px 40px 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;font-size:.92rem}
.foot .brand{color:#fff;margin-bottom:14px}.foot h5{font:600 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.foot a{display:block;margin-bottom:8px}.foot a:hover{color:#fff}.foot .muted{margin-top:16px;font-size:.8rem;opacity:.6}
.foot .copy{grid-column:1/-1;border-top:1px solid #2b2a24;padding-top:24px;font-size:.8rem}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}

@media(max-width:960px){
 section{padding:80px 0}.nav{padding:16px 20px}.nav nav a:not(.btn){display:none}
 .stats,.split,.steps,.grid,.trip .wrap,.contact,.dgrid,.foot{grid-template-columns:1fr}
 .trip .wrap{gap:40px}.contact,.dgrid{gap:50px}.facts{grid-template-columns:1fr 1fr}.side{position:static}
 .form .row{grid-template-columns:1fr}.foot{padding:60px 24px 24px}
}
