:root{--paper:#fff;--paper-2:#f2f4f8;--ink:#12253d;--ink-2:#4a5b72;--line:#ccd4df;--line-2:#e3e8ef;--navy:#12253d;--accent:#1f4fd8;--accent-bg:#e8eefc;--ok:#1b6e4f;--ok-bg:#e1f2ea;--warn:#9a5b00;--warn-bg:#fbefd8;--bad:#b3261e;--bad-bg:#fbe4e2;--focus:#1f4fd8;
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:var(--accent)} :focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px} .skip:focus{left:16px;top:12px;background:var(--paper);padding:6px 10px;z-index:5}
.top,main,.foot{width:min(1100px,100% - 48px);margin-inline:auto}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding:22px 0}
.mark{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-stretch:88%;font-size:1.15rem;letter-spacing:-.01em;color:var(--navy);text-decoration:none}
.mark svg{width:26px;height:26px}
.top nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.95rem;font-weight:500} .top nav a{text-decoration:none;color:var(--ink-2)} .top nav a:hover{color:var(--accent)}
h1{font-size:clamp(2.4rem,5.4vw,4.1rem);line-height:.98;letter-spacing:-.03em;font-weight:800;font-stretch:80%;margin:0 0 22px;color:var(--navy);max-width:14ch}
h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1;letter-spacing:-.02em;font-weight:800;font-stretch:85%;margin:0 0 22px;color:var(--navy)}
h3{font-size:1.06rem;margin:0 0 4px;font-weight:700}
p{margin:0 0 14px} .lede{font-size:1.15rem;max-width:56ch;color:var(--ink-2)} .fine{font-size:.9rem;color:var(--ink-2)}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding:56px 0 80px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:26px 0 12px}
.cta{display:inline-block;white-space:nowrap;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:6px;border:2px solid var(--navy)} .cta:hover{background:var(--accent);border-color:var(--accent)}
.quiet{font-weight:600}
/* the specimen: a paper sheet with a stamp */
.specimen{margin:0;position:relative;background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);padding:22px 24px 8px;transform:rotate(.6deg);box-shadow:0 24px 50px -32px rgba(18,37,61,.6)}
.specimen::after{content:"Reviewed";position:absolute;right:22px;top:14px;font-weight:800;font-stretch:88%;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--accent);border:2px solid var(--accent);border-radius:3px;padding:3px 9px;outline:1.5px solid var(--accent);outline-offset:2px;transform:rotate(-8deg);opacity:.9}
.specimen figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:.95rem;padding-right:112px} .specimen figcaption b{font-stretch:88%;font-size:1.05rem} .specimen figcaption span{color:var(--ink-2);font-size:.85rem}
.specimen ul{list-style:none;margin:0;padding:0} .specimen li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2);font-size:.92rem;line-height:1.45} .specimen li:last-child{border-bottom:0} .specimen p{margin:0}
.stamp{display:inline-block;justify-self:start;align-self:start;margin-top:2px;border:1.5px solid currentColor;border-radius:3px;padding:1px 8px;font-size:.74rem;font-weight:700;white-space:nowrap}
.stamp.ok{color:var(--ok);background:var(--ok-bg)} .stamp.warn{color:var(--warn);background:var(--warn-bg)} .stamp.bad{color:var(--bad);background:var(--bad-bg)}
.band{padding:56px 0 64px;border-top:1px solid var(--line-2)}
.band.tint{background:var(--paper-2);border-top:0;border-radius:14px;padding:48px clamp(20px,4vw,48px) 56px;margin:16px 0}
/* checklist: the subject's own vernacular */
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px 40px}
.checks li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;max-width:46ch;align-items:start}
.checks li::before{content:"";width:20px;height:20px;margin-top:3px;border:2px solid var(--navy);border-radius:4px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4fd8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/14px no-repeat}
.checks b{display:block}
.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px 40px}
.steps li{counter-increment:s;position:relative;padding-top:46px} .steps li::before{content:counter(s);position:absolute;top:0;left:0;width:34px;height:34px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--navy)}
.who{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 32px;margin:0;padding:0;list-style:none} .who li{padding:14px 0;border-top:2px solid var(--navy)} .who li b{display:block;margin-bottom:4px}
.schedule{border-top:1px solid var(--line)} .schedule [role=row]{display:grid;grid-template-columns:minmax(0,1fr) 170px 230px;gap:18px 28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.schedule p{margin:0;color:var(--ink-2);max-width:56ch} .price{font-size:1.9rem;font-weight:800;font-stretch:85%;color:var(--navy);letter-spacing:-.02em} .price span{display:block;font-size:.85rem;font-weight:500;font-stretch:100%;color:var(--ink-2);letter-spacing:0}
.faq{max-width:76ch} .faq details{border-top:1px solid var(--line-2);padding:4px 0} .faq details:last-child{border-bottom:1px solid var(--line-2)} .faq summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none;display:flex;justify-content:space-between;gap:16px} .faq summary::after{content:"+";font-weight:400;color:var(--accent);font-size:1.3rem;line-height:1} .faq details[open] summary::after{content:"–"} .faq summary::-webkit-details-marker{display:none} .faq details p{margin:0 0 14px;color:var(--ink-2)}
.limits p{max-width:70ch}
.foot{border-top:1px solid var(--line);padding:26px 0 48px;font-size:.86rem;color:var(--ink-2)} .foot p{max-width:88ch} .foot nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px} .foot nav a{color:var(--ink-2)}
/* terms */
.doc{max-width:74ch;padding:20px 0 60px} .doc h1{font-size:clamp(2rem,4vw,2.8rem);max-width:none} .doc h2{font-size:1.3rem;margin:32px 0 10px} .doc p,.doc li{color:var(--ink);line-height:1.6} .doc ol,.doc ul{padding-left:22px} .doc .fine{margin-bottom:24px}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:36px;padding:36px 0 56px}.specimen{transform:none}.schedule [role=row]{grid-template-columns:1fr;gap:8px}.price{font-size:1.5rem}.band{padding:44px 0 52px}}
/* sign-in */
body.signin{display:grid;place-items:center;min-height:100vh;background:var(--paper-2)}
.signin main{width:min(820px,100% - 40px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.signin-side{background:var(--navy);color:#fff;padding:32px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:40px} .signin-side svg{width:38px;height:38px} .signin-side p{margin:0;font-size:1.35rem;font-weight:700;font-stretch:88%;line-height:1.2;letter-spacing:-.01em;max-width:16ch}
.signin-form{padding:32px 32px 28px}
.signin h1{font-size:1.5rem;margin:14px 0 18px;max-width:none;letter-spacing:-.01em;line-height:1.2} .signin label{display:block;font-size:.9rem;font-weight:600;margin-bottom:14px}
.signin input{display:block;width:100%;margin-top:5px;padding:10px 11px;border:1px solid var(--line);border-radius:6px;font:inherit} .signin input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.signin button{width:100%;cursor:pointer;font:inherit;font-weight:700} .signin button:disabled{opacity:.5} #msg{min-height:1.4em;color:var(--bad);font-size:.9rem;margin:0 0 10px}
@media (max-width:640px){.signin main{grid-template-columns:1fr}.signin-side{padding:22px 24px;gap:14px}.signin-side p{font-size:1.1rem}}
/* phones: headline, then the call to action, then the paragraph, so the button sits above the fold */
@media (max-width:640px){
  .hero>div{display:flex;flex-direction:column}
  .hero h1{order:1;font-size:2.15rem;margin-bottom:16px}
  .hero .actions{order:2;margin:4px 0 10px}
  .hero .lede{order:3;font-size:1.02rem}
  .hero .fine{order:4}
  .top{padding:16px 0} .top nav{gap:4px 14px;font-size:.88rem}
}
