/* ============================================================
   Ceramizator / Cerator — US informational site
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --ink-900:#07090c;
  --ink-800:#0b0e13;
  --ink-700:#11151c;
  --ink-600:#181d26;
  --ink-500:#232a35;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);

  --paper:#ffffff;
  --paper-2:#f4f5f7;
  --paper-3:#e9ebef;

  --text:#e9ecf1;
  --text-dim:#98a1b0;
  --text-ink:#0b0e13;
  --text-ink-dim:#5a6472;

  --red:#e11d2e;
  --red-600:#c4121f;
  --red-glow:rgba(225,29,46,.45);
  --amber:#f5c518;

  --r-sm:8px;
  --r-md:14px;
  --r-lg:22px;
  --r-xl:32px;

  --maxw:1220px;
  --gutter:24px;

  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Barlow Condensed","Inter",-apple-system,BlinkMacSystemFont,sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ink-900);
  color:var(--text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{margin:0;line-height:1.05;font-weight:700;letter-spacing:-.01em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

::selection{background:var(--red);color:#fff}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding:clamp(64px,9vw,128px) 0;position:relative}
.section--tight{padding:clamp(48px,6vw,80px) 0}
.section--paper{background:var(--paper);color:var(--text-ink)}
.section--paper p{color:var(--text-ink-dim)}
.section--mute{background:var(--ink-800)}

.grid{display:grid;gap:clamp(20px,3vw,34px)}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:940px){.g-3,.g-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}

/* ---------- Type ---------- */
.display{
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.005em;
  line-height:.92;
}
.h-xxl{font-size:clamp(44px,5.6vw,84px);text-wrap:balance}
.h-xl{font-size:clamp(34px,4.4vw,60px);text-wrap:balance}
.h-lg{font-size:clamp(28px,3.4vw,44px)}
.h-md{font-size:clamp(22px,2.2vw,28px)}

.lede{font-size:clamp(17px,1.35vw,20px);color:var(--text-dim);max-width:62ch}
.section--paper .lede{color:var(--text-ink-dim)}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);
  font-size:15px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;color:var(--red);margin-bottom:18px;
}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--red);display:block}

.head{max-width:68ch;margin-bottom:clamp(34px,4vw,56px)}
.head .lede{margin-top:20px}

