* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--obsidian); }
body {
  margin: 0;
  color: var(--ivory);
  background:
    radial-gradient(circle at 8% 8%, rgba(13,75,72,.16), transparent 26rem),
    var(--obsidian);
  font-family: "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}
body.is-loading { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
::selection { background: rgba(211,166,78,.28); color: var(--white); }
.container { width: min(calc(100% - 48px), var(--max-width)); margin-inline: auto; }
.section { position: relative; padding: 120px 0; overflow: clip; }
.section--ivory { background: var(--ivory); color: var(--ink); }
.section--teal { background: var(--peacock-deep); }
.section--black { background: var(--obsidian); }
.section-header { max-width: 760px; margin-bottom: 58px; }
.section-header.center { margin-inline: auto; text-align: center; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  color: var(--gold); text-transform: uppercase; letter-spacing: .24em;
  font-size: .72rem; font-weight: 700;
}
.eyebrow::before { content:""; width: 42px; height: 1px; background: currentColor; }
.display-title, h1, h2, h3 {
  font-family: "Bodoni 72", Didot, "Bodoni MT", "Times New Roman", serif;
  font-weight: 500; letter-spacing: -.025em; margin: 0;
}
h1 { font-size: clamp(3.1rem, 7vw, 7.6rem); line-height: .95; }
h2 { font-size: clamp(2.4rem, 5vw, 5rem); line-height: 1.02; }
h3 { font-size: clamp(1.45rem, 2.3vw, 2.15rem); line-height: 1.1; }
p { margin: 0 0 1.2em; }
.lead { font-size: clamp(1rem, 1.4vw, 1.2rem); color: color-mix(in srgb, currentColor 72%, transparent); max-width: 65ch; }
.gold-text { color: var(--gold-bright); }
.muted { color: var(--stone); }
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; padding: 12px 18px; background: var(--ivory); color: var(--ink); transform: translateY(-160%); transition: transform .25s; }
.skip-link:focus { transform: translateY(0); }
.gold-rule { width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(211,166,78,.8), transparent); }
.page-hero { min-height: 58vh; display:flex; align-items:flex-end; padding: 190px 0 90px; background: radial-gradient(circle at 75% 20%, rgba(13,75,72,.34), transparent 34rem), var(--obsidian-soft); border-bottom: 1px solid rgba(211,166,78,.15); }
.page-hero .lead { margin-top: 22px; }
.tag { display:inline-flex; padding: 7px 12px; border:1px solid rgba(211,166,78,.35); border-radius:999px; color:var(--gold-bright); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; background:rgba(10,11,11,.4); }
.surface { background: rgba(255,255,255,.035); border:1px solid rgba(211,166,78,.16); border-radius:var(--radius-lg); box-shadow:var(--shadow-soft); }
.prose { max-width: 780px; }
.prose h2 { margin-top: 1.3em; font-size: clamp(2rem,4vw,3.5rem); }
.prose h3 { margin-top: 1.6em; }
.prose ul { padding-left: 1.2rem; }
.prose li { margin: .5rem 0; }
[data-reveal] { opacity:0; transform:translateY(34px); transition: opacity .85s var(--ease-luxury), transform .85s var(--ease-luxury); }
[data-reveal="left"] { transform:translateX(-42px); }
[data-reveal="right"] { transform:translateX(42px); }
[data-reveal].is-visible { opacity:1; transform:none; }
