/* PartsRate site styles. No framework. */
@font-face{font-family:'Archivo';src:url(/assets/fonts/archivo-var-latin.woff2) format('woff2');font-weight:300 900;font-stretch:100% 118%;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/jetbrainsmono-var-latin.woff2) format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#141A1F;--paper:#F4F1EA;--stone:#E6E1D6;--sheet:#FBFAF7;--mark:#FFD02E;--avail:#1F8550;--limit:#B86F0C;--out:#A11D1D;--g200:#D6D9DC;--g300:#B9BEC3;--g400:#8C939A;--g500:#6E757C;--g600:#5A6168;--g700:#40464C;--m:48px;--gut:24px;--mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,sans-serif;font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums lining-nums;position:relative;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
ul{list-style:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--mark)}
.skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--ink);color:var(--paper);padding:10px 14px;font-weight:700}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gl{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);padding:0 var(--m);pointer-events:none;z-index:0}
.gl i{border-left:1px solid rgba(20,26,31,.055);border-right:1px solid rgba(20,26,31,.055)}
.c{position:relative;z-index:1;padding-left:var(--m);padding-right:var(--m);max-width:1680px;margin:0 auto}
.g{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut)}
.mono{font-family:var(--mono)}
.lab{font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--g600)}
.ph{font-family:var(--mono);font-size:max(.62em,10px);font-weight:500;background:var(--ink);color:var(--paper);padding:.1em .4em;border-radius:2px;vertical-align:.25em;white-space:nowrap;letter-spacing:0;font-stretch:100%}
.tbc{font-family:var(--mono);font-size:.8em;font-weight:600;background:var(--mark);color:var(--ink);padding:.05em .4em;white-space:nowrap}
/* wordmark (inline svg) */
.wm{display:inline-flex;text-decoration:none;color:var(--ink)}
.wm img,.wm svg{height:24px;width:auto}
/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:var(--paper);font-weight:700;font-size:17px;padding:15px 22px;text-decoration:none;border:2px solid var(--ink);white-space:nowrap;transition:background .15s,color .15s}
.btn:hover{background:var(--g700);border-color:var(--g700)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.sm{font-size:15px;padding:9px 14px}
.lnk{font-weight:700;text-decoration:none;border-bottom:4px solid var(--mark);padding-bottom:1px}
.lnk:hover{border-bottom-color:var(--ink)}
.prose a{text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--g400)}
.mk{background:linear-gradient(transparent 8%,var(--mark) 8% 92%,transparent 92%);padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* header */
.hd{border-bottom:1px solid var(--g300);background:var(--paper);position:relative;z-index:5}
.hd .c{display:flex;align-items:center;gap:32px;padding-top:18px;padding-bottom:18px}
.hd .wm img{height:26px;width:auto}
.nav{display:flex;gap:26px;font-size:15px;font-weight:600;margin-left:auto}
.nav a{text-decoration:none;padding:4px 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--mark)}
.acts{display:flex;gap:10px}
.mnav{display:none;margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;font-family:var(--mono);font-size:13px;font-weight:600;border:2px solid var(--ink);padding:8px 12px}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] summary{background:var(--ink);color:var(--paper)}
.mnav .panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:3px solid var(--ink);padding:8px var(--m) 24px}
.mnav .panel a{display:block;padding:12px 0;border-bottom:1px solid var(--g300);font-weight:700;font-size:19px;text-decoration:none}
.mnav .panel a[aria-current=page]{box-shadow:inset 4px 0 0 var(--mark);padding-left:12px}
.hd .mnav .panel .acts{display:flex;margin-top:18px;flex-direction:column}
.mnav .panel .acts .btn{display:flex;padding:13px 18px;border:2px solid var(--ink);font-size:16px;justify-content:center}
/* sections */
.sec{border-top:3px solid var(--ink);padding-top:16px}
.sec .lab{color:var(--ink);font-weight:600}
.sec .lab span{color:var(--g600);font-weight:400}
.block{margin-top:104px}
h1,h2,h3,h4{font-stretch:115%;letter-spacing:-.035em;line-height:1.02;font-weight:800}
h1{font-size:clamp(46px,7.6vw,112px);font-stretch:118%;letter-spacing:-.05em;line-height:.93}
h1.md{font-size:clamp(42px,5.6vw,84px)}
h2{font-size:clamp(34px,3.9vw,56px)}
h3{font-size:clamp(23px,2.1vw,30px);letter-spacing:-.025em;font-stretch:112%}
.hero{padding-top:64px}
.eyebrow{display:flex;justify-content:space-between;gap:16px}
.hero h1{margin-top:28px;max-width:15.5em}
.lead{font-size:23px;line-height:1.42;color:var(--g700);max-width:36em}
.hero .row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:36px;flex-wrap:wrap}
.ctas{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.body{color:var(--g700)}
.body p+p{margin-top:12px}
/* status glyphs */
.st{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none}
.st.in{background:var(--avail)}
.st.lim{box-shadow:inset 0 0 0 .14em var(--limit);background:linear-gradient(to top,var(--limit) 0 50%,transparent 50%)}
.st.out{box-shadow:inset 0 0 0 .14em var(--out);background:linear-gradient(45deg,transparent 0 calc(50% - .07em),var(--out) calc(50% - .07em) calc(50% + .07em),transparent calc(50% + .07em))}
.st.nd{box-shadow:inset 0 0 0 .1em var(--g600);background:repeating-linear-gradient(135deg,transparent 0 .14em,var(--g500) .14em .22em)}
.chip{display:inline-flex;align-items:center;gap:.5em;font-weight:600;border:1.5px solid var(--g300);background:var(--sheet);padding:.28em .65em .28em .5em;border-radius:2px;white-space:nowrap;font-size:14px}
.legend{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:20px}
/* availability strip (a real table) */
.chart{margin-top:56px;background:var(--sheet);border:1px solid var(--g300);padding:28px 32px 20px}
.chart-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid var(--g200);padding-bottom:18px}
.chart-h h2,.chart-h h3{font-size:clamp(22px,2.4vw,34px)}
.chart-h .part{font-family:var(--mono);font-size:14px;color:var(--g700);text-align:right}
.strip{width:100%;border-collapse:separate;border-spacing:6px 6px;margin-top:34px;table-layout:fixed}
.strip th{font-weight:600;font-size:15px;text-align:left;white-space:nowrap}
.strip thead th{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--g600);text-align:center;position:relative;padding-bottom:2px}
.strip thead th:first-child{width:130px}
.strip td{height:32px;padding:0;position:relative}
.strip td .st{width:100%;height:100%;font-size:24px}
.strip .q{background:var(--mark);box-shadow:0 0 0 4px var(--mark)}
.strip thead .q{color:var(--ink);font-weight:700}
.qlab{position:absolute;bottom:calc(100% + 8px);right:-6px;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--ink);color:var(--paper);padding:3px 8px;white-space:nowrap}
.strip caption{caption-side:bottom;text-align:left;font-family:var(--mono);font-size:12px;color:var(--g600);padding-top:8px}
.srcl{font-family:var(--mono);font-size:12px;color:var(--g600);margin-top:16px;border-top:1px solid var(--g200);padding-top:12px;display:flex;justify-content:space-between;gap:16px}
/* numerals */
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gut)}
.num{border-top:1px solid var(--g300);padding-top:18px;margin-top:24px;container-type:inline-size}
.num b{display:block;font-weight:900;font-stretch:118%;font-size:min(136px,21cqi);line-height:.8;letter-spacing:-.065em;white-space:nowrap}
.num span{display:block;margin-top:18px;font-size:19px;font-weight:600}
.num em{display:block;font-style:normal;font-family:var(--mono);font-size:13px;color:var(--g600);margin-top:4px}
/* steps */
.nw{white-space:nowrap}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gut);margin-top:36px}
.n{font-weight:900;font-stretch:118%;font-size:clamp(60px,6.6vw,96px);line-height:.8;letter-spacing:-.06em;border-bottom:3px solid var(--ink);padding-bottom:16px}
.step p.n,.vsteps p.n{color:var(--ink)}
.step h3{margin-top:20px}
.step p{margin-top:10px;color:var(--g700)}
.step .mono{font-size:13px;color:var(--g600);margin-top:14px}
.vsteps li{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);border-top:1px solid var(--g300);padding:28px 0}
.vsteps .n{grid-column:1/3;border:0;padding:0}
.vsteps p.n{font-size:clamp(48px,5vw,72px)}
.vsteps h3{grid-column:3/7}
.vsteps p{grid-column:7/13;color:var(--g700);font-size:19px}
.vsteps .soon{opacity:1}
/* stone band */
.band{background:var(--stone);padding:72px 0 80px}
.band.yel{background:var(--mark)}
.band.yel .lnk{border-bottom-color:var(--ink)}
/* evidence record */
.rec{background:var(--sheet);box-shadow:0 1px 0 var(--g400),0 24px 48px -28px rgba(20,26,31,.35);padding:36px 40px 30px;position:relative}
.rec .rh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:3px solid var(--ink);padding-bottom:16px}
.rec .rh img{height:22px;width:auto}
.rec .rh .mono{font-size:12px;text-align:right;color:var(--g700)}
.rec .pn{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:20px;align-items:baseline}
.rec .pn .mono{font-size:13px;color:var(--g700)}
.ans{margin-top:20px;border:1px solid var(--g300);padding:18px 20px}
.ans p:first-child{font-weight:800;font-stretch:112%;font-size:24px;letter-spacing:-.02em;line-height:1.15}
.seg{display:flex;gap:4px;height:16px;margin-top:14px}
.seg .st{flex:1;height:16px;width:auto}
.ans .mono{font-size:13px;color:var(--g700);margin-top:12px}
.tbl{width:100%;border-collapse:collapse;margin-top:20px;font-size:15px}
.tbl th{font-family:var(--mono);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--g700);text-align:left;padding:8px 6px;border-bottom:2px solid var(--ink);vertical-align:bottom}
.tbl td{padding:10px 6px;border-bottom:1px solid var(--g200);vertical-align:middle}
.tbl td.m{font-family:var(--mono);font-size:13px;color:var(--g700)}
.tbl .chip{font-size:13px;padding:.16em .5em .16em .42em}
.eb{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--g300);padding-top:16px;font-family:var(--mono);font-size:13px}
.eb dt{color:var(--g600);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.vnote{margin-top:16px;font-size:14px;color:var(--g700)}
.stamp{position:absolute;right:-12px;top:-14px;background:var(--mark);font-family:var(--mono);font-size:12px;font-weight:600;padding:6px 10px}
.kv{border-top:1px solid var(--g400);margin-top:26px}
.kv li{border-bottom:1px solid var(--g400);padding:12px 0;display:flex;justify-content:space-between;gap:12px}
.kv li span{font-family:var(--mono);font-size:13px;color:var(--g700)}
/* audience */
.four{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--gut);margin-top:36px}
.card{border-top:3px solid var(--ink);padding-top:18px;display:flex;flex-direction:column}
.card h3{margin-top:10px}
.card p{margin-top:12px;color:var(--g700);flex:1}
.card p.lab{flex:none;margin:0;color:var(--g600)}
.card .lnk{margin-top:20px;align-self:flex-start}
.flag{display:inline-block;background:var(--mark);font-family:var(--mono);font-size:12px;font-weight:600;padding:3px 8px;margin-top:12px;align-self:flex-start}
/* price */
.price{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);align-items:end;margin-top:28px}
.price h2{grid-column:1/6}
.pr{border-top:1px solid var(--g300);padding-top:18px}
.pr.p1{grid-column:7/10}.pr.p2{grid-column:10/13}
.pr b{display:block;font-weight:900;font-stretch:118%;font-size:clamp(84px,10vw,150px);line-height:.8;letter-spacing:-.065em}
.pr b sup{font-size:.36em;vertical-align:.95em;letter-spacing:-.02em;margin-right:.04em}
.pr>span{display:block;margin-top:18px;font-weight:600;font-size:18px}
.pr em{font-style:normal;display:block;font-family:var(--mono);font-size:13px;color:var(--g600);margin-top:4px}
.pnote{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:32px;font-family:var(--mono);font-size:13px;color:var(--g700);border-top:1px solid var(--g300);padding-top:14px}
.coming{display:inline-flex;align-items:center;gap:8px;border:1.5px dashed var(--g600);padding:4px 10px;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--g700)}
/* two-col text layouts */
.split{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut)}
.split>.l{grid-column:1/5}.split>.r{grid-column:6/13}
.pts li{border-top:1px solid var(--g300);padding:16px 0 16px 34px;position:relative;font-size:18px}
.pts li::before{content:'';position:absolute;left:0;top:23px;width:14px;height:14px;background:var(--ink)}
.pts li:last-child{border-bottom:1px solid var(--g300)}
.pts li b{display:block}
.pts li span{color:var(--g700)}
.defs{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--gut);margin-top:28px}
.defs div{background:var(--sheet);border:1px solid var(--g200);padding:22px}
.defs .st{font-size:44px}
.defs h3{font-size:22px;margin-top:14px}
.defs p{margin-top:8px;color:var(--g700);font-size:16px}
.faq details{border-top:1px solid var(--g300);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--g300)}
.faq summary{cursor:pointer;font-weight:700;font-size:20px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--mono);font-weight:500}
.faq details[open] summary::after{content:'−'}
.faq details p{margin-top:10px;color:var(--g700);max-width:44em}
.notice{background:var(--sheet);border:2px dashed var(--g600);padding:22px 24px;margin-top:32px}
.notice b{font-family:var(--mono);font-size:13px;background:var(--mark);padding:2px 8px}
.notice p{margin-top:10px;color:var(--g700)}
.legal h2{font-size:28px;margin-top:40px}
.legal p{margin-top:10px;color:var(--g700);max-width:44em}
.mailbox{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--gut);margin-top:36px}
.mailbox a{display:block;border-top:3px solid var(--ink);padding:18px 0 0;text-decoration:none}
.mailbox a h3{display:flex;justify-content:space-between}
.mailbox a p{color:var(--g700);margin-top:10px}
.mailbox a:hover h3{text-decoration:underline;text-decoration-color:var(--mark);text-decoration-thickness:4px;text-underline-offset:6px}
/* footer */
.ft{margin-top:112px;padding:56px 0 40px;border-top:1px solid var(--g300)}
.ft .g{align-items:start}
.ft .wm{grid-column:1/5}
.ft .wm img{height:36px;width:auto}
.ft .col{grid-column:span 2;font-size:15px;line-height:2}
.ft .col a{text-decoration:none;display:block;width:max-content}
.ft .col a:hover{text-decoration:underline}
.ft .col .lab{margin-bottom:6px}
.ft .legal-row{grid-column:1/13;margin-top:48px;border-top:1px solid var(--g300);padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--g600)}
main:has(>.band:last-child)+.ft{margin-top:0}
/* responsive */
.hm{display:revert}
@media (max-width:1100px){
 .nav{gap:18px;font-size:14px}
 .four{grid-template-columns:repeat(2,1fr);row-gap:40px}
 .defs{grid-template-columns:repeat(2,1fr);row-gap:24px}
}
@media (max-width:900px){
 .nav,.hd .acts{display:none}
 .mnav{display:block}
 .split>.l,.split>.r{grid-column:1/13}
 .split>.r{margin-top:32px}
 .price h2{grid-column:1/13;margin-bottom:12px}
 .price{align-items:start}
 .pr.p1{grid-column:1/7}.pr.p2{grid-column:7/13}
 .vsteps h3{grid-column:3/13}.vsteps p{grid-column:3/13;margin-top:8px}
}
@media (max-width:640px){
 :root{--m:20px;--gut:12px}
 body{font-size:16px}
 .gl{grid-template-columns:repeat(4,1fr)}
 .gl i:nth-child(n+5){display:none}
 .g{grid-template-columns:repeat(4,1fr)}
 .hd .c{padding-top:14px;padding-bottom:14px}
 .hd .wm img{height:22px}
 .hero{padding-top:32px}
 .eyebrow{flex-direction:column;gap:4px}
 .eyebrow .lab{font-size:11px}
 .hero h1{margin-top:18px}
 .lead{font-size:18px}
 .ctas{flex-direction:column;align-items:stretch;gap:18px;width:100%}
 .ctas .btn{justify-content:space-between}
 .ctas .lnk{align-self:flex-start}
 .chart{padding:18px 12px 14px;margin-left:-6px;margin-right:-6px;margin-top:36px}
 .chart-h{flex-direction:column;align-items:flex-start;gap:10px}
 .chart-h .part{text-align:left;font-size:12px}
 .strip{border-spacing:3px 4px;margin-top:40px}
 .strip .early{display:none}
 .strip thead th:first-child{width:72px}
 .strip th{font-size:12px}
 .strip thead th{font-size:10px}
 .strip td{height:24px}
 .qlab{font-size:11px}
 .srcl{flex-direction:column;font-size:11px;gap:4px}
 .block{margin-top:72px}
 .nums,.three,.four,.defs,.mailbox{grid-template-columns:1fr}
 .num{margin-top:18px}
 .num span{font-size:17px;margin-top:12px}
 .step,.card{margin-bottom:36px}
 .band{padding:48px 0 56px}
 .rec{padding:22px 16px 20px;margin-left:-6px;margin-right:-6px}
 .rec .rh{flex-direction:column;gap:10px}
 .rec .rh .mono{text-align:left;font-size:11px}
 .ans p:first-child{font-size:20px}
 .ans{padding:14px}
 .tbl .hm{display:none}
 .tbl .chip{white-space:normal;align-items:flex-start}
 .tbl td,.tbl th{padding:9px 4px}
 .tbl td.m{font-size:12px}
 .eb{grid-template-columns:1fr;gap:10px}
 .stamp{right:8px}
 .vsteps li{grid-template-columns:1fr;padding:22px 0}
 .vsteps .n,.vsteps h3,.vsteps p{grid-column:1/-1}
 .vsteps h3{margin-top:12px}
 .vsteps p{font-size:17px}
 .pr>span{font-size:16px}
 .pnote{flex-direction:column}
 .mailbox a{margin-bottom:28px}
 .ft{margin-top:72px;padding-top:40px}
 .ft .wm{grid-column:1/5;margin-bottom:28px}
 .ft .col{grid-column:span 2;margin-bottom:20px}
 .ft .legal-row{grid-column:1/5;flex-direction:column;margin-top:20px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.gl,.hd,.ft,.skip{display:none}body{background:#fff}}

.chart-t,.rec-t{font-stretch:112%;letter-spacing:-.025em;line-height:1.02;font-weight:800;margin:0}
.chart-t{font-size:clamp(22px,2.4vw,34px)}
.rec-t{font-size:clamp(23px,2.1vw,30px)}
