/* Liva Holdings: "the deal sheet". An investor's buyers list, set like a term sheet: navy ground, gold rules,
   tabular figures, labelled rows. Literata throughout (one variable file, 400-700). */

@font-face { font-family: "Literata"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(/assets/fonts/literata-text.woff2) format("woff2"); }

:root {
  --navy: #0B1728;
  --navy-deep: #050C1A;
  --navy-2: #15253D;       /* raised navy (cards on navy), hover */
  --gold: #C9922C;
  --gold-dark: #A77A25;
  --gold-ink: #85600F;     /* gold text on light grounds */
  --bg: #FBF9F5;
  --bg-alt: #F3F0EA;
  --card: #FFFFFF;
  --ink: #1B2430;
  --ink-soft: #4A5A66;
  --line: #DDD6CA;
  --field: #857D70;
  --error: #B3261E;
  --on-navy: #FBF9F5;
  --on-navy-soft: #B9C3CF;
  --rule-navy: rgba(201,146,44,.35);

  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 88px;
  --radius: 4px;
  --serif: "Literata", Georgia, "Times New Roman", serif;
  --measure: 64ch;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 80px; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--serif); font-size: 17px; line-height: 1.58;
  font-variant-numeric: lining-nums tabular-nums;
}
@media (min-width: 768px) { body { font-size: 18px; } }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--gold-ink); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--serif); color: var(--navy); line-height: 1.12; margin: 0 0 var(--s4); letter-spacing: -0.015em; }
h1 { font-size: clamp(2.05rem, 1.3rem + 3.4vw, 3.6rem); font-weight: 650; }
h2 { font-size: clamp(1.6rem, 1.15rem + 1.8vw, 2.35rem); font-weight: 650; }
h3 { font-size: 1.12em; font-weight: 650; margin-bottom: var(--s2); }
p { margin: 0 0 var(--s4); }
ul, ol { margin: 0 0 var(--s4); padding-left: 1.2em; }
.wrap { width: min(1200px, 100% - 32px); margin-inline: auto; }
@media (min-width: 768px) { .wrap { width: min(1200px, 100% - 64px); } }
.skip { position: absolute; left: 12px; top: -80px; background: var(--gold); color: var(--navy); padding: 12px 16px; z-index: 60; font-weight: 650; }
.skip:focus { top: 12px; }
.eyebrow { font-size: .78rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: var(--s3); }
.eyebrow--gold, .on-navy .eyebrow { color: var(--gold); }
.num { font-variant-numeric: lining-nums tabular-nums; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: 10px 22px;
  border: 2px solid transparent; border-radius: var(--radius); font: inherit; font-weight: 650; font-size: 1rem; line-height: 1.2;
  text-decoration: none; cursor: pointer; }
.btn-gold { background: var(--gold); color: var(--navy-deep); }
.btn-gold:hover { background: var(--gold-dark); color: var(--navy-deep); }
.btn-line { border-color: currentColor; color: var(--navy); background: transparent; }
.btn-line:hover { background: var(--navy); color: var(--on-navy); }
.on-navy .btn-line { color: var(--on-navy); }
.on-navy .btn-line:hover { background: var(--on-navy); color: var(--navy); }
.btn-small { min-height: 44px; padding: 8px 16px; font-size: .92rem; white-space: nowrap; }
@media (max-width: 419px) { .header-actions .btn-small { padding: 8px 12px; } .wm-holdings { letter-spacing: .2em; } }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .65; cursor: progress; }

