/* fork A: nav dropdowns, footer meta, about / booking terms / contact / 404 */

/* ---------- nav ---------- */
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px}
.nav-list li{margin:0}
.nav-group,.nav-single{position:relative}
.nav-top{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 12px;background:transparent;border:0;border-radius:999px;color:var(--cream);font:500 15px var(--sans);text-decoration:none;cursor:pointer}
.hnav a.nav-top{color:var(--cream)}
.nav-top:hover,.hnav a.nav-top:hover,.nav-group.open>.nav-top,.nav-group.is-current>.nav-top,.hnav a.nav-top[aria-current=page]{color:var(--brass)}
.nav-group.is-current>.nav-top{text-decoration:underline;text-underline-offset:7px}
.chev{transition:transform .2s}
.nav-group.open .chev{transform:rotate(180deg)}
.dd{list-style:none;margin:0;padding:10px;display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:236px;background:var(--forest-deep);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px rgba(0,0,0,.35);z-index:60}
.dd::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;color:var(--cream);text-decoration:none;font-size:15px;font-weight:500}
.hnav .dd a{color:var(--cream)}
.dd a:hover,.dd a:focus-visible{background:var(--forest-2);color:var(--brass)}
.dd a[aria-current=page]{color:var(--brass);text-decoration:none;background:var(--forest-2)}
@media (min-width:761px){
  .hnav{gap:18px}
  .nav-group:hover>.dd,.nav-group.open>.dd{display:block}
  .nav-group:hover .chev{transform:rotate(180deg)}
}
@media (max-width:760px){
  .hnav{max-height:calc(100vh - var(--hdr));overflow-y:auto;padding-bottom:28px}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-top{width:100%;justify-content:space-between;padding:0;min-height:56px;border-radius:0;border-bottom:1px solid var(--line);font-size:18px}
  .hnav a.nav-top{padding:0;border-bottom:1px solid var(--line)}
  .dd{position:static;box-shadow:none;border:0;border-radius:0;background:transparent;padding:4px 0 10px 14px;min-width:0}
  .dd::before{display:none}
  .nav-group.open>.dd{display:block}
  .hnav .dd a{padding:0 12px;min-height:46px;border-bottom:0;font-size:16px;color:var(--muted)}
  .hnav .dd a[aria-current=page]{color:var(--brass)}
}

