/* ------------------------------------------------------------------
   PACR — design tokens
   Near-black navy type,one blue accent,hairline grays,a single teal
   for status. No gradients,no glows,no floating objects.
------------------------------------------------------------------- */
:root{
  --ink:#0A1626; --ink-soft:#3B4859; --ink-muted:#657185; --ink-faint:#8B95A6;
  --line:#E4E8EF; --line-strong:#D2D9E4; --line-soft:#EEF1F6;
  --canvas:#fff; --subtle:#FAFBFD; --sunken:#F4F7FA;
  --blue-50:#EAF7FE; --blue-100:#CFEEFB; --blue-200:#A5DFF8;
  --blue-500:#29B6F0; --blue-600:#0AAAEB; --blue-700:#0787BD; --blue-950:#06485F;
  --signal:#0E8F7E; --signal-soft:#E2F4F1; --caution:#9A5B08; --caution-soft:#FDF3E4;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --shadow-card:0 1px 2px rgba(10,22,38,.04), 0 12px 28px -18px rgba(10,22,38,.22);
  --shadow-panel:0 1px 2px rgba(10,22,38,.05), 0 24px 48px -28px rgba(10,22,38,.28);
  --shadow-lift:0 1px 2px rgba(10,22,38,.05), 0 32px 64px -32px rgba(10,22,38,.34);
  --shadow-menu:0 24px 60px -24px rgba(10,22,38,.28), 0 2px 6px rgba(10,22,38,.05);
  --hairline:0 0 0 1px rgba(10,22,38,.06);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6.5rem;}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{margin:0;text-wrap:balance;font-weight:600;}
