/* ============================================================================
   THE RESERVE — supporting pages (privacy · thank-you · 404)
   Same system, quieter register.
   ========================================================================== */

.mast--static { position: fixed; transform: none; }
.mast--static.is-solid,
.mast--static { background: color-mix(in srgb, var(--page-bg) 86%, transparent);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--rule-d); }

/* — cover band ————————————————————————————————— */
.cover { position: relative; padding: clamp(150px,19vh,250px) 0 clamp(44px,5vw,84px); overflow: hidden; }
.cover__aura { position: absolute; inset: -40% -10% auto; height: 140%; pointer-events: none;
  background: radial-gradient(46% 46% at 74% 22%, rgba(198,167,104,.12), transparent 66%); }
.cover__in { position: relative; }
.cover__h { font-family: var(--f-editorial); font-weight: 300; font-size: var(--t-d1);
  line-height: 1.0; letter-spacing: -.022em; margin-top: clamp(18px,2.2vw,32px); }
.cover__h em { font-style: italic; color: var(--gold); }
.cover__meta { margin-top: clamp(22px,2.6vw,38px); padding-top: clamp(16px,1.8vw,24px);
  border-top: 1px solid var(--rule-d); display: flex; flex-wrap: wrap; gap: 10px 34px;
  font-size: var(--t-micro); letter-spacing: .28em; text-transform: uppercase; color: var(--on-dark-fa); }

/* — legal layout ——————————————————————————————— */
.doc { padding-bottom: clamp(70px,8vw,140px); }
.doc__grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--gut); }
.doc__nav { grid-column: 1 / 4; position: sticky; top: 22vh; align-self: start; }
.doc__body { grid-column: 5 / 12; }
@media (max-width: 900px) {
  .doc__nav { display: none; }
  .doc__body { grid-column: 1 / 13; }
}
.doc__nav ol { counter-reset: s; display: grid; gap: 12px; }
.doc__nav a { display: flex; gap: 12px; font-size: var(--t-micro); letter-spacing: .18em;
  text-transform: uppercase; color: var(--on-dark-fa); transition: color .4s; }
.doc__nav a:hover, .doc__nav a.is-on { color: var(--gold); }
.doc__nav a::before { counter-increment: s; content: counter(s, decimal-leading-zero);
  font-family: var(--f-display); color: var(--gold); opacity: .7; }

.doc__s { padding-block: clamp(26px,3vw,48px); border-top: 1px solid var(--rule-d-2); }
.doc__s:first-child { border-top: 0; padding-top: 0; }
.doc__s h2 { font-family: var(--f-editorial); font-weight: 300; font-size: var(--t-d3);
  line-height: 1.15; margin-bottom: .7em; }
.doc__s h2 span { font-family: var(--f-display); font-size: var(--t-label); letter-spacing: .18em;
  color: var(--gold); display: block; margin-bottom: 1em; }
.doc__s p, .doc__s li { color: var(--on-dark-mu); max-width: 66ch; }
.doc__s p + p, .doc__s ul { margin-top: 1.1em; }
.doc__s ul { display: grid; gap: .7em; }
.doc__s li { padding-left: 1.5em; position: relative; }
.doc__s li::before { content: ""; position: absolute; left: 0; top: .85em; width: 8px; height: 1px; background: var(--gold); }
.doc__s a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }

.todo { display: inline-block; padding: .1em .55em; border: 1px solid var(--rule-gold);
  color: var(--gold); font-family: var(--f-ui); font-size: .68em; letter-spacing: .16em;
  text-transform: uppercase; vertical-align: middle; }

/* — centred message pages ——————————————————————— */
.mid {
  min-height: 100svh; display: grid; place-items: center; text-align: center;
  padding: clamp(140px,17vh,210px) var(--pad) clamp(70px,10vh,140px);
  position: relative; overflow: hidden;
}
.mid__aura { position: absolute; inset: -20%; pointer-events: none;
  background: radial-gradient(40% 36% at 50% 32%, rgba(198,167,104,.13), transparent 66%); }
.mid__in { position: relative; max-width: min(1020px, 100%); display: grid; justify-items: center; gap: clamp(18px,2.2vw,30px); }
.mid__mark { width: clamp(56px,6vw,86px); }
.mid__h { max-width: 20ch; font-family: var(--f-editorial); font-weight: 300; font-size: var(--t-d1);
  line-height: 1.02; letter-spacing: -.022em; }
.mid__h em { font-style: italic; color: var(--gold); }
.mid__p { color: var(--on-dark-mu); font-size: var(--t-lead); line-height: 1.6; max-width: 46ch; }
.mid__num { font-family: var(--f-display); font-weight: 400; letter-spacing: .06em;
  font-size: clamp(5rem,17vw,15rem); line-height: .84; color: transparent;
  background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; }
.mid__steps { margin-top: clamp(24px,3vw,44px); display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0; border-top: 1px solid var(--rule-d); text-align: left; width: 100%; max-width: 900px; }
@media (max-width: 760px) { .mid__steps { grid-template-columns: 1fr; } }
.mid__step { padding: clamp(20px,2.4vw,32px) clamp(14px,1.8vw,28px); border-left: 1px solid var(--rule-d-2); }
.mid__step:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 760px) { .mid__step { border-left: 0; padding-left: 0; border-bottom: 1px solid var(--rule-d-2); } }
.mid__step b { display: block; font-family: var(--f-display); font-size: var(--t-label);
  letter-spacing: .18em; color: var(--gold); font-weight: 400; margin-bottom: .9em; }
.mid__step p { font-size: var(--t-small); line-height: 1.8; color: var(--on-dark-mu); }
.mid__links { display: flex; flex-wrap: wrap; gap: 16px 28px; justify-content: center; margin-top: clamp(10px,1.4vw,18px); }
/* punctuation must not orphan onto its own line */
.mid__h, .cover__h { text-wrap: balance; }
.doc__s ul + p, .doc__s p + ul { margin-top: 1.15em; }
.doc__nav a { font-size: 0.6875rem; letter-spacing: .12em; font-weight: 500; }


/* ── V2 alignment ────────────────────────────────────────────────────── */
.cover__h em { color: var(--gold); }
.doc__s h2 span { color: var(--gold); }
.todo { border-color: var(--rule-gold); color: var(--gold); }
.mid__step b { color: var(--gold); }
.doc__nav a.is-on { color: var(--gold); }
