*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --sand:#F5F0E8;--sand-deep:#EDE5D5;
  --obsidian:#1A1916;--obsidian-soft:#222018;--obsidian-mid:#2C2A26;
  --gold:#B89A6A;--gold-light:#D4B98A;
  --ivory:#FAF8F4;--muted:#918C7E;
  --border:rgba(184,154,106,0.22);
  --font-display:'Cormorant Garamond',serif;--font-body:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);font-size:20px;line-height:1.85;background:var(--obsidian);color:var(--ivory);overflow-x:hidden;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--obsidian);color:var(--ivory);padding:0.75rem 1.25rem;font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;border:0.5px solid var(--gold);}
.skip-link:focus{left:1rem;top:1rem;}

/* ── NAV ─────────────────────────────────── */
#mainNav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem 4.5rem;transition:all 0.5s;}
#mainNav.scrolled{background:rgba(22,20,18,0.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.1rem 4.5rem;border-bottom:0.5px solid var(--border);}
.logo{display:flex;align-items:center;gap:0.8rem;cursor:pointer;flex-shrink:0;text-decoration:none;}
.logo-mark{width:42px;height:42px;border:0.5px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.logo-mark::before{content:'';position:absolute;width:20px;height:20px;border:0.5px solid rgba(184,154,106,0.35);transform:rotate(45deg);}
.logo-mark span{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--gold);position:relative;z-index:1;}
.logo-text{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:0.13em;text-transform:uppercase;white-space:nowrap;}
.logo-core{color:var(--gold-light);}
.logo-exec{color:var(--ivory);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:0.82rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(250,248,244,0.55);text-decoration:none;transition:color 0.3s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-light);}
.nav-cta{font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);border:0.5px solid var(--gold);padding:0.65rem 1.4rem;background:transparent;cursor:pointer;transition:all 0.3s;white-space:nowrap;flex-shrink:0;}
.nav-cta:hover{background:var(--gold);color:var(--obsidian);}