/* ---------- header ---------- */
.site-header { background: var(--navy-deep); color: var(--on-navy); position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(201,146,44,.28); }
.header-row { display: flex; align-items: center; gap: var(--s4); min-height: 64px; }
.wordmark { display: inline-flex; align-items: baseline; gap: .38em; text-decoration: none; color: var(--on-navy); line-height: 1; min-height: 44px; align-items: center; margin: 0; }
.wordmark:hover { color: var(--on-navy); }
.wm-liva { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
.wm-holdings { font-size: .72rem; font-weight: 650; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); padding-top: .35em; }
.site-nav { display: none; margin-left: auto; }
.site-nav ul { list-style: none; display: flex; gap: var(--s1); margin: 0; padding: 0; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; color: var(--on-navy-soft); text-decoration: none; font-size: .92rem; }
.site-nav a:hover, .site-nav a[aria-current] { color: var(--on-navy); }
.site-nav a[aria-current] { box-shadow: inset 0 -2px 0 var(--gold); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: var(--s2); }
.header-phone { display: none; color: var(--on-navy); text-decoration: none; font-size: .95rem; min-height: 44px; align-items: center; padding: 0 8px; }
.header-phone:hover, .header-call:hover { color: var(--gold); }
.header-call { display: none; text-decoration: none; color: var(--on-navy); font-size: .95rem; min-height: 44px; align-items: center; padding: 0 10px; border-left: 1px solid rgba(251,249,245,.25); }
.menu { position: relative; }
.menu summary { list-style: none; display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 0 12px;
  border: 1px solid rgba(251,249,245,.35); border-radius: var(--radius); cursor: pointer; font-size: .92rem; }
.menu summary::-webkit-details-marker { display: none; }
.menu[open] summary { border-color: var(--gold); color: var(--gold); }
.menu nav { position: absolute; right: 0; top: calc(100% + 10px); width: min(300px, calc(100vw - 32px)); background: var(--navy-deep);
  border: 1px solid rgba(201,146,44,.4); border-radius: var(--radius); padding: var(--s2) 0; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu a { display: flex; align-items: center; min-height: 48px; padding: 0 var(--s4); color: var(--on-navy); text-decoration: none; }
.menu a:hover, .menu a[aria-current] { color: var(--gold); }
.menu .menu-phone { border-top: 1px solid rgba(251,249,245,.1); }
@media (min-width: 1100px) {
  .site-nav { display: block; }
  .header-actions { margin-left: var(--s2); }
  .header-phone, .header-call { display: inline-flex; }
  .menu { display: none; }
}
@media (min-width: 560px) and (max-width: 1099px) { .header-phone, .header-call { display: inline-flex; } }

/* ---------- hero (home) ---------- */
.on-navy { background: var(--navy); color: var(--on-navy); }
.on-navy h1, .on-navy h2, .on-navy h3 { color: var(--on-navy); }
.on-navy a:not(.btn) { color: var(--on-navy); }
.on-navy a:not(.btn):hover { color: var(--gold); }
.hero { position: relative; overflow: hidden; padding: var(--s6) 0 var(--s7);
  background:
    linear-gradient(180deg, rgba(5,12,26,0) 0%, rgba(5,12,26,.55) 100%),
    repeating-linear-gradient(90deg, rgba(201,146,44,.07) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(0deg, rgba(201,146,44,.05) 0 1px, transparent 1px 32px),
    var(--navy); }
.hero-grid { display: grid; gap: var(--s5); align-items: start; }
.hero h1 { margin-bottom: var(--s4); max-width: 15ch; }
.hero h1 em { font-style: normal; color: var(--gold); }
.hero-lede { color: var(--on-navy-soft); font-size: 1.05rem; max-width: 46ch; }
.hero-meta { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin: var(--s5) 0 0; padding: var(--s4) 0 0; border-top: 1px solid var(--rule-navy); list-style: none; }
.hero-meta li { display: flex; flex-direction: column; min-width: 0; }
.hero-meta b { font-size: 1.55rem; font-weight: 650; color: var(--gold); line-height: 1.1; }
.hero-meta span { font-size: .82rem; color: var(--on-navy-soft); }
.hero-copy .hero-meta { display: none; }
@media (min-width: 960px) {
  .hero { padding: var(--s8) 0 var(--s8); }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: var(--s7); }
  .hero-copy { position: sticky; top: 104px; }
  .hero-copy .hero-meta { display: flex; }
  .hero .meta-mobile { display: none; }
}

/* ---------- the form card ---------- */
.join-card { background: var(--card); color: var(--ink); border-radius: var(--radius); border-top: 4px solid var(--gold);
  box-shadow: 0 1px 0 rgba(5,12,26,.06), 0 24px 60px rgba(5,12,26,.28); padding: var(--s5) var(--s4); scroll-margin-top: 80px; }
@media (min-width: 560px) { .join-card { padding: var(--s6) var(--s6); } }
.form-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); flex-wrap: wrap;
  padding-bottom: var(--s3); margin-bottom: var(--s4); border-bottom: 1px solid var(--line); }
