
:root { --ink:#102d30; --ink-soft:#496162; --paper:#f7f3ea; --white:#fffdf8; --sun:#e7aa4a; --sea:#0b5b5f; --line:rgba(16,45,48,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,72px); position:absolute; z-index:10; width:100%; color:white; border-bottom:1px solid rgba(255,255,255,.24); }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:22px; letter-spacing:-.04em; }
.brand-mark { display:grid; place-items:center; width:35px; height:35px; border:1px solid currentColor; border-radius:50%; }
nav { display:flex; align-items:center; gap:34px; font-size:14px; }
nav a,footer a { transition:opacity .2s ease; }
nav a:hover,footer a:hover { opacity:.65; }
.header-cta { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.45); border-radius:999px; padding:10px 16px; font-size:13px; }
.hero { min-height:760px; height:92vh; position:relative; display:grid; align-items:center; overflow:hidden; color:white; }
.hero-image { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1503220317375-aaad61436b1b?auto=format&fit=crop&w=2200&q=88') center 46% / cover; transform:scale(1.02); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,33,36,.84) 0%,rgba(5,33,36,.52) 46%,rgba(5,33,36,.08) 78%),linear-gradient(0deg,rgba(5,25,27,.3),transparent 50%); }
.hero-content { position:relative; z-index:2; width:min(760px,90vw); margin-left:clamp(22px,9vw,138px); padding-top:56px; }
.eyebrow,.section-kicker { display:flex; align-items:center; gap:9px; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; margin:0; font-weight:600; letter-spacing:-.035em; }
h1 { font-size:clamp(64px,8vw,112px); line-height:.83; max-width:760px; margin:28px 0; }
.hero-copy { max-width:610px; font-size:18px; line-height:1.7; color:rgba(255,255,255,.84); }
.search-card { display:flex; align-items:center; gap:13px; background:var(--white); color:var(--ink); max-width:650px; padding:8px 8px 8px 20px; border-radius:9px; margin-top:34px; box-shadow:0 18px 50px rgba(0,0,0,.2); }
.search-card input { border:0; outline:0; background:transparent; flex:1; min-width:0; padding:12px 0; }
.search-card button { color:white; background:var(--sea); border:0; padding:14px 25px; border-radius:6px; cursor:pointer; }
.quick-links { display:flex; gap:17px; margin-top:18px; font-size:12px; color:rgba(255,255,255,.78); }
.quick-links a { text-decoration:underline; text-underline-offset:4px; }
.section-shell { width:min(1180px,calc(100% - 44px)); margin-left:auto; margin-right:auto; }
.intro { padding:105px 0 38px; display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; }
.section-kicker { color:var(--sea); margin:0 0 13px; }
.intro h2,.promise h2 { font-size:clamp(44px,5vw,70px); line-height:.98; }
.intro>p { color:var(--ink-soft); line-height:1.8; max-width:500px; margin:0; }
.destination-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:16px; padding-bottom:110px; }
.partner-ad { margin-bottom:90px; padding:30px 34px; background:rgba(236,168,62,.12); border:1px solid rgba(181,122,31,.22); display:grid; grid-template-columns:1fr auto; align-items:center; gap:32px; }
.partner-ad .section-kicker { margin-bottom:9px; }
.partner-ad h2 { font-size:clamp(29px,3vw,42px); line-height:1; margin:0 0 9px; }
.partner-ad p:not(.section-kicker) { color:var(--ink-soft); font-size:14px; line-height:1.6; margin:0; }
.partner-ad small { display:block; color:var(--ink-soft); font-size:11px; margin-top:8px; }
.partner-ad>a { background:var(--sea); color:white; padding:14px 20px; font-size:13px; font-weight:700; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; }
.destination-card { min-height:480px; position:relative; overflow:hidden; border-radius:4px; color:white; }
.destination-card img { width:100%; height:100%; object-fit:cover; position:absolute; transition:transform .7s ease; }
.destination-card:hover img { transform:scale(1.045); }
.card-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,28,30,.86),transparent 70%); }
.card-copy { position:absolute; z-index:2; bottom:0; padding:28px; }
.card-copy span { display:flex; gap:6px; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.card-copy h3 { font-size:36px; margin:7px 0; }
.card-copy p { font-size:13px; line-height:1.6; color:rgba(255,255,255,.8); margin:0; }
.promise { text-align:center; border-top:1px solid var(--line); padding:105px 20px 115px; }
.promise .section-kicker { justify-content:center; }
.promise>p:not(.section-kicker) { max-width:690px; margin:25px auto; line-height:1.8; color:var(--ink-soft); }
.promise>a { color:var(--sea); display:inline-flex; gap:8px; align-items:center; font-weight:700; font-size:14px; }
footer { background:var(--ink); color:white; min-height:160px; padding:46px clamp(22px,5vw,72px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; }
.footer-brand { justify-self:start; }
footer p { color:rgba(255,255,255,.55); font-size:13px; }
footer small { display:block; margin-top:8px; color:rgba(255,255,255,.45); font-size:11px; line-height:1.5; }
footer>div { justify-self:end; display:flex; gap:25px; font-size:12px; }
@media (max-width:780px) { .site-header nav{display:none}.header-cta{padding:9px 12px}.hero{min-height:690px}.hero-content{margin:0 22px;width:auto}h1{font-size:clamp(58px,17vw,84px)}.quick-links{flex-wrap:wrap}.intro{grid-template-columns:1fr;padding-top:78px;gap:22px}.destination-grid{grid-template-columns:1fr}.destination-card{min-height:430px}.partner-ad{grid-template-columns:1fr;margin-bottom:70px;padding:27px}.partner-ad>a{justify-self:start}footer{grid-template-columns:1fr;text-align:left}footer>div{justify-self:start;flex-wrap:wrap} }

.inner-header { position:relative; color:var(--ink); border-bottom:1px solid var(--line); background:rgba(247,243,234,.94); }
.inner-header .header-cta { border-color:var(--line); }
.listing-hero { padding:105px 0 72px; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:60px; }
.listing-hero .section-kicker { grid-column:1 / -1; margin-bottom:-40px; }
.listing-hero h1,.simple-hero h1 { font-size:clamp(60px,7vw,96px); line-height:.9; max-width:780px; }
.listing-hero>p:last-child { color:var(--ink-soft); line-height:1.8; margin:0; max-width:530px; }
.listing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:46px 18px; padding-bottom:115px; }
.listing-card { background:var(--white); display:flex; flex-direction:column; min-width:0; transition:transform .25s ease,box-shadow .25s ease; }
.listing-card:hover { transform:translateY(-4px); box-shadow:0 18px 45px rgba(16,45,48,.1); }
.listing-image { aspect-ratio:4/3; overflow:hidden; }
.listing-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.listing-card:hover img { transform:scale(1.04); }
.listing-copy { padding:24px 25px 27px; display:flex; flex-direction:column; flex:1; }
.listing-copy>span { display:flex; align-items:center; gap:6px; color:var(--sea); text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.14em; }
.listing-copy h2 { font-size:34px; margin:10px 0 8px; line-height:1; }
.listing-copy p { color:var(--ink-soft); font-size:13px; line-height:1.65; margin:0 0 20px; }
.listing-copy b { display:flex; align-items:center; gap:6px; font-size:12px; margin-top:auto; color:var(--sea); }
.detail-hero { height:72vh; min-height:620px; position:relative; color:white; overflow:hidden; }
.detail-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.detail-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,30,32,.82),rgba(4,30,32,.22) 70%),linear-gradient(0deg,rgba(4,30,32,.45),transparent 50%); }
.detail-heading { position:absolute; z-index:2; left:clamp(22px,9vw,138px); bottom:clamp(55px,8vw,100px); max-width:850px; }
.detail-heading .eyebrow { color:rgba(255,255,255,.8); }
.detail-heading h1 { font-size:clamp(70px,9vw,124px); line-height:.82; margin:20px 0 24px; }
.detail-heading>p:last-child { max-width:660px; font-size:19px; line-height:1.6; color:rgba(255,255,255,.82); margin:0; }
.article-shell { width:min(960px,calc(100% - 44px)); margin:0 auto; padding:36px 0 110px; }
.back-link { display:inline-flex; align-items:center; gap:7px; color:var(--sea); font-size:12px; font-weight:700; margin-bottom:95px; }
.article-intro { display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; align-items:start; }
.article-intro .section-kicker { margin-top:8px; }
.article-intro h2,.article-grid h2,.tip-box h2,.next-journey h2,.contact-layout h2,.legal-copy h2 { font-size:clamp(38px,4vw,56px); line-height:1; }
.article-intro>p:last-child { grid-column:2; color:var(--ink-soft); font-family:'Cormorant Garamond',Georgia,serif; font-size:27px; line-height:1.5; margin:24px 0 0; }
.fact-row { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); margin:90px 0; border:1px solid var(--line); }
.fact-row>div { background:var(--white); padding:36px; }
.fact-row svg { color:var(--sun); margin-bottom:35px; }
.fact-row span { display:block; text-transform:uppercase; color:var(--sea); font-size:10px; letter-spacing:.14em; font-weight:700; }
.fact-row p { line-height:1.6; margin:8px 0 0; }
.article-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; padding:10px 0 90px; }
.article-grid ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.article-grid li { display:grid; grid-template-columns:50px 1fr; align-items:center; gap:12px; border-bottom:1px solid var(--line); padding:25px 0; }
.article-grid li span { color:var(--sun); font-family:'Cormorant Garamond'; font-size:22px; }
.article-grid li p { font-family:'Cormorant Garamond'; font-size:27px; margin:0; }
.tip-box { background:var(--sea); color:white; padding:54px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.tip-box .section-kicker { color:var(--sun); }
.tip-box ul { list-style:none; padding:0; margin:0; }
.tip-box li { display:flex; gap:11px; border-bottom:1px solid rgba(255,255,255,.18); padding:17px 0; font-size:14px; }
.tip-box li svg { color:var(--sun); flex:none; }
blockquote { margin:0 0 90px; padding:70px clamp(30px,7vw,85px); text-align:center; background:var(--white); color:var(--sea); font:600 clamp(33px,4vw,52px)/1.15 'Cormorant Garamond',Georgia,serif; }
.next-journey { display:flex; justify-content:space-between; align-items:end; gap:30px; border-top:1px solid var(--line); margin-top:90px; padding-top:70px; }
.next-journey h2 { max-width:650px; }
.next-journey>a { display:inline-flex; align-items:center; gap:8px; background:var(--ink); color:white; padding:15px 20px; font-size:13px; white-space:nowrap; }
.simple-hero { padding:105px 0 72px; position:relative; }
.simple-hero>svg { color:var(--sun); width:35px; height:35px; margin-bottom:34px; }
.simple-hero>p:last-child { color:var(--ink-soft); max-width:650px; font-size:18px; line-height:1.7; }
.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; padding:15px 0 120px; }
.contact-layout>div>p { color:var(--ink-soft); line-height:1.8; }
.contact-layout a,.legal-copy a { color:var(--sea); text-decoration:underline; text-underline-offset:4px; }
.contact-note { display:flex; gap:16px; align-items:start; border-top:1px solid var(--line); padding-top:28px; margin-top:35px; color:var(--ink-soft); font-size:13px; line-height:1.6; }
.contact-note svg { color:var(--sun); flex:none; }
.contact-note b { display:block; color:var(--ink); }
.contact-form { background:var(--white); padding:38px; display:grid; gap:20px; }
.contact-form label { display:grid; gap:8px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; color:var(--sea); }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid var(--line); background:white; padding:13px; color:var(--ink); outline:none; text-transform:none; letter-spacing:0; font-size:14px; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--sea); box-shadow:0 0 0 3px rgba(11,91,95,.09); }
.contact-form button { border:0; background:var(--sea); color:white; padding:15px 20px; cursor:pointer; font-weight:700; }
.legal-hero { border-bottom:1px solid var(--line); }
.legal-copy { max-width:780px; padding:65px 0 120px; }
.legal-copy h2 { font-size:35px; margin:52px 0 15px; }
.legal-copy p { color:var(--ink-soft); line-height:1.85; }