/* ── PAGE SYSTEM ─────────────────────────── */
.page{display:none;}
.page.active{display:block;animation:pageIn 0.45s ease both;}
@keyframes pageIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* ── SHARED ──────────────────────────────── */
.section-label{font-size:0.82rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.35rem;display:flex;align-items:center;gap:0.75rem;}
.section-label::before{content:'';display:block;width:1.5rem;height:0.5px;background:var(--gold);}
.section-label.dk{color:#7A6B52;}.section-label.dk::before{background:#7A6B52;}
.btn-primary{font-family:var(--font-body);font-size:0.88rem;letter-spacing:0.18em;text-transform:uppercase;background:var(--gold);color:var(--obsidian);border:none;padding:1.1rem 2.4rem;cursor:pointer;transition:all 0.3s;font-weight:500;}
.btn-primary:hover{background:var(--gold-light);}
.btn-outline{font-family:var(--font-body);font-size:0.88rem;letter-spacing:0.16em;text-transform:uppercase;background:transparent;color:var(--ivory);border:0.5px solid rgba(250,248,244,0.3);padding:1.1rem 2.4rem;cursor:pointer;transition:all 0.3s;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.btn-dark{font-family:var(--font-body);font-size:0.88rem;letter-spacing:0.18em;text-transform:uppercase;background:var(--obsidian);color:var(--ivory);border:none;padding:1.1rem 2.4rem;cursor:pointer;transition:background 0.3s;font-weight:500;}
.btn-dark:hover{background:#0e0d0b;}
.fi:focus-visible,textarea.fi:focus-visible,.btn-primary:focus-visible,.btn-outline:focus-visible,.btn-dark:focus-visible,.nav-cta:focus-visible,.nav-links a:focus-visible,.flinks a:focus-visible,.drawer-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* Route-change focus lands on the page heading for screen readers (see main.js
   renderPage). It is not a real interactive control, so it should not draw the
   browser's default focus ring for sighted users. */
[tabindex="-1"]:focus{outline:none;}

/* ── CHAPTER PLATE ────────────────────────────
   Numbered section marker. The square-and-diamond repeats the logo mark's
   geometry at chapter scale. Add .lt to the row on sand backgrounds. */
.plate-row{display:flex;align-items:center;gap:1.6rem;margin-bottom:2.25rem;}
.plate{width:88px;height:88px;border:0.5px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.plate::before{content:'';position:absolute;width:44px;height:44px;border:0.5px solid rgba(184,154,106,0.35);transform:rotate(45deg);}
.plate-n{font-family:var(--font-display);font-size:2.4rem;font-weight:300;line-height:1;color:var(--gold);position:relative;z-index:1;letter-spacing:0.08em;margin-right:-0.08em;}
.plate-meta{min-width:0;}
.plate-lbl{font-size:0.82rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);}
.plate-sub{font-family:var(--font-display);font-size:1.1rem;font-weight:300;font-style:italic;color:var(--muted);margin-top:0.3rem;}
.plate-rule{flex:1;height:0.5px;min-width:1.5rem;background:linear-gradient(to right,var(--gold) 0%,rgba(184,154,106,0.1) 100%);}
.plate-row.lt .plate-n,.plate-row.lt .plate-lbl{color:#7A6B52;}
.plate-row.lt .plate-sub{color:#6B6358;}

/* ══════════════════════════════════════════
   HERO — complete, conflict-free layout
══════════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:700px;overflow:hidden;display:flex;flex-direction:column;}

/* Slideshow */
.hero-slides{position:absolute;inset:0;z-index:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(0.45) saturate(0.72);transform:scale(1.06);transition:transform 8s ease;}
.hero-slide.active img{transform:scale(1);}

/* Overlays */
.hero-gradient-left{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(26,25,22,0.92) 0%,rgba(26,25,22,0.65) 38%,rgba(26,25,22,0.15) 65%,transparent 100%);}
.hero-gradient-bottom{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(26,25,22,0.88) 0%,rgba(26,25,22,0.3) 35%,transparent 65%);}
.hero-vignette{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 70% 50%,transparent 40%,rgba(26,25,22,0.5) 100%);}
.hero-line-accent{position:absolute;left:0;top:90px;bottom:0;width:2px;z-index:2;background:linear-gradient(to bottom,transparent 0%,var(--gold) 25%,var(--gold) 75%,transparent 100%);opacity:0.35;}

/* Slide navigation dots — centred bottom, z-index above everything */
.hero-dots{position:absolute;bottom:2.25rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0.65rem;z-index:10;}
.hero-dot{-webkit-appearance:none;appearance:none;box-sizing:content-box;width:22px;height:2px;padding:11px 1px;border:none;background:rgba(250,248,244,0.25);background-clip:content-box;cursor:pointer;transition:all 0.4s;}
.hero-dot.active{background:var(--gold);width:38px;}
.hero-pause{position:relative;width:22px;height:22px;padding:0;background:transparent;border:none;color:rgba(250,248,244,0.5);font-size:0.8rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color 0.3s;}
.hero-pause::after{content:'';position:absolute;inset:-1px;}
.hero-pause:hover{color:var(--gold);}
.hero-pause::before{content:'❚❚';letter-spacing:1px;}
.hero-pause.is-paused::before{content:'▶';}

/* Slide caption — bottom-right, compact, subtle */
.hero-caption{position:absolute;bottom:5.5rem;right:4.5rem;z-index:8;text-align:right;}
.hero-caption-loc{font-size:0.68rem;letter-spacing:0.28em;text-transform:uppercase;color:rgba(212,185,138,0.55);margin-bottom:0.2rem;}
.hero-caption-name{font-family:var(--font-display);font-size:0.95rem;font-weight:300;font-style:italic;color:rgba(250,248,244,0.28);}

/* COREXECUTIVE Promise card — top-right, anchored below nav */
.hero-conviction{position:absolute;right:4.5rem;top:6.5rem;z-index:8;width:258px;animation:fadeUp 1.2s ease 0.9s both;}
.hc-inner{background:rgba(18,17,15,0.88);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:0.5px solid var(--border);padding:1.65rem;}
.hc-tag{font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:0.85rem;}
.hc-quote{font-family:var(--font-display);font-size:1.05rem;font-weight:300;font-style:italic;color:var(--ivory);line-height:1.5;margin-bottom:0.85rem;}
.hc-divider{width:1.5rem;height:0.5px;background:var(--border);margin-bottom:0.85rem;}
.hc-items{display:flex;flex-direction:column;gap:0.5rem;}
.hc-item{display:flex;align-items:center;gap:0.6rem;font-size:0.82rem;color:var(--muted);}
.hc-dot{width:3px;height:3px;background:var(--gold);border-radius:50%;flex-shrink:0;}

/* Main hero content — left column, bottom-anchored
   max-width keeps it clear of conviction card on right */
.hero-content{
  position:relative;z-index:5;flex:1;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 4.5rem 5.5rem;
  max-width:min(640px, calc(100% - 320px));
}
.hero-eyebrow{font-size:0.82rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;animation:fadeUp 1s ease 0.2s both;}
.hero-eyebrow::before{content:'';display:block;width:2.5rem;height:0.5px;background:var(--gold);}
.hero-title{font-family:var(--font-display);font-size:clamp(3.2rem,5.2vw,5.8rem);font-weight:300;line-height:1.02;color:var(--ivory);margin-bottom:2rem;animation:fadeUp 1s ease 0.35s both;}
.hero-title em{font-style:italic;color:var(--gold-light);}
.hero-title .line2{display:block;padding-left:2rem;}
.hero-pillars{display:flex;gap:0;margin-bottom:2.25rem;animation:fadeUp 1s ease 0.55s both;max-width:580px;}
.hero-pillar{padding:0.85rem 1.5rem;border-left:0.5px solid rgba(184,154,106,0.28);flex:1;min-width:0;}
.hero-pillar:first-child{padding-left:0;border-left:none;}
.hp-label{font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:0.4rem;}
.hp-value{font-family:var(--font-display);font-size:1.2rem;font-weight:300;font-style:italic;color:rgba(250,248,244,0.82);line-height:1.3;}
.hero-btns{display:flex;gap:1.25rem;align-items:center;animation:fadeUp 1s ease 0.7s both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* ── PHILOSOPHY STRIP ─────────────────────── */
.phil-strip{background:var(--sand);color:var(--obsidian);padding:6rem 4.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.phil-title{font-family:var(--font-display);font-size:clamp(2.4rem,3vw,3.6rem);font-weight:300;line-height:1.15;margin-bottom:1.75rem;}
.phil-title em{font-style:italic;color:#7A6B52;}
.phil-body{font-size:1.1rem;line-height:1.9;color:#4A4540;margin-bottom:1.25rem;}
.phil-img-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(74,69,60,0.12);}
.phil-img-cell{aspect-ratio:1;overflow:hidden;}
.phil-img-cell img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s;}
.phil-img-cell:hover img{transform:scale(1.04);}
.phil-stat-cell{background:var(--obsidian);display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;padding:1rem;}
.psc-num{font-family:var(--font-display);font-size:3rem;font-weight:300;line-height:1;color:var(--gold-light);}
.psc-lbl{font-size:0.82rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-top:0.4rem;text-align:center;}

/* ── OFFERINGS ────────────────────────────── */
.off-preview{background:var(--obsidian-soft);padding:6rem 4.5rem;}
.off-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;gap:2rem;flex-wrap:wrap;}
.off-h-title{font-family:var(--font-display);font-size:clamp(2.2rem,3vw,3.2rem);font-weight:300;color:var(--ivory);line-height:1.15;}
.off-h-title em{font-style:italic;color:var(--gold-light);}
.off-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border);}
.off-card{background:var(--obsidian-soft);overflow:hidden;position:relative;cursor:default;}
.oc-img{height:215px;overflow:hidden;position:relative;}
.oc-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.65) saturate(0.75);transition:transform 0.6s,filter 0.4s;}
.off-card:hover .oc-img img{transform:scale(1.04);filter:brightness(0.75) saturate(0.85);}
.oc-img-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--obsidian-soft) 0%,transparent 60%);}
.oc-body{padding:1.75rem 2rem 2.25rem;}
.off-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;z-index:2;}
.off-card:hover::before{transform:scaleX(1);}
.oc-num{font-family:var(--font-display);font-size:2.5rem;font-weight:300;color:rgba(184,154,106,0.24);line-height:1;margin-bottom:0.6rem;}
.oc-name{font-family:var(--font-display);font-size:1.45rem;font-weight:400;color:var(--ivory);margin-bottom:0.35rem;}
.oc-tag{font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:0.9rem;}
.oc-line{width:1.5rem;height:0.5px;background:var(--border);margin:0.75rem 0;}
.oc-desc{font-size:1.05rem;line-height:1.85;color:var(--muted);}
.oc-dur{font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(250,248,244,0.5);margin-top:1rem;}

/* ── DISCRETION ───────────────────────────── */
.disc-strip{background:var(--obsidian);padding:4.5rem 4.5rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);}
.disc-t{font-family:var(--font-display);font-size:clamp(1.7rem,2.5vw,2.6rem);font-weight:300;line-height:1.3;flex:1;min-width:280px;}
.disc-t em{font-style:italic;color:var(--gold-light);}
.disc-list{display:flex;flex-direction:column;gap:0.75rem;align-items:flex-end;flex-shrink:0;}
.disc-item{display:flex;align-items:center;gap:0.7rem;font-size:0.9rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.d-dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}

