/* Tokens follow the Verifier Workbench design (docs/design-handoff.md), light and dark.
   A few are a shade deeper than the app's so small text passes WCAG AA.
   No shadows or gradients: separation comes from 1px borders and tinted fills. */
:root{
  color-scheme:light;
  --bg:#f6f5f1; --panel:#fbfaf7; --border:#e2e0d8;
  --text:#23221e; --soft:#4f4d45; --muted:#6c6a61; --chipbg:#ecebe4;
  --red:#a23b2e; --redbg:#f6e3df;
  --green:#3c754b; --greenbg:#e2ecdf;
  --amber:#7a5c26; --amberbg:#efe7d8;
  --btn:#23221e; --btntext:#ffffff;
  --accent:#2a5db0; --accent-hover:#1d4685;
  /* Code surfaces stay dark in both themes, as in the Workbench. */
  --code-bg:#232420; --code-line:#34362f; --code-text:#c6c9ba; --code-dim:#888c7f;
  --code-red:#cf7f71; --code-red-bg:#3a2a26; --code-green:#7fae86; --code-green-bg:#243026;
  --code-amber:#d3b56a; --code-accent:#8fa8c8; --code-bright:#d9dccf;
  --sans:'IBM Plex Sans', system-ui, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;
  --max:1160px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#141513; --panel:#1d1e1a; --border:#2c2e29;
    --text:#d9dccf; --soft:#b0b3a6; --muted:#8b907f; --chipbg:#262823;
    --red:#cf7f71; --redbg:#3a2a26;
    --green:#7fae86; --greenbg:#243026;
    --amber:#d3b56a; --amberbg:#332c1c;
    --btn:#d9dccf; --btntext:#141513;
    --accent:#8fa8c8; --accent-hover:#b3c6de;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#141513; --panel:#1d1e1a; --border:#2c2e29;
  --text:#d9dccf; --soft:#b0b3a6; --muted:#8b907f; --chipbg:#262823;
  --red:#cf7f71; --redbg:#3a2a26;
  --green:#7fae86; --greenbg:#243026;
  --amber:#d3b56a; --amberbg:#332c1c;
  --btn:#d9dccf; --btntext:#141513;
  --accent:#8fa8c8; --accent-hover:#b3c6de;
}

*{margin:0;padding:0;box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);
     font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
code{font-family:var(--mono);font-size:.92em;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
@media(max-width:560px){.wrap{padding:0 18px;}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--btn);color:var(--btntext);
      padding:8px 14px;border-radius:5px;font-weight:600;font-size:14px;text-decoration:none;}
.skip:focus{top:12px;}

/* labels, chips, pills: the Workbench's section labels and status chips */
.label{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.eyebrow{display:block;margin-bottom:16px;}
.chip{display:inline-block;font-family:var(--mono);font-size:11.5px;font-weight:600;line-height:1.5;
      padding:2px 9px;border-radius:4px;background:var(--chipbg);color:var(--soft);white-space:nowrap;}
.chip-red{background:var(--redbg);color:var(--red);}
.chip-green{background:var(--greenbg);color:var(--green);}
.pill{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;
      text-transform:uppercase;padding:2px 7px;border-radius:3px;background:var(--amberbg);color:var(--amber);}

/* top bar */
header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);}
.nav{display:flex;align-items:center;gap:14px;height:58px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15.5px;
       letter-spacing:-.005em;white-space:nowrap;}
.mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--code-bg);
      border:1px solid var(--code-line);color:var(--code-accent);font-family:var(--mono);font-size:14px;
      font-weight:600;line-height:1;}
.primary{margin-left:14px;}
.nav-links{display:flex;gap:2px;list-style:none;}
.nav-links a{display:block;text-decoration:none;font-size:13px;font-weight:600;color:var(--muted);
             padding:6px 11px;border-radius:5px;}
.nav-links a:hover{color:var(--text);background:var(--chipbg);}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px;}
.theme-toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);
              border-radius:5px;background:transparent;color:var(--text);font-family:var(--mono);
              font-size:14px;line-height:1;cursor:pointer;}
.theme-toggle:hover{background:var(--chipbg);}
@media(max-width:920px){.primary{display:none;}}

.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:14px;
     line-height:1.2;padding:10px 18px;border-radius:6px;border:1px solid var(--btn);white-space:nowrap;}
.btn-solid{background:var(--btn);color:var(--btntext);}
.btn-solid:hover{background:var(--soft);border-color:var(--soft);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border);}
.btn-ghost:hover{background:var(--chipbg);}
.btn-sm{padding:6px 13px;font-size:12.5px;border-radius:5px;}

