:root { --ink:#183942; --deep:#0d2931; --sand:#f4f0e8; --cream:#fbf9f4; --gold:#bd8e50; --line:rgba(24,57,66,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; max-width:100%; }
.container { width:min(1180px,calc(100% - 64px)); margin:0 auto; }
.eyebrow { margin:0 0 14px; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.site-header { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid #e1e6e4; }
.nav-wrap { display:flex; align-items:center; width:min(1180px,calc(100% - 64px)); min-height:70px; margin:0 auto; }
.brand { display:inline-flex; align-items:baseline; font-family:"Montserrat",sans-serif; font-size:22px; font-weight:800; letter-spacing:-.1em; }
.brand img { width:auto; height:25px; object-fit:contain; }
.brand b { color:var(--gold); font-size:15px; }
.nav-links { display:flex; align-items:center; height:70px; margin-left:auto; }
.nav-links a { display:flex; align-items:center; height:100%; padding:0 20px; border-left:1px solid #e1e6e4; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.nav-links .is-active { color:var(--gold); }
.nav-links .nav-contact { height:auto; margin-left:15px; padding:10px 14px; border:1px solid var(--ink); }
.menu-toggle { display:none; margin-left:auto; padding:7px 0 7px 14px; border:0; background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:25px; height:1px; margin:5px 0; background:var(--ink); }
.mobile-menu { display:none; }
.intro { padding:104px 0 92px; text-align:center; background:var(--cream); }
.intro h1 { max-width:850px; margin:0 auto; font-family:"Montserrat",sans-serif; font-size:clamp(43px,6.1vw,78px); font-weight:400; letter-spacing:-.065em; line-height:.98; }
.intro h1 strong { font-weight:700; }
.intro-copy { max-width:570px; margin:26px auto 0; color:#5d7075; font-size:17px; line-height:1.65; }
.explorer { padding:100px 0 112px; }
.explorer-head { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:46px; }
.explorer-head h2 { margin:0; font-family:"Montserrat",sans-serif; font-size:clamp(34px,4vw,56px); font-weight:400; letter-spacing:-.06em; line-height:1; }
.explorer-head h2 strong { font-weight:700; }
.explorer-head > p { max-width:300px; margin:0 0 4px; color:#607176; font-size:15px; line-height:1.6; }
.filter-row { display:flex; gap:9px; margin-bottom:19px; padding:17px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:auto; }
.filter { flex:0 0 auto; padding:9px 15px; color:#52676d; background:transparent; border:1px solid transparent; border-radius:100px; cursor:pointer; font-size:12px; font-weight:600; }
.filter:hover,.filter.is-active { color:#fff; background:var(--ink); }
.result-count { margin:0 0 21px; font-size:13px; font-weight:600; }
.destination-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:38px 18px; }
.destination-card { position:relative; min-height:370px; overflow:hidden; color:#fff; background:var(--deep); }
.destination-card[hidden] { display:none; }
.destination-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease,filter .35s ease; }
.destination-card::after { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(5,23,29,.88),rgba(5,23,29,.02) 66%); transition:background .3s ease; }
.destination-card:hover::after { background:rgba(5,23,29,.68); }
.destination-card:hover > img { transform:scale(1.05); filter:brightness(.86); }
.card-content { position:absolute; z-index:1; right:20px; bottom:20px; left:20px; }
.card-content > p { margin:0 0 7px; color:#e1c99e; font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.card-content h3 { margin:0; font-family:"Montserrat",sans-serif; font-size:19px; font-weight:700; letter-spacing:-.045em; line-height:1.13; }
.card-content > span { display:block; max-height:0; margin:0; overflow:hidden; opacity:0; font-size:13px; line-height:1.5; transition:.3s ease; }
.destination-card:hover .card-content > span { max-height:48px; margin-top:12px; opacity:1; }
.card-actions { display:flex; max-height:0; gap:8px; margin:0; overflow:hidden; opacity:0; transition:.3s ease; }
.destination-card:hover .card-actions { max-height:48px; margin-top:17px; opacity:1; }
.card-actions a { display:inline-flex; min-height:40px; flex:1; align-items:center; justify-content:center; border:1px solid #fff; font-size:10px; font-weight:700; }
.card-actions a:last-child { color:var(--deep); background:#fff; }
.empty-state { padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#5d7075; }
.cta { padding:112px 0; color:#fff; text-align:center; background:linear-gradient(rgba(9,36,44,.82),rgba(9,36,44,.82)),url("https://images.unsplash.com/photo-1469474968028-56623f02e42e?auto=format&fit=crop&w=1900&q=85") center/cover; }
.cta .eyebrow { color:#dec199; }
.cta h2 { margin:0; font-family:"Montserrat",sans-serif; font-size:clamp(35px,4.7vw,62px); font-weight:400; letter-spacing:-.06em; line-height:1.04; }
.cta h2 strong { color:#dec199; font-weight:700; }
.cta p:not(.eyebrow) { max-width:540px; margin:24px auto 31px; color:rgba(255,255,255,.84); font-size:16px; line-height:1.65; }
.cta a { display:inline-flex; min-height:48px; align-items:center; gap:13px; padding:0 21px; border:1px solid #fff; font-size:11px; font-weight:700; }
.cta a:hover { color:var(--deep); background:#fff; }
.footer { padding:47px 0 28px; color:#bdcdce; background:#0a2229; }
.footer-inner { display:grid; grid-template-columns:1fr 1.7fr auto; align-items:center; gap:26px; }
.footer .brand { color:#fff; }
.footer p,.footer span { margin:0; font-size:12px; }
.footer span { color:#80989b; }
@media (max-width:900px) { .destination-grid { grid-template-columns:repeat(3,1fr); } .explorer-head { align-items:start; flex-direction:column; } .explorer-head > p { max-width:500px; } }
@media (max-width:700px) { .container,.nav-wrap { width:min(100% - 40px,1180px); } .nav-links { display:none; } .menu-toggle { display:block; } .mobile-menu { position:fixed; inset:70px 0 auto; z-index:9; padding:15px 20px; color:#fff; background:var(--deep); opacity:0; pointer-events:none; transform:translateY(-10px); transition:.2s ease; } .mobile-menu.is-open { opacity:1; pointer-events:auto; transform:none; } .mobile-menu a { display:block; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.14); font-size:15px; } .intro { padding:76px 0 68px; } .explorer { padding:72px 0; } .destination-grid { grid-template-columns:repeat(2,1fr); gap:15px; } .destination-card { min-height:330px; } .card-content { right:16px; bottom:16px; left:16px; } .card-content h3 { font-size:17px; } .footer-inner { grid-template-columns:1fr; } }
@media (max-width:440px) { .destination-grid { grid-template-columns:1fr; } .destination-card { min-height:400px; } }
