:root{
  --navy:#143f48;
  --navy-soft:#1d5962;
  --coral:#df765b;
  --sand:#f1dfbd;
  --cream:#fffdf7;
  --paper:#f4f6ef;
  --sea:#dff1ed;
  --muted:#61797a;
  --line:#d5dfd8
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font:15px/1.65 Arial,sans-serif}
a{color:inherit}
.top{background:var(--navy);color:#fff;padding:10px 5%;text-align:center;font-size:11px;letter-spacing:.8px}
.nav{min-height:78px;padding:14px 5%;background:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{color:var(--navy);text-decoration:none;font:700 21px Georgia,serif}
.brand b{color:var(--coral);font-size:29px;margin-right:8px}
.nav-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nav-links a{font-size:11px;font-weight:700;text-decoration:none}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--coral)}
.hero{min-height:610px;display:flex;align-items:end;color:#fff;background-position:center;background-size:cover}
.hero-inner{width:min(1160px,90%);margin:auto;padding:100px 0 72px}
.eyebrow{color:var(--coral);font-size:10px;font-weight:700;letter-spacing:2px}
.hero .eyebrow{color:#f4d4a3}
.hero h1{max-width:820px;margin:16px 0 18px;font:400 clamp(50px,8vw,88px)/.92 Georgia,serif;letter-spacing:-2px}
.hero p{max-width:680px;margin:0;color:#eef7f4;font:20px/1.55 Georgia,serif}
.wrap{width:min(1160px,90%);margin:auto}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:-28px;position:relative;z-index:2;background:var(--cream);border:1px solid var(--line);box-shadow:0 16px 35px rgba(20,63,72,.1)}
.fact{padding:22px;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact small{display:block;color:var(--coral);font-size:9px;font-weight:700;letter-spacing:1.5px;margin-bottom:5px}
.fact strong{font:400 19px/1.25 Georgia,serif}
.story{padding:88px 0}
.story-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:68px;align-items:start}
.story h2,.experiences h2,.planning h2{font:400 clamp(36px,5vw,55px)/1 Georgia,serif;margin:12px 0 22px}
.story p{color:var(--muted);font:17px/1.75 Georgia,serif}
.quote{background:var(--sea);padding:31px;border-left:4px solid var(--coral)}
.quote strong{display:block;font:400 28px/1.2 Georgia,serif;margin-bottom:12px}
.quote p{margin:0;color:var(--muted);font:14px/1.6 Arial,sans-serif}
.visual-story{padding:0 0 88px}
.visual-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:17px}
.visual-card{min-height:330px;position:relative;display:flex;align-items:end;padding:30px;overflow:hidden;background-position:center;background-size:cover;color:#fff}
.visual-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,46,53,.9))}
.visual-card>*{position:relative}.visual-card span{display:block;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#f3d29d}.visual-card h3{margin:8px 0 0;font:400 33px/1.05 Georgia,serif;max-width:400px}
.region-gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px;padding:0 0 88px}
.region-gallery figure{margin:0;min-height:300px;position:relative;overflow:hidden;background:var(--sea)}
.region-gallery figure:first-child{min-height:380px}
.region-gallery img{width:100%;height:100%;min-height:300px;display:block;object-fit:cover}
.region-gallery figcaption{position:absolute;right:0;bottom:0;left:0;padding:28px 18px 16px;color:#fff;font-size:11px;background:linear-gradient(transparent,rgba(10,46,53,.9))}
.region-gallery figcaption strong{display:block;font:400 22px/1.1 Georgia,serif;margin-bottom:4px}
.why{padding:84px 0;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.why-card{padding:25px;background:var(--paper);border:1px solid var(--line)}
.why-card h3{font:400 25px/1.12 Georgia,serif;margin:8px 0 10px}
.why-card p{color:var(--muted);margin:0}
.map-section{padding:84px 0}
.map-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch}
.map-copy{padding:28px;background:var(--sea);border-left:4px solid var(--coral)}
.map-copy h2{font:400 clamp(34px,4vw,48px)/1.04 Georgia,serif;margin:10px 0 15px}
.map-copy p{color:var(--muted)}
.map-frame{min-height:400px;border:1px solid var(--line);background:#fff;overflow:hidden}
.map-frame iframe{display:block;width:100%;height:100%;min-height:400px;border:0}
.source-note{margin-top:17px;color:var(--muted);font-size:11px}
.source-note a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.topic-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.topic-links a{padding:11px 13px;background:var(--cream);border:1px solid var(--line);font-size:11px;font-weight:700;text-decoration:none}
.topic-links a:hover{border-color:var(--coral);color:var(--coral)}
.experiences{padding:84px 0;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr minmax(260px,.55fr);gap:35px;align-items:end;margin-bottom:34px}
.section-head>p{color:var(--muted);margin:0}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{min-height:290px;padding:26px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}
.card-num{color:var(--coral);font:italic 20px Georgia,serif}
.card h3{font:400 27px/1.12 Georgia,serif;margin:42px 0 12px}
.card p{color:var(--muted);margin:0 0 22px}
.card a{margin-top:auto;font-size:11px;font-weight:700;text-underline-offset:4px}
.planning{padding:88px 0}
.planning-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{background:var(--cream);border:1px solid var(--line);padding:22px}
.check strong{display:block;font:400 21px Georgia,serif;margin-bottom:7px}
.check span{color:var(--muted);font-size:13px}
.cta{margin:0 auto 88px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:var(--navy);color:#fff;padding:42px}
.cta h2{font:400 36px/1.05 Georgia,serif;margin:0 0 10px}
.cta p{margin:0;color:#c9dbd6}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:14px 18px;background:var(--coral);color:#fff;text-decoration:none;font-size:11px;font-weight:700;border-radius:4px}
.button.secondary{background:transparent;border:1px solid rgba(255,255,255,.45)}
.cta-actions{display:flex;gap:9px;flex-wrap:wrap}
.other-regions{padding:70px 0;border-top:1px solid var(--line)}
.region-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:24px}
.region-list a{padding:18px 10px;background:var(--cream);border:1px solid var(--line);text-align:center;text-decoration:none;font:400 18px Georgia,serif}
.region-list a[aria-current="page"]{background:var(--sea);border-color:#b8d6cf}
footer{background:var(--navy);color:#c7d8d4;padding:28px 5%;font-size:11px}
@media(max-width:900px){
  .facts{grid-template-columns:1fr 1fr}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .story-grid,.section-head,.planning-grid{grid-template-columns:1fr}
  .visual-grid{grid-template-columns:1fr}
  .region-gallery{grid-template-columns:1fr 1fr}
  .region-gallery figure:first-child{grid-column:1/-1}
  .why-grid,.map-grid{grid-template-columns:1fr}
  .card-grid{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr}
  .region-list{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .nav{align-items:flex-start;flex-direction:column}
  .nav-links{gap:12px}
  .hero{min-height:520px}
  .hero-inner{padding:80px 0 55px}
  .facts{margin-top:0}
  .card-grid,.checklist{grid-template-columns:1fr}
  .region-list{grid-template-columns:1fr 1fr}
  .story,.experiences,.planning{padding:62px 0}
  .visual-story{padding-bottom:62px}
  .visual-card{min-height:260px;padding:23px}
  .region-gallery{grid-template-columns:1fr;padding-bottom:62px}
  .region-gallery figure:first-child{grid-column:auto}
  .region-gallery figure,.region-gallery figure:first-child,.region-gallery img{min-height:250px}
  .cta{padding:28px}
}