section{padding:92px 0;border-bottom:1px solid var(--border);}
@media(max-width:560px){section{padding:68px 0;}}
h2{font-size:clamp(27px,3.7vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.14;max-width:760px;}
.lede{margin-top:16px;font-size:17.5px;line-height:1.62;color:var(--soft);max-width:660px;}

/* hero */
.hero{padding:84px 0 80px;}
.announce{display:inline-flex;align-items:center;gap:10px;max-width:100%;text-decoration:none;font-size:13.5px;
          color:var(--soft);background:var(--panel);border:1px solid var(--border);border-radius:6px;
          padding:5px 12px 5px 5px;margin-bottom:30px;}
.announce:hover{border-color:var(--muted);color:var(--text);}
.announce .arr{color:var(--muted);}
h1{font-size:clamp(38px,5.6vw,62px);font-weight:600;letter-spacing:-.028em;line-height:1.05;max-width:880px;}
h1 .proved{color:var(--green);background:var(--greenbg);border-radius:8px;padding:0 .12em;
           -webkit-box-decoration-break:clone;box-decoration-break:clone;}
.hero p.sub{margin-top:24px;font-size:18.5px;color:var(--soft);max-width:660px;}
.hero-ctas{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;}
.hero-claims{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
@media(max-width:860px){.hero-claims{grid-template-columns:1fr;}}
.hero-claims article{background:var(--panel);padding:24px 24px 26px;}
.hero-claims h3{font-size:16.5px;font-weight:600;margin:14px 0 6px;}
.hero-claims p{font-size:14.5px;color:var(--soft);}

/* verifier workbench */
.wb-head{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:48px;align-items:end;}
@media(max-width:980px){.wb-head{grid-template-columns:1fr;gap:28px;}}
.toolchain{background:var(--panel);border:1px solid var(--border);border-radius:8px;}
.toolchain div{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:10px 14px;border-top:1px solid var(--border);}
.toolchain div:first-child{border-top:0;}
.toolchain dt{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:2px;}
.toolchain dd{font-family:var(--mono);font-size:12.5px;}
.tour{margin-top:52px;}
.tour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.tour-tabs button{appearance:none;font:inherit;text-align:left;cursor:pointer;color:var(--muted);background:transparent;
  border:1px solid var(--border);border-radius:6px;padding:11px 14px;
  display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:start;}
.tour-tabs button:hover{border-color:var(--muted);}
.tour-tabs button[aria-selected="true"]{background:var(--chipbg);border-color:var(--chipbg);color:var(--soft);}
.tour-tabs .tn{grid-row:span 2;font-family:var(--mono);font-size:12px;font-weight:600;padding-top:2px;}
.tour-tabs .tt{font-size:14.5px;font-weight:600;color:var(--soft);}
.tour-tabs button[aria-selected="true"] .tt{color:var(--text);}
.tour-tabs .ts{font-size:12.5px;}
@media(max-width:620px){.tour-tabs .ts{display:none;} .tour-tabs button{padding:9px 10px;column-gap:8px;}}
.tour-panel + .tour-panel{margin-top:56px;}
.tour.is-tabbed .tour-panel{margin-top:0;}
.shot{display:block;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--chipbg);}
.shot:hover{border-color:var(--muted);}
.shot img{display:block;width:100%;height:auto;}
.shot-cap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 40px;align-items:start;margin-top:20px;}
@media(max-width:860px){.shot-cap{grid-template-columns:1fr;}}
.shot-cap .label{display:block;margin-bottom:6px;}
.shot-cap h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px;}
.shot-cap p{font-size:15px;color:var(--soft);max-width:720px;}
.shot-facts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:340px;padding-top:24px;}
@media(max-width:860px){.shot-facts{justify-content:flex-start;max-width:none;padding-top:0;}}
.guarantees{margin-top:64px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
@media(max-width:1020px){.guarantees{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.guarantees{grid-template-columns:1fr;}}
.guarantees article{background:var(--panel);padding:22px 22px 24px;}
.guarantees .ok{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--green);}
.guarantees h3{font-size:15.5px;font-weight:600;margin:8px 0 6px;}
.guarantees p{font-size:14px;color:var(--soft);}
.status{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
@media(max-width:760px){.status{grid-template-columns:1fr;}}
.status > div{border-radius:6px;padding:14px 16px;}
.status .now{background:var(--greenbg);}
.status .next{background:var(--chipbg);}
.status-k{display:block;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;}
.now .status-k{color:var(--green);}
.next .status-k{color:var(--muted);}
.status p{margin-top:4px;font-size:14px;}
.wb-ctas{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;}

/* ecosystem stack */
.stack{margin-top:48px;display:flex;flex-direction:column;gap:14px;}
.layer{display:grid;grid-template-columns:210px minmax(0,1fr) auto;gap:32px;align-items:center;
  background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:28px 30px;}
@media(max-width:940px){.layer{grid-template-columns:1fr;gap:16px;padding:24px 22px;}}
.layer .tier b{display:block;font-size:20px;font-weight:600;letter-spacing:-.012em;margin-top:6px;}
.layer .tier .chip{margin-top:10px;}
.layer h3{font-size:17px;font-weight:600;margin-bottom:6px;}
.layer p{font-size:15px;color:var(--soft);max-width:580px;}
.layer ul{list-style:none;margin-top:12px;font-size:14px;color:var(--soft);}
.layer li{padding:3px 0 3px 22px;position:relative;}
.layer li::before{content:"\22A2 ";position:absolute;left:0;color:var(--green);font-family:var(--mono);font-size:12px;}
.layer .go{font-family:var(--mono);font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;
  border:1px solid var(--border);border-radius:6px;padding:8px 14px;}
.layer .go:hover{background:var(--chipbg);}
@media(max-width:940px){.layer .go{justify-self:start;}}
.stack-join{display:flex;justify-content:center;color:var(--muted);font-family:var(--mono);font-size:12px;}

/* prover in the loop */
.pil-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;margin-top:12px;}
@media(max-width:980px){.pil-grid{grid-template-columns:1fr;gap:40px;}}
.steps{margin-top:32px;}
.pstep{display:grid;grid-template-columns:78px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--border);}
.pstep:last-child{border-bottom:1px solid var(--border);}
.pstep .n{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.pstep .n b{display:block;font-size:20px;font-weight:600;color:var(--text);letter-spacing:0;}
.pstep h3{font-size:17px;font-weight:600;margin-bottom:4px;}
.pstep p{font-size:14.5px;color:var(--soft);}
.console{background:var(--code-bg);border:1px solid var(--code-line);border-radius:8px;overflow:hidden;color:var(--code-text);}
.console-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 18px;border-bottom:1px solid var(--code-line);
  font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--code-dim);}
