/* Self-hosted fonts (SIL Open Font License, see /fonts) */
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/instrument-serif-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/instrument-serif-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/nunito-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/nunito-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/nunito-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/nunito-sans-latin-800-normal.woff2") format("woff2"); }

/* Layout: alternating full-bleed bands (charcoal hero → ivory → paper creators → slate brands → ivory founder/FAQ → blue close), each with a centered 1120px inner wrap. */
:root {
  /* Maveii Brand Guide palette */
  --ivory: #EAE8DC;
  --paper: #F4F2EA;
  --card: #FBFAF5;
  --charcoal: #2E2922;
  --charcoal-2: #3A332B;
  --blue: #87A0B2;
  --slate: #47616C;
  --slate-ink: #DCE3E6;
  --earth: #544133;
  --rust: #9D632C;
  --line: rgba(46, 41, 34, .18);
  --error: #8A2E1E;

  --display: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --maxw: 1120px;
  --gutter: 20px;
  --band: 72px;
  --radius: 16px;
  color-scheme: light;
}
@media (min-width: 760px) { :root { --gutter: 36px; --band: 104px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(65px + env(safe-area-inset-top, 0px)); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--charcoal);
  font: 400 1.0625rem/1.65 var(--body);
  -webkit-font-smoothing: antialiased;
}
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--ivory); }
svg { display: block; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--rust); outline-offset: 3px; border-radius: 6px; }

h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.04; letter-spacing: -.012em; margin: 0; text-wrap: balance; }
h1 em, h2 em, h3 em { font-style: italic; }
p { margin: 0; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; }

.wrap {
  width: 100%;
  max-width: calc(var(--maxw) + 2 * var(--gutter));
  margin-inline: auto;
  padding-left: max(var(--gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--gutter), env(safe-area-inset-right, 0px));
}
.band { padding-block: var(--band); }

.eyebrow { font: 800 .74rem/1.3 var(--body); letter-spacing: .2em; text-transform: uppercase; color: var(--slate); }
.on-dark .eyebrow { color: var(--blue); }
.on-slate .eyebrow { color: var(--slate-ink); }

.skip-link { position: absolute; left: 12px; top: -80px; z-index: 100; background: var(--charcoal); color: var(--ivory); padding: 10px 16px; border-radius: 10px; text-decoration: none; font-weight: 700; }
.skip-link:focus { top: calc(12px + env(safe-area-inset-top, 0px)); }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50;
  background: rgba(234, 232, 220, .95);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 64px; }
