@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');

:root { --ink:#132b24; --forest:#163e32; --lime:#dbe86c; --cream:#f4f0e7; --paper:#fbfaf6; --line:rgba(19,43,36,.16); --font-sans:'DM Sans',Arial,sans-serif; --font-display:'Playfair Display',Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.site-header { height:78px; padding:0 clamp(20px,4vw,64px); display:flex; align-items:center; justify-content:space-between; background:rgba(251,250,246,.96); position:absolute; inset:0 0 auto; z-index:10; }
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:38px; height:38px; border-radius:50% 50% 46% 54%; display:grid; place-items:center; background:var(--forest); color:var(--lime); font:italic 700 24px var(--font-display); }
.brand strong,.brand small { display:block; line-height:1; }
.brand strong { font-size:14px; letter-spacing:.18em; }
.brand small { font-size:8px; margin-top:5px; letter-spacing:.06em; }
.desktop-nav { display:flex; gap:35px; font-size:13px; font-weight:600; }
.desktop-nav a,.nav-cta { transition:opacity .2s; }
.desktop-nav a:hover,.nav-cta:hover { opacity:.6; }
.nav-cta { font-size:12px; font-weight:700; padding:12px 16px; border:1px solid var(--ink); }
.nav-cta span { margin-left:10px; }
.hero { min-height:100svh; position:relative; display:flex; align-items:flex-end; overflow:hidden; color:white; }
.hero>img { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,23,19,.82) 0%,rgba(4,23,19,.35) 53%,rgba(4,23,19,.08)),linear-gradient(0deg,rgba(4,23,19,.55),transparent 45%); }
.hero-content { width:min(860px,85%); padding:160px clamp(24px,7vw,112px) 96px; position:relative; z-index:1; }
.eyebrow { font-size:11px; letter-spacing:.26em; font-weight:800; margin:0 0 22px; }
.eyebrow.light { color:var(--lime); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--font-display),Georgia,serif; font-weight:500; line-height:.98; letter-spacing:-.035em; }
h1 { font-size:clamp(58px,8.7vw,132px); margin-bottom:26px; }
h1 em,h2 em { font-weight:400; }
.hero-copy { max-width:600px; font-size:clamp(16px,1.5vw,20px); line-height:1.65; color:rgba(255,255,255,.86); }
.hero-actions { margin-top:36px; display:flex; align-items:center; gap:34px; }
.button { display:inline-flex; gap:24px; align-items:center; padding:16px 20px; font-size:13px; font-weight:800; }
.button.primary { background:var(--lime); color:var(--ink); }
.text-link { font-size:13px; font-weight:700; display:flex; align-items:center; gap:10px; }
.play { width:30px; height:30px; border:1px solid rgba(255,255,255,.65); border-radius:50%; display:grid; place-items:center; font-size:8px; }
.photo-credit { position:absolute; right:32px; bottom:30px; z-index:2; font-size:10px; opacity:.8; }
.scroll-cue { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2; font-size:9px; letter-spacing:.18em; display:flex; gap:12px; align-items:center; }
.scroll-cue span { display:block; width:44px; height:1px; background:white; }
.section { padding:clamp(80px,10vw,150px) clamp(24px,7vw,112px); }
.intro { display:grid; grid-template-columns:1.05fr .8fr; gap:10vw; align-items:center; }
h2 { font-size:clamp(48px,6.4vw,92px); margin:0; }
.intro-copy { max-width:580px; font-size:17px; line-height:1.75; color:#42584f; }
.intro-copy p { margin-bottom:20px; }
.underlined { display:inline-flex; gap:18px; margin-top:12px; padding-bottom:6px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:800; color:var(--ink); }
.stats { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); margin:0 clamp(24px,7vw,112px); }
.stats div { padding:42px 6%; display:flex; align-items:baseline; justify-content:center; gap:12px; border-right:1px solid var(--line); }
.stats div:last-child { border:0; }
.stats strong { font:500 clamp(32px,4vw,58px) var(--font-display); }
.stats span { font-size:12px; color:#63756e; }
.destinations { background:var(--forest); color:white; }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:56px; }
.section-heading .eyebrow { color:var(--lime); }
.section-heading>p { width:min(410px,100%); line-height:1.7; color:rgba(255,255,255,.68); }
.destination-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.destination-card { position:relative; min-height:420px; overflow:hidden; background:#31574d; }
.destination-card img { position:absolute; inset:0; height:100%; object-fit:cover; transition:transform .6s ease; }
.destination-card:hover img { transform:scale(1.035); }
.card-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,22,17,.88),rgba(3,22,17,.04) 65%); }
.card-content { position:absolute; inset:auto 0 0; padding:28px; }
.card-content>span { font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--lime); }
.card-content h3 { font:500 clamp(34px,3.5vw,54px) var(--font-display); margin:8px 0 10px; }
.card-content p { max-width:460px; font-size:13px; line-height:1.6; color:rgba(255,255,255,.76); }
.card-content a { font-size:9px; text-transform:uppercase; letter-spacing:.12em; opacity:.72; }
.card-1,.card-4 { grid-column:span 7; }
.card-2,.card-3 { grid-column:span 5; }
.card-5,.card-6 { grid-column:span 6; }
.card-1 { min-height:540px; }
.journey { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.journey-image { position:relative; }
.journey-image img { height:680px; object-fit:cover; }
.journey-image a { position:absolute; right:16px; bottom:14px; color:white; font-size:9px; text-shadow:0 1px 8px #000; }
.journey-copy>p:not(.eyebrow) { color:#52675e; line-height:1.8; margin:32px 0; max-width:520px; }
.journey-copy ul { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.journey-copy li { padding:18px 0; border-bottom:1px solid var(--line); font-size:14px; }
.journey-copy li span { display:inline-block; width:44px; color:#7b8d86; font-size:10px; }
.final-cta { padding:120px 24px; text-align:center; color:white; background:linear-gradient(rgba(11,49,39,.74),rgba(11,49,39,.8)),url('https://images.unsplash.com/photo-1675377668920-86545643d25c?auto=format&fit=crop&w=2200&q=82') center/cover; }
.final-cta h2 { margin-bottom:38px; }
footer { padding:64px clamp(24px,7vw,112px) 28px; background:#0d2d25; color:white; display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:start; }
.footer-brand .brand-mark { background:var(--lime); color:var(--forest); }
footer>p { max-width:480px; color:rgba(255,255,255,.62); line-height:1.7; font-size:13px; }
footer>div { grid-column:1/-1; display:flex; gap:28px; border-top:1px solid rgba(255,255,255,.14); padding-top:26px; font-size:12px; }
footer>small { grid-column:1/-1; color:rgba(255,255,255,.45); font-size:10px; }

@media (max-width:800px) {
  .site-header { height:68px; position:absolute; }
  .desktop-nav { display:none; }
  .nav-cta { padding:10px 11px; font-size:10px; }
  .hero-content { width:100%; padding:130px 24px 88px; }
  .hero-shade { background:linear-gradient(90deg,rgba(4,23,19,.72),rgba(4,23,19,.15)),linear-gradient(0deg,rgba(4,23,19,.65),transparent 60%); }
  .scroll-cue,.photo-credit { display:none; }
  .intro,.journey { grid-template-columns:1fr; gap:44px; }
  .stats { grid-template-columns:1fr; }
  .stats div { border-right:0; border-bottom:1px solid var(--line); padding:25px; }
  .stats div:last-child { border-bottom:0; }
  .section-heading { display:block; }
  .section-heading>p { margin:26px 0 0; }
  .destination-grid { grid-template-columns:1fr; }
  .destination-card,.card-1,.card-2,.card-3,.card-4,.card-5,.card-6 { grid-column:auto; min-height:440px; }
  .journey-image img { height:500px; }
  footer { grid-template-columns:1fr; }
  footer>div,footer>small { grid-column:auto; flex-wrap:wrap; }
}

@media (max-width:480px) {
  .brand small { display:none; }
  h1 { font-size:56px; }
  h2 { font-size:46px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .destination-card,.card-1 { min-height:400px; }
  .journey-image img { height:420px; }
  .final-cta { padding:88px 22px; }
}

@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.destination-card img{transition:none} }