.accent{color:var(--red)}
strong{color:#fff;font-weight:600}
.section--paper strong{color:var(--text-ink)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 28px;border-radius:100px;
  font-family:var(--font-display);font-size:18px;font-weight:600;
  text-transform:uppercase;letter-spacing:.09em;
  transition:transform .25s var(--ease),background .25s,box-shadow .25s,border-color .25s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px var(--red-glow)}
.btn--primary:hover{background:var(--red-600);box-shadow:0 16px 40px -12px var(--red-glow)}
.btn--ghost{border:1px solid var(--line-strong);color:var(--text)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.section--paper .btn--ghost{border-color:rgba(0,0,0,.18);color:var(--text-ink)}
.section--paper .btn--ghost:hover{border-color:var(--text-ink);background:rgba(0,0,0,.04)}
.btn .arw{transition:transform .25s var(--ease)}
.btn:hover .arw{transform:translateX(4px)}

.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ---------- Header ---------- */
.hdr{
  position:fixed;inset:0 0 auto 0;z-index:80;
  transition:background .3s,backdrop-filter .3s,border-color .3s;
  border-bottom:1px solid transparent;
}
.hdr.is-stuck{
  background:rgba(7,9,12,.82);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom-color:var(--line);
}
.hdr__in{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:14px;font-family:var(--font-display);text-transform:uppercase}
.brand__mark{
  font-size:27px;font-weight:700;letter-spacing:.02em;color:#fff;line-height:1;
  white-space:nowrap;flex:0 0 auto;
}
.brand__mark .dot{color:var(--red)}
.brand__mark--lg{font-size:32px}
.brand__logo{width:172px;height:auto;flex:0 0 auto}
.brand__logo--lg{width:196px}
.brand__sub{
  font-size:9.5px;letter-spacing:.2em;color:var(--text-dim);font-weight:500;line-height:1.55;
  max-width:134px;padding-left:14px;border-left:1px solid var(--line-strong);
}
@media(max-width:1180px){.brand__logo{width:152px}.brand__mark{font-size:24px}}
@media(max-width:1340px){.brand__sub{display:none}}
@media(max-width:1320px){.nav a{padding:10px 9px;font-size:14px}.brand__mark{font-size:25px}}

.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav a{
  padding:10px 11px;border-radius:100px;
  font-size:14.5px;font-weight:500;color:var(--text-dim);white-space:nowrap;
  transition:color .2s,background .2s;
}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav a.is-active{color:#fff}
.nav a.is-active::after{
  content:"";display:block;height:2px;width:18px;background:var(--red);
  margin:4px auto -4px;border-radius:2px;
}
.hdr .btn{padding:11px 20px;font-size:16px}
@media(max-width:1180px){.nav,.hdr .btn--primary{display:none}}

.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-strong)}
.burger span{display:block;width:18px;height:1.6px;background:#fff;margin:4px auto;transition:.3s var(--ease)}
.burger.is-open span:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}
@media(max-width:1180px){.burger{display:block}}

.mobnav{
  position:fixed;inset:76px 0 0;z-index:70;
  background:rgba(7,9,12,.97);backdrop-filter:blur(18px);
  padding:24px var(--gutter) 48px;
  display:none;flex-direction:column;gap:2px;
  overflow-y:auto;
}
.mobnav.is-open{display:flex}
.mobnav a:not(.btn){
  font-family:var(--font-display);text-transform:uppercase;
  font-size:30px;letter-spacing:.02em;padding:12px 0;
  border-bottom:1px solid var(--line);color:var(--text);
}
.mobnav a:not(.btn):hover{color:var(--red)}
.mobnav .btn{margin-top:28px;align-self:flex-start}

/* ---------- Hero ---------- */
.hero{position:relative;padding:calc(76px + clamp(56px,8vw,110px)) 0 clamp(60px,8vw,110px);overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 85% at 78% 18%,rgba(225,29,46,.30) 0%,transparent 58%),
    radial-gradient(90% 70% at 8% 0%,rgba(90,120,255,.13) 0%,transparent 55%),
    linear-gradient(180deg,#0b0e13 0%,#07090c 100%);
}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 35%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 35%,#000 0%,transparent 78%);
  opacity:.7;
}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,64px);align-items:center}
@media(max-width:960px){.hero__in{grid-template-columns:1fr}}

.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 16px 7px 10px;border-radius:100px;
  border:1px solid var(--line-strong);background:rgba(255,255,255,.04);
  font-size:13.5px;color:var(--text-dim);margin-bottom:26px;
}
.pill b{color:#fff;font-weight:600}
.pill .tag{
  background:var(--red);color:#fff;font-weight:700;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:100px;
}

.hero h1{margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--red)}
.hero .lede{font-size:clamp(17px,1.5vw,21px)}

