*{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#B8962E;--gold-light:#D4B55A;--gold-dark:#8A6E1A;
  --charcoal:#1A1814;--charcoal-mid:#2A2620;
  --off-white:#F7F3EE;--cream:#EDE5D8;--muted:#7A7068;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fb:'Montserrat',sans-serif;
}
body{font-family:var(--fb);background:var(--off-white);color:var(--charcoal);min-height:100vh;display:flex;flex-direction:column}
nav{background:var(--charcoal);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:72px;border-bottom:1px solid rgba(184,150,46,0.25)}
.nav-logo img{height:44px;width:auto;object-fit:contain}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-size:10px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:#9A9088;text-decoration:none;cursor:pointer;padding-bottom:2px;border-bottom:1px solid transparent;transition:color 0.2s}
.nav-links a.active,.nav-links a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.nav-cta{background:none;border:none;padding:0;color:#b8952a;cursor:pointer;text-decoration:none;font-size:10px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase}
.page{display:none}.page.active{display:block}

.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.hero-img-placeholder{position:absolute;inset:0;background:#2A2520;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.hero-img-placeholder .ph-label{font-family:var(--fd);font-size:13px;font-weight:300;color:rgba(184,150,46,0.5);letter-spacing:0.25em;text-transform:uppercase}
.hero-img-placeholder .ph-sub{font-size:10px;font-weight:300;color:rgba(255,255,255,0.2);letter-spacing:0.15em;text-align:center;max-width:340px;line-height:1.8}
.hero-img-placeholder .ph-icon{font-size:36px;color:rgba(184,150,46,0.25);margin-bottom:4px}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.79) 10%,rgba(0,0,0,0.70) 22%,rgba(0,0,0,0.55) 35%,rgba(0,0,0,0.36) 48%,rgba(0,0,0,0.18) 60%,rgba(0,0,0,0.05) 72%,rgba(0,0,0,0) 82%);pointer-events:none}
.hero-content{position:relative;z-index:2;padding:72px 40px;max-width:580px}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.hero h1{font-family:var(--fd);font-size:64px;font-weight:300;line-height:1.05;color:#F5F0E8;margin-bottom:16px}
.hero h1 em{color:var(--gold);font-style:italic}
.tagline{font-size:10px;font-weight:500;letter-spacing:0.45em;text-transform:uppercase;color:rgba(184,150,46,0.6);margin-bottom:26px}
.hero-sub{font-size:14px;font-weight:300;line-height:1.85;color:rgba(235,228,218,0.85);max-width:400px;margin-bottom:32px}
.hero-btns{display:flex;align-items:center;gap:14px}
.btn-gold{display:inline-block;padding:14px 28px;align-self:center;background:var(--gold);color:var(--charcoal);font-size:12px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;border:none;text-decoration:none;text-align:center;white-space:nowrap}
.btn-outline{display:inline-block;padding:0;background:transparent;color:#e8e0d0;font-size:12px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;border:none;text-decoration:none;text-align:center;white-space:nowrap}
.hero-note{font-size:10px;color:rgba(255,255,255,0.18);margin-top:24px;font-style:italic;font-family:var(--fd);font-weight:300;letter-spacing:0.08em}

.strip{background:#0f0d08;padding:12px 40px;overflow:hidden;white-space:nowrap}
.strip-inner{display:inline-block;animation:marquee 22s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.strip span{font-size:9px;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:#b8952a;margin:0 36px}
.strip span::after{content:' ·';margin-left:36px}

.sec{padding:64px 40px}
.sec-label{font-size:10px;font-weight:500;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.sec-title{font-family:var(--fd);font-size:44px;font-weight:300;line-height:1.1;color:var(--charcoal);margin-bottom:20px}
.sec-title em{font-style:italic;color:var(--gold-dark)}

.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--cream)}
.pain-card{background:#fff;padding:36px 32px}
.pain-icon{font-size:28px;color:var(--gold);margin-bottom:14px;font-family:var(--fd);font-style:italic;font-weight:300}
.pain-card h3{font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--charcoal);margin-bottom:10px}
.pain-card p{font-size:12px;font-weight:300;line-height:1.8;color:var(--muted)}

.process-section{background:var(--charcoal);padding:72px 40px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:8px}
.step{background:rgba(255,255,255,0.04);padding:28px 20px;border-top:2px solid transparent;cursor:default}
.step:hover{border-top-color:var(--gold);background:rgba(184,150,46,0.06)}
.step-num{font-family:var(--fd);font-size:40px;font-weight:300;color:rgba(184,150,46,0.28);line-height:1;margin-bottom:14px}
.step h3{font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.step p{font-size:11px;font-weight:300;line-height:1.75;color:#7A7068}

.dest-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}
.dest-card{background:var(--charcoal-mid);position:relative;overflow:hidden;cursor:pointer;min-height:220px;grid-column:span 2}
.dest-card:nth-child(4),.dest-card:nth-child(5){grid-column:span 3}
.dest-bg{position:absolute;inset:0;background:#222018;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:72px;font-weight:300;color:rgba(184,150,46,0.1);flex-direction:column;gap:6px}
.dest-ph-label{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(184,150,46,0.3);font-family:var(--fb);font-weight:300}
.dest-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 18px;background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,transparent 100%)}
.dest-region{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.dest-name{font-family:var(--fd);font-size:20px;font-weight:300;color:#F5F0E8}

.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.testi-card{background:#fff;padding:28px 24px;border-left:2px solid var(--gold)}
.testi-quote{font-family:var(--fd);font-size:15px;font-weight:300;line-height:1.7;color:var(--charcoal);font-style:italic;margin-bottom:18px}
.testi-author{font-size:10px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}

.cta-banner {
  background: var(--charcoal);
  padding: 64px 40px;
}
.cta-text {
  font-family: var(--fd);
  font-size: 36px;
  font-weight: 300;
  color: #F5F0E8;
  line-height: 1.15;
  max-width: 480px;
  
  /* Add these two lines: */
  text-align: center; /* This centers the words inside the box */
  margin: 0 auto;     /* This centers the 480px box itself inside the banner */
}
.cta-text em{color:var(--gold);font-style:italic}

.about-split{display:grid;grid-template-columns:2fr 3fr;min-height:480px}
.about-left{overflow:hidden;position:relative}
.about-left img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 65%,rgba(26,24,20,0.35) 100%)}
.about-right{background:var(--off-white);padding:64px 48px;display:flex;flex-direction:column;justify-content:center}
.about-name{font-size:10px;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.about-headline{font-family:var(--fd);font-size:36px;font-weight:300;line-height:1.15;color:var(--charcoal);margin-bottom:24px}
.about-headline em{font-style:italic;color:var(--gold-dark)}
.about-body{font-size:13px;font-weight:300;line-height:1.9;color:var(--muted);margin-bottom:14px}
.creds{display:flex;gap:28px;margin-top:28px;padding-top:24px;border-top:1px solid var(--cream)}
.cred-val{font-family:var(--fd);font-size:28px;font-weight:300;color:var(--gold);line-height:1}
.cred-lbl{font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:#AAA098;margin-top:4px}

.affil{padding:48px 40px;background:#fff;border-top:1px solid var(--cream)}
.affil-grid{display:flex;gap:0;margin-top:28px}
.affil-item{flex:1;padding:24px 28px;border:1px solid var(--cream);margin-right:-1px;background:#fff}
.affil-name{font-size:11px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--charcoal);margin-bottom:6px}
.affil-desc{font-size:11px;font-weight:300;color:var(--muted);line-height:1.65}

.dest-hero{background:var(--charcoal);padding:60px 40px}
.dest-list{padding:40px}
.dest-row{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--cream);cursor:pointer;transition:padding-left 0.2s}
.dest-row:hover{padding-left:8px}
.dest-num-lg{font-family:var(--fd);font-size:44px;font-weight:300;color:var(--cream);line-height:1;transition:color 0.2s}
.dest-row:hover .dest-num-lg{color:var(--gold-light)}
.dest-row-name{font-family:var(--fd);font-size:28px;font-weight:300;color:var(--charcoal);margin-bottom:5px}
.dest-row-desc{font-size:12px;font-weight:300;color:var(--muted);line-height:1.6}
.dest-tag{padding:4px 12px;background:var(--cream);font-size:9px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--charcoal-mid)}

.blog-hero{background:var(--charcoal);padding:60px 40px}
.blog-grid{padding:40px;display:grid;grid-template-columns:2fr 1fr;gap:24px}
.blog-feat{background:var(--charcoal-mid);cursor:pointer}
.blog-feat-img{height:260px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:88px;font-weight:300;color:rgba(184,150,46,0.1);border-bottom:1px solid rgba(184,150,46,0.12)}
.blog-feat-body{padding:24px 28px}
.blog-tag{font-size:9px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.blog-feat-title{font-family:var(--fd);font-size:26px;font-weight:300;color:#F5F0E8;line-height:1.25;margin-bottom:10px}
.blog-feat-ex{font-size:12px;font-weight:300;color:#7A7068;line-height:1.7}
.blog-side{display:flex;flex-direction:column;gap:2px}
.blog-card{background:#fff;padding:20px 22px;border:1px solid var(--cream);cursor:pointer;transition:border-color 0.2s}
.blog-card:hover{border-color:var(--gold-light)}
.blog-card-title{font-family:var(--fd);font-size:17px;font-weight:300;color:var(--charcoal);line-height:1.3;margin-bottom:6px}
.blog-card-meta{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}

.contact-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 72px - 39px)}
.contact-left{background:var(--charcoal)}
.contact-right{background:var(--off-white);padding:64px 40px}
.form-row{margin-bottom:18px}
.form-lbl{font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:7px}
.form-input{width:100%;padding:11px 14px;background:#fff;border:1px solid var(--cream);font-family:var(--fb);font-size:13px;font-weight:300;color:var(--charcoal);outline:none;transition:border-color 0.2s}
.form-input:focus{border-color:var(--gold)}
textarea.form-input{resize:vertical;min-height:90px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.advisor-note{font-size:11px;font-weight:300;color:var(--muted);line-height:1.65;margin-top:10px;padding:14px;background:var(--cream);border-left:2px solid var(--gold)}
.contact-detail{margin-bottom:20px}
.contact-lbl{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.contact-val{font-size:13px;font-weight:300;color:#C0B0A0}

/* Updated Footer */
footer {
  background: #111008;
  padding: 14px 40px;
  border-top: 1px solid rgba(184,150,46,0.12);
  display:flex;align-items:center;justify-content:space-between;
  margin-top:auto;
}
.footer-logo img{height:36px;width:auto;object-fit:contain}
.footer-note{font-size:9px;color:#e8e0d0;;letter-spacing:0.08em}
.footer-social{display:flex;gap:18px}
.social-lnk{font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:#5A5040;cursor:pointer}
.social-lnk:hover{color:var(--gold)}

.cta-social{display:flex;justify-content:center;gap:20px;margin-top:20px}
.cta-social .social-lnk{color:rgba(255,255,255,0.35);transition:color 0.2s}
.cta-social .social-lnk:hover{color:var(--gold)}

/* The Instance (Applies ONLY to the gold button in the bottom banner) */
.cta-banner .btn-gold {
  display: block;
  margin: 0 auto;
  width: fit-content;
  margin-top: 20px;
}

/* ── Hamburger: hidden on desktop ── */
.nav-hamburger { display: none; }

/* ── Mobile ── */
@media (max-width: 768px) {

  html, body { overflow-x: hidden; }

  /* Nav */
  nav { padding: 0 20px; position: relative; }
  .nav-hamburger {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    background: none; border: none; cursor: pointer; padding: 6px; z-index: 101;
  }
  .nav-hamburger span {
    display: block; width: 22px; height: 1.5px; background: #9A9088;
    transition: transform 0.25s, opacity 0.25s;
  }
  .nav-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
  .nav-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
  .nav-links {
    display: none; flex-direction: column; gap: 0;
    position: absolute; top: 72px; left: 0; right: 0; width: 100%;
    background: var(--charcoal); padding: 8px 20px 16px;
    border-top: 1px solid rgba(184,150,46,0.2); z-index: 100;
  }
  .nav-links.nav-open { display: flex; }
  .nav-links a { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 11px; }
  .nav-links a:last-child { border-bottom: none; }

  /* Hero */
  .hero { min-height: 440px; }
  .hero-content { padding: 48px 20px; max-width: 100%; }
  .hero h1 { font-size: 40px; }
  .hero-btns { flex-wrap: wrap; gap: 12px; }
  .btn-outline { display: none; }

  /* General */
  .sec { padding: 44px 20px; }
  .sec-title { font-size: 32px !important; }
  .process-section { padding: 52px 20px; }
  .strip { padding: 12px 20px; }

  /* Pain grid: 3-col → 1-col */
  .pain-grid { grid-template-columns: 1fr; }

  /* Steps: 5-col → 2-col */
  .steps { grid-template-columns: 1fr 1fr; }

  /* Dest cards: reset span overrides */
  .dest-grid { grid-template-columns: 1fr 1fr; }
  .dest-card { grid-column: span 1 !important; min-height: 180px; }

  /* Testimonials: 3-col → 1-col */
  .testi-grid { grid-template-columns: 1fr; gap: 12px; }

  /* CTA banner */
  .cta-banner { padding: 44px 20px; }
  .cta-text { font-size: 26px; }

  /* About split: stacked */
  .about-split { grid-template-columns: 1fr; min-height: auto; }
  .about-left { min-height: 300px; }
  .about-right { padding: 40px 20px; }
  .creds { flex-wrap: wrap; gap: 20px; }

  /* Affiliations */
  .affil { padding: 40px 20px; }
  .affil-grid { flex-direction: column; }
  .affil-item { margin-right: 0; margin-bottom: -1px; }

  /* Destinations page */
  .dest-hero { padding: 44px 20px; }
  .dest-list { padding: 16px 20px; }
  .dest-row { grid-template-columns: 56px 1fr; gap: 14px; }
  .dest-tag { display: none; }
  .dest-num-lg { font-size: 28px; }
  .dest-row-name { font-size: 20px; }

  /* Journal */
  .blog-hero { padding: 44px 20px; }
  .blog-grid { grid-template-columns: 1fr; padding: 20px; gap: 2px; }

  /* Contact */
  .contact-split { grid-template-columns: 1fr; min-height: auto; }
  .contact-right { padding: 40px 20px; }
  .form-grid { grid-template-columns: 1fr; }

  /* Footer */
  footer { padding: 14px 20px; }
}