p{margin:0;text-wrap:pretty;}
ul,ol,dl,dd{margin:0;padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px;border-radius:3px;}
::selection{background:var(--blue-100);color:var(--blue-950);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* ---------------- layout ---------------- */
.shell{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px;}
@media(min-width:640px){.shell{padding-left:32px;padding-right:32px;}}
.sect{border-top:1px solid var(--line);padding:80px 0;}
.sect--flush{border-top:0;}
.sect--subtle{background:var(--subtle);}
.sect--ink{background:var(--blue-950);color:#fff;border-top:0;}
@media(min-width:1024px){.sect{padding:112px 0;}}
.stack-lg{margin-top:56px;}
.rule-top{border-top:1px solid var(--line);padding-top:48px;margin-top:56px;}
/* hairline precision grid,used only behind hero headers */
.grid-motif{position:absolute;inset:0 0 auto 0;height:480px;pointer-events:none;
  background-image:linear-gradient(to right,rgba(10,22,38,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,22,38,.045) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(110% 82% at 50% 0%,#000 38%,transparent 78%);
  mask-image:radial-gradient(110% 82% at 50% 0%,#000 38%,transparent 78%);}
/* ---------------- type ---------------- */
.d-xl{font-size:clamp(2.6rem,6.4vw,4.25rem);line-height:1.02;letter-spacing:-.035em;}
.d-lg{font-size:clamp(2.2rem,4.6vw,3.5rem);line-height:1.05;letter-spacing:-.032em;}
.d-md{font-size:clamp(1.9rem,3.6vw,2.75rem);line-height:1.08;letter-spacing:-.028em;}
.d-sm{font-size:clamp(1.6rem,2.6vw,2.125rem);line-height:1.14;letter-spacing:-.024em;}
.h-sec{font-size:1.5rem;line-height:1.25;letter-spacing:-.017em;}
.lead{font-size:1.125rem;line-height:1.65;color:var(--ink-soft);}
@media(min-width:1024px){.lead--hero{font-size:1.25rem;}}
.body{font-size:.9375rem;line-height:1.65;color:var(--ink-soft);}
.small{font-size:.875rem;line-height:1.6;color:var(--ink-soft);}
.micro{font-size:.75rem;line-height:1.55;color:var(--ink-faint);}
.mono{font-family:var(--mono);}
.eyebrow{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:500;color:var(--blue-600);}
.eyebrow--muted{color:var(--ink-muted);}
.eyebrow--invert{color:var(--blue-200);}
.muted{color:var(--ink-muted);}
.faint{color:var(--ink-faint);}
.measure{max-width:44rem;}
.measure-sm{max-width:34rem;}
.head{max-width:48rem;}
.head h2{margin-top:16px;}
.head p{margin-top:20px;}
/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:8px;font-weight:500;font-size:.9375rem;height:44px;padding:0 20px;
  border:1px solid transparent;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease);}
.btn--sm{height:36px;padding:0 14px;font-size:.875rem;}
.btn--lg{height:48px;padding:0 24px;font-size:1rem;}
.btn--primary{background:var(--blue-600);color:#fff;box-shadow:0 1px 2px rgba(10,22,38,.16);}
.btn--primary:hover{background:var(--blue-700);}
.btn--secondary{border-color:var(--line-strong);background:#fff;color:var(--ink);}
.btn--secondary:hover{border-color:var(--ink-faint);background:var(--subtle);}
.btn--invert{background:#fff;color:var(--blue-950);}
.btn--invert:hover{background:var(--blue-50);}
.btn--invert-ghost{border-color:rgba(255,255,255,.25);color:#fff;}
.btn--invert-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.1);}
.btn--block{width:100%;}
.tlink{display:inline-flex;align-items:center;gap:6px;font-size:.9375rem;font-weight:500;color:var(--blue-600);}
.tlink:hover{color:var(--blue-700);}
.tlink svg{width:14px;height:14px;}
/* ---------------- header ---------------- */
.announce{border-bottom:1px solid var(--line);background:var(--subtle);}
.announce .shell{display:flex;justify-content:center;gap:12px;padding-top:8px;padding-bottom:8px;}
.announce p{font-size:.8125rem;color:var(--ink-soft);text-align:center;}
/* ---------------- hero ---------------- */
.hero{position:relative;overflow:hidden;padding:56px 0 60px;}
@media(min-width:1024px){.hero{padding:80px 0 80px;}}
.hero__actions{margin-top:32px;display:flex;flex-direction:column;gap:12px;}
@media(min-width:640px){.hero__actions{flex-direction:row;align-items:center;}}
.hero__map{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:48px;
  border-top:1px solid var(--line);padding-top:20px;}
.hero__map li{display:flex;align-items:center;gap:12px;}
.hero__map .dash{display:none;width:24px;height:1px;background:var(--blue-200);}
@media(min-width:640px){.hero__map .dash{display:block;}}
.hero__map .dash--soft{background:var(--line-strong);}
.hero__map .idx{font-family:var(--mono);font-size:.625rem;color:var(--ink-faint);}
.hero__map .name{font-size:.875rem;font-weight:500;}
.hero__map .name--soft{color:var(--ink-muted);}
.hero__map .note{margin-left:auto;font-size:.75rem;color:var(--ink-faint);display:none;}
@media(min-width:1024px){.hero__map .note{display:block;}}
/* ---------------- interface mockups ---------------- */
.frame{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;box-shadow:var(--shadow-panel);}
.frame--hero{border-radius:14px;box-shadow:var(--shadow-lift);}
.frame--flat{box-shadow:var(--shadow-card);}
.frame__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 12px;border-bottom:1px solid var(--line);background:var(--subtle);}
@media(min-width:640px){.frame__bar{padding:8px 16px;}}
.crumb{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;}
.crumb span{font-size:.75rem;color:var(--ink-muted);white-space:nowrap;}
.crumb span:last-child{color:var(--ink);font-weight:500;}
.crumb i{color:var(--ink-faint);font-style:normal;}
.samplemark{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);
  font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;}
.samplemark::before{content:"";width:4px;height:4px;border-radius:50%;background:rgba(139,149,166,.7);}
@media(max-width:520px){.samplemark--hide{display:none;}}
.split{display:grid;}
.pane{padding:16px;}
@media(min-width:640px){.pane{padding:20px;}}
.pane--rail{background:var(--subtle);padding:12px;}
.pane--b{border-bottom:1px solid var(--line);}
.mlabel{font-family:var(--mono);font-size:.625rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);}
.mlabel--blue{color:var(--blue-600);}
.qfield{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;
  background:#fff;padding:10px 14px;}
.qfield svg{width:14px;height:14px;margin-top:3px;flex:none;color:var(--ink-faint);}
.qfield p{font-size:.875rem;line-height:1.35;}
.modes{display:flex;flex-wrap:wrap;gap:6px;}
.mode{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;
  border-radius:6px;padding:4px 8px;font-size:11px;font-weight:500;color:var(--ink-muted);}
.mode--on{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700);}
.answer p{font-size:.8125rem;line-height:1.7;color:var(--ink-soft);}
.answer p+p{margin-top:12px;}
.cite{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;
  padding:0 4px;margin-left:2px;border:1px solid var(--blue-200);background:var(--blue-50);
  border-radius:3px;font-family:var(--mono);font-size:9px;font-weight:500;color:var(--blue-700);
  vertical-align:baseline;transform:translateY(-1px);}
.refnum{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;
  border:1px solid var(--line);background:var(--subtle);border-radius:3px;
  font-family:var(--mono);font-size:9px;color:var(--ink-muted);margin-top:2px;flex:none;}
.srclist li{display:flex;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line-soft);}
.srclist p.t{font-size:.75rem;font-weight:500;line-height:1.35;}
.srclist p.m{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11px;color:var(--ink-muted);margin-top:4px;}
.db{display:inline-flex;border:1px solid var(--line);background:var(--subtle);border-radius:4px;
  padding:1px 6px;font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);}
.citecard{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;box-shadow:var(--shadow-card);}
.citecard dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border-top:1px solid var(--line-soft);
  margin-top:10px;padding-top:10px;font-size:10.5px;}