.brand-link { color: var(--charcoal); display: inline-flex; }
.logo-wordmark { width: 112px; height: 40px; }
.nav { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.nav a { display: inline-block; padding: 8px 10px; text-decoration: none; font-weight: 700; font-size: .95rem; border-radius: 999px; }
.nav a:hover { background: rgba(46, 41, 34, .07); }
.nav .nav-faq { display: none; }
@media (min-width: 520px) { .nav .nav-faq { display: list-item; } }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 52px; padding: 13px 26px; border-radius: 999px;
  font: 800 1rem/1.2 var(--body); text-decoration: none; cursor: pointer;
  border: 2px solid transparent; transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
.btn .arrow { transition: transform .15s; }
.btn:hover .arrow { transform: translateX(3px); }
.btn--ivory { background: var(--ivory); color: var(--charcoal); }
.btn--ivory:hover { background: #fff; }
.btn--blue { background: var(--blue); color: var(--charcoal); }
.btn--blue:hover { background: #9BB2C2; }
.btn--dark { background: var(--charcoal); color: var(--ivory); }
.btn--dark:hover { background: var(--earth); }
.btn--line { border-color: var(--charcoal); color: var(--charcoal); background: transparent; }
.btn--line:hover { background: var(--charcoal); color: var(--ivory); }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .6; cursor: progress; }
@media (prefers-reduced-motion: reduce) { .btn, .btn .arrow { transition: none; } .btn:hover .arrow { transform: none; } }

/* ---------- Hero ---------- */
.hero {
  background-color: var(--charcoal);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='120' viewBox='0 0 140 120'%3E%3Cdefs%3E%3Cpath id='m' fill='%233A322A' fill-rule='evenodd' d='M 382.5 34.4 C 377.9 36.6, 376.8 37.8, 371.2 46.2 C 367.2 52.4, 365.9 55.4, 364.9 61.0 C 361.5 79.6, 372.5 105, 383.9 105 C 390.9 105, 403.0 98.7, 407.9 92.5 C 411.4 88.0, 412.3 81.8, 411.5 66.2 C 410.6 47.9, 404.7 38.1, 392.5 34.4 C 386.6 32.7, 386.3 32.7, 382.5 34.4 M 227.9 36.8 C 224.6 38.2, 219.0 43.2, 218.4 45.3 C 218.0 46.5, 216.8 48.7, 215.7 50.3 C 207.7 61.6, 209.9 89.1, 219.8 101.5 C 222.8 105.1, 230.6 109.9, 233.8 109.9 C 236.6 110.0, 241.0 107.7, 247.5 102.9 C 254.3 97.8, 255.4 96.4, 258.2 89 C 261.6 79.8, 262.0 76.8, 261.1 65.4 C 260.1 53.4, 257.1 46.2, 250.4 40.0 L 246.0 36 237.7 36.0 C 233.2 36.1, 228.8 36.4, 227.9 36.8 M 377.7 138.0 C 372.9 141.2, 367 147.3, 367 149.0 C 367 149.6, 365.5 153.1, 363.7 156.8 C 360.5 163.3, 360.4 163.7, 360.1 180 C 359.9 189.8, 360.2 199.3, 360.9 203.5 C 363.2 216.9, 364.9 224.5, 367.0 230.5 C 368.1 233.8, 370.5 241, 372.4 246.5 C 374.2 252, 377.0 259.8, 378.7 264 C 380.3 268.1, 382.0 273.6, 382.4 276.3 C 382.8 279.0, 383.3 282.1, 383.5 283.3 C 385.5 292.7, 385.2 296.5, 382.2 302.5 C 377.9 311.0, 375.4 312.7, 368.2 312.1 C 363.8 311.7, 350.0 294.9, 339.4 277 C 335.7 270.6, 330.7 262.4, 328.3 258.7 C 325.9 255.0, 324 251.7, 324 251.4 C 324 251.2, 322.9 249.2, 321.6 247.1 C 320.2 245.0, 316.8 238.9, 313.9 233.4 C 311.0 227.9, 307.2 220.8, 305.5 217.5 C 295.6 198.7, 286.0 182.4, 280.5 175 C 277.1 170.3, 272.2 163.5, 269.7 160 C 260.2 146.7, 251.4 139.3, 243.4 137.9 C 236.5 136.6, 233.6 137.5, 227.4 142.6 C 215.3 152.5, 209.7 175.0, 213.4 198.5 C 215.5 211.4, 217.8 221.4, 220.1 226.7 C 222.5 232.4, 225.6 245.9, 226.4 254.5 C 226.8 258.3, 228.0 265.4, 229.1 270.3 C 234.4 293.4, 226.1 320, 213.5 320 C 208.0 320, 200.0 315.8, 193.6 309.6 C 186.9 303.1, 183.2 302.3, 181.6 307.1 C 179.6 312.8, 184.9 321.5, 199.6 336.5 C 218.4 355.7, 232.8 358.9, 243.8 346.4 C 248.6 340.9, 250.6 334.5, 251.6 321 C 252.6 308.2, 252.4 304.1, 250.4 294.9 C 249.6 291.0, 248.9 285.5, 248.9 282.6 C 248.9 279.8, 247.8 274.5, 246.6 271 C 245.3 267.4, 243.5 262.4, 242.7 260 C 241.8 257.5, 240.0 248.7, 238.5 240.5 C 237.1 232.2, 235.4 223.0, 234.8 220 C 234.2 216.9, 233.5 209.5, 233.3 203.5 C 233.0 193.7, 233.2 192.1, 235.1 189.2 C 236.2 187.4, 237.5 186, 237.9 186 C 239.4 186, 244.3 192.3, 250.8 202.5 C 254.4 208.0, 259.6 216.1, 262.5 220.5 C 265.3 224.9, 269.8 232.5, 272.4 237.5 C 278.8 249.5, 281.6 254.5, 285.5 260.5 C 287.3 263.2, 290.7 269.5, 293.2 274.5 C 295.6 279.4, 301.9 290.0, 307.1 298 C 312.4 305.9, 317.2 313.6, 317.9 315 C 325.2 328.8, 349.4 352.4, 358.4 354.5 C 368.5 356.8, 372.5 356.8, 377.5 354.5 C 383.2 351.9, 393.8 343.1, 395.8 339.1 C 396.6 337.7, 398.0 335.6, 399.0 334.5 C 401.4 331.8, 402.6 326.3, 403.4 315.6 C 403.7 310.7, 404.2 306.4, 404.5 305.9 C 404.8 305.4, 404.4 302.2, 403.5 298.9 C 402.7 295.5, 402 291.7, 402 290.4 C 402 289.1, 400.9 285.0, 399.5 281.3 C 398.2 277.5, 396.2 270.6, 395.0 266 C 393.8 261.3, 389.9 250.8, 386.4 242.7 L 379.9 228.0 378.5 213.1 C 377.4 201.2, 377.3 197.4, 378.3 194.1 C 380.4 186.8, 384.3 184.2, 388.2 187.2 C 389.1 187.9, 392.7 194.3, 396.3 201.5 C 399.8 208.6, 405.4 218.1, 408.5 222.5 C 413.3 229.1, 420.4 240.5, 438.0 269.5 C 439.0 271.1, 443.9 279.9, 449.0 289 C 466.4 320.4, 483.6 342.0, 497.6 350.0 C 507.4 355.7, 523.8 356.0, 530.5 350.7 C 533.9 348.1, 539.7 335.2, 542.1 325 C 545.1 312.7, 544.1 292.6, 539.8 277.2 C 538.1 271.3, 536.4 265.1, 536.0 263.5 C 532.3 249.3, 528.1 239.7, 524.9 237.6 C 522.6 236.2, 518.3 237.6, 517.7 239.8 C 517.1 242.1, 517.9 246.3, 521.3 258 C 527.7 280.0, 529.4 292.2, 526.9 297.5 C 525.9 299.7, 525.0 302.4, 525.0 303.5 C 524.9 304.6, 523.1 307.0, 520.8 308.8 C 516.9 312.1, 516.6 312.2, 512.8 311.0 C 507.4 309.4, 502.3 304.5, 497.3 296.3 C 495.1 292.5, 490.2 284.5, 486.5 278.5 C 479.3 266.8, 477.1 263.0, 470.4 251 C 468.2 246.8, 464.9 241.2, 463.2 238.5 C 451.1 218.8, 443.6 204.8, 438.5 192 C 436.2 186.1, 423.8 167.5, 416.6 158.9 C 415.1 157.1, 412.5 153.1, 411.0 150.1 C 406.0 140.2, 400.6 136.4, 389.9 135.5 C 382.7 134.9, 382.2 135.0, 377.7 138.0'/%3E%3C/defs%3E%3Cuse href='%23m' transform='translate(12 14) scale(0.0821)'/%3E%3Cuse href='%23m' transform='translate(82 74) scale(0.0821)'/%3E%3Cuse href='%23m' transform='translate(82 -46) scale(0.0821)'/%3E%3C/svg%3E");
  color: var(--ivory);
  padding-block: 44px 64px;
  overflow: hidden;
}
.hero-grid { display: grid; gap: 48px; align-items: center; }
.hero-copy { display: grid; gap: 22px; min-width: 0; }
.hero h1 { font-size: clamp(2.45rem, 8.4vw, 4.6rem); color: var(--ivory); }
.hero h1 em { color: var(--blue); }
.hero-sub { font: italic 400 clamp(1.45rem, 4.6vw, 1.9rem)/1.2 var(--display); color: #D3CFC0; }
.hero-body { display: grid; gap: 12px; max-width: 34rem; color: #D9D5C7; font-size: 1.08rem; }
.hero-body strong { color: var(--ivory); font-weight: 700; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.hero-ctas .btn { flex: 1 1 180px; }
@media (min-width: 520px) { .hero-ctas .btn { flex: 0 0 auto; } }
.facts { display: flex; flex-wrap: wrap; gap: 6px 20px; list-style: none; margin: 0; padding: 0; font-size: .92rem; font-weight: 600; color: #CFCBBC; }
.facts li { display: inline-flex; align-items: center; gap: 8px; }
.facts li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); flex: none; }
.hero-fine { font-size: .9rem; font-style: italic; color: #A9A497; }

/* Hero visual: the introduction itself */
.intro-visual { position: relative; width: 100%; max-width: 420px; margin-inline: auto; aspect-ratio: 1 / 1.02; }
.arch {
  position: absolute; top: 0; width: 54%; height: 74%;
  border-radius: 999px 999px 18px 18px;
  display: grid; justify-items: center; align-content: start; padding-top: 18%;
}
.arch span { font: 800 .7rem/1 var(--body); letter-spacing: .22em; text-transform: uppercase; }
.arch--brand { left: 0; background: var(--blue); color: var(--charcoal); }
.arch--creator { right: 0; top: 8%; background: var(--slate); color: var(--ivory); }
.arch svg { width: 44%; height: auto; aspect-ratio: 1; margin-top: 18%; opacity: .9; }
.intro-note {
  position: absolute; left: 7%; right: 7%; bottom: 0;
  background: var(--card); color: var(--charcoal);
  border-radius: 14px; padding: 18px 18px 16px;
  box-shadow: 0 24px 50px -22px rgba(0, 0, 0, .7);
  display: grid; gap: 6px;
}
.note-row { display: flex; gap: 10px; font-size: .86rem; line-height: 1.35; border-bottom: 1px solid var(--line); padding-bottom: 7px; }
.note-row span { flex: none; width: 4.6em; color: #7B7468; font-weight: 600; }
.note-row b { font-weight: 700; }
.note-body { font: italic 400 1.3rem/1.25 var(--display); padding-top: 6px; }
.note-sign { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 700; color: var(--slate); }
.note-sign svg { width: 30px; height: 22px; color: var(--charcoal); }
@media (prefers-reduced-motion: no-preference) {
  .intro-note { animation: note-in .7s .25s cubic-bezier(.2,.8,.2,1) both; }
  @keyframes note-in { from { transform: translateY(14px); } to { transform: none; } }
}

@media (min-width: 900px) {
  .hero { padding-block: 88px 104px; }
  .hero-grid { grid-template-columns: 1.25fr .9fr; gap: 64px; }
  .intro-visual { max-width: 440px; }
}

/* ---------- How it works ---------- */
.section-head { display: grid; gap: 14px; margin-bottom: 40px; }
.section-head h2 { font-size: clamp(2.1rem, 6vw, 3.4rem); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.steps li { display: grid; gap: 8px; border-top: 1.5px solid var(--charcoal); padding-top: 18px; }
.step-num { font: 400 3rem/1 var(--display); color: var(--slate); }
.steps h3 { font-size: 1.7rem; }
.steps p { color: var(--earth); max-width: 30rem; }
@media (min-width: 760px) { .steps { grid-template-columns: repeat(3, 1fr); gap: 40px; } }

/* ---------- Audience sections ---------- */
.audience { scroll-margin-top: 0; }
.audience--creator { background: var(--paper); }
.audience--brand { background: var(--slate); color: var(--ivory); }
.audience-grid { display: grid; gap: 44px; }
.audience-copy { display: grid; gap: 20px; align-content: start; min-width: 0; }
.audience-copy h2 { font-size: clamp(2.2rem, 6.6vw, 3.5rem); }
.audience--brand h2 { color: var(--ivory); }
.audience-copy .lede { font-size: 1.12rem; max-width: 33rem; }
.audience-copy .pull { font: italic 400 1.6rem/1.2 var(--display); }
.audience--creator .pull { color: var(--slate); }
.audience--brand .pull { color: var(--slate-ink); }
.audience-copy p:not(.eyebrow):not(.pull) { max-width: 33rem; }

.benefits { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.audience--brand .benefits, .audience--brand .benefits li { border-color: rgba(234, 232, 220, .28); }
.benefits li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.benefits svg { width: 30px; height: 22px; margin-top: 3px; }
.audience--creator .benefits svg { color: var(--slate); }
.audience--brand .benefits svg { color: var(--blue); }
.benefits strong { display: block; font-weight: 800; }
.audience--creator .benefits li span { color: var(--earth); }
.audience--brand .benefits li span { color: var(--slate-ink); }

.chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.chips li { font-size: .88rem; font-weight: 700; padding: 6px 13px; border-radius: 999px; }
.audience--creator .chips li { background: var(--ivory); color: var(--charcoal); }
.audience--brand .chips li { background: rgba(234, 232, 220, .14); color: var(--ivory); }

@media (min-width: 980px) {
  .audience-grid { grid-template-columns: 1fr 1.02fr; gap: 72px; align-items: start; }
  .audience-copy { position: sticky; top: 104px; }
}

/* ---------- Forms ---------- */
.form-card {
  background: var(--card); color: var(--charcoal);
  border-radius: 20px; padding: 26px 20px 22px;
  box-shadow: 0 1px 0 rgba(46, 41, 34, .05), 0 22px 48px -28px rgba(46, 41, 34, .55);
  min-width: 0;
}
.audience--brand .form-card { background: var(--ivory); }
@media (min-width: 760px) { .form-card { padding: 36px 34px 30px; } }
.form-head { display: grid; gap: 8px; margin-bottom: 22px; }
.form-head h3 { font-size: clamp(1.9rem, 5vw, 2.35rem); }
.form-hint { font-size: .88rem; color: #6E675C; }
.fields { display: grid; gap: 18px; }
.field { display: grid; gap: 6px; }
.field label { font-weight: 700; font-size: .97rem; }
.field-help { font-size: .86rem; color: #6E675C; margin-top: -3px; }
.req { color: var(--error); }
.opt { font-weight: 400; color: #6E675C; }
.field input[type="text"], .field input[type="email"], .field select, .field textarea {
  width: 100%; min-height: 50px; padding: 12px 14px;
  font: 400 1rem/1.4 var(--body); color: var(--charcoal);
  background: #fff; border: 1.5px solid #9A9488; border-radius: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.field select { appearance: none; -webkit-appearance: none; padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232E2922' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; }
.field textarea { min-height: 112px; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--charcoal); }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: none; border-color: var(--charcoal); box-shadow: 0 0 0 3px rgba(157, 99, 44, .35); }
[aria-invalid="true"] { border-color: var(--error) !important; background-color: #FFF8F4 !important; }
.field-error { color: var(--error); font-size: .88rem; font-weight: 700; }
.field-error:empty { display: none; }

.check { display: grid; grid-template-columns: 24px 1fr; gap: 4px 12px; align-items: start; }
.check input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--charcoal); }
.check label { font-weight: 400; font-size: .93rem; line-height: 1.5; }
.check .field-error { grid-column: 2; }
.consents { display: grid; gap: 14px; padding-top: 18px; border-top: 1px solid var(--line); }

.error-summary { background: #FFF2EC; border: 2px solid var(--error); color: var(--error); border-radius: 12px; padding: 12px 14px; font-weight: 700; margin-bottom: 18px; }
.error-summary ul { margin: 4px 0 0; padding-left: 20px; }
.error-summary a { color: var(--error); }
.form-actions { display: grid; gap: 12px; margin-top: 22px; }
.form-legal { font-size: .84rem; color: #6E675C; }
.form-fine { font-size: .9rem; font-style: italic; }
.audience--creator .form-fine { color: var(--earth); }
.audience--brand .form-fine { color: var(--slate-ink); }
.form-wrap { display: grid; gap: 16px; min-width: 0; }

.success { display: grid; gap: 12px; outline: none; }
.success svg { width: 62px; height: 46px; color: var(--slate); }
.success h3 { font-size: 2.2rem; }
.success p { color: var(--earth); }
.success .preview-note { font-size: .85rem; color: var(--rust); font-weight: 700; }

/* ---------- Founder ---------- */
.founder-grid { display: grid; gap: 36px; align-items: center; }
.founder-photo {
  width: 100%; max-width: 230px; aspect-ratio: 4 / 5;
  border-radius: 999px 999px 20px 20px; overflow: hidden;
  background: var(--blue); display: grid; place-items: center; color: var(--charcoal);
}
.founder-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.founder-photo svg { width: 52%; height: auto; aspect-ratio: 560 / 408; }
.founder-copy { display: grid; gap: 18px; min-width: 0; }
.founder-copy h2 { font-size: clamp(2.1rem, 6vw, 3.3rem); }
.founder-copy p:not(.eyebrow) { max-width: 36rem; }
.founder-copy .pull { font: italic 400 1.65rem/1.2 var(--display); color: var(--slate); }
.founder-sign { font: italic 400 1.4rem/1.2 var(--display); }
.text-link { font-weight: 800; text-underline-offset: 5px; text-decoration-thickness: 2px; text-decoration-color: var(--blue); }
.text-link:hover { text-decoration-color: currentColor; }
@media (min-width: 760px) {
  .founder-grid { grid-template-columns: 320px 1fr; gap: 72px; }
  .founder-photo { max-width: 320px; }
}

/* ---------- FAQ ---------- */
.faq { background: var(--paper); }
.faq-grid { display: grid; gap: 32px; }
.faq-list { border-top: 1.5px solid var(--charcoal); min-width: 0; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; position: relative; padding: 20px 44px 20px 0; font-weight: 800; font-size: 1.08rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-52%); font: 400 2rem/1 var(--display); color: var(--slate); }
.faq details[open] summary::after { content: "\2013"; }
.faq .answer { display: grid; gap: 10px; padding: 0 28px 22px 0; color: var(--earth); }
@media (min-width: 900px) { .faq-grid { grid-template-columns: .8fr 1.2fr; gap: 72px; } .faq .section-head { position: sticky; top: 104px; align-self: start; } }

/* ---------- Closing ---------- */
.closing { background: var(--blue); }
.closing-inner { display: grid; gap: 20px; justify-items: center; text-align: center; }
.closing h2 { font-size: clamp(2.3rem, 7vw, 3.8rem); max-width: 16ch; }
.closing p { max-width: 34rem; font-size: 1.1rem; }
.closing .hero-ctas { justify-content: center; }
.closing .facts { justify-content: center; color: var(--charcoal); font-style: italic; font-weight: 600; }
.closing .facts li::before { background: var(--charcoal); }

/* ---------- Footer ---------- */
.site-footer { background: var(--charcoal); color: #CFCBBC; padding-block: 44px; font-size: .94rem; }
.footer-inner { display: grid; gap: 16px; }
.footer-mark { width: 52px; height: 38px; color: var(--blue); }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 0; padding: 0; }
.footer-links a { color: var(--ivory); text-underline-offset: 4px; }
@media (min-width: 760px) { .footer-inner { grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; } }

/* ---------- Privacy view (shown at #privacy) ---------- */
.privacy { background: var(--ivory); }
.privacy .wrap { max-width: calc(760px + 2 * var(--gutter)); }
.privacy-inner { display: grid; gap: 14px; }
.privacy h1 { font-size: clamp(2.4rem, 7vw, 3.5rem); }
.privacy h2 { font-size: 1.75rem; margin-top: 18px; }
.privacy ul { margin: 0; padding-left: 22px; display: grid; gap: 6px; }
.privacy .updated { color: #6E675C; font-size: .94rem; }
body.show-privacy main > :not(.privacy) { display: none; }
body:not(.show-privacy) .privacy { display: none; }

/* ---------- Mobile-only spacing refinements (desktop untouched) ---------- */
@media (max-width: 759px) {
  .hero { padding-block: 32px 44px; }
  .hero-grid { gap: 36px; }
  .hero-copy { gap: 18px; }
  .how { padding-block: 52px; }
  .how .section-head { margin-bottom: 24px; }
  .steps { gap: 18px; }
  .steps li { gap: 6px; padding-top: 14px; }
  .audience { padding-block: 52px; }
  .audience-grid { gap: 28px; }
  .audience-copy { gap: 16px; }
  .founder { padding-block: 52px; }
  .founder-grid { gap: 20px; }
  .closing { padding-block: 52px; }
  .closing-inner { gap: 16px; }
}

/* Base resets (previously supplied by the preview host) */
img { max-width: 100%; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