/* ── IMAGE DIVIDER ────────────────────────── */
.img-div{height:400px;position:relative;overflow:hidden;}
.img-div img{width:100%;height:100%;object-fit:cover;filter:brightness(0.5) saturate(0.7);}
.img-div-ov{position:absolute;inset:0;background:linear-gradient(to bottom,var(--obsidian) 0%,transparent 28%,transparent 72%,var(--obsidian) 100%);}
.img-div-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;padding:0 3rem;}
.idq{font-family:var(--font-display);font-size:clamp(1.7rem,2.5vw,2.8rem);font-weight:300;font-style:italic;color:var(--ivory);text-align:center;line-height:1.5;}
.ida{font-size:0.82rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-top:1.35rem;}

/* ── HOME CTA ─────────────────────────────── */
.home-cta{background:var(--sand-deep);color:var(--obsidian);padding:6.5rem 4.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.hcta-t{font-family:var(--font-display);font-size:clamp(2.4rem,3.5vw,4rem);font-weight:300;line-height:1.1;}
.hcta-t em{font-style:italic;color:#7A6B52;}
.hcta-b{font-size:1.08rem;line-height:1.9;color:#5A5248;margin-top:1.5rem;}
.fg{display:flex;flex-direction:column;gap:1.35rem;}
.fl{font-size:0.82rem;letter-spacing:0.22em;text-transform:uppercase;color:#6B6358;margin-bottom:0.35rem;display:block;}
.fi{width:100%;padding:1rem 0;background:transparent;border:none;border-bottom:0.5px solid rgba(74,69,60,0.3);font-family:var(--font-body);font-size:1.05rem;color:var(--obsidian);outline:none;transition:border-color 0.3s;}
.fi::placeholder{color:#6B6358;}
.fi:focus{border-bottom-color:var(--gold);}
textarea.fi{resize:vertical;line-height:1.6;font-family:var(--font-body);}
.fn{font-size:0.92rem;color:#6B6358;line-height:1.75;margin-top:0.35rem;}

/* ── INNER PAGE HEROES ────────────────────── */
.pg-hero{min-height:56vh;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:130px 4.5rem 5.5rem;overflow:hidden;}
.pg-hero-img{position:absolute;inset:0;}
.pg-hero-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.38) saturate(0.7);}
.pg-hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,25,22,0.95) 0%,rgba(26,25,22,0.35) 65%,transparent 100%);}
.pg-hero-content{position:relative;z-index:2;max-width:680px;}
.pht{font-family:var(--font-display);font-size:clamp(2.9rem,5vw,5.2rem);font-weight:300;line-height:1.05;}
.pht em{font-style:italic;color:var(--gold-light);}
.phs{font-size:1.08rem;line-height:1.9;color:rgba(250,248,244,0.52);max-width:480px;margin-top:1.5rem;}

/* ── ABOUT ────────────────────────────────── */
.about-manifesto{background:var(--sand);color:var(--obsidian);padding:6.5rem 4.5rem;display:grid;grid-template-columns:1fr 2fr;gap:5rem;}
.manifesto-text{font-family:var(--font-display);font-size:clamp(1.55rem,2.2vw,2.2rem);font-weight:300;line-height:1.7;}
.manifesto-text em{font-style:italic;color:#7A6B52;}
.about-img-band{display:grid;grid-template-columns:repeat(3,1fr);height:390px;gap:1.5px;background:var(--obsidian);}
.bc{overflow:hidden;position:relative;}
.bc img{width:100%;height:100%;object-fit:cover;filter:brightness(0.65) saturate(0.75);transition:transform 0.6s,filter 0.4s;}
.bc:hover img{transform:scale(1.04);filter:brightness(0.78) saturate(0.88);}
/* Scrim so the label holds against a bright frame, matching .oc-img-ov elsewhere. */
.bc::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,25,22,0.72) 0%,rgba(26,25,22,0.12) 42%,transparent 62%);pointer-events:none;}
.bc-lbl{position:absolute;z-index:2;bottom:1.35rem;left:1.5rem;font-size:0.82rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(212,185,138,0.75);}
.about-values{background:var(--sand-deep);padding:6rem 4.5rem;color:var(--obsidian);}
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem;margin-top:3rem;}
.vc{padding:2.25rem;background:var(--sand);border-top:1.5px solid var(--gold);}
.vc-n{font-family:var(--font-display);font-size:1.45rem;font-weight:400;color:var(--obsidian);margin-bottom:0.75rem;}
.vc-d{font-size:1.05rem;line-height:1.88;color:#5A5248;}
.about-sa{background:var(--obsidian);display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.sa-c{padding:5.5rem 4.5rem;display:flex;flex-direction:column;justify-content:center;}
.sa-t{font-family:var(--font-display);font-size:clamp(1.9rem,2.8vw,3.1rem);font-weight:300;line-height:1.2;margin-bottom:1.5rem;}
.sa-t em{font-style:italic;color:var(--gold-light);}
.sa-b{font-size:1.08rem;line-height:1.9;color:rgba(250,248,244,0.55);margin-bottom:1.25rem;}
.sa-img{position:relative;overflow:hidden;min-height:480px;}
.sa-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6) saturate(0.75);}
.sa-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--obsidian) 0%,transparent 30%);}