.citecard dt{color:var(--ink-faint);}
.citecard dd{color:var(--ink-soft);margin:0;}
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;
  border-radius:6px;padding:4px 8px;font-size:11px;color:var(--ink-soft);}
.chip svg{width:10px;height:10px;color:var(--blue-500);}
.tag{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:4px;
  padding:1px 6px;font-size:10px;color:var(--ink-muted);}
.status{display:inline-flex;border-radius:4px;border:1px solid var(--line);background:var(--subtle);
  padding:2px 6px;font-size:10px;font-weight:500;color:var(--ink-muted);white-space:nowrap;}
.status--ext{border-color:rgba(14,143,126,.25);background:var(--signal-soft);color:var(--signal);}
.status--read{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700);}
.ini{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  border:1px solid var(--line);background:var(--sunken);color:var(--ink-soft);font-weight:500;
  width:24px;height:24px;font-size:10px;flex:none;}
.ini--xs{width:20px;height:20px;font-size:9px;}
.ini--md{width:40px;height:40px;font-size:13px;}
.ini--blue{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-700);}
.stack-ini{display:flex;}
.stack-ini .ini+.ini{margin-left:-6px;}
.dtable th{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:6px 12px;
  background:var(--subtle);border-bottom:1px solid var(--line);}
.dtable td{padding:10px 12px;vertical-align:top;border-bottom:1px solid var(--line-soft);}
.dtable tr.on td{background:rgba(238,244,255,.5);}
.dtable p.t{font-size:.75rem;font-weight:500;line-height:1.35;}
.dtable p.m{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-muted);margin-top:4px;}
.folder{display:flex;align-items:center;gap:8px;border-radius:6px;padding:6px;}
.folder.on{background:#fff;box-shadow:var(--hairline);}
.folder .n{flex:1;min-width:0;font-size:11.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.folder .c{font-family:var(--mono);font-size:10px;color:var(--ink-faint);}
.subfolders{margin:2px 0 0 12px;border-left:1px solid var(--line);padding-left:8px;}
.subfolders li{display:flex;align-items:center;gap:8px;border-radius:6px;padding:4px 6px;}
.subfolders li.on{background:var(--blue-50);}
.subfolders li.on .n{color:var(--blue-700);font-weight:500;}
.subfolders .n{flex:1;font-size:11px;color:var(--ink-muted);}
.mini{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;}
.bars{display:flex;align-items:flex-end;gap:8px;height:96px;}
.bars .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;}
.bars .bar{width:100%;border-radius:3px;background:rgba(41,182,240,.85);}
.checkbox{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;
  border:1px solid var(--line-strong);border-radius:3px;background:#fff;margin-top:2px;flex:none;}
.checkbox.on{background:var(--signal);border-color:var(--signal);color:#fff;}
.checkbox svg{width:8px;height:8px;}
.timeline{border-left:1px solid var(--line);padding-left:12px;}
.timeline li{position:relative;}
.timeline li::before{content:"";position:absolute;left:-15px;top:6px;width:6px;height:6px;
  border-radius:50%;background:#fff;border:1px solid var(--line-strong);}
/* ---------------- generic blocks ---------------- */
.badge{display:inline-flex;align-items:center;border:1px solid;border-radius:4px;padding:2px 6px;
  font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.badge--beta{border-color:rgba(14,143,126,.25);background:var(--signal-soft);color:var(--signal);}
.badge--soon{border-color:rgba(154,91,8,.2);background:var(--caution-soft);color:var(--caution);}
.grid{display:grid;gap:20px;}
.cells{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.cells>*{background:#fff;}
.cell{padding:24px;height:100%;}
@media(min-width:1024px){.cell{padding:28px;}}
.card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:20px;}
.card--subtle{background:var(--subtle);}
.dots li{display:flex;gap:10px;font-size:.875rem;color:var(--ink-soft);}
.dots li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--blue-500);
  margin-top:9px;flex:none;}
.dots li+li{margin-top:8px;}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;}
@media(min-width:1024px){.metrics{grid-template-columns:repeat(4,minmax(0,1fr));}}
.metric{border-left:1px solid var(--line);padding-left:18px;}
.metric .v{display:block;font-size:clamp(1.6rem,2.6vw,2.125rem);font-weight:600;letter-spacing:-.03em;}
.metric .l{display:block;margin-top:8px;font-size:.875rem;font-weight:500;color:var(--ink-soft);}
.metric .d{display:block;margin-top:4px;font-size:.75rem;color:var(--ink-faint);}
.logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:20px;}
@media(min-width:640px){.logos{grid-template-columns:repeat(3,minmax(0,1fr));}}
.logos li{background:#fff;min-height:64px;display:flex;align-items:center;justify-content:center;
  padding:16px;text-align:center;}
.logos li span{font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);}
.logos li.verified span{font-family:var(--sans);font-size:.875rem;font-weight:500;
  letter-spacing:normal;text-transform:none;color:var(--ink-soft);}
/* workflow tabs */
.tabs{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
@media(min-width:640px){.tabs{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:1024px){.tabs{grid-template-columns:repeat(5,minmax(0,1fr));}}
.tab{position:relative;background:#fff;text-align:left;padding:18px 20px;transition:background-color .15s;}
.tab:hover{background:var(--subtle);}
.tab[aria-selected="true"]{background:#fff;}
.tab::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:transparent;}
.tab[aria-selected="true"]::before{background:var(--blue-600);}
.tab .row{display:flex;align-items:baseline;gap:8px;}
.tab .idx{font-family:var(--mono);font-size:.625rem;color:var(--ink-faint);}
.tab .nm{font-size:.9375rem;font-weight:600;color:var(--ink-soft);}
.tab[aria-selected="true"] .nm{color:var(--ink);}
.tab .beyond{margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue-600);}
.tab .sm{display:block;margin-top:8px;font-size:.75rem;line-height:1.6;color:var(--ink-muted);}
.tabpanel{margin-top:32px;}
.tabpanel[hidden]{display:none;}
/* pricing */
.pcards{display:grid;gap:20px;}
@media(min-width:1024px){.pcards{grid-template-columns:repeat(3,minmax(0,1fr));}}
.pcard{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);
  border-radius:10px;background:#fff;padding:24px;}
@media(min-width:1024px){.pcard{padding:28px;}}
.pcard--rec{border-color:var(--blue-600);box-shadow:var(--shadow-card);}
.pcard__flag{position:absolute;top:-10px;left:24px;background:var(--blue-600);color:#fff;
  border-radius:4px;padding:2px 8px;font-family:var(--mono);font-size:.625rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;}
.pcard__amt{font-size:clamp(1.6rem,2.6vw,2.125rem);font-weight:600;letter-spacing:-.03em;}
.pcard ul.feat{margin-top:24px;border-top:1px solid var(--line);padding-top:24px;}
.pcard ul.feat li{display:flex;gap:10px;font-size:.875rem;color:var(--ink-soft);}
.pcard ul.feat li+li{margin-top:10px;}
.pcard ul.feat svg{width:14px;height:14px;margin-top:4px;flex:none;color:var(--blue-600);}
.toggle{display:inline-flex;border:1px solid var(--line);background:var(--subtle);border-radius:8px;padding:4px;}
.toggle div{position:relative;}
.toggle input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.toggle label{display:flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:6px;
  font-size:.875rem;font-weight:500;color:var(--ink-muted);cursor:pointer;}
.toggle input:checked+label{background:#fff;color:var(--ink);box-shadow:var(--hairline);}
.toggle input:focus-visible+label{outline:2px solid var(--blue-600);outline-offset:2px;}
.toggle .save{font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue-600);}
.region{display:flex;align-items:center;gap:8px;}
.region select{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;
  padding:0 10px;font:inherit;font-size:.875rem;color:var(--ink);}
.ctable{overflow-x:auto;}
.ctable table{min-width:720px;}
.ctable thead th{text-align:center;padding:16px;vertical-align:bottom;border-bottom:1px solid var(--line-strong);}
.ctable thead th:first-child{text-align:left;width:34%;padding-left:0;font-size:.875rem;font-weight:500;}
.ctable .gname{display:block;font-size:.9375rem;font-weight:600;}
.ctable .gprice{display:block;margin-top:4px;font-size:.8125rem;color:var(--ink-muted);}
.ctable .gsub{display:block;margin-top:2px;font-size:.6875rem;color:var(--ink-faint);}
.ctable .grec{display:inline-flex;margin-top:8px;background:var(--blue-50);color:var(--blue-700);
  border-radius:4px;padding:2px 6px;font-family:var(--mono);font-size:.625rem;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;}
.ctable .group th{background:var(--subtle);border-bottom:1px solid var(--line);padding:12px 0;text-align:left;}
.ctable .group .gt{display:block;font-family:var(--mono);font-size:.625rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);}
.ctable .group .gd{display:block;margin-top:4px;font-size:.75rem;font-weight:400;color:var(--ink-faint);}
.ctable tbody td{text-align:center;padding:12px 16px;vertical-align:top;border-bottom:1px solid var(--line-soft);}
.ctable tbody th{text-align:left;font-weight:400;padding:12px 16px 12px 0;vertical-align:top;border-bottom:1px solid var(--line-soft);}
.ctable tbody th .rl{display:block;font-size:.8125rem;font-weight:500;}
.ctable tbody th .rh{display:block;margin-top:2px;font-size:.75rem;color:var(--ink-faint);}
.ctable td.rec{background:rgba(238,244,255,.45);}
.ctable td span.val{font-size:.8125rem;color:var(--ink-soft);}
.ctable svg.yes{width:16px;height:16px;color:var(--blue-600);}
.faq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.faq>div+div{border-top:1px solid var(--line);}
.faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:20px 0;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:500;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary svg{width:16px;height:16px;margin-top:4px;flex:none;color:var(--ink-muted);transition:transform .18s;}
.faq details[open] summary svg{transform:rotate(45deg);}
.faq .a{max-width:42rem;padding:0 40px 20px 0;font-size:.875rem;line-height:1.7;color:var(--ink-soft);}
/* footer */
.ftr{border-top:1px solid var(--line);background:var(--subtle);padding:64px 0;}
@media(min-width:1024px){.ftr{padding:80px 0;}}
.ftr__grid{display:grid;gap:48px;}
@media(min-width:1024px){.ftr__grid{grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);}}
.ftr__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;}
@media(min-width:640px){.ftr__cols{grid-template-columns:repeat(4,minmax(0,1fr));}}
.ftr h2{font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-muted);}
.ftr__cols ul{margin-top:16px;}
.ftr__cols li+li{margin-top:10px;}
.ftr__cols a{font-size:.875rem;color:var(--ink-soft);}
.ftr__cols a:hover{color:var(--blue-700);}
.ftr__base{margin-top:56px;border-top:1px solid var(--line);padding-top:24px;display:flex;
  flex-direction:column;gap:16px;}
