/* Peptidarium prototype — shared styles.
   Layout: laboratory reference with a store attached. White paper, bench grey, grid-paper heads, mono specimen labels, one red signal. Square corners everywhere. */
:root{
  --paper:#FFFFFF; --bench:#F1F1EF; --ink:#141617; --ink-2:#4A4E52; --ink-3:#6B7075;
  --rule:#E3E4E4; --grid:#E6E7E6; --red:#B3191F; --red-deep:#8E1418; --ok:#1F6B45; --dark-2:#33383C; --dark-txt:#D7D9DA; --dark-mute:#A9AEB2;
  --display:'Host Grotesk','Helvetica Neue',Arial,sans-serif;
  --mono:'Martian Mono','SFMono-Regular',Menlo,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--red)}
button,input,select,textarea{font:inherit;border-radius:0;color:var(--ink)}
img{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.wrap{max-width:1320px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--mono);font-stretch:100%;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.mute{color:var(--ink-3)}
h1,h2,h3{text-wrap:balance;margin:0;font-weight:600;letter-spacing:-.025em}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

:where(img[width][height]){height:auto}

/* prototype notice */
.proto{background:var(--ink);color:var(--dark-txt)}
.proto .wrap{display:flex;gap:16px;justify-content:space-between;align-items:center;min-height:30px;font-size:10px}
.proto .wrap > span{white-space:nowrap}
.proto nav{display:flex;gap:16px;flex-wrap:wrap}
.proto a{color:#fff}
.proto a[aria-current]{text-decoration:underline;text-underline-offset:3px}

/* utility + header */
.util{border-bottom:1px solid var(--rule);color:var(--ink-2)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:34px}
.util nav{display:flex;gap:18px}
.util a{color:var(--ink-2)}
.util .dispatch b{color:var(--ink);font-weight:500}
header.main{border-bottom:1px solid var(--ink);background:var(--paper)}
header.main .wrap{display:flex;align-items:center;gap:36px;min-height:74px}
.logo{display:flex;align-items:center;gap:11px;font-weight:600;font-size:17px;letter-spacing:.14em;flex:none}
.logo i{width:15px;height:15px;background:var(--red);display:block}
.mainnav{display:flex;gap:28px;font-weight:500;font-size:15px}
.mainnav a[aria-current]{box-shadow:inset 0 -2px 0 var(--red)}
.hsearch{margin-left:auto;position:relative;width:300px;min-width:0}
.hsearch .box{display:flex;align-items:center;height:40px;border:1px solid var(--rule);background:var(--bench)}
.hsearch .box:focus-within{border-color:var(--ink);background:var(--paper)}
.hsearch svg{flex:none;margin:0 10px 0 12px;color:var(--ink-3)}
.hsearch input{border:0;background:transparent;flex:1;min-width:0;height:100%;font-size:14px;outline:0}
.hsearch kbd{font-family:var(--mono);font-size:10px;color:var(--ink-3);border:1px solid var(--rule);background:var(--paper);padding:2px 6px;margin-right:8px}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--paper);border:1px solid var(--ink);z-index:30;box-shadow:0 18px 40px -24px rgba(20,22,23,.45)}
.suggest a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 14px;border-bottom:1px solid var(--rule);font-size:14px}
.suggest a:last-child{border-bottom:0}
.suggest a span{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.suggest a.on,.suggest a:hover{background:var(--bench);color:var(--ink)}
.suggest p{margin:0;padding:12px 14px;font-size:14px;color:var(--ink-2)}
.basketbtn{display:flex;align-items:center;gap:8px;font-weight:500;font-size:15px;flex:none;background:none;border:0;padding:8px 0;cursor:pointer}
.basketbtn b{min-width:22px;height:22px;padding:0 6px;background:var(--ink);color:#fff;font-size:12px;display:grid;place-items:center;font-weight:500}
.basketbtn.bump b{background:var(--red)}

/* region */
.regnav{position:relative}
.regbtn{background:none;border:0;padding:6px 0;cursor:pointer;font:inherit;color:var(--ink);display:flex;align-items:center;gap:8px}
.regbtn::after{content:"▾";color:var(--ink-3);font-size:10px}
.regbtn:hover{color:var(--red)}
.regdlg{position:absolute;right:max(24px,env(safe-area-inset-right,0px));top:34px;z-index:50;width:min(320px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--ink);box-shadow:0 18px 40px -24px rgba(20,22,23,.45)}
.regdlg .in{padding:16px}
.regdlg select{width:100%;height:42px;border:1px solid var(--rule);background:var(--paper);padding:0 10px;margin-top:4px;font:inherit}
.regbanner{background:var(--bench);border-bottom:1px solid var(--rule);font-size:14px}
.regbanner .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px}
.regbanner .short{display:none}
.regbanner .acts{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.regbanner .btn{height:40px;padding:0 16px;font-size:14px}
.regbanner button.link{background:none;border:0;border-bottom:1.5px solid var(--ink);padding:0 0 1px;cursor:pointer;font:inherit;font-weight:500}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;background:var(--red);color:#fff;font-weight:500;border:0;cursor:pointer;text-align:center}
.btn:hover{background:var(--red-deep);color:#fff}
.btn.block{width:100%}
.btn.ink{background:var(--ink)}
.btn.ink:hover{background:#000}
.btn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.done{background:var(--ok)}
.link{font-weight:500;border-bottom:1.5px solid var(--ink);padding-bottom:2px}
.link.red{color:var(--red);border-color:var(--red)}
.arrow::after{content:" →"}

/* breadcrumbs, grid paper */
.gridpaper{background-color:var(--bench);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:16px 16px}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;color:var(--ink-3)}
.crumbs a{color:var(--ink-2)}
.crumbs [aria-current]{color:var(--ink)}
.tag{display:inline-flex;border:1px solid var(--ink);background:var(--paper);flex-wrap:wrap}
.tag span{padding:5px 10px;border-right:1px solid var(--ink)}
.tag span:last-child{border-right:0}
.tag .r{background:var(--red);color:#fff}

/* section heads used across pages */
.sh{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:20px}
.sh .mono{color:var(--red);font-size:12px}
.sh h2{font-size:28px;line-height:1.15}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.head h2{font-size:34px;line-height:1.08}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45}
.tbl th{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--ink);vertical-align:bottom}
.tbl td{padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl td.b{font-weight:600}
.tbl td.src a,.tbl a.red{font-family:var(--mono);font-size:11px;color:var(--red)}
.scroll{overflow-x:auto}
.tbl.nowrap td,.tbl.nowrap th{white-space:nowrap}

/* pass chip */
.pass{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ok);border:1px solid currentColor;padding:2px 7px;white-space:nowrap}
.pass::before{content:"";width:6px;height:6px;background:currentColor}

/* certificate (specimen) */
.coa{background:var(--paper);border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule),0 24px 48px -32px rgba(20,22,23,.35);position:relative}
.coa .bar{height:8px;background:var(--red)}
.coa .in{padding:26px 30px 24px}
.coa .top{display:flex;justify-content:space-between;align-items:start;gap:16px}
.coa .top h3{font-size:21px}
.coa .stamp{border:1.5px solid var(--red);color:var(--red);padding:4px 10px}
.coa table{width:100%;border-collapse:collapse;margin-top:18px;font-size:14px;font-variant-numeric:tabular-nums}
.coa td{padding:9px 0;border-bottom:1px solid var(--rule)}
.coa td:last-child{text-align:right;font-weight:500}
.coa td:first-child{color:var(--ink-3)}
.coa figure{margin:18px 0 0}
.coa svg{display:block;width:100%;height:auto}
.coa figcaption{margin-top:6px;color:var(--ink-3)}
.coa .sig{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--ink);font-size:13px;color:var(--ink-2)}

/* FAQ */
.faqlist details{border-bottom:1px solid var(--rule);padding:16px 0}
.faqlist details:first-of-type{border-top:1px solid var(--ink)}
.faqlist summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary::after{content:"+";font-family:var(--mono);font-weight:400;color:var(--ink-3)}
.faqlist details[open] summary::after{content:"−"}
.faqlist details p{margin:10px 0 0;color:var(--ink-2);max-width:680px}

