:root { --v-steel:#F4F6F8; --v-white:#FFFFFF; --v-ink:#17191C; --v-coral:#FF4B32; --v-coral-text:#C63621; --v-rust:#8d2f20; --v-line:#cbd2d9; --v-muted:#52606c; --v-green:#176b48; }
.v-page { background:var(--v-steel); color:var(--v-ink); overflow-x:clip; }
.v-page .wrap { width:min(100% - 2rem, 1180px); margin-inline:auto; min-width:0; }
.v-page .site-header { height:auto; background:var(--v-white); border-bottom:1px solid var(--v-line); }
.v-page .header-inner { width:min(100% - 2rem,1180px); margin-inline:auto; min-width:0; }
.v-page h1,.v-page h2,.v-page h3 { color:var(--v-ink); letter-spacing:-.04em; overflow-wrap:anywhere; }
.v-page h1 { max-width:16ch; font-size:clamp(2.55rem,6vw,5.25rem); line-height:.92; }
.v-page h2 { font-size:clamp(1.8rem,4.2vw,3.55rem); line-height:.98; }
.v-page p { max-width:68ch; }
.v-kicker,.v-mono { font-family:'IBM Plex Mono',monospace; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.v-kicker { color:var(--v-rust); font-weight:700; }
.v-hero { padding:clamp(2.25rem,7vw,6rem) 0 3rem; }
.v-hero-grid,.v-handoff,.v-price,.v-media,.v-section-head { display:grid; gap:1.25rem; min-width:0; }
.v-hero-copy { display:grid; gap:1.1rem; align-content:start; }
.v-hero-copy .lead { font-size:clamp(1.08rem,2vw,1.35rem); line-height:1.45; }
.v-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.v-term-list { display:grid; gap:.65rem; margin:1rem 0 0; padding:0; list-style:none; }
.v-term-list li { display:grid; gap:.2rem; padding:.8rem 1rem; border-left:4px solid var(--v-coral); background:var(--v-white); }
.v-term-list b { font-weight:700; }
.v-term-list span { color:var(--v-muted); }
.v-btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:.75rem 1rem; border:1px solid var(--v-ink); font-weight:700; text-decoration:none; }
.v-btn-dark { background:var(--v-ink); color:var(--v-white); }
.v-btn-coral { background:var(--v-coral-text); color:var(--v-white); border-color:var(--v-coral-text); }
.v-btn-line { background:var(--v-white); color:var(--v-ink); }
.v-sheet { min-width:0; background:var(--v-white); border:1px solid var(--v-line); box-shadow:8px 8px 0 var(--v-ink); }
.v-pad { padding:1.25rem; }
.v-workbench { position:relative; padding:1rem; transform:rotate(1deg); }
.v-sheet-top { display:flex; justify-content:space-between; gap:.75rem; border-bottom:1px solid var(--v-line); padding-bottom:.75rem; margin-bottom:.75rem; }
.v-sheet-top b,.v-file b { overflow-wrap:anywhere; }
.v-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,.9fr); font-family:'IBM Plex Mono',monospace; font-size:.72rem; }
.v-grid span { min-width:0; padding:.6rem .45rem; border-right:1px solid var(--v-line); border-bottom:1px solid var(--v-line); overflow-wrap:anywhere; }
.v-grid .v-head { background:var(--v-ink); color:var(--v-white); }
.v-grid .v-good { color:var(--v-green); font-weight:700; }
.v-grid .v-hold { color:var(--v-rust); font-weight:700; }
.v-travel-lane { position:relative; min-height:2.2rem; margin:.75rem 0; }
.v-travel { position:absolute; z-index:2; inset:0 auto auto 0; padding:.35rem .5rem; background:var(--v-coral-text); color:var(--v-white); border:1px solid var(--v-ink); font:700 .65rem 'IBM Plex Mono',monospace; animation:v-file-travel 4s cubic-bezier(.2,.7,.2,1) both; }
@keyframes v-file-travel { 0% { opacity:0; transform:translate(0,0); } 10% { opacity:1; } 75%,100% { opacity:1; transform:translateX(180px); } }
.v-section { padding:clamp(2.8rem,6vw,5.5rem) 0; }
.v-section-head { align-items:end; margin-bottom:1.5rem; }
.v-section-head > p { color:var(--v-muted); }
.v-panels { display:grid; gap:1rem; min-width:0; }
.v-panel { min-width:0; background:var(--v-white); padding:1.25rem; border:1px solid var(--v-line); min-height:230px; display:flex; flex-direction:column; justify-content:space-between; gap:1rem; }
.v-panel:nth-child(2) { background:var(--v-ink); color:var(--v-white); }
.v-panel:nth-child(2) h3 { color:var(--v-white); }
.v-panel:nth-child(2) .v-kicker { color:var(--v-coral); }
.v-panel:nth-child(3) { border-top:7px solid var(--v-coral); }
.v-mini-table { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); font-family:'IBM Plex Mono',monospace; font-size:.72rem; }
.v-mini-table span { min-width:0; padding:.5rem; border:1px solid currentColor; overflow-wrap:anywhere; }
.v-flow-step { padding:.9rem; border-left:5px solid var(--v-coral); background:var(--v-white); color:var(--v-ink); overflow-wrap:anywhere; }
.v-process-steps { display:grid; gap:.75rem; counter-reset:steps; }
.v-process-steps li { position:relative; min-height:92px; padding:1rem 1rem 1rem 4.25rem; background:var(--v-white); border:1px solid var(--v-line); list-style:none; }
.v-process-steps li::before { content:counter(steps, decimal-leading-zero); counter-increment:steps; position:absolute; left:1rem; top:1rem; color:var(--v-rust); font:700 .8rem 'IBM Plex Mono',monospace; }
.v-process-steps li:not(:last-child)::after { content:''; position:absolute; left:1.45rem; bottom:-.85rem; width:2px; height:.85rem; background:var(--v-coral); }
.v-files { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:.75rem; min-width:0; }
.v-file { min-width:0; padding:.9rem; background:var(--v-white); border:1px solid var(--v-line); min-height:142px; }
.v-file::before { content:'CSV'; display:block; color:var(--v-rust); font:700 .7rem 'IBM Plex Mono',monospace; margin-bottom:.9rem; }
.v-file-txt::before { content:'TXT'; }
.v-file-preview { display:grid; gap:.2rem; margin-top:.75rem; color:var(--v-muted); font:.68rem 'IBM Plex Mono',monospace; }
.v-file-preview span { display:block; overflow-wrap:anywhere; border-top:1px solid var(--v-line); padding-top:.2rem; }
.v-media { background:var(--v-ink); color:var(--v-white); padding:clamp(1rem,3vw,2rem); }
.v-media h2,.v-media h3 { color:var(--v-white); }
.v-media .v-kicker { color:var(--v-coral); }
.v-media video,.v-media picture img { width:100%; height:auto; display:block; }
.v-quickviews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.v-quickviews figure { margin:0; min-width:0; }
.v-quickviews figcaption { margin-top:.6rem; color:var(--v-white); font-size:.88rem; }
.v-price-box { background:var(--v-coral-text); color:var(--v-white); padding:1.25rem; border:1px solid var(--v-ink); }
.v-price-box strong { display:block; font-size:clamp(2rem,5vw,4rem); line-height:1; color:var(--v-white); }
.v-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.v-chip { border:1px solid var(--v-ink); padding:.55rem .7rem; background:var(--v-white); font:700 .75rem 'IBM Plex Mono',monospace; }
.v-checklist { display:grid; gap:.5rem; padding:0; list-style:none; }
.v-checklist li { min-height:44px; padding:.75rem 1rem; background:var(--v-white); border-left:4px solid var(--v-coral); }
.v-status { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.v-status div { padding:1rem; border:1px solid var(--v-line); background:var(--v-white); }
.v-status b { display:block; font-size:2.5rem; }
.v-table-wrap { max-width:100%; overflow-x:auto; background:var(--v-white); border:1px solid var(--v-line); }
.v-table-wrap table { margin:0; min-width:620px; }
.v-contact-card { padding:1.5rem; background:var(--v-ink); color:var(--v-white); }
.v-contact-card h2,.v-contact-card h3 { color:var(--v-white); }
.v-contact-card .v-kicker { color:var(--v-coral); }
.v-contact-card a { color:var(--v-white); font-size:clamp(1.35rem,4vw,2.5rem); overflow-wrap:anywhere; }
.v-contact-card :focus-visible,.v-media :focus-visible { outline-color:var(--v-white); box-shadow:0 0 0 5px var(--v-coral); }
.v-swipe-hint { display:none; margin:.5rem 0 0; color:var(--v-muted); font:.75rem 'IBM Plex Mono',monospace; }
.v-footer { border-top:1px solid var(--v-line); padding:2rem 0; }
.v-page :focus-visible { outline:3px solid var(--v-ink); outline-offset:3px; }
.v-page .site-header::after { animation:none !important; }
@media (min-width:720px) { .v-actions .v-btn { flex:0 0 auto; justify-self:start; } .v-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:2rem; } .v-panels { grid-template-columns:repeat(3,minmax(0,1fr)); } .v-handoff,.v-price { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .v-section-head { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); } .v-process-steps { grid-template-columns:repeat(3,minmax(0,1fr)); } .v-process-steps li:not(:last-child)::after { left:auto; right:-.75rem; top:50%; bottom:auto; width:.75rem; height:2px; } }
@media (max-width:959px) { .v-page .header-inner { flex-wrap:wrap; padding:.4rem 0; } .v-page .site-nav { order:3; width:100%; flex-wrap:wrap; gap:0 .75rem; } }
@media (max-width:719px) { .v-page .header-inner { flex-wrap:wrap; padding:.4rem 0; } .v-page .site-nav { order:3; width:100%; gap:.5rem; overflow-x:auto; scrollbar-width:none; } .v-page .site-nav::-webkit-scrollbar { display:none; } .v-page .site-nav a { flex:0 0 auto; } .v-workbench { transform:none; box-shadow:5px 5px 0 var(--v-ink); } .v-travel { position:static; animation:none; transform:none; } .v-quickviews { grid-template-columns:1fr; } .v-swipe-hint { display:block; } }
@media (prefers-reduced-motion:reduce) { .v-workbench { transform:none; } .v-travel { animation:none; opacity:1; transform:none; } }
@media (min-width:960px) { .v-hero-copy h1 { font-size:clamp(2.55rem,5.2vw,4.6rem); font-variation-settings:"wdth" 100; } }
.v-page .site-nav .nav-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
@media (max-width:959px) { .v-hero { padding-top:max(1.4rem,calc(clamp(2.25rem,7vw,6rem) - .875rem)); } }
.v-handoff .v-process-steps { grid-template-columns:minmax(0,1fr); }
.v-handoff .v-process-steps li:not(:last-child)::after { left:1.45rem; right:auto; top:auto; bottom:-.85rem; width:2px; height:.85rem; }
/* 2026-11-04 UX: breathing room under section headings, no empty grid slot, clearer email action. */
.v-handoff > div > h2,.v-price > div > h2,.v-media > div > h2,.v-contact-card > h2 { margin-bottom:1rem; }
.v-handoff > div > p + p,.v-price > div > p + .v-chips,.v-price > div > p + .v-term-list { margin-top:.85rem; }
.v-files .v-file-txt { grid-column:1 / -1; min-height:0; }
.v-contact-card { display:grid; align-content:center; gap:1.25rem; }
.v-contact-card a[href^="mailto:"] { justify-self:start; text-decoration:none; border-bottom:3px solid var(--v-coral); padding-bottom:.15rem; transition:border-color .2s; }
.v-contact-card a[href^="mailto:"]::after { content:" \2192"; color:var(--v-coral); }
.v-contact-card a[href^="mailto:"]:hover { border-bottom-color:var(--v-white); }
/* ===== 2026-11-05 declutter pass: fewer stacked boxes, readable notes, diagrams instead of paragraphs ===== */
.v-page .v-kicker + h2 { margin-top:.55rem; }
.v-page .v-section-head > p { max-width:40ch; line-height:1.55; }
.v-panel p,.v-term-list span,.v-file-preview { line-height:1.55; }
/* Fine print: sentence case with an info mark instead of all-caps code text */
.v-note { position:relative; max-width:60ch; margin-top:1rem; padding-left:1.75rem; color:var(--v-muted); font-size:.92rem; line-height:1.55; }
.v-note::before { content:'i'; position:absolute; left:0; top:.1rem; width:1.15rem; height:1.15rem; border-radius:50%; background:var(--v-ink); color:var(--v-white); font:700 .7rem/1.15rem 'IBM Plex Mono',monospace; text-align:center; }
.v-media .v-note,.v-contact-card .v-note { color:#c9d0d6; }
.v-media .v-note::before,.v-contact-card .v-note::before { background:var(--v-coral); color:var(--v-ink); }
/* Time badge for the hero */
.v-badge { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.5rem; justify-self:start; padding:.45rem .75rem .45rem .5rem; background:var(--v-white); border:1px solid var(--v-line); font-size:.9rem; color:var(--v-ink); }
.v-badge b { padding:.2rem .5rem; background:var(--v-ink); color:var(--v-white); font:700 .7rem 'IBM Plex Mono',monospace; letter-spacing:.06em; text-transform:uppercase; }
/* Status pills + data table */
.v-pill { display:inline-block; padding:.2rem .6rem; border-radius:999px; font-size:.82rem; font-weight:700; white-space:nowrap; }
.v-pill-good { background:#e3f1ea; color:var(--v-green); }
.v-pill-hold { background:#fbe7e2; color:var(--v-rust); }
.v-data-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.v-data-table th { padding:.85rem 1rem; text-align:left; background:var(--v-ink); color:var(--v-white); font:700 .72rem 'IBM Plex Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.v-data-table td { padding:.85rem 1rem; border-top:1px solid var(--v-line); }
.v-data-table tbody tr:nth-child(even) td { background:#f8f9fa; }
.v-data-table td:nth-child(2) { font-family:'IBM Plex Mono',monospace; font-size:.85rem; }
/* Outcome distribution bar (126 rows) */
.v-bar { display:flex; gap:3px; height:12px; margin-top:1rem; }
.v-bar span { transform-origin:left; animation:v-bar-grow 1.1s cubic-bezier(.2,.7,.2,1) both; }
.v-seg-new { flex:54; background:var(--v-ink); }
.v-seg-match { flex:37; background:var(--v-green); animation-delay:.15s !important; }
.v-seg-held { flex:34; background:var(--v-coral); animation-delay:.3s !important; }
.v-seg-disc { flex:1 0 6px; background:var(--v-muted); animation-delay:.45s !important; }
@keyframes v-bar-grow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.v-status div { border-top:4px solid var(--v-line); }
.v-status .v-st-new { border-top-color:var(--v-ink); }
.v-status .v-st-match { border-top-color:var(--v-green); }
.v-status .v-st-held { border-top-color:var(--v-coral); }
.v-status .v-st-disc { border-top-color:var(--v-muted); }
/* Operator card */
.v-op { display:grid; gap:.35rem; }
.v-op-name { font-size:1.6rem; letter-spacing:-.03em; }
.v-op-role { color:var(--v-rust); font:700 .75rem 'IBM Plex Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.v-op .v-note { margin-top:.5rem; }
/* Text-only cards: content starts at the top, numbered */
.v-panels-text { counter-reset:vp; }
.v-panels-text .v-panel { min-height:0; justify-content:flex-start; gap:.6rem; }
.v-panels-text .v-panel::before { counter-increment:vp; content:counter(vp, decimal-leading-zero); color:var(--v-rust); font:700 .75rem 'IBM Plex Mono',monospace; }
.v-panels-text .v-panel:nth-child(2)::before { color:var(--v-coral); }
/* Four-step checklist: no orphan card, no dangling connector */
@media (min-width:720px) { .v-steps-4 { grid-template-columns:repeat(2,minmax(0,1fr)); } .v-steps-4 li:nth-child(2n)::after { display:none; } }
@media (min-width:1100px) { .v-steps-4 { grid-template-columns:repeat(4,minmax(0,1fr)); } .v-steps-4 li:nth-child(2n)::after { display:block; } .v-steps-4 li:last-child::after { display:none; } }
.v-sheet.v-pad { display:grid; gap:.6rem; align-content:start; }
/* Button inside dark cards */
.v-contact-card a.v-card-btn { justify-self:start; display:inline-flex; align-items:center; min-height:48px; padding:.75rem 1.1rem; border:0; background:var(--v-coral-text); color:var(--v-white); font-size:1rem; font-weight:700; text-decoration:none; }
.v-contact-card a.v-card-btn::after { content:''; }
/* Timeline diagram */
.v-timeline { position:relative; display:grid; gap:1.25rem; margin:1.5rem 0 0; padding:0 0 0 2.5rem; list-style:none; counter-reset:tl; }
.v-timeline::before,.v-timeline::after { content:''; position:absolute; left:.7rem; top:.5rem; bottom:.5rem; width:2px; background:var(--v-line); }
.v-timeline::after { background:var(--v-coral); transform-origin:top; animation:v-line-y 1.6s cubic-bezier(.2,.7,.2,1) .2s both; }
.v-timeline li { position:relative; display:grid; gap:.3rem; }
.v-timeline li::before { counter-increment:tl; content:counter(tl); position:absolute; z-index:1; left:-2.5rem; top:0; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--v-ink); color:var(--v-white); font:700 .75rem/1.5rem 'IBM Plex Mono',monospace; text-align:center; box-shadow:0 0 0 4px var(--v-steel); }
.v-timeline li:last-child::before { background:var(--v-coral-text); }
.v-timeline b { font-size:1.05rem; }
.v-timeline span { color:var(--v-muted); line-height:1.5; }
@keyframes v-line-y { from { transform:scaleY(0); } to { transform:scaleY(1); } }
@media (min-width:960px) {
  .v-timeline { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.25rem; padding:2.75rem 0 0; }
  .v-timeline::before,.v-timeline::after { left:.75rem; right:.75rem; top:.7rem; bottom:auto; width:auto; height:2px; }
  .v-timeline::after { transform-origin:left; animation-name:v-line-x; }
  .v-timeline li::before { left:0; top:-2.75rem; }
}
@keyframes v-line-x { from { transform:scaleX(0); } to { transform:scaleX(1); } }
/* Fact list (label + value rows) */
.v-facts { display:grid; gap:.6rem; margin:1rem 0 0; padding:0; list-style:none; }
.v-facts li { display:grid; gap:.15rem; padding:.75rem 1rem; background:var(--v-white); border:1px solid var(--v-line); }
.v-facts b { color:var(--v-rust); font:700 .72rem 'IBM Plex Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
@media (min-width:720px) { .v-facts-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
/* Policy cards (privacy) */
.v-policy-grid { display:grid; gap:1rem; }
@media (min-width:720px) { .v-policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px) { .v-policy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.v-policy { display:grid; align-content:start; gap:.5rem; padding:1.25rem; background:var(--v-white); border:1px solid var(--v-line); border-top:4px solid var(--v-ink); }
.v-policy:nth-child(3n+2) { border-top-color:var(--v-coral); }
.v-policy h3 { font-size:1.15rem; letter-spacing:-.02em; }
.v-policy p { color:var(--v-muted); line-height:1.55; }
.v-policy a { color:var(--v-ink); }
.v-file-log::before { content:'LOG'; }
/* Gentle entrance for sections where the browser supports scroll-linked animation (movement only, never hides text) */
@media (prefers-reduced-motion:no-preference) {
  @supports (animation-timeline: view()) {
    .v-section > .wrap { animation:v-rise linear both; animation-timeline:view(); animation-range:entry 0% entry 30%; }
  }
}
@keyframes v-rise { from { transform:translateY(28px); } to { transform:none; } }
@media (prefers-reduced-motion:reduce) { .v-bar span,.v-timeline::after { animation:none; } }
@media (min-width:720px) { .v-files-4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px) { .v-files-4 { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.v-files-4 .v-file { min-height:120px; }
.v-files-4 .v-file b { font-size:1.05rem; line-height:1.35; }
.v-page .v-hero-copy:only-child { max-width:56rem; }
.v-timeline li { align-content:start; }
.v-price-h1 { max-width:none; font-size:clamp(2.2rem,4.6vw,4rem); }
.v-price-h1 span { white-space:nowrap; }
.v-data-table th { border:0; }
.v-data-table td { border-left:0; border-right:0; }
.v-price > .v-sheet { align-self:start; }
@media (max-width:719px) { .v-files-4 .v-file,.v-file { min-height:0; } .v-panels-text .v-panel { padding:1rem; } }
.v-page .v-hero-copy h1.v-price-h1 { font-size:clamp(2.2rem,4.2vw,3.6rem); max-width:none; }
.v-page .v-policy h2 { font-size:1.15rem; line-height:1.2; letter-spacing:-.02em; }