@media(min-width:640px){.ftr__base{flex-direction:row;align-items:center;justify-content:space-between;}}
/* motion */
@keyframes fade{from{opacity:0}to{opacity:1}}
.js .reveal{opacity:0;transform:translateY(12px);
  transition:opacity .52s var(--ease),transform .52s var(--ease);transition-delay:var(--d,0ms);}
.js .reveal[data-visible="true"]{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
.js .reveal{opacity:1;transform:none;transition:none;}}
/* helpers */
.flex{display:flex;}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.wrap{flex-wrap:wrap;}
.gap-6{gap:6px}
.gap-8{gap:8px}
.gap-12{gap:12px}
.gap-16{gap:16px}
.gap-24{gap:24px}
.mt-4{margin-top:4px}
.mt-8{margin-top:8px}
.mt-12{margin-top:12px}
.mt-16{margin-top:16px}
.mt-20{margin-top:20px}
.mt-24{margin-top:24px}
.mt-32{margin-top:32px}
.mt-40{margin-top:40px}
.mt-48{margin-top:48px}
.mt-56{margin-top:56px}
.center{text-align:center}
.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.two{display:grid;gap:40px;}
@media(min-width:1024px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;}
.two--wide{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:end;}
.two--l{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}
.two--demo{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;}}
.three{display:grid;gap:20px;}
@media(min-width:640px){.three{grid-template-columns:repeat(3,minmax(0,1fr));}}
.cols2{display:grid;gap:24px 40px;}
@media(min-width:640px){.cols2{grid-template-columns:repeat(2,minmax(0,1fr));}}
.cols3{display:grid;gap:24px 40px;}
@media(min-width:640px){.cols3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1024px){.cols3{grid-template-columns:repeat(3,minmax(0,1fr));}}
.cells--2{grid-template-columns:1fr;}
@media(min-width:640px){.cells--2{grid-template-columns:repeat(2,minmax(0,1fr));}}
.cells--3{grid-template-columns:1fr;}
@media(min-width:640px){.cells--3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1024px){.cells--3{grid-template-columns:repeat(3,minmax(0,1fr));}}
.cells--4{grid-template-columns:1fr;}
@media(min-width:640px){.cells--4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1024px){.cells--4{grid-template-columns:repeat(4,minmax(0,1fr));}}
/* tap targets: small text links get a 24px minimum hit area without
   changing their visual size or the layout around them */