/* product card */
.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;min-width:0}
.card .img{display:block;background:var(--bench);aspect-ratio:4/5;overflow:hidden;position:relative;max-width:100%}
.card .img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%;transition:transform .5s ease}
.card:hover .img img{transform:scale(1.03)}
.card .lotflag{position:absolute;left:10px;top:10px;background:var(--paper);border:1px solid var(--ink);padding:3px 8px}
.card h3{font-size:19px;margin-top:16px;letter-spacing:-.015em}
.card dl{margin:10px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px}
.card dt{color:var(--ink-3)}
.card dd{margin:0}
.card dd a{color:var(--red);font-weight:500}
.card .row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--rule)}
.card .body{display:flex;flex-direction:column;flex:1;gap:0}
.card .body dl{margin-bottom:16px}
.card .price{font-weight:600;font-variant-numeric:tabular-nums}
.card .price small{display:block;font-weight:400;font-size:12px;color:var(--ink-3)}
.add{height:44px;padding:0 18px;border:1px solid var(--ink);background:var(--paper);font-weight:500;cursor:pointer}
.add:hover{background:var(--ink);color:#fff}
.add.done{background:var(--ok);border-color:var(--ok);color:#fff}

/* store card extras */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--rule);margin-top:12px}
.seg button{background:var(--paper);border:0;border-right:1px solid var(--rule);padding:8px 4px;cursor:pointer;font-size:13px;font-weight:500}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.card .acts{display:flex;gap:6px}
.card .buynow{background:var(--red);border-color:var(--red);color:#fff}
.card .buynow:hover{background:var(--red-deep);border-color:var(--red-deep)}

/* drawer */
.acct{font-weight:500;font-size:15px;flex:none}
.addon{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule)}
.addon b{display:block;font-size:14px}
.addon span{display:block;font-size:12.5px;color:var(--ink-3)}
.addon .add{height:36px;padding:0 14px;font-size:13px}
.drawer .eta{margin:0 0 10px;font-size:13px;color:var(--ink-2)}
.drawer .eta .mono{color:var(--ok)}
.express{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.xp{height:44px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:500;cursor:pointer;font-size:14px}
.xp:hover{background:#000}
.xp.light{background:var(--paper);color:var(--ink)}

.scrim{position:fixed;inset:0;background:rgba(20,22,23,.42);z-index:60}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--paper);z-index:61;display:flex;flex-direction:column;border-left:1px solid var(--ink);transform:translateX(100%);transition:transform .28s ease;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.drawer.open{transform:none}
.drawer .dh{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--ink)}
.drawer .dh h2{font-size:20px}
.drawer .x{background:none;border:0;cursor:pointer;padding:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.drawer .ship{padding:14px 22px;border-bottom:1px solid var(--rule);font-size:13.5px}
.meter{height:4px;background:var(--rule);margin-top:8px}
.meter i{display:block;height:100%;background:var(--red);transition:width .3s ease}
.drawer .items{flex:1;overflow:auto;padding:0 22px}
.line{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:start}
.line img{width:64px;height:80px;object-fit:cover;background:var(--bench);display:block}
.line h3{font-size:15px;letter-spacing:-.01em}
.line p{margin:2px 0 0;font-size:12.5px;color:var(--ink-3)}
.qty{display:inline-flex;border:1px solid var(--rule);margin-top:10px}
.qty button{width:30px;height:30px;background:var(--paper);border:0;cursor:pointer}
.qty span{min-width:30px;display:grid;place-items:center;font-size:14px;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}
.line .lp{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.line .rm{display:block;margin-top:10px;background:none;border:0;padding:0;font-size:12px;color:var(--ink-3);cursor:pointer;text-decoration:underline}
.drawer .empty{padding:40px 0;color:var(--ink-2)}
.drawer .df{border-top:1px solid var(--ink);padding:18px 22px 22px}
.drawer .sum{display:flex;justify-content:space-between;font-weight:600;font-size:17px;margin-bottom:4px}
.drawer .df p{margin:0 0 14px;font-size:12.5px;color:var(--ink-3)}
.drawer .trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:var(--ink-3);font-size:10px}

/* footer */
footer{background:var(--ink);color:var(--dark-txt)}
footer a{color:#F2F3F3}
footer a:hover{color:#fff;text-decoration:underline}
footer .cols{display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:32px;padding-block:56px 36px;font-size:14px}
footer .cols div{display:flex;flex-direction:column;gap:8px}
footer .cols b{color:#fff;font-weight:600;margin-bottom:4px}
footer .logo{color:#fff}
footer .verifyf{display:flex;height:42px;margin-top:10px;max-width:280px}
footer .verifyf input{flex:1;min-width:0;border:1px solid #4A4F53;background:transparent;color:#fff;padding:0 12px;font-size:13px}
footer .verifyf button{border:0;background:#fff;color:var(--ink);padding:0 14px;cursor:pointer;font-size:13px;font-weight:500}
footer .legal{border-top:1px solid var(--dark-2);padding-block:20px 32px;font-size:13px;color:var(--dark-mute);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer .pay{display:flex;gap:8px;flex-wrap:wrap}
footer .pay span{border:1px solid #4A4F53;padding:3px 8px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--dark-txt)}

/* ===== HOME ===== */
.hero{background:var(--bench);position:relative}
.hero .wrap{position:relative;min-height:600px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
.hero > img{position:absolute;right:0;bottom:0;height:100%;width:72%;object-fit:cover;object-position:62% 50%;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}
.hero-copy{grid-column:1 / span 6;position:relative;padding-block:64px 112px}
.hero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.02;letter-spacing:-.035em;max-width:620px}
.hero p{margin:20px 0 0;font-size:18px;color:var(--ink-2);max-width:480px}
.bigsearch{position:relative;margin-top:30px;max-width:520px}
.bigsearch .box{display:flex;height:58px;border:1px solid var(--ink);background:var(--paper)}
.bigsearch input{flex:1;min-width:0;border:0;padding:0 18px;font-size:16px;background:transparent;outline:0}
.bigsearch button{border:0;background:var(--ink);color:#fff;padding:0 22px;cursor:pointer;font-weight:500}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.quick a{border:1px solid var(--rule);background:var(--paper);padding:4px 10px;font-size:13px}
.quick a:hover{border-color:var(--ink);color:var(--ink)}
.cta{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:26px}
.spec{position:relative;margin-top:-56px;z-index:2}
.spec .grid{background:var(--paper);border:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.spec .cell{padding:20px 24px;border-right:1px solid var(--rule)}
.spec .cell:last-child{border-right:0}
.spec .cell .mono{color:var(--ink-3)}
.spec .cell p{margin:6px 0 0;font-weight:600;font-size:16px}
section.block{padding-block:88px 0}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--rule);margin-bottom:28px;overflow-x:auto}
.tabs button{background:none;border:0;padding:0 0 12px;margin-bottom:-1px;cursor:pointer;color:var(--ink-2);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent}
.tabs button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--red)}
.quality{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.q-copy{grid-column:1 / span 5}
.q-copy h2{font-size:40px;line-height:1.06}
.q-copy > p{margin:16px 0 28px;color:var(--ink-2);font-size:17px;max-width:460px}
.steps{border-top:1px solid var(--ink)}
.steps div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:15px}
.steps b{font-weight:600}
.steps span{color:var(--ink-2)}
.verify{margin-top:28px}
.verify label{display:block;font-weight:600;margin-bottom:10px}
.verify .f{display:flex;height:50px;max-width:460px}
.verify input{flex:1;min-width:0;border:1px solid var(--ink);border-right:0;padding:0 14px;background:var(--paper)}
.verify button{border:0;background:var(--ink);color:#fff;padding:0 20px;cursor:pointer;font-weight:500}
.verify output{display:block;margin-top:10px;font-size:14px;color:var(--ink-2);min-height:22px}
.quality .coa{grid-column:7 / span 6}
.library{background:var(--bench);margin-top:88px;padding-block:80px}
.lib{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.lib-l{grid-column:1 / span 4}
.lib-l h2{font-size:34px;line-height:1.08}
.lib-l p{color:var(--ink-2);margin:14px 0 24px}
.feature{display:block;margin-top:24px;border:1px solid var(--ink);background:var(--paper);padding:16px 18px}
.feature .mono{color:var(--red)}
.feature b{display:block;font-size:20px;margin:4px 0 2px;letter-spacing:-.015em}
.feature span.d{color:var(--ink-2);font-size:14px}
.az{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));margin-top:16px;border-left:1px solid var(--rule);border-top:1px solid var(--rule);background:var(--paper)}
.az a{text-align:center;padding:8px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:12px}
.lib-r{grid-column:6 / span 7;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;align-content:start}
.cls{padding:18px 0;border-top:1px solid var(--ink)}
.cls h3{font-size:16px;margin-bottom:8px;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:12px}
.cls h3 span{font-family:var(--mono);font-size:10px;font-weight:400;color:var(--ink-3);letter-spacing:.06em}
.cls ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.cls li{display:flex;justify-content:space-between;gap:12px}
.cls li span{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:14px}
.toolsrow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.toolsrow .calcmini{grid-column:1 / span 7}
.guides{grid-column:8 / span 5}
.guides h2{font-size:24px;margin-bottom:12px}
.guides a{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--rule)}
.guides a:last-child{border-bottom:1px solid var(--rule)}
.guides a span{color:var(--ink-3)}
.homefaq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-bottom:96px}
.homefaq h2{grid-column:1 / span 4;font-size:34px}
.homefaq .faqlist{grid-column:6 / span 7}

/* calculator block (home + tool page) */
.calc{border:1px solid var(--ink);background:var(--paper)}
.calc .h{padding:20px 24px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.calc .h h2{font-size:24px}
.calc .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.calc label{display:flex;flex-direction:column;padding:14px 24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0}
.calc label:last-child{border-right:0}
.calc label .mono{color:var(--ink-3)}
.calc input,.calc select{border:0;padding:4px 0 0;font-size:24px;font-weight:600;background:transparent;width:100%;font-variant-numeric:tabular-nums;outline:0;min-width:0}
.calc select{font-size:18px;padding-top:8px;cursor:pointer}
.calc .out{display:grid;grid-template-columns:1fr 1fr;padding:20px 24px;gap:16px}
.calc .out .mono{color:var(--ink-3)}
.calc .out strong{display:block;font-size:40px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.calc .out strong small{font-size:16px;font-weight:500;letter-spacing:0;margin-left:4px}
.calc .work{padding:0 24px 20px;color:var(--ink-3);margin:0;text-transform:none}

/* ===== STORE PRODUCT ===== */
.pdp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;padding-block:28px 72px;align-items:start}
.gallery{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;position:sticky;top:20px}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumbs button{padding:0;border:1px solid var(--rule);background:var(--bench);cursor:pointer;aspect-ratio:4/5;overflow:hidden;display:block}
.thumbs button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.thumbs .t-coa{width:100%;height:100%;display:grid;place-items:center;background:var(--paper);font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--red);text-transform:uppercase;line-height:1.3;text-align:center}
.stage{background:var(--bench);aspect-ratio:4/5;position:relative;overflow:hidden;max-width:100%}
.stage img{display:block;width:100%;height:100%;object-fit:cover}
.stage .coa{position:absolute;inset:7% 8%;overflow:auto}
.stage .lotflag{position:absolute;left:14px;top:14px;background:var(--paper);border:1px solid var(--ink);padding:4px 10px}
.buy h1{font-size:44px;line-height:1;letter-spacing:-.035em;margin-top:14px}
.buy .sub{margin:10px 0 0;color:var(--ink-2)}
.buy .sub a{color:var(--ink);border-bottom:1px solid var(--rule)}
.lotcard{margin-top:20px;border:1px solid var(--ink);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.lotcard div{padding:12px 14px;border-right:1px solid var(--rule)}
.lotcard div:last-child{border-right:0}
.lotcard .mono{color:var(--ink-3);font-size:10px}
.lotcard p{margin:3px 0 0;font-weight:600;font-variant-numeric:tabular-nums}
.lotcard .foot{grid-column:1/-1;border-top:1px solid var(--rule);border-right:0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;padding:10px 14px;background:var(--bench)}
.lotcard .foot a{font-weight:500}
.opt{margin-top:24px}
.opt legend,.opt .lab{font-weight:600;margin-bottom:10px;padding:0;display:flex;justify-content:space-between;width:100%}
.opt legend span,.opt .lab span{font-weight:400;color:var(--ink-3);font-size:14px}
fieldset{border:0;margin:0;padding:0;min-width:0}
.sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sizes label{border:1px solid var(--rule);padding:12px 14px;cursor:pointer;display:block;position:relative}
.sizes input{position:absolute;opacity:0}
.sizes label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.sizes label:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.sizes b{display:block;font-size:16px}
.sizes span{display:block;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.sizes small{display:block;font-size:11.5px;color:var(--ink-3)}
.breaks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule)}
.breaks button{background:var(--paper);border:0;border-right:1px solid var(--rule);padding:10px 12px;text-align:left;cursor:pointer}
.breaks button:last-child{border-right:0}
.breaks button[aria-pressed="true"]{background:var(--ink);color:#fff}
.breaks button[aria-pressed="true"] small{color:#C9CCCE}
.breaks b{display:block;font-size:14px}
.breaks small{display:block;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.pricebar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid var(--ink)}
.pricebar .p{font-size:36px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pricebar .p s{font-size:18px;color:var(--ink-3);font-weight:400;margin-left:8px}
.pricebar small{display:block;color:var(--ink-3);font-size:13px;margin-top:6px}
.stockline{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ok);font-weight:500}
.stockline::before{content:"";width:8px;height:8px;background:var(--ok)}
.buyrow{display:grid;grid-template-columns:120px 1fr;gap:10px;margin-top:16px}
.stepper{display:flex;border:1px solid var(--ink);height:52px}
.stepper button{width:38px;background:var(--paper);border:0;cursor:pointer;font-size:18px}
.stepper input{width:100%;min-width:0;border:0;border-left:1px solid var(--rule);border-right:1px solid var(--rule);text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.dispatch-note{margin-top:14px;padding:12px 14px;border:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px}
.dispatch-note svg{grid-row:span 2;margin-top:2px}
.dispatch-note b{font-weight:600}
.dispatch-note span{color:var(--ink-2)}
.assure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;border-top:1px solid var(--rule)}
.assure div{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:13.5px;line-height:1.4}
.assure div:nth-child(odd){padding-right:14px}
.assure div:nth-child(even){padding-left:14px;border-left:1px solid var(--rule)}
.assure svg{margin-top:1px;color:var(--ink)}
.assure b{display:block;font-weight:600}
.assure span{color:var(--ink-3)}
.ruo-check{margin-top:14px;font-size:12.5px;color:var(--ink-3)}
.pdp-sec{padding-block:72px 0}
.pdp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.fromlib{border:1px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 260px}
.fromlib .l{padding:24px 26px}
.fromlib .l p{color:var(--ink-2);margin:10px 0 16px}
.fromlib dl{margin:0;padding:16px 18px;background:var(--bench);border-left:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;align-content:start}
.fromlib dt{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.fromlib dd{margin:0;font-weight:500}
.reviews-slot{border:1px dashed var(--ink-3);padding:24px;color:var(--ink-2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.mbar{display:none}

/* ===== LIBRARY ENTRY ===== */
.ehead .wrap{padding-block:28px 40px}
.ehead .row{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:32px;flex-wrap:wrap}
.ehead h1{font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-.045em;margin-top:18px}
.ehead .formula{margin-top:16px;color:var(--ink-2);font-size:12px}
.ehead .formula sub,.infobox dd sub{font-size:.75em;line-height:0}
.meta{display:grid;grid-template-columns:repeat(3,auto);background:var(--paper);border:1px solid var(--rule)}
.meta div{padding:12px 18px;border-right:1px solid var(--rule)}
.meta div:last-child{border-right:0}
.meta .mono{color:var(--ink-3);font-size:10px}
.meta p{margin:4px 0 0;font-size:14px;font-weight:500}
.ebody{display:grid;grid-template-columns:200px minmax(0,1fr) 340px;gap:56px;padding-block:48px 96px;align-items:start}
.toc{position:sticky;top:24px;font-size:14px}
.toc > .mono{color:var(--ink-3);display:block;margin-bottom:12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.toc li a{display:grid;grid-template-columns:28px 1fr;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2);line-height:1.35}
.toc li a b{font-family:var(--mono);font-weight:400;font-size:11px;color:var(--ink-3);padding-top:2px}
.toc li a.on{border-left-color:var(--red);color:var(--ink)}
.toc details summary{display:none}
article.entry{min-width:0;max-width:720px}
.lead{font-size:20px;line-height:1.55;letter-spacing:-.005em;margin:0}
.lead + p{color:var(--ink-2);margin:16px 0 0}
.glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-top:32px}
.glance div{padding:14px 16px 14px 0}
.glance div + div{padding-left:16px;border-left:1px solid var(--rule)}
.glance .mono{color:var(--ink-3);font-size:10px}
.glance p{margin:4px 0 0;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.glance p small{font-size:13px;font-weight:500;color:var(--ink-2);letter-spacing:0}
section.s{padding-top:56px}
section.s p{margin:0 0 14px}
section.s h3{font-size:18px;margin:26px 0 8px;letter-spacing:-.015em}
sup a{color:var(--red);font-family:var(--mono);font-size:10px;padding-left:1px}
.ribbon{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));border:1px solid var(--ink);margin:6px 0 10px}
.ribbon div{border-right:1px solid var(--rule);text-align:center;padding:8px 0 10px;min-width:0}
.ribbon div:last-child{border-right:0}
.ribbon i{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--ink-3)}
.ribbon b{display:block;font-size:22px;font-weight:600;line-height:1.3}
.ribbon span{display:block;font-family:var(--mono);font-size:9.5px;color:var(--ink-2)}
.ribbon .p{background:var(--bench)}
.ribbon .p b{color:var(--red)}
.cap{color:var(--ink-3);font-size:13px;margin:0 0 14px}
.cap.mono{font-size:10px}
.plot{border:1px solid var(--rule);padding:20px 22px 18px;margin:8px 0 12px}
.plot .t{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dots{display:grid;grid-template-columns:repeat(36,minmax(0,1fr));gap:3px;margin:16px 0 12px}
.dots i{aspect-ratio:1;background:#C9CCCE}
.dots i.h{background:var(--red)}
.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;background:#C9CCCE;display:block}
.legend i.h{background:var(--red)}
.tl{list-style:none;margin:0;padding:0;border-left:1px solid var(--ink)}
.tl li{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:0 0 18px 20px;position:relative}
.tl li::before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;background:var(--paper);border:1px solid var(--ink)}
.tl li.r::before{background:var(--red);border-color:var(--red)}
.tl time{font-family:var(--mono);font-size:12px;padding-top:2px}
.tl p{margin:0 !important}
.unk{list-style:none;margin:0;padding:0;counter-reset:u}
.unk li{counter-increment:u;display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid var(--rule)}
.unk li::before{content:"Q" counter(u,decimal-leading-zero);font-family:var(--mono);font-size:11px;color:var(--red);padding-top:3px}
.unk li:first-child{border-top:1px solid var(--rule)}
.see{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.see a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule)}
.see a:nth-child(odd){padding-right:20px}
.see a:nth-child(even){padding-left:20px;border-left:1px solid var(--rule)}
.see a span{color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.refs{margin:0;padding:0;list-style:none;counter-reset:r;font-size:14px;line-height:1.5}
.refs li{counter-increment:r;display:grid;grid-template-columns:36px 1fr;padding:8px 0;border-bottom:1px solid var(--rule)}
.refs li::before{content:"[" counter(r) "]";font-family:var(--mono);font-size:11px;color:var(--red);padding-top:2px}
.refs a{color:var(--ink-2);border-bottom:1px solid var(--rule)}
.refs i{font-style:italic}
.cite{border:1px solid var(--ink);margin-top:20px;display:grid;grid-template-columns:1fr auto}
.cite p{margin:0 !important;padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--ink-2)}
.cite button{border:0;border-left:1px solid var(--ink);background:var(--paper);padding:0 18px;cursor:pointer;font-weight:500}
.cite button:hover{background:var(--ink);color:#fff}
.infobox{border:1px solid var(--ink);background:var(--paper)}
.infobox .bar{display:flex;justify-content:space-between;background:var(--ink);color:#fff;padding:9px 14px}
.infobox figure{margin:0;background:var(--bench);aspect-ratio:5/4;overflow:hidden;border-bottom:1px solid var(--rule);max-width:100%}
.infobox figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.infobox dl{margin:0;padding:4px 14px 6px;display:grid;grid-template-columns:104px 1fr;font-size:13.5px;line-height:1.45}
.infobox dt,.infobox dd{padding:8px 0;border-bottom:1px solid var(--rule);margin:0}
.infobox dt{color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding-top:10px}
.infobox dd{font-weight:500;overflow-wrap:anywhere}
.infobox dl > :nth-last-child(-n+2){border-bottom:0}
.infobox .grp{grid-column:1/-1;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--red);padding:14px 0 4px;border-bottom:1px solid var(--ink)}
.stock{border-top:1px solid var(--ink);padding:16px 14px}
.stock .mono{color:var(--ink-3);font-size:10px}
.stock h3{font-size:17px;margin:4px 0 2px;letter-spacing:-.01em}
.stock p{margin:0;font-size:13.5px;color:var(--ink-2)}
.stock .row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.stock .price{font-size:22px;font-weight:600;letter-spacing:-.02em}
.stock .btn{height:46px;padding:0 20px}
.stock .lots{display:block;margin-top:12px;font-size:13.5px;font-weight:500;border-top:1px solid var(--rule);padding-top:12px}
.ruo{padding:10px 14px;background:var(--bench);color:var(--ink-2);font-size:12px;line-height:1.45;border-top:1px solid var(--rule)}

/* ===== CALCULATOR PAGE ===== */
.toolhead .wrap{padding-block:28px 36px}
.toolhead h1{font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.04em;margin-top:18px}
.toolhead p{max-width:640px;color:var(--ink-2);font-size:17px;margin:14px 0 0}
.toolgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-block:40px 80px;align-items:start}
.modes{display:flex;border:1px solid var(--ink);border-bottom:0;overflow-x:auto}
.modes button{flex:1;background:var(--paper);border:0;border-right:1px solid var(--rule);padding:14px 16px;cursor:pointer;font-weight:500;white-space:nowrap;text-align:left}
.modes button:last-child{border-right:0}
.modes button small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:400}
.modes button[aria-selected="true"]{background:var(--ink);color:#fff}
.modes button[aria-selected="true"] small{color:#C9CCCE}
.panel[hidden]{display:none!important}
.mwtable{width:100%;border-collapse:collapse;font-size:14px}
.mwtable td{padding:9px 0;border-bottom:1px solid var(--rule)}
.mwtable td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.mwtable button{background:none;border:0;padding:0;cursor:pointer;font-weight:500;text-align:left}
.mwtable button:hover{color:var(--red)}
.side{border:1px solid var(--ink)}
.side .bar{background:var(--ink);color:#fff;padding:9px 14px}
.side .in{padding:6px 16px 10px}
.prose{max-width:720px}
.prose h2{font-size:26px;margin:48px 0 12px}
.prose p{margin:0 0 14px}
.prose .eq{font-family:var(--mono);font-size:13px;background:var(--bench);border-left:2px solid var(--red);padding:12px 16px;margin:0 0 14px;overflow-x:auto;white-space:nowrap}

/* ===== LOTS ===== */
.lotsearch{display:flex;height:56px;border:1px solid var(--ink);background:var(--paper);max-width:640px;margin-top:22px}
.lotsearch input{flex:1;min-width:0;border:0;padding:0 16px;font-size:16px;outline:0}
.lotsearch button{border:0;background:var(--ink);color:#fff;padding:0 22px;cursor:pointer;font-weight:500}
.lotres{margin-top:10px;font-size:14px;color:var(--ink-2);min-height:22px}
.lotgrid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:48px;padding-block:40px 88px;align-items:start}
.lottable tr{cursor:pointer}
.lottable tr.sel td{background:var(--bench)}
.lottable tbody tr:hover td{background:var(--bench)}
.lotfilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.lotfilters button{border:1px solid var(--rule);background:var(--paper);padding:6px 12px;cursor:pointer;font-size:13px}
.lotfilters button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.lotside{position:sticky;top:20px}

/* ===== CHECKOUT ===== */
.po{border:1px solid var(--rule);padding:12px 16px;margin-bottom:14px}
.po summary{cursor:pointer;font-weight:500;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.po summary::-webkit-details-marker{display:none}
.po summary::after{content:"+";font-family:var(--mono);color:var(--ink-3)}
.po[open] summary::after{content:"−"}
.pair{border:1px solid var(--ink);margin-top:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px}
.pair .imgs{display:flex}
.pair .imgs img{width:44px;height:56px;object-fit:cover;background:var(--bench);display:block;border:1px solid var(--rule)}
.pair .imgs img+img{margin-left:-10px}
.pair b{display:block;font-size:14.5px}
.pair span{font-size:13px;color:var(--ink-2)}
.pair .btn{height:42px;padding:0 16px;font-size:14px}
.lotleft{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);margin-top:8px}
.lotleft i{display:block;width:110px;height:4px;background:var(--rule)}
.lotleft i b{display:block;height:100%;background:var(--ink)}
.notify{display:flex;gap:6px;margin-top:8px}
.notify input{flex:1;min-width:0;height:40px;border:1px solid var(--ink);padding:0 10px;font-size:13px}
.notify button{height:40px;border:0;background:var(--ink);color:#fff;padding:0 12px;cursor:pointer;font-size:13px}
.bulk{margin-top:14px;font-size:13.5px;color:var(--ink-2)}
.vatnote{font-size:12.5px;color:var(--ink-3);margin-top:4px}
.sharebar{display:flex;gap:8px;margin-top:10px}
.sharebar button{flex:1;height:38px;border:1px solid var(--rule);background:var(--paper);cursor:pointer;font-size:13px;font-weight:500}
.sharebar button:hover{border-color:var(--ink)}

.xpress{margin-top:22px;border:1px solid var(--ink);padding:16px 18px 14px}
.or{display:flex;align-items:center;gap:14px;margin-top:16px;color:var(--ink-3);font-size:12.5px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rule)}
.welcome{margin-top:18px;padding:12px 14px;border:1px solid var(--rule);background:var(--bench);font-size:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0;border:1px solid var(--rule)}
.track div{padding:14px;border-right:1px solid var(--rule);position:relative}
.track div:last-child{border-right:0}
.track div::before{content:"";display:block;width:10px;height:10px;border:1px solid var(--ink);background:var(--paper);margin-bottom:10px}
.track div.on::before{background:var(--ok);border-color:var(--ok)}
.track b{display:block;font-size:14px}
.track span{font-size:12.5px;color:var(--ink-3)}
.orders{width:100%;border-collapse:collapse;font-size:14.5px}
.orders th{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--ink)}
.orders td{padding:14px 14px 14px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.orders td .lines{display:block;font-size:13px;color:var(--ink-2)}
.orders .reorder{height:40px;padding:0 16px}
.acctwrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;padding-block:36px 96px;align-items:start}
.acctnav a{display:block;padding:10px 0;border-bottom:1px solid var(--rule);font-weight:500}
.acctnav a:first-child{border-top:1px solid var(--ink)}
.acctnav a[aria-current]{color:var(--red)}

.co-head{border-bottom:1px solid var(--ink)}
.co-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.co-steps{display:flex;gap:0;font-size:13px}
.co-steps span{padding:6px 14px;border:1px solid var(--rule);margin-left:-1px;color:var(--ink-3)}
.co-steps span.on{border-color:var(--ink);color:var(--ink);position:relative;z-index:1}
.co-steps span.ok{color:var(--ok)}
.co{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;padding-block:36px 96px;align-items:start}
.co h1{font-size:32px;letter-spacing:-.03em}
.co-sec{border-top:1px solid var(--ink);padding-top:16px;margin-top:28px}
.co-sec h2{font-size:19px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.co-sec h2 .mono{color:var(--red)}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.fgrid .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field span{font-size:13px;font-weight:500}
.field input,.field select{height:48px;border:1px solid var(--rule);padding:0 12px;background:var(--paper);width:100%;min-width:0}
.field input:focus,.field select:focus{border-color:var(--ink);outline:0}
.field.err input{border-color:var(--red)}
.field em{font-style:normal;font-size:12.5px;color:var(--red)}
.lookup{display:grid;grid-template-columns:1fr auto;gap:8px}
.lookup button{height:48px;border:1px solid var(--ink);background:var(--paper);padding:0 16px;cursor:pointer;font-weight:500}
.radios{display:flex;flex-direction:column;margin-top:14px;border:1px solid var(--rule)}
.radios label{display:grid;grid-template-columns:22px 1fr auto;gap:10px;padding:14px 16px;border-bottom:1px solid var(--rule);cursor:pointer;align-items:start}
.radios label:last-child{border-bottom:0}
.radios label:has(input:checked){background:var(--bench);box-shadow:inset 2px 0 0 var(--ink)}
.radios input{margin:4px 0 0;accent-color:var(--ink)}
.radios b{font-weight:600;display:block}
.radios small{color:var(--ink-3);font-size:13px}
.radios .pr{font-weight:600;font-variant-numeric:tabular-nums}
.payslot{margin-top:12px;border:1px dashed var(--ink-3);padding:18px;color:var(--ink-2);font-size:14px}
.confirm{display:grid;grid-template-columns:22px 1fr;gap:10px;margin-top:20px;font-size:14px;align-items:start}
.confirm input{margin:3px 0 0;accent-color:var(--red);width:16px;height:16px}
.summary{position:sticky;top:20px;border:1px solid var(--ink);background:var(--paper)}
.summary .bar{background:var(--ink);color:#fff;padding:10px 16px;display:flex;justify-content:space-between}
.summary .items{padding:0 16px}
.summary .tot{padding:14px 16px;border-top:1px solid var(--rule);font-size:14px;display:grid;grid-template-columns:1fr auto;gap:6px}
.summary .tot b{font-size:18px}
.summary .tot .grand{border-top:1px solid var(--ink);padding-top:10px;margin-top:4px}
.summary .note{padding:12px 16px;background:var(--bench);font-size:12.5px;color:var(--ink-2);border-top:1px solid var(--rule)}
.okbox{border:1px solid var(--ink);max-width:720px;margin:48px auto 96px}
.okbox .bar{background:var(--ok);height:8px}
.okbox .in{padding:32px}
.okbox h1{font-size:36px;letter-spacing:-.03em;margin-top:8px}
.okbox p{color:var(--ink-2)}
.okbox .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule);margin:22px 0}
.okbox .grid3 div{padding:12px 14px;border-right:1px solid var(--rule)}
.okbox .grid3 div:last-child{border-right:0}
.okbox .grid3 p{margin:3px 0 0;color:var(--ink);font-weight:600}

/* ===== responsive ===== */
@media (max-width:1180px){
  .ebody{grid-template-columns:minmax(0,1fr) 320px;gap:48px}
  .toc{position:static;grid-column:1 / -1;border:1px solid var(--rule)}
  .toc > .mono{display:none}
  .toc details summary{display:flex;justify-content:space-between;padding:12px 16px;cursor:pointer;list-style:none;font-weight:600}
  .toc details summary::-webkit-details-marker{display:none}
  .toc details summary::after{content:"+";font-family:var(--mono);color:var(--ink-3)}
  .toc details[open] summary::after{content:"−"}
  .toc ol{border-left:0;border-top:1px solid var(--rule);padding:8px 16px;columns:2}
  .toc li a{padding-left:0;border-left:0}
  .hsearch{width:220px}
  .lotgrid{grid-template-columns:minmax(0,1fr)}
  .lotside{position:static}
  footer .cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
  .acct{display:none}
  header.main .wrap{flex-wrap:wrap;gap:12px 24px;padding-block:14px}
  .mainnav{order:3;width:100%;overflow-x:auto;gap:22px}
  .hsearch{order:4;width:100%;margin-left:0}
  .basketbtn{margin-left:auto}
  .util .dispatch{display:none}
  .hero > img{position:relative;width:100%;height:auto;aspect-ratio:16/9;-webkit-mask-image:none;mask-image:none}
  .hero{display:flex;flex-direction:column}
  .hero .wrap{display:block;min-height:0}
  .hero-copy{padding-block:40px 32px}
  .spec{margin-top:0}
  .spec .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec .cell:nth-child(2){border-right:0}
  .spec .cell:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .q-copy,.quality .coa,.lib-l,.lib-r,.toolsrow .calcmini,.guides,.homefaq h2,.homefaq .faqlist{grid-column:1 / -1}
  .pdp{grid-template-columns:minmax(0,1fr);gap:28px}
  .gallery{position:static;grid-template-columns:minmax(0,1fr)}
  .thumbs{flex-direction:row;order:2}
  .thumbs button{width:64px;flex:none}
  .stage{aspect-ratio:1/1}
  .stage img{object-position:50% 45%}
  .pdp-grid{grid-template-columns:minmax(0,1fr)}
  .ebody{grid-template-columns:minmax(0,1fr)}
  .ebody aside{order:2}
  .ebody .toc{order:1}
  article.entry{order:3;max-width:none}
  .meta{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .toolgrid{grid-template-columns:minmax(0,1fr)}
  .co{grid-template-columns:minmax(0,1fr)}
  .summary{position:static;order:-1}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--paper);border-top:1px solid var(--ink);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));gap:12px;align-items:center;transform:translateY(110%);transition:transform .25s ease}
  .mbar.show{transform:none}
  .mbar .p{font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}
  .mbar .p small{display:block;font-weight:400;font-size:12px;color:var(--ink-3)}
  .mbar .btn{flex:1;height:48px}
  footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .util .wrap > span{display:none}
  .util .wrap{justify-content:flex-end}
  .regdlg{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}
  .proto .wrap > span{display:none}
  .products{grid-template-columns:minmax(0,1fr)}
  .lib-r{grid-template-columns:minmax(0,1fr)}
  .calc label{padding:12px 14px}
  .calc input{font-size:20px}
  .calc .out{padding:16px 14px}
  .calc .work{padding:0 14px 16px}
  .calc .h{padding:16px 14px}
  .calc .out{grid-template-columns:minmax(0,1fr)}
  .az{grid-template-columns:repeat(7,minmax(0,1fr))}
  .buy h1{font-size:36px}
  .sizes{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
  .sizes label{padding:10px}
  .lotcard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lotcard div:nth-child(2){border-right:0}
  .lotcard div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--rule);border-right:0}
  .assure{grid-template-columns:minmax(0,1fr)}
  .assure div:nth-child(n){padding-left:0;padding-right:0;border-left:0}
  .fromlib{grid-template-columns:minmax(0,1fr)}
  .fromlib dl{border-left:0;border-top:1px solid var(--rule)}
  .glance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .glance div:nth-child(3){padding-left:0;border-left:0}
  .glance div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .ribbon{grid-template-columns:repeat(5,minmax(0,1fr))}
  .ribbon div:nth-child(5n){border-right:0}
  .ribbon div:nth-child(-n+10){border-bottom:1px solid var(--rule)}
  .dots{grid-template-columns:repeat(18,minmax(0,1fr))}
  .toc ol{columns:1}
  .see{grid-template-columns:minmax(0,1fr)}
  .see a:nth-child(n){padding-left:0;padding-right:0;border-left:0}
  .meta{grid-template-columns:minmax(0,1fr)}
  .meta div{border-right:0;border-bottom:1px solid var(--rule)}
  .meta div:last-child{border-bottom:0}
  .tl li{grid-template-columns:minmax(0,1fr);gap:2px}
  .cite{grid-template-columns:minmax(0,1fr)}
  .cite button{border-left:0;border-top:1px solid var(--ink);height:44px}
  .sh h2{font-size:24px}
  .lead{font-size:18px}
  .infobox dl{grid-template-columns:96px 1fr}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .co-steps span{padding:6px 8px;font-size:12px}
  .co-head .logo span{display:none}
  .co-secure{display:none!important}
  .okbox .grid3{grid-template-columns:minmax(0,1fr)}
  .track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .track div:nth-child(2){border-right:0}
  .track div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .acctwrap{grid-template-columns:minmax(0,1fr)}
  .xpress .express{grid-template-columns:minmax(0,1fr)!important}
  .pair{grid-template-columns:auto 1fr}
  .pair .btn{grid-column:1/-1}
  .okbox .grid3 div{border-right:0;border-bottom:1px solid var(--rule)}
  .coa .in{padding:20px}
  .modes button{padding:10px;white-space:normal;flex:1 1 0;font-size:14px;line-height:1.25}
  footer .cols{grid-template-columns:minmax(0,1fr)}
  .steps div{grid-template-columns:minmax(0,1fr);gap:2px}
}
/* ===== COMPARISON ===== */
.cmphead .wrap{padding-block:28px 40px}
.cmphead h1{font-size:clamp(40px,5.4vw,72px);line-height:.98;letter-spacing:-.04em;margin-top:18px}
.cmphead h1 em{font-style:normal;color:var(--ink-3);font-weight:400;letter-spacing:-.02em}
.cmphead p{max-width:680px;color:var(--ink-2);font-size:17px;margin:14px 0 0}
.cmpbody{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;padding-block:48px 96px;align-items:start}
.cmpbody article{min-width:0;max-width:760px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ink)}
.two > div{padding:20px 22px;min-width:0}
.two > div + div{border-left:1px solid var(--ink)}
.two .mono{color:var(--red)}
.two h3{font-size:24px;margin:4px 0 8px!important;letter-spacing:-.025em}
.two p{color:var(--ink-2);font-size:14.5px;margin:0!important}
.two img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;background:var(--bench);margin-bottom:14px}
.cmp{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45}
.cmp th{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--ink)}
.cmp th:nth-child(n+2){color:var(--ink);font-family:var(--display);font-size:15px;font-weight:600;text-transform:none;letter-spacing:-.01em}
.cmp td{padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top;width:38%}
.cmp td:first-child{width:24%;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding-top:15px}
.cmp td.k{color:var(--red);font-weight:500;font-family:var(--display);font-size:14.5px;text-transform:none;letter-spacing:0}
.verdict{border:1px solid var(--ink);border-left:4px solid var(--red);padding:18px 22px;margin:8px 0 0}
.verdict p{margin:0!important}
.verdict b{display:block;margin-bottom:4px}
.scale{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;align-items:center;font-size:14px;margin:10px 0 6px}
.scale .bar{height:14px;background:var(--rule);position:relative}
.scale .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--ink)}
.scale .bar i.r{background:var(--red)}
.scale .bar span{position:absolute;right:0;top:-20px;font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.scale b{font-weight:500}
.sidecards{display:flex;flex-direction:column;gap:16px}
.sidecard{border:1px solid var(--ink)}
.sidecard .bar{display:flex;justify-content:space-between;background:var(--ink);color:#fff;padding:9px 14px}
.sidecard .in{padding:14px}
.sidecard h3{font-size:18px;letter-spacing:-.015em}
.sidecard p{margin:4px 0 10px;font-size:13.5px;color:var(--ink-2)}
.sidecard .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sidecard .price{font-weight:600;font-size:18px}
.sidecard .btn{height:42px;padding:0 16px;font-size:14px}
.sidecard .links{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--rule);font-size:13.5px;font-weight:500}
.sidecard .links a{color:var(--red)}

/* ===== LIBRARY INDEX ===== */
.libhead .wrap{padding-block:28px 40px}
.libhead h1{font-size:clamp(44px,6vw,84px);line-height:.95;letter-spacing:-.045em;margin-top:18px}
.libhead p{max-width:640px;color:var(--ink-2);font-size:17px;margin:14px 0 0}
.libhead .stats{display:flex;gap:0;margin-top:26px;border:1px solid var(--rule);background:var(--paper);width:max-content;max-width:100%;flex-wrap:wrap}
.libhead .stats div{padding:12px 20px;border-right:1px solid var(--rule)}
.libhead .stats div:last-child{border-right:0}
.libhead .stats b{display:block;font-size:22px;letter-spacing:-.02em;line-height:1.1}
.libhead .stats span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.libwrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;padding-block:40px 96px;align-items:start}
.libnav{position:sticky;top:20px}
.libnav .mono{display:block;color:var(--ink-3);margin-bottom:10px}
.libnav a.sh{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule);border-top:0;margin:0;font-size:14.5px;font-weight:500}
.libnav a.sh:first-of-type{border-top:1px solid var(--ink)}
.libnav a.sh span{font-family:var(--mono);font-size:10px;color:var(--ink-3);padding-top:4px}
.libnav a.sh[aria-current]{color:var(--red)}
.entries{width:100%;border-collapse:collapse;font-size:14.5px}
.entries th{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--ink)}
.entries td{padding:13px 14px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.entries td.no{font-family:var(--mono);font-size:11px;color:var(--ink-3);padding-top:16px;white-space:nowrap}
.entries td.nm a{font-weight:600;font-size:16px;letter-spacing:-.01em}
.entries td.nm small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:2px}
.entries td.num{white-space:nowrap;color:var(--ink-2)}
.entries td.st{white-space:nowrap}
.entries .soon{color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.entries tr.hide{display:none}
.letter{font-family:var(--mono);font-size:11px;color:var(--red);padding:22px 0 8px;border-bottom:1px solid var(--ink)}
.shelfrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px}
.shelfcard{border:1px solid var(--rule);padding:18px 20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.shelfcard:hover{border-color:var(--ink);color:var(--ink)}
.shelfcard .mono{color:var(--red)}
.shelfcard b{font-size:19px;letter-spacing:-.02em}
.shelfcard span{color:var(--ink-2);font-size:13.5px;line-height:1.45}
.shelfcard em{font-style:normal;color:var(--ink-3);font-size:12.5px;margin-top:auto;padding-top:10px}

/* ===== STORE INDEX ===== */
.storewrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding-block:36px 96px;align-items:start}
.filters{position:sticky;top:20px}
.filters fieldset{border:0;padding:0 0 6px;margin-bottom:10px}
.filters legend{font-weight:600;padding:14px 0 8px;font-size:15px;border-top:1px solid var(--ink);width:100%}
.filters label{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px;cursor:pointer}
.filters label span{color:var(--ink-3);font-family:var(--mono);font-size:10px;padding-top:3px}
.filters input{accent-color:var(--ink)}
.storetop{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.storetop select{border:1px solid var(--rule);height:40px;padding:0 10px;background:var(--paper)}
.products.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card[hidden]{display:none!important}
.storenote{border:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}
.storenote div{padding:14px 16px;border-right:1px solid var(--rule);font-size:13.5px}
.storenote div:last-child{border-right:0}
.storenote b{display:block;font-weight:600}
.storenote span{color:var(--ink-3)}

/* ===== METHODS ===== */
.mbody{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;padding-block:48px 96px;align-items:start}
.mbody article{min-width:0;max-width:720px}
.mstep{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--rule)}
.mstep:first-of-type{border-top:1px solid var(--ink)}
.mstep .n{font-family:var(--mono);font-size:22px;color:var(--red);line-height:1;padding-top:2px}
.mstep h3{font-size:19px;margin:0 0 6px!important;letter-spacing:-.015em}
.mstep p{margin:0 0 8px!important;color:var(--ink-2)}
.mstep p:last-child{margin-bottom:0!important}
.mstep .who{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.spec-limits{width:100%;border-collapse:collapse;font-size:14.5px}
.spec-limits th{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 14px 10px 0;border-bottom:1px solid var(--ink)}
.spec-limits td{padding:11px 14px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.spec-limits td:first-child{font-weight:600}
.anno{border:1px solid var(--rule);padding:18px 20px 14px;margin:8px 0 14px}
.anno svg{display:block;width:100%;height:auto}
.anno figcaption{font-size:13px;color:var(--ink-3);margin-top:8px}

@media (max-width:1180px){
  .libwrap{grid-template-columns:200px minmax(0,1fr);gap:32px}
  .storewrap{grid-template-columns:200px minmax(0,1fr);gap:32px}
  .shelfrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .products.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .cmpbody,.mbody{grid-template-columns:minmax(0,1fr)}
  .cmpbody aside,.mbody aside{order:-1}
  .libwrap,.storewrap{grid-template-columns:minmax(0,1fr)}
  .libnav,.filters{position:static}
  .libnav{display:flex;gap:8px;flex-wrap:wrap}
  .libnav .mono{display:none}
  .libnav a.sh{border:1px solid var(--rule)!important;padding:6px 10px;font-size:13px}
  .libnav a.sh span{display:none}
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
}
@media (max-width:600px){
  .two{grid-template-columns:minmax(0,1fr)}
  .two > div + div{border-left:0;border-top:1px solid var(--ink)}
  .cmp td:first-child{width:30%}
  .shelfrow,.products.three{grid-template-columns:minmax(0,1fr)}
  .storenote{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storenote div:nth-child(2){border-right:0}
  .storenote div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .filters{grid-template-columns:minmax(0,1fr)}
  .entries thead{display:none}
  .entries tr{display:grid;grid-template-columns:auto 1fr;gap:0 12px}
  .entries tr.lt{display:block}
  .entries td{border-bottom:0;padding:4px 0}
  .entries td.no{grid-row:span 3;padding-top:7px}
  .entries td.nm{padding-top:0}
  .entries td:nth-child(3),.entries td:nth-child(4){grid-column:2;font-size:13px;color:var(--ink-3)}
  .entries td.st{grid-column:2;padding-bottom:14px;border-bottom:1px solid var(--rule)}
  .mstep{grid-template-columns:40px 1fr;gap:12px}
  .scale{grid-template-columns:minmax(0,1fr);gap:4px}
  .scale .bar{margin-bottom:10px}
  .libhead .stats div{padding:10px 14px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.drawer,.mbar,.card .img img,.meter i{transition:none}}

.card h3 .altname{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
.seqfig{margin:24px 0 0;border:1px solid var(--rule);background:var(--bench)}
.seqfig img{display:block;width:100%;height:auto}
.seqfig figcaption{font-size:13px;color:var(--ink-3);padding:10px 14px;border-top:1px solid var(--rule);background:var(--paper)}
.st .instore{display:block;margin-top:6px;font-size:12px;color:var(--red);text-decoration:underline;text-underline-offset:3px}
/* contact form, lists, 404 */
.cform{display:flex;flex-direction:column;gap:20px}
.ctopics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ink)}
.ctopics label{position:relative;cursor:pointer}
.ctopics input{position:absolute;opacity:0;inset:0}
.ctopics span{display:block;padding:14px 12px;font-weight:500;font-size:14px;border-left:1px solid var(--rule);height:100%}
.ctopics label:first-child span{border-left:0}
.ctopics input:checked+span{background:var(--ink);color:#fff}
.ctopics input:focus-visible+span{outline:2px solid var(--red);outline-offset:-2px}
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cgrid .full{grid-column:1/-1}
.field textarea{border:1px solid var(--rule);padding:10px 12px;background:var(--paper);width:100%;font:inherit;resize:vertical}
.field textarea:focus{border-color:var(--ink);outline:0}
.field.err input,.field.err textarea{border-color:var(--red)}
.field em{font-style:normal;color:var(--red);font-size:13px}
.cform .btn{align-self:flex-start}
.cok{border-left:3px solid var(--ok);padding:10px 14px;background:var(--bench);margin:0}
ul.plain{margin:10px 0 14px;padding-left:18px}
ul.plain li{margin:4px 0}
.nfgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:40px}
@media (max-width:760px){.ctopics{grid-template-columns:repeat(2,minmax(0,1fr))}.ctopics label:nth-child(3) span{border-left:0}.ctopics label:nth-child(n+3) span{border-top:1px solid var(--rule)}.cgrid{grid-template-columns:minmax(0,1fr)}.nfgrid{grid-template-columns:minmax(0,1fr);gap:32px}}
table.cmp.tick td{text-align:center;font-family:var(--mono);font-size:15px}
table.cmp.tick td:first-child{text-align:left;font-family:inherit;font-size:inherit}
table.cmp.tick th:not(:first-child){text-align:center}
.see a.soon,a.soon{color:var(--ink-3);cursor:default}
.see a.soon:hover{background:none;color:var(--ink-3)}
.seen{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.seencard{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--paper);color:var(--ink)}
.seencard:hover{border-color:var(--ink)}
.seencard img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--bench)}
.seencard span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-top:1px solid var(--rule)}
.seencard b{font-size:14px;font-weight:600}
.seencard small{font-size:12.5px;color:var(--ink-2)}
#seenclear{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:14px;color:var(--ink-2);border-bottom:1px solid var(--rule)}
@media (max-width:900px){.seen{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.seen{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.seencard{flex:0 0 42%;scroll-snap-align:start}}
.storeinfo{border-top:1px solid var(--rule);padding-block:64px 24px}
.infocols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ink)}
.infocols>div{padding:20px 22px;border-left:1px solid var(--rule)}
.infocols>div:first-child{border-left:0}
.infocols h3{font-size:19px;letter-spacing:-.015em;margin:10px 0 6px}
.infocols p{margin:0;color:var(--ink-2);font-size:14.5px}
.infocols .mono{color:var(--red)}
.infolinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:32px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chips a{border:1px solid var(--rule);padding:7px 12px;font-size:14px;font-weight:500;color:var(--ink);background:var(--paper)}
.chips a:hover{border-color:var(--ink)}
.storefaq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;margin-top:56px;align-items:start}
@media (max-width:860px){.infocols{grid-template-columns:minmax(0,1fr)}.infocols>div{border-left:0;border-top:1px solid var(--rule)}.infocols>div:first-child{border-top:0}.infolinks,.storefaq{grid-template-columns:minmax(0,1fr);gap:24px}}
.two.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two.three h3{font-size:21px}
@media (max-width:1000px){.mbody.helpb aside{order:0}}
@media (max-width:860px){.two.three{grid-template-columns:minmax(0,1fr)}}
.buycard .qtyrow{display:flex;gap:8px;align-items:stretch}
.buycard .qty{margin:0;border:1px solid var(--ink);display:flex}
.buycard .qty button{width:40px;height:52px;font-size:18px}
.buycard .qty input{width:44px;border:0;border-left:1px solid var(--rule);border-right:1px solid var(--rule);text-align:center;font:inherit;font-size:16px}
.bwfig{margin:0 0 20px;background:var(--bench);border:1px solid var(--rule);max-width:420px}
.bwfig img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
@media (max-width:1000px){.bwbody aside{order:-1}}
/* design reference */
.sw{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)}
.sw i{width:44px;height:44px;border:1px solid var(--rule);grid-row:span 3}
.sw b{font-weight:500;text-transform:none}
.sw span{color:var(--ink-3)}
.sw small{color:var(--ink-2);font-size:13px}
.tspec>div{padding:18px 0;border-bottom:1px solid var(--rule)}
.tspec small{display:block;margin-top:8px;color:var(--ink-3);font-size:12.5px}
.cgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.cgrid2 small,.mbody small{display:block;margin-top:8px;color:var(--ink-3);font-size:12.5px}
.row2{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:8px}
@media (max-width:760px){.cgrid2{grid-template-columns:minmax(0,1fr)}}
.see.tpl{grid-template-columns:repeat(3,minmax(0,1fr))}
.see.tpl a{flex-wrap:wrap}
.see.tpl span{white-space:normal}
@media (max-width:760px){.see.tpl{grid-template-columns:minmax(0,1fr)}}
.card .lotflag.soonflag{background:var(--ink);color:#fff}
.stockline.soon{color:var(--ink-3)}
.soonbox{border:1px solid var(--ink);padding:18px 20px;margin-top:4px}
.soonbox>p{margin:10px 0 0;color:var(--ink-2)}
.notify.big{display:flex;gap:8px;margin-top:14px}
.notify.big input{flex:1;min-width:0;height:52px;border:1px solid var(--ink);padding:0 14px;font:inherit}
.notify.big .btn{flex:none}
.express.pdpx{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.express.pdpx .xp{height:46px}

/* ===== mobile chrome and phone layout (90% of traffic) ===== */
.menubtn,.srchbtn,.scancel,.msheet,.mscrim,.ftoggle{display:none}
.basketbtn .ico{display:none}
@media (max-width:760px){
  html{scroll-padding-top:72px}
  .proto,.util{display:none}
  header.main{position:sticky;top:0;z-index:45;border-bottom:1px solid var(--ink)}
  header.main .wrap{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;min-height:58px;padding-block:0}
  .menubtn{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0 10px 0 0;height:48px;cursor:pointer;color:var(--ink);font:inherit;font-weight:500;margin-left:-4px}
  .menubtn .bars{display:flex;flex-direction:column;gap:5px;width:22px}
  .menubtn .bars i{display:block;height:2px;background:var(--ink)}
  .menubtn .lbl{display:none}
  .logo{font-size:15px;letter-spacing:.12em;gap:9px;margin-right:auto}
  .logo i{width:13px;height:13px}
  .mainnav{display:none}
  .acct{display:none}
  .srchbtn{display:grid;place-items:center;width:44px;height:48px;background:none;border:0;color:var(--ink);cursor:pointer;padding:0;margin-left:auto}
  .basketbtn{margin-left:0;padding:0 0 0 2px;height:48px;gap:0;position:relative;min-width:44px;justify-content:center}
  .basketbtn .lbl{display:none}
  .basketbtn .ico{display:block}
  .basketbtn b{position:absolute;top:6px;right:-6px;min-width:18px;height:18px;font-size:11px;padding:0 4px}
  /* search becomes a full-screen sheet */
  .hsearch{display:none}
  body.s-open .hsearch{display:block;position:fixed;inset:0;z-index:70;background:var(--paper);padding:max(10px,env(safe-area-inset-top,0px)) 16px 16px;margin:0;width:auto}
  body.s-open .hsearch .box{height:50px;border-color:var(--ink);background:var(--paper);width:calc(100% - 76px)}
  body.s-open .hsearch input{font-size:16px}
  body.s-open .hsearch kbd{display:none}
  body.s-open .scancel{display:block;position:absolute;right:16px;top:max(10px,env(safe-area-inset-top,0px));height:50px;background:none;border:0;font:inherit;font-weight:500;color:var(--ink);padding:0 4px;cursor:pointer}
  body.s-open .suggest{position:static;border:0;border-top:1px solid var(--rule);box-shadow:none;margin-top:14px}
  body.s-open .suggest a{padding:14px 2px;font-size:16px}
  body.s-open .suggest p{padding:14px 2px}
  body.s-open,body.m-open{overflow:hidden}
  /* menu sheet */
  .mscrim[hidden]{display:none}
  .mscrim{display:block;z-index:64}
  .msheet{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(360px,88vw);z-index:66;background:var(--paper);border-right:1px solid var(--ink);transform:translateX(-102%);transition:transform .25s ease;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
  .msheet[hidden]{display:none}
  .msheet.open{transform:none}
  .msheet .mh{display:flex;justify-content:space-between;align-items:center;padding:0 16px;min-height:58px;border-bottom:1px solid var(--ink)}
  .msheet .mh .logo{margin-right:0}
  .msheet .x{background:none;border:0;font:inherit;font-weight:500;color:var(--ink);height:44px;padding:0 4px;cursor:pointer}
  .mlinks{display:flex;flex-direction:column}
  .mlinks a{display:flex;flex-direction:column;padding:10px 16px;border-bottom:1px solid var(--rule);color:var(--ink);min-height:52px;justify-content:center}
  .mlinks a b{font-size:17px;font-weight:600;letter-spacing:-.01em}
  .mlinks a span{font-size:13px;color:var(--ink-3);margin-top:2px}
  .mlinks a[aria-current]{box-shadow:inset 3px 0 0 var(--red)}
  .mhelp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 16px 12px;border-bottom:1px solid var(--rule)}
  .mhelp a{padding:11px 0;font-size:15px;color:var(--ink-2);min-height:44px;display:flex;align-items:center}
  .mreg{padding:14px 16px 6px;display:flex;flex-direction:column;gap:4px;position:relative}
  .mreg .regbtn{padding:10px 0;font-weight:500;min-height:44px}
  .msheet .regdlg{position:static;width:auto;margin:0 16px 12px;box-shadow:none}
  .mnote{margin:auto 16px 16px;padding-top:16px;font-size:13px;color:var(--ink-3)}
  /* region banner, compact */
  .regbanner{font-size:13px}
  .regbanner .long{display:none}
  .regbanner .short{display:inline}
  .regbanner .wrap{padding-block:10px;gap:8px 12px}
  .regbanner .acts{gap:12px}
  .regbanner .btn{height:38px;padding:0 14px;font-size:13px}
  /* generic tap targets and type */
  .mono{font-size:11px}
  .btn{height:50px}
  .add{min-height:44px}
  .cta .link,.chips a{min-height:44px;display:inline-flex;align-items:center}
  .tabs{gap:0;margin-left:-16px;margin-right:-16px;padding:0 16px;scrollbar-width:none;border-bottom:1px solid var(--rule)}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{padding:12px 14px;font-size:15px;min-height:46px}
  .tabs button:first-child{padding-left:0}
  footer .cols a{padding:6px 0;display:block}
  /* home */
  .hero > img{aspect-ratio:16/10;max-height:240px;object-position:55% 60%}
  .hero-copy{padding-block:26px 24px}
  .hero h1{font-size:clamp(32px,9.5vw,40px);line-height:1.04;letter-spacing:-.03em}
  .hero p{font-size:16px;margin-top:12px;line-height:1.5}
  .bigsearch{margin-top:18px}
  .bigsearch .box{height:50px}
  .bigsearch input{font-size:16px}
  .quick{margin-top:12px;gap:8px}
  .quick a{min-height:40px;display:inline-flex;align-items:center}
  .hero .cta{margin-top:16px;display:flex;flex-direction:column;gap:6px}
  .hero .cta .btn{width:100%}
  .spec{margin-top:0}
  .spec .grid{border-left:0;border-right:0;border-top:0}
  .spec .cell{padding:12px 14px}
  .spec .cell p{font-size:14px;margin-top:3px}
  .spec .cell .mono{font-size:10px}
  section.block{padding-block:40px 0}
  .head h2{font-size:28px}
  /* product cards: two across */
  .products,.products.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .card .img{aspect-ratio:1/1}
  .card .lotflag{left:8px;top:8px;font-size:9px;padding:2px 6px;letter-spacing:.04em}
  .card h3{font-size:16px;margin-top:12px;line-height:1.25}
  .card h3 .altname{font-size:10px;margin-top:3px}
  .card dl{font-size:12.5px;gap:2px 8px;margin-top:6px}
  .card .body dl{margin-bottom:10px}
  .card .seg button{padding:7px 2px;font-size:12px}
  .card .row{flex-direction:column;align-items:stretch;gap:8px;padding-top:10px}
  .card .price{font-size:16px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:0 8px}
  .card .price small{font-size:12px}
  .card .acts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .card .acts .add,.card .row > span > .add,.card .row > .add{width:100%;padding:0 8px;height:44px;font-size:14px}
  .card .acts .add{min-width:0}
  /* store filters collapse */
  .storewrap{gap:0 48px;padding-block:20px 72px}
  .ftoggle{display:flex;justify-content:space-between;align-items:center;width:100%;height:50px;padding:0 14px;border:1px solid var(--ink);background:var(--paper);font:inherit;font-weight:600;cursor:pointer;margin-bottom:16px}
  .ftoggle b{font-weight:400;font-size:20px;line-height:1}
  .filters{display:none;border:1px solid var(--rule);padding:0 14px 8px;margin:-8px 0 20px}
  .filters.open{display:grid;grid-template-columns:minmax(0,1fr)}
  .filters label{padding:9px 0;font-size:15px;min-height:40px;align-items:center}
  .filters input{width:20px;height:20px}
  .storenote{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}
  .storenote div{padding:10px 12px;font-size:12.5px}
  .storetop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
  .storetop select{height:44px;font-size:15px}
  /* entry pages */
  .meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .libhead .wrap{padding-block:20px 28px}
  .libhead h1{font-size:clamp(36px,10vw,44px)}
  .libhead p{font-size:15.5px}
  .libhead .stats div{padding:9px 12px}
  .libhead .stats b{font-size:18px}
  /* product page */
  .stage{aspect-ratio:5/4}
  .buy h1{font-size:32px}
  .thumbs button{width:56px}
  .sizes label{padding:10px 8px}
  .mbar .btn{height:50px;font-size:15px}
  /* drawer full width on phones */
  .drawer{width:100%;border-left:0}
  .drawer .dh{padding:14px 16px}
  .drawer .items,.drawer .df,.drawer .ship{padding-left:16px;padding-right:16px}
  .drawer .qty button{width:40px;height:40px}
  .drawer .rm{min-height:36px}
  /* tables scroll instead of squashing */
  .cmp td:first-child{width:34%}
  table.spec-limits{font-size:13.5px}
}
@media (max-width:400px){
  .logo{font-size:14px;letter-spacing:.1em}
  .card .acts{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  /* product page: price and add-to-basket straight after the description */
  .buy{display:flex;flex-direction:column}
  .buy > *{order:5}
  .buy > .tag{order:0}.buy > h1{order:1}.buy > .sub{order:2}
  .buy > fieldset.opt,.buy > .soonbox{order:3}
  .buy > .pricebar{order:4}
  .buy > .lotcard{order:9}.buy > div.opt{order:10}
  .pricebar{margin-top:18px}
  .buy > fieldset.opt{margin-top:18px}
  /* store cards: keep the library link for the product page */
  .products .card dl dt:has(+ dd a[href^="library-"]),.products .card dl dd:has(> a[href^="library-"]){display:none}
}
@media (max-width:980px){.libnav a.sh{display:inline-flex;align-items:center;min-height:40px}}
@media (max-width:760px){
  .menubtn{min-width:44px}
  .card h3 a{display:inline-block;padding:4px 0;margin:-4px 0}
  .card dd a,.cls li a,.entries td a,.toc li a{display:inline-block;padding:7px 0;margin:-7px 0}
  .cls li{padding:4px 0}
  .card .lotflag{font-size:10px}
  .spec .cell .mono{font-size:11px}
}
@media (max-width:760px){
  .crumbs a{display:inline-block;padding:8px 0;margin:-8px 0}
  .card .seg button{padding:11px 2px}
}
@media (max-width:760px){
  .pricebar .stockline{white-space:nowrap;flex:none}
  .link.arrow{display:inline-block;min-height:0;padding:8px 0 2px}
}

/* age and research-use gate */
.gate{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px}
.gate .gscrim{position:absolute;inset:0;background:rgba(241,241,239,.72);-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9)}
.gate .gbox{position:relative;background:var(--paper);border:1px solid var(--ink);width:min(460px,100%);padding:26px 28px 20px;box-shadow:0 30px 60px -30px rgba(20,22,23,.5)}
.gate .gtop{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.gate .gtop .logo{font-size:14px}
.gate .gtop .mono{color:var(--red)}
.gate h2{font-size:28px;letter-spacing:-.025em;line-height:1.1;margin:20px 0 10px}
.gate p{margin:0 0 14px;color:var(--ink-2);font-size:15px;line-height:1.55}
.gate .gl{list-style:none;margin:0 0 20px;padding:0;border-top:1px solid var(--rule)}
.gate .gl li{padding:11px 0 11px 28px;border-bottom:1px solid var(--rule);position:relative;font-weight:500}
.gate .gl li::before{content:"";position:absolute;left:2px;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--ink)}
.gate .gl li::after{content:"";position:absolute;left:5px;top:50%;width:6px;height:3px;margin-top:-3px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}
.gate .gfoot{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13.5px}
.gate .gfoot a{color:var(--ink-3);padding:8px 0}
.gate .gfoot a:first-child{color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px;align-self:center}
.gate.out{opacity:0;transition:opacity .2s ease}
body.g-open{overflow:hidden}
@media (max-width:760px){
  .gate{align-items:flex-end;padding:0}
  .gate .gbox{width:100%;border-left:0;border-right:0;border-bottom:0;padding:20px 16px calc(14px + env(safe-area-inset-bottom,0px));animation:gup .28s ease}
  .gate h2{font-size:26px;margin-top:16px}
}
@keyframes gup{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.gate .gbox{animation:none}.gate.out{transition:none}}

.mlang{display:flex;align-items:center;min-height:48px;margin:4px 16px 0;padding:0 14px;border:1px solid var(--ink);font-weight:500;color:var(--ink)}
.mlang::after{content:"→";margin-left:auto}

/* basket nudge and checkout due date */
.drawer .nudge{display:flex;align-items:center;gap:10px;width:100%;margin:14px 0 6px;padding:12px 14px;border:1px solid var(--ok);background:#F2F8F4;color:var(--ok);font:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;min-height:46px}
.drawer .nudge::before{content:"+";font-family:var(--mono);font-weight:500}
.drawer .nudge:hover{background:var(--ok);color:#fff}
.summary .tot .due{grid-column:1/-1;font-size:13px;color:var(--ok);padding-top:4px}
@media (max-width:760px){
  /* basket on phones: items get the room; total and pay buttons stay in reach */
  .drawer{overflow-y:auto;overscroll-behavior:contain}
  .drawer .items{flex:none;overflow:visible}
  .drawer .df{position:sticky;bottom:0;background:var(--paper);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));margin-top:auto;box-shadow:0 -12px 24px -18px rgba(20,22,23,.35)}
  .drawer .df > p:not([style]):not(.eta),.drawer .df .trust,.drawer .df .sharebar{display:none}
  .drawer .df .eta{margin-bottom:6px;font-size:12.5px}
  .drawer .df .sum{margin-bottom:8px}
  .drawer .df .express{margin-top:8px}
  .drawer .df .express .xp{height:44px}
}
.okbox h1{line-height:1.08}
@media (max-width:760px){.okbox h1{font-size:30px}}
/* revision tables wrap instead of overflowing (long German words) */
#rev .tbl{width:100%;table-layout:fixed}
#rev .tbl th:nth-child(1){width:48px}
#rev .tbl th:nth-child(2){width:96px}
#rev .tbl td{overflow-wrap:anywhere;hyphens:auto}
@media (max-width:760px){#rev .tbl th:nth-child(2){width:78px}}
:lang(de) .entry p,:lang(de) .infobox dd{hyphens:auto;hyphenate-limit-chars:10 4 4}

/* ===== phone clean-up pass (v19): bigger tap targets, no text under 11px ===== */
@media (max-width:760px){
  header.main .logo{padding-block:13px}
  .faqlist summary,details.po summary{min-height:48px;align-items:center;padding-block:10px}
  .faqlist details{padding-block:0}
  .stepper button{width:46px}
  .mwtable td button{min-height:40px;padding:0 6px;text-align:left}
  .mwtable a.red{display:inline-block;padding:10px 4px;font-size:11px}
  a.arrow,a.link,.cap a,.see a,.chips a{min-height:40px}
  a.arrow,.cap a{display:inline-flex;align-items:center}
  sup a{display:inline-block;min-width:22px;padding:6px 2px;margin:-6px 0;text-align:center}
  .see a{align-items:center}
  .cls li a{padding:9px 0;margin:-9px 0}
  /* type floor */
  .mono,.tbl th,.infobox dt,.infobox .grp,.see a span,.cls h3 span,.libhead .stats span,.pass,.ribbon i,.ribbon span,.glance span,.meta span,.lotcard .mono,.fromlib dt,.storenote span,p.cap,.legal .pay span{font-size:11px}
  .card .lotflag{font-size:10.5px}
  .thumbs .t-coa{font-size:10px}
  .ribbon b{font-size:19px}
}

@media (max-width:760px){
  .tbl th,.pass,.drawer .trust,footer .pay span,.cls h3 span,.lotcard .mono,.fromlib dt,.meta .mono,.glance .mono,.ribbon i,.ribbon span,.cap.mono,.see a span,.infobox dt,.infobox .grp,.stock .mono,.modes button small,.orders th,.cmp th,.scale .bar span,.libhead .stats span,.libnav a.sh span,.entries th,.entries .soon,.filters label span,.mstep .who,.spec-limits th,.spec .cell .mono,.suggest a span,p.cap,.mono{font-size:11px!important}
  .card .lotflag{font-size:10.5px!important}
  .thumbs .t-coa{font-size:10px!important}
  a[href^="#r"]{display:inline-block;padding:8px 2px;margin:-8px 0}
  .confirm input[type=checkbox]{width:22px;height:22px;flex:none}
  .regbanner .btn,.regbanner button.link{min-height:40px}
  #seenclear,button.link{min-height:40px}
  .stepper button,.qty button{min-width:44px}
}
@media (max-width:760px){
  .card h3 a{display:block;padding:8px 0;margin:-8px 0}
  .gl-see a{display:inline-block;padding:9px 0;margin:-9px 0}
  .faq summary,section.faq summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px}
  input[type=checkbox]{min-width:20px;min-height:20px}
  sup a{font-size:11px}
}
@media (max-width:760px){
  .co-head .logo{padding:15px 16px 15px 0}
  .links a{display:inline-flex;align-items:center;min-height:40px}
}
@media (max-width:760px){
  /* lot register: one stacked row per lot instead of a sideways-scrolling table */
  .lottable{white-space:normal}
  .lottable thead{display:none}
  .lottable tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--rule)}
  .lottable td{border:0;padding:0}
  .lottable td:nth-child(1){font-size:15px}
  .lottable td:nth-child(2){grid-column:1;color:var(--ink-2);font-size:14px}
  .lottable td:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-weight:600}
  .lottable td:nth-child(4){display:none}
  .lottable td:nth-child(5){grid-column:1;color:var(--ink-3);font-size:13px}
  .lottable td:nth-child(6){grid-column:2;grid-row:2 / span 2;text-align:right;align-self:center}
  .lottable tr.sel{background:var(--bench);margin:0 -16px;padding:12px 16px}
  /* account: section links as a row of tabs */
  .acctnav{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--ink);margin-bottom:20px}
  .acctnav::-webkit-scrollbar{display:none}
  .acctnav a,.acctnav a:first-child{border:0;padding:12px 14px;white-space:nowrap;min-height:46px}
  .acctnav a:first-child{padding-left:0}
  .acctnav a[aria-current]{box-shadow:inset 0 -2px 0 var(--red);color:var(--ink)}
  /* library chips: one height */
  .libnav a{display:inline-flex;align-items:center;min-height:40px}
}