/* ── EXPERIENCES ──────────────────────────── */
.exp-intro{background:var(--sand);padding:5rem 4.5rem;color:var(--obsidian);}
.exp-intro-t{font-family:var(--font-display);font-size:clamp(1.6rem,2.2vw,2.4rem);font-weight:300;line-height:1.35;max-width:640px;}
.exp-intro-t em{font-style:italic;color:#7A6B52;}
.exp-tier{border-bottom:0.5px solid var(--border);}
.exp-tier:last-child{border-bottom:none;}
.exp-row{display:grid;grid-template-columns:1fr 1fr;}
.exp-info{padding:5rem 4.5rem;display:flex;flex-direction:column;justify-content:center;background:var(--obsidian-soft);}
.exp-vis{position:relative;overflow:hidden;min-height:460px;}
.exp-vis img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6) saturate(0.75);transition:transform 0.8s;}
.exp-tier:hover .exp-vis img{transform:scale(1.03);}
.exp-vis-ov{position:absolute;inset:0;background:linear-gradient(to right,var(--obsidian-soft) 0%,transparent 40%);}
.exp-vis-ov.r{background:linear-gradient(to left,var(--obsidian-soft) 0%,transparent 40%);}
.exp-nm{font-family:var(--font-display);font-size:clamp(1.9rem,2.5vw,2.9rem);font-weight:300;color:var(--ivory);margin-bottom:0.5rem;}
.exp-tr{font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(250,248,244,0.55);margin-bottom:1.25rem;}
.exp-dv{width:2rem;height:0.5px;background:var(--border);margin:1.35rem 0;}
.exp-dc{font-size:1.08rem;line-height:1.9;color:var(--muted);margin-bottom:1.5rem;}
.exp-il{font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(250,248,244,0.52);margin-bottom:0.75rem;margin-top:1rem;}
.exp-ii{font-size:1rem;color:var(--muted);padding:0.55rem 0;border-bottom:0.5px solid rgba(184,154,106,0.08);display:flex;align-items:center;gap:0.65rem;line-height:1.5;}
.exp-ii::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.exp-add{background:var(--sand);padding:5.5rem 4.5rem;color:var(--obsidian);}
.exp-add-t{font-family:var(--font-display);font-size:clamp(1.6rem,2vw,2.1rem);font-weight:300;margin-bottom:2.5rem;}
.ag{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(74,69,60,0.12);}
.ai{background:var(--sand);padding:1.85rem 1.6rem;}
.ai-n{font-family:var(--font-display);font-size:1.2rem;color:var(--obsidian);margin-bottom:0.6rem;}
.ai-d{font-size:1.02rem;line-height:1.8;color:#6B6358;}

/* ── PROCESS ──────────────────────────────── */
.process-intro{background:var(--sand-deep);padding:5rem 4.5rem;color:var(--obsidian);}
.pi-t{font-size:1.1rem;line-height:1.95;color:#4A4540;max-width:600px;}
.process-steps{background:var(--obsidian-soft);padding:5rem 4.5rem;}
.sf{display:grid;grid-template-columns:64px 1fr 1fr;gap:2.5rem;padding:3rem 0;border-bottom:0.5px solid rgba(184,154,106,0.1);align-items:start;}
.sf:last-child{border-bottom:none;}
.si{font-family:var(--font-display);font-size:3.6rem;font-weight:300;color:rgba(184,154,106,0.28);line-height:1;}
.sf-t{font-family:var(--font-display);font-size:1.7rem;font-weight:400;color:var(--ivory);margin-bottom:0.75rem;}
.sf-d{font-size:1.05rem;line-height:1.9;color:var(--muted);}
.sdi{font-size:0.95rem;color:rgba(250,248,244,0.58);padding:0.5rem 0;border-bottom:0.5px solid rgba(184,154,106,0.07);display:flex;align-items:center;gap:0.65rem;line-height:1.5;}
.sdi::before{content:'—';color:var(--gold);font-size:0.65rem;}
.conf-sec{background:var(--sand);color:var(--obsidian);padding:6rem 4.5rem;}
.ct{font-family:var(--font-display);font-size:clamp(1.9rem,2.5vw,2.9rem);font-weight:300;margin-bottom:3rem;line-height:1.25;}
.ct em{font-style:italic;color:#7A6B52;}
.cg{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.cc{padding:2.25rem;background:var(--sand-deep);}
.cc-t{font-family:var(--font-display);font-size:1.35rem;font-weight:400;color:var(--obsidian);margin-bottom:0.75rem;}
.cc-d{font-size:1.05rem;line-height:1.88;color:#5A5248;}

/* ── CONSULT ──────────────────────────────── */
.consult-body{background:var(--sand-deep);color:var(--obsidian);padding:6rem 4.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5.5rem;align-items:start;}
.ci-t{font-family:var(--font-display);font-size:clamp(1.7rem,2vw,2.3rem);font-weight:300;line-height:1.35;margin-bottom:1.5rem;}
.ci-t em{font-style:italic;color:#7A6B52;}
.ci-b{font-size:1.08rem;line-height:1.9;color:#5A5248;margin-bottom:1.5rem;}
.cp{display:flex;align-items:flex-start;gap:0.8rem;padding:0.8rem 0;border-bottom:0.5px solid rgba(74,69,60,0.13);}
.cpd{width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0;margin-top:0.5rem;}
.cpt{font-size:1rem;line-height:1.78;color:#5A5248;}
.cft{font-family:var(--font-display);font-size:1.75rem;font-weight:300;color:var(--obsidian);margin-bottom:0.5rem;}
.cfs{font-size:0.95rem;color:#6B6358;margin-bottom:1.25rem;line-height:1.7;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem;}
.cfn{font-size:0.92rem;color:#6B6358;line-height:1.78;margin-top:0.5rem;}
.ref-sec{background:var(--obsidian);padding:6rem 4.5rem;}
.rt{font-family:var(--font-display);font-size:clamp(1.6rem,2vw,2.1rem);font-weight:300;color:var(--ivory);margin-bottom:2.75rem;}
.rt em{font-style:italic;color:var(--gold-light);}
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border);}
.rc{background:var(--obsidian);padding:2.25rem 2rem;}
.rr{font-size:0.82rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem;}
.rd{font-size:1.05rem;line-height:1.85;color:var(--muted);}

/* ── SERVICES ─────────────────────────────── */
.svc-intro{background:var(--sand);color:var(--obsidian);padding:6rem 4.5rem;display:grid;grid-template-columns:1.05fr 0.95fr;gap:5rem;align-items:start;}
.svc-intro-t{font-family:var(--font-display);font-size:clamp(1.9rem,2.6vw,2.8rem);font-weight:300;line-height:1.25;margin-bottom:1.5rem;}
.svc-intro-t em{font-style:italic;color:#7A6B52;}
.svc-intro-b{font-size:1.08rem;line-height:1.9;color:#5A5248;}
.svc-jump{display:flex;flex-direction:column;gap:1px;background:rgba(74,69,60,0.14);border-top:1.5px solid var(--gold);}
.svc-jump-i{background:var(--sand);padding:2.1rem 2.25rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;text-decoration:none;transition:background 0.35s;}
.svc-jump-i:hover{background:var(--sand-deep);}
.svc-jump-i:focus-visible{outline:2px solid var(--gold);outline-offset:-4px;}
.svc-jump-n{font-family:var(--font-display);font-size:2rem;font-weight:300;color:rgba(122,107,82,0.45);line-height:1;letter-spacing:0.04em;}
.svc-jump-t{font-family:var(--font-display);font-size:1.38rem;font-weight:400;color:var(--obsidian);line-height:1.25;}
.svc-jump-s{font-size:0.76rem;letter-spacing:0.18em;text-transform:uppercase;color:#7A6B52;margin-top:0.4rem;}
.svc-jump-a{font-size:1.15rem;color:#7A6B52;transition:transform 0.35s;}
.svc-jump-i:hover .svc-jump-a{transform:translateX(5px);}

.svc-band{background:var(--obsidian);padding:6rem 4.5rem;}
.svc-band.lt{background:var(--sand);color:var(--obsidian);}
.svc-hd{margin-bottom:3.5rem;}
.svc-hd-t{font-family:var(--font-display);font-size:clamp(2.1rem,3.4vw,3.6rem);font-weight:300;line-height:1.12;margin-bottom:1.25rem;max-width:780px;}
.svc-hd-t em{font-style:italic;color:var(--gold-light);}
.svc-band.lt .svc-hd-t em{color:#7A6B52;}
.svc-hd-b{font-size:1.08rem;line-height:1.9;color:var(--muted);max-width:620px;}
.svc-band.lt .svc-hd-b{color:#5A5248;}

.svc-feat{display:grid;grid-template-columns:1fr 1fr;background:var(--obsidian-soft);border-top:1.5px solid var(--gold);margin-bottom:1.5px;}
.svc-feat-c{padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:center;}
.svc-feat-v{position:relative;overflow:hidden;min-height:360px;}
.svc-feat-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.6) saturate(0.75);transition:transform 0.8s;}
.svc-feat:hover .svc-feat-v img{transform:scale(1.03);}
.svc-feat-v::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--obsidian-soft) 0%,transparent 45%);}

.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border);}
.svc-c{background:var(--obsidian-soft);padding:2.25rem 2rem 2.5rem;position:relative;}
.svc-c::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.svc-c:hover::before{transform:scaleX(1);}
.svc-c-n{font-family:var(--font-display);font-size:2.3rem;font-weight:300;color:rgba(184,154,106,0.24);line-height:1;margin-bottom:0.45rem;}
.svc-c-t{font-family:var(--font-display);font-size:1.38rem;font-weight:400;color:var(--ivory);line-height:1.25;margin-bottom:0.75rem;}
.svc-c-l{width:1.5rem;height:0.5px;background:var(--border);margin-bottom:0.95rem;}
.svc-c-d{font-size:1.02rem;line-height:1.8;color:var(--muted);}
.svc-sub{margin-top:0.15rem;}
.svc-sub-i{font-size:0.98rem;color:var(--muted);padding:0.5rem 0;border-bottom:0.5px solid rgba(184,154,106,0.09);display:flex;align-items:center;gap:0.65rem;line-height:1.5;}
.svc-sub-i:last-child{border-bottom:none;}
.svc-sub-i::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.svc-note{background:var(--obsidian);display:flex;flex-direction:column;justify-content:center;padding:2.5rem 2rem;}
.svc-note-q{font-family:var(--font-display);font-size:1.3rem;font-weight:300;font-style:italic;color:var(--gold-light);line-height:1.5;}
.svc-note-l{width:1.5rem;height:0.5px;background:var(--border);margin:1.15rem 0;}
.svc-note-s{font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);line-height:1.8;}

.svc-evt{display:grid;grid-template-columns:96px 1fr;gap:2.5rem;padding:3rem 0;border-top:0.5px solid rgba(74,69,60,0.16);align-items:start;}
.svc-evt-n{font-family:var(--font-display);font-size:3.4rem;font-weight:300;color:rgba(122,107,82,0.3);line-height:0.9;}
.svc-evt-t{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--obsidian);margin-bottom:0.6rem;}
.svc-evt-d{font-size:1.06rem;line-height:1.9;color:#5A5248;max-width:660px;}
.svc-caps-l{font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:#7A6B52;margin-top:1.75rem;margin-bottom:0.35rem;}
.svc-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2.75rem;}
.svc-cap{font-size:0.98rem;color:#5A5248;padding:0.65rem 0;border-bottom:0.5px solid rgba(74,69,60,0.14);display:flex;align-items:center;gap:0.7rem;line-height:1.5;}
.svc-cap::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.svc-close{margin-top:3.5rem;padding-top:2.5rem;border-top:1.5px solid var(--gold);}
.svc-close-t{font-family:var(--font-display);font-size:clamp(1.5rem,2.2vw,2.15rem);font-weight:300;font-style:italic;line-height:1.5;color:var(--obsidian);max-width:840px;}

.svc-cta{background:var(--obsidian);padding:5.5rem 4.5rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;border-top:0.5px solid var(--border);}
.svc-cta-t{font-family:var(--font-display);font-size:clamp(1.8rem,2.6vw,2.7rem);font-weight:300;line-height:1.25;flex:1;min-width:300px;}
.svc-cta-t em{font-style:italic;color:var(--gold-light);}
.svc-cta-b{display:flex;gap:1.25rem;flex-wrap:wrap;}

/* Emeritus runs five service cells, not six — the note closes the row rather
   than leaving an empty grid cell. Single-column below 900px, so span resets. */
#page-emeritus .svc-note{grid-column:span 2;}
@media(max-width:900px){#page-emeritus .svc-note{grid-column:auto;}}

/* Four inclusions, not six: two columns so the last row is not a dangling cell. */
#page-emeritus .ag{grid-template-columns:repeat(2,1fr);}
@media(max-width:900px){#page-emeritus .ag{grid-template-columns:1fr;}}

/* ── FOOTER ───────────────────────────────── */
footer{background:var(--obsidian);border-top:0.5px solid var(--border);padding:2.5rem 4.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.fl-logo{display:flex;align-items:center;gap:0.7rem;flex:1;min-width:200px;}
.fl-mark{width:32px;height:32px;border:0.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.fl-mark span{font-family:var(--font-display);font-size:0.9rem;color:var(--gold);}
.fl-txt{font-family:var(--font-display);font-size:1.05rem;letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap;}
.fl-txt .logo-core{color:var(--gold-light);}
.fl-txt .logo-exec{color:rgba(250,248,244,0.5);}
.fc{font-size:0.88rem;letter-spacing:0.1em;color:var(--muted);text-align:center;line-height:1.85;flex:2;min-width:200px;}
.flinks{display:flex;flex-direction:column;align-items:flex-end;gap:0.7rem;flex:1;min-width:140px;}
.flinks a{font-size:0.85rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.3s;}
.flinks a:hover{color:var(--gold);}
@media(pointer:coarse){.flinks{gap:0.2rem;}.flinks a{padding:0.62rem 0;}}

/* ── JOURNEY — classic itinerary style ──────
   Fully self-contained: every rule is scoped under #page-journey and every
   custom property is declared on #page-journey itself (never :root), so
   none of this can leak into, or be affected by, the rest of the site. ── */
#page-journey{
  --cx-black:#0a0a0a;--cx-charcoal:#141414;--cx-panel:#191919;
  --cx-gold:#B89A6A;--cx-gold-light:#D4B98A;--cx-gold-dim:#816C4A;
  --cx-cream:#f3ead9;--cx-grey:#9a958c;--cx-hair:rgba(184,154,106,0.25);
  background:var(--cx-black);
  color:var(--cx-cream);
  font-family:var(--font-body);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
#page-journey .cx-doc{max-width:900px;margin:0 auto;background:linear-gradient(180deg,#0d0d0d 0%,#0a0a0a 100%);}

#page-journey .cx-hero{position:relative;padding:160px 50px 60px;text-align:center;background:radial-gradient(ellipse at top,rgba(201,162,75,0.10),transparent 60%),var(--cx-black);border-bottom:1px solid var(--cx-hair);}
#page-journey .cx-eyebrow{margin-top:26px;font-size:0.82rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--cx-gold);}
#page-journey .cx-hero-title{margin-top:18px;font-family:var(--font-display);font-weight:300;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15;color:var(--cx-cream);}
#page-journey .cx-hero-title em{font-style:italic;color:var(--cx-gold-light);}
#page-journey .cx-hero-sub{margin:16px auto 0;max-width:560px;font-size:1.05rem;line-height:1.85;color:var(--cx-grey);}

#page-journey .cx-section{padding:46px 50px;border-bottom:1px solid var(--cx-hair);}
#page-journey .cx-section:last-of-type{border-bottom:none;}
#page-journey .cx-section-label{font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--cx-gold);margin-bottom:6px;}
#page-journey .cx-section-title{font-family:var(--font-display);font-size:clamp(1.6rem,2.2vw,2.1rem);font-weight:300;color:var(--cx-cream);margin-bottom:26px;display:flex;align-items:center;gap:16px;}
#page-journey .cx-section-title::after{content:'';flex:1;height:1px;background:var(--cx-hair);}

#page-journey .cx-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--cx-hair);border:1px solid var(--cx-hair);}
#page-journey .cx-summary div{background:var(--cx-charcoal);padding:20px 22px;}
#page-journey .cx-k{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--cx-gold-dim);margin-bottom:6px;}
#page-journey .cx-v{font-family:var(--font-display);font-size:1.05rem;color:var(--cx-cream);}

#page-journey .cx-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
#page-journey .cx-opt-card{background:var(--cx-panel);border:1px solid var(--cx-hair);padding:26px 24px;position:relative;}
#page-journey .cx-tag{position:absolute;top:-11px;left:24px;background:var(--cx-gold);color:#0a0a0a;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;padding:4px 12px;font-weight:500;}
#page-journey .cx-opt-card h3{font-family:var(--font-display);font-weight:400;color:var(--cx-gold-light);font-size:1.2rem;margin:10px 0 12px;}
#page-journey .cx-meta{font-size:0.78rem;color:var(--cx-grey);letter-spacing:0.16em;margin-bottom:14px;text-transform:uppercase;}
#page-journey .cx-opt-card p{font-size:1rem;color:var(--cx-cream);opacity:0.9;}

#page-journey .cx-timeline{position:relative;padding-left:108px;}
#page-journey .cx-timeline::before{content:'';position:absolute;left:71px;top:6px;bottom:6px;width:1px;background:var(--cx-hair);}
#page-journey .cx-t-item{position:relative;margin-bottom:26px;}
#page-journey .cx-t-item:last-child{margin-bottom:0;}
#page-journey .cx-t-time{position:absolute;left:-108px;top:2px;width:48px;text-align:right;font-family:var(--font-display);color:var(--cx-gold-light);font-size:0.85rem;}
#page-journey .cx-t-dot{position:absolute;left:-38px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--cx-gold);box-shadow:0 0 0 4px var(--cx-black),0 0 0 5px var(--cx-hair);}
#page-journey .cx-t-body h4{font-size:1rem;color:var(--cx-cream);font-weight:500;letter-spacing:0.3px;margin-bottom:4px;}
#page-journey .cx-t-body p{font-size:0.95rem;color:var(--cx-grey);}

#page-journey .cx-day-block{margin-bottom:44px;}
#page-journey .cx-day-block:last-child{margin-bottom:0;}
#page-journey .cx-day-header{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;}
#page-journey .cx-day-num{font-family:var(--font-display);color:var(--cx-gold);font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;border:1px solid var(--cx-gold-dim);padding:5px 12px;}
#page-journey .cx-day-title{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--cx-cream);}

#page-journey .cx-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#page-journey .cx-menu-item{background:var(--cx-panel);border-left:2px solid var(--cx-gold);padding:14px 18px;}
#page-journey .cx-menu-item h5{font-size:0.85rem;font-weight:500;color:var(--cx-gold-light);text-transform:uppercase;letter-spacing:0.14em;margin-bottom:4px;}
#page-journey .cx-menu-item p{font-size:0.92rem;color:var(--cx-grey);}

#page-journey .cx-note{margin-top:22px;border:1px solid var(--cx-hair);background:var(--cx-panel);padding:20px 24px;font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--cx-cream);text-align:center;}
#page-journey .cx-note strong{color:var(--cx-gold-light);font-style:normal;}

#page-journey .cx-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;}
#page-journey .cx-inclusions li{list-style:none;font-size:1rem;color:var(--cx-cream);padding-left:22px;position:relative;}
#page-journey .cx-inclusions li::before{content:'—';position:absolute;left:0;color:var(--cx-gold);}

#page-journey .cx-cta{padding:50px 50px 56px;text-align:center;}
#page-journey .cx-cta h2{font-family:var(--font-display);font-size:clamp(1.8rem,2.6vw,2.7rem);font-weight:300;color:var(--cx-cream);margin-bottom:8px;}
#page-journey .cx-cta h2 em{font-style:italic;color:var(--cx-gold-light);}
#page-journey .cx-cta p{font-size:1rem;color:var(--cx-grey);margin-bottom:26px;}
#page-journey .cx-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
#page-journey .cx-btn-primary{font-family:var(--font-body);font-size:0.88rem;letter-spacing:0.18em;text-transform:uppercase;background:var(--cx-gold);color:#0a0a0a;border:none;padding:15px 30px;cursor:pointer;font-weight:500;transition:background .3s;}
#page-journey .cx-btn-primary:hover{background:var(--cx-gold-light);}
#page-journey .cx-btn-outline{font-family:var(--font-body);font-size:0.88rem;letter-spacing:0.18em;text-transform:uppercase;background:transparent;color:var(--cx-cream);border:1px solid var(--cx-hair);padding:15px 30px;cursor:pointer;transition:all .3s;}
#page-journey .cx-btn-outline:hover{border-color:var(--cx-gold);color:var(--cx-gold);}

#page-journey .cx-footer{text-align:center;padding:46px 50px 44px;border-top:1px solid var(--cx-hair);}
#page-journey .cx-footer p{font-size:11.5px;color:var(--cx-grey);letter-spacing:1px;}
#page-journey .cx-disclaimer{margin:18px auto 0;max-width:520px;font-size:10.5px;color:#5c584f;letter-spacing:0.5px;}

/* ═══════════════════════════════════════════
   MOBILE ≤900px
═══════════════════════════════════════════ */
@media(max-width:900px){
  #mainNav,#mainNav.scrolled{padding:0.9rem 1.2rem;gap:0.5rem;}
  .logo-text{font-size:1.1rem;}
  .logo-mark{width:34px;height:34px;}
  .logo-mark span{font-size:0.85rem;}
  .nav-cta{font-size:0.7rem;padding:0.5rem 0.85rem;letter-spacing:0.13em;}
  .nav-links{display:none;}

  /* Hero — full screen, no overflow */
  .hero{height:auto;min-height:100vh;min-height:100svh;}
  .hero-content{
    padding:0 1.35rem 6rem;
    max-width:100%;
  }
  .hero-title{font-size:clamp(2.5rem,9vw,3.5rem);margin-bottom:1.5rem;}
  .hero-title .line2{padding-left:0.75rem;}
  .hero-eyebrow{font-size:0.72rem;margin-bottom:1.25rem;}
  .hero-pillars{flex-direction:column;max-width:100%;margin-bottom:1.75rem;gap:0;}
  .hero-pillar{padding:0.7rem 0;border-left:none;border-top:0.5px solid rgba(184,154,106,0.22);flex:none;}
  .hero-pillar:first-child{border-top:none;padding-top:0;}
  .hp-label{font-size:0.68rem;}
  .hp-value{font-size:1.05rem;}
  .hero-conviction{display:none;}
  .hero-caption{display:none;}
  .hero-dots{bottom:1.75rem;left:50%;transform:translateX(-50%);}
  .hero-line-accent{display:none;}

  /* Global section padding */
  .phil-strip,.off-preview,.home-cta,.about-manifesto,
  .about-values,.exp-intro,.exp-add,.process-intro,
  .process-steps,.conf-sec,.consult-body,.ref-sec,
  .disc-strip,.exp-info,.sa-c,.exp-add,.process-intro,
  .process-steps,.ref-sec{
    padding-left:1.35rem;padding-right:1.35rem;
  }
  .pg-hero{padding:100px 1.35rem 3.5rem;}
  footer{flex-direction:column;align-items:flex-start;padding:1.75rem 1.35rem;gap:1.25rem;}
  .fc{text-align:left;flex:none;}
  .flinks{align-items:flex-start;gap:0.9rem;}

  /* Stacked grids */
  .phil-strip{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem;gap:2.5rem;}
  .off-grid,.vg,.cg,.ag,.rg{grid-template-columns:1fr;}

  /* Journey — classic itinerary style, mobile */
  #page-journey .cx-hero{padding:120px 24px 40px;}
  #page-journey .cx-section{padding:34px 22px;}
  #page-journey .cx-options,#page-journey .cx-menu-grid,#page-journey .cx-inclusions,#page-journey .cx-summary{grid-template-columns:1fr;}
  #page-journey .cx-timeline{padding-left:86px;}
  #page-journey .cx-t-time{left:-86px;width:42px;font-size:0.75rem;}
  #page-journey .cx-t-dot{left:-30px;}
  #page-journey .cx-timeline::before{left:60px;}
  #page-journey .cx-cta{padding:40px 22px 46px;}
  #page-journey .cx-footer{padding:36px 22px 34px;}

  .off-header{flex-direction:column;align-items:flex-start;gap:1rem;}
  .off-grid{gap:0;background:transparent;}
  .off-card{border-bottom:0.5px solid var(--border);}
  .oc-img{height:190px;}
  .disc-strip{flex-direction:column;align-items:flex-start;gap:1.75rem;padding-top:3rem;padding-bottom:3rem;}
  .disc-list{align-items:flex-start;width:100%;}
  .home-cta{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem;gap:2.5rem;}
  .img-div{height:230px;}
  .idq{font-size:clamp(1.1rem,4.5vw,1.6rem);padding:0 1.25rem;}
  .about-manifesto{grid-template-columns:1fr;gap:1.5rem;padding-top:3.5rem;padding-bottom:3.5rem;}
  .about-img-band{grid-template-columns:1fr;height:auto;}
  .bc{height:210px;}
  .about-values{padding-top:3.5rem;padding-bottom:3.5rem;}
  .about-sa{grid-template-columns:1fr;}
  .sa-c{padding:3rem 1.35rem;}
  .sa-img{min-height:260px;}
  .sa-img::after{background:linear-gradient(to bottom,rgba(26,25,22,0.55) 0%,transparent 100%);}
  .exp-intro{padding-top:3rem;padding-bottom:3rem;}
  .exp-row{grid-template-columns:1fr;}
  .exp-vis{min-height:230px;order:2;}
  .exp-info{order:1;padding:2.75rem 1.35rem;}
  .exp-vis-ov,.exp-vis-ov.r{background:linear-gradient(to bottom,rgba(34,32,24,0.65) 0%,transparent 60%);}
  .exp-add{padding-top:3.5rem;padding-bottom:3.5rem;}
  .process-intro{padding-top:3.5rem;padding-bottom:3.5rem;}
  .process-steps{padding-top:3rem;padding-bottom:3rem;}
  .sf{grid-template-columns:48px 1fr;gap:1rem;}
  .sf>div:last-child{grid-column:1/-1;padding-left:48px;}
  .si{font-size:2.8rem;}
  .conf-sec{padding-top:3.5rem;padding-bottom:3.5rem;}
  .consult-body{grid-template-columns:1fr;gap:2.5rem;padding-top:3.5rem;padding-bottom:3.5rem;}
  .fr{grid-template-columns:1fr;}
  .ref-sec{padding-top:3.5rem;padding-bottom:3.5rem;}
  .pht{font-size:clamp(2.2rem,8vw,3.2rem);}
  .phs{max-width:100%;}
}

/* ═══════════════════════════════════════════
   TABLET 901–1100px
═══════════════════════════════════════════ */
@media(min-width:901px) and (max-width:1100px){
  #mainNav,#mainNav.scrolled{padding-left:2.5rem;padding-right:2.5rem;}
  .nav-links{gap:0.8rem;}
  .nav-links a{font-size:0.64rem;letter-spacing:0.07em;}
  .logo-text{font-size:1.15rem;}
  .phil-strip,.off-preview,.home-cta,.about-manifesto,
  .about-values,.exp-intro,.exp-add,.process-intro,.process-steps,
  .conf-sec,.consult-body,.ref-sec,.disc-strip,.pg-hero,footer,
  .exp-info,.sa-c{
    padding-left:2.75rem;padding-right:2.75rem;
  }
  .hero-content{padding-left:2.75rem;padding-right:2.75rem;max-width:min(580px,calc(100% - 290px));}
  .hero-conviction{right:2.75rem;top:6.5rem;width:240px;}
  .hero-caption{right:2.75rem;}
  .hero-dots{right:2.75rem;}
}

/* Eight nav links no longer fit at full size until ~1400px, so step the nav
   typography down through the middle widths (the 901-1100 block above handles
   the tightest band). */
@media(min-width:1101px) and (max-width:1400px){
  #mainNav,#mainNav.scrolled{padding-left:3rem;padding-right:3rem;}
  .nav-links{gap:1.25rem;}
  .nav-links a{font-size:0.72rem;letter-spacing:0.1em;}
  .logo-text{font-size:1.3rem;}
}

/* Logo + eight nav links + the CTA need ~1580px (was seven links/~1460px
   before the Emeritus link was added). Below that the CTA button is pushed
   off-screen, so drop it — "Consult" in the links covers the same action.
   (Hamburger takes over below 901px, so this band is 901–1580px.) */
@media(min-width:901px) and (max-width:1580px){
  .nav-cta{display:none;}
}


/* ══════════════════════════════════════════════
   HAMBURGER BUTTON
══════════════════════════════════════════════ */
.hamburger{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;
  gap:5px;
  width:40px;height:40px;
  background:transparent;border:0.5px solid var(--border);
  cursor:pointer;padding:0;flex-shrink:0;
}
.hamburger span{
  display:block;width:20px;height:1.5px;
  background:var(--ivory);
  transition:all 0.3s ease;
  transform-origin:center;
}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ══════════════════════════════════════════════
   MOBILE DRAWER
══════════════════════════════════════════════ */
.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(320px,90vw);
  background:var(--obsidian-soft);
  z-index:500;
  transform:translateX(100%);
  visibility:hidden;
  transition:transform 0.38s cubic-bezier(0.4,0,0.2,1),visibility 0s linear 0.38s;
  display:flex;flex-direction:column;
  border-left:0.5px solid var(--border);
}
.mobile-drawer.open{transform:translateX(0);visibility:visible;transition:transform 0.38s cubic-bezier(0.4,0,0.2,1);}
.drawer-inner{
  display:flex;flex-direction:column;
  height:100%;padding:0;overflow-y:auto;
}
.drawer-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.5rem;
  border-bottom:0.5px solid var(--border);
  flex-shrink:0;
}
.drawer-close{
  background:transparent;border:none;
  color:rgba(250,248,244,0.5);
  font-size:1.1rem;cursor:pointer;
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  transition:color 0.2s;
}
.drawer-close:hover{color:var(--ivory);}
.drawer-nav{
  display:flex;flex-direction:column;
  padding:1.5rem 0;flex:1;
}
.drawer-link{
  font-size:1.05rem;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(250,248,244,0.65);
  text-decoration:none;
  padding:1.1rem 1.5rem;
  border-bottom:0.5px solid rgba(184,154,106,0.1);
  transition:all 0.2s;
  display:block;
  font-family:var(--font-body);
}
.drawer-link:last-child{border-bottom:none;}
.drawer-link:hover,.drawer-link.active-link{
  color:var(--gold-light);
  background:rgba(184,154,106,0.06);
  padding-left:2rem;
}
.drawer-footer{
  padding:1.75rem 1.5rem;
  border-top:0.5px solid var(--border);
  flex-shrink:0;display:flex;flex-direction:column;gap:1rem;
}
.drawer-tagline{
  font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted);text-align:center;line-height:1.7;
}
.drawer-overlay{
  position:fixed;inset:0;
  background:rgba(26,25,22,0);
  z-index:499;
  pointer-events:none;
  transition:background 0.38s;
}
.drawer-overlay.open{
  background:rgba(26,25,22,0.72);
  pointer-events:all;
}

/* Show hamburger on mobile, hide nav-cta and nav-links */
@media(max-width:900px){
  .hamburger{display:flex;}
  .nav-cta{display:none;}
}

/* ══════════════════════════════════════════════
   CHAPTER PLATE + SERVICES — RESPONSIVE
══════════════════════════════════════════════ */
@media(min-width:901px) and (max-width:1100px){
  .svc-intro,.svc-cta{padding-left:2.75rem;padding-right:2.75rem;}
  .svc-band{padding-left:2.75rem;padding-right:2.75rem;}
  .svc-intro{gap:3rem;}
  .svc-feat-c{padding:2.75rem 2rem;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .svc-caps{grid-template-columns:repeat(2,1fr);gap:0 2rem;}
  .svc-evt{grid-template-columns:72px 1fr;gap:1.75rem;}
}
@media(max-width:900px){
  .svc-intro{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 1.35rem;}
  .svc-jump-i{padding:1.5rem 1.35rem;gap:1.1rem;}
  .svc-band{padding:3.5rem 1.35rem;}
  .svc-hd{margin-bottom:2.25rem;}
  .plate-row{gap:1.1rem;margin-bottom:1.75rem;}
  .plate{width:66px;height:66px;}
  .plate::before{width:33px;height:33px;}
  .plate-n{font-size:1.8rem;}
  .plate-lbl{font-size:0.72rem;letter-spacing:0.22em;}
  .plate-sub{font-size:0.98rem;}
  .svc-feat{grid-template-columns:1fr;}
  .svc-feat-v{order:-1;min-height:220px;}
  .svc-feat-v::after{background:linear-gradient(to bottom,rgba(34,32,24,0.6) 0%,transparent 60%);}
  .svc-feat-c{padding:2.5rem 1.5rem;}
  .svc-grid{grid-template-columns:1fr;gap:0;background:transparent;}
  .svc-c,.svc-note{border-bottom:0.5px solid var(--border);}
  .svc-evt{grid-template-columns:52px 1fr;gap:1.1rem;padding:2.25rem 0;}
  .svc-evt-n{font-size:2.4rem;}
  .svc-caps{grid-template-columns:1fr;gap:0;}
  .svc-close{margin-top:2.5rem;}
  .svc-cta{padding:3.5rem 1.35rem;flex-direction:column;align-items:flex-start;gap:2rem;}
}

/* ══════════════════════════════════════════════
   REDUCED MOTION
══════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .page.active{animation:none;}
  .hero-pillars,.hero-title,.hero-eyebrow,.hero-btns,.hero-conviction{animation:none;}
  .hero-slide img,.hero-slide.active img{transform:none;transition:none;}
  .bc img,.bc:hover img,.oc-img img,.off-card:hover .oc-img img,
  .exp-vis img,.exp-tier:hover .exp-vis img,.svc-feat-v img,.svc-feat:hover .svc-feat-v img,
  .phil-img-cell img,.phil-img-cell:hover img{transform:none;transition:none;}
  .svc-c::before,.svc-c:hover::before,.off-card::before,.off-card:hover::before{transition:none;}
}