.ftr__cols a,.ftr__legal a,a.tlink,.ftr .flex.wrap a{
  display:inline-block;padding-block:6px;min-height:28px;}
/* the search field needs a comfortable touch height on mobile */
@media(max-width:640px){.srch__input{min-height:28px;}}
.ftr__cols li,.ftr__legal li{line-height:1.5;}
/* text inputs get a comfortable touch height on every breakpoint */
.srch__input,.cm__input,input[type="text"],input[type="email"],input[type="search"]{min-height:28px;}
/* smallest UI text raised to a legible floor */
.pk-ini--xs,.pk-ini{font-size:10px;}
.dm__cite,sup{font-size:.72em;}
/* hero preview: citation markers and avatar raised to a legible floor */
.ha .c,.hcmt__av{font-size:10px;}
/* range sliders get a full-size touch area; the visual track is unchanged */
.calc2 .calc2__field input[type=range]{height:28px;}
.prep{--v:#5B3BE0;--v-600:#4B2FC9;--v-050:#F1ECFF;--v-track:#EDE8FB;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;
  box-shadow:var(--shadow-lift);font-size:13px;color:var(--ink);}
.prep *{box-sizing:border-box;}
/* top app bar */
.prep__top{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff;}
.prep__logo{width:30px;height:30px;flex:none;color:var(--v);}
.prep__search{flex:1;min-width:0;max-width:340px;display:flex;align-items:center;gap:8px;
  height:38px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-faint);}