.console-bar .live{font-size:9.5px;letter-spacing:0;color:var(--code-green);}
.console-bar .meta{margin-left:auto;font-size:11px;font-weight:500;letter-spacing:0;}
.console-body{padding:16px 18px 20px;font-family:var(--mono);font-size:12.5px;line-height:1.85;overflow-wrap:anywhere;}
.c-id{display:inline-block;font-size:10px;font-weight:600;line-height:1.5;padding:0 5px;border-radius:3px;
      background:var(--code-red);color:var(--code-bg);margin-right:8px;vertical-align:1px;}
.c-rule{height:1px;background:var(--code-line);margin:12px 0;}
.c-red{color:var(--code-red);} .c-amber{color:var(--code-amber);} .c-green{color:var(--code-green);}
.c-detail{margin:2px 0 6px 2ch;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--code-dim);}
.c-detail code{color:var(--code-text);}
.c-verdict{margin-top:10px;font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--code-green);}
.c-proof{font-size:12px;color:var(--code-green);}
.c-chips{margin-top:14px;display:flex;gap:6px;flex-wrap:wrap;}
.c-chip{font-size:11px;font-weight:600;padding:2px 9px;border-radius:4px;}
.c-chip-red{background:var(--code-red-bg);color:var(--code-red);}
.c-chip-green{background:var(--code-green-bg);color:var(--code-green);}
.console-fig figcaption{margin-top:12px;font-size:13.5px;color:var(--muted);}

/* research */
.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px;}
@media(max-width:940px){.notes{grid-template-columns:1fr;}}
.note{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:24px 24px 26px;}
.note .label{display:block;margin-bottom:12px;}
.note h3{font-size:16.5px;font-weight:600;margin-bottom:8px;}
.note p{font-size:14.5px;color:var(--soft);}

/* careers */
.roles{margin-top:36px;border-top:1px solid var(--border);}
.role{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--border);}
.role h3{font-size:16.5px;font-weight:600;}
.role p{font-size:14px;color:var(--soft);}
.role a{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap;}
.role a:hover{color:var(--accent-hover);text-decoration:underline;}

