:root {
  --forest-950: #082a24;
  --forest-900: #0d352d;
  --forest-800: #174d40;
  --forest-700: #286453;
  --moss: #97ad84;
  --lichen: #dfe7d5;
  --cream: #f4efe2;
  --paper: #fbf8ef;
  --ink: #17352e;
  --ink-soft: #536b64;
  --orange: #f26d3d;
  --orange-dark: #d95026;
  --action: #b83a2d;
  --action-hover: #c94838;
  --action-pressed: #9d2f25;
  --action-depth: #742119;
  --action-border: #922c23;
  --action-text: #fffdf7;
  --action-ring: #f29a82;
  --white: #fffdf7;
  --line: rgba(13, 53, 45, 0.16);
  --brand-font: "Matter", "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: var(--brand-font);
  --sans: var(--brand-font);
  --shadow: 0 2rem 5rem rgba(8, 42, 36, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
:target { scroll-margin-top: 2.5rem; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.52; -webkit-font-smoothing: antialiased; }
body::before { position: fixed; z-index: 50; inset: 0; pointer-events: none; content: ""; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); }
a { color: inherit; }
svg { display: block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
.wrap { width: min(100% - 2.25rem, 76rem); margin-inline: auto; }
.search-summary { width: min(100% - 2.25rem, 52rem); margin-inline: auto; padding-block: 4rem; }
.search-summary > p:first-child { color: var(--forest-700); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.search-summary h1 { max-width: 14ch; }
.search-summary h2 { margin-top: 3rem; font-size: clamp(2rem, 7vw, 3.5rem); }
.search-summary > p { max-width: 43rem; color: var(--ink-soft); }
.search-summary > a { display: inline-flex; min-height: 52px; align-items: center; margin-top: 1rem; padding: .9rem 1.2rem; border: 1px solid var(--action-border); border-radius: .7rem; background: var(--action); color: var(--action-text); font-weight: 700; text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 4px 0 var(--action-depth), 0 1rem 2rem rgba(116,33,25,.22); }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .75rem 1rem; transform: translateY(-160%); background: var(--paper); }
.skip-link:focus { transform: translateY(0); }
.notice-bar { display: flex; min-height: 2.25rem; align-items: center; justify-content: center; gap: .5rem; padding: .4rem 1rem; background: var(--orange); color: var(--forest-950); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.notice-dot { width: .45rem; height: .45rem; border: 1.5px solid currentColor; border-radius: 50%; box-shadow: 0 0 0 3px rgba(8,42,36,.12); }
.site-header { display: flex; min-height: 5.4rem; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .55rem; color: var(--forest-900); font-family: var(--display); font-size: 1.45rem; font-weight: 500; letter-spacing: -.035em; line-height: 1; text-decoration: none; }
.brand > span > span { color: var(--orange-dark); font-weight: 700; }
.brand-mark { width: 1.9rem; height: 1.9rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.5; }
.brand-mark__core { fill: var(--orange); stroke: none; }
.header-cta { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .5rem; padding: .72rem .85rem; border: 1px solid var(--action-border); border-radius: .65rem; background: var(--action); color: var(--action-text); font-size: .68rem; font-weight: 700; line-height: 1; text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 3px 0 var(--action-depth), 0 .7rem 1.4rem rgba(116,33,25,.2); transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.header-cta:hover { transform: translateY(-2px); background: var(--action-hover); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 5px 0 var(--action-depth), 0 .9rem 1.7rem rgba(116,33,25,.26); }
.header-cta:active { transform: translateY(2px); background: var(--action-pressed); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 1px 0 var(--action-depth); }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.25rem; color: var(--forest-700); font-size: .7rem; font-weight: 600; letter-spacing: .11em; line-height: 1.25; text-transform: uppercase; }
.eyebrow span { display: inline-grid; flex: 0 0 auto; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: .58rem; }
.eyebrow--light { color: #b5c7aa; }
.campaign-hero { position: relative; overflow: hidden; }
.campaign-hero::after { position: absolute; z-index: 0; top: 2rem; right: -7rem; width: 18rem; height: 18rem; border: 1px solid rgba(151,173,132,.42); border-radius: 50%; box-shadow: inset 0 0 0 2.4rem transparent, inset 0 0 0 2.45rem rgba(151,173,132,.26), inset 0 0 0 5rem transparent, inset 0 0 0 5.05rem rgba(151,173,132,.18); content: ""; }
.campaign-hero__grid { position: relative; z-index: 1; display: grid; gap: 3rem; padding-block: 4rem 4.5rem; }
.campaign-hero__copy { min-width: 0; }
h1 { max-width: 12ch; margin-bottom: 1.5rem; overflow-wrap: anywhere; font-family: var(--display); font-size: clamp(3.15rem, 10vw, 5.4rem); font-weight: 500; letter-spacing: -.04em; line-height: .94; }
h2 { margin-bottom: 1.15rem; font-family: var(--display); font-size: clamp(2.35rem, 10vw, 4.7rem); font-weight: 500; letter-spacing: -.032em; line-height: 1; }
h3 { font-family: var(--display); font-size: 1.65rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.08; }
.hero-lede { max-width: 38rem; margin-bottom: 1.75rem; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.7; }
.hero-actions { display: grid; gap: .85rem; }
.button { display: inline-flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .95rem 1.1rem; border: 1px solid transparent; border-radius: .7rem; font-size: .82rem; font-weight: 700; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 1.25rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.button--primary svg { width: 1.75rem; height: 1.75rem; padding: .3rem; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.12); stroke-width: 2; }
.button--primary { border-color: var(--action-border); background: var(--action); color: var(--action-text); box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 4px 0 var(--action-depth), 0 1rem 2rem rgba(116,33,25,.22); }
.button--primary:hover { background: var(--action-hover); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 6px 0 var(--action-depth), 0 1.2rem 2.4rem rgba(116,33,25,.28); }
.button--primary:active { transform: translateY(3px); background: var(--action-pressed); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 1px 0 var(--action-depth); }
.button--outline { border: 1px solid var(--forest-700); background: transparent; color: var(--forest-900); }
.button--outline:hover { background: rgba(13,53,45,.06); }
.button--secondary { border: 1px solid rgba(223,231,213,.35); background: transparent; color: var(--paper); }
.button--secondary:hover { background: rgba(223,231,213,.08); }
.text-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--forest-700); color: var(--forest-700); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.microcopy { margin: 1rem 0 0; color: var(--ink-soft); font-size: .72rem; }
.persona-note { position: relative; padding: 2rem 1.35rem 1.4rem; border: 1px solid var(--line); background: rgba(244,239,226,.72); box-shadow: .65rem .65rem 0 rgba(151,173,132,.2); }
.persona-note::before { position: absolute; top: -.5rem; left: calc(50% - .5rem); width: 1rem; height: 1rem; border: 2px solid var(--paper); border-radius: 50%; background: var(--orange); box-shadow: 0 2px 5px rgba(0,0,0,.2); content: ""; }
.persona-note__label { display: block; margin-bottom: 1.3rem; color: var(--forest-700); font-size: .66rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.persona-note h2 { font-size: 2rem; }
.persona-note ol { margin: 0; padding: 0; list-style: none; }
.persona-note li { display: grid; grid-template-columns: 2rem 1fr; gap: .65rem; padding: .85rem 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .85rem; }
.persona-note li span { color: var(--forest-700); font-size: .68rem; font-weight: 600; letter-spacing: .06em; }
.persona-cottage .campaign-hero { background: var(--forest-900); color: var(--paper); }
.persona-cottage .campaign-hero .hero-lede, .persona-cottage .campaign-hero .microcopy { color: #b5c7aa; }
.persona-cottage .campaign-hero .eyebrow, .persona-cottage .campaign-hero .text-link { color: #b5c7aa; }
.persona-cottage .campaign-hero .text-link { border-color: #b5c7aa; }
.persona-cottage .persona-note { background: var(--cream); color: var(--ink); }
.persona-backyard .campaign-hero { background: var(--lichen); }
.persona-backyard .persona-note { background: var(--paper); box-shadow: .65rem .65rem 0 rgba(242,109,61,.17); }
.pathway-section { padding-block: 4.75rem; }
.pathway-grid { display: grid; gap: 1rem; }
.pathway-card { display: flex; min-width: 0; flex-direction: column; padding: 1.5rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--cream); }
.pathway-card--after { background: var(--forest-900); color: var(--paper); box-shadow: var(--shadow); }
.pathway-tag { display: block; margin-bottom: 2.5rem; color: var(--forest-700); font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.pathway-card--after .pathway-tag { color: var(--orange); }
.pathway-card h3 { max-width: 15ch; margin-bottom: 1rem; font-size: 2rem; }
.pathway-card > p { color: var(--ink-soft); font-size: .88rem; }
.pathway-card--after > p { color: #afc0b7; }
.pathway-card ul { display: grid; gap: .55rem; margin: 1rem 0 1.75rem; padding: 0; color: var(--ink-soft); font-size: .76rem; list-style: none; }
.pathway-card--after ul { color: #afc0b7; }
.pathway-card li { position: relative; padding-left: 1rem; }
.pathway-card li::before { position: absolute; top: .65em; left: 0; width: .35rem; height: .35rem; border-radius: 50%; background: var(--orange); content: ""; }
.pathway-card .button { width: 100%; margin-top: auto; }
.pathway-boundary { max-width: 54rem; margin: 1.5rem 0 0; padding-left: 1rem; border-left: 2px solid var(--orange); color: var(--ink-soft); font-size: .78rem; }
.pathway-boundary strong { color: var(--ink); }
.campaign-briefing { padding-block: 4.5rem; background: var(--forest-950); color: var(--paper); }
.section-heading { max-width: 49rem; margin-bottom: 2.5rem; }
.section-heading > p:last-child { max-width: 42rem; color: var(--ink-soft); }
.section-heading--light > p:last-child { color: #a9bdb3; }
.campaign-vsl { overflow: hidden; border: 1px solid rgba(223,231,213,.24); border-radius: 1rem; background: var(--forest-900); box-shadow: var(--shadow); }
.campaign-vsl__top { display: flex; justify-content: space-between; padding: .9rem 1rem; border-bottom: 1px solid rgba(223,231,213,.14); color: #9fb4a9; font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.campaign-vsl__stage { position: relative; display: grid; min-height: 25rem; place-items: center; overflow: hidden; padding: 4rem 1.5rem 6.25rem; }
.campaign-vsl__rings { position: absolute; width: 18rem; height: 18rem; border: 1px solid rgba(151,173,132,.18); border-radius: 50%; box-shadow: inset 0 0 0 3rem transparent, inset 0 0 0 3.05rem rgba(151,173,132,.12), inset 0 0 0 6rem transparent, inset 0 0 0 6.05rem rgba(151,173,132,.1); }
.campaign-scene { position: absolute; z-index: 2; width: min(88%, 43rem); opacity: 0; transform: translateY(12px); text-align: center; transition: opacity .35s ease, transform .35s ease; pointer-events: none; }
.campaign-scene.is-active { opacity: 1; transform: translateY(0); }
.campaign-scene p { margin-bottom: 1rem; color: var(--orange); font-size: .65rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.campaign-scene h3 { margin-bottom: .9rem; color: var(--paper); font-size: clamp(2rem, 9vw, 4rem); font-weight: 500; }
.campaign-scene > span { display: block; max-width: 36rem; margin-inline: auto; color: #afc0b7; font-size: .86rem; }
.campaign-vsl__play { position: absolute; z-index: 4; bottom: 1.5rem; display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border: 2px solid var(--forest-950); border-radius: 50%; background: var(--orange); color: var(--forest-950); box-shadow: 0 0 0 4px rgba(242,109,61,.2); cursor: pointer; }
.pause-shape { display: none; font-weight: 600; }
.campaign-vsl__play.is-playing .play-shape { display: none; }
.campaign-vsl__play.is-playing .pause-shape { display: block; }
.campaign-vsl__progress { height: 2px; margin: 0 1rem; background: rgba(223,231,213,.13); }
.campaign-vsl__progress span { display: block; width: 0; height: 100%; background: var(--orange); transition: width .4s linear; }
.campaign-vsl__chapters { display: grid; grid-template-columns: repeat(3,1fr); gap: .2rem; padding: .75rem; }
.campaign-vsl__chapters button { min-height: 50px; border: 0; border-radius: .35rem; background: transparent; color: #8fa59a; font: 500 .68rem var(--sans); cursor: pointer; }
.campaign-vsl__chapters button span { display: none; }
.campaign-vsl__chapters button.is-active { background: rgba(223,231,213,.1); color: var(--paper); }
.briefing-action { display: grid; gap: 1.25rem; align-items: center; margin-top: 1.5rem; padding: 1.25rem; border: 1px solid rgba(223,231,213,.14); border-radius: .7rem; }
.briefing-action p { margin: 0; color: #a9bdb3; font-size: .85rem; }
.briefing-action strong { color: var(--paper); font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
.problem-section, .journey-section, .faq-section { padding-block: 4.75rem; }
.problem-grid { display: grid; gap: 1rem; }
.problem-card { min-height: 18rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--cream); }
.problem-card > span, .steps-grid > li > span { color: var(--orange-dark); font-size: .68rem; font-weight: 600; letter-spacing: .1em; }
.problem-card h3 { margin: 4.5rem 0 1rem; font-size: 1.9rem; }
.problem-card p { margin: 0; color: var(--ink-soft); font-size: .88rem; }
.truth-strip { padding-block: 4.75rem; background: var(--forest-800); color: var(--paper); }
.truth-strip h2 em { color: var(--orange); font-weight: 500; }
.truth-strip__content { display: grid; gap: 1.25rem; }
.truth-strip__intro, .truth-strip__boundary { margin: 0; color: #b9c8c0; font-size: .88rem; }
.truth-strip__boundary { padding-left: 1rem; border-left: 2px solid var(--orange); }
.truth-strip__boundary strong { color: var(--paper); }
.program-flow { display: grid; gap: .6rem; }
.program-flow > div { display: grid; grid-template-columns: 2rem 1fr; column-gap: .75rem; padding: 1rem; border: 1px solid rgba(223,231,213,.17); border-radius: .55rem; background: rgba(8,42,36,.2); }
.program-flow span { grid-row: span 2; color: var(--orange); font-size: .63rem; font-weight: 600; letter-spacing: .08em; }
.program-flow strong { color: var(--paper); font-family: var(--display); font-size: 1.18rem; font-weight: 500; }
.program-flow p { margin: .1rem 0 0; color: #9eb2a8; font-size: .72rem; line-height: 1.35; }
.truth-strip__copy { display: grid; gap: 1rem; }
.truth-strip__copy p { margin: 0; padding: 1.25rem; border-left: 2px solid var(--orange); background: rgba(8,42,36,.18); color: #b9c8c0; font-size: .88rem; }
.truth-strip__copy strong { color: var(--paper); }
.steps-grid { margin: 0; padding: 0; list-style: none; }
.steps-grid li { padding: 1.5rem; border-top: 1px solid var(--line); }
.steps-grid h3 { margin: 2rem 0 .65rem; font-size: 1.75rem; }
.steps-grid p { margin: 0; color: var(--ink-soft); font-size: .88rem; }
.journey-grid { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.journey-grid li { min-width: 0; padding: 1.4rem; border: 1px solid var(--line); background: rgba(244,239,226,.6); }
.journey-grid li > span { color: var(--orange-dark); font-size: .64rem; font-weight: 600; letter-spacing: .1em; }
.journey-grid h3 { margin: 2.25rem 0 .7rem; font-size: 1.55rem; }
.journey-grid p { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.program-emphasis { display: grid; grid-template-columns: repeat(2,1fr); gap: .5rem; margin-top: 1.25rem; }
.program-emphasis span { display: grid; min-height: 3.5rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--forest-700); font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.persona-band { position: relative; overflow: hidden; padding-block: 4.75rem; background: var(--orange); color: var(--forest-950); }
.persona-band::after { position: absolute; right: -6rem; bottom: -7rem; width: 20rem; height: 20rem; border: 1px solid rgba(8,42,36,.2); border-radius: 50%; box-shadow: inset 0 0 0 3rem transparent, inset 0 0 0 3.05rem rgba(8,42,36,.14), inset 0 0 0 6rem transparent, inset 0 0 0 6.05rem rgba(8,42,36,.12); content: ""; }
.persona-band__grid { position: relative; z-index: 1; display: grid; gap: 2rem; }
.persona-band .eyebrow { color: var(--forest-950); }
.persona-band h2 { max-width: 13ch; }
.persona-band p:last-child { max-width: 42rem; }
.marker-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; align-content: end; }
.marker-grid span { display: grid; min-height: 5.5rem; place-items: center; border: 1px solid rgba(8,42,36,.35); border-radius: 50%; font-size: .7rem; font-weight: 600; text-align: center; }
.campaign-expert { padding-block: 5rem; background: var(--forest-800); color: var(--paper); }
.campaign-expert__grid { display: grid; gap: 2.5rem; }
.campaign-expert__portrait { max-width: 29rem; margin: 0; overflow: hidden; border: 1px solid rgba(223,231,213,.22); background: var(--forest-900); }
.campaign-expert__portrait img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 23%; filter: saturate(.88); }
.campaign-expert__copy h2 { max-width: 15ch; font-size: clamp(2.5rem,8vw,4.5rem); }
.campaign-expert__copy > p { max-width: 46rem; color: #c3d0c9; }
.campaign-expert__copy > a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: var(--orange); font-size: .78rem; font-weight: 600; text-underline-offset: .2em; }
.campaign-sources { max-width: 48rem; margin-top: 2rem; padding: 1.25rem; border: 1px solid rgba(223,231,213,.18); background: rgba(8,42,36,.2); }
.campaign-sources strong { display: block; margin-bottom: .45rem; color: var(--paper); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }
.campaign-sources p { margin: 0; color: #a9bdb3; font-size: .74rem; line-height: 1.6; }
.campaign-sources a { color: var(--paper); text-underline-offset: .18em; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; min-height: 4.75rem; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; font-family: var(--display); font-size: 1.25rem; font-weight: 600; line-height: 1.15; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { position: relative; flex: 0 0 auto; width: 1.85rem; height: 1.85rem; border: 1px solid var(--line); border-radius: 50%; }
.faq-list summary span::before, .faq-list summary span::after { position: absolute; top: 50%; left: 50%; width: .7rem; height: 1px; transform: translate(-50%,-50%); background: var(--forest-700); content: ""; }
.faq-list summary span::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .2s ease; }
.faq-list details[open] summary span::after { transform: translate(-50%,-50%) rotate(0); }
.faq-list details p { max-width: 50rem; padding: 0 3rem 1.5rem 0; color: var(--ink-soft); font-size: .88rem; }
.campaign-final { position: relative; overflow: hidden; padding-block: 5rem 7rem; background: var(--forest-950); color: var(--paper); }
.campaign-final__grid { display: grid; gap: 2.5rem; }
.campaign-final__grid > div:first-child > p:last-child { max-width: 40rem; color: #a9bdb3; }
.eligibility-card { padding: 1.25rem; border: 1px solid rgba(223,231,213,.25); border-radius: .8rem; background: rgba(23,77,64,.3); }
.eligibility-card > span { display: block; margin-bottom: 1.15rem; color: #a9bdb3; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.eligibility-card .button { width: 100%; }
.eligibility-card .button + .button { margin-top: .7rem; }
.eligibility-card p { margin: 1rem 0 0; color: #849c90; font-size: .68rem; }
.site-footer { padding-block: 3.5rem 7rem; background: #071f1b; color: #7f988c; }
.footer-grid { display: grid; gap: 2rem; }
.brand--footer { color: var(--paper); }
.footer-brand p { max-width: 19rem; margin: 1rem 0 0; font-size: .72rem; }
.footer-nav { display: grid; align-content: start; gap: .65rem; }
.footer-nav strong { margin-bottom: .2rem; color: #dce6df; font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; }
.footer-nav a { width: fit-content; color: #91a99d; font-size: .75rem; text-decoration: none; }
.footer-nav a:hover { color: var(--paper); text-decoration: underline; text-underline-offset: .2em; }
.footer-bottom { display: grid; gap: .75rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(223,231,213,.12); }
.footer-bottom p { max-width: 52rem; margin: 0; font-size: .68rem; }
.mobile-cta { position: fixed; z-index: 40; right: .7rem; bottom: .7rem; left: .7rem; display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: .85rem 1rem; border: 1px solid var(--action-border); border-radius: .7rem; background: var(--action); color: var(--action-text); box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 4px 0 var(--action-depth), 0 1rem 2rem rgba(116,33,25,.28); font-size: .78rem; font-weight: 700; text-decoration: none; transition: transform .25s ease, opacity .25s ease; }
.mobile-cta.is-hidden { opacity: 0; transform: translateY(140%); pointer-events: none; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal--delay { transition-delay: .12s; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
*:focus-visible { outline: 3px solid var(--action-ring); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; transition: none; } }

@media (min-width: 640px) {
  .wrap { width: min(100% - 4rem, 76rem); }
  .header-cta { padding-inline: 1rem; font-size: .74rem; }
  .hero-actions { grid-template-columns: max-content minmax(13rem,18rem); align-items: center; }
  .campaign-vsl__chapters { grid-template-columns: repeat(6,1fr); }
  .campaign-vsl__chapters button span { display: block; margin-bottom: .1rem; font-size: .56rem; }
  .briefing-action { grid-template-columns: 1fr max-content; }
  .pathway-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .problem-grid { grid-template-columns: repeat(3,1fr); }
  .journey-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .program-emphasis { grid-template-columns: repeat(3,1fr); }
  .marker-grid { grid-template-columns: repeat(4,1fr); }
  .mobile-cta { right: 1rem; bottom: 1rem; left: auto; width: 19rem; }
}

@media (min-width: 1024px) {
  .site-header { min-height: 6rem; }
  .campaign-hero__grid { grid-template-columns: minmax(0,1.55fr) minmax(20rem,.8fr); align-items: end; gap: 5.5rem; padding-block: 7rem 7.5rem; }
  .hero-lede { font-size: 1.12rem; }
  .persona-note { padding: 2.4rem 1.8rem 1.6rem; transform: rotate(-1deg); }
  .persona-cottage .persona-note { transform: rotate(1deg); }
  .persona-backyard .persona-note { transform: rotate(-.5deg); }
  .pathway-section, .campaign-briefing, .problem-section, .journey-section, .faq-section, .truth-strip, .persona-band, .campaign-expert { padding-block: 7rem; }
  .pathway-card { min-height: 31rem; padding: 2.25rem; }
  .pathway-card h3 { font-size: 2.55rem; }
  .campaign-vsl__stage { min-height: 31rem; }
  .campaign-vsl__top { padding: 1rem 1.5rem; }
  .campaign-vsl__progress { margin-inline: 1.5rem; }
  .campaign-vsl__chapters { padding: 1rem 1.25rem 1.25rem; }
  .problem-card { min-height: 22rem; padding: 2rem; }
  .problem-card h3 { margin-top: 7rem; font-size: 2.2rem; }
  .truth-strip__grid { display: grid; grid-template-columns: .7fr 1.25fr 1.2fr; gap: 3rem; align-items: start; }
  .truth-strip h2 { font-size: clamp(3rem,4.5vw,4.8rem); }
  .journey-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .journey-grid li { min-height: 17rem; padding: 1.65rem; }
  .journey-grid h3 { margin-top: 4.25rem; font-size: 1.75rem; }
  .program-emphasis { grid-template-columns: repeat(6,1fr); }
  .steps-grid li { min-height: 18rem; padding: 2rem; border-right: 1px solid var(--line); }
  .steps-grid li:last-child { border-right: 0; }
  .steps-grid h3 { margin-top: 5rem; font-size: 2.1rem; }
  .persona-band__grid { grid-template-columns: 1.4fr .85fr; align-items: end; gap: 5rem; }
  .campaign-final { padding-block: 7rem; }
  .campaign-final__grid { grid-template-columns: 1.35fr .75fr; align-items: end; gap: 5rem; }
  .campaign-final h2 { font-size: clamp(3.3rem,5.5vw,5.8rem); }
  .campaign-expert__grid { grid-template-columns: minmax(18rem,.72fr) minmax(0,1.28fr); align-items: center; gap: 5rem; }
  .footer-grid { grid-template-columns: 1.2fr .75fr 1fr .65fr; align-items: start; }
  .footer-bottom { grid-template-columns: 1fr auto; align-items: end; }
  .site-footer { padding-bottom: 3rem; }
  .mobile-cta { display: none; }
}