.prep__search svg{width:15px;height:15px;flex:none;}
.prep__search span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.prep__nav{display:none;align-items:center;gap:6px;margin:0 auto;}
@media(min-width:900px){.prep__nav{display:flex;}}
.prep__navi{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;
  font-size:13px;font-weight:500;color:var(--ink-soft);white-space:nowrap;}
.prep__navi svg{width:16px;height:16px;}
.prep__navi.on{background:#CDEBF6;color:#0E7CA8;}
.prep__actions{display:flex;align-items:center;gap:10px;flex:none;}
.prep__plus{display:inline-flex;align-items:center;height:34px;padding:0 16px;border-radius:999px;
  background:var(--v);color:#fff;font-weight:600;font-size:13px;}
.prep__bell{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;
  align-items:center;justify-content:center;color:var(--ink-soft);}
.prep__bell svg{width:16px;height:16px;}
.prep__ava{width:34px;height:34px;border-radius:50%;background:var(--v-050);border:2px solid var(--v);
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;color:var(--v-600);}
@media(max-width:640px){.prep__search{max-width:none;}
.prep__plus span,.prep__navi span{display:inline;}}
/* body columns */
.prep__body{display:grid;grid-template-columns:52px minmax(0,1.55fr) minmax(0,1fr);}
@media(max-width:960px){.prep__body{grid-template-columns:1fr;}}
.prep__rail{border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;
  gap:22px;padding:16px 0;background:#fff;}
@media(max-width:960px){.prep__rail{display:none;}}
.prep__rail .ic{width:22px;height:22px;color:var(--ink-muted);}
.prep__rail .ava{width:34px;height:34px;border-radius:50%;background:var(--v-050);border:2px solid var(--v);
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;color:var(--v-600);}
.prep__main{padding:20px 22px 0;position:relative;min-width:0;}
.prep__q{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px;}
.prep__qmeta{font-size:11px;color:var(--ink-faint);}
.prep__bubble{background:var(--v);color:#fff;font-weight:600;border-radius:12px;padding:12px 20px;font-size:14px;}
.prep__tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-muted);}
.prep__tag b{background:var(--v-050);color:var(--v-600);border-radius:6px;padding:2px 8px;font-weight:600;}
.doc h3.t{color:var(--v-600);font-size:19px;line-height:1.25;letter-spacing:-.01em;font-weight:700;}
.doc h4{font-size:16px;font-weight:600;margin-top:20px;display:flex;align-items:center;gap:8px;}
.doc h4 svg{width:14px;height:14px;color:var(--ink-faint);}
.doc p{font-size:13.5px;line-height:1.75;color:#2C3A4B;margin-top:12px;}
.doc a.ref{color:var(--v-600);font-weight:500;}
.prep__collapse{position:absolute;top:230px;right:-14px;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--line-strong);background:#fff;display:none;align-items:center;justify-content:center;
  color:var(--ink-muted);box-shadow:var(--shadow-card);z-index:2;}
@media(min-width:960px){.prep__collapse{display:flex;}}
.prep__collapse svg{width:13px;height:13px;}
.prep__fade{height:60px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);}
/* references panel */
.prep__refs{border-left:1px solid var(--line);background:#fff;padding:16px;min-width:0;}
@media(max-width:960px){.prep__refs{border-left:0;border-top:1px solid var(--line);}}
.prep__refhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.prep__pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line-strong);
  border-radius:8px;font-size:12px;font-weight:500;color:var(--ink);background:#fff;}
.prep__pill svg{width:12px;height:12px;color:var(--ink-muted);}
.prep__reftitle{margin-left:auto;font-size:12px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.prep__refbar{display:flex;align-items:center;gap:8px;margin-top:12px;}
.prep__seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;}
.prep__seg span{width:34px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);}
.prep__seg span.on{background:var(--v-050);color:var(--v-600);}
.prep__seg span svg{width:15px;height:15px;}
.prep__seg span+span{border-left:1px solid var(--line-strong);}
.prep__dl{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;
  border:1px solid var(--line-strong);border-radius:8px;color:var(--ink-muted);}