/* contact */
.contact{border-bottom:0;}
.c-list{list-style:none;margin-top:28px;font-size:15px;max-width:560px;border-top:1px solid var(--border);}
.c-list li{padding:13px 0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px 14px;}
.c-list .label{min-width:120px;padding-top:3px;}
.c-list a{text-decoration:none;font-weight:600;color:var(--accent);}
.c-list a:hover{color:var(--accent-hover);text-decoration:underline;}

footer{padding:52px 0 36px;border-top:1px solid var(--border);background:var(--panel);}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;}
@media(max-width:820px){.f-grid{grid-template-columns:1fr 1fr;}}
footer h4{margin-bottom:12px;}
footer ul{list-style:none;}
footer li{margin-bottom:8px;}
footer a{text-decoration:none;font-size:14px;color:var(--soft);}
footer a:hover{color:var(--text);}
.f-brand p{font-size:14px;color:var(--soft);margin-top:12px;max-width:320px;}
.f-legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--border);
  font-family:var(--mono);font-size:11.5px;color:var(--muted);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* workbench page */
.nav-links a[aria-current="page"]{color:var(--text);background:var(--chipbg);}
.wrap-wide{max-width:1440px;margin:0 auto;padding:0 24px;}
@media(max-width:560px){.wrap-wide{padding:0 18px;}}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:22px;}
.crumbs li + li::before{content:"/";color:var(--muted);font-weight:400;margin-right:8px;}
.crumbs a{text-decoration:none;color:var(--muted);}
.crumbs a:hover{color:var(--text);}
.product{padding:72px 0 80px;}
.wstep{margin-top:72px;}
.wstep-text{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px 48px;align-items:start;margin-bottom:28px;}
@media(max-width:860px){.wstep-text{grid-template-columns:1fr;}}
.wstep-text .label{display:block;margin-bottom:8px;}
.wstep-text h3{font-size:22px;font-weight:600;letter-spacing:-.012em;line-height:1.25;}
.wstep-text p{font-size:16px;color:var(--soft);max-width:720px;}
.wstep-text p + p{margin-top:12px;}
.wstep-text p.footnote{font-size:13.5px;color:var(--muted);}
.facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;}
.wstep-text p.checks{margin-top:14px;font-family:var(--mono);font-size:12.5px;color:var(--soft);}
.checks .label{display:inline;margin:0 10px 0 0;}
.spec{margin-top:40px;border-top:1px solid var(--border);}
.spec > div{display:grid;grid-template-columns:300px minmax(0,1fr);gap:6px 48px;padding:22px 0;border-bottom:1px solid var(--border);}
@media(max-width:860px){.spec > div{grid-template-columns:1fr;}}
.spec dt{font-size:17px;font-weight:600;}
.spec .ok{display:block;margin-bottom:4px;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--green);}
.spec dd{font-size:15px;color:var(--soft);max-width:760px;}
.limits{list-style:none;margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
@media(max-width:760px){.limits{grid-template-columns:1fr;}}
.limits li{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px 20px 20px;
  font-size:14.5px;color:var(--soft);}
.limits .pill{display:table;margin-bottom:10px;}
.guarantees.four{margin-top:40px;}
.status.lists{margin-top:36px;}
.status.lists > div{padding:18px 20px 20px;}
.st-list{list-style:none;margin-top:8px;font-size:14.5px;}
.st-list li{position:relative;padding:4px 0 4px 22px;}
.st-list li::before{position:absolute;left:0;font-family:var(--mono);}
.now .st-list li::before{content:"\2713";color:var(--green);}
.next .st-list li::before{content:"\25CB";color:var(--muted);}
.cta{border-bottom:0;}
.cta-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end;
  background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-line);border-radius:8px;padding:40px 40px 42px;}
@media(max-width:860px){.cta-band{grid-template-columns:1fr;padding:28px 24px 30px;}}
.cta-band .label{color:var(--code-dim);}
.cta-band h2{color:var(--code-bright);}
.cta-band p{margin-top:12px;font-size:16px;max-width:560px;}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;}
.cta-band .btn-solid{background:var(--code-bright);border-color:var(--code-bright);color:var(--code-bg);}
.cta-band .btn-solid:hover{background:var(--code-text);border-color:var(--code-text);}
.cta-band .btn-ghost{color:var(--code-bright);border-color:var(--code-line);}
.cta-band .btn-ghost:hover{background:var(--code-line);}
.cta-band :focus-visible{outline-color:var(--code-accent);}

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