/* ---- v21: home shelf links, checkout reassurance, collapsible order summary on phones ---- */
.cls h3 a{color:inherit;text-decoration:none}
.cls h3 a:hover{color:var(--red)}
.cls li.more a{font-size:14px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
.assure{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--rule)}
.assure li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--rule)}
.assure svg{flex:none;margin-top:2px;color:var(--ink)}
.assure b{display:block;font-weight:600;font-size:14.5px;line-height:1.35}
.assure span{display:block;color:var(--ink-3);font-size:13px;line-height:1.45;margin-top:2px}
.sumt{all:unset;display:flex;align-items:center;gap:10px;font:inherit;color:inherit;letter-spacing:inherit;cursor:default}
.sumt b,.sumt i{display:none}
@media (max-width:760px){
  .summary .bar{align-items:center;padding:0 16px}
  .sumt{cursor:pointer;flex:1;min-height:48px}
  .sumt b{display:inline;margin-left:auto;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none}
  .sumt i{display:inline-block;width:8px;height:8px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-135deg);margin:4px 14px 0 2px;transition:transform .2s}
  .summary.closed .sumt i{transform:rotate(45deg);margin-top:-4px}
  .summary.closed #sumbody{display:none}
  .summary .bar a[data-open-basket]{padding:14px 0 14px 4px}
}
.howbuy{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);counter-reset:none}
.howbuy li{padding:20px 24px 4px 0;border-right:1px solid var(--rule);margin-right:24px}
.howbuy li:last-child{border-right:0;margin-right:0}
.howbuy .mono{color:var(--red);display:block;margin-bottom:10px}
.howbuy b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.howbuy p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
@media (max-width:900px){.howbuy{grid-template-columns:1fr 1fr}.howbuy li:nth-child(2){border-right:0;margin-right:0}.howbuy li:nth-child(n+3){border-top:1px solid var(--rule)}}
@media (max-width:760px){.howbuy{margin-top:36px}.howbuy li{padding:16px 14px 16px 0;margin-right:14px}.howbuy b{font-size:15.5px}.howbuy p{font-size:13.5px}}
/* store on phones: products first, reassurance strip after the grid */
@media (max-width:760px){
  body[data-page="storeidx"] .storewrap>div{display:flex;flex-direction:column}
  body[data-page="storeidx"] .storenote{order:3;margin:28px 0 0}
  body[data-page="storeidx"] .libhead .tag{margin-top:18px!important}
  body[data-page="storeidx"] .libhead p{font-size:15px;margin-bottom:0}
}
.assure li>div{display:block!important;flex:1;min-width:0;padding:0!important;border:0!important;grid-template-columns:none!important}
@media (max-width:760px){.co{gap:24px;padding-top:20px}}