.hero__media{position:relative;display:grid;place-items:center;min-height:clamp(380px,46vw,560px)}
.hero__glow{
  position:absolute;inset:6% 4%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(225,29,46,.42),rgba(225,29,46,.08) 62%,transparent 75%);
  filter:blur(6px);
}
.hero__ring{
  position:absolute;inset:4%;border-radius:50%;
  border:1px solid var(--line-strong);
  mask-image:linear-gradient(200deg,#000 20%,transparent 70%);
  -webkit-mask-image:linear-gradient(200deg,#000 20%,transparent 70%);
}
.hero__pack{
  position:relative;width:min(100%,560px);
  filter:drop-shadow(0 46px 60px rgba(0,0,0,.75));
  animation:float 7s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
.hero__chip{
  position:absolute;bottom:4%;left:0;
  background:rgba(11,14,19,.9);backdrop-filter:blur(10px);
  border:1px solid var(--line-strong);border-radius:var(--r-md);
  padding:14px 20px;display:flex;align-items:center;gap:14px;
  box-shadow:0 20px 50px -20px rgba(0,0,0,.9);
}
.hero__chip .num{font-family:var(--font-display);font-size:34px;color:var(--red);line-height:1}
.hero__chip .lbl{font-size:12.5px;color:var(--text-dim);line-height:1.3;max-width:15ch}
@media(max-width:960px){.hero__chip{left:0;bottom:0}}
@media(max-width:520px){.hero__chip{position:static;margin-top:20px;display:inline-flex}}

/* ---------- Stat bar ---------- */
.stats{border-block:1px solid var(--line);background:var(--ink-800)}
.stats__in{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.stats__in{grid-template-columns:repeat(2,1fr)}}
.stat{padding:34px 26px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
@media(max-width:820px){.stat:nth-child(odd){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
.stat__num{font-family:var(--font-display);font-size:clamp(34px,4vw,50px);line-height:1;color:#fff}
.stat__num sup{font-size:.45em;color:var(--red);vertical-align:super}
.stat__lbl{margin-top:10px;font-size:14px;color:var(--text-dim);line-height:1.45}

/* ---------- Cards ---------- */
.card{
  background:var(--ink-700);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(24px,2.6vw,34px);
  transition:border-color .3s,transform .3s var(--ease),background .3s;
}
.card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.card__ico{
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;
  background:rgba(225,29,46,.12);border:1px solid rgba(225,29,46,.28);
  color:var(--red);margin-bottom:20px;
}
.card__ico svg{width:24px;height:24px}
.card h3{font-size:20px;margin-bottom:10px;letter-spacing:-.015em}
.card p{font-size:15.5px;color:var(--text-dim);line-height:1.6}

.section--paper .card{background:var(--paper-2);border-color:rgba(0,0,0,.07)}
.section--paper .card:hover{border-color:rgba(0,0,0,.16)}
.section--paper .card p{color:var(--text-ink-dim)}

/* numbered steps */
.step{position:relative;padding-top:8px}
.step__n{
  font-family:var(--font-display);font-size:64px;line-height:.8;
  color:transparent;-webkit-text-stroke:1.5px rgba(225,29,46,.55);
  margin-bottom:14px;display:block;
}
.section--paper .step__n{-webkit-text-stroke-color:rgba(225,29,46,.5)}
.step h3{font-size:21px;margin-bottom:10px}
.step p{color:var(--text-dim);font-size:15.5px}
.section--paper .step p{color:var(--text-ink-dim)}

/* ---------- Split feature ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.split--rev .split__media{order:-1}
@media(max-width:900px){.split{grid-template-columns:1fr}.split--rev .split__media{order:0}}
.split__media img{border-radius:var(--r-lg);width:100%;box-shadow:0 30px 70px -36px rgba(0,0,0,.9)}

.ticks li{
  position:relative;padding-left:34px;margin-top:14px;font-size:16px;color:var(--text-dim);
}
.section--paper .ticks li{color:var(--text-ink-dim)}
.ticks li::before{
  content:"";position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:50%;
  background:rgba(225,29,46,.14);border:1px solid rgba(225,29,46,.4);
}
.ticks li::after{
  content:"";position:absolute;left:6.5px;top:12.5px;width:7px;height:4px;
  border-left:1.8px solid var(--red);border-bottom:1.8px solid var(--red);
  transform:rotate(-45deg);
}

/* ---------- Naming callout ---------- */
.callout{
  border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);
  background:linear-gradient(135deg,rgba(225,29,46,.13),rgba(225,29,46,.02) 60%),var(--ink-700);
  border:1px solid rgba(225,29,46,.26);
  display:grid;grid-template-columns:auto 1fr;gap:clamp(22px,3vw,44px);align-items:center;
}
@media(max-width:760px){.callout{grid-template-columns:1fr}}
.callout__badge{
  font-family:var(--font-display);text-transform:uppercase;
  border:1px solid rgba(225,29,46,.4);border-radius:var(--r-md);
  padding:20px 26px;text-align:center;background:rgba(7,9,12,.5);
}
.callout__badge .b1{font-size:38px;color:#fff;line-height:1}
.callout__badge .b2{font-size:12px;letter-spacing:.22em;color:var(--red);margin-top:6px}
.callout h3{font-size:clamp(21px,2.2vw,28px);margin-bottom:12px}
.callout p{color:var(--text-dim);font-size:16px}

/* ---------- Products ---------- */
.prod{
  background:var(--paper);border-radius:var(--r-lg);overflow:hidden;
  border:1px solid rgba(0,0,0,.07);display:flex;flex-direction:column;
  transition:transform .35s var(--ease),box-shadow .35s;
}
.prod:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.prod__img{
  background:linear-gradient(180deg,#fff,#eef0f3);
  padding:26px;aspect-ratio:1/.92;display:grid;place-items:center;position:relative;
}
.prod__img img{max-height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 16px 26px rgba(0,0,0,.18))}
.prod__tag{
  position:absolute;top:14px;left:14px;
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;
  font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:100px;
  background:var(--text-ink);color:#fff;
}
.prod__tag--red{background:var(--red)}
.prod__tag--amber{background:var(--amber);color:var(--text-ink)}
.prod__body{padding:24px;color:var(--text-ink);display:flex;flex-direction:column;flex:1;border-top:1px solid rgba(0,0,0,.07)}
.prod__code{font-family:var(--font-display);font-size:12.5px;letter-spacing:.2em;color:var(--red);text-transform:uppercase}
.prod__name{font-size:20px;margin:6px 0 10px;letter-spacing:-.015em}
.prod__desc{font-size:14.8px;color:var(--text-ink-dim);line-height:1.55;flex:1}
.prod__meta{
  margin-top:18px;padding-top:16px;border-top:1px dashed rgba(0,0,0,.14);
  display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--text-ink-dim);
}
.prod__meta b{display:block;font-family:var(--font-display);font-size:18px;color:var(--text-ink);letter-spacing:.01em}

.fuelmark{
  display:inline-flex;gap:6px;margin-bottom:12px;
}
.fuelmark span{
  font-family:var(--font-display);font-size:11.5px;letter-spacing:.12em;
  border:1px solid rgba(0,0,0,.18);border-radius:5px;padding:2px 8px;color:var(--text-ink-dim);
}

/* ---------- Filter tabs ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px}
.tab{
  padding:10px 20px;border-radius:100px;border:1px solid rgba(0,0,0,.14);
  font-size:14.5px;font-weight:500;color:var(--text-ink-dim);transition:.25s var(--ease);
}
.tab:hover{border-color:var(--text-ink)}
.tab.is-on{background:var(--text-ink);border-color:var(--text-ink);color:#fff}

/* ---------- Data / results ---------- */
.meter{margin-top:26px}
.meter__row{margin-bottom:22px}
.meter__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:14.5px;color:var(--text-dim)}
.meter__top b{font-family:var(--font-display);font-size:24px;color:#fff;letter-spacing:.01em}
.meter__bar{height:10px;border-radius:100px;background:rgba(255,255,255,.08);overflow:hidden}
.meter__fill{height:100%;border-radius:100px;background:rgba(255,255,255,.35);width:0;transition:width 1.2s var(--ease)}
.meter__fill--red{background:linear-gradient(90deg,var(--red),#ff5a49)}

.datacard{
  border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);
  background:var(--ink-700);
}
.note{font-size:13.5px;color:var(--text-dim);opacity:.8;margin-top:18px;line-height:1.55}

/* ---------- Table ---------- */
.tablewrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid rgba(0,0,0,.1);background:var(--paper)}
table{width:100%;border-collapse:collapse;min-width:560px}
th,td{padding:15px 18px;text-align:left;font-size:15px;border-bottom:1px solid rgba(0,0,0,.07)}
th{
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:13px;
  background:var(--paper-2);color:var(--text-ink);font-weight:600;
}
td{color:var(--text-ink-dim)}
td:first-child{color:var(--text-ink);font-weight:500}
tr:last-child td{border-bottom:0}

/* ---------- Accordion ---------- */
.acc{border-top:1px solid var(--line)}
.section--paper .acc{border-top-color:rgba(0,0,0,.1)}
.acc__item{border-bottom:1px solid var(--line)}
.section--paper .acc__item{border-bottom-color:rgba(0,0,0,.1)}
.acc__q{
  width:100%;display:flex;gap:20px;align-items:flex-start;justify-content:space-between;
  padding:24px 0;text-align:left;font-size:clamp(17px,1.5vw,19.5px);font-weight:600;
}
.acc__q:hover{color:var(--red)}
.acc__sign{flex:0 0 auto;width:26px;height:26px;position:relative;margin-top:3px}
.acc__sign::before,.acc__sign::after{
  content:"";position:absolute;background:var(--red);border-radius:2px;transition:.3s var(--ease);
}
.acc__sign::before{inset:12px 3px auto;height:2px}
.acc__sign::after{inset:3px auto 3px 12px;width:2px}
.acc__item.is-open .acc__sign::after{transform:scaleY(0)}
.acc__a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.acc__a p{padding-bottom:26px;color:var(--text-dim);font-size:16px;max-width:82ch}
.section--paper .acc__a p{color:var(--text-ink-dim)}

/* ---------- CTA ---------- */
.cta{
  position:relative;overflow:hidden;border-radius:var(--r-xl);
  padding:clamp(40px,6vw,76px);
  background:linear-gradient(120deg,#1a0508 0%,#0b0e13 55%);
  border:1px solid rgba(225,29,46,.24);text-align:center;
}
.cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 90% at 50% 0%,rgba(225,29,46,.3),transparent 70%);
}
.cta > *{position:relative}
.cta .lede{margin:20px auto 0}
.cta .btn-row{justify-content:center}

/* ---------- Footer ---------- */
.ftr{background:var(--ink-800);border-top:1px solid var(--line);padding:clamp(48px,6vw,76px) 0 34px}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(24px,3vw,44px)}
@media(max-width:860px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ftr__grid{grid-template-columns:1fr}}
.ftr h4{
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;
  font-size:13px;color:var(--text-dim);margin-bottom:18px;font-weight:600;
}
.ftr li{margin-bottom:11px}
.ftr a{font-size:15px;color:var(--text-dim);transition:color .2s}
.ftr a:hover{color:#fff}
.ftr__about p{font-size:15px;color:var(--text-dim);margin-top:16px;max-width:38ch}
.ftr__bot{
  margin-top:clamp(34px,4vw,54px);padding-top:24px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;
  font-size:13.5px;color:var(--text-dim);
}
.ftr__bot .disclaimer{max-width:78ch;line-height:1.6;opacity:.75}

/* ---------- Page hero (inner pages) ---------- */
.phero{
  padding:calc(76px + clamp(52px,7vw,92px)) 0 clamp(40px,5vw,66px);
  position:relative;overflow:hidden;border-bottom:1px solid var(--line);
}
.phero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(90% 120% at 82% 0%,rgba(225,29,46,.22),transparent 60%),linear-gradient(180deg,#0b0e13,#07090c);
}
.phero__in{position:relative}
.crumb{font-size:13.5px;color:var(--text-dim);margin-bottom:18px;letter-spacing:.04em}
.crumb a:hover{color:#fff}
.crumb span{opacity:.5;margin-inline:8px}

/* ---------- Prose ---------- */
.prose{max-width:74ch}
.prose h2{font-size:clamp(24px,2.6vw,34px);margin:clamp(40px,4vw,60px) 0 16px;letter-spacing:-.02em}
.prose h3{font-size:clamp(19px,2vw,23px);margin:34px 0 12px}
.prose p{margin-bottom:18px;color:var(--text-dim);font-size:16.8px}
.section--paper .prose p{color:var(--text-ink-dim)}
.prose ul{margin:0 0 22px}
.prose .ticks li{margin-top:12px}

.pullquote{
  border-left:3px solid var(--red);padding:6px 0 6px 24px;margin:32px 0;
  font-size:clamp(18px,1.9vw,22px);line-height:1.5;color:#fff;font-weight:500;
}
.section--paper .pullquote{color:var(--text-ink)}

/* ---------- Reveal ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  *{animation:none!important}
}

/* ---------- Misc ---------- */
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,56px);opacity:.55}
.logos img{height:34px;width:auto;filter:grayscale(1) brightness(2.4)}
.hr{height:1px;background:var(--line);border:0;margin:0}
.center{text-align:center}
.mx-auto{margin-inline:auto}


/* ---------- Cropped source chart ---------- */
.chartpair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:560px){.chartpair{grid-template-columns:1fr}}
.chartcol{background:#fff;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line)}
.chartcol__hd{
  padding:11px 14px;font-family:var(--font-display);text-transform:uppercase;
  letter-spacing:.14em;font-size:12.5px;font-weight:600;color:#fff;background:#2a3240;
}
.chartcol--after .chartcol__hd{background:var(--red)}
.crop{position:relative;overflow:hidden;background:#fff}
.crop img{position:absolute;max-width:none}
.chartlegend{
  display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-size:13px;color:var(--text-dim);
}
.chartlegend span{display:inline-flex;align-items:center;gap:8px}
.chartlegend i{width:16px;height:0;border-top:2px solid currentColor;display:block}
.chartlegend .t{color:#d33}
.chartlegend .m{color:#4a6cd4}
.chartlegend .b{color:#111}
.specrow{
  display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:20px;
  font-size:13.5px;color:var(--text-dim);
}
.specrow b{color:#fff;font-family:var(--font-display);font-size:17px;letter-spacing:.02em;margin-left:8px}

/* ---------- Photo band ---------- */
.photorow{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:clamp(14px,1.8vw,22px)}
@media(max-width:820px){.photorow{grid-template-columns:1fr 1fr}.photorow .photo--tall{grid-column:1/-1}}
@media(max-width:520px){.photorow{grid-template-columns:1fr}}
.photo{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--ink-700)}
.photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;transition:transform .7s var(--ease)}
.photo--tall img{aspect-ratio:16/13;object-position:44% 44%}
.photo--wide img{aspect-ratio:21/8;object-position:50% 34%}
.photo:hover img{transform:scale(1.035)}
.photo figcaption{
  position:absolute;inset:auto 0 0 0;padding:44px 20px 18px;
  background:linear-gradient(transparent,rgba(5,7,10,.92));
  font-size:14px;line-height:1.45;color:#e9ecf1;
}
@media(max-width:820px){.photo--tall img{aspect-ratio:16/9}}

/* ---------- Retailer buttons ---------- */
.prod__buy{display:flex;gap:8px;margin-top:16px}
.buybtn{
  flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 10px;border-radius:100px;border:1px solid rgba(0,0,0,.16);
  font-family:var(--font-display);font-size:14px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text-ink);
  white-space:nowrap;transition:background .22s var(--ease),color .22s,border-color .22s,transform .22s var(--ease);
}
.buybtn:hover{transform:translateY(-1px)}
.buybtn svg{width:15px;height:15px;flex:0 0 auto}
.buybtn--amazon:hover{background:#ff9900;border-color:#ff9900;color:#111}
.buybtn--ebay:hover{background:#0064d2;border-color:#0064d2;color:#fff}

/* ---------- Brand cards ---------- */
.brandcard{
  background:var(--paper-2);border:1px solid rgba(0,0,0,.07);border-radius:var(--r-lg);
  padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;
  transition:border-color .3s,transform .3s var(--ease);
}
.brandcard:hover{border-color:rgba(0,0,0,.18);transform:translateY(-4px)}
.brandcard__logo{margin-bottom:22px}
.brandcard__logo img{width:190px;height:auto}
.brandcard h3{font-size:clamp(20px,2vw,24px);margin-bottom:12px;letter-spacing:-.015em}
.brandcard p{font-size:15.5px;color:var(--text-ink-dim);line-height:1.6}
.brandcard .btn-row{margin-top:auto}
.brandcard--empty{
  background:transparent;border-style:dashed;border-color:rgba(0,0,0,.18);
}
.brandcard__slot{
  width:60px;height:60px;border-radius:16px;display:grid;place-items:center;
  border:1px dashed rgba(0,0,0,.22);color:var(--text-ink-dim);
  font-family:var(--font-display);font-size:30px;line-height:1;margin-bottom:22px;
}
