/* ============================================================
   Asterion Analytics
   Tokens taken directly from the approved design.
   ============================================================ */

:root{
  --navy:#1B2A4A;
  --navy-panel:#16233D;
  --ink:#131A26;
  --ink-2:#2D3644;
  --ink-3:#3C4655;
  --muted:#5B6472;
  --muted-2:#6B7280;
  --muted-3:#98A0AC;
  --placeholder:#9AA2AE;
  --teal:#2E7E90;
  --teal-lt:#8FC4CF;
  --paper:#FBFBFA;
  --white:#FFFFFF;
  --tint:#F4F4F1;
  --tint-2:#F8F8F6;
  --line:#E3E5E1;
  --line-2:#EFEFEC;
  --line-3:#DFE1DD;
  --on-dark:#F4F6F8;
  --on-dark-2:#C3CBD8;
  --on-dark-3:#93A1B5;
  --on-dark-4:#6F7F97;
  --foot-bg:#131A26;
  --foot-txt:#B9C2CF;
  --foot-dim:#8B95A5;
  --foot-label:#6D7787;
  --err-line:#C97A5A;
  --err-bg:#FDF6F3;
  --err-label:#B4633F;
  --err-head:#7E4227;
  --err-body:#6B5347;
  --pass:#2E7E90;
  --fail:#B4633F;
  --wrap:1240px;
}

*{box-sizing:border-box}
[hidden]{display:none!important}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Archivo,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--teal)}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;text-wrap:pretty}
p{margin:0;text-wrap:pretty}
input,textarea,button,select{font-family:inherit}
::placeholder{color:var(--placeholder)}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.18em;color:var(--teal)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- header ---------------- */

.hdr{position:sticky;top:0;z-index:50;background:rgba(251,251,250,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;gap:12px}
.brand:hover{color:inherit}
.brand img{width:auto;height:42px}
.brand-txt{display:flex;flex-direction:column;gap:2px}
.brand-1{font-size:15px;font-weight:600;letter-spacing:.22em;color:var(--navy)}
.brand-2{font-size:9px;font-weight:500;letter-spacing:.3em;color:var(--muted-2)}

.nav{display:flex;gap:30px;align-items:center;margin-left:auto;font-size:14px;font-weight:500}
.nav a{padding-bottom:2px;border-bottom:2px solid transparent;color:var(--ink-3)}
.nav a:hover{color:var(--navy)}
.nav a.on{color:var(--navy);border-bottom-color:var(--teal)}
.nav .verify-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;
  border:1px solid var(--navy);border-radius:3px;color:var(--navy);
  font-size:13px;font-weight:600;letter-spacing:.04em;border-bottom-width:1px}
.nav .verify-btn:hover{background:var(--navy);color:var(--paper)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  border-radius:3px;padding:8px 11px;font-size:15px;cursor:pointer;color:var(--navy)}

/* ---------------- buttons ---------------- */

.btn{display:inline-block;padding:15px 28px;border-radius:3px;font-weight:600;
  font-size:15px;border:1px solid transparent;cursor:pointer;text-align:center}
.btn-light{background:var(--paper);color:var(--navy)}
.btn-light:hover{background:var(--teal-lt);color:var(--navy)}
.btn-outline-light{border-color:rgba(244,246,248,.4);color:var(--on-dark)}
.btn-outline-light:hover{border-color:var(--teal-lt);color:var(--teal-lt)}
.btn-navy{background:var(--navy);color:var(--paper);border:none}
.btn-navy:hover{background:var(--teal);color:var(--paper)}
.btn-outline{border-color:var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:var(--paper)}
.btn-block{display:block;width:100%;padding:14px}

/* ---------------- sections ---------------- */

.sec{border-bottom:1px solid var(--line)}
.sec-tint{background:var(--tint)}
.sec-navy{background:var(--navy);color:var(--on-dark);position:relative;overflow:hidden}
.sec-navy h1,.sec-navy h2,.sec-navy h3{color:var(--on-dark)}
.pad{padding:96px 32px}

/* ---------------- home hero ---------------- */

.hero{position:relative}
.hero-rules{position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:72px 100%}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:108px 32px 96px;position:relative;
  display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.16em;
  color:var(--teal-lt);border:1px solid rgba(143,196,207,.35);padding:6px 12px;border-radius:2px}