.prep__dl svg{width:14px;height:14px;}
.prep__card{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:14px;}
.prep__idx{color:var(--v-600);font-weight:700;font-size:13px;}
.prep__card h5{font-size:16px;font-weight:600;margin-top:6px;letter-spacing:-.01em;}
.prep__meta{margin-top:12px;display:grid;gap:9px;}
.prep__meta div{display:flex;align-items:center;gap:9px;font-size:13px;color:#2C3A4B;}
.prep__meta svg{width:15px;height:15px;flex:none;color:var(--ink-muted);}
.prep__apa{margin-top:14px;display:flex;gap:8px;align-items:flex-start;}
.prep__apa p{font-size:12.5px;line-height:1.6;font-style:italic;color:var(--v-600);}
.prep__apa svg{width:14px;height:14px;flex:none;color:var(--ink-muted);margin-top:2px;}
.prep__abs{margin-top:14px;background:var(--sunken);border-radius:10px;padding:12px 14px;}
.prep__abs .h{font-size:13px;font-weight:600;}
.prep__abs p{font-size:12.5px;line-height:1.65;color:var(--ink-soft);margin-top:8px;}
/* bottom search dock */
.prep__dock{border-top:1px solid var(--line);background:#F7F5FF;padding:14px 16px;}
.prep__field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line-strong);
  border-radius:12px;padding:10px 12px;}
.prep__mode{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line-strong);
  border-radius:8px;font-size:13px;font-weight:600;color:var(--v-600);background:var(--v-050);white-space:nowrap;}
