:root {
  --charcoal: #34363B;
  --charcoal-deep: #2D3035;
  --coral: #E27F6E;
  --coral-dark: #C9685A;
  --blue: #5F82A8;
  --mustard: #C2A12D;
  --paper: #EEECE8;
  --white: #FFFDFB;
  --stone: #7E7D7A;
  --ink: #2D2D31;
  --rule: #D8D5D1;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Aptos, Arial, sans-serif;
  --mono: "Cascadia Mono", Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 17px; line-height: 1.62; }
a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; background: var(--white); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.site-header, main > section, main > aside, footer, .policy-page { padding-left: max(5vw, calc((100vw - 1180px) / 2)); padding-right: max(5vw, calc((100vw - 1180px) / 2)); }

.site-header { min-height: 132px; display: flex; align-items: center; background: var(--charcoal); color: var(--white); border-top: 7px solid var(--coral); }
.brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; }
.brand-mark { width: 80px; height: 72px; overflow: visible; }
.brand-words { display: grid; line-height: 1; }
.brand-words strong { font: 700 1.58rem var(--serif); letter-spacing: .015em; }
.brand-words small { margin-top: .42rem; color: var(--coral); font: 800 .7rem var(--sans); letter-spacing: .28em; text-transform: uppercase; }

.hero { min-height: 760px; display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr); gap: clamp(2rem, 4vw, 4.5rem); align-items: center; padding-top: clamp(5rem, 8vw, 7rem); padding-bottom: clamp(5rem, 8vw, 7rem); background: linear-gradient(135deg, var(--charcoal) 0%, #2D3035 100%); color: var(--white); overflow: hidden; }
.eyebrow, .section-label, .card-kicker { margin: 0 0 1.1rem; color: var(--coral); font: 800 .8rem/1.45 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { color: var(--charcoal); font-family: var(--serif); line-height: 1.08; }
h1 { margin: 0; color: var(--white); font-size: clamp(3.2rem, 6vw, 5.75rem); letter-spacing: -.045em; }
h1 em { color: var(--coral); font-weight: 400; }
.lede { max-width: 760px; margin: 2rem 0 0; font: italic clamp(1.3rem, 2.2vw, 1.8rem)/1.4 var(--serif); color: #FFF9F3; }
.hero-detail { max-width: 720px; margin: 1.6rem 0 0; color: #D8D5D1; font-size: 1.03rem; }
.hero-actions { display: flex; align-items: center; gap: 1.4rem; margin-top: 2.3rem; flex-wrap: wrap; }
.button { display: inline-block; padding: .86rem 1.15rem; border-radius: 6px; font-weight: 800; text-decoration: none; line-height: 1.3; }
.button.primary { background: var(--coral); color: #2D2D31; }
.button.primary:hover, .button.primary:focus-visible { background: #C9685A; }
.text-link { color: var(--white); font-weight: 700; text-underline-offset: .25rem; }
.button.workflow {
  display: inline-flex; align-items: center; gap: .82rem;
  padding: 1rem 1.2rem 1rem 1.35rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--coral) 0%, #D97666 58%, #C9685A 100%);
  color: #25272B;
  box-shadow: 0 12px 28px rgba(9,11,14,.24), inset 0 1px 0 rgba(255,255,255,.24);
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.button.workflow .button-arrow {
  display: inline-grid; place-items: center;
  width: 1.75rem; height: 1.75rem;
  border-radius: 50%;
  background: rgba(45,45,49,.12);
  border: 1px solid rgba(45,45,49,.16);
  font-size: 1rem; line-height: 1;
}
.button.workflow:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(9,11,14,.30), inset 0 1px 0 rgba(255,255,255,.28);
  filter: saturate(1.04) brightness(1.03);
}
.button.workflow:focus-visible {
  outline: 3px solid #FFF9F3;
  outline-offset: 4px;
  transform: translateY(-2px);
}
.hero-visual { min-width: 0; margin: 0; position: relative; }
.visual-frame { display: block; padding: .68rem; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-top: 4px solid var(--coral); border-radius: 8px; background: rgba(255,255,255,.075); box-shadow: 0 28px 70px rgba(10,12,16,.34); transition: transform .2s ease, border-color .2s ease; }
.screenshot-trigger { width: 100%; appearance: none; color: inherit; font: inherit; text-align: left; cursor: zoom-in; }
.visual-frame:hover { border-color: rgba(255,255,255,.42); border-top-color: var(--coral); transform: translateY(-3px); }
.visual-frame img { display: block; width: 100%; height: auto; border-radius: 4px; }
.hero-visual figcaption { max-width: 570px; margin: 1.15rem .4rem 0; color: #D8D5D1; font-size: .86rem; line-height: 1.5; }
.hero-visual figcaption strong { color: var(--white); }
.view-full { color: #E7EFF7; text-decoration: underline; text-decoration-color: rgba(221,232,242,.45); text-underline-offset: .2rem; }
.technical-rail { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem .4rem 0; }
.technical-rail span { padding: .38rem .58rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #E7EFF7; background: rgba(95,130,168,.14); font: 700 .67rem var(--mono); letter-spacing: .025em; }

.update-strip { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem 2.5rem; align-items: center; padding-top: 1.25rem; padding-bottom: 1.25rem; border-top: 1px solid #E27F6E; border-bottom: 1px solid #E27F6E; background: #F9E5E0; }
.update-strip strong { color: var(--charcoal); font: 800 .78rem/1.45 var(--mono); letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.update-strip p { margin: 0; color: #7E7D7A; font-size: .9rem; line-height: 1.55; }

body.lightbox-open { overflow: hidden; }
.screenshot-dialog { width: min(1120px, calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: var(--charcoal-deep); color: var(--white); box-shadow: 0 28px 90px rgba(0,0,0,.5); }
.screenshot-dialog::backdrop { background: rgba(20,22,27,.82); backdrop-filter: blur(4px); }
.lightbox-shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: calc(100dvh - 2rem); }
.lightbox-toolbar { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 1rem .7rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.lightbox-toolbar strong { font: 700 1.05rem var(--serif); }
.lightbox-close { min-width: 88px; min-height: 44px; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.25); border-radius: 6px; background: var(--white); color: var(--charcoal); font: 800 .9rem var(--sans); cursor: pointer; }
.lightbox-close:hover, .lightbox-close:focus-visible { background: #F9E5E0; }
.lightbox-close span { margin-left: .25rem; font-size: 1.2rem; line-height: 1; }
.lightbox-scroll { min-height: 0; overflow: auto; padding: 1rem; background: #EEECE8; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.lightbox-image { display: block; width: 1063px; max-width: none; height: auto; margin: 0 auto; border-radius: 8px; box-shadow: 0 8px 28px rgba(30,32,37,.18); }
.lightbox-hint { margin: 0; padding: .65rem 1rem .75rem; color: #D8D5D1; font-size: .78rem; text-align: center; }

.statement { padding-top: 7rem; padding-bottom: 7rem; text-align: center; background: var(--white); }
.statement h2 { max-width: 980px; margin: 0 auto; font-size: clamp(2.5rem, 5vw, 4.7rem); letter-spacing: -.035em; }
.statement > p:not(.section-label) { max-width: 760px; margin: 1.6rem auto 0; color: var(--stone); font: italic 1.27rem/1.55 var(--serif); }
.statement .firewall-example { max-width: 820px; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); color: var(--charcoal); font: 700 1.02rem/1.6 var(--sans); }

.workflow, .features { padding-top: 6.5rem; padding-bottom: 6.5rem; }
.workflow { border-top: 4px solid var(--coral); }
.section-intro { max-width: 760px; }
.section-intro h2, .spending-model h2, .trust h2, .audience h2, .founders h2, .contact h2 { margin: 0; font-size: clamp(2.2rem, 4.6vw, 4rem); letter-spacing: -.03em; }
.section-intro > p:last-child { max-width: 680px; margin: 1.4rem 0 0; color: #7E7D7A; }
.collaboration { padding-top: 6.5rem; padding-bottom: 6.5rem; border-top: 1px solid var(--rule); background: #E7EFF7; }
.collaboration .section-intro { max-width: 850px; }
.collaboration-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3.25rem; }
.collaboration-grid article { min-height: 255px; padding: 2rem; border: 1px solid #D8D5D1; border-top: 4px solid var(--stone); border-radius: 8px; background: rgba(255,253,251,.72); }
.collaboration-grid article:nth-child(2) { border-top-color: var(--mustard); }
.collaboration-grid .collaboration-choice { border-top-color: var(--coral); background: var(--white); box-shadow: 0 16px 36px rgba(52,54,59,.1); }
.collaboration-grid h3 { margin: .6rem 0 1rem; font-size: 1.65rem; }
.collaboration-grid p:last-child { margin: 0; color: #7E7D7A; }
.analysis-path { display: grid; grid-template-columns: repeat(5, 1fr); margin: 3.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.analysis-path li { min-height: 104px; display: grid; align-content: center; gap: .4rem; padding: 1rem; background: rgba(255,253,251,.7); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); color: var(--charcoal); font-weight: 750; line-height: 1.3; }
.analysis-path span { color: var(--blue); font: 800 .67rem var(--mono); letter-spacing: .1em; }
.decision-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.decision-grid article { min-height: 300px; padding: 2rem; background: var(--white); border-top: 4px solid var(--mustard); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.decision-grid article:first-child { border-top-color: var(--coral); }
.decision-grid article:last-child { border-top-color: var(--blue); }
.decision-grid article:nth-child(2) { background: #F9E5E0; }
.decision-grid article:nth-child(3) { background: #E7EFF7; }
.decision-grid h3 { margin: .6rem 0 1rem; font-size: 1.7rem; }
.decision-grid p:last-child { margin: 0; color: #7E7D7A; }
.matched-path-note { max-width: 880px; margin: 1.5rem 0 0; padding-left: 1.25rem; border-left: 4px solid var(--coral); color: #7E7D7A; }
.matched-path-note strong { color: var(--charcoal); }

.funding-bridge { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; padding-top: 6.5rem; padding-bottom: 6.5rem; border-top: 1px solid var(--rule); background: #E7EFF7; }
.funding-copy h2 { margin: 0; font-size: clamp(2.2rem, 4.6vw, 4rem); letter-spacing: -.03em; }
.funding-copy > p:not(.section-label) { color: #7E7D7A; }
.funding-principle { margin-top: 1.8rem; padding-top: 1.5rem; border-top: 1px solid rgba(52,54,59,.18); color: var(--charcoal) !important; font: 700 1.08rem/1.55 var(--serif); }
.funding-figure { min-width: 0; margin: 0; }
.funding-visual { overflow: hidden; border: 1px solid #D8D5D1; border-top: 5px solid var(--coral); border-radius: 9px; background: var(--white); box-shadow: 0 22px 50px rgba(43,54,66,.13); }
.funding-visual-header { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding: 1rem 1.2rem; border-bottom: 1px solid var(--rule); }
.funding-visual-header span { color: var(--charcoal); font: 700 1.08rem var(--serif); }
.funding-visual-header strong { color: var(--blue); font: 800 .7rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.funding-flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.18fr) auto minmax(0, 1fr); gap: .7rem; align-items: stretch; padding: 1.4rem; }
.funding-node, .funding-sources { min-width: 0; padding: 1rem; border: 1px solid var(--rule); border-radius: 6px; }
.funding-node { display: grid; align-content: center; gap: .4rem; }
.funding-need { background: #F9E5E0; border-top: 4px solid var(--coral); }
.funding-ending { background: #E7EFF7; border-top: 4px solid var(--blue); }
.funding-node-label { color: #7E7D7A; font: 800 .66rem/1.35 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.funding-node strong { color: var(--charcoal); font: 700 1.18rem/1.2 var(--serif); }
.funding-node small { color: #7E7D7A; font-size: .76rem; line-height: 1.4; }
.funding-sources { display: grid; gap: .48rem; background: #FFFDFB; border-top: 4px solid var(--mustard); }
.funding-sources div { padding: .55rem .65rem; border-left: 3px solid var(--mustard); background: var(--white); color: var(--charcoal); font-size: .78rem; font-weight: 700; line-height: 1.3; }
.funding-arrow { align-self: center; color: var(--blue); font: 700 1.45rem var(--serif); }
.funding-figure figcaption { margin: .9rem .2rem 0; color: #7E7D7A; font-size: .8rem; line-height: 1.5; }

.spending-model { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; padding-top: 6.5rem; padding-bottom: 6.5rem; border-top: 1px solid var(--rule); background: var(--white); }
.spending-copy > p:not(.section-label) { color: #7E7D7A; }
.spending-principle { margin-top: 1.8rem; padding-top: 1.5rem; border-top: 1px solid var(--rule); color: var(--charcoal) !important; font: 700 1.08rem/1.55 var(--serif); }
.spending-table-wrap { overflow-x: auto; }
.spending-table { width: 100%; min-width: 570px; border-collapse: collapse; background: #FFFDFB; font-size: .88rem; line-height: 1.45; }
.spending-table caption { padding: 0 0 .8rem; color: var(--stone); font: 700 .78rem/1.45 var(--mono); letter-spacing: .09em; text-align: left; text-transform: uppercase; }
.spending-table th, .spending-table td { padding: 1rem; border: 1px solid var(--rule); text-align: left; vertical-align: top; }
.spending-table thead th { background: var(--charcoal); color: var(--white); }
.spending-table thead th:nth-child(2) { border-top: 4px solid var(--coral); }
.spending-table thead th:nth-child(3) { border-top: 4px solid var(--blue); }
.spending-table tbody th { color: var(--charcoal); background: #EEECE8; font-family: var(--serif); font-size: 1rem; }
.spending-table tbody td:nth-child(2) { background: #F9E5E0; }
.spending-table tbody td:nth-child(3) { background: #E7EFF7; }

.features { background: var(--paper); }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 4rem; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.feature-grid article { min-height: 280px; padding: 2rem; background: rgba(255,253,251,.53); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.feature-number { color: var(--blue); font: 800 .72rem var(--mono); letter-spacing: .12em; }
.feature-grid article:nth-child(2) .feature-number { color: var(--coral); }
.feature-grid article:nth-child(3) .feature-number { color: #C2A12D; }
.feature-grid h3 { margin: 1.25rem 0 .8rem; font-size: 1.7rem; }
.feature-grid p { margin: 0; color: #7E7D7A; }
.feature-grid code { padding: .08rem .28rem; border-radius: 3px; background: #EEECE8; color: var(--charcoal); font: .88em var(--mono); }

.trust { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 7vw, 7rem); padding-top: 6.5rem; padding-bottom: 6.5rem; border-top: 5px solid var(--coral); background: var(--charcoal); color: var(--white); }
.trust h2 { color: var(--white); }
.trust ul { margin: 0; padding: 0; list-style: none; align-self: center; }
.trust li { display: grid; grid-template-columns: 145px 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.14); }
.trust li:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
.trust li strong { color: #FFF9F3; font-family: var(--serif); }
.trust li span { color: #D8D5D1; }

.audience { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem, 7vw, 7rem); padding-top: 6.5rem; padding-bottom: 6.5rem; background: #E7EFF7; color: var(--ink); }
.audience h2 { color: var(--charcoal); }
.audience ul { margin: 0; padding: 0; list-style: none; align-self: center; }
.audience li { padding: 1rem 0 1rem 1.6rem; border-top: 1px solid rgba(52,54,59,.16); position: relative; }
.audience li::before { content: ""; position: absolute; left: 0; top: 1.65rem; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }

.founders { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); padding-top: 7rem; padding-bottom: 7rem; background: var(--white); }
.founder-copy p { margin: 0 0 1.3rem; color: var(--stone); }
.founder-copy p:first-child { color: var(--ink); font: italic 1.27rem/1.55 var(--serif); }

.contact { padding-top: 7rem; padding-bottom: 7rem; text-align: center; background: var(--blue); color: var(--white); }
.contact .section-label { color: #FFF9F3; }
.contact h2 { max-width: 940px; margin: 0 auto; color: var(--white); }
.contact-intro { max-width: 680px; margin: 1.5rem auto 2rem; }
.contact-address { display: grid; gap: .1rem; margin: 0 auto 1rem; }
.contact-address span { color: #E7EFF7; font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-address strong { color: var(--white); font: 700 clamp(1.25rem, 3vw, 1.8rem) var(--serif); overflow-wrap: anywhere; }
.button.light { background: var(--white); color: var(--charcoal); }
.copy-email { border: 0; font-family: var(--sans); font-size: .96rem; cursor: pointer; }
.copy-email:hover, .copy-email:focus-visible { background: #F9E5E0; }
.copy-status { min-height: 1.4rem; margin: .65rem auto 0; color: #FFF9F3; font-size: .82rem; }
.contact-note { margin: 1rem auto 0; font-size: .8rem; opacity: .8; }

footer { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem 3rem; padding-top: 3.2rem; padding-bottom: 3.2rem; background: var(--charcoal-deep); color: #D8D5D1; font-size: .82rem; }
footer strong { color: var(--white); font: 700 1.15rem var(--serif); }
footer p { margin: .3rem 0 0; }
.footer-links { display: flex; gap: 1.4rem; }
.footer-links a { color: var(--white); text-underline-offset: .25rem; }
.legal { grid-column: 1 / -1; max-width: 980px; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); color: #B9B6B2; }
.copyright { grid-column: 1 / -1; color: #7E7D7A; }

.policy-page { padding-top: 5rem; padding-bottom: 7rem; }
.policy-hero { max-width: 900px; padding-bottom: 3rem; border-bottom: 1px solid var(--rule); }
.policy-hero h1 { color: var(--charcoal); font-size: clamp(3rem, 6vw, 5.5rem); }
.policy-hero > p:last-child { color: var(--stone); }
.policy-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); gap: 5rem; margin-top: 4rem; }
.policy-nav { display: flex; flex-direction: column; gap: .55rem; position: sticky; top: 2rem; align-self: start; font-size: .86rem; }
.policy-nav strong { margin-bottom: .4rem; color: var(--charcoal); }
.policy-nav a { color: var(--stone); text-underline-offset: .2rem; }
.policy-content section { margin-bottom: 3.4rem; scroll-margin-top: 2rem; }
.policy-content h2 { margin: 0 0 1rem; font-size: 1.8rem; }
.policy-content p { color: #7E7D7A; }
.policy-content a { color: #4F739A; }
.policy-email-action { display: grid; justify-items: start; gap: .75rem; margin-top: 1.25rem; padding: 1.25rem; border-left: 4px solid var(--coral); background: rgba(95,130,168,.08); }
.policy-email-address { color: var(--charcoal); font: 700 clamp(1.1rem, 2.5vw, 1.4rem) var(--serif); overflow-wrap: anywhere; }
.policy-copy-email { border: 0; background: var(--charcoal); color: var(--white); font-family: var(--sans); font-size: .9rem; cursor: pointer; }
.policy-copy-email:hover, .policy-copy-email:focus-visible { background: #34363B; }
.policy-copy-status { min-height: 1.3rem; margin: 0; color: #4F739A !important; font-size: .8rem; }

a:focus-visible { outline: 3px solid var(--mustard); outline-offset: 4px; }

@media (max-width: 980px) {
  .funding-bridge { grid-template-columns: 1fr; }
  .funding-figure { max-width: 760px; }
}

@media (max-width: 800px) {
  body { font-size: 16px; }
  .site-header { min-height: 92px; }
  .hero, .funding-bridge, .spending-model, .trust, .audience, .founders { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-visual { max-width: 680px; margin-top: 1rem; }
  .visual-frame { transform: none; }
  .feature-grid { grid-template-columns: 1fr; }
  .analysis-path { grid-template-columns: 1fr; }
  .analysis-path li { min-height: 76px; grid-template-columns: 42px 1fr; align-items: center; }
  .collaboration-grid { grid-template-columns: 1fr; }
  .collaboration-grid article { min-height: auto; }
  .decision-grid { grid-template-columns: 1fr; }
  .decision-grid article { min-height: auto; }
  .funding-figure { max-width: 680px; }
  .policy-layout { grid-template-columns: 1fr; gap: 2rem; }
  .policy-nav { position: static; display: grid; grid-template-columns: repeat(2, 1fr); padding-bottom: 2rem; border-bottom: 1px solid var(--rule); }
  .policy-nav strong { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .site-header, main > section, main > aside, footer, .policy-page { padding-left: 1.25rem; padding-right: 1.25rem; }
  .site-header { min-height: 104px; }
  .brand-mark { width: 60px; height: 54px; }
  .brand-words strong { font-size: 1.18rem; }
  .brand-words small { font-size: .56rem; }
  h1 { font-size: clamp(2.85rem, 16vw, 4.2rem); }
  .visual-frame { margin-left: -.3rem; margin-right: -.3rem; padding: .45rem; }
  .hero-visual figcaption { font-size: .8rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .update-strip { grid-template-columns: 1fr; gap: .45rem; }
  .update-strip strong { white-space: normal; }
  .funding-visual-header { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .funding-flow { grid-template-columns: 1fr; gap: .55rem; }
  .funding-arrow { justify-self: center; transform: rotate(90deg); line-height: 1; }
  .trust li { grid-template-columns: 1fr; gap: .25rem; }
  .screenshot-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .lightbox-shell { max-height: calc(100dvh - 1rem); }
  .lightbox-toolbar { min-height: 58px; padding-left: .9rem; }
  .lightbox-toolbar strong { font-size: .92rem; }
  .lightbox-scroll { padding: .55rem; }
  footer { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ===== v4.7.7 Batch 1 website refresh ===== */
.best-fit { padding-top: 6.5rem; padding-bottom: 6.5rem; background: var(--white); border-top: 1px solid var(--rule); }
.best-fit-copy { max-width: 900px; }
.best-fit-copy > p:last-child { max-width: 850px; color: var(--stone); }
.fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 3rem; }
.fit-grid article { padding: 2rem; border: 1px solid var(--rule); background: #FFFDFB; }
.fit-grid .fit-yes { border-top: 4px solid var(--blue); }
.fit-grid .fit-no { border-top: 4px solid var(--coral); }
.fit-grid h3 { margin: .55rem 0 .75rem; font-size: 1.45rem; }
.fit-grid p:last-child { margin: 0; color: var(--stone); }

.five-stage { margin: 2.2rem 0 3rem; padding: 1.15rem 1.25rem 1.3rem; border: 1px solid var(--rule); background: rgba(255,253,251,.72); }
.five-stage-title { margin: 0 0 .9rem; color: var(--charcoal); font: 800 .74rem/1.3 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.five-stage ol { display: grid; grid-template-columns: repeat(5,1fr); gap: .7rem; list-style: none; margin: 0; padding: 0; }
.five-stage li { min-height: 92px; padding: .85rem .8rem; border: 1px solid var(--rule); border-top: 4px solid var(--blue); background: var(--white); }
.five-stage li:nth-child(2), .five-stage li:nth-child(5) { border-top-color: var(--coral); }
.five-stage li:nth-child(3) { border-top-color: var(--mustard); }
.five-stage li:nth-child(4) { border-top-color: var(--charcoal); }
.five-stage li span { display: block; margin-bottom: .45rem; color: var(--stone); font: 800 .7rem var(--mono); }
.five-stage li strong { color: var(--charcoal); font: 700 .95rem/1.35 var(--serif); }

.three-year-map { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; padding: 1.1rem; }
.three-year-map article { min-height: 165px; padding: 1rem; border: 1px solid var(--rule); border-top: 4px solid var(--blue); background: var(--white); }
.three-year-map article:nth-child(2) { border-top-color: var(--coral); }
.three-year-map article:nth-child(3) { border-top-color: var(--mustard); }
.three-year-map span { display: block; margin-bottom: .7rem; color: var(--stone); font: 800 .7rem/1.3 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.three-year-map strong { display: block; color: var(--charcoal); font: 700 1.02rem/1.42 var(--serif); }
.three-year-map small { display: block; margin-top: .8rem; color: var(--stone); font-size: .76rem; }

.deliverables { padding-top: 6.5rem; padding-bottom: 6.5rem; background: var(--paper); }
.deliverable-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 3.5rem; }
.deliverable-grid article { min-height: 260px; padding: 2rem; border: 1px solid var(--rule); border-top: 4px solid var(--blue); background: rgba(255,253,251,.7); }
.deliverable-grid article:nth-child(2) { border-top-color: var(--coral); }
.deliverable-grid article:nth-child(3) { border-top-color: var(--mustard); }
.deliverable-grid h3 { margin: 1rem 0 .75rem; font-size: 1.55rem; }
.deliverable-grid p { margin: 0; color: var(--stone); }
.annual-cycle { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2.5rem; align-items: center; margin-top: 1.2rem; padding: 2.3rem; background: var(--charcoal); color: var(--white); border-top: 5px solid var(--coral); }
.annual-cycle h3 { margin: 0 0 .6rem; color: var(--white); font-size: 1.8rem; }
.annual-cycle > div > p:last-child { color: #D8D5D1; margin-bottom: 0; }
.annual-cycle ol { display: grid; grid-template-columns: repeat(6,1fr); gap: .5rem; list-style: none; margin: 0; padding: 0; }
.annual-cycle li { min-height: 88px; display: grid; align-content: center; gap: .35rem; padding: .75rem; border: 1px solid rgba(255,255,255,.18); text-align: center; color: #FFF9F3; font: 700 .82rem/1.3 var(--sans); }
.annual-cycle li span { color: #F0C98A; font: 800 .7rem var(--mono); }

.assumptions { padding-top: 6.5rem; padding-bottom: 6.5rem; background: var(--white); border-top: 1px solid var(--rule); }
.assumption-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; margin-top: 3rem; }
.assumption-grid article { padding: 1.8rem; border: 1px solid var(--rule); background: #FFFDFB; }
.assumption-grid article:nth-child(1) { border-top: 4px solid var(--blue); }
.assumption-grid article:nth-child(2) { border-top: 4px solid var(--coral); }
.assumption-grid article:nth-child(3) { border-top: 4px solid var(--mustard); }
.assumption-grid article:nth-child(4) { border-top: 4px solid var(--blue); }
.assumption-grid article:nth-child(5) { border-top: 4px solid var(--coral); }
.assumption-grid h3 { margin: .65rem 0 .75rem; font-size: 1.35rem; }
.assumption-grid p:last-child { margin: 0; color: var(--stone); }

.input-integrity { padding-top: 6.5rem; padding-bottom: 6.5rem; background: var(--paper); border-top: 1px solid var(--rule); }
.integrity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
.integrity-grid article { padding:1.9rem; border:1px solid var(--rule); background:rgba(255,253,251,.8); min-height:245px; }
.integrity-grid article:nth-child(1) { border-top:4px solid var(--coral); }
.integrity-grid article:nth-child(2) { border-top:4px solid var(--blue); }
.integrity-grid article:nth-child(3) { border-top:4px solid var(--mustard); }
.integrity-grid h3 { margin:.65rem 0 .75rem; font-size:1.4rem; }
.integrity-grid p:last-child { margin:0; color:var(--stone); }
.integrity-note { margin:1rem 0 0; padding:1.05rem 1.2rem; border-left:4px solid var(--blue); background:var(--blue-pale); color:var(--stone); }
.integrity-note strong { color:var(--charcoal); }

.trust-intro { color: #D8D5D1; margin-top: 1.2rem; }
.trust code { padding: .08rem .28rem; background: rgba(255,255,255,.08); color: #FFF9F3; font: .9em var(--mono); }
.trust-stack { align-self: center; }
.trust-limit { margin: 1.3rem 0 0; padding: 1.05rem 1.1rem; border-left: 4px solid var(--mustard); background: rgba(255,255,255,.06); color: #D8D5D1; font-size: .88rem; }
.trust-limit strong { color: #FFF9F3; }

@media (max-width: 900px) {
  .fit-grid, .deliverable-grid, .assumption-grid, .integrity-grid, .annual-cycle { grid-template-columns: 1fr; }
  .five-stage ol { grid-template-columns: 1fr 1fr; }
  .annual-cycle ol { grid-template-columns: repeat(6, minmax(120px, 1fr)); overflow-x: auto; padding-bottom: .25rem; }
}
@media (max-width: 700px) {
  .three-year-map { grid-template-columns: 1fr; }
  .five-stage ol { grid-template-columns: 1fr; }
}

/* ---------- v4.8.3 contrast refinement ----------
   Presentation-only. Brand hues remain unchanged; separation, secondary text,
   borders, and workflow surfaces are deliberately firmer for easier reading. */
:root {
  --paper: #E7E3DE;
  --stone: #5F5E5B;
  --rule: #C7C2BC;
  --blue-pale: #DDE8F3;
  --coral-pale: #F5D7D1;
  --sun-pale: #F4E8B0;
  --stone-pale: #E4E3DF;
  --indigo-pale: #D9E1ED;
}

body { background: var(--paper); }
.hero-detail,
.hero-visual figcaption,
.update-strip p,
.statement > p:not(.section-label),
.section-intro > p:last-child,
.best-fit-copy > p:last-child,
.fit-grid p:last-child,
.collaboration-grid p:last-child,
.decision-grid p:last-child,
.funding-copy > p:not(.section-label),
.funding-node-label,
.funding-node small,
.funding-figure figcaption,
.spending-copy > p:not(.section-label),
.feature-grid p,
.integrity-grid p:last-child,
.founder-copy p,
.policy-hero > p:last-child,
.policy-content p,
.policy-nav a { color: var(--stone); }

.fit-grid article,
.collaboration-grid article,
.decision-grid article,
.feature-grid article,
.integrity-grid article,
.funding-node,
.spending-table,
.annual-cycle,
.policy-email-action {
  border-color: var(--rule);
}

.fit-grid article,
.collaboration-grid article,
.decision-grid article,
.feature-grid article,
.integrity-grid article,
.funding-node {
  box-shadow: 0 5px 18px rgba(52,54,59,.08);
}

.collaboration-grid article { background: #FBFAF7; }
.collaboration-grid .collaboration-choice { background: var(--white); box-shadow: 0 16px 36px rgba(52,54,59,.14); }
.feature-grid article { background: rgba(255,253,251,.88); }
.integrity-grid article { background: #FBFAF7; }
.integrity-note { background: var(--blue-pale); color: var(--stone); }

.analysis-path { border-color: #BEB9B3; }
.analysis-path li {
  border-color: #BEB9B3;
  box-shadow: inset 0 4px 0 transparent;
}
.analysis-path li:nth-child(1) { background: var(--blue-pale); box-shadow: inset 0 4px 0 var(--blue); }
.analysis-path li:nth-child(2) { background: var(--coral-pale); box-shadow: inset 0 4px 0 var(--coral); }
.analysis-path li:nth-child(3) { background: var(--sun-pale); box-shadow: inset 0 4px 0 var(--mustard); }
.analysis-path li:nth-child(4) { background: var(--stone-pale); box-shadow: inset 0 4px 0 #7A7975; }
.analysis-path li:nth-child(5) { background: var(--indigo-pale); box-shadow: inset 0 4px 0 #5D72A0; }
.analysis-path li:nth-child(1) span { color: #466D96; }
.analysis-path li:nth-child(2) span { color: #B55749; }
.analysis-path li:nth-child(3) span { color: #866B0F; }
.analysis-path li:nth-child(4) span { color: #64635F; }
.analysis-path li:nth-child(5) span { color: #4F638D; }

.decision-grid article:nth-child(2) { background: var(--coral-pale); }
.decision-grid article:nth-child(3) { background: var(--blue-pale); }
.funding-bridge { background: var(--blue-pale); }
.spending-table tbody th { background: #E3DFDA; }
.spending-table tbody td:nth-child(2) { background: var(--coral-pale); }
.spending-table tbody td:nth-child(3) { background: var(--blue-pale); }
.audience { background: var(--blue-pale); }

.update-strip { background: var(--coral-pale); }
.technical-rail span { background: rgba(95,130,168,.22); }

.trust li { border-color: rgba(255,255,255,.22); }
.trust li span { color: #E3E0DC; }
.legal { color: #C9C5C0; }
.copyright { color: #A7A39E; }

.policy-content a,
.policy-copy-status { color: #3E668E !important; }
