/* Landing v2. A shared editorial grid for the story, use case and security pages. */
:root { --v2-gutter:clamp(48px,9vw,128px); }
html:has(.v2-page) { scroll-padding-top:64px; }
.content-width { width:min(100% - var(--v2-gutter),1120px); margin-inline:auto; }
.site-header .wrap, .site-footer .wrap { width:min(100% - var(--v2-gutter),1200px); }
.site-nav { gap:24px; font-size:13px; }
.site-nav .button-small { font-size:12px; }
.site-menu { display:none; }
.site-footer { margin-top:0; }
.section-label { display:flex; align-items:baseline; gap:12px; margin-bottom:24px; color:var(--muted); font:13px/1.5 var(--sans); letter-spacing:0; }
.section-number, .mono-label { font:11px/1.6 var(--mono); color:var(--muted); }
.inline-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; font-size:14px; text-decoration:none; }
.inline-link:hover { text-decoration:underline; }
.inline-link span { color:var(--muted); }
.chapter { width:100%; min-height:calc(100svh - 64px); padding-block:160px; display:flex; align-items:center; border-top:1px solid var(--rule); }
.chapter-content { min-width:0; }
.chapter .section-intro { text-align:left; }
.chapter .section-intro>.section-label { justify-content:flex-start; margin-top:0; margin-bottom:24px; }
.chapter .section-intro>p { margin-inline:0; max-width:52ch; }
.chapter .section-intro h2, .chapter .split-heading h2 { font-size:clamp(36px,4vw,56px); line-height:1.08; max-width:22ch; }
.chapter .split-heading { align-items:flex-end; gap:40px; margin-bottom:48px; }
.chapter .split-heading>p { max-width:35ch; flex:0 1 350px; }
.section-follow { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:64px; padding-top:24px; border-top:1px solid var(--rule); }
.section-follow p { max-width:50ch; color:var(--muted); font-size:12px; line-height:1.7; }
.section-follow a { flex:none; }

/* The title and the field share a canvas. The readout belongs to the baseline. */
.recovery-hero { padding-top:96px; }
.hero-copy h1 { font-size:clamp(48px,5vw,72px); line-height:1.045; letter-spacing:-.052em; max-width:none; }
.hero-description { max-width:420px; margin-top:28px; font-size:16px; line-height:1.6; }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:26px; }
.hero-actions .button { font-size:13px; }
.hero-copy .inline-link { margin-top:0; font-size:13px; }
.recovery-hero .agent-field-stage { height:600px; margin-top:-190px; }
.field-axis { inset:56px 12% auto 62%; }
.field-controls { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:28px; bottom:24px; width:min(100% - var(--v2-gutter),1120px); left:50%; right:auto; transform:translateX(-50%); padding-top:20px; border-top:1px solid var(--rule); }
.field-clusters { grid-column:1; grid-row:1; }
.field-clusters button { border-radius:2px; padding-inline:12px; }
.field-clusters button[aria-pressed=true] { background:transparent; border-color:var(--rule-2); }
.field-insight { position:static; width:auto; padding:0; border:0; border-radius:0; box-shadow:none; background:none; grid-column:2; grid-row:1; display:grid; grid-template-columns:auto 1fr; gap:4px 18px; align-items:center; }
.field-insight-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.field-insight-value { margin:0; font:500 26px/1.2 var(--sans); letter-spacing:-.04em; grid-column:1; grid-row:1/3; }
.field-insight-label { margin:0; color:var(--ink-2); font-size:11px; }
.field-insight-footer { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:0 8px; padding:0; margin:0; border:0; font-size:10px; }
.field-insight-footer strong { font-weight:400; color:var(--muted); }
#field-pause { grid-column:3; grid-row:1; min-width:110px; padding-inline:8px; }
.hero-foot { border:0; padding-block:0 40px; margin-top:0; }
.name-next { margin-top:24px; }
.equation-sticky { min-height:calc(100svh - 64px); }
.equation-section { border-top:1px solid var(--rule); }
.equation-sticky h2 { font-weight:500; }
.name-copy h2 { font-size:clamp(34px,4vw,52px); }
.name-copy .section-label { margin-bottom:28px; }
.engine-chip { border-radius:4px; background:var(--black); box-shadow:none; outline:8px solid var(--black); }
.flow-engine>p { top:196px; }