.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--teal-lt)}
.hero h1{font-size:62px;line-height:1.04;margin-top:26px;letter-spacing:-.03em}
.hero h1 span{color:var(--teal-lt)}
.hero-lede{margin-top:24px;font-size:19px;line-height:1.6;color:var(--on-dark-2);max-width:520px}
.hero-cta{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-stats{display:flex;gap:44px;margin-top:56px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14);flex-wrap:wrap}
.hero-stats .v{font-size:24px;font-weight:600;letter-spacing:-.01em}
.hero-stats .l{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.12em;color:var(--on-dark-3);margin-top:6px}

.rec-card{background:var(--navy-panel);border:1px solid rgba(255,255,255,.12);
  border-radius:4px;padding:26px}
.rec-card .top{display:flex;justify-content:space-between;align-items:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.12em;color:var(--on-dark-3)}
.rec-card .top .ok{color:var(--teal-lt)}
.rec-card .sub{margin-top:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.rec-card .sub .t{font-size:20px;font-weight:600}
.rec-card .sub .m{font-size:13px;color:var(--on-dark-3);margin-top:6px;
  font-family:'IBM Plex Mono',ui-monospace,monospace}
.rec-card .row{display:flex;justify-content:space-between;align-items:baseline;
  padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px}
.rec-card .row span:first-child{color:var(--on-dark-2)}
.rec-card .row span:last-child{font-family:'IBM Plex Mono',ui-monospace,monospace;color:var(--on-dark)}
.rec-card .sig{margin-top:22px;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px;color:var(--on-dark-4);line-height:1.7}

/* ---------------- generic blocks ---------------- */

.h2{font-size:42px;line-height:1.14;margin-top:18px;max-width:720px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mt-52{margin-top:52px}

.card{border:1px solid var(--line);border-radius:4px;padding:30px;background:var(--white)}
.card-strong{border-color:var(--navy)}
.card .tag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.16em;color:var(--muted-3)}
.card .tag.teal{color:var(--teal)}
.card h3{font-size:22px;margin-top:12px}
.list{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.list div{display:flex;gap:12px;font-size:15px;line-height:1.5}
.list.neg div{color:var(--muted)}
.list.neg i{color:#C0C6CE;flex:none;font-style:normal}
.list.pos div{color:var(--ink-2)}
.list.pos i{color:var(--teal);flex:none;font-style:normal}

.pillar{background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:32px;display:flex;flex-direction:column;gap:14px}
.pillar .tag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.16em;color:var(--muted-3)}
.pillar h3{font-size:21px;color:var(--navy)}
.pillar p{font-size:15px;line-height:1.65;color:var(--muted)}
.pillar .spec{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;
  color:var(--teal);margin-top:4px}

.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px}
.step{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line)}
.step .n{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;color:var(--muted-3)}
.step h4{font-size:19px;color:var(--navy)}
.step p{font-size:15px;line-height:1.65;color:var(--muted);margin-top:8px}
.link-ul{display:inline-block;margin-top:28px;font-weight:600;font-size:15px;
  border-bottom:1px solid var(--teal);color:var(--navy)}

.band{max-width:var(--wrap);margin:0 auto;padding:84px 32px;display:flex;gap:48px;
  align-items:center;justify-content:space-between;flex-wrap:wrap}
.band h2{font-size:38px;line-height:1.15;max-width:620px}
.band p{margin-top:16px;color:var(--on-dark-2);font-size:16px}
.band .cta{display:flex;gap:14px;flex-wrap:wrap}

/* ---------------- pricing ---------------- */

.page-head{padding:76px 32px 64px;max-width:var(--wrap);margin:0 auto}
.page-head h1{font-size:50px;margin-top:18px;line-height:1.08;max-width:760px}
.page-head p{margin-top:20px;font-size:18px;line-height:1.65;color:var(--muted);max-width:640px}

