/* ccscales.com - Direction A, "The Instrument"
   A company that measures things, and a page built to that tolerance.
   Oswald for structure, JetBrains Mono for every number, Inter for prose.
   Red touches two things only: a price, and the thing you press. */

:root{
  --paper:#FFFFFF;
  --bone:#F8F6F4;
  --edge:#DDD8D2;   /* structural hairline */
  --hair:#EBE7E2;   /* lighter rule inside components */
  --ink:#12151A;
  --text:#22262B;
  --dim:#6E6A66;
  --red:#C1272D;
  --focus:#C1272D;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#14161A;--bone:#1A1D22;--edge:#30343A;--hair:#272B31;
    --ink:#F2F0ED;--text:#DCD9D4;--dim:#918B84;--red:#E8666B;--focus:#E8666B;
  }
}
:root[data-theme="dark"]{
  --paper:#14161A;--bone:#1A1D22;--edge:#30343A;--hair:#272B31;
  --ink:#F2F0ED;--text:#DCD9D4;--dim:#918B84;--red:#E8666B;--focus:#E8666B;
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--text);
  font:16.5px/1.6 Inter,-apple-system,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.kicker,.cat,.quote-h,.cards b{
  font-family:Oswald,"Arial Narrow",sans-serif;font-weight:500;color:var(--ink)}
a{color:var(--red)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
main{max-width:820px;margin:0 auto;padding:0 20px 80px}

/* --- masthead: red rule is the only weight up here --- */
.site-head{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;
  padding:14px 20px;border-bottom:2px solid var(--red)}
.brand{font-size:15px;letter-spacing:2.6px;text-decoration:none}
.mainnav{display:flex;flex-wrap:wrap;gap:6px 18px;flex:1}
.mainnav a{color:var(--text);text-decoration:none;font-size:14px}
.mainnav a:hover,.mainnav a[aria-current]{color:var(--red)}
.callus{margin-left:auto;text-decoration:none;color:var(--dim);
  font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px}
.since{width:100%;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

/* --- prose --- */
.prose h1,.cart h1{font-size:clamp(31px,5vw,45px);line-height:1.04;
  margin:30px 0 10px;text-wrap:balance}
.prose h2{font-size:25px;margin:32px 0 8px}
.prose h3{font-size:16px;text-transform:uppercase;letter-spacing:.06em;margin:26px 0 6px}
.prose p,.prose li{max-width:65ch}
.lede{font-size:18.5px;color:var(--dim);max-width:62ch}
.kicker{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--red);margin:30px 0 0}
table{border-collapse:collapse;width:100%;margin:16px 0}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--hair);font-size:15px}
th{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;
  font-size:11px;letter-spacing:.12em;color:var(--dim);border-bottom:1px solid var(--edge)}
td:not(:first-child){font-family:"JetBrains Mono",monospace;font-size:14px;
  font-variant-numeric:tabular-nums}

/* --- a build: one per running gear --- */
.build{border:1px solid var(--edge);padding:18px 20px;margin:24px 0}
.build-head{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;
  padding-bottom:12px;border-bottom:1px solid var(--hair)}
.build-head h2{margin:0;font-size:22px}
.cat{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim)}

.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:8px;margin:16px 0 0}
.price{border:1px solid var(--edge);padding:12px 14px;
  display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.plab{font-size:12.5px;color:var(--dim)}
.pval{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:22px;
  color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap}
.price.muted .pval{color:var(--text);font-size:19px;font-weight:500}
.freight{font-size:13.5px;color:var(--dim);margin:10px 0 0}

/* --- specs: a instrument reads as rows of measured values --- */
.specs{display:grid;grid-template-columns:max-content 1fr;gap:0 20px;
  margin:18px 0 0;font-size:14px;border-top:1px solid var(--hair)}
.specs dt{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim);padding:8px 0;border-bottom:1px solid var(--hair)}
.specs dd{margin:0;padding:8px 0;border-bottom:1px solid var(--hair);
  font-family:"JetBrains Mono",monospace;font-size:13.5px}

.evidence,.caution{font-size:13.5px;color:var(--dim);line-height:1.55;
  margin:14px 0 0;padding-left:12px;border-left:2px solid var(--edge)}
.evidence b,.caution b{color:var(--text);font-weight:600}
.caution{border-left-color:var(--red)}

/* --- the ask --- */
.band{margin:38px 0 0;border-top:1px solid var(--edge);padding-top:6px}
.quote{display:flex;flex-direction:column;gap:12px;max-width:520px}
.quote-kicker{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--red);margin:22px 0 0}
.quote-h{font-size:22px;margin:0}
.quote-known{font-size:13.5px;color:var(--dim);margin:0}
.known{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:12px;
  border:1px solid var(--edge);padding:2px 8px;margin:0 5px 5px 0}
.quote-row{display:flex;flex-direction:column;gap:4px}
.quote label{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim)}
.quote input,.quote textarea{font:inherit;padding:10px 12px;border:1px solid var(--edge);
  background:var(--paper);color:inherit;border-radius:0}
.quote button{font-family:Oswald,sans-serif;font-size:15px;letter-spacing:1.2px;
  text-transform:uppercase;background:var(--red);color:#fff;border:0;
  padding:14px 26px;cursor:pointer;align-self:flex-start}
.quote button:hover{background:var(--ink)}
.quote-foot{font-size:13px;color:var(--dim);margin:0}

.cards{list-style:none;padding:0;display:grid;gap:1px;background:var(--edge);
  border:1px solid var(--edge);grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cards a{display:flex;flex-direction:column;gap:3px;background:var(--paper);
  padding:14px 16px;text-decoration:none;color:var(--text)}
.cards a:hover{background:var(--bone)}
.cards b{font-size:17px}
.cards span{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--dim)}

/* --- footer carries the two lines that are the actual advantage --- */
.site-foot{border-top:1px solid var(--edge);margin-top:64px;padding:28px 20px;background:var(--bone)}
.foot-grid{max-width:820px;margin:0 auto;display:grid;gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));font-size:14px;color:var(--dim)}
.foot-grid b{color:var(--ink);font-family:Oswald,sans-serif;font-weight:500;
  letter-spacing:.5px}
.foot-grid a{color:var(--text);text-decoration:none}
.promise{max-width:820px;margin:0 auto 20px;padding-bottom:18px;
  border-bottom:1px solid var(--edge);font-size:15px;color:var(--text)}
.promise b{color:var(--ink);font-weight:600}

@media(max-width:620px){
  body{font-size:16px}
  .callus{margin-left:0}
  .specs{grid-template-columns:1fr;gap:0}
  .specs dt{border-bottom:0;padding-bottom:0}
  .price{flex-direction:column;align-items:flex-start;gap:2px}
}

/* ===== 2026-10-21: full-site layer - header, hubs, and everything the ported pages contain ===== */
main{max-width:1120px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--paper);padding:8px 12px;z-index:9}

/* header: logo row, then the nav as its own ruled row */
.site-head{display:block;padding:0;border-bottom:2px solid var(--red)}
.head-in{max-width:1120px;margin:0 auto;padding:14px 20px 10px;display:flex;flex-wrap:wrap;
  align-items:center;gap:8px 22px}
.brand img{display:block;height:auto;width:168px}
.since{width:auto;flex:1;min-width:200px}
.callus{margin-left:0;font-size:15px;color:var(--ink);font-weight:500}
.cta,.btn{font-family:Oswald,sans-serif;font-size:14px;letter-spacing:1.1px;text-transform:uppercase;
  background:var(--red);color:#fff;text-decoration:none;padding:10px 18px;display:inline-block}
.cta:hover,.btn:hover{background:var(--ink);color:var(--paper)}
.mainnav{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;gap:0;overflow-x:auto;
  border-top:1px solid var(--hair);scrollbar-width:none}
.mainnav a{font-family:Oswald,sans-serif;font-size:14.5px;letter-spacing:.6px;text-transform:uppercase;
  padding:11px 14px;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px}
.mainnav a:first-child{padding-left:0}
.mainnav a[aria-current]{border-bottom-color:var(--red)}

.crumbs{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dim);margin:22px 0 -14px;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--dim);text-decoration:none}.crumbs a:hover{color:var(--red)}

/* prose keeps a reading measure; media and grids may use the full width */
.prose>p,.prose>ul,.prose>ol,.prose>h2,.prose>h3,.prose>h4,.prose>details,.prose>blockquote{max-width:74ch}
.prose h4{font-family:Oswald,sans-serif;font-weight:500;font-size:19px;color:var(--ink);margin:30px 0 6px}
.prose img{max-width:100%;height:auto;display:block}
figure{margin:20px 0}
figure img{border:1px solid var(--hair)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:20px 0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--hair)}
.video{position:relative;aspect-ratio:16/9;max-width:860px;margin:20px 0;background:var(--bone);
  border:1px solid var(--edge)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
hr{border:0;border-top:1px solid var(--edge);margin:30px 0}
details{border-top:1px solid var(--hair);padding:12px 0}
details:last-of-type{border-bottom:1px solid var(--hair)}
summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;gap:10px}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";font-family:"JetBrains Mono",monospace;color:var(--red);width:1ch}
details[open] summary::before{content:"\2212"}
.prose p a.btn{margin:6px 0}
.table-wrap,.prose table{display:block;overflow-x:auto}

/* hub tiles: the six-application spine, and every section page */
.tiles{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:1px;background:var(--edge);
  border:1px solid var(--edge);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.tiles a{display:flex;flex-direction:column;height:100%;background:var(--paper);text-decoration:none;
  color:var(--text);padding:0 0 16px}
.tiles a:hover{background:var(--bone)}
.tiles img,.tiles .noimg{width:100%;aspect-ratio:10/7;object-fit:cover;display:block;background:var(--bone);
  border-bottom:1px solid var(--hair)}
.tiles b{font-family:Oswald,sans-serif;font-weight:500;font-size:19px;color:var(--ink);padding:14px 16px 4px}
.tiles a:hover b{color:var(--red)}
.tiles span{font-size:13.5px;color:var(--dim);padding:0 16px;line-height:1.5}

/* homepage */
.hero{padding:34px 0 8px;border-bottom:1px solid var(--edge)}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1;margin:6px 0 14px;max-width:16ch}
.hero .lede{font-size:19px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 26px}
.hero-actions .tel{font-family:"JetBrains Mono",monospace;font-size:20px;font-weight:700;color:var(--ink);text-decoration:none}
.proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--edge);
  border:1px solid var(--edge);margin:30px 0}
.proof div{background:var(--paper);padding:16px 18px}
.proof b{display:block;font-family:"JetBrains Mono",monospace;font-size:26px;color:var(--ink)}
.proof span{font-size:13.5px;color:var(--dim)}

/* footer */
.site-foot .foot-grid,.site-foot .promise,.site-foot .fine{max-width:1120px}
.foot-links{display:flex;flex-direction:column;gap:4px}
.foot-links a:hover,.foot-grid a:hover{color:var(--red)}
.num{font-family:"JetBrains Mono",monospace}
.dim{color:var(--dim)}
.fine{margin:22px auto 0;font-size:12.5px;color:var(--dim)}

@media(max-width:620px){
  .since{display:none}
  .head-in{gap:8px 14px}
  .brand img{width:140px}
  .cta{padding:9px 12px;font-size:13px}
  .tiles{grid-template-columns:1fr 1fr}
  .tiles b{font-size:16px;padding:10px 10px 2px}.tiles span{display:none}
}

/* ===== 2026-10-21 pass 2: the live site's strengths - full-bleed photography,
   dark utility bar, big uppercase Oswald - on top of the Instrument system ===== */
main{max-width:1180px}
.bleed{width:100vw;margin-left:calc(50% - 50vw)}
h1,h2,.tiles b,.mainnav a,.cta,.btn{text-transform:uppercase}
.prose h1,.cart h1{font-weight:600;letter-spacing:.5px}
.prose h2{font-size:28px;letter-spacing:.4px}