/* Prevention carries the same comparison motif from one billing cycle to the next. */
.prevention-visual { display:grid; grid-template-columns:repeat(3,1fr); gap:64px; margin-top:72px; }
.prevention-step { position:relative; border-top:1px solid var(--rule-2); padding-top:20px; }
.prevention-step h3 { margin-top:30px; font-size:20px; }
.prevention-step p { color:var(--muted); font-size:13px; margin-top:9px; }
.mini-comparison { position:relative; width:154px; height:64px; margin-top:32px; }
.mini-comparison i { position:absolute; width:116px; height:20px; left:0; background:var(--ink); }
.mini-comparison i:nth-child(2) { top:44px; }
.mini-comparison b { position:absolute; width:28px; height:20px; top:44px; left:126px; background:var(--diff-hatch); box-shadow:inset 0 0 0 1px var(--text-difference); }
.corrected:after { content:''; position:absolute; left:131px; top:0; height:64px; width:1px; background:var(--text-observed); }
.mini-rule { height:64px; margin-top:32px; display:grid; gap:4px; align-content:center; border-left:1px solid var(--text-observed); padding-left:22px; }
.mini-rule span { font-size:36px; letter-spacing:-.04em; color:var(--text-observed); }
.mini-rule small { font:11px var(--mono); color:var(--muted); }
.contact-section .invitation-intro { margin-top:32px; font-size:14px; }
.contact-section .evaluation-invitation { display:grid; grid-template-columns:repeat(3,1fr); max-width:660px; margin:24px auto 0; padding-block:24px; border-block:1px solid var(--rule); }
.evaluation-invitation>div { padding-inline:12px; font-size:14px; }
.evaluation-invitation small { display:block; color:var(--muted); font:11px var(--mono); margin-top:10px; }

