:root{
  --ink:#171411; --charcoal:#2B2622; --soft-charcoal:#4A443C;
  --brass:#A8794B; --brass-600:#8E6238; --sand:#C39F77; --ivory:#F6F1EA; --ivory-dim:#EFE7DB;
  --bone:#B9AFA2; --white:#FFFFFF; --badge-green:#4F6B51; --badge-green-700:#3E5540; --badge-green-300:#7FA383; --special-link:#9FBFA3;
  --serif:'Lora',Georgia,serif; --sans:'Poppins',sans-serif;
  --check-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.2 3.2L13 4.5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  --chev-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 4.5l3.5 3.5 3.5-3.5' fill='none' stroke='%23F6F1EA' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
body > nav{position:sticky; top:0; z-index:60; background:rgba(23,20,17,.97); backdrop-filter:blur(6px); border-bottom:1px solid rgba(255,255,255,.08); transition:transform .28s ease;}
nav.crumbs{position:static; z-index:auto; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:none; transition:none;}
/* ---- utility page-hero (shell) ---- */
.page-hero{background:var(--ivory-dim); text-align:center; padding:74px 0 64px; border-bottom:1px solid var(--bone);}
.page-hero .ph-eyebrow{font-family:var(--sans); font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--brass); font-weight:600; margin-bottom:18px;}
.page-hero h1{font-family:var(--serif); font-size:clamp(32px,5vw,50px); color:var(--ink); line-height:1.12; margin:0 0 16px; font-weight:500;}
.page-hero .ph-lead{font-size:15px; color:var(--soft-charcoal); max-width:660px; margin:0 auto; line-height:1.62;}
.page-hero .ph-lead b{color:var(--ink); font-weight:600;}
/* consultant strip (carried from the reserve component) */
.consent{display:flex; align-items:flex-start; gap:10px; font-size:12.5px; color:var(--soft-charcoal); margin-top:18px; line-height:1.55;}
.consultant{display:flex; gap:22px; align-items:center; background:var(--white); border:1px solid var(--bone); border-radius:8px; padding:22px 28px; margin:0 auto 30px; max-width:760px; box-shadow:0 1px 3px rgba(23,20,17,.05);}
.con-avatar{flex:0 0 auto; width:60px; height:60px; border-radius:50%; background:var(--ivory-dim); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.con-name{font-family:var(--serif); font-size:19px; color:var(--ink); line-height:1.2;}
.con-role{font-family:var(--sans); font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--brass); font-weight:600; margin:4px 0 8px;}
.con-promise{font-size:13px; color:var(--soft-charcoal); margin:0; line-height:1.5;}
.consultant{flex-direction:column; text-align:center; gap:14px;}
.enq{padding:66px 0 92px;}
.consultant{flex-direction:column; text-align:center; gap:14px; margin-left:auto; margin-right:auto;}
.con-faces{display:flex; justify-content:center; padding-left:14px;}
.con-faces img{width:72px; height:72px; border-radius:50%; object-fit:cover; border:3px solid var(--white); box-shadow:0 1px 4px rgba(23,20,17,.18); margin-left:-14px; background:var(--ivory-dim);}
@media(max-width:480px){ .con-faces img{width:56px; height:56px; margin-left:-12px;} }

/* date mode: only the inputs that apply are shown (the .fields grid must not override [hidden]) */
.eq-exact[hidden], .eq-idea[hidden], .eq-unsure[hidden]{display:none !important;}
/* guest boxes: title, description, then the selector, so the text no longer runs down the side */
.ctr{flex-direction:column; align-items:flex-start; gap:10px;}
.ctr .lab small{margin-top:3px;}
.ctr .ctl{margin-top:2px;}

/* budget step: currency beside the per-person chips; level of travel only when there is no budget yet */
.eq-budget-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.eq-budget-row .eq-cur{margin:0;}
.eq-level[hidden], .eq-length-wrap[hidden]{display:none !important;}
.eq-level{margin-top:14px;}

.eq-next:disabled{opacity:.45; cursor:not-allowed;}

/* Riaan, 17 Sep 2026: the first question must sit above the fold; the hero is a band, not a page */
.page-hero.compact{padding:48px 0 26px; border-bottom:0; background:var(--ivory);}   /* one surface from the heading to the form, no rule (Riaan, 17 Sep 2026) */
.page-hero.compact .ph-eyebrow{margin-bottom:8px;}
.page-hero.compact h1{font-size:clamp(30px,4vw,42px); margin:0 0 12px;}
.page-hero.compact .ph-lead{font-size:15px; max-width:700px;}
.page-enquire .enq{padding-top:0;}
.page-enquire .consultant{margin-bottom:16px;}

.consultant-after{margin-top:28px; margin-bottom:0;}

/* "Start here" cue between the hero and the first question (Riaan, 17 Sep 2026) */
.start-here{display:flex; flex-direction:column; align-items:center; gap:2px; margin:0 auto 10px; color:var(--brass);}
.start-here .sh-label{font-family:var(--sans); font-size:11px; letter-spacing:3px; text-transform:uppercase; font-weight:600;}
.start-here .sh-arrow{width:22px; height:22px; animation:sh-nudge 1.8s ease-in-out infinite;}
@keyframes sh-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion: reduce){.start-here .sh-arrow{animation:none;}}
.page-enquire .eq-panel.on h3{font-size:26px;}
.page-hero .ph-points{list-style:none; margin:0 auto; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px; font-family:var(--sans); font-size:14px; color:var(--soft-charcoal); font-weight:500;}
.page-hero .ph-points li{display:inline-flex; align-items:center; gap:9px;}
.page-hero .ph-points li::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--brass); flex:none;}

/* focused enquiry chrome */
nav.nav-focus .wrap{justify-content:space-between;}
.nav-focus-note{font-family:var(--sans); font-size:12.5px; letter-spacing:.3px; color:var(--bone);}
.nav-focus-note b{color:var(--white); font-weight:600;}
@media (max-width:640px){.nav-focus-note{display:none;}}
.foot-focus{background:var(--charcoal); padding:0;}
.foot-focus .foot-bottom{border-top:0; padding:22px 0;}

/* the specialists appear once, on the contact step, above the fields (Riaan, 17 Sep 2026) */
.eq-team{display:flex; align-items:center; gap:18px; margin:6px 0 20px; padding:14px 16px; background:var(--ivory); border:1px solid var(--bone); border-radius:10px;}
.eq-faces{display:flex; flex:none;}
.eq-faces img{width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid var(--white); margin-left:-10px; box-shadow:0 1px 3px rgba(23,20,17,.15);}
.eq-faces img:first-child{margin-left:0;}
.eq-team p{margin:0; font-size:13.5px; line-height:1.55; color:var(--soft-charcoal);}
@media (max-width:560px){.eq-team{flex-direction:column; align-items:flex-start; gap:10px;}}