.form-title { font-size: 1.3rem; font-weight: 650; color: var(--navy); margin: 0; }
.form-tag { margin: 0; font-size: .8rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-ink); }
.fgrid { display: grid; gap: var(--s4) var(--s4); }
@media (min-width: 560px) { .fgrid { grid-template-columns: 1fr 1fr; } .field-wide, .sms-consent, .field-phone { grid-column: 1 / -1; } }
.field label, .chips legend { display: block; font-weight: 650; font-size: .92rem; color: var(--navy); margin-bottom: 6px; }
.req, .opt { font-weight: 400; font-size: .8rem; color: var(--ink-soft); margin-left: .3em; }
.req { color: var(--gold-ink); }
input[type=text], input[type=email], input[type=tel], input[type=search], textarea, select {
  width: 100%; min-height: 48px; padding: 10px 12px; font: inherit; font-size: 1rem; color: var(--ink); background: var(--card);
  border: 1px solid var(--field); border-radius: var(--radius); }
textarea { min-height: 132px; resize: vertical; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--gold); outline-offset: 0; border-color: var(--navy); }
.hint { font-size: .82rem; color: var(--ink-soft); margin: 6px 0 0; }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
fieldset.chips { border: 0; margin: 0; padding: 0; min-width: 0; }
.chips legend { padding: 0; }
.chip-row { display: flex; flex-wrap: wrap; gap: var(--s2); }
.chip { position: relative; display: inline-flex; }
.chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.chip span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--field); border-radius: 999px;
  font-size: .92rem; line-height: 1.15; background: var(--card); color: var(--ink); cursor: pointer; }
.chip span::before { content: ""; width: 14px; height: 14px; margin-right: 8px; border: 1.5px solid var(--field); border-radius: 3px; flex: none; }
.chip input[type=radio] + span::before { border-radius: 50%; }
.chip input:checked + span { background: var(--navy); border-color: var(--navy); color: var(--on-navy); }
.chip input:checked + span::before { border-color: var(--gold); background: var(--gold); box-shadow: inset 0 0 0 2px var(--navy); }
.chip input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 2px; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .84rem; line-height: 1.45; color: var(--ink-soft); cursor: pointer; min-height: 44px; padding: 10px 12px;
  background: var(--bg-alt); border-radius: var(--radius); }