@media (max-width:900px) {
  .listing-grid { grid-template-columns:repeat(2,1fr); }
  .article-intro,.article-grid,.tip-box,.contact-layout { grid-template-columns:1fr; gap:30px; }
  .article-intro>p:last-child { grid-column:1; }
}
@media (max-width:640px) {
  .listing-hero { grid-template-columns:1fr; padding-top:75px; gap:25px; }
  .listing-hero .section-kicker { margin-bottom:0; }
  .listing-grid { grid-template-columns:1fr; }
  .listing-card { flex-direction:row; }
  .listing-image { width:38%; aspect-ratio:auto; min-height:190px; }
  .listing-copy { padding:20px; }
  .listing-copy h2 { font-size:28px; }
  .detail-hero { min-height:580px; }
  .detail-heading { left:22px; right:22px; bottom:55px; }
  .detail-heading h1 { font-size:64px; }
  .fact-row { grid-template-columns:1fr; }
  .next-journey { align-items:start; flex-direction:column; }
  .simple-hero { padding-top:75px; }
  .contact-form { padding:24px; }
}

.brand-mark{font-size:17px}.fact-row>div:before{content:'✦';display:block;color:var(--sun);font-size:22px;margin-bottom:30px}.html-note{font-size:12px}footer small{display:block;margin-top:8px;color:rgba(255,255,255,.45);font-size:11px;line-height:1.5}
.partner-ad{margin-bottom:90px;padding:30px 34px;background:rgba(236,168,62,.12);border:1px solid rgba(181,122,31,.22);display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px}.partner-ad .section-kicker{margin-bottom:9px}.partner-ad h2{font-size:clamp(29px,3vw,42px);line-height:1;margin:0 0 9px}.partner-ad p:not(.section-kicker){color:var(--ink-soft);font-size:14px;line-height:1.6;margin:0}.partner-ad small{display:block;color:var(--ink-soft);font-size:11px;margin-top:8px}.partner-ad>a{background:var(--sea);color:white;padding:14px 20px;font-size:13px;font-weight:700;white-space:nowrap}
.guide-library{border-top:1px solid var(--line);padding:85px 0 20px}.guide-library>div:first-child{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.guide-library h2{font-size:clamp(38px,4vw,56px);line-height:1}.guide-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.guide-mini-card{background:var(--white);padding:25px;min-height:230px;display:flex;flex-direction:column;border:1px solid transparent;transition:transform .2s ease,border-color .2s ease}.guide-mini-card:hover{transform:translateY(-3px);border-color:var(--line)}.guide-mini-card.is-current{background:rgba(11,91,95,.08);border-color:rgba(11,91,95,.18)}.guide-mini-card>span{color:var(--sea);text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:700}.guide-mini-card h3{font-size:29px;line-height:1.05;margin:15px 0 10px}.guide-mini-card p{color:var(--ink-soft);font-size:12px;line-height:1.6;margin:0 0 20px}.guide-mini-card b{margin-top:auto;font-size:11px;color:var(--sea)}
.itinerary-list{padding:10px 0 85px}.itinerary-stop{display:grid;grid-template-columns:130px 1fr;gap:30px;padding:32px 0;border-top:1px solid var(--line)}.itinerary-stop:last-child{border-bottom:1px solid var(--line)}.itinerary-stop>span{color:var(--sun);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.itinerary-stop h2{font-size:36px;line-height:1;margin-bottom:10px}.itinerary-stop p{color:var(--ink-soft);line-height:1.75;margin:0}.flavour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:80px 0}.flavour-grid article{background:var(--white);padding:36px}.flavour-grid span{color:var(--sun);font:600 22px 'Cormorant Garamond',serif}.flavour-grid h2{font-size:36px;margin:30px 0 12px}.flavour-grid p{color:var(--ink-soft);line-height:1.7;font-size:13px}.culture-etiquette{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:10px 0 80px}.culture-etiquette h2{font-size:48px;line-height:1}.culture-etiquette>p{color:var(--ink-soft);line-height:1.85;margin:28px 0 0}
@media(max-width:780px){.guide-library-grid,.flavour-grid{grid-template-columns:1fr}.itinerary-stop,.culture-etiquette{grid-template-columns:1fr;gap:14px}.guide-library>div:first-child{display:block}.guide-mini-card{min-height:0}.partner-ad{grid-template-columns:1fr;margin-bottom:70px;padding:27px}.partner-ad>a{justify-self:start}}