/* utility bar + header (header stays light in dark mode so the logo reads) */
.util{background:#121417;color:#C9C4BE;font-family:"JetBrains Mono",monospace;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase}
.util-in{max-width:1180px;margin:0 auto;padding:7px 20px;display:flex;justify-content:space-between;gap:16px}
.util a{color:#E8666B;text-decoration:none;margin-left:18px}.util a:hover{color:#fff}
.site-head{background:#fff;border-bottom:2px solid var(--red)}
.head-in{max-width:1180px;padding:12px 20px;flex-wrap:nowrap;gap:24px}
.brand img{width:150px}
.mainnav{border:0;margin:0 0 0 auto;padding:0;max-width:none}
.mainnav a{color:#22262B;font-size:14px;padding:10px 11px;border-bottom:3px solid transparent}
.mainnav a:first-child{padding-left:11px}
.mainnav a:hover{color:var(--red)}
.mainnav a[aria-current]{color:var(--red);border-bottom-color:var(--red)}
.since{display:none}

/* homepage hero: full-bleed photograph, dark wash, white type */
.hero.bleed{position:relative;border:0;padding:0;margin-bottom:0;
  background:#16181b var(--img) var(--pos,center)/cover no-repeat}
.hero.bleed::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,11,13,.86) 0%,rgba(10,11,13,.62) 48%,rgba(10,11,13,.15) 100%)}
.hero-in{position:relative;max-width:1180px;margin:0 auto;padding:84px 20px 76px}
.hero.bleed h1{color:#fff;font-size:clamp(36px,5.6vw,66px);line-height:.98;max-width:19ch;margin:10px 0 18px}
.hero.bleed .kicker{color:#F08A8E;margin:0}
.hero.bleed .lede{color:#E6E2DC;max-width:52ch}
.hero.bleed .tel{color:#fff;margin-left:6px}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.btn.ghost:hover{background:#fff;color:#121417}
.btn{padding:13px 22px;font-size:14.5px}

/* proof strip sits as a dark band under the hero */
.hero + p:empty{display:none}
.proof{margin:0 0 40px;border:0;background:transparent;gap:0;
  width:100vw;margin-left:calc(50% - 50vw);padding:0 max(20px,calc(50vw - 570px));
  background:#121417;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.proof div{background:transparent;padding:22px 18px;border-left:1px solid #2A2E34}
.proof div:first-child{border-left:0;padding-left:0}
.proof b{color:#fff;font-size:24px}
.proof span{color:#A9A39C}

/* section banners: every hub opens on its own photograph */
.banner{position:relative;background:#16181b var(--img) var(--pos,center)/cover no-repeat;margin-bottom:34px}
.banner::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,11,13,.85),rgba(10,11,13,.45) 70%,rgba(10,11,13,.2))}
.banner-in{position:relative;max-width:1180px;margin:0 auto;padding:46px 20px 52px}
.banner h1{color:#fff;font-size:clamp(34px,5.4vw,60px);line-height:1;margin:14px 0 12px;font-weight:600}
.banner .lede{color:#E6E2DC;max-width:60ch;margin:0}
.banner .crumbs{margin:0;color:#C9C4BE}.banner .crumbs a{color:#C9C4BE}

/* tiles: photograph, red rule on hover, uppercase label */
.tiles{gap:14px;background:transparent;border:0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.tiles a{border:1px solid var(--edge);border-bottom:3px solid var(--edge);transition:border-color .15s}
.tiles a:hover{border-bottom-color:var(--red);background:var(--paper)}
.tiles b{font-size:18px;letter-spacing:.4px}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mainnav a{color:#22262B}}
@media(max-width:900px){
  .head-in{flex-wrap:wrap}
  .mainnav{width:100%;margin:0;overflow-x:auto;order:3}
  .mainnav a:first-child{padding-left:0}
  .util-in>span:first-child{display:none}.util-in{justify-content:flex-end}
  .hero-in{padding:56px 20px 50px}
}
@media(max-width:620px){
  .tiles{gap:10px}
  .cta{margin-left:auto}
  .proof div{border-left:0;border-top:1px solid #2A2E34;padding-left:0}
}
/* nav fits one row beside the logo on wide screens, gets its own row below 1180 */
.mainnav{flex-wrap:nowrap}
.mainnav a{padding:10px 9px;font-size:13.5px;letter-spacing:.5px}
@media(max-width:1180px){
  .head-in{flex-wrap:wrap}
  .mainnav{width:100%;margin:0;order:3;overflow-x:auto;border-top:1px solid var(--hair)}
  .mainnav a:first-child{padding-left:0}
  .cta{margin-left:auto}
}
.prose>ul.tiles{max-width:none}

/* ===== pass 3: readable small type, video thumbnails ===== */
.util{font-size:12px;letter-spacing:.08em}
.util a{color:#F4A5A8}
.crumbs{font-size:12px}
.kicker,.quote-kicker{font-size:12px;letter-spacing:.16em}
.mainnav a{font-size:14.5px}
.prose h3{font-size:18px}
.prose h4{font-size:22px}
.cat,.specs dt,.quote label{font-size:12px}
.plab{font-size:13.5px}
a.video.yt{display:block;position:relative;max-width:860px;aspect-ratio:16/9;overflow:hidden;background:#000;border:1px solid var(--edge)}
a.video.yt img{width:100%;height:100%;object-fit:cover;opacity:.88}
a.video.yt:hover img{opacity:1}
.play{position:absolute;left:50%;top:50%;width:72px;height:50px;margin:-25px 0 0 -36px;background:var(--red);border-radius:10px}
.play::after{content:"";position:absolute;left:29px;top:15px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}

/* ===== product page template ===== */
.pbanner .banner-in{padding:56px 20px 50px}
.pbanner .kicker{color:#F4A5A8;margin:14px 0 0}
.from{color:#fff;font-size:17px;margin:18px 0 0}
.from b{font-family:"JetBrains Mono",monospace;font-size:24px;color:#fff;background:var(--red);padding:2px 10px;margin:0 4px}
.facts{background:#121417;margin-top:-34px;margin-bottom:34px}
.facts-in{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.facts-in div{padding:18px 18px 18px 0;border-left:1px solid #2A2E34;padding-left:18px}
.facts-in div:first-child{border-left:0;padding-left:0}
.facts span{display:block;font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#A9A39C}
.facts b{display:block;color:#fff;font-family:Oswald,sans-serif;font-weight:500;font-size:20px;margin-top:4px}
.product h2{margin-top:44px;padding-top:18px;border-top:1px solid var(--edge)}
.product>h2:first-child{border-top:0;padding-top:0;margin-top:10px}
.product ul:not(.tiles) li{margin:4px 0}
.ptable-wrap{overflow-x:auto;margin:16px 0 0;border:1px solid var(--edge)}
.ptable{margin:0;min-width:640px;display:table}
.ptable td,.ptable th{padding:12px 14px}
.ptable tbody tr:hover{background:var(--bone)}
.ptable td.pv{color:var(--red);font-weight:700;font-size:16px}
.note{font-size:14.5px;color:var(--dim);max-width:74ch}
.product .gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.band{max-width:1180px}
@media(max-width:620px){.facts-in div{border-left:0;padding-left:0;border-top:1px solid #2A2E34}.from b{font-size:20px}}
/* full-bleed sections use 100vw, which counts the scrollbar - clip the overflow */
html,body{overflow-x:clip}
.banner .tel{color:#fff;margin-left:6px}
@media(max-width:1180px){.head-in{flex-wrap:wrap}.mainnav{flex:0 0 100%;order:3}}

/* ===== parts store ===== */
.store{max-width:1180px}
.store-bar{position:sticky;top:0;z-index:5;background:var(--paper);padding:14px 0;border-bottom:1px solid var(--edge);margin-bottom:10px}
#store-q{width:100%;max-width:520px;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--edge);background:var(--paper);color:var(--text)}
#store-q:focus{outline:2px solid var(--red);outline-offset:-1px}
.store-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.store-cats a{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.4px;font-size:13px;
  padding:7px 12px;border:1px solid var(--edge);text-decoration:none;color:var(--text)}
.store-cats a:hover{border-color:var(--red);color:var(--red)}
.store-cats span{font-family:"JetBrains Mono",monospace;color:var(--dim);font-size:11px}
.store-sec{scroll-margin-top:130px}
.store-sec h2{margin-top:34px}
.tiles.parts{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.tiles.parts img{aspect-ratio:1;object-fit:contain;background:#fff;padding:10px}
.tiles.parts b{font-size:15.5px;text-transform:none;letter-spacing:0}
.tiles .mono{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--dim)}
.tiles .pv{font-family:"JetBrains Mono",monospace;color:var(--red);font-weight:700;font-size:16px;padding-top:6px;margin-top:auto}
.tiles .pv em{font-family:Inter,sans-serif;font-style:normal;font-weight:400;font-size:12px;color:var(--dim)}
.part{max-width:1180px}
.part-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:24px}
.part-main{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid var(--edge);padding:20px}
.part-thumbs{display:flex;gap:8px;margin-top:8px}.part-thumbs img{width:72px;height:72px;object-fit:contain;border:1px solid var(--edge);background:#fff}
.part h1{font-size:clamp(28px,4vw,42px);margin:6px 0 8px}
.part-sku{font-size:13px;color:var(--dim)}.part-sku span{font-family:"JetBrains Mono",monospace;color:var(--ink)}
.part-price{font-family:"JetBrains Mono",monospace;font-size:34px;font-weight:700;color:var(--red);margin:10px 0 6px}
.part-opts{width:100%;margin:6px 0 12px;display:table}.part-opts td{padding:8px 10px}
.part-stock{font-size:14px}.part-stock.in::before{content:"\25CF  ";color:#2E7D32}.part-stock.out::before{content:"\25CF  ";color:var(--dim)}
.fitcheck{border-left:3px solid var(--red);background:var(--bone);padding:12px 16px;font-size:14px;line-height:1.55;margin-top:6px}
.part-desc{margin-top:36px}
@media(max-width:760px){.part-grid{grid-template-columns:1fr;gap:18px}.store-bar{position:static}}

/* ===== homepage: Libra band + trust section ===== */
.libra-band{background:#121417;color:#E6E2DC;margin-top:48px}
.lb-in{max-width:1180px;margin:0 auto;padding:46px 20px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.libra-band h2{color:#fff;font-size:clamp(28px,4vw,40px);margin:8px 0 12px;border:0;padding:0}
.libra-band .kicker{color:#F4A5A8;margin:0}
.libra-band p{max-width:none}
.libra-band a.video.yt{max-width:none;border-color:#2A2E34}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:48px 0 8px}
.trust img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--edge)}
.trust h2{margin:6px 0 10px}
.trust .kicker{margin:0}
@media(max-width:760px){.lb-in,.trust{grid-template-columns:1fr;gap:20px}}

/* ===== standalone form pages ===== */
.quote.standalone{max-width:640px;margin-top:20px}
.quote select,.quote input[type=file]{width:100%;font:inherit;font-size:15px;padding:11px 12px;border:1px solid var(--edge);background:var(--paper);color:var(--text)}
.quote small{display:block;color:var(--dim);font-size:12.5px;margin-top:4px}
.checks{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:4px}
.ck{display:flex;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:15px;text-transform:none;letter-spacing:0;color:var(--text)}
.ck input{width:auto}
.quote-duo,.quote-trio{display:grid;gap:0 14px;grid-template-columns:1fr 1fr}
.quote-trio{grid-template-columns:2fr 1.4fr 1fr}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge);margin:18px 0 28px}
.contact-cards div{background:var(--paper);padding:16px}
.contact-cards span{display:block;font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.contact-cards a{color:var(--ink);font-weight:500}
@media(max-width:620px){.quote-duo,.quote-trio{grid-template-columns:1fr}}
.quote .ck{font-family:Inter,sans-serif;font-size:15px;text-transform:none;letter-spacing:0;color:var(--text)}

/* ======================================================================
   STYLE LAYER (10/21): readouts, ruler marks, graph paper, dark footer,
   motion. Everything here is decoration - remove this block and the
   site still works.
   ====================================================================== */
@font-face{font-family:"DSEG7";src:url("/fonts/DSEG7Classic-Bold.woff2") format("woff2");
  font-weight:700;font-display:swap}
:root{
  --led:#FF4436;
  --grid:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/24px 24px,
         linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/24px 24px;
  --ticks-light:linear-gradient(90deg,rgba(255,255,255,.75) 1px,transparent 1px) 0 100%/50px 12px repeat-x,
                linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px) 0 100%/10px 6px repeat-x;
  --ticks-dark:linear-gradient(90deg,var(--dim) 1px,transparent 1px) 0 0/50px 9px repeat-x,
               linear-gradient(90deg,var(--edge) 1px,transparent 1px) 0 0/10px 5px repeat-x;
}

/* 1. readouts: seven-segment digits, a faint 8.8.8.8 ghost behind like a real display */
.lcd{font-family:"DSEG7","JetBrains Mono",monospace;font-weight:700;font-style:normal;
  color:var(--led);text-shadow:0 0 10px rgba(255,68,54,.55);letter-spacing:.06em;
  position:relative;z-index:0;display:inline-block;white-space:nowrap}
.lcd::before{content:attr(data-ghost);position:absolute;inset:0;z-index:-1;text-align:right;
  color:rgba(255,68,54,.09);text-shadow:none}
.lcd.locked::after{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;margin-top:-3px;
  border-radius:50%;background:var(--led);box-shadow:0 0 8px var(--led)}
.proof b.lcd{font-family:"DSEG7","JetBrains Mono",monospace;font-size:30px;color:var(--led);display:inline-block;margin:2px 0 4px}
.proof div:first-child{padding-left:16px}
.proof div{position:relative}
.from{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.from-k{color:#E6E2DC;font-size:16px}
.readout{display:inline-flex;align-items:center;gap:6px;background:#0B0C0E;border:1px solid #2A2E34;
  padding:8px 14px 8px 26px;box-shadow:inset 0 0 18px rgba(0,0,0,.8)}
.readout i{font-style:normal;font-family:Oswald,sans-serif;color:var(--led);font-size:22px;opacity:.9}
.readout .lcd{font-size:28px}
.from b{background:none;padding:0;margin:0}

/* 2. graph paper behind every dark band; ruler ticks along photo edges and dividers */
.proof,.libra-band,.facts,.util{background:#121417;background-image:none}
.proof,.libra-band,.facts{background:var(--grid),#121417}
.product h2,.band{border-top:0;padding-top:22px;background:var(--ticks-dark),linear-gradient(var(--edge),var(--edge)) 0 0/100% 1px no-repeat}
.product>h2:first-child{background:none;padding-top:0}
hr{border:0;height:9px;background:var(--ticks-dark),linear-gradient(var(--edge),var(--edge)) 0 0/100% 1px no-repeat}

/* banner + hero: the photo drifts slowly behind the wash; a ruler runs along the bottom */
.hero.bleed,.banner{background:#16181b;isolation:isolate;overflow:hidden}
.hero.bleed::after,.banner::after{content:"";position:absolute;inset:0;z-index:-2;
  background:var(--img) var(--pos,center)/cover no-repeat;transform-origin:60% 40%;
  animation:ccs-drift 28s ease-in-out infinite alternate}
.hero.bleed::before,.banner::before{z-index:-1}
.hero.bleed::before{background:var(--ticks-light),
  linear-gradient(90deg,rgba(10,11,13,.86) 0%,rgba(10,11,13,.62) 48%,rgba(10,11,13,.15) 100%)}
.banner::before{background:var(--ticks-light),
  linear-gradient(90deg,rgba(10,11,13,.85),rgba(10,11,13,.45) 70%,rgba(10,11,13,.2))}
@keyframes ccs-drift{from{transform:scale(1.02)}to{transform:scale(1.09) translate(-1.2%,-.8%)}}

/* 3. dark footer bookends the dark top bar */
.site-foot{background:var(--grid),#0E1012;color:#A9A39C;border-top:3px solid var(--red);margin-top:72px;padding:40px 20px 26px}
.foot-in{max-width:1180px;margin:0 auto}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px;padding-bottom:24px;margin-bottom:24px;
  border-bottom:1px solid #2A2E34}
.foot-logo{width:170px;height:auto;display:block}
.site-foot .promise{flex:1;min-width:260px;margin:0;padding:0;border:0;font-size:18px;color:#D6D1CA;max-width:none}
.site-foot .promise b{color:#fff}
.site-foot .foot-grid{max-width:none;color:#A9A39C}
.site-foot .foot-grid b{color:#fff}
.site-foot .foot-grid a{color:#E6E2DC}
.site-foot .foot-grid a:hover{color:#F4A5A8}
.site-foot .num.big{font-size:20px;color:#fff}
.site-foot .dim{color:#7E7973}
.site-foot .fine{max-width:none;color:#7E7973;margin-top:26px;padding-top:16px;border-top:1px solid #2A2E34}

/* 4. motion: tiles lift and their photos ease in; buttons press */
.tiles a{overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.tiles a:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(0,0,0,.45)}
.tiles img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tiles a:hover img{transform:scale(1.05)}
.tiles.parts a:hover img{transform:scale(1.03)}
.btn,.cta,.quote button{transition:background .15s,color .15s,transform .08s}
.btn:active,.cta:active,.quote button:active{transform:translateY(1px)}
a.video.yt .play{transition:transform .2s}
a.video.yt:hover .play{transform:scale(1.08)}

@media (prefers-reduced-motion:reduce){
  .hero.bleed::after,.banner::after{animation:none}
  .tiles a,.tiles img,.btn,.cta{transition:none}
  .tiles a:hover,.tiles a:hover img{transform:none}
}
@media(max-width:620px){.proof b.lcd{font-size:26px}.readout .lcd{font-size:24px}.site-foot .promise{font-size:16px}}
.proof span{display:block}
.readout b.lcd{font-family:"DSEG7","JetBrains Mono",monospace;color:var(--led);font-size:28px}
.readout .lcd.locked::after{display:none}

/* ======================================================================
   PHONE LAYOUT + SEARCH (10/21 pass 8)
   ====================================================================== */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;
  border:1px solid var(--edge);background:#fff;color:#22262B;cursor:pointer;flex:0 0 auto;padding:0}
.icon-btn:hover{border-color:var(--red);color:var(--red)}
.menu-btn{display:none}
.menu-btn svg path{stroke:currentColor;stroke-width:2.2;transition:transform .2s,opacity .2s;transform-origin:center}
.menu-extra{display:none}
.callbar{display:none}

/* 1180 down to 900: nav on its own row under the logo (set earlier) */
@media(max-width:900px){
  .util{display:none}
  .head-in{flex-wrap:nowrap;gap:10px;padding:10px 16px}
  .brand img{width:124px}
  .head-in .cta{display:none}
  .head-in .icon-btn[data-open-search]{margin-left:auto}
  .menu-btn{display:inline-flex}
  .mainnav{display:none}
  .site-head{position:sticky;top:0;z-index:40}
  /* the open menu: full screen, big tap targets, phone and quote at the bottom */
  .menu-open .mainnav{display:flex;flex-direction:column;position:fixed;left:0;right:0;top:var(--hh,71px);bottom:0;z-index:39;
    background:var(--grid),#0E1012;padding:10px 20px 24px;overflow-y:auto;margin:0;border:0;width:auto;order:0}
  .menu-open .mainnav>a{color:#fff;font-size:22px;padding:15px 0;border-bottom:1px solid #2A2E34;margin:0}
  .menu-open .mainnav>a[aria-current]{color:#F4A5A8;border-bottom-color:#2A2E34}
  .menu-open .menu-extra{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:24px}
  .menu-extra .btn{text-align:center;padding:15px}
  .menu-tel{font-family:"JetBrains Mono",monospace;font-size:22px;color:#fff;text-decoration:none;text-align:center;
    border:1px solid #3A3F46;padding:13px}
  .menu-extra span{color:#8C867F;text-align:center;font-size:13px}
  .menu-open body{overflow:hidden}
  .menu-open .menu-btn .m1{transform:translateY(6px) rotate(45deg)}
  .menu-open .menu-btn .m2{opacity:0}
  .menu-open .menu-btn .m3{transform:translateY(-6px) rotate(-45deg)}
}
/* phones: a thumb-reach bar for the two things people come to do */
@media(max-width:760px){
  .callbar{display:grid;grid-template-columns:1.35fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;
    background:#0E1012;border-top:2px solid var(--red);padding-bottom:env(safe-area-inset-bottom)}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 8px;color:#fff;
    text-decoration:none;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.6px;font-size:15px}
  .callbar a+a{background:var(--red)}
  body{padding-bottom:58px}
  .menu-open .callbar,.search-open .callbar{display:none}
  .hero-in{padding:44px 16px 40px}
  .hero.bleed h1{font-size:36px}
  .banner-in,.pbanner .banner-in{padding:30px 16px 34px}
  .banner h1{font-size:32px}
  main{padding:0 16px 60px}
  .proof{padding:0 16px}
  .proof div,.proof div:first-child{padding:14px 0 14px 16px}
  .hero-actions{gap:10px}
  .hero-actions .btn{flex:1 1 auto;text-align:center}
  .hero-actions .tel{width:100%}
  .lb-in{padding:34px 16px}
  .site-foot{padding:32px 16px 24px}
  .foot-grid{grid-template-columns:1fr}
  .ptable{min-width:560px}
  .store-cats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .store-cats a{white-space:nowrap}
}

/* search overlay */
.search-ov{position:fixed;inset:0;z-index:60;background:rgba(10,11,13,.72);backdrop-filter:blur(3px);
  display:flex;justify-content:center;align-items:flex-start;padding:9vh 16px 16px}
.search-ov[hidden]{display:none}
.sr-box{width:100%;max-width:680px;background:var(--paper);border-top:3px solid var(--red);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);max-height:80vh;display:flex;flex-direction:column}
.sr-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--edge);color:var(--dim)}
.sr-bar input{flex:1;font:inherit;font-size:18px;border:0;outline:0;background:transparent;color:var(--ink);min-width:0}
.sr-close{font-family:"JetBrains Mono",monospace;font-size:11px;border:1px solid var(--edge);background:var(--bone);
  color:var(--dim);padding:4px 8px;cursor:pointer}
.sr-hint{margin:0;padding:12px 16px;color:var(--dim);font-size:14px}
.sr-hint:empty{display:none}
.sr-list{list-style:none;margin:0;padding:0 0 6px;overflow-y:auto}
.sr-list a{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;align-items:baseline;padding:11px 16px;
  text-decoration:none;color:var(--text);border-left:3px solid transparent}
.sr-list a:hover,.sr-list a.on{background:var(--bone);border-left-color:var(--red)}
.sr-type{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);
  min-width:78px}
.sr-list b{font-weight:600;color:var(--ink)}
.sr-price{font-family:"JetBrains Mono",monospace;color:var(--red);font-weight:700;font-size:14px}
.sr-list small{grid-column:2/4;color:var(--dim);font-size:13px;line-height:1.4}
.search-open body{overflow:hidden}
@media(max-width:620px){.search-ov{padding:0}.sr-box{max-height:100vh;height:100%;max-width:none}
  .sr-list a{grid-template-columns:1fr auto}.sr-type{grid-column:1/3;min-width:0}.sr-list small{grid-column:1/3}}
.mainnav .menu-extra a.btn{color:#fff;font-size:16px;letter-spacing:1px;border:0;margin:0}
.mainnav .menu-extra a.menu-tel{color:#fff;font-size:22px;font-family:"JetBrains Mono",monospace;text-transform:none;border:1px solid #3A3F46;margin:0}

/* 404 + site map */
.nf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:24px 0}
.nf-grid a{display:flex;flex-direction:column;gap:4px;border:1px solid var(--edge);border-bottom:3px solid var(--edge);
  padding:16px;text-decoration:none;color:var(--text)}
.nf-grid a:hover{border-bottom-color:var(--red)}
.nf-grid b{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;color:var(--ink);font-size:18px}
.nf-grid span{font-size:14px;color:var(--dim)}
.sm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 32px;margin-top:20px}
.sm-grid h2{font-size:18px;margin:22px 0 6px;padding:0;background:none}
.sm-grid h2 a{color:var(--ink);text-decoration:none}
.sm-grid ul{list-style:none;padding:0;margin:0}
.sm-grid li{padding:4px 0;border-bottom:1px solid var(--hair);font-size:14.5px}
.sm-grid li a{color:var(--text);text-decoration:none}.sm-grid li a:hover{color:var(--red)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* ===== kit builder ===== */
.kb{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start;margin-top:8px}
.kb-step{border:1px solid var(--edge);border-left:3px solid var(--edge);padding:16px 20px;margin-bottom:12px;background:var(--paper)}
.kb-step.open{border-left-color:var(--red)}
.kb-step.later{opacity:.5}
.kb-step.later .kb-h h2{color:var(--dim)}
.kb-h{display:flex;align-items:center;gap:12px}
.kb-h h2{margin:0;font-size:20px;flex:1;background:none;padding:0;border:0}
.kb-n{font-family:"JetBrains Mono",monospace;font-size:12px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--edge);color:var(--dim)}
.kb-step.open .kb-n{background:var(--red);color:#fff;border-color:var(--red)}
.kb-step.done .kb-n{background:var(--ink);color:#fff;border-color:var(--ink)}
.kb-change{font:inherit;font-size:13px;background:none;border:0;color:var(--red);text-decoration:underline;cursor:pointer}
.kb-sel{margin:8px 0 0 38px;font-weight:500;color:var(--ink)}
.kb-help{color:var(--dim);font-size:14.5px;margin:10px 0}
.kb-dim{color:var(--dim);font-size:13.5px}
.kb-search input{width:100%;font:inherit;font-size:17px;padding:13px 14px;border:1px solid var(--edge);background:var(--paper);color:var(--ink)}
.kb-search input:focus{outline:2px solid var(--red);outline-offset:-1px}
.kb-res{list-style:none;padding:0;margin:8px 0}
.kb-res button{width:100%;display:flex;gap:8px;align-items:baseline;text-align:left;font:inherit;background:var(--paper);border:0;border-bottom:1px solid var(--hair);
  padding:11px 6px;cursor:pointer;color:var(--text)}
.kb-res button:hover{background:var(--bone)}
.kb-res button span{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--dim)}
.kb-none{color:var(--dim);font-size:14px;padding:8px 0}
.kb-link{font:inherit;font-size:14px;background:none;border:0;color:var(--red);text-decoration:underline;cursor:pointer;padding:6px 0}
.kb-other{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:8px}
.kb-other label{flex:1;min-width:220px;font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.kb-other input{display:block;width:100%;margin-top:4px;font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--edge);text-transform:none;letter-spacing:0}
.kb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:12px 0}
.kb-cards.two{grid-template-columns:1fr 1fr}
.kb-card{display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;font-size:14px;color:var(--text);background:var(--paper);
  border:1px solid var(--edge);border-bottom:3px solid var(--edge);padding:14px;cursor:pointer;transition:border-color .15s,background .15s}
.kb-card:hover{border-bottom-color:var(--red)}
.kb-card.on{border-color:var(--red);background:#FDF4F4}
.kb-card b{font-family:Oswald,sans-serif;font-weight:500;font-size:17px;text-transform:uppercase;color:var(--ink)}
.kb-card span{color:var(--dim);line-height:1.45}
.kb-card .kb-from{margin-top:auto;padding-top:6px;font-family:"JetBrains Mono",monospace;font-weight:700;font-size:15px;color:var(--red)}
.kb-check input{position:absolute;opacity:0}
.kb-check{position:relative}
.kb-check.on b::before{content:"\2713  ";color:var(--red)}
.kb-sub{border-top:1px dashed var(--edge);margin-top:6px;padding-top:6px}
.kb-warn{border-left:3px solid #D9A400;background:#FFF8E6;padding:10px 14px;font-size:14px;margin:10px 0}
.kb-auto{font-size:14px;margin:6px 0;color:var(--text)}
.kb-form{max-width:none;margin-top:8px}
.kb-sum{position:sticky;top:16px;background:var(--grid),#121417;color:#C9C4BE;padding:20px;border-top:3px solid var(--red)}
.kb-sum .kicker{color:#F4A5A8;margin:0 0 6px}
.kb-what{color:#fff;font-family:Oswald,sans-serif;font-size:22px;text-transform:uppercase;margin:0 0 10px}
.kb-lines{list-style:none;padding:0;margin:0 0 14px;font-size:13.5px}
.kb-lines li{display:flex;gap:10px;justify-content:space-between;padding:7px 0;border-bottom:1px solid #2A2E34}
.kb-lines b{font-family:"JetBrains Mono",monospace;color:#fff;white-space:nowrap}
.kb-total{width:100%;justify-content:flex-end;padding:12px 16px}
.kb-total .lcd{font-size:34px}
.kb-sum .kb-warn{background:#2A2410;color:#F3D98A;border-left-color:#D9A400}
.kb-sum .kb-dim{color:#8C867F}
.kb-sum .kb-dim a{color:#fff}
.kb-note{font-size:12.5px;color:#A9A39C;line-height:1.5}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
@media(max-width:900px){.kb{grid-template-columns:1fr}.kb-sum{position:static;order:2}}
@media(max-width:620px){.kb-cards.two{grid-template-columns:1fr}.kb-step{padding:14px}.kb-sel{margin-left:0}}

/* Agrimatics help articles: credit line */
.source-note{font-size:14px;line-height:1.5;color:var(--dim);background:var(--bone);border-left:3px solid var(--red);padding:10px 14px;margin:0 0 24px}
.source-note a{color:inherit;text-decoration:underline}

/* Libra University: send an article to a customer */
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 24px}
.share-label{font-family:Oswald,sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin-right:4px}
.share-btn{font-family:Oswald,sans-serif;font-size:14px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;
  color:var(--ink);background:var(--paper);border:1px solid var(--edge);padding:9px 16px;min-height:44px;display:inline-flex;align-items:center;cursor:pointer}
.share-btn:hover,.share-btn:focus-visible{border-color:var(--red);color:var(--red)}
.share-btn.done{border-color:var(--red);color:var(--red)}

/* News and updates sign-up band */
.signup{background:var(--bone);border-top:1px solid var(--edge);margin-top:48px}
.signup-in{max-width:1180px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.signup-kicker{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin:0 0 8px}
.signup-h{font-size:clamp(24px,3.2vw,34px);margin:0 0 10px;line-height:1.05}
.signup-p{color:var(--dim);margin:0;max-width:52ch}
.signup-fields{display:flex;flex-direction:column;gap:12px}
.signup input[type=text],.signup input[type=email],.signup input:not([type]){font:inherit;padding:10px 12px;border:1px solid var(--edge);background:var(--paper);color:var(--text)}
.signup-runs{border:1px solid var(--edge);padding:10px 12px;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;background:var(--paper)}
.signup-runs legend{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:0 4px}
.signup-runs label{display:inline-flex;align-items:center;gap:6px;font-size:15px;min-height:32px;cursor:pointer}
.signup button{font-family:Oswald,sans-serif;font-size:15px;letter-spacing:1.2px;text-transform:uppercase;background:var(--red);color:#fff;border:0;padding:14px 22px;cursor:pointer;align-self:flex-start;min-height:48px}
.signup button:hover{background:var(--ink)}
@media (max-width:760px){.signup-in{grid-template-columns:1fr;gap:18px;padding:32px 16px}}

/* Libra University: lessons, help box, symptom picker */
.signup{scroll-margin-top:90px}
.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0 8px}
.lesson-count{grid-column:1/-1;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0}
.lesson-nav a{display:block;border:1px solid var(--edge);padding:12px 14px;text-decoration:none;color:var(--ink);font-weight:600;line-height:1.3}
.lesson-nav a span{display:block;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:400;margin-bottom:4px}
.lesson-nav a:hover{border-color:var(--red)}
.lesson-next{text-align:right;grid-column:2}
.help-box{border:1px solid var(--edge);border-top:3px solid var(--red);background:var(--bone);padding:16px 18px;margin:28px 0}
.help-box-h{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;font-size:18px;margin:0 0 8px;color:var(--ink)}
.help-box ul{margin:0 0 10px;padding-left:20px}.help-box p{margin:0}
.start-row{display:flex;flex-wrap:wrap;gap:8px}
.symptoms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:8px 0 24px}
.symptom{border:1px solid var(--edge);padding:14px 16px;background:var(--paper)}
.symptom-h{font-weight:700;color:var(--ink);margin:0 0 8px}
.symptom-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:15px}
@media (max-width:560px){.lesson-nav{grid-template-columns:1fr}.lesson-next{grid-column:1;text-align:left}}

/* --- website assistant --- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ask-btn{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:8px;
  min-height:48px;padding:0 18px;border:0;border-radius:24px;background:var(--red);color:#fff;cursor:pointer;
  font:500 15px/1 Oswald,"Arial Narrow",sans-serif;letter-spacing:.6px;text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,.22)}
.ask-btn:hover{filter:brightness(1.07)}
.ask-open .ask-btn{display:none}
.ask-panel{position:fixed;right:18px;bottom:18px;z-index:41;width:min(400px,calc(100vw - 36px));
  height:min(620px,calc(100vh - 36px));display:flex;flex-direction:column;background:var(--paper);
  color:var(--text);border:1px solid var(--edge);border-top:3px solid var(--red);border-radius:10px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);overflow:hidden}
.ask-panel[hidden]{display:none}
.ask-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;
  border-bottom:1px solid var(--hair);background:var(--bone)}
.ask-head b{display:block;font:500 16px/1.2 Oswald,sans-serif;color:var(--ink);letter-spacing:.4px}
.ask-head small{color:var(--dim);font-size:12.5px}
.ask-x{border:0;background:none;color:var(--dim);font-size:28px;line-height:1;cursor:pointer;min-width:44px;min-height:44px;margin:-10px -10px 0 0}
.ask-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.ask-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.ask-msg p{margin:0 0 6px}.ask-msg p:last-child{margin:0}
.ask-msg ul,.ask-msg ol{margin:4px 0 6px;padding-left:20px}
.ask-msg.bot{align-self:flex-start;background:var(--bone);border:1px solid var(--hair)}
.ask-msg.me{align-self:flex-end;background:var(--ink);color:var(--paper);white-space:pre-wrap}
.ask-msg.typing{display:flex;gap:4px;padding:13px 14px}
.ask-msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--dim);animation:askdot 1.2s infinite}
.ask-msg.typing i:nth-child(2){animation-delay:.2s}.ask-msg.typing i:nth-child(3){animation-delay:.4s}
@keyframes askdot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ask-msg.typing i{animation:none;opacity:.6}}
.ask-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.ask-chips:empty{display:none}
.ask-chip{border:1px solid var(--edge);background:var(--paper);color:var(--text);border-radius:16px;
  padding:7px 12px;font:14px/1.2 Inter,system-ui,sans-serif;cursor:pointer;min-height:36px}
.ask-chip:hover{border-color:var(--red);color:var(--red)}
.ask-form{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--hair)}
.ask-form textarea{flex:1;resize:none;border:1px solid var(--edge);border-radius:8px;padding:10px 12px;
  font:16px/1.4 Inter,system-ui,sans-serif;background:var(--paper);color:var(--text);max-height:120px}
.ask-form button{border:0;border-radius:8px;background:var(--red);color:#fff;padding:0 16px;min-height:44px;
  font:500 14px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.6px;cursor:pointer}
.ask-foot{margin:0;padding:0 14px 10px;font-size:12px;color:var(--dim)}
@media(max-width:760px){
  .ask-btn{bottom:calc(70px + env(safe-area-inset-bottom));right:14px;min-height:44px;padding:0 14px}
  .ask-panel{inset:0;width:auto;height:auto;border-radius:0;border:0;border-top:3px solid var(--red)}
  .ask-open .callbar{display:none}
  .ask-open body,.ask-open{overflow:hidden}
  .menu-open .ask-btn,.search-open .ask-btn{display:none}
}
@media print{.ask-btn,.ask-panel{display:none}}

/* --- grain cart kits landing page (templates/kits.html) --- */
.kp-hero .banner-in{padding-bottom:40px}
.kp-hero h1{max-width:16ch}
.kp-find{margin-top:24px;max-width:640px}
.kp-find label{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;color:#fff;font-size:15px;margin-bottom:8px}
.kp-find-row{display:flex;gap:0;background:#fff;border:2px solid #fff}
.kp-find-row input{flex:1;min-width:0;border:0;padding:14px 16px;font:17px/1.2 Inter,system-ui,sans-serif;color:#12151A;background:#fff}
.kp-find-row input:focus{outline:none}
.kp-find-row:focus-within{border-color:var(--red)}
.kp-find-row .btn{border:0;cursor:pointer;white-space:nowrap}
.kp-find-note{color:#C9C4BE;font-size:14px;margin:10px 0 0}
.kp-find-note b{color:#fff}.kp-find-note a{color:#fff}
.kp{max-width:1120px;margin:0 auto}
.kp h2{font-size:clamp(26px,3.4vw,36px);line-height:1.05;margin:4px 0 10px}
.kp .kicker{margin:0}
.kp-sec{padding:44px 0;border-top:1px solid var(--edge)}
.kp-sub{color:var(--dim);max-width:70ch;margin:0 0 20px}
.kp-steps{list-style:none;counter-reset:s;margin:34px 0 10px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kp-steps li{counter-increment:s;position:relative;padding:18px 18px 18px 62px;background:var(--bone);border:1px solid var(--hair)}
.kp-steps li::before{content:counter(s);position:absolute;left:18px;top:16px;width:30px;height:30px;display:grid;place-items:center;
  background:var(--red);color:#fff;font:600 16px Oswald,sans-serif}
.kp-steps b{display:block;font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--ink);font-size:17px;margin-bottom:4px}
.kp-steps span{font-size:14.5px;color:var(--dim);line-height:1.5}
.kp-price-wrap{overflow-x:auto}
.kp-price{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.kp-price th,.kp-price td{padding:14px 16px;border-bottom:1px solid var(--edge);text-align:right;vertical-align:middle}
.kp-price thead th{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:500;border-bottom:2px solid var(--ink)}
.kp-price th[scope=row],.kp-price thead th:first-child{text-align:left}
.kp-price th[scope=row] b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:17px;color:var(--ink);text-transform:uppercase;letter-spacing:.3px}
.kp-price th[scope=row] span{font-size:13.5px;color:var(--dim);font-weight:400}
.kp-price td{font-family:"JetBrains Mono",monospace;font-size:18px;color:var(--ink);white-space:nowrap}
.kp-price td.kp-hi{color:var(--red);font-weight:600}
.kp-price tbody tr:hover{background:var(--bone)}
.kp-fine{font-size:13.5px;color:var(--dim);margin:12px 0 0}
.kp-ind{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kp-ind article{display:flex;flex-direction:column;border:1px solid var(--edge);background:var(--paper)}
.kp-ind article.kp-feat{border:2px solid var(--red)}
.kp-ind img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff;padding:14px;border-bottom:1px solid var(--hair)}
.kp-ind article>div{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.kp-ind .kp-noimg{background:var(--bone);justify-content:center}
.kp-ind h3{font-size:20px;margin:0 0 6px;text-transform:uppercase}
.kp-ind p{margin:0 0 10px;font-size:15px;line-height:1.55}
.kp-ind .kp-from{margin-top:auto;margin-bottom:0;font-size:14px;color:var(--dim)}
.kp-ind .kp-from b{font-family:"JetBrains Mono",monospace;color:var(--ink);font-size:17px}
.kp-tag{display:inline-block;align-self:flex-start;background:var(--red);color:#fff;font:500 11px/1 "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;margin-bottom:10px!important}
.kp-split,.kp-why{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.kp-split img{width:100%;display:block;border:1px solid var(--edge)}
.kp-list{list-style:none;padding:0;margin:14px 0}
.kp-list li{position:relative;padding:0 0 12px 22px;font-size:15.5px;line-height:1.55}
.kp-list li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:3px;background:var(--red)}
.kp-list b{color:var(--ink)}
.kp-add{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge)}
.kp-add li{background:var(--paper);padding:16px 18px}
.kp-add b{display:block;font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--ink);font-size:16px;margin-bottom:4px}
.kp-add span{font-size:14px;color:var(--dim);line-height:1.5}
.kp-why .video{margin:0}
.kp-makes{columns:3 260px;column-gap:14px}
.kp-makes details{break-inside:avoid;border:1px solid var(--edge);margin:0 0 10px;background:var(--paper)}
.kp-makes summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:11px 14px;min-height:44px}
.kp-makes summary::-webkit-details-marker{display:none}
.kp-makes summary b{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--ink);font-size:16px}
.kp-makes summary span{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--dim)}
.kp-makes summary::after{content:"+";font:400 20px/1 Inter,sans-serif;color:var(--dim);margin-left:10px}
.kp-makes details[open] summary::after{content:"\2013"}
.kp-makes details[open] summary{border-bottom:1px solid var(--hair)}
.kp-makes p{margin:0;padding:10px 12px 12px;display:flex;flex-wrap:wrap;gap:6px}
.kp-makes p a{font-family:"JetBrains Mono",monospace;font-size:13px;text-decoration:none;color:var(--text);border:1px solid var(--edge);padding:5px 9px;min-height:32px;display:inline-flex;align-items:center}
.kp-makes p a:hover{border-color:var(--red);color:var(--red)}
.kp-faq details{border-bottom:1px solid var(--edge);max-width:820px}
.kp-faq summary{cursor:pointer;padding:16px 30px 16px 0;font-weight:600;color:var(--ink);font-size:16.5px;position:relative;list-style:none}
.kp-faq summary::-webkit-details-marker{display:none}
.kp-faq summary::after{content:"+";position:absolute;right:4px;top:13px;font:400 22px/1 Inter,sans-serif;color:var(--red)}
.kp-faq details[open] summary::after{content:"\2013"}
.kp-faq details p{margin:0 0 16px;color:var(--text);max-width:70ch}
@media(max-width:900px){
  .kp-steps,.kp-ind{grid-template-columns:1fr}
  .kp-split,.kp-why{grid-template-columns:1fr;gap:20px}
}
@media(max-width:600px){
  .kp-find-row{flex-direction:column;border:0;background:transparent;gap:8px}
  .kp-find-row input{border:2px solid #fff}
  .kp-find-row .btn{padding:14px}
  .kp-price{min-width:0}
  .kp-price thead{display:none}
  .kp-price,.kp-price tbody,.kp-price tr{display:block}
  .kp-price tr{border:1px solid var(--edge);margin-bottom:10px;padding:4px 0}
  .kp-price th[scope=row]{display:block;border-bottom:1px solid var(--hair)}
  .kp-price td{display:flex;justify-content:space-between;border-bottom:0;padding:8px 16px;font-size:16px}
  .kp-price td::before{content:attr(data-l);font-family:Inter,sans-serif;font-size:14px;color:var(--dim);font-weight:400}
  .kp-sec{padding:34px 0}
}
.kp-makes summary::before,.kp-faq summary::before{display:none}
.kp-makes summary span{margin-left:auto}

/* --- scale passport (templates/passport.html) --- */
.pp-head{background:#121417;color:#fff;border-bottom:3px solid var(--red);
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px}
.pp-head-in{max-width:1120px;margin:0 auto;padding:40px 20px 34px}
.pp-head .kicker{color:#F08A8E;margin:0}
.pp-head h1{color:#fff;font-size:clamp(34px,6vw,58px);line-height:1;margin:10px 0 6px}
.pp-sub{color:#D7D2CC;font-size:17px;margin:0}
.pp-tag{display:inline-block;margin:16px 0 0;font-family:"JetBrains Mono",monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#A9A39C;border:1px solid #3A3F46;padding:6px 10px}
.pp-tag b{color:#fff;letter-spacing:.2em}
.pp-demo{display:inline-block;margin:10px 0 0;background:#F2C14E;color:#121417;font-size:13px;font-weight:600;padding:4px 8px}
.pp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pp-actions .btn{cursor:pointer;border:0}
.pp-actions .btn.ghost{border:1px solid rgba(255,255,255,.55)}
.pp{max-width:1120px;margin:0 auto;padding:0 0 20px}
.pp h2{font-size:24px;margin:0 0 14px}
.pp-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:30px}
.pp-card{border:1px solid var(--edge);padding:20px 22px;background:var(--paper)}
.pp-dl{display:grid;grid-template-columns:max-content 1fr;gap:0;margin:0}
.pp-dl dt,.pp-dl dd{padding:9px 0;border-bottom:1px solid var(--hair);margin:0}
.pp-dl dt{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-right:22px;padding-top:12px}
.pp-dl dd{color:var(--ink);font-size:16px}
.pp-dl dd.mono{font-family:"JetBrains Mono",monospace}
.pp-note{margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--red);background:var(--bone);font-size:15px}
.pp-cert{border-top:3px solid var(--red);background:var(--bone)}
.pp-big{font-family:"JetBrains Mono",monospace;font-size:24px;color:var(--ink);margin:0 0 8px}
.pp-small{font-size:14px;color:var(--dim)}
.pp-sec{margin-top:34px;padding-top:30px;border-top:1px solid var(--edge)}
.pp-guides{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pp-guides a{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border:1px solid var(--edge);border-bottom:3px solid var(--edge);text-decoration:none;color:var(--text);min-height:44px}
.pp-guides a:hover{border-bottom-color:var(--red)}
.pp-guides b{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--ink);font-size:16px}
.pp-guides span{font-size:14px;color:var(--dim)}
.pp-order{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:start}
.pp-order form.quote{margin:0}
.pp-link{color:var(--red)}
.pp-foot{margin:34px 0 0;font-size:13px;color:var(--dim)}
@media(max-width:820px){.pp-grid,.pp-order{grid-template-columns:1fr}}
@media print{.pp-actions,.pp-order,.ask-btn{display:none}.pp-head{background:#fff;color:#000}.pp-head h1{color:#000}}
.pp-lookup{max-width:560px;margin:22px 0 26px}
.pp-lookup label{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;color:var(--ink);margin-bottom:8px}
.pp-lookup .kp-find-row{border:2px solid var(--ink);background:var(--paper)}
.pp-lookup .kp-find-row input{font-family:"JetBrains Mono",monospace;letter-spacing:.2em;text-transform:uppercase;background:var(--paper);color:var(--ink)}
.pp-err{color:var(--red);font-size:14px}
.pp-warranty{border-top:1px solid var(--edge);padding-top:12px;margin:14px 0}
.pp-warranty span{display:block;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
.pp-warranty b{font-family:"JetBrains Mono",monospace;color:var(--ink)}
.pp-warranty small{color:var(--dim)}

/* --- scale passport: live sections (functions/p) --- */
.pp-banner{margin:24px 0 0;padding:14px 16px;background:#EAF5EC;border-left:4px solid #2F8A47;color:#163A20;font-size:15.5px}
.pp-banner.pp-err{background:#FBECEC;border-left-color:var(--red);color:#5A1416}
.pp-down{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;align-items:start;margin-top:26px;padding:20px 22px;background:#1A0F10;color:#F2E9E8;border:2px solid var(--red)}
.pp-down h2{color:#fff;margin:0 0 6px}.pp-down p{margin:0;color:#E4D6D5;font-size:15px}
.pp-down form,.pp-checkform{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pp-down label,.pp-checkform label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-family:"JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
.pp-down label:nth-of-type(3){grid-column:1/-1}
.pp-down input,.pp-checkform input{font:16px Inter,system-ui,sans-serif;padding:11px 12px;border:1px solid var(--edge);background:var(--paper);color:var(--ink);min-height:44px;text-transform:none;letter-spacing:0}
.pp-down button{grid-column:1/-1;justify-self:start;border:0;cursor:pointer;font-size:16px;padding:14px 26px}
.pp-check{display:grid;grid-template-columns:1fr;gap:14px}
.pp-check h2{margin-bottom:6px}.pp-check p{margin:0;color:var(--dim)}
.pp-checkform{grid-template-columns:1fr 1fr 0.6fr auto;align-items:end;max-width:900px}
.pp-checkform label{color:var(--dim)}
.pp-checkform button{border:0;cursor:pointer;min-height:44px}
.pp-result{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:16px 18px;border-left:5px solid;font-size:15.5px;max-width:900px}
.pp-result b{color:var(--ink)}
.pp-pct{font:700 30px/1 "JetBrains Mono",monospace}
.pp-r-good{background:#EAF5EC;border-color:#2F8A47}.pp-r-good .pp-pct{color:#2F8A47}
.pp-r-look{background:#FFF6E0;border-color:#C98A00}.pp-r-look .pp-pct{color:#9A6A00}
.pp-r-call,.pp-r-numbers{background:#FBECEC;border-color:var(--red)}.pp-r-call .pp-pct{color:var(--red)}
.pp-hist{list-style:none;padding:0;margin:0;border-left:2px solid var(--edge)}
.pp-hist li{position:relative;padding:0 0 14px 20px}
.pp-hist li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--red)}
.pp-hist time{display:block;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--dim)}
.pp-transfer p{color:var(--dim);margin:0 0 10px}
.pp-transfer summary{padding:10px 0;color:var(--red)}
.pp-reg{max-width:640px;margin-top:20px}
.pp-reg-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}
.pp-reg-cols:nth-of-type(2){grid-template-columns:1fr 1fr}
.pp-reg select{width:100%;font:16px Inter,system-ui,sans-serif;padding:10px;border:1px solid var(--edge);background:var(--paper);color:var(--ink);min-height:44px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(max-width:820px){
  .pp-down{grid-template-columns:1fr}
  .pp-down form,.pp-checkform{grid-template-columns:1fr}
  .pp-checkform button,.pp-down button{justify-self:stretch}
  .pp-reg-cols,.pp-reg-cols:nth-of-type(2){grid-template-columns:1fr}
}

/* --- shop screens (functions/shop) --- */
.shop{max-width:1120px}
.shop .mono,.shop-t .mono{font-family:"JetBrains Mono",monospace}
.shop-counts{font-size:16px;color:var(--dim)}.shop-counts b{color:var(--ink);font-family:"JetBrains Mono",monospace}
.shop-alert{border:2px solid var(--red);padding:12px 16px;margin:16px 0;background:#FBECEC}
.shop-alert h2{font-size:18px;color:var(--red);margin:0 0 6px}.shop-alert ul{margin:0;padding-left:18px}
.shop-row{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:flex-end;margin:18px 0}
.shop-search,.shop-new,.shop-go{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.shop-search input{min-width:280px}
.shop input,.shop select,.shop textarea{font:15px Inter,system-ui,sans-serif;padding:9px 10px;border:1px solid var(--edge);background:var(--paper);color:var(--ink);min-height:40px;box-sizing:border-box}
.shop-new input{width:70px}.shop-go input{width:110px;font-family:"JetBrains Mono",monospace;text-transform:uppercase}
.shop .btn{border:0;cursor:pointer}
.shop-t{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0 24px}
.shop-t th{text-align:left;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border-bottom:2px solid var(--ink);padding:8px}
.shop-t td{border-bottom:1px solid var(--hair);padding:8px;vertical-align:top}
.st{font:600 11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border:1px solid}
.st-active{color:#2F8A47}.st-pending{color:#9A6A00}.st-blank{color:var(--dim)}.st-retired{color:var(--dim);text-decoration:line-through}
.shop-review{border:2px solid #C98A00;background:#FFF6E0;padding:12px 16px;margin:14px 0}
.shop-review h2{font-size:18px;margin:0 0 6px}
.shop-form fieldset{border:1px solid var(--edge);padding:12px 16px 4px;margin:0 0 16px}
.shop-form fieldset.internal{background:var(--bone);border-style:dashed}
.shop-form legend{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);padding:0 6px}
.shop-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--dim);margin-bottom:12px}
.shop-form label small{font-size:11.5px}
.shop-form .g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.shop-form .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 14px}
.shop-form .checks{font-size:13px;color:var(--dim);display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.shop-form label.ck{flex-direction:row;align-items:center;gap:6px;color:var(--ink);font-size:15px;margin:0}
.shop-w{margin-left:14px;color:var(--dim);font-size:14px}
@media(max-width:760px){.shop-form .g2,.shop-form .g4{grid-template-columns:1fr}.shop-t{display:block;overflow-x:auto}}
.pp-checkform button{white-space:nowrap;padding:0 20px}
.pp-checkform{grid-template-columns:1fr 1fr 0.6fr max-content}
.svc-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;border:1px solid var(--edge);border-left:4px solid var(--red);padding:16px 18px;margin:18px 0 26px;background:var(--bone)}
.svc-price span{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:var(--ink)}
.svc-price b{font:700 30px/1 "JetBrains Mono",monospace;color:var(--ink)}
.svc-price small{color:var(--dim)}
.svc-price .btn{margin-left:auto}
.svc-tel{font-size:14px}
/* "From our shop" tips on Libra University articles */
.shop-tip{border:1px solid var(--edge);border-left:5px solid var(--red);background:var(--bone);padding:14px 18px 12px;margin:0 0 22px}
.shop-tip-h{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;font-size:17px;color:var(--red);margin:0 0 8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shop-tip-draft{font:600 11px/1 "JetBrains Mono",monospace;letter-spacing:.08em;background:#F2C14E;color:#12151A;padding:4px 7px}
.shop-tip ul,.shop-tip ol{margin:0 0 8px;padding-left:20px}.shop-tip li{margin:0 0 6px;line-height:1.5}
.shop-tip p{margin:0 0 6px}
.shop-tip-foot{font-size:13px;color:var(--dim);margin:8px 0 0!important}

/* --- Libra restart walkthrough (static/js/restart-walkthrough.js) --- */
#rw{margin:8px 0 30px}
.rw-rail{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.rw-rail button{width:100%;border:0;background:none;padding:0;cursor:pointer;text-align:left;color:var(--dim)}
.rw-rail button:disabled{cursor:default}
.rw-rail span{display:block;height:6px;border-radius:3px;background:var(--edge);font-size:0}
.rw-rail .rw-past span{background:var(--ink)}.rw-rail .rw-now span{background:var(--red)}
.rw-rail em{display:block;font-style:normal;font-size:11.5px;line-height:1.3;margin-top:6px}
.rw-rail .rw-now em{color:var(--ink);font-weight:600}
@media(max-width:700px){.rw-rail em{display:none}}
.rw-stage{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;border:1px solid var(--edge);border-top:4px solid var(--red);padding:22px;background:var(--paper)}
@media(max-width:760px){.rw-stage{grid-template-columns:1fr;gap:14px;padding:16px}}
.rw-pic{display:flex;justify-content:center}
.rw-pair2{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;align-items:center;width:100%}
.rw-art{width:100%;max-width:340px;height:auto;touch-action:none;user-select:none}
.rw-stepno{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0}
.rw-text h2{margin:6px 0 8px;font-size:26px;line-height:1.1}
.rw-text h2:focus{outline:none}
.rw-text>p{margin:0 0 14px}
.rw-ctrl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 6px}
.rw-ctrl .btn,.rw-nav .btn{border:0;cursor:pointer;min-height:46px}
.rw-q{width:100%;margin:0 0 4px;font-weight:600;color:var(--ink)}
.rw-b2{font:500 14px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:0 16px;min-height:46px;cursor:pointer}
.rw-b2:hover{border-color:var(--red);color:var(--red)}
.rw-fb{min-height:1.5em;margin:10px 0 0;padding:0;color:var(--text);font-size:15px}
.rw-fb:not(:empty){padding:10px 12px;background:var(--bone);border-left:3px solid var(--red)}
.rw-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.rw-nav .btn:disabled{opacity:.35;cursor:not-allowed}
/* drawings */
.rw-bezel{fill:#22262B}.rw-dark .rw-bezel{fill:#111}
.rw-screen{fill:#F4F2EF}.rw-black{fill:#050505}.rw-dim{fill:#3A3F46}
.rw-btn{fill:#555}
.rw-appbar{fill:#2F8A47}.rw-apptitle{fill:#fff;font:600 15px Inter,Arial,sans-serif;text-anchor:middle}
.rw-label{fill:#6E6A66;font:600 10px Inter,Arial,sans-serif;letter-spacing:.08em}
.rw-rowbg{fill:#fff;stroke:#DDD8D2}
.rw-rowname{fill:#12151A;font:15px Inter,Arial,sans-serif}.rw-rowsub{fill:#6E6A66;font:11px Inter,Arial,sans-serif}
.rw-rowval{fill:#6E6A66;font:14px Inter,Arial,sans-serif;text-anchor:end}
.rw-row{transition:transform .35s ease;cursor:grab}
.rw-delete{fill:#C1272D;cursor:pointer}.rw-deltext{fill:#fff;font:600 14px Inter,Arial,sans-serif;text-anchor:middle;cursor:pointer}
.rw-check{fill:none;stroke:#2F8A47;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rw-empty{fill:#6E6A66;font:italic 14px Inter,Arial,sans-serif;text-anchor:middle}
.rw-card{transition:transform .45s ease,opacity .45s ease;cursor:grab}.rw-gone{transform:translateY(-260px);opacity:0}
.rw-cardbg{fill:#F4F2EF}.rw-cardlabel{fill:#fff;font:600 13px Inter,Arial,sans-serif;text-anchor:middle}
.rw-cardbig{fill:#12151A;font:700 24px "JetBrains Mono",monospace;text-anchor:middle}
.rw-arrow{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rw-slider{fill:rgba(255,255,255,.25)}.rw-slidetext{fill:#fff;font:15px Inter,Arial,sans-serif;text-anchor:middle}
.rw-knob{transition:transform .4s ease;cursor:grab}.rw-knob-go{transform:translateX(160px)}
.rw-knobc{fill:#fff}.rw-knoba{fill:none;stroke:#C1272D;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rw-box{fill:#E8E6E2;stroke:#9A958F;stroke-width:2}.rw-lid{fill:#F0EFEC;stroke:#9A958F;stroke-width:2}
.rw-lidtext{fill:#2F8A47;font:700 22px Inter,Arial,sans-serif;text-anchor:middle}.rw-small{font-size:13px}
.rw-board{fill:#1F5E3A}.rw-holder{fill:#0F3B24;stroke:#9DB8A6}
.rw-cell{fill:#5B5F66}.rw-celltext{fill:#fff;font:600 11px Inter,Arial,sans-serif;text-anchor:middle}
.rw-battery{cursor:pointer}
.rw-boardtext{fill:#9DB8A6;font:11px Inter,Arial,sans-serif;text-anchor:middle}
.rw-led{fill:#3B4A40;stroke:#9DB8A6}.rw-led.rw-on{animation:rwblink 2.4s infinite}
.rw-ledtext{fill:#E8F0EA;font:11px Inter,Arial,sans-serif}.rw-ledout{fill:#6E6A66}
@keyframes rwblink{0%,8%{fill:#5CFF7A;filter:drop-shadow(0 0 5px #5CFF7A)}12%,100%{fill:#3B4A40;filter:none}}
@media (prefers-reduced-motion:reduce){.rw-led.rw-on{animation:none;fill:#5CFF7A}.rw-row,.rw-card,.rw-knob{transition:none}}
.rw-port{fill:#2B2E33}.rw-porttext{fill:#6E6A66;font:600 10px Inter,Arial,sans-serif;text-anchor:middle;letter-spacing:.06em}
.rw-plug{fill:#C9A227;cursor:pointer}.rw-cable{fill:none;stroke:#2B2E33;stroke-width:5;stroke-linecap:round}.rw-pcable{stroke:#C9A227}
.rw-ringbg{fill:none;stroke:var(--edge);stroke-width:12}.rw-ring{fill:none;stroke:var(--red);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.rw-count{fill:var(--ink);font:700 46px "JetBrains Mono",monospace;text-anchor:middle}
.rw-head{fill:#C9A57E}.rw-body{fill:#3A5A8C}.rw-tablet{fill:#22262B}
.rw-person{transition:transform .5s ease}.rw-walk{transform:translateX(120px)}
.rw-dist{stroke:#C1272D;stroke-width:2;stroke-dasharray:6 5}
.rw-pickrow{cursor:pointer}.rw-pickrow .rw-rowbg{fill:#FFF8E1}.rw-picked .rw-rowbg{fill:#EAF5EC}
.rw-toggle{fill:#C9C4BE;cursor:pointer}.rw-ton{fill:#2F8A47}.rw-tknob{fill:#fff;pointer-events:none}

/* --- Libra University course + certificate (static/js/lu-course.js) --- */
#lu-course{margin:10px 0 34px}
.lu-progress{margin:0 0 18px}.lu-progress p{margin:6px 0 0;font-size:14px;color:var(--dim)}
.lu-bar{height:10px;background:var(--edge);border-radius:5px;overflow:hidden}.lu-bar span{display:block;height:100%;background:var(--red);transition:width .3s}
.lu-mods{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.lu-mod{border:1px solid var(--edge);padding:16px 18px;background:var(--paper)}
.lu-mod.lu-done{border-left:4px solid #2F8A47}
.lu-modh{display:flex;gap:14px;align-items:flex-start}
.lu-num{flex:none;width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:600 16px Oswald,sans-serif}
.lu-done .lu-num{background:#2F8A47}
.lu-modh h3{margin:2px 0 2px;font-size:19px;text-transform:uppercase}.lu-modh p{margin:0;color:var(--dim);font-size:15px}
.lu-lessons{list-style:none;margin:10px 0 0 48px;padding:0}
.lu-lessons li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--hair)}
.lu-tick{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--dim);white-space:nowrap;cursor:pointer;min-height:36px}
.lu-tick input{width:18px;height:18px;accent-color:#2F8A47}
@media(max-width:600px){.lu-lessons{margin-left:0}}
.lu-final{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:18px;border:2px solid var(--red);background:var(--bone)}
.lu-final h3{margin:0 0 4px;text-transform:uppercase}.lu-final p{margin:0;color:var(--dim)}
.lu-final .btn,.lu-quiz .btn,.lu-name .btn,.lu-certbar .btn{border:0;cursor:pointer;min-height:46px}
.lu-b2{font:500 14px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:0 16px;min-height:46px;cursor:pointer}
.lu-quiz fieldset{border:1px solid var(--edge);padding:12px 16px 8px;margin:0 0 12px}
.lu-quiz legend{font-weight:600;color:var(--ink);padding:0 4px;font-size:16px}.lu-quiz legend span{color:var(--red)}
.lu-opt{display:flex;gap:10px;align-items:center;padding:8px 6px;min-height:40px;cursor:pointer;border-radius:4px}
.lu-opt:hover{background:var(--bone)}.lu-opt input{width:18px;height:18px;accent-color:var(--red)}
.lu-right{border-left:4px solid #2F8A47}.lu-wrong{border-left:4px solid var(--red)}
.lu-correct{background:#EAF5EC;color:#163A20}
.lu-result{padding:14px 16px;margin:6px 0 14px;font-size:16px}.lu-pass{background:#EAF5EC;border-left:4px solid #2F8A47}.lu-fail{background:#FBECEC;border-left:4px solid var(--red)}
.lu-name{display:grid;gap:6px;max-width:460px;margin-top:8px}
.lu-name label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.lu-name input:not([type=checkbox]){font:17px Inter,system-ui,sans-serif;padding:11px 12px;border:1px solid var(--edge);background:var(--paper);color:var(--ink);min-height:46px}
.lu-name .lu-optin{text-transform:none;letter-spacing:0;font-size:15px;margin-top:6px}
.lu-name .btn{margin-top:8px;justify-self:start}
.lu-certbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
/* the certificate: always light, like paper */
.lu-cert{background:#fff;color:#12151A;padding:14px;border:1px solid #DDD8D2;aspect-ratio:11/8.5;max-width:900px;container-type:inline-size}
.lu-cert-in{height:100%;box-sizing:border-box;border:3px solid #12151A;outline:1px solid #C1272D;outline-offset:-10px;padding:5% 7%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.4cqw}
.lu-c-kicker{margin:0;font:600 1.5cqw "JetBrains Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:#C1272D}
.lu-c-title{margin:0;font:500 4.6cqw/1.05 Oswald,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em}
.lu-c-small{margin:1cqw 0 0;font:italic 1.9cqw Georgia,"Times New Roman",serif;color:#55514D}
.lu-c-name{margin:0;font:700 5.4cqw/1.1 Georgia,"Times New Roman",serif;border-bottom:2px solid #C1272D;padding:0 4cqw .6cqw}
.lu-c-farm{margin:0;font:2.1cqw Georgia,serif;color:#55514D}
.lu-c-body{margin:.8cqw 0 0;font:2.05cqw/1.5 Georgia,"Times New Roman",serif}
.lu-c-foot{width:100%;display:flex;justify-content:space-between;align-items:flex-end;margin-top:3cqw;font:1.45cqw Inter,Arial,sans-serif;color:#55514D}
.lu-c-foot p{margin:0}.lu-c-foot>div:last-child{text-align:right}
.lu-c-line{display:block;width:26cqw;border-top:1.5px solid #12151A;margin-bottom:.6cqw}
.lu-c-id{font-family:"JetBrains Mono",monospace;color:#12151A}
.lu-c-fine{margin:1.6cqw 0 0;font:1.25cqw Inter,Arial,sans-serif;color:#8A857F}
@media print{
  @page{size:letter landscape;margin:.35in}
  body *{visibility:hidden!important}
  #lu-cert,#lu-cert *{visibility:visible!important}
  #lu-cert{position:fixed;left:0;top:0;width:100%;max-width:none;border:0;padding:0;aspect-ratio:auto;height:100%}
  .ask-btn,.ask-panel,.callbar{display:none!important}
}
.lu-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 26px;padding:18px 20px;border:1px solid var(--edge);border-left:5px solid var(--red);background:var(--bone)}
.lu-cta h2{margin:2px 0 4px;font-size:24px}.lu-cta p{margin:0}.lu-cta .kicker{margin:0}
/* product shots on white: show the whole product in a tile, don't crop it */
.tiles img[src*="Avery-Weigh-Tronix-660-Indicator"]{object-fit:contain;background:#fff;padding:10px 14px}
.rf-ind{margin:6px 0 14px;max-width:520px}.rf-ind img{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--edge);padding:10px 14px;box-sizing:border-box}
.banner[style*="s3-banner"]{background-position:78% center}
@media(max-width:700px){.banner[style*="s3-banner"]{background-position:20% center}}
.prod-pic{margin:6px 0 16px;max-width:460px}.prod-pic img{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--edge);padding:12px 16px;box-sizing:border-box}
.prod-pic.tall{max-width:320px}.prod-pic.wide{max-width:760px}.prod-pic.tall img,.prod-pic.wide img{padding:0;background:none}
/* product cards: photo beside the details (animal indicators page) */
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px}
.jump a{font:500 14px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.8px;text-decoration:none;color:var(--ink);border:1px solid var(--edge);padding:8px 14px;background:var(--paper)}
.jump a:hover{border-color:var(--red);color:var(--red)}
.cmp-wrap{overflow-x:auto;margin:10px 0 30px;-webkit-overflow-scrolling:touch}
.cmp{border-collapse:collapse;width:100%;min-width:640px;font-size:15px;background:var(--paper)}
.cmp th,.cmp td{border:1px solid var(--edge);padding:10px 12px;text-align:left;vertical-align:top}
.cmp thead th{background:var(--ink);color:var(--paper);font:500 15px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.5px}
.cmp thead th a{color:inherit;text-decoration:none}
.cmp tbody th{background:var(--bone);font-weight:600;white-space:nowrap;position:sticky;left:0}
.pcard{scroll-margin-top:90px;margin:0 0 10px}
#compare,#eid{scroll-margin-top:90px}
.pcard-in{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:28px;align-items:start}
.pcard-in .prod-pic,.pcard-in .prod-pic.tall,.pcard-in .prod-pic.wide{margin:4px 0 0;max-width:none}
.pcard-in .prod-pic.tall img{max-height:440px;width:auto;max-width:100%;margin:0 auto}
.pcard-text>p:first-child{margin-top:0}
@media(max-width:760px){.pcard-in{grid-template-columns:1fr;gap:12px}.pcard-in .prod-pic{max-width:460px}}
.cmp td.na{color:var(--dim);text-align:center}.cmp-note{font-size:13px;color:var(--dim);margin:6px 0 0}
.cmp td{font:15px/1.45 Inter,system-ui,sans-serif;color:var(--text)}.cmp tbody th{font:600 13px Inter,system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--ink)}

/* --- tabs (Libra Cart page): selectable panels, Agrimatics-style. Progressive -
   without the script every panel shows under its own heading. --- */
.tabset{margin:14px 0 8px}
.tabset:not(.on)>.tablist{display:none}
.tabset.on>.tabpanel>.tp-h{display:none}
.tablist{display:flex;gap:0;border-bottom:1px solid var(--edge);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tablist::-webkit-scrollbar{display:none}
.tablist [role=tab]{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;
  padding:12px 16px 10px;font:500 14.5px Oswald,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;
  color:var(--dim);cursor:pointer;white-space:nowrap}
.tablist [role=tab]:hover{color:var(--ink)}
.tablist [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--red)}
.tablist [role=tab] small{font:600 9.5px "JetBrains Mono",monospace;letter-spacing:.12em;color:var(--red);margin-left:6px;vertical-align:2px}
.tabpanel{padding:18px 0 4px}
.tabpanel>p:first-child,.tabpanel>h3.tp-h+p{margin-top:0}
/* the second level: a list of items down the side, the detail beside it */
.tabset.vert{display:grid;grid-template-columns:250px 1fr;gap:0 28px;margin-top:16px;border-top:1px solid var(--edge)}
.tabset.vert:not(.on){display:block}
.tabset.vert>.tablist{flex-direction:column;border-bottom:0;border-right:1px solid var(--edge);overflow:visible}
.tabset.vert>.tablist [role=tab]{text-align:left;white-space:normal;border-bottom:1px solid var(--hair);border-left:2px solid transparent;
  margin:0;padding:12px 14px;font-size:13.5px;line-height:1.3}
.tabset.vert>.tablist [role=tab][aria-selected=true]{border-left-color:var(--red);border-bottom-color:var(--hair)}
.tabset.vert>.tabpanel{padding:14px 0 0}
.tabset.vert>.tabpanel h4{font:500 19px Oswald,sans-serif;color:var(--ink);margin:0 0 6px}
.tabpanel img{display:block;max-width:100%;height:auto;margin:14px 0 0;border:1px solid var(--edge)}
@media(max-width:760px){
  .tabset.vert{display:block}
  .tabset.vert>.tablist{flex-direction:row;border-right:0;border-bottom:1px solid var(--edge);overflow-x:auto}
  .tabset.vert>.tablist [role=tab]{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;margin-bottom:-1px}
  .tabset.vert>.tablist [role=tab][aria-selected=true]{border-bottom-color:var(--red)}
}
/* a Libra model: product shot on white beside what it does */
.lc-model{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:26px;align-items:start}
.lc-model h3{margin:0;font-size:22px;text-transform:none;letter-spacing:0}
.lc-model ul{padding-left:18px}
.lc-shot{margin:0;background:#fff;border:1px solid var(--edge);padding:12px}
.lc-shot img{display:block;width:100%;height:auto;border:0;margin:0}
.lc-price{margin:6px 0 10px;font-family:"JetBrains Mono",monospace}
.lc-price b{color:var(--red);font-size:24px;font-variant-numeric:tabular-nums}
.lc-price span{color:var(--dim);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-left:8px}
.lc-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
@media(max-width:760px){.lc-model{grid-template-columns:1fr;gap:14px}.lc-shot{max-width:440px}}
/* "more in the app": measured rows, not cards */
.lc-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;border-top:1px solid var(--edge);margin:10px 0 0}
.lc-more>div{padding:12px 16px 12px 0;border-bottom:1px solid var(--hair)}
.lc-more dt{font:500 14px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.lc-more dd{margin:3px 0 0;font-size:14.5px;color:var(--text)}
.lc-need td{font:15px/1.45 Inter,system-ui,sans-serif}
.lc-need td:first-child{font-family:"JetBrains Mono",monospace;font-size:14px;white-space:nowrap;color:var(--ink)}
#overview,#hardware,#features,#serial,#faq{scroll-margin-top:90px}
.lc-act .btn.ghost{border:1px solid var(--edge);color:var(--ink);background:transparent}
.lc-act .btn.ghost:hover{border-color:var(--red);color:var(--red);background:transparent}
.tabset.vert>.tabpanel img{width:100%;max-width:min(560px,100%)}
/* phones: tabs wrap instead of hiding off the edge; the side list becomes chips */
@media(max-width:760px){
  .tablist{flex-wrap:wrap;overflow:visible}
  .tabset.vert>.tablist{flex-wrap:wrap;gap:6px;border-bottom:0;padding:12px 0 2px}
  .tabset.vert>.tablist [role=tab]{white-space:normal;border:1px solid var(--edge);margin:0;padding:8px 11px;font-size:12.5px}
  .tabset.vert>.tablist [role=tab][aria-selected=true]{border-color:var(--red);color:var(--red)}
}
/* --- Libra Cart page, pass 2: section bar, reviews, app, helper --- */
.subnav{position:sticky;top:0;z-index:20;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
  background:var(--paper);border-bottom:1px solid var(--edge);margin:0 0 10px;max-width:none!important}
.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:0 0 auto;padding:13px 14px 11px;font:500 13px Oswald,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.07em;
  color:var(--dim);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.subnav a:hover{color:var(--ink)}
.subnav a.on{color:var(--ink);border-bottom-color:var(--red)}
.subnav a.go{margin-left:auto;background:var(--red);color:#fff;border-bottom:0;margin-bottom:0}
@media(max-width:900px){.subnav{top:var(--hh,64px)}}
#reviews,#cloud,#getit{scroll-margin-top:110px}
#overview,#hardware,#features,#serial,#faq{scroll-margin-top:110px}
.lc-quotes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;
  border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);margin:16px 0 6px;scrollbar-width:thin}
.lc-quotes figure{margin:0;padding:20px 22px 18px;border-left:1px solid var(--hair);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.lc-quotes figure:first-child{border-left:0;padding-left:0}
.lc-quotes blockquote{margin:0;font-size:16.5px;line-height:1.5;color:var(--ink)}
.lc-quotes blockquote::before{content:"\201C";color:var(--red);font:600 28px/0 Oswald,sans-serif;vertical-align:-10px;margin-right:2px}
.lc-quotes figcaption{font:500 13px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
.lc-quotes figcaption span{display:block;font:12px "JetBrains Mono",monospace;letter-spacing:.04em;text-transform:none;color:var(--dim);margin-top:2px}
.lc-app{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;border:1px solid var(--edge);padding:18px 20px;margin:26px 0 0}
.lc-app h3{margin:0 0 4px}.lc-app p{margin:0}.lc-app .lc-act{margin:0}
.lc-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) ;gap:0 24px;margin:14px 0 0}
.lc-help fieldset{border:0;border-top:1px solid var(--edge);margin:0;padding:12px 0 14px;min-width:0}
.lc-help legend{font:500 14px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);padding:12px 0 6px;float:left;width:100%}
.lc-help label{display:flex;gap:9px;align-items:flex-start;padding:7px 0;font-size:15px;cursor:pointer;clear:left}
.lc-help input{accent-color:var(--red);margin-top:4px}
.lc-result{grid-column:1/-1;border:1px solid var(--edge);border-left:3px solid var(--red);padding:16px 20px;margin-top:6px}
.lc-result h4{font:500 16px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;color:var(--ink)}
.lc-result ul{margin:0;padding-left:18px}.lc-result li{margin:5px 0}
.lc-result li b{font-family:"JetBrains Mono",monospace;color:var(--red);margin-left:4px}
.lc-total{font-family:"JetBrains Mono",monospace;color:var(--ink);margin:10px 0 0}
.lc-total b{color:var(--red);font-size:20px}
@media(max-width:760px){.lc-help{grid-template-columns:1fr}}
.lc-act [hidden]{display:none!important}
/* --- Libra Cart: benefit rows - red drop-down cards beside our own drawings --- */
.bene{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center;
  margin:44px 0 0;padding-top:30px;border-top:1px solid var(--edge);scroll-margin-top:110px}
.bene.flip .bene-art{order:-1}
.product .bene h2{margin:0 0 10px;padding:0;border:0;font-size:30px;line-height:1.1}
.bene-text>p{margin:0 0 18px;font-size:17px}
.bene-art{margin:0;background:var(--bone);border:1px solid var(--edge);padding:18px}
.bene-art svg{display:block;width:100%;height:auto}
.bene-art.vid{background:none;border:0;padding:0}
.bene-art figcaption{font-size:13px;color:var(--dim);margin-top:8px}
.acc details{border:0;padding:0;margin:0 0 9px}
.acc details:last-of-type{border-bottom:0}
.acc summary{background:var(--red);color:#fff;padding:13px 16px;display:flex;align-items:center;gap:13px;
  font:500 16px/1.25 Oswald,"Arial Narrow",sans-serif;letter-spacing:.02em;transition:background .15s}
.acc summary:hover{background:#A51F25}
.acc summary .ic{width:30px;height:30px;flex:none;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.acc summary span{flex:1}
.acc summary small{font:600 9.5px "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.6);padding:2px 5px;margin-left:8px;vertical-align:2px}
.acc summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;
  transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.acc details[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.acc .acc-b{border:1px solid var(--edge);border-top:0;padding:13px 18px 3px;background:var(--paper)}
.acc .acc-b p{margin:0 0 10px;font-size:15.5px}
@media(max-width:860px){.bene{grid-template-columns:1fr;gap:20px}.bene.flip .bene-art{order:0}.product .bene h2{font-size:26px}}
.bene{border-top:0;background:var(--ticks-dark),linear-gradient(var(--edge),var(--edge)) 0 0/100% 1px no-repeat}
.product .bene h2{background:none}
.acc summary::before{display:none}

.bene-art img{display:block;width:100%;height:auto;border:0;margin:0}

/* product-page photo layouts (gravity wagons, 11/2026) */
.prose>.pic-duo,.prose>.pick2,.prose>.closeups{max-width:74ch}
.pic-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}
.pic-duo figure,.closeups figure{margin:0}
.pic-duo img,.closeups img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--edge)}
.pic-duo figcaption,.closeups figcaption{font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.06em;color:var(--dim);margin-top:6px}
.pic-duo figcaption b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:16px;letter-spacing:.02em;color:var(--ink);text-transform:uppercase}
.prod-pic.pic-bare img{padding:0;background:none}
.prod-pic figcaption{font-size:14px;color:var(--dim);margin-top:6px}
.pick2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 18px}
.pick2>div{border:1px solid var(--edge);border-top:3px solid var(--red);background:var(--bone);padding:16px 18px}
.pick2 .pk{display:block;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.pick2 b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:20px;color:var(--ink);margin:2px 0 6px}
.pick2 p{margin:0 0 8px;font-size:15px}
.pick2 .pk-best{margin:0;font-size:14px;color:var(--dim)}
.closeups{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 18px}
a.video.yt.tall{max-width:340px;aspect-ratio:9/16}
@media(max-width:620px){.pic-duo,.pick2{grid-template-columns:1fr}.closeups{grid-template-columns:1fr 1fr}}
.product .vcap{font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.06em;color:var(--dim);margin-top:6px}
.prose>.fitlist{max-width:74ch}
.fitlist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 8px}
.fitlist>div{border:1px solid var(--edge);background:var(--bone);padding:12px 14px}
.fitlist b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:17px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);margin-bottom:8px}
.fitlist ul,.fit-key{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.prose .fitlist li{margin:0;max-width:none}
.fitlist li,.fit-key span{font-family:"JetBrains Mono",monospace;font-size:12px;padding:3px 8px;border:1px solid var(--edge);color:var(--text);background:var(--paper)}
.fitlist li.done,.fit-key span.done{background:var(--red);border-color:var(--red);color:#fff}
.fit-key{margin:4px 0 18px}
@media(max-width:620px){.fitlist{grid-template-columns:1fr 1fr}}
.prose>.proof-line{max-width:74ch;border-left:3px solid var(--red);background:var(--bone);padding:10px 14px;margin:14px 0}
.proof-line b{font-family:Oswald,sans-serif;font-weight:500;font-size:18px;color:var(--ink);text-transform:uppercase;letter-spacing:.02em}
.prod-pic.pic-crop img{aspect-ratio:16/9;object-fit:cover;object-position:center 60%}

/* ---- Product photo gallery (lead photo + detail strip) and tap-to-zoom ---- */
.kp-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:1fr;gap:10px;margin-top:14px}
.kp-gal figure{margin:0;display:flex;flex-direction:column}
.kp-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--edge);background:var(--bone)}
.kp-gal-lead{grid-row:span 2}
.kp-gal-lead img{aspect-ratio:auto;flex:1;min-height:0;height:100%}
.kp-gal figcaption{font-size:14px;color:var(--dim);margin-top:6px;line-height:1.35}
.kp-gal figcaption b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:16px;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
@media(max-width:820px){.kp-gal{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.kp-gal-lead{grid-column:1/-1;grid-row:auto}.kp-gal-lead img{aspect-ratio:16/9;height:auto}}
img[data-zoom]{cursor:zoom-in}
img[data-zoom]:focus-visible{outline:3px solid var(--red);outline-offset:2px}
dialog.lb{border:0;padding:0;background:transparent;max-width:96vw;max-height:94vh;overflow:visible}
dialog.lb::backdrop{background:rgba(10,11,13,.88)}
dialog.lb img{display:block;max-width:96vw;max-height:84vh;width:auto;height:auto;margin:0 auto;cursor:zoom-out;background:#fff}
dialog.lb p{color:#E8E4DE;font-size:15px;text-align:center;margin:10px auto 0;max-width:70ch}
dialog.lb button{position:absolute;top:-14px;right:-6px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:#121417;font-size:22px;line-height:40px;cursor:pointer}
@media(max-width:620px){dialog.lb button{top:-48px;right:0}}