.check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--navy); }
/* no-JS: the SMS box stays hidden until a phone number is typed (JS also sets [hidden]) */
.fgrid:has(.field-phone input:placeholder-shown) .sms-consent { display: none; }
.sms-consent[hidden] { display: none; }
.consent { font-size: .86rem; line-height: 1.5; color: var(--ink-soft); margin: var(--s5) 0 var(--s4); padding-top: var(--s4); border-top: 1px solid var(--line); }
.form-error { color: var(--error); font-weight: 650; font-size: .92rem; border-left: 3px solid var(--error); padding: 6px 12px; margin-bottom: var(--s4); background: #FBEDEC; }
.form-error[hidden] { display: none; }

/* state picker */
.states-native { min-height: 170px; padding: 4px; }
.states-native.is-enhanced { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; overflow: hidden; }
.field-states { position: relative; }
.states-toggle { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: 10px 12px;
  font: inherit; font-size: 1rem; text-align: left; color: var(--ink-soft); background: var(--card); border: 1px solid var(--field); border-radius: var(--radius); cursor: pointer; }
.states-toggle.has-value { color: var(--navy); font-weight: 650; }
.states-toggle::after { content: ""; flex: none; width: 9px; height: 9px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg) translateY(-3px); }
.is-open .states-toggle::after { transform: rotate(-135deg) translateY(-2px); }
.is-open .states-toggle { border-color: var(--navy); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.is-invalid .states-toggle { border-color: var(--error); box-shadow: inset 0 0 0 1px var(--error); }
.states-panel { border: 1px solid var(--navy); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); background: var(--card); padding: var(--s2); }
.states-filter { min-height: 44px; margin-bottom: var(--s2); }
.states-list { max-height: 286px; overflow-y: auto; overscroll-behavior: contain; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--line); }
@media (min-width: 480px) { .states-list { grid-template-columns: 1fr 1fr; } .state-opt--any { grid-column: 1 / -1; } }
.state-opt { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 8px; border-bottom: 1px solid var(--bg-alt); cursor: pointer; font-size: .94rem; }
.state-opt[hidden] { display: none; }
.state-opt:hover { background: var(--bg-alt); }
.state-opt input { width: 20px; height: 20px; margin: 0; accent-color: var(--navy); flex: none; }
.state-code { font-size: .74rem; font-weight: 700; letter-spacing: .06em; color: var(--gold-ink); width: 2.4em; flex: none; }
.state-opt--any { background: var(--bg-alt); font-weight: 650; }
.state-opt:has(input:checked) { background: #F5ECDA; }
.states-done { margin-top: var(--s2); width: 100%; min-height: 44px; font: inherit; font-weight: 650; color: var(--on-navy); background: var(--navy); border: 0; border-radius: var(--radius); cursor: pointer; }

/* thank-you, in place (JS adds .is-on; without JS the #joined fragment after Netlify's redirect shows it) */
.thanks { display: none; padding: var(--s4) 0; }
.thanks.is-on, .thanks:target { display: block; }
.thanks:target ~ .buyers-form, .join-card:has(.thanks:target) .buyers-form { display: none; }
.thanks:focus { outline: none; }
.thanks-mark { width: 48px; height: 48px; border-radius: 50%; background: var(--navy); margin-bottom: var(--s4); position: relative; }
.thanks-mark::after { content: ""; position: absolute; left: 17px; top: 11px; width: 12px; height: 22px; border-right: 3px solid var(--gold); border-bottom: 3px solid var(--gold); transform: rotate(45deg); }
.thanks-text { font-size: 1.12rem; color: var(--navy); line-height: 1.5; }

/* ---------- sections ---------- */
.section { padding: var(--s8) 0; }
.section-alt { background: var(--bg-alt); }
.section-head { max-width: 760px; margin-bottom: var(--s6); }
.section-head p { color: var(--ink-soft); }
@media (max-width: 559px) { .section { padding: var(--s7) 0; } }

/* steps */
.steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; counter-reset: step; border-top: 2px solid var(--navy); }
.steps li { counter-increment: step; display: grid; grid-template-columns: 64px 1fr; gap: var(--s3); padding: var(--s5) 0; border-bottom: 1px solid var(--line); }
.steps li::before { content: "0" counter(step); font-size: 2.1rem; font-weight: 650; line-height: 1; color: var(--gold-ink); }
.steps h3 { font-size: 1.2rem; }
.steps p { margin: 0; color: var(--ink-soft); }
@media (min-width: 860px) {
  .steps { grid-template-columns: repeat(3, 1fr); border-top: 0; gap: var(--s5); }
  .steps li { grid-template-columns: 1fr; border-top: 2px solid var(--navy); border-bottom: 0; padding-top: var(--s4); }
  .steps li::before { font-size: 3rem; margin-bottom: var(--s2); }
}

/* the deal sheet: the anatomy of one deal email */
.sheet-grid { display: grid; gap: var(--s6); align-items: start; }
@media (min-width: 960px) { .sheet-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s8); } }
.sheet { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 18px 44px rgba(11,23,40,.10); overflow: hidden; }
.sheet-top { background: var(--navy); color: var(--on-navy); padding: var(--s4) var(--s5); display: grid; gap: 2px; }
.sheet-top .k { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); font-weight: 650; }
.sheet-top .v { font-size: 1.05rem; font-weight: 650; }
.sheet dl { margin: 0; }
.sheet .row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: var(--s3) var(--s5); border-bottom: 1px solid var(--bg-alt); }
@media (min-width: 480px) { .sheet .row { grid-template-columns: 150px 1fr; gap: var(--s4); } }
.sheet dt { font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); font-weight: 650; padding-top: 3px; }
.sheet dd { margin: 0; color: var(--ink); }
.sheet .row--gold { background: #FBF4E6; }
.sheet .row--gold dt { color: var(--gold-ink); }
.sheet-foot { padding: var(--s3) var(--s5); font-size: .84rem; color: var(--ink-soft); background: var(--bg-alt); }
.bar { display: inline-block; height: .7em; width: 7em; background: repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 9px); vertical-align: middle; border-radius: 2px; }