/* Companion pages begin with a concise record and an in-page index. */
.subpage-hero { padding-block:96px 56px; }
.subpage-heading { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:100px; }
.subpage-heading h1 { font-size:clamp(44px,5vw,68px); line-height:1.06; letter-spacing:-.045em; }
.subpage-description { color:var(--ink-2); font-size:17px; line-height:1.7; max-width:44ch; margin-top:26px; }
.record-preview { border-block:1px solid var(--rule-2); padding-block:24px; }
.record-preview dl { margin-top:24px; }
.record-preview dl>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-block:14px; border-top:1px solid var(--rule); }
.record-preview dt { font-size:12px; color:var(--ink-2); }
.record-preview dd { font:18px var(--mono); letter-spacing:-.04em; }
.record-preview .preview-difference dd { color:var(--text-difference); }
.record-preview>p { color:var(--muted); font-size:11px; margin-top:16px; }
.page-index { display:flex; flex-wrap:wrap; gap:12px 40px; margin-top:64px; padding-top:24px; border-top:1px solid var(--rule); }
.page-index a { display:flex; align-items:center; gap:14px; min-height:44px; font-size:13px; text-decoration:none; }
.page-index a:hover { text-decoration:underline; }
.page-index a span { color:var(--muted); font:10px var(--mono); }
.use-case-page .chapter { padding-block:128px; }
.recovery-workbench, .credit-record { background:transparent; border-radius:3px; }
.case-picker button { border-radius:2px; }
.case-picker button[aria-pressed=true] { background:#171a1c; }
.coverage-key { border-top:1px solid var(--rule); padding-top:24px; }
.coverage-key>div:first-child strong { color:var(--muted); }
.coverage-key strong { color:var(--muted); font-size:18px; }
.coverage-key .grade-current strong, .coverage-key .grade-current span { color:var(--text-observed); }
.coverage-key .grade-current { border-left:1px solid var(--text-observed); padding-left:14px; }
.coverage-key span { font-size:12px; }
.legend-difference { background:var(--diff-hatch); border:1px solid #b56c5c; }

/* Security applies the same type, evidence blue, numbered chapters and open surfaces. */
.security-page { --text-observed:#b4ccdc; }
.boundary-preview { border-top:1px solid var(--rule-2); padding-top:24px; }
.boundary-preview>div { display:flex; align-items:center; gap:22px; position:relative; padding-block:20px; border-bottom:1px solid var(--rule); }
.boundary-preview i { flex:none; width:16px; height:16px; border:1px solid var(--text-observed); }
.boundary-preview>div:last-child i { background:var(--text-observed); }
.boundary-preview span { font-size:15px; }
.boundary-preview small { display:block; color:var(--muted); font-size:11px; margin-top:5px; }
.security-page .trust-heading h2, .security-contact h2 { font-size:clamp(34px,3.7vw,50px); line-height:1.1; }
.security-page .trust-heading>p:last-child { color:var(--ink-2); }
.security-page .architecture-section .trust-heading { display:grid; grid-template-columns:1fr 1fr; gap:0 80px; }
.security-page .architecture-section .trust-heading .section-label { grid-column:1/-1; }
.security-page .architecture-section .trust-heading>p:last-child { align-self:end; margin:0; }
.security-page .architecture-figure { margin-top:56px; }
.security-page .architecture-boundary { background:transparent; border:1px solid var(--rule-2); }
.security-page .boundary-label { font:13px var(--sans); letter-spacing:0; text-transform:none; }
.security-page .hosted-boundary .boundary-label { color:var(--text-observed); }
.security-page .handoff-line { background:var(--text-observed); }
.security-page .handoff-line:after { border-color:var(--text-observed); }
.security-page .trust-section>.chapter-content, .security-page .security-contact>.chapter-content { display:grid; grid-template-columns:1fr 1.2fr; gap:88px; }
.security-page .role-table thead th { text-transform:none; letter-spacing:0; font-family:var(--mono); }
.security-page .trust-copy p { color:var(--ink-2); }
.security-page .trust-copy .trust-note { color:var(--muted); }
.security-page .section-label { margin-bottom:24px; }
.security-page .technical-details summary { min-height:44px; }

@media(max-width:1100px) {
  .site-nav { gap:16px; font-size:12px; }
  .subpage-heading { gap:56px; }
  .field-controls { gap:18px; }
  .field-insight { gap:4px 12px; }
  .field-insight-value { font-size:23px; }
  .field-insight-footer strong { display:none; }
  .prevention-visual { gap:32px; }
  .flow-engine>p { top:175px; }
  .security-page .trust-section>.chapter-content, .security-page .security-contact>.chapter-content { gap:48px; }
}
@media(max-width:800px) {
  .site-nav { display:none; }
  .site-menu { display:block; position:relative; }
  .site-menu summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; padding-inline:12px; font-size:13px; cursor:pointer; list-style:none; }
  .site-menu summary::-webkit-details-marker { display:none; }
  .site-menu summary span { font-size:20px; font-weight:300; }
  .site-menu[open] summary span { transform:rotate(45deg); }
  .site-menu nav { position:absolute; top:54px; right:0; width:min(264px,calc(100vw - 48px)); padding:12px 20px; background:var(--black); border:1px solid var(--rule-2); box-shadow:0 16px 28px #0005; }
  .site-menu nav a { display:flex; align-items:center; min-height:48px; text-decoration:none; font-size:14px; }
  .site-menu nav a:hover, .site-menu nav a[aria-current] { text-decoration:underline; }
  .chapter, .use-case-page .chapter { min-height:calc(100svh - 168px); padding-block:96px; }
  .chapter .section-intro h2, .chapter .split-heading h2 { font-size:clamp(34px,6vw,46px); }
  .chapter .split-heading { margin-bottom:36px; }
  .chapter .split-heading>p { margin-top:20px; }
  .chapter .section-intro>p { font-size:15px; }
  .recovery-hero { padding-top:64px; }
  .hero-copy h1 { font-size:clamp(48px,8vw,64px); }
  .hero-description { max-width:420px; margin-inline:auto; font-size:16px; }
  .hero-actions { justify-content:center; }
  .recovery-hero .agent-field-stage { margin-top:0; height:520px; }
  .field-controls { grid-template-columns:1fr auto; row-gap:18px; bottom:28px; padding-top:14px; }
  .field-insight { grid-column:1/-1; grid-row:2; justify-content:center; grid-template-columns:auto auto; text-align:left; }
  #field-pause { grid-column:2; }
  .field-insight-footer strong { display:inline; }
  .hero-foot { padding-bottom:40px; }
  .equation-sticky { min-height:calc(100svh - 168px); }
  .name-story { gap:48px; }
  .name-motif { max-width:360px; }
  .name-copy h2 { font-size:clamp(34px,6vw,46px); }
  .section-follow { flex-direction:column; align-items:flex-start; gap:12px; margin-top:48px; }
  .prevention-visual { gap:24px; margin-top:48px; }
  .mini-comparison { transform:scale(.85); transform-origin:left center; width:132px; }
  .prevention-step h3 { font-size:18px; }
  .mini-rule span { font-size:29px; }
  .mini-rule { padding-left:14px; }
  .mini-rule small { font-size:10px; }
  .flow-engine>p { top:151px; }
  .subpage-hero { padding-block:64px 40px; }
  .subpage-heading { grid-template-columns:1fr; gap:48px; }
  .subpage-heading h1 { font-size:clamp(42px,7vw,60px); }
  .record-preview, .boundary-preview { max-width:500px; width:100%; }
  .page-index { gap:8px 28px; margin-top:40px; }
  .security-page .trust-section>.chapter-content, .security-page .security-contact>.chapter-content { grid-template-columns:1fr; gap:40px; }
  .security-page .architecture-section .trust-heading { display:block; }
  .security-page .architecture-section .trust-heading>p:last-child { margin-top:24px; }
}
@media(max-width:600px) {
  .hero-copy h1 { font-size:clamp(42px,10vw,58px); max-width:10ch; margin-inline:auto; }
  .hero-category { font-size:11px; }
  .hero-description { font-size:15px; }
  .hero-actions { flex-direction:column; gap:8px; }
  .field-controls { gap:14px 0; }
  .field-clusters { width:auto; justify-content:flex-start; }
  .field-clusters button { padding-inline:8px; font-size:10px; }
  #field-pause { min-width:88px; font-size:10px; padding-inline:3px; }
  .field-insight-value { font-size:26px; }
  .field-insight-label { font-size:10px; }
  .field-insight-footer { font-size:9px; }
  .field-insight-footer strong { display:none; }
  .prevention-visual { grid-template-columns:1fr; gap:36px; }
  .prevention-step { display:grid; grid-template-columns:130px 1fr; gap:0 18px; }
  .prevention-step .mono-label { grid-column:1/-1; }
  .prevention-step h3 { margin-top:28px; align-self:end; }
  .prevention-step p { grid-column:2; margin-top:10px; font-size:12px; }
  .mini-comparison, .mini-rule { grid-column:1; grid-row:2/4; margin-top:28px; }
  .mini-rule span { font-size:28px; }
  .contact-section .evaluation-invitation { grid-template-columns:1fr; gap:18px; max-width:360px; }
  .evaluation-invitation>div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:0; }
  .evaluation-invitation small { margin:0; }
  .subpage-description { font-size:15px; }
  .page-index { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
  .security-page .architecture-figure { margin-top:40px; }
  .flow-engine>p { position:static; margin-top:0; }
  .engine-chip { width:130px; }
  .name-motif figcaption { font-size:12px; }
}
@media(max-width:380px) {
  .field-clusters button { padding-inline:6px; }
  .field-insight-value { font-size:24px; }
  .prevention-step { grid-template-columns:112px 1fr; gap:0 12px; }
  .mini-comparison { transform:scale(.72); width:112px; }
  .name-equation { font-size:15px; }
  .hero-foot { font-size:10px; }
}