.prep__mode svg{width:13px;height:13px;}
.prep__field .ph{flex:1;min-width:0;font-size:13.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.prep__go{width:38px;height:38px;flex:none;border-radius:50%;background:var(--v);color:#fff;display:flex;
  align-items:center;justify-content:center;}
.prep__go svg{width:16px;height:16px;}
.prep__modes{display:flex;gap:8px;margin-top:10px;}
.prep__chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid var(--line-strong);
  border-radius:999px;font-size:12.5px;color:var(--ink-soft);background:#fff;}
.prep__chip.on{border-color:var(--v);color:var(--v-600);background:#fff;box-shadow:0 0 0 1px var(--v);}
.prep__chip svg{width:13px;height:13px;}
.prep__samplebar{display:flex;justify-content:flex-end;padding:6px 16px 0;}
/* ---- header revisions (edit in marketing/src) ---- */

/* The Features menu lists stages only,and the whole column is the link:
   heading{display:block;cursor:pointer;}
/* The tabs sit in the middle of the bar rather than tucked beside the logo. */
@media(min-width:1024px){.nav{display:flex;flex:1;justify-content:center;}}
/* Log in reads as a button too: the same pill as the primary action,outlined instead of filled. Visible at every width{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:38px;padding:0 18px;border-radius:999px;white-space:nowrap;
  border:1px solid var(--line-strong);background:#fff;color:var(--ink);
  font-size:.875rem;font-weight:500;
  transition:border-color .15s var(--ease),background-color .15s var(--ease),color .15s var(--ease);}
/* Both header buttons are the same size,so the pair reads as one control.
   124px is the width of "Explore PACR"{min-width:124px;}
/* One call to action at a time. Below the desktop breakpoint the header's own
   button gives way to the bar,which rides the sticky header and appears once
   the page's primary button has scrolled out of sight. */
@media(max-width:1023px){.hdr__cta{display:none;}}
/* The burger ships both icons with hidden on the closed one,but the hidden
   attribute does not style an SVG element{display:none;}
/* This page is set in IBM Plex,the rest of the site in Open Sauce One{
  --sans:"Open Sauce One",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"Open Sauce One",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-family:var(--sans);
}
/* One button shape across the whole site. The bundle shipped two
   generations: eight pages use a 38px pill,while the pricing and AI pages
   use an 8px-radius 44px button with its own small and large sizes — so the
   identical header markup came out a different shape on those two. These
   rules are last in every page's stylesheet,so the pill wins everywhere. */
.btn{border-radius:999px;height:38px;padding:0 18px;font-size:.875rem;white-space:nowrap;}
.btn--sm{height:38px;padding:0 18px;font-size:.875rem;}
/* The hero's call to action carries the page,so it is the larger of the
   two sizes; the header keeps the 38px one. */
.btn--lg{height:52px;padding:0 30px;font-size:1rem;}
.btn--block{width:100%;}
/* Header height matches the app's own header. The mark here is the full
   wordmark rather than the app's square icon,so it is set shorter than the
   app's 46px: same presence{height:70px;}
/* The bundle's blue,restated in PACR's. Tokens cover most of the site;
   the hardcoded values in this stylesheet were remapped in the source. */
:root{
  --blue-50:#EAF7FE;
  --blue-100:#CFEEFB;
  --blue-200:#A5DFF8;
  --blue-500:#29B6F0;
  --blue-600:#0AAAEB;
  --blue-700:#0787BD;
  --blue-950:#06485F;
}

/* ── appended by scripts/import-marketing.mjs ──
   While the interaction layer has not run yet, .reveal must not hide
   anything. Last in the file so it outranks the identically specific
   `.js .reveal` rules above. See components/Marketing/MarketingPage. */
.pacr-pre .reveal{opacity:1;transform:none;filter:none;transition:none;}


/* ── Form rows ──
   A field carries a 16px top margin, zeroed on the first one — correct for a
   stacked list, but a .frow is a grid with its own 16px gap. In a two-column
   row only the first field was zeroed, so the right-hand column sat 16px
   below the left and no two labels lined up. Let the grid do the spacing
   inside a row, and space the rows themselves. */
.frow{margin-top:16px;}
.frow:first-child{margin-top:0;}
.frow>.fld{margin-top:0;}
/* A select renders its text a little taller than an input, so a row mixing
   the two came out uneven. Pin them to one height. */
.fld input,.fld select{height:44px;}
.fld select{line-height:1.2;}

/* ── Lead forms ──
   The bundle never had to report a failure, so it has no colour for one.
   One token, used by both the field state and the form-level message. */
:root{--danger:#C0392B;--danger-line:#F0C4BE;--danger-bg:#FDF1EF;}

/* The honeypot. Off-screen rather than display:none or hidden: a bot that
   skips what it cannot see would walk straight past those, and this field
   only works if it is tempting. Real users never reach it — it is out of the
   tab order and hidden from the accessibility tree. */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

/* A field the visitor needs to come back to, and the reason under it. */
.fld[data-invalid="true"] input,
.fld[data-invalid="true"] select,
.fld[data-invalid="true"] textarea{border-color:var(--danger);}
.fld__err{display:block;margin-top:6px;font-size:.8125rem;line-height:1.4;color:var(--danger);}

/* Whatever the form as a whole has to say: a rejection from the API, a rate
   limit, or a request that never arrived. */
.fmsg{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:.875rem;line-height:1.5;
  background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);}
.fmsg[hidden]{display:none;}

/* In flight. The button keeps its size so the form does not shift. */
form[data-pform][data-busy="true"] button[type="submit"]{opacity:.6;cursor:default;}