/* why this list */
.why-grid { display: grid; gap: var(--s5); }
@media (min-width: 860px) { .why-grid { grid-template-columns: 1fr 1fr; gap: var(--s6); } }
.why-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--s5); border-top: 3px solid var(--navy); }
.why-card .big { display: block; font-size: clamp(2.6rem, 2rem + 2vw, 3.6rem); font-weight: 650; line-height: 1; color: var(--navy); margin-bottom: var(--s3); letter-spacing: -0.02em; }
.why-card .big small { font-size: .32em; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-ink); vertical-align: middle; margin-left: .4em; }
.why-card p:last-child { margin-bottom: 0; }
.founder { display: grid; grid-template-columns: 96px 1fr; gap: var(--s4); align-items: center; margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--line); }
.founder img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 3px solid var(--gold); }
.founder p { margin: 0; font-size: .95rem; color: var(--ink-soft); }
.founder strong { color: var(--navy); display: block; font-size: 1.05rem; }

/* searches line */
.terms { display: flex; flex-wrap: wrap; gap: var(--s2); list-style: none; padding: 0; margin: var(--s4) 0 0; }
.terms li { border: 1px solid var(--line); background: var(--card); padding: 6px 12px; border-radius: 999px; font-size: .88rem; color: var(--navy); }

/* sellers line */
.sellers { background: var(--navy-deep); color: var(--on-navy); padding: var(--s5) 0; }
.sellers p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); justify-content: space-between; }
.sellers a:not(.btn) { color: var(--gold); min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- inner pages ---------- */
.page-head { background: var(--navy); color: var(--on-navy); padding: var(--s5) 0 var(--s7);
  background-image: repeating-linear-gradient(90deg, rgba(201,146,44,.07) 0 1px, transparent 1px 96px); }
.page-head h1 { color: var(--on-navy); max-width: 22ch; font-size: clamp(2rem, 1.3rem + 2.8vw, 3.1rem); }
.page-head .eyebrow { color: var(--gold); }
.page-lede { color: var(--on-navy-soft); max-width: 58ch; font-size: 1.06rem; margin: 0; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0 8px; margin: 0 0 var(--s5); padding: 0; font-size: .86rem; color: var(--on-navy-soft); }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--gold); }
.crumbs a { color: var(--on-navy-soft); display: inline-flex; min-height: 44px; align-items: center; }
.crumbs li[aria-current] { display: inline-flex; min-height: 44px; align-items: center; }
.content { padding: var(--s7) 0 var(--s8); }
.content-grid { display: grid; gap: var(--s6); }
@media (min-width: 960px) { .content-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: var(--s8); } }
.prose { max-width: var(--measure); }
.prose h2 { font-size: clamp(1.4rem, 1.1rem + 1.1vw, 1.9rem); margin-top: var(--s7); padding-top: var(--s4); border-top: 1px solid var(--line); }
.prose h2:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.prose li { margin-bottom: var(--s2); }
.prose blockquote, .quote { margin: var(--s5) 0; padding: var(--s4) var(--s5); border-left: 4px solid var(--gold); background: var(--card); font-size: 1.08rem; color: var(--navy); }
.quote p:last-child { margin: 0; }
.disclosure { font-size: .9rem; color: var(--ink-soft); border: 1px dashed var(--field); padding: var(--s3) var(--s4); border-radius: var(--radius); background: var(--card); }
.side-card { background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: var(--radius); padding: var(--s5); position: sticky; top: 96px; }
.side-card h2 { font-size: 1.2rem; margin-bottom: var(--s3); }
.side-card p { font-size: .95rem; color: var(--ink-soft); }
.side-card .btn { width: 100%; margin-top: var(--s2); }
.facts { list-style: none; padding: 0; margin: 0 0 var(--s5); border-top: 2px solid var(--navy); }
.facts li { display: grid; grid-template-columns: 92px 1fr; gap: var(--s3); padding: var(--s3) 0; border-bottom: 1px solid var(--line); margin: 0; }
.facts b { font-size: 1.25rem; color: var(--gold-ink); font-weight: 650; line-height: 1.3; }
.ledger { width: 100%; border-collapse: collapse; margin: var(--s4) 0 var(--s5); font-size: .95rem; }
.ledger th, .ledger td { text-align: left; vertical-align: top; padding: var(--s3) var(--s3) var(--s3) 0; border-bottom: 1px solid var(--line); }
.ledger th { width: 34%; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); font-weight: 650; padding-top: calc(var(--s3) + 3px); }
.ledger tr:first-child th, .ledger tr:first-child td { border-top: 2px solid var(--navy); }
.about-photo { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; border: 4px solid var(--gold); margin-bottom: var(--s4); }
.contact-lines { display: grid; gap: var(--s3); margin: 0 0 var(--s5); }
.contact-lines .btn { width: 100%; justify-content: space-between; }
@media (min-width: 560px) { .contact-lines { grid-template-columns: 1fr 1fr; } }