/* ---------- footer ---------- */
.foot-meta{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.foot-meta a{color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.foot-meta a:hover{color:var(--brass)}
.cta-close p a{color:var(--cream);font-weight:600}
@media (max-width:760px){.foot-meta{flex-direction:column;align-items:flex-start;gap:2px}}

/* ---------- shared page bits ---------- */
.pg{max-width:1200px;margin:0 auto;padding:96px var(--gut) 80px}
.pg-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:56px;align-items:center}
.pg-h1{font:400 64px/1.04 var(--serif);letter-spacing:-1px;margin:14px 0 18px}
.pg-h2{font:400 46px/1.08 var(--serif);letter-spacing:-.4px;margin:12px 0 18px}
.pg-lede{margin:0 0 18px;color:var(--muted);font-size:18px;max-width:62ch}
.pg-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hlink{color:var(--cream);font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:6px;min-height:44px;display:inline-flex;align-items:center}
.on-light .hlink{color:var(--forest)}
.ph{width:100%;object-fit:cover;border-radius:22px;max-width:100%}
.ph-tall{height:520px}
.ph-mid{height:360px}
.band-deep{background:var(--forest-2);padding:88px var(--gut)}
.band-deep .wrap,.band-cream .wrap{max-width:1200px}

/* about */
.story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:start}
.story p{margin:0 0 20px;font-size:18px;line-height:1.75;max-width:62ch}
.story .dropcap::first-letter{font:500 76px/.8 var(--serif);float:left;margin:8px 10px 0 0;color:var(--olive)}
.story-photos{display:grid;gap:18px;position:sticky;top:calc(var(--hdr) + 24px)}
.name-quote{text-align:center;max-width:900px;margin:0 auto}
.name-quote .word{font:400 clamp(56px,9vw,120px)/1 var(--serif);letter-spacing:2px;color:var(--brass)}
.name-quote p{font:italic 400 30px/1.35 var(--serif);margin:18px 0 0;color:var(--cream)}
.name-quote small{display:block;margin-top:14px;font:500 14px var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.facts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.fact{border-top:1px solid var(--line);padding-top:16px}
.fact b{display:block;font:400 44px/1 var(--serif);color:var(--brass)}
.fact span{font-size:15px;color:var(--muted)}

/* steps */
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.steps4 li{background:rgba(15,42,31,.9);border-radius:18px;padding:26px}
.steps4 .n{font:300 48px/1 var(--serif);color:var(--brass)}
.steps4 h3{font:500 23px var(--serif);margin:10px 0 6px}
.steps4 p{margin:0;font-size:15px;color:var(--muted)}

/* terms table */
.tt{width:100%;border-collapse:collapse}
.tt th,.tt td{padding:16px 0;border-bottom:1px solid #cfc8b8;text-align:left;vertical-align:top;font-size:16px}
.tt th{font-weight:700;width:38%;padding-right:18px}
.tt-wrap{overflow-x:auto}

/* faq */
.faq{border-bottom:1px solid rgba(243,238,227,.2)}
.faq details{border-top:1px solid rgba(243,238,227,.2)}
.faq summary{list-style:none;cursor:pointer;min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;font:500 22px/1.3 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 26px var(--sans);color:var(--brass);flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 20px;font-size:16px;color:var(--muted);max-width:62ch}

/* booking bar band */
.book-band{max-width:1200px;margin:0 auto 96px;background:var(--forest-2);border-radius:28px;padding:44px 48px;display:grid;gap:18px}
.book-band h2{font:400 38px/1.1 var(--serif);margin:0}
.book-band .note{margin:0;color:var(--muted);font-size:15px}

/* contact */
.cf-form{background:var(--forest-2);border-radius:22px;padding:34px;display:flex;flex-direction:column;gap:14px}
.cf{display:flex;flex-direction:column;gap:6px;min-width:0}
.cf label{font-size:12px;letter-spacing:1.4px;font-weight:700;text-transform:uppercase;color:var(--muted)}
.cf input,.cf textarea{border:1px solid var(--moss);border-radius:10px;font:500 16px var(--sans);color:var(--forest);background:var(--cream);min-height:46px;width:100%;padding:10px 12px}
.mail{font:400 34px/1.2 var(--serif);color:var(--brass);word-break:break-word}
.mail:hover{color:var(--brass-hi)}
.contact-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0}
.contact-list li{border-top:1px solid var(--line);padding:16px 0}
.contact-list b{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}

/* 404 */
.nf{min-height:60vh;display:grid;place-items:center;text-align:center}

@media (max-width:900px){
  .story{grid-template-columns:1fr;gap:36px}
  .story-photos{position:static;grid-template-columns:1fr 1fr}
  .story-photos .ph-tall{height:300px;grid-column:1/-1}
  .story-photos .ph-mid{height:200px}
}
@media (max-width:760px){
  .pg{padding:48px 16px 48px}
  .pg-h1{font-size:42px;line-height:1.08}
  .pg-h2{font-size:32px;line-height:1.12}
  .ph-tall{height:300px}.ph-mid{height:220px}
  .band-deep{padding:48px 16px}
  .name-quote p{font-size:23px}
  .facts3{grid-template-columns:1fr;gap:12px}
  .fact b{font-size:36px}
  .faq summary{font-size:19px}
  .book-band{margin:0 16px 48px;padding:28px 20px;border-radius:22px}
  .book-band h2{font-size:28px}
  .cf-form{padding:24px 18px}
  .mail{font-size:26px}
  .tt th{width:42%}
}
.pg .byline,.band-deep .byline{color:var(--muted)}
.ph-left{object-position:0% 50%}
@media (max-width:900px){.story-photos{grid-template-columns:1fr}.story-photos .ph-mid{height:240px}}