.plan{border:1px solid var(--line);background:var(--white);border-radius:4px;padding:36px}
.plan.dark{border-color:var(--navy);background:var(--navy);color:var(--on-dark)}
.plan .tag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.16em;color:var(--muted-3)}
.plan.dark .tag{color:var(--teal-lt)}
.plan h2{font-size:28px;margin-top:12px;color:var(--navy)}
.plan.dark h2{color:var(--on-dark)}
.plan .price{display:flex;align-items:baseline;gap:10px;margin-top:24px}
.plan .price .amt{font-size:46px;font-weight:600;letter-spacing:-.03em;color:var(--navy)}
.plan.dark .price .amt{color:var(--on-dark)}
.plan .price .per{font-size:14px;color:var(--muted-2)}
.plan .price .was{font-size:19px;color:var(--on-dark-3);text-decoration:line-through}
.plan .save{font-size:14px;color:var(--on-dark-2);margin-top:6px}
.plan .list{margin-top:26px}
.plan.dark .list div{color:#DCE2EA}
.plan.dark .list i{color:var(--teal-lt)}
.plan .btn{margin-top:30px}
.plan.dark .btn-light:hover{background:var(--teal-lt)}

.table{margin-top:32px;border:1px solid var(--line);border-radius:4px;
  overflow:hidden;background:var(--white)}
.trow{display:grid;grid-template-columns:1.5fr 1.15fr 1fr .7fr .65fr;gap:20px;
  padding:18px 26px;border-bottom:1px solid var(--line-2);align-items:baseline}
.trow:last-child{border-bottom:0}
.trow:hover{background:#FAFAF8}
.thead{padding:16px 26px;background:var(--tint);border-bottom:1px solid var(--line);
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.14em;color:var(--muted-2);align-items:center}
.thead:hover{background:var(--tint)}
.trow .a-name{font-size:15px;font-weight:500;color:var(--navy)}
.trow .a-method{font-size:13px;color:var(--muted);font-family:'IBM Plex Mono',ui-monospace,monospace}
.trow .a-reports{font-size:13px;color:var(--muted)}
.trow .a-tat{font-size:13px;color:var(--muted);font-family:'IBM Plex Mono',ui-monospace,monospace}
.trow .a-price{font-size:16px;font-weight:600;color:var(--navy);text-align:right;
  font-family:'IBM Plex Mono',ui-monospace,monospace}
.tlabel{display:none}

.detail h3{font-size:20px;color:var(--navy)}
.detail p{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.6}
.detail .rows{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.detail .rows div{display:flex;justify-content:space-between;gap:16px;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;color:var(--ink-2);
  padding-bottom:8px;border-bottom:1px solid var(--line-2)}
.detail .rows div span:last-child{color:var(--muted-2);text-align:right}

.offer{margin-top:40px;padding:26px 30px;background:var(--tint);border:1px solid var(--line);
  border-radius:4px;display:flex;gap:24px;justify-content:space-between;
  align-items:center;flex-wrap:wrap}
.offer h3{font-size:19px;color:var(--navy)}
.offer p{font-size:14px;color:var(--muted);margin-top:6px}
.offer .btn{padding:13px 24px;font-size:14px}

/* ---------------- verify ---------------- */

.vhead{padding:76px 32px 72px;max-width:var(--wrap);margin:0 auto}
.vhead .eyebrow{color:var(--teal-lt)}
.vhead h1{font-size:48px;margin-top:18px;line-height:1.1}
.vhead p{margin-top:18px;font-size:17px;line-height:1.65;color:var(--on-dark-2);max-width:620px}
.vform{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap;max-width:640px}
.vform input{flex:1;min-width:260px;padding:16px 18px;border-radius:3px;
  border:1px solid rgba(255,255,255,.28);background:var(--navy-panel);color:var(--on-dark);
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:16px;letter-spacing:.1em;outline:none}
.vform input:focus{border-color:var(--teal-lt)}
.vform button{padding:16px 30px;border:none;border-radius:3px;background:var(--paper);
  color:var(--navy);font-weight:600;font-size:15px;cursor:pointer}
.vform button:hover{background:var(--teal-lt)}
.vtry{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;color:var(--on-dark-3)}
.vtry button{background:none;border:0;padding:0;cursor:pointer;color:var(--teal-lt);
  border-bottom:1px dotted rgba(143,196,207,.6);letter-spacing:.08em;
  font-family:inherit;font-size:12px}
.vtry button:hover{color:#fff;border-bottom-color:#fff}
.vdemo{margin-top:22px;max-width:640px;padding:12px 16px;
  border-left:3px solid var(--teal-lt);background:rgba(143,196,207,.1);
  font-size:13px;line-height:1.6;color:var(--on-dark-2)}

.vbody{max-width:var(--wrap);margin:0 auto;padding:56px 32px 88px}

.notfound{border:1px solid var(--err-line);background:var(--err-bg);border-radius:4px;padding:28px 30px}
.notfound .tag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.16em;color:var(--err-label)}
.notfound h3{font-size:22px;margin-top:10px;color:var(--err-head)}
.notfound p{font-size:15px;color:var(--err-body);margin-top:10px;line-height:1.6}

.record{border:1px solid var(--line);border-radius:4px;background:var(--white);overflow:hidden}
.record .rhead{padding:26px 32px;background:var(--tint);border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.record .rid{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;
  letter-spacing:.14em;color:var(--muted-2)}
.record .rhead h2{font-size:27px;margin-top:8px;color:var(--navy)}
.record .stat{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:3px;
  background:var(--navy);color:var(--teal-lt);font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:12px;letter-spacing:.14em}
.record .stat .dot{width:7px;height:7px;border-radius:50%;background:var(--teal-lt)}
.record .stat.bad{background:var(--err-head);color:#F6DFD5}
.record .stat.bad .dot{background:#F6DFD5}
.record .meta{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  padding:26px 32px;border-bottom:1px solid var(--line)}
.record .meta .l{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.14em;color:var(--muted-3)}
.record .meta .v{font-size:15px;color:var(--navy);margin-top:7px}
.record .results{padding:8px 32px 26px}
.rrow{display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr;gap:20px;padding:15px 0;
  border-bottom:1px solid var(--line-2);align-items:baseline}
.rrow:last-child{border-bottom:0}
.rhead-row{padding:16px 0;border-bottom:1px solid var(--line);
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.14em;color:var(--muted-2)}
.rrow .r-test{font-size:15px;color:var(--navy)}
.rrow .r-result{font-size:15px;font-family:'IBM Plex Mono',ui-monospace,monospace;color:var(--ink-2)}
.rrow .r-spec{font-size:13px;font-family:'IBM Plex Mono',ui-monospace,monospace;color:var(--muted-2)}
.rrow .r-status{text-align:right;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:12px;letter-spacing:.1em;color:var(--pass)}
.rrow .r-status.bad{color:var(--fail)}
.record .rfoot{padding:24px 32px;background:var(--tint-2);border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.record .rfoot .sig{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;
  color:var(--muted-2);line-height:1.9;word-break:break-word}
.record .rfoot .btn{padding:12px 20px;font-size:14px}

.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.note{border-top:2px solid var(--navy);padding-top:20px}
.note h3{font-size:18px;color:var(--navy)}
.note p{font-size:15px;line-height:1.65;color:var(--muted);margin-top:10px}

/* ---------------- contact ---------------- */

.contact{max-width:var(--wrap);margin:0 auto;padding:76px 32px 96px;
  display:grid;grid-template-columns:1fr 1fr;gap:72px}
.contact h1{font-size:46px;margin-top:18px;line-height:1.1}
.contact .lede{margin-top:18px;font-size:17px;line-height:1.7;color:var(--muted)}
.cblocks{margin-top:42px;display:flex;flex-direction:column;gap:26px}
.cblocks .l{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.14em;color:var(--muted-3)}
.cblocks .v{font-size:16px;line-height:1.7;color:var(--navy);margin-top:8px}
.cform{border:1px solid var(--line);background:var(--white);border-radius:4px;padding:34px;
  align-self:start}
.cform h3{font-size:21px;color:var(--navy)}
.cform .fields{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.cform label{display:flex;flex-direction:column;gap:8px;font-size:13px;
  font-weight:500;color:var(--ink-3)}
.cform input,.cform textarea{padding:13px 14px;border:1px solid var(--line-3);
  border-radius:3px;font-size:15px;outline:none;color:var(--ink);background:#fff}
.cform textarea{resize:vertical;min-height:120px}
.cform input:focus,.cform textarea:focus{border-color:var(--navy);outline:none}
.cform button{padding:15px;border:none;border-radius:3px;background:var(--navy);
  color:var(--paper);font-weight:600;font-size:15px;cursor:pointer}
.cform button:hover{background:var(--teal)}
.cform button[disabled]{opacity:.6;cursor:default}
.fmsg{display:none;padding:13px 15px;font-size:14px;line-height:1.55;border-radius:3px}
.fmsg.ok{background:rgba(46,126,144,.09);border-left:3px solid var(--teal);color:var(--ink-2)}
.fmsg.bad{background:var(--err-bg);border-left:3px solid var(--err-line);color:var(--err-body)}

/* ---------------- footer ---------------- */

.foot{background:var(--foot-bg);color:var(--foot-txt)}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:64px 32px 28px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.foot .brand-1{color:var(--paper)}
.foot .brand-2{color:var(--foot-dim)}
.foot .mark{display:block;width:40px;height:42px;overflow:hidden;flex:none;
  background:var(--paper);border-radius:2px;display:flex;align-items:center;justify-content:center}
.foot .mark img{height:26px;width:auto}
.foot .blurb{margin-top:20px;font-size:14px;line-height:1.75;max-width:320px;color:var(--foot-dim)}
.foot .l{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.16em;color:var(--foot-label)}
.foot .addr{font-size:14px;line-height:1.8;margin-top:14px;color:var(--foot-txt);font-style:normal}
.foot .links{display:flex;flex-direction:column;gap:10px;margin-top:14px;font-size:14px}
.foot a{color:var(--foot-txt)}
.foot a:hover{color:var(--teal-lt)}
.foot .base{max-width:var(--wrap);margin:0 auto;padding:20px 32px 40px;
  border-top:1px solid rgba(255,255,255,.08);display:flex;gap:24px;justify-content:space-between;
  flex-wrap:wrap;font-size:12px;color:var(--foot-label)}

/* ============================================================
   Responsive — the design was drawn at desktop width only.
   ============================================================ */

@media (max-width:1080px){
  .hero-in{grid-template-columns:1fr;gap:52px;padding:76px 32px 72px}
  .hero h1{font-size:50px}
  .split{grid-template-columns:1fr;gap:40px}
  .contact{grid-template-columns:1fr;gap:48px}
  .foot-in{grid-template-columns:1fr 1fr;gap:36px}
  .record .meta{grid-template-columns:1fr 1fr;gap:20px}
}

@media (max-width:860px){
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;
    align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);
    padding:6px 32px 18px;display:none;box-shadow:0 12px 24px rgba(19,26,38,.08)}
  .nav.open{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line-2)}
  .nav .verify-btn{justify-content:center;margin-top:12px;border-bottom-width:1px}
  .burger{display:block}
  .hdr-in{gap:16px;position:relative}
  .pad{padding:64px 32px}
  .h2,.page-head h1{font-size:34px}
  .hero h1{font-size:40px}
  .hero-lede{font-size:17px}
  .vhead h1{font-size:34px}
  .contact h1{font-size:34px}
  .band h2{font-size:28px}
  .grid-2,.grid-3,.notes{grid-template-columns:1fr}
  .plan{padding:28px}

  /* price table becomes stacked cards so no column is dropped */
  .table{border:0;background:none}
  .thead{display:none}
  .trow{grid-template-columns:1fr;gap:0;background:var(--white);border:1px solid var(--line);
    border-radius:4px;margin-bottom:12px;padding:18px 20px}
  .trow:hover{background:var(--white)}
  .trow>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;
    border-bottom:1px solid var(--line-2);text-align:right}
  .trow>div:last-child{border-bottom:0}
  .trow .a-name{font-size:17px;padding-top:0;border-bottom:1px solid var(--line);
    padding-bottom:10px;margin-bottom:4px;text-align:left;display:block}
  .trow .a-price{text-align:right}
  .tlabel{display:inline;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;
    letter-spacing:.14em;color:var(--muted-3);text-align:left;flex:none}

  .rhead-row{display:none}
  .rrow{grid-template-columns:1fr;gap:0;padding:16px 0}
  .rrow>div{display:flex;justify-content:space-between;gap:14px;padding:4px 0;text-align:right}
  .rrow .r-test{font-size:16px;text-align:left;display:block;padding-bottom:8px}
  .rrow .r-status{text-align:right}
  .record .rfoot{grid-template-columns:1fr}
  .record .rhead,.record .meta,.record .results,.record .rfoot{padding-left:20px;padding-right:20px}
}

@media (max-width:560px){
  .wrap,.pad,.hero-in,.page-head,.vhead,.vbody,.contact,.foot-in,.foot .base,.band,.hdr-in{
    padding-left:20px;padding-right:20px}
  .nav{padding-left:20px;padding-right:20px}
  .hero h1{font-size:33px}
  .h2,.page-head h1,.vhead h1,.contact h1{font-size:29px}
  .plan .price .amt{font-size:38px}
  .foot-in{grid-template-columns:1fr}
  .record .meta{grid-template-columns:1fr}
  .hero-stats{gap:26px}
  .cform{padding:24px}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

@media print{
  .hdr,.foot,.vform,.vtry,.vdemo,.notes,.vhead p,.vdemo{display:none!important}
  .vbody{padding:0}
  .record{border-color:#999}
}