/* faq */
.faq { border-top: 2px solid var(--navy); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--s4);
  min-height: 56px; padding: var(--s3) 0; font-weight: 650; color: var(--navy); font-size: 1.08rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.6rem; line-height: 1; color: var(--gold-ink); flex: none; width: 28px; text-align: center; }
.faq details[open] summary::after { content: "−"; }
.faq .a { padding: 0 0 var(--s4); color: var(--ink); max-width: var(--measure); }
.faq .a p:last-child { margin-bottom: 0; }

/* join band on inner pages */
.join-band { background: var(--navy); color: var(--on-navy); padding: var(--s8) 0;
  background-image: repeating-linear-gradient(90deg, rgba(201,146,44,.06) 0 1px, transparent 1px 96px); }
.join-band h2 { color: var(--on-navy); }
.join-copy p { color: var(--on-navy-soft); }
.join-grid { display: grid; gap: var(--s6); align-items: start; }
@media (min-width: 960px) { .join-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: var(--s8); } .join-copy { position: sticky; top: 104px; } }

/* ---------- footer ---------- */
.site-footer { background: var(--navy-deep); color: var(--on-navy-soft); padding: var(--s7) 0 var(--s4); font-size: .94rem; }
.site-footer a { color: var(--on-navy); }
.site-footer a:hover { color: var(--gold); }
.footer-grid { display: grid; gap: var(--s5); }
@media (min-width: 860px) { .footer-grid { grid-template-columns: 1.3fr 1fr 1.1fr; gap: var(--s7); } }
.wordmark--footer { margin-bottom: var(--s3); }
.footer-phone a { display: inline-flex; min-height: 44px; align-items: center; }
.footer-links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: var(--s5); }
.footer-links li { break-inside: avoid; }
.footer-links a { display: flex; align-items: center; min-height: 44px; text-decoration: none; }
.footer-side p { margin-bottom: var(--s3); }
.footer-side a { display: inline-flex; min-height: 44px; align-items: center; }
.footer-fine { border-top: 1px solid rgba(251,249,245,.1); margin-top: var(--s6); padding-top: var(--s4); font-size: .82rem; }
.footer-fine p { margin: 0; }

/* 404 */
.notfound { padding: var(--s8) 0; }
.notfound ul { list-style: none; padding: 0; display: grid; gap: var(--s2); }
.notfound li a { display: inline-flex; min-height: 44px; align-items: center; }
.join-card--flat { box-shadow: 0 1px 0 rgba(5,12,26,.04), 0 10px 30px rgba(5,12,26,.08); }
.join-card:has(.thanks:target) form { display: none; }
.steps-more { margin: var(--s5) 0 0; }
.steps-more a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 650; }
.on-navy .join-card a:not(.btn), .join-band .join-card a:not(.btn) { color: var(--navy); }
.on-navy .join-card a:not(.btn):hover { color: var(--gold-ink); }
/* the state options sit inside .field, whose labels are block headings: restore the option row */
.field-states label.state-opt { display: flex; font-weight: 400; font-size: .94rem; margin: 0; color: var(--ink); }
.field-states label.state-opt--any { font-weight: 650; }
