/* HGA site styles. Base (ink) layer first; the Paper theme follows and is applied unconditionally via body:not(.ink). */

/* Poppins and IBM Plex Mono, self-hosted (latin subset, SIL Open Font License 1.1; licences beside the files in app/assets/fonts/hybrid_grading). */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("hybrid_grading/poppins-400-f3f0f5ee.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("hybrid_grading/poppins-500-ce788af2.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("hybrid_grading/poppins-700-54e23180.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:italic;font-weight:400;font-display:swap;src:url("hybrid_grading/poppins-400-italic-5f06827a.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:italic;font-weight:700;font-display:swap;src:url("hybrid_grading/poppins-700-italic-989a9abd.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("hybrid_grading/ibm-plex-mono-500-deab9c2b.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:700;font-display:swap;src:url("hybrid_grading/ibm-plex-mono-700-1ec1315e.woff2") format("woff2")}

:root{
  --red:#E62429; --red-2:#99161C; --maroon:#4F0F11; --near:#180F0F;
  --ink:#0E0E0E; --white:#FFFFFF; --gray:#9A9A9A; --paper:#F6F4F0;
  --surface:#FFFFFF; --surface-2:#EFECE6; --text:#0E0E0E; --text-2:#3A3636; --muted:#7A7575;
  --line:#DDD8D0; --line-2:#C9C3B9; --ink-line:rgba(255,255,255,.12);
  --sans:"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#141212; --surface:#1B1818; --surface-2:#242020; --text:#F6F4F0; --text-2:#D8D3CC; --muted:#9A9A9A;
    --line:#2E2A2A; --line-2:#3E3838;
  }
}
:root[data-theme="dark"]{
  --paper:#141212; --surface:#1B1818; --surface-2:#242020; --text:#F6F4F0; --text-2:#D8D3CC; --muted:#9A9A9A;
  --line:#2E2A2A; --line-2:#3E3838;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input{font:inherit}
a{color:inherit}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4.5vw,48px)}
.eb{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.disp{font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;line-height:.96}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:#fff;text-decoration:none;transition:background .15s;border:1px solid var(--red)}
.btn:hover{background:var(--red-2);border-color:var(--red-2)}
.btn.secondary{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.btn.secondary:hover{background:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn.ghost:hover{background:rgba(255,255,255,.06);border-color:#fff}
.btn:focus-visible,input:focus-visible,.qty button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.star{width:14px;height:14px;display:inline-block;vertical-align:-2px}


/* ---- site header ---- */
.hdr{background:var(--ink);color:#fff;position:sticky;top:env(safe-area-inset-top,0px);z-index:20;border-bottom:1px solid var(--ink-line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:14px;white-space:nowrap;text-decoration:none}
.brand img{height:22px;width:auto}
.brand .co{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);border-left:1px solid var(--ink-line);padding-left:14px;line-height:1.3}
.hnav{display:flex;gap:26px;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.hnav a{text-decoration:none;color:rgba(255,255,255,.75);padding:6px 0;border-bottom:2px solid transparent}
.hnav a:hover{color:#fff;border-bottom-color:var(--red)}
.hdr .acct{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:500}
.hdr .acct a{text-decoration:none;color:rgba(255,255,255,.85)}
.hdr .acct .cta{background:var(--red);color:#fff;padding:9px 14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.hdr .acct .cta:hover{background:var(--red-2)}
@media (max-width:900px){.hnav{display:none}.brand .co{display:none}}

/* ---- hero: ink canvas, one red bar ---- */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--red)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(56px,8vw,110px)}
.hero .eb{color:var(--red)}
.hero h1{font-size:clamp(44px,7vw,92px);margin-top:18px}
.hero h1 span{display:block;color:var(--red)}
.hero .lede{margin-top:24px;font-size:clamp(16px,1.4vw,18px);max-width:32em;color:rgba(255,255,255,.8)}
.hero .cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.count{margin-top:40px;display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap}
.count .lbl{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);width:100%}
.count .u b{display:block;font-size:40px;font-weight:700;font-style:italic;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.count .u span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-top:6px}
.stage{position:relative;justify-self:center;width:min(100%,400px)}
.stage img{width:100%;filter:drop-shadow(0 34px 44px rgba(0,0,0,.7))}
.stage .tag{position:absolute;left:-12px;bottom:40px;background:var(--red);color:#fff;font-weight:700;font-style:italic;text-transform:uppercase;font-size:12px;letter-spacing:.08em;padding:8px 14px}
.stage .tag b{font-size:20px;margin-right:8px;vertical-align:-2px}
/* spinning slab (shared/_spinning_slab): the canvas draws under the slab picture, a fifth bigger each way so the corners stay in frame as it turns. Drawn, it shows at once and the picture fades out over it, so the one turns into the other: the two fading at once would let the page through halfway. */
.spin-slab{position:relative}
.spin-slab img{position:relative;z-index:1;transition:opacity .5s}
.spin-slab canvas{position:absolute;left:-10%;top:-10%;width:120%;height:120%;opacity:0;pointer-events:none}
.spin-slab.is-drawn canvas{opacity:1}
.spin-slab.is-drawn img{opacity:0;pointer-events:none}
.spin-slab.is-drawn{cursor:grab;touch-action:pan-y}
.spin-slab.is-drawn:active{cursor:grabbing}
.spin-slab:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.spin-slab .hint{position:absolute;left:50%;top:100%;margin-top:14px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);opacity:0;transition:opacity .5s;pointer-events:none}
.spin-slab.is-drawn .hint{opacity:1}
.spin-slab.is-drawn.is-turned .hint{opacity:0}
.facts{background:var(--ink);color:#fff;border-top:1px solid var(--ink-line)}
.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.facts .wrap>div{padding:22px 24px 22px 0;border-right:1px solid var(--ink-line);margin-right:24px}
.facts .wrap>div:last-child{border-right:0;margin-right:0}
.facts b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:15px;letter-spacing:.02em}
.facts span{font-size:13px;color:var(--gray)}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.stage{width:min(68%,300px);order:-1}.facts .wrap{grid-template-columns:1fr}.facts .wrap>div{border-right:0;border-bottom:1px solid var(--ink-line);margin-right:0;padding-right:0}.facts .wrap>div:last-child{border-bottom:0}}

/* slab rail on ink */
.rail{background:var(--near);padding-block:30px;border-top:1px solid var(--ink-line)}
.rail .scroll{overflow-x:auto;scrollbar-width:none}
.rail .scroll::-webkit-scrollbar{display:none}
.rail .row{display:flex;gap:20px;justify-content:center;align-items:flex-end;width:max-content;min-width:100%;padding-inline:16px}
.rail img{height:200px;width:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.6))}
.rail .cap{text-align:center;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
@media (max-width:760px){.rail img{height:150px}.rail .row{gap:12px}}

/* ---- sections ---- */
.sec{padding-block:clamp(56px,7vw,96px)}
.sec.alt{background:var(--surface)}
.sec .head{max-width:58em;margin-bottom:36px;display:grid;gap:12px}
.sec h2{font-size:clamp(30px,4vw,48px);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1;letter-spacing:-.01em}
.sec .sub{font-size:16px;color:var(--text-2);max-width:42em}
.sec .head .eb{display:flex;align-items:center;gap:10px}

/* event strip */
.ev{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ev div{border-top:3px solid var(--ink);padding-top:16px}
.ev div.r{border-top-color:var(--red)}
.ev b{display:block;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ev h3{font-size:22px;font-weight:700;font-style:italic;text-transform:uppercase;margin:8px 0 8px;line-height:1.05}
.ev p{font-size:14.5px;color:var(--text-2)}
@media (max-width:760px){.ev{grid-template-columns:1fr}}

/* offer */
.offer{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.prod{background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:160px 1fr;min-width:0}
.prod .pic{background:var(--ink);display:flex;align-items:center;justify-content:center;padding:20px 12px;position:relative;border-right:3px solid var(--red)}
.prod .pic img{height:230px;width:auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.6))}
.prod .pic .wm{position:absolute;left:12px;top:12px;height:12px;width:auto;filter:none}
.prod .body{padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.prod h3{font-size:28px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1}
.prod .kick{font-size:14px;color:var(--text-2)}
.prod .price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}
.prod .price b{font-size:46px;font-weight:700;font-style:italic;letter-spacing:-.02em;line-height:1;color:var(--red)}
.prod .price span{font-size:12.5px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.prod .open{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.02em}
.prod ul li{font-size:14px;color:var(--text-2);padding:3px 0 3px 16px;position:relative}
.prod ul li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:2px;background:var(--red)}
.buyrow{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.qty{display:inline-flex;border:1px solid var(--ink)}
.qty button{width:40px;height:40px;font-size:18px;color:var(--text);font-weight:700}
.qty input{width:56px;text-align:center;border:0;border-inline:1px solid var(--ink);background:transparent;color:var(--text);font-family:var(--mono);font-weight:700;font-size:15px;height:40px}
.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none}
.qty input{-moz-appearance:textfield}
.lt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
.lt b{color:var(--text);font-weight:700;font-size:14px}
.pnote{margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:960px){.offer{grid-template-columns:1fr}}
@media (max-width:520px){.prod{grid-template-columns:1fr}.prod .pic{border-right:0;border-bottom:3px solid var(--red)}.prod .pic img{height:180px}}
.cartbar{margin-top:22px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 24px;border-left:6px solid var(--red)}
.cartbar .t{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
.cartbar .t b{display:block;font-family:var(--sans);font-size:28px;font-style:italic;color:#fff;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px;letter-spacing:0}
.cartbar .note{font-size:13px;color:rgba(255,255,255,.7);max-width:40em}
.cartbar .note a{color:#fff}
.incl{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--surface)}
.incl div{padding:18px 20px;border-right:1px solid var(--line);font-size:13.5px;color:var(--text-2)}
.incl div:last-child{border-right:0}
.incl b{display:block;color:var(--text);font-weight:700;font-style:italic;text-transform:uppercase;font-size:13px;margin-bottom:4px;letter-spacing:.02em}
@media (max-width:900px){.incl{grid-template-columns:1fr 1fr}.incl div{border-bottom:1px solid var(--line)}.incl div:nth-child(2n){border-right:0}}
@media (max-width:520px){.incl{grid-template-columns:1fr}.incl div{border-right:0}}

/* why HGA: label + five stories */
.stories{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}
.story-pic{background:var(--ink);position:relative;min-height:340px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:28px;border-top:6px solid var(--red)}
.story-pic img{width:100%;height:auto;box-shadow:0 24px 48px rgba(0,0,0,.6)}
.story-pic .c{position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.slist{border-top:1px solid var(--line)}
.slist li{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.slist .n{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--red);letter-spacing:.1em;padding-top:4px}
.slist b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:16px;margin-bottom:3px}
.slist p{font-size:14px;color:var(--text-2)}
@media (max-width:900px){.stories{grid-template-columns:1fr}.story-pic{min-height:240px}}

/* grade bands: the fade in rank order */
.scale{margin-top:40px}
.scale .bands{display:grid;grid-template-columns:repeat(7,1fr);gap:0}
.scale .bands div{padding:16px 14px;color:#fff;font-weight:700;font-style:italic;font-size:22px;line-height:1;border-right:1px solid rgba(255,255,255,.1)}
.scale .bands div small{display:block;font-family:var(--mono);font-style:normal;font-weight:700;font-size:9.5px;letter-spacing:.12em;margin-top:6px;opacity:.85}
.scale .bands div:last-child{border-right:0}
.scale .cap{margin-top:12px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:760px){.scale .bands{grid-template-columns:repeat(4,1fr)}.scale .bands div{border-bottom:1px solid rgba(255,255,255,.1)}}

/* how it works */
.how{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start}
.steps{border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.steps .num{width:32px;height:32px;background:var(--ink);color:#fff;font-weight:700;font-style:italic;font-size:15px;display:flex;align-items:center;justify-content:center}
.steps li.r .num{background:var(--red)}
.steps .when{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:3px;display:block}
.steps b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:17px}
.steps p{font-size:14px;color:var(--text-2);margin-top:3px}
.cal{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--ink);padding:22px}
.cal .ch{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.cal .ch b{font-weight:700;font-style:italic;text-transform:uppercase;font-size:18px}
.cal .ch span{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.cal .dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-align:center;margin-bottom:4px}
.cal .days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal .d{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--text);font-variant-numeric:tabular-nums}
.cal .d small{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-weight:700}
.cal .d.wk{background:var(--surface-2);color:var(--muted);border-color:transparent}
.cal .d.full{background:var(--surface-2);color:var(--muted);text-decoration:line-through;border-color:transparent}
.cal .d.full small{text-decoration:none}
.cal .d.sel{background:var(--red);color:#fff;border-color:var(--red)}
.cal .d.sel small{color:#fff}
.cal .d.open small{color:var(--text-2)}
.cal .leg{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.cal .leg i{display:inline-block;width:10px;height:10px;border:1px solid var(--line-2);vertical-align:-1px;margin-right:6px}
.cal .leg .f i{background:var(--surface-2);border-color:transparent}
.cal .leg .s i{background:var(--red);border-color:var(--red)}
.cal .cf{margin-top:14px;font-size:13px;color:var(--text-2)}
@media (max-width:900px){.how{grid-template-columns:1fr}}

/* faq */
.faq{max-width:54em}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:16px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--red);font-size:20px;font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 18px;font-size:14.5px;color:var(--text-2);max-width:46em}
.terms{margin-top:22px;font-size:12.5px;color:var(--muted);font-style:italic}
.terms a{color:var(--text)}

/* email on ink */
.mail{background:var(--ink);color:#fff;border-top:6px solid var(--red)}
.mail .wrap{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding-block:clamp(44px,5vw,72px)}
.mail h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1}
.mail p{color:var(--gray);margin-top:10px;font-size:14.5px}
.mail form,.signup form{display:grid;gap:10px}
.mail .row,.signup .row{display:flex;gap:8px;flex-wrap:wrap}
.mail .row .btn{flex:1 0 auto}
.mail input[type=email],.signup input[type=email]{flex:1;min-width:0;background:#000;border:1px solid rgba(255,255,255,.3);color:#fff;padding:14px 14px;font-size:15px}
.mail input[type=email]::placeholder,.signup input[type=email]::placeholder{color:#6B6B6B}
.mail .consent,.signup .privacy{margin:0;font-size:12px;color:var(--gray)}
.mail .ok{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
@media (max-width:820px){.mail .wrap{grid-template-columns:1fr}}

/* footer */
.foot{background:#000;color:var(--gray)}
.foot .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding-block:28px;font-size:12px}
.foot .tag img{height:44px;width:auto}
.foot .marks{display:flex;gap:20px;align-items:center;justify-content:center}
.foot .marks img{height:12px;width:auto;opacity:.75}
.foot .co{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;justify-content:flex-end}
.foot .co svg{height:12px;width:auto;opacity:.8}
.foot .legal{grid-column:1/-1;border-top:1px solid #222;padding-top:14px;font-size:11.5px;color:#6B6B6B;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media (max-width:760px){.foot .wrap{grid-template-columns:1fr}.foot .marks,.foot .co{justify-content:flex-start}}

/* ---- checkout sheet ---- */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:40;display:flex;justify-content:flex-end}
.sheet{width:min(100%,480px);height:100%;background:var(--surface);color:var(--text);overflow-y:auto;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.sheet .sh{background:var(--ink);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:3px solid var(--red)}
.sheet .sh b{font-weight:700;font-style:italic;text-transform:uppercase;font-size:16px;letter-spacing:.04em}
.sheet .sh button{font-size:22px;line-height:1;color:rgba(255,255,255,.8)}
.sheet .prog{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.sheet .prog span{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:10px 6px;text-align:center;color:var(--muted);border-bottom:2px solid transparent}
.sheet .prog span.on{color:var(--text);border-bottom-color:var(--red)}
.sheet .pane{padding:22px;display:grid;gap:14px;align-content:start}
.sheet h3{font-size:24px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1}
.sheet .line{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.sheet .line.tot{font-weight:700;border-bottom:0;font-size:16px}
.sheet .field{display:grid;gap:6px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sheet .field input{padding:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:15px;font-family:var(--sans);letter-spacing:0;text-transform:none;font-weight:400}
.sheet .pay{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sheet .pay button{border:1px solid var(--line-2);padding:12px;font-weight:700;font-size:13px;font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--text)}
.sheet .pay button.on{border-color:var(--ink);background:var(--surface-2)}
.sheet .note{font-size:12.5px;color:var(--muted)}
.sheet label.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-2)}
.sheet label.chk input{margin-top:3px;accent-color:var(--red)}
.sheet .btn{width:100%}
.sheet .btn[disabled]{background:var(--gray);border-color:var(--gray);cursor:not-allowed}
.codes{display:grid;gap:6px}
.codes div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;padding:10px 12px;background:var(--surface-2);font-weight:700;letter-spacing:.04em;border-left:3px solid var(--red)}
.codes div span{font-weight:700;font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.proc{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-2)}
.spin{width:16px;height:16px;border:2px solid var(--line-2);border-top-color:var(--red);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.sheet .ok{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}

/* sticky mobile buy */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);color:#fff;display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:3px solid var(--red)}
.mbar .t{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
.mbar .t b{display:block;color:#fff;font-family:var(--sans);font-size:18px;font-style:italic;font-weight:700;letter-spacing:0}
.mbar .btn{padding:11px 18px}
@media (max-width:640px){.mbar.show{display:flex}body.live{padding-bottom:72px}}

/* ---- site additions ---- */
.page[hidden]{display:none!important}
.hnav a.on{color:#fff;border-bottom-color:var(--red)}
.hnav a.sale{color:#fff;background:var(--red);padding:6px 10px;border-bottom:0}
.hnav a.sale:hover{background:var(--red-2)}
.hdr .menu{display:none;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;border:1px solid var(--ink-line);padding:8px 10px}
@media (max-width:900px){.hdr .menu{display:inline-flex}.hnav.open{display:flex;position:absolute;left:0;right:0;top:64px;background:var(--ink);flex-direction:column;gap:0;padding:8px 16px 14px;border-bottom:1px solid var(--ink-line)}.hnav.open a{padding:12px 0;border-bottom:1px solid var(--ink-line)}.hnav.open a.sale{margin-bottom:8px;text-align:center}}
.subnav{background:var(--surface);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{text-decoration:none;color:var(--muted);padding:14px 0;white-space:nowrap;border-bottom:2px solid transparent}
.subnav a:hover{color:var(--text);border-bottom-color:var(--red)}

/* home hero */
.hh{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hh::after{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--red)}
.hh .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(56px,8vw,110px)}
.hh h1{font-size:clamp(46px,7.4vw,104px)}
.hh h1 span{color:var(--red)}
.hh .lede{margin-top:24px;font-size:clamp(16px,1.4vw,19px);max-width:30em;color:rgba(255,255,255,.8)}
.hh .cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.hh .proof{margin-top:38px;display:flex;gap:28px;flex-wrap:wrap}
.hh .proof div{border-left:2px solid var(--red);padding-left:12px}
.hh .proof b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:13px}
.hh .proof span{font-size:12.5px;color:var(--gray)}
@media (max-width:860px){.hh .wrap{grid-template-columns:1fr}.hh .stage{width:min(68%,300px);order:-1}}

/* verify strip */
.vstrip{background:var(--near);color:#fff;border-top:1px solid var(--ink-line)}
.vstrip .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding-block:18px}
.vstrip .lbl{font-weight:700;font-style:italic;text-transform:uppercase;font-size:15px;white-space:nowrap}
.vstrip .lbl small{display:block;font-family:var(--mono);font-style:normal;font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--gray)}
.vstrip form{display:flex;gap:8px;max-width:640px}
.vstrip input{flex:1;min-width:0;background:#000;border:1px solid rgba(255,255,255,.3);color:#fff;padding:13px 14px;font-family:var(--mono);font-size:14px;letter-spacing:.06em}
.vstrip input::placeholder{color:#6B6B6B;letter-spacing:.04em}
.vstrip .links{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);white-space:nowrap}
.vstrip .links a{color:#fff;text-decoration:none;border-bottom:1px solid var(--red)}
@media (max-width:900px){.vstrip .wrap{grid-template-columns:1fr}.vstrip .links{white-space:normal}}

/* pre-sale band on home */
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding-block:22px}
.band .st{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.band .st i{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.band .msg b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:20px;line-height:1.05}
.band .msg span{font-size:13.5px;color:var(--text-2)}
.band .cd{display:flex;gap:16px;align-items:center;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--text)}
.band .cd b{font-family:var(--sans);font-style:italic;font-size:22px;font-variant-numeric:tabular-nums}
.band .cd small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted)}
@media (max-width:900px){.band .wrap{grid-template-columns:1fr;gap:14px}}

/* pillars */
.pill3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--surface)}
.pill3 a{display:block;padding:28px 26px;border-right:1px solid var(--line);text-decoration:none;color:inherit;position:relative}
.pill3 a:last-child{border-right:0}
.pill3 a:hover{background:var(--surface-2)}
.pill3 .eb{margin-bottom:10px}
.pill3 h3{font-size:24px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1;margin-bottom:10px}
.pill3 p{font-size:14px;color:var(--text-2)}
.pill3 .go{position:absolute;right:22px;top:26px;color:var(--red);font-weight:700}
@media (max-width:860px){.pill3{grid-template-columns:1fr}.pill3 a{border-right:0;border-bottom:1px solid var(--line)}.pill3 a:last-child{border-bottom:0}}

/* how HGA grades: three steps */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g3 .s{border-top:3px solid var(--ink);padding-top:16px}
.g3 .s .k{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.g3 .s h3{font-size:22px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.05;margin:8px 0}
.g3 .s p{font-size:14px;color:var(--text-2)}
@media (max-width:860px){.g3{grid-template-columns:1fr}}

/* housings */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.case{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:300px;position:relative;text-decoration:none}
.case .t{padding:28px}
.case .t img{height:14px;width:auto;margin-bottom:16px}
.case h3{font-size:30px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1}
.case p{margin-top:12px;font-size:14px;color:var(--gray)}
.case .more{margin-top:20px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;border-bottom:1px solid var(--red);display:inline-block}
.case .p{display:flex;align-items:center;justify-content:center;padding:20px;background:var(--near)}
.case .p img{height:240px;width:auto;filter:drop-shadow(0 18px 22px rgba(0,0,0,.6))}
@media (max-width:900px){.cases{grid-template-columns:1fr}}
@media (max-width:520px){.case{grid-template-columns:1fr}.case .p img{height:180px}}

/* tools row */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tool{background:var(--surface);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;border-top:3px solid var(--red)}
.tool:hover{background:var(--surface-2)}
.tool h3{font-size:20px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1}
.tool p{font-size:13.5px;color:var(--text-2)}
.tool .stat{margin-top:auto;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tool .stat b{color:var(--text);font-family:var(--sans);font-style:italic;font-size:22px;display:block;letter-spacing:0}
@media (max-width:860px){.tools{grid-template-columns:1fr}}

/* page headers (ink) */
.ph{background:var(--ink);color:#fff;position:relative}
.ph::after{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--red)}
.ph .wrap{padding-block:clamp(40px,6vw,72px);display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end}
.ph h1{font-size:clamp(36px,5.5vw,68px)}
.ph .lede{margin-top:16px;color:rgba(255,255,255,.78);font-size:16px;max-width:34em}
.ph .side{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);text-align:right}
.ph .side b{display:block;font-family:var(--sans);font-style:italic;font-size:26px;color:#fff;letter-spacing:0;text-transform:none}
@media (max-width:860px){.ph .wrap{grid-template-columns:1fr}.ph .side{text-align:left}}

/* tables */
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 12px 12px 0;border-bottom:2px solid var(--ink)}
td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);vertical-align:top}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
td.n{font-family:var(--mono);font-weight:700}
td .name{display:block;font-weight:700}
td .sub{display:block;font-size:12.5px;color:var(--muted)}
td .g10{color:var(--red)}
.chip{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line-2);color:var(--text-2)}
.chip.r{border-color:var(--red);color:var(--red)}
.chip.k{background:var(--ink);color:#fff;border-color:var(--ink)}
.rlink{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:1px solid var(--red);white-space:nowrap}

/* grading tiers */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tier{background:var(--surface);border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:10px;border-top:4px solid var(--ink)}
.tier.hot{border-top-color:var(--red)}
.tier h3{font-size:26px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1}
.tier .pr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.tier .pr div{border-top:1px solid var(--line);padding-top:10px}
.tier .pr b{display:block;font-size:30px;font-weight:700;font-style:italic;line-height:1;color:var(--text)}
.tier .pr b.hot{color:var(--red)}
.tier .pr span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tier ul li{font-size:14px;color:var(--text-2);padding:3px 0 3px 16px;position:relative}
.tier ul li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:2px;background:var(--red)}
.tier .soon{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);padding:10px 12px}
@media (max-width:860px){.tiers{grid-template-columns:1fr}}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--surface)}
.rules div{padding:20px 22px;border-right:1px solid var(--line);font-size:14px;color:var(--text-2)}
.rules div:last-child{border-right:0}
.rules b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--text);margin-bottom:6px}
@media (max-width:860px){.rules{grid-template-columns:1fr}.rules div{border-right:0;border-bottom:1px solid var(--line)}.rules div:last-child{border-bottom:0}}
.proc{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:2px solid var(--ink)}
.proc div{padding:16px 14px 0 0;border-right:1px solid var(--line);margin-right:14px}
.proc div:last-child{border-right:0;margin-right:0}
.proc .k{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--red)}
.proc b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:14px;margin:4px 0}
.proc p{font-size:12.5px;color:var(--text-2)}
@media (max-width:900px){.proc{grid-template-columns:repeat(2,1fr)}.proc div{border-bottom:1px solid var(--line);padding-bottom:14px}}

/* standards */
.gscale{display:grid;grid-template-columns:repeat(14,1fr);gap:0}
.gscale div{padding:14px 8px;color:#fff;font-weight:700;font-style:italic;font-size:18px;line-height:1;border-right:1px solid rgba(255,255,255,.1);min-width:0}
.gscale div small{display:block;font-family:var(--mono);font-style:normal;font-size:8.5px;letter-spacing:.08em;margin-top:6px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){.gscale{grid-template-columns:repeat(7,1fr)}.gscale div{border-bottom:1px solid rgba(255,255,255,.1)}}
.subs{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.subs div{background:var(--surface);border:1px solid var(--line);padding:18px;border-top:3px solid var(--ink)}
.subs b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:16px;margin-bottom:6px}
.subs p{font-size:13px;color:var(--text-2)}
.subs div.a{border-top-color:var(--red)}
@media (max-width:900px){.subs{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.subs{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.flaw{background:var(--ink);color:#fff;padding:26px;border-left:6px solid var(--red);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.flaw .ten{font-size:64px;font-weight:700;font-style:italic;line-height:1;color:var(--red)}
.flaw b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:20px}
.flaw p{color:var(--gray);font-size:14px;margin-top:6px}
.notpub{background:var(--surface-2);padding:20px 22px;font-size:14px;color:var(--text-2);border-left:4px solid var(--ink)}
.notpub b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--text);margin-bottom:4px}

/* pop report */
.popbar{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:18px}
.popbar input{padding:14px 16px;border:1px solid var(--ink);background:var(--surface);color:var(--text);font-size:15px;font-family:var(--sans)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.chips button{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--line-2);color:var(--text-2)}
.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.crumb{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.crumb b{color:var(--text)}
.popstats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 26px}
.popstats div{border-top:2px solid var(--ink);padding-top:10px}
.popstats b{display:block;font-size:28px;font-weight:700;font-style:italic;line-height:1}
.popstats span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (max-width:700px){.popstats{grid-template-columns:1fr 1fr}.popbar{grid-template-columns:1fr}}

/* cert lookup strip on the pop report */
.certbar{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--red);padding:20px 22px;margin-bottom:28px}
.certbar .cl b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:18px;line-height:1.1;margin:6px 0 6px}
.certbar .cl p{font-size:13.5px;color:var(--text-2)}
.certbar .vform{margin:0;max-width:none}
@media (max-width:860px){.certbar{grid-template-columns:1fr}}
/* verify page */
.vform{display:flex;gap:8px;max-width:640px;margin-bottom:26px}
.vform input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--ink);background:var(--surface);color:var(--text);font-family:var(--mono);font-size:15px;letter-spacing:.06em}
.cert{display:grid;grid-template-columns:320px 1fr;gap:28px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--red)}
.cert .img{background:var(--ink);display:flex;align-items:center;justify-content:center;padding:26px}
.cert .img img{width:100%;max-width:240px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.6))}
.cert .d{padding:26px 26px 26px 0}
.cert .ok{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--ink);padding:6px 10px}
.cert .ok i{width:8px;height:8px;background:var(--red);display:inline-block}
.cert h3{font-size:28px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1;margin:14px 0 4px}
.cert .meta{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em}
.cert .grade{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cert .grade .big{font-size:72px;font-weight:700;font-style:italic;line-height:1;color:var(--red)}
.cert .grade .big small{display:block;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-top:6px}
.cert .sg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.cert .sg div{border:1px solid var(--line);padding:8px 10px}
.cert .sg b{display:block;font-size:20px;font-weight:700;font-style:italic;line-height:1}
.cert .sg span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cert .kv{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:13.5px}
.cert .kv span{color:var(--muted);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.cert .kv b{display:block;font-weight:500}
.cert .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media (max-width:860px){.cert{grid-template-columns:1fr}.cert .d{padding:0 22px 22px}.cert .sg{grid-template-columns:repeat(3,1fr)}}
.custody{border-top:1px solid var(--line);margin-top:30px}
.custody li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.custody li span{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);padding-top:2px}
.custody li b{font-weight:700;font-style:italic;text-transform:uppercase;font-size:13px;display:block}
.custody li p{color:var(--text-2);font-size:13.5px}
@media (max-width:600px){.custody li{grid-template-columns:1fr;gap:4px}}
.warn{font-size:13px;color:var(--text-2);background:var(--surface-2);padding:16px 18px;border-left:4px solid var(--ink);margin-top:22px}

/* about */
.thesis{font-size:clamp(22px,2.6vw,32px);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.1;max-width:26em}
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.path div{border-top:3px solid var(--ink);padding-top:14px}
.path div:first-child{border-top-color:var(--red)}
.path b{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--red)}
.path h3{font-size:22px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1;margin:8px 0}
.path p{font-size:14px;color:var(--text-2)}
@media (max-width:860px){.path{grid-template-columns:1fr}}
.quote{background:var(--ink);color:#fff;padding:clamp(28px,4vw,48px);border-left:6px solid var(--red)}
.quote p{font-size:clamp(20px,2.4vw,30px);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.1}
.quote small{display:block;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
/* why HGA */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--surface)}
.why a{display:block;padding:26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:inherit;position:relative}
.why a:nth-child(3n){border-right:0}
.why a:nth-last-child(-n+3){border-bottom:0}
.why a:hover{background:var(--surface-2)}
.why .n{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--red)}
.why h3{font-size:21px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1.05;margin:8px 0 8px}
.why p{font-size:13.5px;color:var(--text-2)}
@media (max-width:860px){.why{grid-template-columns:1fr}.why a{border-right:0;border-bottom:1px solid var(--line)}.why a:last-child{border-bottom:0}}
/* portal mock */
.portal{background:var(--ink);color:#fff;border-top:4px solid var(--red);padding:20px;display:grid;grid-template-columns:1fr auto;gap:18px}
.portal .pb{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);border-bottom:1px solid var(--ink-line);padding-bottom:12px}
.portal .chip.k{background:var(--red);border-color:var(--red)}
.portal ul li{display:grid;grid-template-columns:14px 1fr;gap:10px 12px;padding:8px 0;border-bottom:1px solid var(--ink-line);align-items:center}
.portal ul li i{width:10px;height:10px;border:1px solid var(--gray);display:block}
.portal ul li.done i{background:#fff;border-color:#fff}
.portal ul li.now i{background:var(--red);border-color:var(--red);animation:pulse 1.4s ease-in-out infinite}
.portal ul li.rv i{border-color:var(--red)}
.portal ul li b{font-weight:700;font-style:italic;text-transform:uppercase;font-size:12.5px;display:block}
.portal ul li span{grid-column:2;font-family:var(--mono);font-size:10.5px;color:var(--gray);letter-spacing:.04em;margin-top:-6px}
.portal ul li.now b{color:var(--red)}
.portal .pimg{width:130px;text-align:center}
.portal .pimg img{width:100%;filter:drop-shadow(0 12px 16px rgba(0,0,0,.6))}
.portal .pimg span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);margin-top:8px}
@media (max-width:520px){.portal{grid-template-columns:1fr}.portal .pimg{width:120px;margin:0 auto}}
.case .pl{display:block;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}
.case .pl b{color:#fff;font-family:var(--sans);font-style:italic;font-size:18px;letter-spacing:0;margin-right:4px}
.case .pl s{color:var(--gray)}
.case .more{margin-top:12px}
/* pre sale v2: offer hero, seven facts, why strip */
.ph2 .lede{max-width:30em}
.ph2 .who{margin-top:16px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);line-height:1.6;max-width:36em}
.offer2{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:520px}
.offer2 .oc{display:block;width:100%;font:inherit;text-align:left;cursor:pointer;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.22);padding:14px 16px;background:rgba(255,255,255,.04)}
.offer2 .oc:hover,.offer2 .oc[aria-pressed=true]{border-color:var(--red)}
.offer2 .oc img{height:11px;width:auto;margin-bottom:10px}
.offer2 .oc b{display:block;font-size:40px;font-weight:700;font-style:italic;line-height:1;color:var(--red);letter-spacing:-.02em}
.offer2 .oc span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}
.offer2 .oc s{color:var(--gray)}
.facts7 .head{margin-bottom:22px}
.f7{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;counter-reset:f}
.f7 li{counter-increment:f;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.f7 li::before{content:counter(f,decimal-leading-zero);font-family:var(--mono);font-size:11px;font-weight:700;color:var(--red);letter-spacing:.1em;padding-top:4px}
.f7 li b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:14px}
.f7 li span{grid-column:2;display:block;font-size:13.5px;color:var(--text-2);margin-top:2px}
@media (max-width:760px){.f7{grid-template-columns:1fr}.offer2{max-width:none}}
.why6{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 32px}
.why6 div{border-top:2px solid var(--ink);padding-top:12px}
.why6 div:first-child{border-top-color:var(--red)}
.why6 .n{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--red)}
.why6 b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:16px;line-height:1.1;margin:6px 0}
.why6 p{font-size:13.5px;color:var(--text-2)}
@media (max-width:860px){.why6{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.why6{grid-template-columns:1fr}}
/* ================= PAPER THEME (body:not(.ink)) — light, minimal, brand-true ================= */
body:not(.ink){background:#FBFAF7;color:#0E0E0E}
body:not(.ink){color-scheme:light;--paper:#FBFAF7;--surface:#FFFFFF;--surface-2:#F1EEE8;--line:#E4E0D8;--line-2:#CFC9BF;--muted:#7A7570;--text:#0E0E0E;--text-2:#3F3B37}
body:not(.ink) .eb{color:#7A7570;font-weight:700}
body:not(.ink) .sec{padding-block:clamp(48px,6vw,80px)}
body:not(.ink) .sec.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body:not(.ink) .sec h2{font-weight:700;letter-spacing:-.01em}
body:not(.ink) .btn.ghost{background:transparent;color:#0E0E0E;border-color:#0E0E0E}
body:not(.ink) .btn.ghost:hover{background:#0E0E0E;color:#fff}
/* mockup bar stays dark; header goes light */
body:not(.ink) .hdr{background:#FBFAF7;color:#0E0E0E;border-bottom:1px solid var(--line)}
body:not(.ink) .hdr .brand img{filter:invert(1)}
body:not(.ink) .brand .co{color:#7A7570;border-left-color:var(--line)}
body:not(.ink) .hnav a{color:#3F3B37}
body:not(.ink) .hnav a:hover,body:not(.ink) .hnav a.on{color:#0E0E0E;border-bottom-color:#E62429}
body:not(.ink) .hnav a.sale{background:#0E0E0E;color:#fff}
body:not(.ink) .hnav a.sale:hover{background:#E62429}
body:not(.ink) .hdr .acct a{color:#0E0E0E}
body:not(.ink) .hdr .menu{color:#0E0E0E;border-color:var(--line)}
@media (max-width:900px){body:not(.ink) .hnav.open{background:#FBFAF7;border-bottom-color:var(--line)}body:not(.ink) .hnav.open a{border-bottom-color:var(--line)}}
/* hero: paper, slab on a soft stage, ink type */
body:not(.ink) .hero,body:not(.ink) .hh,body:not(.ink) .ph{background:#FBFAF7;color:#0E0E0E}
body:not(.ink) .hero::after,body:not(.ink) .hh::after,body:not(.ink) .ph::after{height:0}
body:not(.ink) .hero .eb,body:not(.ink) .hh .eb,body:not(.ink) .ph .eb{color:#7A7570}
body:not(.ink) .hero h1 span,body:not(.ink) .hh h1 span{color:#E62429}
body:not(.ink) .hero .lede,body:not(.ink) .hh .lede,body:not(.ink) .ph .lede{color:#3F3B37}
body:not(.ink) .hero .wrap,body:not(.ink) .hh .wrap{padding-block:clamp(40px,6vw,72px)}
body:not(.ink) .stage{width:min(100%,420px)}
body:not(.ink) .stage img{filter:drop-shadow(0 22px 28px rgba(0,0,0,.28))}
body:not(.ink) .stage .tag{left:18px;bottom:22px;background:#0E0E0E}
body:not(.ink) .count .lbl,body:not(.ink) .count .u span,body:not(.ink) .spin-slab .hint{color:#7A7570}
body:not(.ink) .offer2 .oc{background:#fff;border:1px solid var(--line);color:#0E0E0E}
body:not(.ink) .offer2 .oc:hover{border-color:#0E0E0E}
body:not(.ink) .offer2 .oc[aria-pressed=true]{border-color:#E62429;box-shadow:inset 0 0 0 1px #E62429}
body:not(.ink) .offer2 .oc img{filter:invert(1)}
body:not(.ink) .offer2 .oc span,body:not(.ink) .offer2 .oc s{color:#7A7570}
body:not(.ink) .hh .proof div{border-left-color:#0E0E0E}
body:not(.ink) .hh .proof span{color:#7A7570}
body:not(.ink) .facts{background:#fff;color:#0E0E0E;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body:not(.ink) .facts .wrap>div{border-right-color:var(--line)}
body:not(.ink) .facts span{color:#7A7570}
@media (max-width:860px){body:not(.ink) .facts .wrap>div{border-bottom-color:var(--line)}}
body:not(.ink) .rail{background:#F1EEE8;border-top:1px solid var(--line)}
body:not(.ink) .rail img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.25))}
body:not(.ink) .rail .cap{color:#7A7570}
body:not(.ink) .ph .side{color:#7A7570}
body:not(.ink) .ph .side b{color:#0E0E0E}
body:not(.ink) .ph .wrap{padding-block:clamp(36px,5vw,60px)}
body:not(.ink) .ph h1 span{color:#E62429}
body:not(.ink) .subnav{background:#FBFAF7}
/* facts, why, steps: gray numbering, red only on the first rule */
body:not(.ink) .f7 li::before{color:#7A7570}
body:not(.ink) .f7 li b{font-style:normal;text-transform:none;font-size:15px;letter-spacing:0}
body:not(.ink) .why6 div{border-top:1px solid var(--line-2)}
body:not(.ink) .why6 div:first-child{border-top:2px solid #E62429}
body:not(.ink) .why6 .n{color:#7A7570}
body:not(.ink) .why6 b{font-style:normal;text-transform:none;font-size:16px;letter-spacing:0}
body:not(.ink) .steps .num{background:#F1EEE8;color:#0E0E0E}
body:not(.ink) .steps li.r .num{background:#0E0E0E;color:#fff}
body:not(.ink) .steps .when{color:#7A7570}
body:not(.ink) .steps b{font-style:normal;text-transform:none;font-size:16px}
body:not(.ink) .g3 .s{border-top:1px solid var(--line-2)}
body:not(.ink) .g3 .s .k{color:#7A7570}
body:not(.ink) .g3 .s h3{font-style:normal;text-transform:none;font-size:20px}
/* product cards: image on a paper stage, not ink */
body:not(.ink) .prod{border-color:var(--line)}
body:not(.ink) .prod .pic{background:#F1EEE8;border-right:1px solid var(--line)}
body:not(.ink) .prod .pic img{filter:drop-shadow(0 12px 16px rgba(0,0,0,.25))}
body:not(.ink) .prod .pic .wm{filter:invert(1)}
body:not(.ink) .prod h3{font-style:normal;text-transform:none;font-size:24px}
body:not(.ink) .prod .price b{color:#0E0E0E}
body:not(.ink) .prod ul li::before{background:#CFC9BF}
body:not(.ink) .qty{border-color:var(--line-2)}
body:not(.ink) .qty input{border-inline-color:var(--line-2)}
@media (max-width:520px){body:not(.ink) .prod .pic{border-right:0;border-bottom:1px solid var(--line)}}
body:not(.ink) .cartbar{background:#fff;color:#0E0E0E;border:1px solid #0E0E0E;border-left-width:1px}
body:not(.ink) .cartbar .t{color:#7A7570}
body:not(.ink) .cartbar .t b{color:#0E0E0E}
body:not(.ink) .cartbar .note{color:#3F3B37}
body:not(.ink) .cartbar .note a{color:#0E0E0E}
body:not(.ink) .incl b{font-style:normal;text-transform:none;font-size:14px}
/* calendar */
body:not(.ink) .cal{border-top:1px solid var(--line)}
body:not(.ink) .cal .ch b{font-style:normal;text-transform:none}
body:not(.ink) .cal .ch span{color:#7A7570}
body:not(.ink) .cal .d.sel{background:#0E0E0E;border-color:#0E0E0E}
body:not(.ink) .cal .leg .s i{background:#0E0E0E;border-color:#0E0E0E}
/* faq, terms */
body:not(.ink) .faq summary::after{color:#0E0E0E}
body:not(.ink) .faq summary{font-weight:500}
/* email on paper */
body:not(.ink) .mail{background:#F1EEE8;color:#0E0E0E;border-top:1px solid var(--line)}
body:not(.ink) .mail .eb{color:#7A7570}
body:not(.ink) .mail h2{font-style:normal;text-transform:none;font-size:clamp(24px,3vw,34px);letter-spacing:-.01em}
body:not(.ink) .mail p{color:#3F3B37}
body:not(.ink) .mail input[type=email]{background:#fff;border-color:var(--line-2);color:#0E0E0E}
body:not(.ink) .mail input[type=email]::placeholder{color:#9A9A9A}
body:not(.ink) .mail .ok{color:#0E0E0E}
/* brand-home blocks */
body:not(.ink) .band{background:#fff}
body:not(.ink) .why a{border-color:var(--line)}
body:not(.ink) .why .n{color:#7A7570}
body:not(.ink) .why h3{font-style:normal;text-transform:none;font-size:19px}
body:not(.ink) .case{background:#fff;color:#0E0E0E;border:1px solid var(--line)}
body:not(.ink) .case .t img{filter:invert(1)}
body:not(.ink) .case h3{font-style:normal;text-transform:none}
body:not(.ink) .case p,body:not(.ink) .case .pl{color:#7A7570}
body:not(.ink) .case .pl b{color:#0E0E0E}
body:not(.ink) .case .more{color:#0E0E0E}
body:not(.ink) .case .p{background:#F1EEE8}
body:not(.ink) .case .p img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.25))}
body:not(.ink) .tool{border-top:1px solid var(--line)}
body:not(.ink) .tool h3{font-style:normal;text-transform:none;font-size:18px}
body:not(.ink) .vstrip{background:#fff;color:#0E0E0E;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body:not(.ink) .vstrip .lbl small,body:not(.ink) .vstrip .links{color:#7A7570}
body:not(.ink) .vstrip .links a{color:#0E0E0E;border-bottom-color:#0E0E0E}
body:not(.ink) .vstrip input{background:#fff;border-color:var(--line-2);color:#0E0E0E}
body:not(.ink) .tier{border-top:1px solid var(--line)}
body:not(.ink) .tier.hot{border-top:2px solid #E62429}
body:not(.ink) .tier h3,body:not(.ink) .rules b,body:not(.ink) .subs b,body:not(.ink) .pstep b,body:not(.ink) .path h3,body:not(.ink) .pill3 h3,body:not(.ink) .cert h3,body:not(.ink) .custody li b,body:not(.ink) .ev h3,body:not(.ink) .doc .t{font-style:normal;text-transform:none}
body:not(.ink) .tier .pr b.hot{color:#0E0E0E}
body:not(.ink) .pstep{border-top:1px solid var(--line-2)}
body:not(.ink) .pstep .k,body:not(.ink) .path b,body:not(.ink) .slist .n,body:not(.ink) .cert .ok{color:#7A7570}
body:not(.ink) .story-pic{background:#F1EEE8;border-top:1px solid var(--line)}
body:not(.ink) .story-pic img{box-shadow:0 18px 36px rgba(0,0,0,.2)}
body:not(.ink) .story-pic .c{color:#0E0E0E}
body:not(.ink) .cert{border-top:1px solid var(--line)}
body:not(.ink) .cert .img{background:#F1EEE8}
body:not(.ink) .cert .ok{background:#F1EEE8;color:#0E0E0E}
body:not(.ink) .cert .grade .big{color:#0E0E0E}
body:not(.ink) .quote{background:#F1EEE8;color:#0E0E0E;border-left-color:#0E0E0E}
body:not(.ink) .quote p{font-style:normal;text-transform:none;font-weight:500}
body:not(.ink) .quote small{color:#7A7570}
body:not(.ink) .flaw{background:#fff;color:#0E0E0E;border:1px solid var(--line);border-left:4px solid #E62429}
body:not(.ink) .flaw p{color:#3F3B37}
body:not(.ink) .notpub{border-left-color:#CFC9BF}
body:not(.ink) .popstats b{font-style:normal}
body:not(.ink) td .g10{color:#0E0E0E;font-weight:700}
body:not(.ink) .chip.r{border-color:#0E0E0E;color:#0E0E0E}
body:not(.ink) .chip.k{background:#0E0E0E}
/* portal mock stays a dark UI panel, but calmer */
body:not(.ink) .portal{background:#0E0E0E;border-top:1px solid #0E0E0E}
/* sheet + mobile bar */
body:not(.ink) .sheet .sh{background:#0E0E0E;border-bottom:1px solid #0E0E0E}
body:not(.ink) .sheet h3{font-style:normal;text-transform:none}
body:not(.ink) .sheet .prog span.on{border-bottom-color:#0E0E0E}
body:not(.ink) .codes div{border-left-color:#0E0E0E}
body:not(.ink) .mbar{background:#fff;color:#0E0E0E;border-top:1px solid var(--line)}
body:not(.ink) .mbar .t{color:#7A7570}
body:not(.ink) .mbar .t b{color:#0E0E0E}
/* footer stays ink: the one dark anchor */
body:not(.ink) .ph2 h1{font-size:clamp(40px,5.4vw,68px)}
body:not(.ink) .ph2 .lede{margin-top:18px;font-size:16px}
body:not(.ink) .ph2 .offer2{margin-top:22px}
body:not(.ink) .ph2 .cta{margin-top:22px}
body:not(.ink) .ph2 .count{margin-top:26px}
body:not(.ink) .ph2 .count .u b{font-size:30px}
body:not(.ink) .why6{gap:26px 36px}
body:not(.ink) .why6 b{font-size:17px}
/* ink moments on paper: hero stage, guarantee band, product stages, cart bar */
body:not(.ink) .ph2 .stage .tag{background:#E62429}
.gband{background:#0E0E0E;color:#fff;padding-block:clamp(36px,5vw,56px)}
.gb{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gb div{border-left:2px solid #E62429;padding-left:18px}
.gb b{display:block;font-size:clamp(44px,5vw,64px);font-weight:700;font-style:italic;line-height:1;letter-spacing:-.02em}
.gb span{display:block;margin-top:10px;font-size:14px;color:#B9B4AD;max-width:22em}
.gcap{margin-top:26px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7A7570}
@media (max-width:760px){.gb{grid-template-columns:1fr;gap:22px}}
body:not(.ink) .prod .pic{background:#0E0E0E;border-right:0}
body:not(.ink) .prod .pic img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.6))}
body:not(.ink) .prod .pic .wm{filter:none}
body:not(.ink) .cartbar{background:#0E0E0E;color:#fff;border:0;border-left:6px solid #E62429}
body:not(.ink) .cartbar .t{color:#9A9A9A}
body:not(.ink) .cartbar .t b{color:#fff}
body:not(.ink) .cartbar .note{color:rgba(255,255,255,.72)}
body:not(.ink) .cartbar .note a{color:#fff}
body:not(.ink) .mbar{background:#0E0E0E;color:#fff;border-top:3px solid #E62429}
body:not(.ink) .mbar .t{color:#9A9A9A}
body:not(.ink) .mbar .t b{color:#fff}
body:not(.ink) .cal .d.sel{background:#E62429;border-color:#E62429}
body:not(.ink) .cal .leg .s i{background:#E62429;border-color:#E62429}
body:not(.ink) .facts7{border-top:0}
/* clean seamless studio backdrops for the slab images */
body:not(.ink) .ph2 .stage{border-top:0;position:relative}
body:not(.ink) .ph2 .stage::after{content:"";position:absolute;left:18%;right:18%;bottom:26px;height:22px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.22),rgba(0,0,0,0) 70%);z-index:0}
body:not(.ink) .ph2 .stage img{position:relative;z-index:1;filter:drop-shadow(0 18px 22px rgba(0,0,0,.22))}
body:not(.ink) .ph2 .stage .tag{z-index:2;background:#E62429;left:18px;bottom:22px}
body:not(.ink) .prod .pic{background:radial-gradient(120% 90% at 50% 30%,#FFFFFF 0%,#F4F1EB 55%,#E9E5DD 100%);border-right:1px solid var(--line);position:relative;overflow:hidden}
body:not(.ink) .prod .pic::after{content:"";position:absolute;left:22%;right:22%;bottom:16px;height:14px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.2),rgba(0,0,0,0) 70%)}
body:not(.ink) .prod .pic img{position:relative;z-index:1;filter:drop-shadow(0 12px 14px rgba(0,0,0,.2))}
body:not(.ink) .prod .pic .wm{filter:invert(1);z-index:2}
@media (max-width:520px){body:not(.ink) .prod .pic{border-right:0;border-bottom:1px solid var(--line)}}
body:not(.ink) .rail{background:radial-gradient(120% 100% at 50% 20%,#FFFFFF 0%,#F4F1EB 60%,#E9E5DD 100%)}
body:not(.ink) .case .p,body:not(.ink) .cert .img,body:not(.ink) .story-pic{background:radial-gradient(120% 90% at 50% 30%,#FFFFFF 0%,#F4F1EB 55%,#E9E5DD 100%)}
/* product cards: photo on top, whole slab visible, seamless sweep */
body:not(.ink) .prod{grid-template-columns:1fr;border:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02)}
body:not(.ink) .prod .pic{height:320px;padding:28px 24px 30px;border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center}
body:not(.ink) .prod .pic img{height:100%;max-height:262px;width:auto;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.22))}
body:not(.ink) .prod .pic::after{left:30%;right:30%;bottom:14px;height:14px}
body:not(.ink) .prod .pic .wm{display:none}
body:not(.ink) .prod .body{padding:22px 24px 22px}
body:not(.ink) .prod h3{font-size:26px}
@media (max-width:520px){body:not(.ink) .prod .pic{height:260px}body:not(.ink) .prod .pic img{max-height:210px}}
/* review labels (mockup only) */
/* real Poly photo: feather into the sweep */
body:not(.ink) .prod .pic img.photo{max-height:300px;-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 70%,transparent 100%);filter:none}
body:not(.ink) .prod .pic:has(img.photo)::after{display:none}
body:not(.ink) .prod .pic:has(img.photo){padding:10px 24px 8px;align-items:center}
/* quantity controls: ink */
body:not(.ink) .qty{border:1.5px solid #0E0E0E}
body:not(.ink) .qty button{color:#0E0E0E;font-weight:700;font-size:20px}
body:not(.ink) .qty button:hover{background:#0E0E0E;color:#fff}
body:not(.ink) .qty input{color:#0E0E0E;font-weight:700;border-inline:1.5px solid #0E0E0E}
body:not(.ink) .lt{color:#0E0E0E}
body:not(.ink) .lt b{color:#E62429}
/* production polish */
body:not(.ink) .ph2 h1{font-size:clamp(26px,8.6cqw,50px);line-height:1.02}
.ph2 .wrap>div:first-child{container-type:inline-size}
.ph2 h1,.ph2 h1 span,.ph2 h1 .nu{white-space:nowrap}
body:not(.ink) .ph2 .lede{font-size:17px;max-width:32em}
body:not(.ink) .ph2 .who{color:#0E0E0E;border-left:3px solid #E62429;padding-left:12px}
.ph2 h1 .nu{display:block;font-style:italic;font-weight:700;color:#fff}
body:not(.ink) .ph2 h1 .nu{color:#0E0E0E}
body:not(.ink) .ph2 .offer2 .oc b{font-size:38px}
body:not(.ink) .prod .price span{color:#3F3B37}
.btn[disabled],.btn:disabled{background:#CFC9BF;border-color:#CFC9BF;color:#fff;cursor:not-allowed}
body:not(.ink) .cartbar .btn[disabled]{background:#3A3636;border-color:#3A3636;color:#9A9A9A}
body:not(.ink) .gcap{color:#9A9A9A;font-size:11.5px}
body:not(.ink) .why6 p{font-size:14px}
body:not(.ink) .f7 li b{font-size:15.5px}
body:not(.ink) .hnav a.on{border-bottom-color:#E62429}
body:not(.ink) .steps .num{font-style:normal}
body:not(.ink) .cal .d.sel small{color:#fff}
@media (max-width:860px){body:not(.ink) .ph2 .stage{width:min(58%,250px);padding:22px 20px 26px}body:not(.ink) .ph2 .wrap{padding-block:22px 40px;gap:20px}body:not(.ink) .ph2 h1{font-size:clamp(26px,8.6cqw,40px)}}
/* proof row (Why HGA) — asset placeholders */
.proof3{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.proof3 figure{margin:0;border:1px solid var(--line);background:#fff}
.proof3 .ph-img{aspect-ratio:4/3;background:radial-gradient(120% 90% at 50% 30%,#FFFFFF 0%,#F4F1EB 55%,#E9E5DD 100%);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);position:relative}
.proof3 .ph-img span{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7A7570;border:1px dashed #CFC9BF;padding:8px 12px}
.proof3 .ph-img.vid::before{content:"";width:0;height:0;border-left:22px solid #0E0E0E;border-top:13px solid transparent;border-bottom:13px solid transparent;position:absolute;left:50%;top:50%;transform:translate(-8px,-40px);opacity:.25}
.proof3 figcaption{padding:18px 18px 16px;font-size:13.5px;color:#3F3B37}
.proof3 figcaption b{display:block;color:#0E0E0E;font-weight:700;margin-bottom:2px}
.proof3 .ph-img.has{display:block;padding:0;overflow:hidden}
.proof3 div.ph-img.has{display:block}
.proof3 .ph-img.has img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.proof3 .rl2{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0E0E0E;text-decoration:none;border-bottom:2px solid #E62429;width:max-content}
@media (max-width:860px){.proof3{grid-template-columns:1fr}}

/* hero video stage (ink moment) */
body:not(.ink) .ph2 .stage.vid{background:#0E0E0E;border:0;padding:0;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.18)}
body:not(.ink) .ph2 .stage.vid::after{display:none}
.ph2 .stage.vid video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#0E0E0E}
.ph2 .stage.vid .vcap{position:absolute;left:14px;bottom:12px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media (max-width:860px){body:not(.ink) .ph2 .stage.vid{width:min(72%,300px)}}

/* ---- standards: the new scale ---- */
.scale10{display:grid;grid-template-columns:repeat(12,1fr);gap:0}
.scale10 div{padding:16px 10px 14px;color:#fff;border-right:1px solid rgba(255,255,255,.1);min-width:0;position:relative}
.scale10 div:last-child{border-right:0}
.scale10 b{display:block;font-weight:700;font-style:italic;font-size:26px;line-height:1;letter-spacing:-.02em}
.scale10 small{display:block;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:8px;opacity:.9;line-height:1.3}
.scale10 i{display:block;font-family:var(--mono);font-style:normal;font-size:8px;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;opacity:.85}
.scale10 .gold{background:linear-gradient(135deg,#F5E6B3 0%,#C9A24A 45%,#8C6D39 100%);color:#1a1200}
@media (max-width:900px){.scale10{grid-template-columns:repeat(4,1fr)}.scale10 div{border-bottom:1px solid rgba(255,255,255,.1)}}
.scalenotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.scalenotes div{border-top:2px solid var(--ink);padding-top:12px}
.scalenotes div:last-child{border-top-color:#C9A24A}
.scalenotes b{display:block;font-weight:700;font-style:italic;font-size:22px;line-height:1;margin-bottom:6px}
.scalenotes span{font-size:13.5px;color:var(--text-2)}
@media (max-width:860px){.scalenotes{grid-template-columns:1fr}}
.gdef{border-top:1px solid var(--line)}
.gdef li{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
.gdef .g{font-weight:700;font-style:italic;font-size:40px;line-height:.9;letter-spacing:-.02em;color:var(--ink)}
.gdef li:nth-child(2) .g{color:var(--red)}
.gdef li.gold .g{background:linear-gradient(135deg,#C9A24A,#8C6D39);-webkit-background-clip:text;background-clip:text;color:transparent}
.gdef b{display:block;font-weight:700;font-style:italic;text-transform:uppercase;font-size:16px;margin-bottom:3px}
.gdef p{font-size:14px;color:var(--text-2);max-width:60em}
.sdef{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(5,auto);gap:0 40px;border-top:1px solid var(--line)}
.sdef li{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.sdef .g{font-weight:700;font-style:italic;font-size:26px;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.sdef li:first-child .g{color:var(--red)}
.sdef p{font-size:13.5px;color:var(--text-2)}
@media (max-width:760px){.sdef{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}}
/* ---- Grade Report page (scoped) ---- */
body:not(.ink) .rp{background:#FBFAF7;color:#0E0E0E;font-family:var(--sans);font-size:14.5px;line-height:1.55}
body:not(.ink) .rp{
  --red:#E62429; --red-2:#99161C; --ink:#0E0E0E; --paper:#FBFAF7; --white:#FFFFFF; --alt:#F1EEE8;
  --text:#0E0E0E; --text-2:#3F3B37; --muted:#7A7570; --line:#E4E0D8; --line-2:#CFC9BF; --gray:#9A9A9A;
  --sans:"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;
  color-scheme:light;
}
body:not(.ink) .rp *{box-sizing:border-box}
body:not(.ink) .rp html{background:var(--paper)}
body:not(.ink) .rp{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
body:not(.ink) .rp img{max-width:100%;display:block}
body:not(.ink) .rp h1, body:not(.ink) .rp h2, body:not(.ink) .rp h3{margin:0;text-wrap:balance}
body:not(.ink) .rp p, body:not(.ink) .rp figure{margin:0}
body:not(.ink) .rp ul, body:not(.ink) .rp ol{margin:0;padding:0;list-style:none}
body:not(.ink) .rp table{border-collapse:collapse;width:100%}
body:not(.ink) .rp .wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
body:not(.ink) .rp .eb{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .disp{font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;line-height:1}
body:not(.ink) .rp .num{font-variant-numeric:tabular-nums}
body:not(.ink) .rp /* ---- document header (ink) ---- */
.dh{background:var(--ink);color:#fff;border-bottom:4px solid var(--red)}
body:not(.ink) .rp .dh .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding-block:18px}
body:not(.ink) .rp .dh .brand{display:flex;align-items:center;gap:14px}
body:not(.ink) .rp .dh .brand img{height:20px;width:auto}
body:not(.ink) .rp .dh .brand .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);border-left:1px solid rgba(255,255,255,.14);padding-left:14px;line-height:1.4}
body:not(.ink) .rp .dh .brand .t b{display:block;color:#fff;font-weight:700}
body:not(.ink) .rp .dh .cert{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
body:not(.ink) .rp .dh .cert b{display:block;color:#fff;font-size:18px;letter-spacing:.08em;margin-top:2px}
body:not(.ink) .rp .dh .ver{display:flex;align-items:center;gap:14px;justify-content:flex-end}
body:not(.ink) .rp .dh .ok{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.25);padding:8px 10px}
body:not(.ink) .rp .dh .ok i{width:8px;height:8px;background:var(--red);display:inline-block}
body:not(.ink) .rp .qr{width:56px;height:56px;background:#fff;padding:4px;display:grid;grid-template-columns:repeat(7,1fr);gap:1px}
body:not(.ink) .rp .qr i{background:#0E0E0E;display:block}
body:not(.ink) .rp .qr i.o{background:transparent}
@media (max-width:760px){body:not(.ink) .rp .dh .wrap{grid-template-columns:1fr;gap:12px}
body:not(.ink) .rp .dh .cert{text-align:left}
body:not(.ink) .rp .dh .ver{justify-content:flex-start}}
body:not(.ink) .rp /* ---- share row ---- */
.share{background:var(--alt);border-bottom:1px solid var(--line)}
body:not(.ink) .rp .share .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:10px}
body:not(.ink) .rp .share .k{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .share code{font-family:var(--mono);font-size:12.5px;color:var(--text);background:var(--white);border:1px solid var(--line);padding:6px 10px;user-select:all}
body:not(.ink) .rp .share button{font:inherit;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:7px 12px;cursor:pointer}
body:not(.ink) .rp .share button:hover{background:var(--red);border-color:var(--red)}
body:not(.ink) .rp .share button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
body:not(.ink) .rp .share .pdf{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);padding:7px 12px;cursor:default}
body:not(.ink) .rp .share .ok{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
body:not(.ink) .rp /* ---- grade headline ---- */
.hl{background:var(--white);border-bottom:1px solid var(--line)}
body:not(.ink) .rp .hl .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,48px);align-items:center;padding-block:clamp(28px,4vw,44px)}
body:not(.ink) .rp .hl .g{display:flex;align-items:baseline;gap:14px}
body:not(.ink) .rp .hl .g b{font-size:clamp(96px,14vw,150px);font-weight:700;font-style:italic;line-height:.85;letter-spacing:-.04em;color:var(--red)}
body:not(.ink) .rp .hl .g span{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .hl .g span b{display:block;font-family:var(--sans);font-style:italic;font-size:22px;color:var(--text);letter-spacing:0;line-height:1.1;margin-top:4px}
body:not(.ink) .rp .hl h1{font-size:clamp(26px,3.4vw,40px)}
body:not(.ink) .rp .hl h1 small{display:block;font-size:.55em;color:var(--text-2);font-weight:500;font-style:normal;text-transform:none;letter-spacing:0;margin-top:6px}
body:not(.ink) .rp .hl .sum{margin-top:12px;font-size:16px;font-weight:500;color:var(--text);max-width:34em;border-left:3px solid var(--red);padding-left:12px}
body:not(.ink) .rp .hl .pop{margin-top:14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px}
body:not(.ink) .rp .hl .pop span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .hl .pop b{font-weight:700}
body:not(.ink) .rp .hl .pop a{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:2px solid var(--red)}
body:not(.ink) .rp .hl .kv{display:grid;grid-template-columns:repeat(2,auto);gap:6px 22px;margin-top:14px;font-size:13px}
body:not(.ink) .rp .hl .kv span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block}
body:not(.ink) .rp .hl .kv b{font-weight:500}
body:not(.ink) .rp .hl .lbl{width:180px;border:1px solid var(--line);background:var(--alt);padding:8px}
body:not(.ink) .rp .hl .lbl img{width:100%}
body:not(.ink) .rp .hl .lbl span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:8px;text-align:center}
@media (max-width:860px){body:not(.ink) .rp .hl .wrap{grid-template-columns:1fr}
body:not(.ink) .rp .hl .lbl{width:min(100%,240px)}}
body:not(.ink) .rp /* ---- subgrades ---- */
.sg{background:var(--ink);color:#fff}
body:not(.ink) .rp .sg .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
body:not(.ink) .rp .sg div{padding:18px 20px 18px 0;margin-right:20px;border-right:1px solid rgba(255,255,255,.12)}
body:not(.ink) .rp .sg div:last-child{border-right:0;margin-right:0}
body:not(.ink) .rp .sg b{display:block;font-size:40px;font-weight:700;font-style:italic;line-height:1;letter-spacing:-.02em}
body:not(.ink) .rp .sg b.dim{color:var(--gray)}
body:not(.ink) .rp .sg span{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);display:block;margin-top:6px}
body:not(.ink) .rp .sg small{display:block;font-size:12px;color:rgba(255,255,255,.7);margin-top:4px}
@media (max-width:860px){body:not(.ink) .rp .sg .wrap{grid-template-columns:repeat(2,1fr)}
body:not(.ink) .rp .sg div{border-bottom:1px solid rgba(255,255,255,.12);margin-right:0;border-right:0;padding-right:0}}
body:not(.ink) .rp /* ---- sections ---- */
.sec{padding-block:clamp(36px,5vw,56px);border-bottom:1px solid var(--line)}
body:not(.ink) .rp .sec.alt{background:var(--white)}
body:not(.ink) .rp .sec .head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
body:not(.ink) .rp .sec h2{font-size:clamp(22px,2.6vw,30px);font-weight:700;font-style:italic;text-transform:uppercase;line-height:1;letter-spacing:-.01em}
body:not(.ink) .rp .sec .head .eb{color:var(--red)}
body:not(.ink) .rp .sec .sub{color:var(--text-2);max-width:60em}
body:not(.ink) .rp .two{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:32px;align-items:start}
@media (max-width:860px){body:not(.ink) .rp .two{grid-template-columns:1fr}}
body:not(.ink) .rp /* defect map */
.map{position:relative;border:1px solid var(--line);background:var(--alt);padding:16px}
body:not(.ink) .rp .map .card{position:relative;aspect-ratio:2.5/3.5;overflow:hidden;background:#111}
body:not(.ink) .rp .map .card img{width:100%;height:100%;object-fit:cover}
body:not(.ink) .rp .map .zone{position:absolute;border:1px dashed rgba(255,255,255,.55);pointer-events:none}
body:not(.ink) .rp .map .z-c{width:10%;height:7.14%}
body:not(.ink) .rp .map .z-tl{left:0;top:0}
body:not(.ink) .rp .map .z-tr{right:0;top:0}
body:not(.ink) .rp .map .z-bl{left:0;bottom:0}
body:not(.ink) .rp .map .z-br{right:0;bottom:0}
body:not(.ink) .rp .map .z-e{left:5%;top:3.57%;right:5%;bottom:3.57%;border-style:dotted;border-color:rgba(255,255,255,.4)}
body:not(.ink) .rp .map .pin{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 4px 10px rgba(0,0,0,.4)}
body:not(.ink) .rp .map .pin::after{content:"";position:absolute;inset:-9px;border:1px solid var(--red);border-radius:50%;opacity:.7}
body:not(.ink) .rp .map .leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .map .leg i{display:inline-block;width:12px;height:9px;border:1px dashed var(--text-2);vertical-align:-1px;margin-right:6px}
body:not(.ink) .rp .map .leg .e i{border-style:dotted}
body:not(.ink) .rp .map .leg .p i{border:0;background:var(--red);border-radius:50%;width:9px}
body:not(.ink) .rp .map .face{display:flex;gap:6px;margin-bottom:12px}
body:not(.ink) .rp .map .face span{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line-2);color:var(--muted)}
body:not(.ink) .rp .map .face span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
body:not(.ink) .rp /* findings table */
th{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 12px 10px 0;border-bottom:2px solid var(--ink)}
body:not(.ink) .rp td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:13.5px}
body:not(.ink) .rp td.n, body:not(.ink) .rp th.n{text-align:right;white-space:nowrap}
body:not(.ink) .rp td .id{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--red);letter-spacing:.06em;display:block}
body:not(.ink) .rp td .d{display:block;font-weight:700}
body:not(.ink) .rp td .s{display:block;font-size:12.5px;color:var(--muted)}
body:not(.ink) .rp .sev{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line-2);color:var(--text-2)}
body:not(.ink) .rp .sev.trace{border-color:var(--ink);color:var(--ink)}
body:not(.ink) .rp .none td{color:var(--muted)}
body:not(.ink) .rp .none td .d{color:var(--text-2);font-weight:500}
body:not(.ink) .rp .ladder{margin-top:16px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line)}
body:not(.ink) .rp .ladder div{padding:10px 12px;border-right:1px solid var(--line);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .ladder div:last-child{border-right:0}
body:not(.ink) .rp .ladder div b{display:block;font-family:var(--sans);font-size:12.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-2);margin-top:3px}
body:not(.ink) .rp .ladder div.on{background:var(--ink);color:#fff}
body:not(.ink) .rp .ladder div.on b{color:#fff}
@media (max-width:760px){body:not(.ink) .rp .ladder{grid-template-columns:1fr 1fr}
body:not(.ink) .rp .ladder div{border-bottom:1px solid var(--line)}}
body:not(.ink) .rp .tbl{overflow-x:auto}
body:not(.ink) .rp /* subgrades explained */
.xs{display:grid;gap:0;border-top:1px solid var(--line)}
body:not(.ink) .rp .xs li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
body:not(.ink) .rp .xs .xg b{display:block;font-size:40px;font-weight:700;font-style:italic;line-height:.95;letter-spacing:-.02em}
body:not(.ink) .rp .xs .xg b.dim{color:var(--gray)}
body:not(.ink) .rp .xs .xg span{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}
body:not(.ink) .rp .xs .xb p{color:var(--text-2);font-size:13.5px}
body:not(.ink) .rp .cgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:10px}
body:not(.ink) .rp .cgrid div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding:6px 0}
body:not(.ink) .rp .cgrid span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .cgrid b{font-family:var(--mono);font-weight:700;font-size:14px}
body:not(.ink) .rp .find{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;margin-top:12px;padding:12px 14px;background:var(--alt);border-left:3px solid var(--red)}
body:not(.ink) .rp .find .pn{width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
body:not(.ink) .rp .find b{display:block;font-weight:700;font-size:13.5px}
body:not(.ink) .rp .find p{font-size:13px;color:var(--text-2)}
body:not(.ink) .rp .sevline{margin-top:20px;font-size:12.5px;color:var(--muted)}
body:not(.ink) .rp .sevline b{color:var(--text-2);font-weight:700}
body:not(.ink) .rp .id3.two-col{grid-template-columns:1fr 1fr}
@media (max-width:860px){body:not(.ink) .rp .id3.two-col{grid-template-columns:1fr}}
@media (max-width:520px){body:not(.ink) .rp .xs li{grid-template-columns:1fr;gap:6px}
body:not(.ink) .rp .cgrid{grid-template-columns:1fr}}
body:not(.ink) .rp /* centering */
.cen{display:grid;grid-template-columns:1fr 1fr;gap:22px}
body:not(.ink) .rp .cen .face{border:1px solid var(--line);background:var(--white);padding:18px 20px}
body:not(.ink) .rp .cen .face .eb{margin-bottom:10px}
body:not(.ink) .rp .cen .ax{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
body:not(.ink) .rp .cen .ax .n{font-family:var(--mono);font-weight:700;font-size:15px}
body:not(.ink) .rp .cen .ax .th{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.06em}
body:not(.ink) .rp .cen .res{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px}
body:not(.ink) .rp .cen .res b{font-size:34px;font-weight:700;font-style:italic;line-height:1}
body:not(.ink) .rp .cen .res span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body:not(.ink) .rp .rule{margin-top:14px;font-size:13px;color:var(--text-2);background:var(--alt);padding:12px 14px;border-left:3px solid var(--ink)}
@media (max-width:760px){body:not(.ink) .rp .cen{grid-template-columns:1fr}}
body:not(.ink) .rp /* identification */
.id3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
body:not(.ink) .rp .id3 .box{border-top:2px solid var(--ink);padding-top:12px}
body:not(.ink) .rp .id3 .box .eb{display:block;margin-bottom:10px}
body:not(.ink) .rp .kvl div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px}
body:not(.ink) .rp .kvl span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}
body:not(.ink) .rp .kvl b{font-weight:500}
body:not(.ink) .rp .kvl b.mono{font-family:var(--mono);font-size:12.5px}
body:not(.ink) .rp .chk{display:flex;align-items:center;gap:8px}
body:not(.ink) .rp .chk i{width:8px;height:8px;background:var(--red);display:inline-block}
@media (max-width:860px){body:not(.ink) .rp .id3{grid-template-columns:1fr}}
body:not(.ink) .rp /* custody */
.cust{border-top:1px solid var(--line)}
body:not(.ink) .rp .cust li{display:grid;grid-template-columns:150px 1fr auto;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}
body:not(.ink) .rp .cust li span.t{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
body:not(.ink) .rp .cust li b{font-weight:700;font-style:italic;text-transform:uppercase;font-size:13px;display:block}
body:not(.ink) .rp .cust li p{color:var(--text-2);font-size:13px}
body:not(.ink) .rp .cust li .ev{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);white-space:nowrap}
@media (max-width:640px){body:not(.ink) .rp .cust li{grid-template-columns:1fr;gap:4px}}
body:not(.ink) .rp /* images */
.imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
body:not(.ink) .rp .imgs figure{border:1px solid var(--line);background:var(--white)}
body:not(.ink) .rp .imgs .ph{aspect-ratio:3/4;background:radial-gradient(120% 90% at 50% 30%,#FFFFFF 0%,#F4F1EB 55%,#E9E5DD 100%);display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid var(--line)}
body:not(.ink) .rp .imgs .ph img{max-height:100%;width:auto;filter:drop-shadow(0 12px 14px rgba(0,0,0,.22))}
body:not(.ink) .rp .imgs .ph span{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);padding:8px 12px}
body:not(.ink) .rp .imgs figcaption{padding:12px 14px;font-size:13px;color:var(--text-2)}
body:not(.ink) .rp .imgs figcaption b{display:block;color:var(--text);font-weight:700}
@media (max-width:760px){body:not(.ink) .rp .imgs{grid-template-columns:1fr}}
body:not(.ink) .rp /* eye appeal + flawless */
.ea{display:grid;grid-template-columns:1fr 1fr;gap:22px}
body:not(.ink) .rp .ea .box{border:1px solid var(--line);background:var(--white);padding:20px 22px}
body:not(.ink) .rp .ea .box b.big{display:block;font-size:30px;font-weight:700;font-style:italic;text-transform:uppercase;line-height:1;margin:8px 0}
body:not(.ink) .rp .ea .box p{color:var(--text-2);font-size:13.5px}
@media (max-width:760px){body:not(.ink) .rp .ea{grid-template-columns:1fr}}
body:not(.ink) .rp /* footer */
.ft{background:var(--ink);color:var(--gray);font-size:12.5px}
body:not(.ink) .rp .ft .wrap{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding-block:24px}
body:not(.ink) .rp .ft b{color:#fff;font-weight:700}
body:not(.ink) .rp .ft .l{display:grid;gap:4px}
body:not(.ink) .rp .ft .r{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-align:right}
body:not(.ink) .rp .ft .r b{display:block}
@media (max-width:760px){body:not(.ink) .rp .ft .wrap{grid-template-columns:1fr}
body:not(.ink) .rp .ft .r{text-align:left}}
body:not(.ink) .rp .demo{background:#000;color:#9A9A9A;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
body:not(.ink) .rp .demo .wrap{padding-block:8px;display:flex;gap:16px;flex-wrap:wrap}
body:not(.ink) .rp .demo span{color:var(--red)}
body:not(.ink) .rp .dh .cert{display:block;background:none;border:0;padding:0;grid-template-columns:none}
body:not(.ink) .rp .dh .cert b{color:#fff}
body:not(.ink) .rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:34px}
body:not(.ink) .rail img{filter:drop-shadow(0 16px 18px rgba(0,0,0,.22))}
body:not(.ink) .rail .cap{color:#7A7570}
body:not(.ink) .rail .row{gap:26px}
/* theme hardening: every page paper, whatever the host or OS theme says */
html{background:#FBFAF7}
body:not(.ink),body:not(.ink) .page,body:not(.ink) main{background:#FBFAF7;color:#0E0E0E}
body:not(.ink) .sec{background:transparent}
/* contrast fixes: 3 links line, 6.4 titles, 8 terms link */
body:not(.ink) .rlink{color:#0E0E0E;border-bottom:2px solid #E62429;padding-bottom:2px}
body:not(.ink) .incl b{color:#0E0E0E;font-weight:700}
body:not(.ink) .incl div{color:#3F3B37}
body:not(.ink) .terms{color:#3F3B37;font-style:normal}
body:not(.ink) .terms a{color:#0E0E0E;font-weight:700;text-decoration:underline;text-decoration-color:#E62429;text-underline-offset:3px}
body:not(.ink) .note a{color:#0E0E0E;font-weight:700;text-decoration:underline;text-decoration-color:#E62429;text-underline-offset:3px}

/* Standards V46: structured grade definitions */
.gdef li>div p.cen{margin-top:8px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;color:#7A7570;text-transform:uppercase}
.gdef ul.ok{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}
ol.gdef>li ul.ok>li{display:block;grid-template-columns:none;position:relative;padding:0 0 0 16px;border:0;font-size:14px;color:#3F3B37;line-height:1.5}
.gdef ul.ok li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:#E62429;border-radius:50%}
ol.gdef>li ul.ok>li>b{display:inline;font-style:normal;text-transform:none;font-size:14px;margin:0;color:#0E0E0E;font-weight:700}
.gdef li>div p.no{margin-top:10px;padding-top:10px;border-top:1px dashed #E4E0D8;font-size:13.5px;color:#7A7570}
.gdef li.auth .g{color:#0E0E0E}
.tbl td .band{display:inline-block;margin-left:8px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#E62429}
.scale10 > div:last-child b{font-style:normal}
@media (max-width:640px){.tbl td .band{display:block;margin:2px 0 0}}

/* Poly photography pending: only where a photo goes, since .tier .soon is a text note */
.case .p .soon,.prod .pic .soon{display:flex;align-items:center;justify-content:center;height:180px;width:120px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9A9A9A;border:1px dashed #CFC9BF;text-align:center;padding:12px;line-height:1.5}
.case .p .soon,.prod .pic .soon{border-color:rgba(255,255,255,.28)}
.prod .pic .soon{height:200px;width:140px}

/* ---- teaser (pages/teaser): the root until the pre sale opens, two Glass slabs turning side by side over a countdown and a signup. Sizes follow --slab-w, the slab's width: 40% of a phone, 300px at most, and narrow enough on a short screen that slab, floor, countdown and signup fit it (335px is the room everything but the slabs and their floor takes). A slab is 1210/720 as tall as wide (SlabArt). ---- */
body.ink{background:var(--ink);color:var(--white);color-scheme:dark}
.teaser{--slab-w:clamp(120px,min(40vw,(100svh - 335px) / 2.1),300px);--slab-h:calc(var(--slab-w) * 1210 / 720);--floor:calc(var(--slab-w) * .42);position:relative;min-height:100svh;overflow:hidden;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:32px;padding:clamp(28px,5vh,52px) 16px clamp(24px,4vh,44px)}
.teaser::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--red)}
/* The mark is the pair's backdrop, centred on the slabs (not their floor) and as wide as the screen up to 1030px, where hga.svg (1000 × 242.7) stands 250px tall; the slabs, positioned later in the DOM, paint over it. */
.teaser .pair{position:relative;align-self:stretch;display:flex;align-items:flex-start;justify-content:center;gap:clamp(28px,10vw,180px)}
.teaser h1{position:absolute;inset:0 0 var(--floor);margin:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.teaser h1 img{width:min(100%,1030px);height:auto;opacity:.45}
.teaser figure{margin:0 0 var(--floor);width:var(--slab-w);display:flex;flex-direction:column;align-items:center;--light:214 226 255}
/* Each slab under its own light, a cone from above (faded in from its top, which a short screen shows) and a pool where it stands, on a floor that reflects it. The drawn slab's canvas is a fifth bigger each way, so its reflection is pulled up a fifth of the slab's height to meet it. No box-reflect in Firefox: the floor shows bare. */
.teaser .spin-slab{z-index:0}
.teaser .spin-slab::before,.teaser .spin-slab::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.teaser .spin-slab::before{left:-70%;right:-70%;top:-55%;height:160%;background:radial-gradient(ellipse 34% 72% at 50% 0%,rgb(var(--light) / .16),rgb(var(--light) / 0));-webkit-mask-image:linear-gradient(transparent,#000 35%);mask-image:linear-gradient(transparent,#000 35%)}
.teaser .spin-slab::after{left:-35%;right:-35%;bottom:-34px;height:68px;background:radial-gradient(closest-side,rgb(var(--light) / .16),rgb(var(--light) / 0))}
.teaser .spin-slab img{-webkit-box-reflect:below 6px linear-gradient(transparent 76%,rgb(0 0 0 / .2))}
.teaser .spin-slab canvas{-webkit-box-reflect:below calc(6px - var(--slab-h) * .2) linear-gradient(transparent 71.7%,rgb(0 0 0 / .2) 91.7%)}
/* The figure's bottom margin is the floor the reflection needs; .count's own top margin would add to it. */
.teaser .count{margin-top:0}
.teaser .signup{position:relative;width:min(440px,100%);text-align:center}
.teaser .signup .lbl{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.teaser .signup .row .btn{padding-block:12px}
.teaser .signup .error{font-size:13px;color:var(--red)}
/* The signup's .contact fields are never shown; pages/teaser says why. */
.teaser .signup .contact{display:none}
.teaser .signup .thanks{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--white)}
.teaser .grain{position:absolute;inset:0;width:100%;height:100%;opacity:.09;pointer-events:none}
