/* Custom Tailored Agents — site design system (canvas v0.6, Sam-reviewed 2026-09-05).
   Carbon / Paper / Scan Blue · Space Grotesk / Instrument Sans / IBM Plex Mono · wordmark in
   Montserrat. Same tokens as auditor/scorecard_page.CSS — the results pages are the design
   language, the site follows them (plan §14.11). Speed budget: no frameworks, no images. */

:root { --carbon:#0B0E12; --carbon2:#11161C; --paper:#F7F7F4; --white:#FFFFFF; --ink:#14181D;
  --muted:#5B6470; --dim:#8A929C; --dim2:#6B7380; --soft:#AEB5BF; --soft2:#C6CBD2;
  --blue:#2E6BFF; --blue-dk:#1E4FD6; --blue-lt:#5E8BFF; --green:#3DDB8E;
  --line:rgba(20,24,29,0.09); --line2:rgba(20,24,29,0.15); --wline:rgba(255,255,255,0.08);
  --ok:#18A05A; --warn:#E7A008; --bad:#E5484D; --low:#E86A1C;
  --r:8px; --r-sm:6px; --ease:cubic-bezier(.2,.7,.2,1); }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; color-scheme:light; }
/* the page is a committed look (Carbon / Paper) — never let a host theme repaint it */
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:4px; }
h1, h2, h3 { text-wrap:balance; }
::selection { background:rgba(46,107,255,.25); }
body { margin:0; background:var(--paper); color:var(--ink); line-height:1.55;
  font-family:'Instrument Sans','Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--blue); text-decoration:none; } a:hover { color:var(--blue-dk); }
h1, h2, h3, .display { font-family:'Space Grotesk','Segoe UI',system-ui,sans-serif; letter-spacing:-0.025em; margin:0; font-weight:700; }
p { margin:0; }
.mono { font-family:'IBM Plex Mono',Consolas,monospace; font-variant-numeric:tabular-nums; }
.kicker { font-family:'IBM Plex Mono',Consolas,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }
.dark .kicker { color:var(--blue-lt); }
.wrap { max-width:1440px; margin:0 auto; padding:0 64px; }
.btn { display:inline-block; font-weight:600; font-size:16px; padding:15px 26px; border-radius:var(--r-sm); border:0; cursor:pointer;
  font-family:inherit; transition:background .18s ease, transform .18s var(--ease); text-align:center; }
.btn:active { transform:translateY(1px); }
.btn.primary { background:var(--blue); color:#fff; } .btn.primary:hover { background:var(--blue-dk); color:#fff; }
.btn.small { font-size:15px; padding:11px 20px; }
.btn.soft { background:none; color:var(--ink); border:1px solid rgba(20,24,29,.25); }
.dark .btn.soft { color:#fff; border-color:rgba(255,255,255,.3); }
.dark { background:var(--carbon); color:var(--soft); }
.grid-bg { background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px); background-size:44px 44px; }
.dark h1, .dark h2 { color:#fff; }
body { counter-reset:ch; }
.sec { padding:76px 0; position:relative; counter-increment:ch; }
.sec > .wrap { position:relative; }
.sec > .wrap::before { content:"0" counter(ch); position:absolute; top:-46px; left:64px; font-family:'IBM Plex Mono',Consolas,monospace;
  font-size:11px; letter-spacing:.18em; color:var(--dim); }
.sec > .wrap::after { content:""; position:absolute; top:-40px; left:110px; right:64px; height:1px; background:var(--line); }
.sec.dark > .wrap::before { color:var(--dim2); } .sec.dark > .wrap::after { background:var(--wline); }
.sec.white { background:var(--white); border-bottom:1px solid rgba(20,24,29,.07); }
.stack { display:flex; flex-direction:column; gap:14px; }
.center { align-items:center; text-align:center; }
.lede { font-size:16.5px; line-height:1.6; color:var(--muted); max-width:760px; }
.dark .lede { color:var(--soft); }
.fine { font-family:'IBM Plex Mono',Consolas,monospace; font-size:12px; color:var(--dim2); line-height:1.6; }
.check { display:flex; align-items:center; gap:10px; font-size:15px; color:var(--soft2); }
.check svg { flex-shrink:0; }

/* wordmark — the drawn stand-in for Sam's logo; the tie hangs below the baseline, reserve it */
.wm { display:inline-flex; flex-direction:column; gap:2px; color:inherit; padding-bottom:6px; }
.wm-top { font-family:'Montserrat','Segoe UI',system-ui,sans-serif; font-weight:300; letter-spacing:.34em; text-transform:uppercase; font-size:8.5px; }
.wm-row { display:flex; align-items:flex-end; }
.wm-row svg { margin-bottom:1px; overflow:visible; }
.wm-big { font-family:'Montserrat','Segoe UI',system-ui,sans-serif; font-weight:900; line-height:1; font-size:36px; }
.wm.sm .wm-top { font-size:7.5px; } .wm.sm .wm-big { font-size:31px; }

/* registration marks: the four corner ticks every live instrument on the site carries */
.reg { --tick:rgba(255,255,255,.34); }
.reg::before, .reg::after { content:""; position:absolute; width:14px; height:14px; pointer-events:none;
  background:linear-gradient(var(--tick),var(--tick)) center/100% 1px no-repeat, linear-gradient(var(--tick),var(--tick)) center/1px 100% no-repeat; }
.reg::before { top:-7px; left:-7px; } .reg::after { bottom:-7px; right:-7px; }
.reg.paper { --tick:rgba(20,24,29,.28); }

/* reveal moments — the only motion budget on the site (Sam: reveal moments only) */
[data-reveal] > * { transition:opacity .55s var(--ease), transform .55s var(--ease); }
[data-reveal]:not(.in) > * { opacity:0; transform:translateY(10px); }
[data-reveal] > :nth-child(2) { transition-delay:.08s; } [data-reveal] > :nth-child(3) { transition-delay:.16s; }
[data-reveal] > :nth-child(4) { transition-delay:.24s; } [data-reveal] > :nth-child(5) { transition-delay:.32s; }
[data-reveal] > :nth-child(n+6) { transition-delay:.4s; }
@media (prefers-reduced-motion: reduce) { [data-reveal] > *, .sweep, .chip.pop, .menu.reveal, .after svg * { transition:none !important; animation:none !important; opacity:1 !important; transform:none !important; } }

/* nav */
.nav { display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.07); gap:20px; flex-wrap:wrap; }
.nav .links { display:flex; align-items:center; gap:34px; flex-wrap:wrap; }
.navlink { color:#B8BEC7; font-size:15px; font-weight:500; } .navlink:hover { color:#fff; }

/* hero */
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; padding:68px 0 76px; align-items:center; position:relative; }
.hero h1 { font-size:clamp(38px,4.8vw,64px); line-height:1.02; letter-spacing:-0.035em; }
.hero .sub { font-family:'Space Grotesk',sans-serif; font-size:clamp(19px,2vw,24px); line-height:1.35; font-weight:500; color:#E8EAEE; letter-spacing:-0.01em; }
.hero .body { font-size:17px; line-height:1.6; color:var(--soft); max-width:540px; }
.hero .body em { font-style:italic; }
.glow { position:absolute; top:40px; left:55%; width:760px; height:620px; background:radial-gradient(closest-side,rgba(46,107,255,.12),transparent); pointer-events:none; }
.qcard { background:var(--carbon2); border:1px solid rgba(94,139,255,.35); border-radius:var(--r); padding:28px 30px; display:flex; flex-direction:column; gap:16px; position:relative; }
.qcard .q { font-size:17px; font-weight:600; color:#fff; }
.tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.tile { display:flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.14); border-radius:var(--r-sm); padding:13px 16px; color:#E8EAEE;
  font-size:14px; transition:border-color .15s ease,background .15s ease; }
.tile:hover { border-color:var(--blue-lt); background:rgba(46,107,255,.08); color:#fff; }
.tile.other { color:var(--dim); }
.prog { display:flex; align-items:center; gap:12px; }
.prog .bar { flex-grow:1; height:5px; background:rgba(255,255,255,.1); border-radius:3px; overflow:hidden; }
.prog .bar i { display:block; width:16%; height:5px; background:var(--blue); border-radius:3px; }

/* bridge */
.bridge { background:var(--white); border-bottom:1px solid rgba(20,24,29,.07); padding:30px 0; }
.bridge .in { display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; }
.bridge .h { font-family:'Space Grotesk',sans-serif; font-size:21px; font-weight:600; text-align:center; letter-spacing:-0.02em; }
.bridge .side { font-family:'IBM Plex Mono',Consolas,monospace; font-size:11px; letter-spacing:.14em; color:var(--dim); }

/* quick wins */
.two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:stretch; }
.head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.head h2 { font-size:clamp(28px,3.2vw,38px); }
.scan { position:relative; background:var(--carbon); border:1px solid rgba(20,24,29,.15); border-radius:var(--r); padding:28px 30px; display:flex; flex-direction:column; gap:16px; overflow:hidden; color:var(--soft); }
.scan h3 { font-size:23px; color:#fff; }
.sweep { position:absolute; left:0; right:0; top:-140px; height:140px; background:linear-gradient(180deg,transparent,rgba(46,107,255,.12),transparent); pointer-events:none; }
.scan.running .sweep { animation:sweep 2.4s ease-in-out infinite; }
@keyframes sweep { 0% { top:-140px; } 60% { top:100%; } 100% { top:100%; } }
.scanform { display:flex; align-items:center; gap:10px; background:var(--carbon2); border:1px solid rgba(255,255,255,.14); border-radius:var(--r-sm); padding:8px 8px 8px 18px; }
.scanform input { flex-grow:1; min-width:0; background:none; border:0; outline:none; color:#fff; font-family:'IBM Plex Mono',Consolas,monospace; font-size:14px; }
.scanform input::placeholder { color:var(--dim2); }
.result { background:var(--carbon2); border:1px solid var(--wline); border-radius:var(--r-sm); padding:16px 18px; display:flex; flex-direction:column; gap:10px; }
.result .row { display:flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',Consolas,monospace; font-size:12px; color:var(--soft2); }
.result .row .sp { flex-grow:1; }
.chip { font-family:'IBM Plex Mono',Consolas,monospace; font-size:11px; letter-spacing:.08em; border-radius:6px; padding:3px 9px; white-space:nowrap; }
.chip.fail { color:#FF7B81; background:rgba(229,72,77,.14); border:1px solid rgba(255,123,129,.35); }
.chip.warn { color:#F5B93E; background:rgba(231,160,8,.12); border:1px solid rgba(245,185,62,.35); }
.chip.pass { color:var(--green); background:rgba(61,219,142,.1); border:1px solid rgba(61,219,142,.3); }
.chip.skip { color:var(--dim); border:1px solid rgba(255,255,255,.15); }
.chip.run { color:var(--blue-lt); border:1px solid rgba(94,139,255,.35); }
@keyframes pop { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }
.chip.pop { animation:pop .25s ease both; }
.chip.tag { color:var(--dim); border:1px solid rgba(255,255,255,.15); font-size:9.5px; letter-spacing:.12em; padding:2px 6px; }
.gradeline { display:flex; align-items:center; gap:12px; padding-top:10px; border-top:1px solid var(--wline); flex-wrap:wrap; }
.gradeline .g { font-family:'Space Grotesk',sans-serif; font-size:30px; font-weight:700; line-height:1; }
.checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 14px; max-height:280px; overflow:auto; }
.menu { background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:28px 30px; display:flex; flex-direction:column; gap:14px; max-width:720px; }
.menu.reveal { animation:pop .45s var(--ease) both; }
.menu .li { display:flex; align-items:flex-end; font-size:15px; font-weight:500; }
.menu .dots { border-bottom:1px dotted rgba(20,24,29,.28); flex-grow:1; margin:0 10px 5px; }
.menu .pr { font-family:'IBM Plex Mono',Consolas,monospace; font-size:13.5px; color:var(--muted); }
.menu .total { border-top:1px solid rgba(20,24,29,.12); margin-top:4px; padding-top:14px; display:flex; flex-direction:column; gap:8px; }
.menu .pkg { display:flex; align-items:baseline; gap:8px; }
.menu .pkg .n { font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:600; }
.menu .pkg .p { font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:700; margin-left:auto; }
.ph { font-family:'IBM Plex Mono',Consolas,monospace; font-size:10.5px; letter-spacing:.1em; color:#B45309; background:rgba(231,160,8,.1); border:1px solid rgba(231,160,8,.3); border-radius:5px; padding:4px 9px; align-self:flex-start; }

/* custom systems */
.cc { display:grid; grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr); gap:0; align-items:center; }
.before, .after { background:var(--carbon2); border-radius:var(--r); padding:24px 26px; display:flex; flex-direction:column; gap:12px; }
.before { border:1px solid rgba(229,72,77,.25); } .after { border:1px solid rgba(61,219,142,.3); box-shadow:0 0 60px rgba(46,107,255,.12); position:relative; }
.after svg rect { transform-box:fill-box; transform-origin:bottom; transition:transform .8s var(--ease); }
.after svg polyline { transition:opacity .5s .7s; }
.cc:not(.in) .after svg rect { transform:scaleY(0); } .cc:not(.in) .after svg polyline { opacity:0; }
.cells { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.cells i { display:block; height:13px; border-radius:3px; background:rgba(20,24,29,.12); background:rgba(255,255,255,.08); }
.cells i.bad { background:rgba(229,72,77,.25); }
.kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.kpi { background:rgba(255,255,255,.04); border:1px solid var(--wline); border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; gap:3px; }
.kpi .v { font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; color:#fff; }
.dreams { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.lib { border:1px solid var(--wline); border-radius:var(--r); background:rgba(255,255,255,.03); }
.lib summary { list-style:none; cursor:pointer; padding:18px 22px; display:flex; flex-direction:column; gap:4px; }
.lib summary::-webkit-details-marker { display:none; }
.lib summary .display { font-size:18px; font-weight:600; color:#fff; }
.lib summary .display::before { content:"+ "; color:var(--blue-lt); }
.lib[open] summary .display::before { content:"– "; }
.lib-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; padding:0 22px 22px; }
.lib-trade { background:var(--carbon2); border:1px solid var(--wline); border-radius:var(--r-sm); padding:18px 20px; display:flex; flex-direction:column; gap:12px; }
.lib-h { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; }
.lib-h .display { font-size:17px; font-weight:600; color:#fff; }
.lib-h a { font-size:13px; font-weight:600; color:var(--blue-lt); white-space:nowrap; }
.lib-trade ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.lib-trade li { display:flex; flex-direction:column; gap:2px; font-size:13.5px; color:var(--soft); line-height:1.5; }
.lib-trade li b { color:#fff; font-weight:600; font-size:14.5px; }
.lib-trade .cb { font-family:'IBM Plex Mono',Consolas,monospace; font-size:9.5px; letter-spacing:.12em; color:var(--blue-lt); }
.proofcard { display:flex; flex-direction:column; gap:10px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); position:relative; padding:28px 30px; color:var(--ink); transition:border-color .15s ease; }
.proofcard:hover { border-color:var(--blue); color:var(--ink); }
.proofcard .h { font-family:'Space Grotesk',sans-serif; font-size:23px; font-weight:700; }
.proofcard p { font-size:15px; line-height:1.6; color:var(--muted); }
.proofcard .go { font-weight:600; color:var(--blue); margin-top:auto; }
.dream { background:var(--carbon2); border:1px solid var(--wline); border-radius:var(--r-sm); padding:20px 24px; display:flex; flex-direction:column; gap:6px; }
.dream .cb { font-family:'IBM Plex Mono',Consolas,monospace; font-size:10px; letter-spacing:.12em; color:var(--blue-lt); }
.dream .h { font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:600; color:#fff; }
.dream p { font-size:13.5px; color:var(--soft); line-height:1.55; }
.own { background:var(--carbon2); border:1px solid rgba(94,139,255,.3); border-radius:var(--r); position:relative; padding:30px 40px; display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center; }
.own .h { font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:600; color:#fff; line-height:1.4; max-width:820px; }
.own p { font-size:15.5px; color:var(--soft); max-width:760px; }

/* three ways */
.stays { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.stay { background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:30px; position:relative; display:flex; flex-direction:column; gap:12px; }
.stay.mid { border:1.5px solid var(--blue); }
.stay .top { display:flex; justify-content:space-between; align-items:center; font-family:'Space Grotesk',sans-serif; font-size:30px; font-weight:700; letter-spacing:-.02em; color:var(--soft2); }
.stay .top span { font-family:'IBM Plex Mono',Consolas,monospace; font-size:11px; letter-spacing:.12em; font-weight:500; }
.stay .h { font-family:'Space Grotesk',sans-serif; font-size:23px; font-weight:700; }
.stay p { font-size:15px; line-height:1.6; color:var(--muted); }
.stay .end { font-size:14px; font-weight:600; margin-top:auto; }

/* how it adds up */
.rungs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; position:relative; }
.rungs::before { content:""; position:absolute; left:0; right:0; top:19px; height:1px; background:linear-gradient(90deg,transparent,rgba(94,139,255,.45) 8%,rgba(94,139,255,.45) 92%,transparent); }
.rung { display:flex; flex-direction:column; gap:6px; padding:0 26px 0 0; position:relative; }
.rung + .rung { padding-left:26px; border-left:1px solid rgba(255,255,255,.09); }
.rung .n { font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:700; color:#fff; width:38px; height:38px; border-radius:50%; background:var(--carbon);
  border:1px solid rgba(94,139,255,.6); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.rung .h { font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:600; color:#fff; line-height:1.25; }
.rung p { font-size:13.5px; color:var(--soft); }
.sum { display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; }
.sum .eq { font-family:'Space Grotesk',sans-serif; font-size:26px; color:var(--muted); }
.sum .h { font-family:'Space Grotesk',sans-serif; font-size:clamp(26px,3vw,34px); font-weight:700; color:#fff; }

/* proof + footer */
.proof { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:64px 0; flex-wrap:wrap; }
.proof h2 { font-size:30px; }
.footer { padding:40px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.footer .left { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.footer .desc { display:flex; flex-direction:column; gap:4px; border-left:1px solid rgba(255,255,255,.12); padding-left:24px; }
.footer .desc .a { font-size:14px; color:var(--soft2); }
.footer .desc .legal { font-size:13px; color:var(--dim2); }
.footer .desc .legal .ph { display:inline; padding:1px 5px; font-size:10px; }
.footer .right { font-family:'IBM Plex Mono',Consolas,monospace; font-size:12px; color:var(--dim2); text-align:right; max-width:300px; line-height:1.6; }

/* book page */
.bookcard { position:relative; background:var(--white); border:1px solid var(--line2); border-radius:var(--r); padding:30px 32px; }
.book { max-width:640px; margin:0 auto; padding:56px 24px 80px; display:flex; flex-direction:column; gap:22px; }
.book h1 { font-size:clamp(28px,4vw,40px); line-height:1.1; }
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font-size:13.5px; font-weight:600; }
.field input, .field textarea { font-family:inherit; font-size:15px; padding:13px 15px; border-radius:var(--r-sm); border:1px solid var(--line2); background:var(--white); color:var(--ink); }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--blue-lt); }
.field input.bad { border-color:var(--bad); }
.intent { display:flex; flex-wrap:wrap; gap:8px; }
.intent span { font-family:'IBM Plex Mono',Consolas,monospace; font-size:12px; color:var(--blue); border:1px solid rgba(46,107,255,.3); border-radius:999px; padding:4px 12px; }
.err { color:var(--bad); font-size:13.5px; min-height:1.2em; }
.hd { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--line); }

@media (max-width:1100px) { .wrap { padding:0 32px; } .sec > .wrap::before { left:32px; } .sec > .wrap::after { left:78px; right:32px; }
  .dreams, .rungs { grid-template-columns:repeat(2,minmax(0,1fr)); } .rungs { gap:28px 0; } .rungs::before { display:none; } .rung:nth-child(3) { border-left:0; padding-left:0; } }
@media (max-width:860px) { .hero { grid-template-columns:1fr; gap:36px; padding:44px 0 56px; } .glow { display:none; }
  .two, .stays { grid-template-columns:1fr; } .cc { grid-template-columns:1fr; gap:14px; } .cc .arrow { display:none; }
  .nav .links { gap:18px; } .sec { padding:56px 0; } }
@media (max-width:560px) { .wrap { padding:0 18px; } .sec > .wrap::before { left:18px; } .sec > .wrap::after { left:64px; right:18px; }
  .tiles, .dreams, .rungs, .checklist { grid-template-columns:1fr; } .rung + .rung { border-left:0; padding-left:0; } .bookcard { padding:22px 18px; }
  .nav .navlink { display:none; } .wm-big { font-size:30px; } .scanform { flex-wrap:wrap; padding:8px; } .scanform input { padding:8px 10px; flex-basis:100%; }
  .scanform .btn { width:100%; } .kpis { grid-template-columns:1fr; } }
