/* Homepage: a single persistent action, with details on demand. */
.infrastructure { padding-block:24px; }
.infrastructure-heading { border-top:1px solid var(--ink); padding:22px 0 26px; }
.infrastructure-heading h2 { font-size:var(--fs-h2); line-height:1.1; white-space:nowrap; }
.infrastructure-map { width:min(100%,1120px); margin-inline:auto; }
.infrastructure-defs { position:absolute; width:0; height:0; overflow:hidden; }
.infrastructure-nodes { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; align-items:start; padding:0; margin:0; text-align:center; }
.infrastructure-nodes li { min-width:0; display:flex; flex-direction:column; align-items:center; color:#142950; }
.infrastructure-node-label { display:block; color:#142950; font:600 16px/1.25 Plex,sans-serif; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; }
.infrastructure-nodes svg { display:block; width:150px; max-width:92%; height:auto; }
.workflow-nodes .infrastructure-node-label { margin-bottom:1px; }
.label-short { display:none; }
.infrastructure-connectors { display:block; width:100%; overflow:visible; }
.infrastructure-connectors path { vector-effect:non-scaling-stroke; }
.infrastructure-connectors.connectors-tablet,.infrastructure-connectors.connectors-phone { display:none; }
.infrastructure-connectors-in { position:relative; z-index:2; height:80px; margin-bottom:-30px; fill:#5fb585; }
.infrastructure-connectors-out { position:relative; z-index:2; height:75px; margin-top:-16px; margin-bottom:-7px; fill:#5fb585; }
.infrastructure-layer { position:relative; width:86%; height:255px; margin-inline:auto; color:var(--ink); }
.infrastructure-slab { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.slab-narrow { display:none; }
.infrastructure-brand { position:absolute; top:44px; left:0; width:100%; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.infrastructure-brand::after { content:""; display:block; width:240px; max-width:70%; height:1px; background:#cfe9dd; }
.infrastructure-brand > p { display:flex; align-items:center; justify-content:center; gap:8px; color:#354a43; font-size:16px; white-space:nowrap; }
.infrastructure .infrastructure-brand .veriker-wordmark { height:19px; width:auto; margin:0; vertical-align:middle; }
.infrastructure-capabilities { position:absolute; top:122px; left:9%; width:82%; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0; margin:0; text-align:center; }
.infrastructure-capabilities li { display:flex; flex-direction:column; align-items:center; min-width:0; color:#142950; font-size:16px; font-weight:600; line-height:1.2; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.infrastructure-capabilities li + li { border-left:1px solid #b6ddd0; }
.infrastructure-capabilities svg { display:block; width:124px; height:auto; }
.infrastructure-capabilities span { display:block; margin-top:10px; }
.system-nodes svg { margin-bottom:1px; }
.infrastructure-map figcaption { margin-top:36px; text-align:center; font-size:16px; color:#3f5874; }
@media (min-width:900px) {
  .infrastructure-heading { padding-bottom:11px; }
  .infrastructure-layer { height:270px; }
}
.home-proof { padding-bottom: 0; }
.proof-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; border-top:1px solid var(--ink); }
.proof-heading h2 { font-size:1.125rem; letter-spacing:-.02em; }
.proof-workspace { border:1px solid var(--line); }
.proof-subject { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:28px 36px; background:var(--wash); }
.proof-subject h3 { font-size:1.5rem; margin-top:7px; }
.proof-subject h3 span { font-size:16px; color:var(--muted); letter-spacing:0; margin-left:12px; }
.proof-amount { display:flex; gap:18px; align-items:center; flex-wrap:wrap; font-size:1.5rem; letter-spacing:-.035em; }
.proof-amount > span { color:var(--muted); }
.proof-amount strong { font-weight:400; }
.proof-amount small { font-size:16px; letter-spacing:0; padding-left:18px; border-left:1px solid var(--line); }
.proof-tabs { display:flex; gap:32px; padding:0 36px; border-bottom:1px solid var(--line); }
.proof-tabs button { border:0; border-bottom:2px solid transparent; background:none; padding:19px 4px; font-size:16px; color:var(--muted); }
.proof-tabs button[aria-selected="true"] { border-bottom-color:var(--ink); color:var(--ink); }
.proof-tabs button:hover { color:var(--accent); }
.proof-panel[hidden] { display:none; }
.proof-stage { display:grid; grid-template-columns:1fr 1fr; min-height:340px; }
.proof-source { padding:40px 36px; display:flex; flex-direction:column; align-items:start; }
.proof-label { display:flex; justify-content:space-between; width:100%; gap:12px; align-items:center; }
.source-indicator { color:var(--hold); font-size:16px; }
.source-indicator.received { color:var(--accent); }
.proof-value { font-size:clamp(24px,2.3vw,34px); line-height:1.2; letter-spacing:-.035em; margin-top:28px; }
.proof-description { color:var(--muted); font-size:16px; max-width:330px; margin-top:14px; }
.proof-source .button { margin-top:auto; padding:12px 16px; min-height:48px; font-size:16px; gap:22px; }
.proof-source .proof-description { margin-bottom:28px; }
.proof-result { background:#17231e; color:white; margin:24px 24px 24px 0; padding:32px; display:flex; flex-direction:column; align-items:start; position:relative; }
.proof-result h3 { font-size:clamp(28px,3.1vw,44px); line-height:1.08; margin-top:28px; }
.proof-result > p { color:#c6d0ca; font-size:16px; margin-top:14px; max-width:330px; }
.result-line { display:block; height:2px; width:40px; background:#dcb675; margin-top:auto; transition:width .45s ease,background .45s ease; }
.is-released .result-line { width:100%; background:var(--mint); }
.proof-payoff { border-top:1px solid var(--line); display:flex; gap:16px; padding:20px 36px; font-size:16px; align-items:baseline; }
.proof-tick { color:var(--accent); }
.policy-edit { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; margin-block:12px 22px; width:100%; border-bottom:1px solid var(--line); font-size:16px; }
.policy-edit span:first-child { text-decoration:line-through; text-decoration-color:#986b38; }
.policy-edit span:last-child { color:var(--hold); }
.policy-comparison { display:flex; gap:28px; align-items:center; }
.policy-comparison .meta { color:#bdcfc3; display:block; margin-bottom:10px; }
.policy-comparison strong { font-family:PlexMono,monospace; font-weight:400; font-size:1.125rem; }
.policy-result h3 { font-size:clamp(28px,2.6vw,38px); }
.proof-source .button[aria-disabled="true"] { opacity:.65; cursor:default; }
.proof-history-body { padding:32px 36px; min-height:340px; }
.history-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.history-heading h3 { font-size:1.5rem; }
.proof-history { list-style:none; padding:0; margin:24px 0 0; }
.proof-history li { display:flex; gap:22px; align-items:center; padding:15px 0; border-top:1px solid var(--line); }

.proof-history strong { font-weight:400; font-size:16px; }
.proof-history p { color:var(--muted); font-size:16px; margin-top:4px; }
.proof-history .status { margin-left:auto; }
.history-hint { color:var(--muted); font-size:16px; margin-top:25px; }
.proof-records { border-top:1px solid var(--line); padding:0 36px; }
.proof-records summary { padding:20px 0; font-size:16px; cursor:pointer; }
.proof-records summary .meta { margin-left:22px; }
.proof-records dl { display:grid; grid-template-columns:1fr 1fr; gap:24px 32px; padding:16px 0 24px; }
.proof-records dt { font: 16px PlexMono,monospace; color:var(--muted); margin-bottom:8px; }
.proof-records dd { font-size:16px; }
.proof-records > p { color:var(--muted); font-size:16px; max-width:690px; }
.proof-records .text-link { margin:12px 0 24px; }
.proof-foot { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:20px; }
.proof-foot p { font-size:16px; color:var(--muted); }
.home-bridge { display:grid; grid-template-columns:1.4fr 1fr; gap:12%; align-items:center; padding-block:110px; }
.home-bridge h2 { font-size:clamp(36px,4vw,58px); line-height:1.12; }
.home-bridge p { font-size:1.125rem; max-width:370px; color:var(--muted); margin-bottom:22px; }
.no-script { padding:20px 0; }
@media (max-width:1000px) {
  .proof-subject { padding:24px; }
  .proof-amount { font-size:1.25rem; gap:12px; }
  .proof-amount small { flex-basis:100%; border:0; padding:0; text-align:right; }
  .proof-source { padding:28px 24px; }
  .proof-result { padding:28px 24px; margin:18px 18px 18px 0; }
  .proof-tabs { padding-inline:24px; }
  .proof-records { padding-inline:24px; }
  .proof-payoff { padding-inline:24px; }
  .history-heading > .meta { display:none; }
  .proof-label { flex-wrap:wrap; }
}
@media (min-width:701px) and (max-width:899px) {
  .infrastructure-connectors.connectors-wide,.infrastructure-connectors.connectors-phone { display:none; }
  .infrastructure-connectors.connectors-tablet { display:block; }
  .infrastructure-connectors-in { height:75px; margin-bottom:-25px; }
  .infrastructure-connectors-out { height:65px; margin-top:0; margin-bottom:-10px; }
  .infrastructure-layer { height:290px; }
  .slab-wide { display:none; }
  .slab-narrow { display:block; }
  .infrastructure-capabilities { top:132px; }
}
@media (max-width:700px) {
  .infrastructure { padding-block:32px; }
  .infrastructure-heading { padding:20px 0 28px; }
  .infrastructure-heading h2 { font-size:var(--fs-h2); }
  .infrastructure-nodes svg { width:112px; }
  .infrastructure-node-label { font-size:16px; letter-spacing:.04em; }
  .label-long { display:none; }
  .label-short { display:inline; }
  .infrastructure-connectors.connectors-wide,.infrastructure-connectors.connectors-tablet { display:none; }
  .infrastructure-connectors.connectors-phone { display:block; }
  .infrastructure-connectors-in { height:75px; margin-bottom:-25px; }
  .infrastructure-connectors-out { height:65px; margin-top:0; margin-bottom:-6px; }
  .infrastructure-layer { width:100%; height:240px; }
  .slab-wide { display:none; }
  .slab-narrow { display:block; }
  .infrastructure-brand { top:35px; gap:8px; }
  .infrastructure-brand > p { font-size:16px; }
  .infrastructure-capabilities { top:130px; left:0; width:100%; }
  .infrastructure-capabilities li { letter-spacing:0; font-size:16px; }
  .infrastructure-capabilities svg { width:70px; }
  .infrastructure-map figcaption { max-width:350px; margin:36px auto 0; font-size:16px; text-wrap:balance; }
  .proof-heading { flex-direction:column; align-items:start; gap:10px; }
  .proof-subject { flex-direction:column; align-items:start; gap:20px; padding:24px 20px; }
  .proof-amount { gap:12px; font-size:1.25rem; }
  .proof-amount small { flex-basis:auto; text-align:left; font-size:16px; }
  .proof-subject h3 { font-size:1.375rem; }
  .proof-tabs { padding-inline:20px; gap:24px; }
  .proof-stage { grid-template-columns:1fr; }
  .proof-source { padding:26px 20px; }
  .proof-value { font-size:1.75rem; margin-top:22px; }
  .proof-source .button { margin-top:24px; width:100%; gap:12px; }
  .proof-source .proof-description { margin-bottom:0; }
  .proof-result { margin:0 20px 24px; padding:26px 22px; min-height:218px; }
  .proof-result h3 { margin-top:20px; font-size:2rem; }
  .proof-result > p { font-size:16px; }
  .result-line { margin-top:28px; }
  .proof-payoff { padding:20px; font-size:16px; gap:12px; }
  .proof-records { padding-inline:20px; }
  .proof-records summary .meta { display:block; margin:8px 0 0; font-size:16px; }
  .proof-records dl { grid-template-columns:1fr; }
  .proof-foot { align-items:start; flex-direction:column; gap:12px; }
  .proof-history-body { padding:26px 20px; min-height:380px; }
  .history-heading h3 { font-size:1.75rem; }
  .proof-history li { flex-wrap:wrap; gap:10px 14px; align-items:start; }
  .proof-history li > div { flex:1; min-width:145px; }
  .proof-history .status { margin-left:28px; }
  .proof-history p { font-size:16px; }
  .policy-comparison { gap:22px; }
  .policy-comparison strong { font-size:1rem; }
  .policy-edit { font-size:16px; }
  .home-bridge { grid-template-columns:1fr; gap:28px; padding-block:72px; }
  .home-bridge h2 { font-size:2.375rem; }
  .home-bridge p { font-size:1.0625rem; }
}
@media (prefers-reduced-motion:reduce) { .result-line { transition:none; } }

/* Business homepage: a short overview and one action demonstration. */
.hero-actions { display:flex; flex-direction:column; align-items:start; gap:18px; flex-shrink:0; }
.source-link { font-size:16px; color:var(--muted); }
.source-link span { margin-left:14px; }
.platform-overview { padding-bottom:72px; }
.platform-overview h2 { border-top:1px solid var(--ink); padding-top:32px; font-size:var(--fs-h2); line-height:1.1; }
.platform-summary { margin:36px 0 0; }
.platform-summary figcaption { margin-top:22px; color:var(--muted); font-size:16px; }
.home-teaser .proof-stage { min-height:310px; }
@media(max-width:700px) {
  .platform-overview { padding-bottom:52px; }
  .platform-overview h2 { font-size:var(--fs-h2); }
  .platform-overview h2 br { display:none; }
  .platform-summary { margin-top:28px; }
  .platform-summary figcaption { font-size:16px; }
}

.infrastructure-brand .company-wordmark { width:250px; }
.infrastructure-brand .company-wordmark img { filter:none; }
.infrastructure-brand .company-wordmark img { height:28px; }
@media(max-width:700px) {
  .infrastructure-brand .company-wordmark { width:170px; }
  .infrastructure-brand .company-wordmark img { height:20px; }
  .infrastructure .infrastructure-brand .veriker-wordmark { height:14px; }
  .infrastructure-brand > p { font-size:16px; }
}
@media (max-width:420px) {
  .infrastructure-capabilities li:nth-child(2) span { transform:translateX(-8px); }
}

/* Compact, authentic veriker wordmark in the open-source section. */
.veriker-logo {
  color:var(--ink);
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  min-height:0;
  line-height:1;
}
.veriker-logo span { color:#00ca79; }
.veriker-logo:hover { text-decoration:none; }
.homepage .home-bridge h2 { display:flex; align-items:baseline; gap:.32em; font-size:var(--fs-h2); letter-spacing:-.025em; font-weight:400; color:var(--muted); }
.homepage .home-bridge p { font-size:var(--fs-body); }
.homepage .supplied-artwork figcaption { justify-content:flex-end; }

/* Home workflow finder. */
.finder-section { padding-block:96px; }
.finder-section h2 { font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; }
.finder-intro { max-width:60ch; margin-top:28px; font:400 var(--fs-body)/1.5 Plex,sans-serif; text-wrap:pretty; }
.finder-form { position:relative; margin-top:40px; display:flex; align-items:stretch; gap:16px; }
.finder-form > input,.finder-fields > input { min-width:0; width:min(100%,520px); min-height:62px; padding:16px 18px; border:1px solid var(--line); border-radius:0; background:var(--paper); color:var(--ink); font:400 var(--fs-body)/1.3 Plex,sans-serif; box-shadow:none; }
.finder-form > input:focus-visible,.finder-fields > input:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.finder-form .button { min-height:62px; justify-content:center; white-space:nowrap; }
.finder-form .button:disabled { opacity:.62; }
.finder-honeypot { position:absolute; left:-10000px; top:0; width:1px; height:1px; overflow:hidden; }
.finder-status { min-height:22px; margin-top:16px; font:400 var(--fs-small)/1.5 Plex,sans-serif; color:var(--muted); }
#finder-results { margin-top:56px; }
#finder-results[hidden],.finder-note[hidden] { display:none; }
.finder-company,.report-form h3 { font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; text-wrap:balance; }
.finder-workflows { display:grid; grid-auto-rows:auto; margin-top:32px; }
.finder-workflows .page-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; border-top:1px solid var(--line); padding-block:32px; align-items:start; align-content:start; }
.finder-workflows .page-row-title { display:flex; align-items:baseline; gap:12px; font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--ink); }
.finder-workflows .page-disclosure > summary { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; min-height:0; }
.finder-workflows .page-disclosure > summary .page-disclosure-mark { flex:none; margin-top:4px; }
.finder-workflows .page-disclosure > .page-row-copy { margin:0; }
@media(max-width:899px) { .finder-workflows .page-disclosure > .page-row-copy { margin-top:12px; } }
.finder-number { flex:none; color:var(--muted); }
.finder-workflow-name { min-width:0; text-wrap:balance; }
.finder-workflows .page-row-copy { max-width:68ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; }
.finder-detail + .finder-detail { margin-top:12px; }
.finder-detail-lead,.finder-note { font-size:var(--fs-small); color:var(--muted); }
.finder-note { margin-top:24px; line-height:1.5; }
.report-form { display:block; border-top:1px solid var(--line); margin-top:56px; padding-top:40px; }
.report-form > p:not(.finder-status) { max-width:60ch; margin-top:20px; font:400 var(--fs-body)/1.5 Plex,sans-serif; text-wrap:pretty; }
.finder-fields { display:flex; gap:16px; align-items:stretch; margin-top:32px; }
@media(max-width:899px) {
  .finder-section { padding-block:64px; }
  .finder-workflows .page-row { grid-template-columns:minmax(0,1fr); gap:12px; padding-block:24px; align-content:start; }
}
@media(max-width:639px) {
  .finder-form:not(.report-form),.finder-fields { flex-direction:column; }
  .finder-form > input,.finder-fields > input,.finder-form .button { width:100%; }
  .finder-form > input,.finder-fields > input,.finder-form .button { min-height:58px; }
}

/* Finder fields sit on the page ground, with visible names and one hairline. */
.finder-form { align-items:flex-end; flex-wrap:wrap; }
.finder-field { display:flex; flex-direction:column; gap:12px; width:min(100%,520px); font:500 var(--fs-small)/1.3 Plex,sans-serif; color:var(--ink); }
.finder-field input { min-width:0; width:100%; min-height:62px; padding:12px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); font:400 var(--fs-body)/1.3 Plex,sans-serif; box-shadow:none; }
.finder-field input:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.finder-helper { margin-top:14px; color:var(--ink); }
.finder-consent { margin-top:28px; display:flex; align-items:center; gap:12px; flex-basis:100%; font:400 var(--fs-body)/1.4 Plex,sans-serif; }
.finder-consent input { width:20px; height:20px; accent-color:var(--ink); }
.finder-privacy,.finder-download { margin-top:16px; }
.finder-download { border:0; background:none; color:var(--ink); cursor:pointer; font:400 var(--fs-body)/1.3 Plex,sans-serif; text-decoration:underline; padding:10px 0; }
.finder-download[hidden] { display:none; }
@media(max-width:400px) { .finder-workflows .page-row-title { font-size:var(--fs-row); letter-spacing:-.02em; gap:8px; } }
@media(max-width:639px) { .finder-field,.finder-field input { width:100%; } .finder-field input { min-height:58px; } }
/* v9 director patch after attack-v9-03: the consent row is a 44px target. */
.finder-consent{min-height:44px}

/* Home #worth: section rhythm. The figure's own rules are in worth-figure.css. */
#worth.v8-section{padding-bottom:116px}
@media(max-width:899px){#worth.v8-section{padding-bottom:84px}}
@media(max-width:550px){#worth.v8-section{padding-bottom:64px}}

/* Finder results open one workflow at a time; pages.css is not loaded on the home page, so the disclosure rules live here. */
.finder-workflows .page-disclosure > summary { list-style:none; cursor:pointer; }
.finder-workflows .page-disclosure > summary::-webkit-details-marker { display:none; }
.finder-workflows .page-disclosure > summary:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.finder-workflows .page-disclosure-mark { font:400 var(--fs-row)/1 Plex,sans-serif; color:var(--ink); }
.finder-workflows .page-disclosure-mark::before { content:"+"; }
.finder-workflows .page-disclosure[open] .page-disclosure-mark::before { content:"\2212"; }

/* finder band: mint wash edge to edge, a green button, a white field that reads as the place to type. */
.finder-section { background:#e6f7ee; box-shadow:0 0 0 100vmax #e6f7ee; clip-path:inset(0 -100vmax); border-top:0; }
.finder-section h2 { font-size:clamp(32px,3.4vw,48px); color:var(--accent); }
.finder-section > .finder-form .finder-field input { background:var(--paper); border:2px solid var(--accent); padding:12px 18px; }
.finder-section > .finder-form .button.dark { background:var(--accent); border-color:var(--accent); color:#fff; }
.finder-section > .finder-form .button.dark:hover { background:#0f3726; }
/* The open verifier (draft12, 12 Oct 2026): one frame on veriker.com's dark ground. The wordmark leads, the one
   place it is set on the page; the subtitle names what it is. */
#open.open-verifier { --ov-ground:#0c0f0e; --ov-text:#e4ebe7; background:var(--ov-ground); box-shadow:0 0 0 100vmax var(--ov-ground); clip-path:inset(0 -100vmax); color:var(--ov-text); }
#open .ov-mark { display:block; width:200px; max-width:100%; height:auto; margin:0; }
main #open.open-verifier h2 { margin:20px 0 0; color:var(--ov-text); font:400 clamp(32px,3.4vw,48px)/1.1 Plex,sans-serif; letter-spacing:-.025em; }
#open .ov-line { max-width:48ch; margin:18px 0 0; color:var(--ov-text); font:400 18px/1.5 Plex,sans-serif; text-wrap:pretty; }
main #open.open-verifier .open-links { display:flex; flex-wrap:wrap; gap:12px 36px; width:auto; margin-top:28px; }
#open .open-links .text-link, #open .open-links .text-link span { color:var(--ov-text); }
#open .open-links .text-link { border-color:rgba(228,235,231,.55); text-decoration-color:rgba(228,235,231,.55); }
#open .open-links .text-link:focus-visible { outline:2px solid #5fe0a8; outline-offset:3px; }
