/* ===== Reset & tokens ===== */
*{box-sizing:border-box;}
[hidden]{display:none!important;}
html{background:#EFF8FF;}

:root{
  --bg:#EFF8FF;
  --surface:#FFFFFF;
  --surface-2:#E3F3FC;
  --ink:#14324A;
  --ink-2:#4B7B96;
  --line:#CFE8F5;
  --brand:#1878B0;
  --brand-ink:#FFFFFF;
  --brand-light:#4FA8D8;
  --focus:#1878B0;
  --danger:#B3311C;

  /* fixed "steel plate" band (deep navy from the logo) — same in both themes, deliberate */
  --plate-bg:#04263E;
  --plate-bg-2:#0C3E60;
  --plate-ink:#F2F8FC;
  --plate-ink-2:#9FC4DC;
  --plate-line:rgba(255,255,255,.16);
  --plate-accent:#6CA8CC;
  --plate-accent-ink:#04263E;

  --font-display:'Oswald','Arial Narrow',sans-serif;
  --font-body:'PT Sans',Arial,Helvetica,sans-serif;
  --font-mono:'JetBrains Mono','Consolas',monospace;

  --wrap:1180px;
  --radius:10px;
  --shadow:0 1px 2px rgba(4,38,62,.08), 0 8px 24px -12px rgba(4,38,62,.22);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#071A28;
    --surface:#0E2C42;
    --surface-2:#123650;
    --ink:#E7F1F8;
    --ink-2:#9FC0D4;
    --line:#1E4964;
    --brand:#6CA8CC;
    --brand-ink:#04263E;
    --brand-light:#9FC4DC;
    --focus:#6CA8CC;
    --danger:#E58573;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  --bg:#071A28;
  --surface:#0E2C42;
  --surface-2:#123650;
  --ink:#E7F1F8;
  --ink-2:#9FC0D4;
  --line:#1E4964;
  --brand:#6CA8CC;
  --brand-ink:#04263E;
  --brand-light:#9FC4DC;
  --focus:#6CA8CC;
  --danger:#E58573;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.08;
  margin:0 0 .5em;
  text-wrap:balance;
  letter-spacing:.2px;
}
h1{font-size:clamp(2.4rem,4vw + 1rem,4.2rem); font-weight:700;}
h2{font-size:clamp(1.7rem,1.6vw + 1.1rem,2.4rem);}
h3{font-size:1.28rem;}
p{margin:0 0 1em;}
a{color:var(--brand);}
ul{margin:0;padding:0;list-style:none;}
button{font:inherit;}
img{display:block;max-width:100%;}
.container{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand-light);
}
section{padding:clamp(3rem,6vw,5.5rem) 0;}
.lede{font-size:1.1rem;color:var(--ink-2);max-width:62ch;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-radius:4px;
}

/* ===== Header ===== */
header.site{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-inner{
  display:flex;align-items:center;gap:24px;
  padding:10px 24px;
  max-width:var(--wrap);margin:0 auto;
}
.brand-mark{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);flex:0 0 auto;}
.brand-mark img{height:56px;width:56px;border-radius:12px;background:#fff;padding:6px;object-fit:contain;box-shadow:var(--shadow);}
.brand-mark strong{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.01em;color:var(--brand);line-height:1;}
.brand-mark span{display:block;font-size:.72rem;color:var(--ink-2);letter-spacing:.05em;margin-top:3px;}
nav.main{display:flex;gap:2px;flex:1;flex-wrap:wrap;justify-content:center;}
nav.main a{
  color:var(--ink-2);text-decoration:none;font-size:.92rem;font-weight:600;
  padding:8px 12px;border-radius:7px;white-space:nowrap;
}
nav.main a:hover{color:var(--ink);background:var(--surface-2);}
nav.main a[aria-current="page"]{color:var(--brand);background:var(--surface-2);}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.phone-link{
  font-family:var(--font-mono);font-weight:600;color:var(--ink);text-decoration:none;
  font-size:.92rem;white-space:nowrap;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:8px;border:1px solid transparent;
  font-weight:700;font-size:.95rem;cursor:pointer;text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-accent{background:var(--brand);color:var(--brand-ink);}
.btn-accent:hover{box-shadow:var(--shadow);}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{background:var(--surface-2);}
.btn-plate{background:var(--plate-accent);color:var(--plate-accent-ink);}
.btn-plate:hover{box-shadow:0 8px 24px -10px rgba(0,0,0,.5);}
.btn-small{padding:8px 14px;font-size:.85rem;border-radius:7px;}
@media (max-width:960px){
  nav.main{display:none;}
  .header-actions .btn span.long{display:none;}
}
/* Below ~480px the logo block + phone number + CTA no longer fit on one
   row and force the whole page to overflow horizontally (the browser then
   zooms the page out to compensate, which is what made the floating
   quote pill and card buttons look misaligned on phones). Trim the header
   so it fits without any element wrapping or shrinking unexpectedly. */
@media (max-width:480px){
  .site-inner{padding:10px 14px;gap:12px;}
  .brand-mark{gap:10px;}
  .brand-mark img{height:40px;width:40px;}
  .brand-mark strong{font-size:1.15rem;}
  .brand-mark > span > span{display:none;}
  .header-actions{gap:8px;}
  .phone-link{display:none;}
}

/* ===== Hero (with background photo) ===== */
.hero{
  position:relative;
  color:var(--plate-ink);
  padding:clamp(3.5rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);
  overflow:hidden;
  isolation:isolate;
}
.hero::before{
  content:'';
  position:absolute;inset:0;z-index:-2;
  background-size:cover;background-position:center;
  background-repeat:no-repeat;
}
.hero::after{
  content:'';
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(160deg, rgba(4,38,62,.94) 0%, rgba(12,62,96,.85) 55%, rgba(4,38,62,.72) 100%);
}
.hero--home::before{background-image:url('../assets/hero/home.jpg');}
.hero--company::before{background-image:url('../assets/hero/company.jpg');}
.hero--production::before{background-image:url('../assets/hero/production.jpg');}
.hero--catalog::before{background-image:url('../assets/hero/catalog.jpg');}
.hero--opt::before{background-image:url('../assets/hero/opt.jpg');}
.hero--delivery::before{background-image:url('../assets/hero/delivery.jpg');}
.hero--contacts::before{background-image:url('../assets/hero/contacts.jpg');}
.hero-grid{
  display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;
}
.hero-simple{max-width:70ch;}
.hero h1{color:var(--plate-ink);}
.hero h1 em{font-style:normal;color:var(--plate-accent);}
.hero .lede{color:var(--plate-ink-2);max-width:56ch;}
.breadcrumb{
  font-family:var(--font-mono);font-size:.78rem;color:var(--plate-ink-2);
  margin-bottom:16px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;
}
.breadcrumb a{color:var(--plate-ink-2);text-decoration:none;}
.breadcrumb a:hover{color:var(--plate-ink);text-decoration:underline;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;
}
.stat{
  border:1px solid var(--plate-line);border-radius:10px;padding:14px 16px;
  background:rgba(255,255,255,.05);backdrop-filter:blur(2px);
  display:flex;align-items:center;
}
.stat span{font-size:.8rem;color:var(--plate-ink-2);}
.hero-badge-card{
  border:1px solid var(--plate-line);border-radius:14px;background:rgba(4,38,62,.55);backdrop-filter:blur(3px);
  padding:26px;position:relative;
}
.hero-badge-card h3{color:var(--plate-ink);font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.strength-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.strength-chip{
  font-family:var(--font-mono);font-weight:600;font-size:.95rem;
  border:1px solid var(--plate-line);border-radius:8px;padding:6px 10px;color:var(--plate-accent);
}
.hero-badge-card ul{display:flex;flex-direction:column;gap:9px;}
.hero-badge-card li{display:flex;gap:10px;font-size:.9rem;color:var(--plate-ink-2);align-items:flex-start;}
.hero-badge-card li svg{flex:0 0 auto;margin-top:3px;color:var(--plate-accent);}
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr;} .hero-stats{grid-template-columns:1fr 1fr;} }

/* ===== Generic section chrome ===== */
.section-head{max-width:70ch;margin-bottom:30px;}
.band{background:var(--surface-2);}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
@media (max-width:820px){ .grid-2{grid-template-columns:1fr;} }

/* ===== Company / process ===== */
.fact-list{display:flex;flex-direction:column;gap:16px;margin-top:8px;}
.fact{display:flex;gap:14px;}
.fact .ico{
  flex:0 0 auto;width:38px;height:38px;border-radius:9px;background:var(--surface);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--brand);
}
.fact h4{margin:0 0 3px;font-family:var(--font-body);font-size:1rem;font-weight:700;}
.fact p{margin:0;color:var(--ink-2);font-size:.94rem;}

.process{counter-reset:step;display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);}
.process-step{
  counter-increment:step;display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px 22px;
  border-top:1px solid var(--line);
}
.process-step:first-child{border-top:none;}
.process-step::before{
  content:counter(step,decimal);
  font-family:var(--font-mono);font-weight:600;color:var(--brand);font-size:1.1rem;
}
.process-step h4{margin:0 0 4px;}
.process-step p{margin:0;color:var(--ink-2);font-size:.94rem;}
.process-step .flag{
  display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:.72rem;
  padding:3px 8px;border-radius:6px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);
}

/* ===== Production spotlight ===== */
.prod-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;
}
.prod-card .cat-footer{margin-top:auto;padding-top:20px;}
.prod-card h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.code-grid{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.code-chip{
  font-family:var(--font-mono);font-size:.82rem;border:1px solid var(--line);border-radius:7px;
  padding:6px 10px;color:var(--ink);background:var(--surface-2);
}
.prod-card .note{font-size:.86rem;color:var(--ink-2);margin-top:10px;}

/* ===== Catalog ===== */
.catalog-toolbar{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:22px;
  justify-content:space-between;
}
.search-box{
  display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);
  border-radius:9px;padding:9px 14px;flex:1;min-width:240px;max-width:420px;
}
.search-box svg{flex:0 0 auto;color:var(--ink-2);}
.search-box input{
  border:none;background:transparent;outline:none;color:var(--ink);font-family:var(--font-body);
  font-size:.95rem;width:100%;
}
.catalog-count{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-2);white-space:nowrap;}
.cat-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;
}
.cat{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;display:flex;flex-direction:column;box-shadow:var(--shadow);
}
.cat-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.cat-head h3{margin:0;font-size:1.08rem;}
.cat-count{
  font-family:var(--font-mono);font-size:.72rem;color:var(--ink-2);white-space:nowrap;
  border:1px solid var(--line);border-radius:6px;padding:3px 7px;margin-top:2px;
}
.cat-made{font-size:.72rem;font-family:var(--font-mono);color:var(--brand);font-weight:700;margin-bottom:6px;}
.cat-note{font-size:.82rem;color:var(--ink-2);margin-bottom:10px;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.chip-sm{
  font-family:var(--font-mono);font-size:.72rem;border:1px solid var(--line);border-radius:6px;
  padding:3px 7px;color:var(--ink-2);background:var(--surface-2);
}
.cat details{margin-top:auto;border-top:1px solid var(--line);padding-top:10px;}
.cat summary{
  cursor:pointer;font-size:.86rem;font-weight:700;color:var(--brand);list-style:none;
  display:flex;align-items:center;gap:6px;
}
.cat summary::-webkit-details-marker{display:none;}
.cat summary::after{content:'▾';transition:transform .15s ease;}
.cat details[open] summary::after{transform:rotate(180deg);}
.cat details ul{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.cat details li{font-size:.88rem;color:var(--ink-2);padding-left:14px;position:relative;}
.cat details li::before{content:'—';position:absolute;left:0;color:var(--line);}
.cat-footer{display:flex;gap:8px;margin-top:14px;}
.btn-add{
  flex:1;font-family:var(--font-body);font-weight:700;font-size:.85rem;
  padding:9px 12px;border-radius:7px;border:1px solid var(--brand);background:transparent;color:var(--brand);
  cursor:pointer;transition:background-color .15s ease, color .15s ease;
}
.btn-add:hover{background:var(--brand);color:var(--brand-ink);}
.btn-add.is-added{background:var(--brand);color:var(--brand-ink);}
.no-results{color:var(--ink-2);padding:30px 0;text-align:center;}

/* ===== Wholesale / delivery ===== */
.terms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.term-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;
}
.term-card .ico{color:var(--brand);margin-bottom:10px;}
.term-card h4{margin:0 0 6px;font-size:1rem;}
.term-card p{margin:0;font-size:.9rem;color:var(--ink-2);}

/* ===== Request / contacts ===== */
.request-shell{
  display:grid;grid-template-columns:1fr 1.1fr;gap:32px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,36px);
  box-shadow:var(--shadow);
}
@media (max-width:900px){ .request-shell{grid-template-columns:1fr;} }
.guide h4{margin:0 0 10px;}
.guide ul{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.guide li{display:flex;gap:10px;font-size:.9rem;color:var(--ink-2);}
.guide li svg{flex:0 0 auto;color:var(--brand);margin-top:2px;}
.contact-card{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;display:flex;flex-direction:column;gap:8px;}
.contact-card a{color:var(--ink);text-decoration:none;font-weight:700;font-family:var(--font-mono);}
.contact-card a:hover{color:var(--brand);}
.contact-card .role{color:var(--ink-2);font-size:.85rem;font-weight:400;font-family:var(--font-body);}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field label{font-size:.82rem;font-weight:700;color:var(--ink-2);}
.field input, .field textarea{
  font:inherit;padding:11px 13px;border-radius:8px;border:1px solid var(--line);
  background:var(--bg);color:var(--ink);resize:vertical;
}
.field input:focus, .field textarea:focus{border-color:var(--brand);}
.quote-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.quote-tags:empty::before{content:'Пока ничего не выбрано — можно оставить заявку по телефону в комментарии.';color:var(--ink-2);font-size:.82rem;}
.quote-tag{
  display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);
  border-radius:7px;padding:4px 6px 4px 10px;font-size:.82rem;
}
.quote-tag button{background:none;border:none;color:var(--ink-2);cursor:pointer;padding:2px;line-height:1;}
.consent-row{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:.84rem;color:var(--ink-2);}
.consent-row input{margin-top:3px;flex:0 0 auto;}
.consent-row a{color:var(--ink-2);text-decoration:underline;}
.file-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.file-upload input[type="file"]{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.file-upload label.btn{font-size:.85rem;font-weight:700;color:var(--ink);cursor:pointer;}
.file-upload:focus-within label{outline:2px solid var(--brand);outline-offset:2px;}
.file-upload-name{font-size:.82rem;color:var(--ink-2);}
.form-note{font-size:.8rem;color:var(--ink-2);margin-top:10px;}
.form-status{font-size:.86rem;margin-top:10px;font-weight:700;}
.form-status.ok{color:#1F7A4D;}
.form-status.err{color:var(--danger);}

/* ===== Reviews carousel ===== */
/* All pages stack in the same grid cell so the tallest one sets the
   carousel's height; is-active fades in on top while the rest wait
   invisibly underneath — no layout jump when the page changes. */
.review-carousel{display:grid;}
.review-page{
  grid-area:1/1;
  opacity:0;visibility:hidden;transition:opacity .5s ease;
}
.review-page.is-active{opacity:1;visibility:visible;}
@media (prefers-reduced-motion:reduce){
  .review-page{transition:none;}
}
.review-dots{grid-area:2/1;display:flex;justify-content:center;gap:8px;margin-top:20px;}
.review-dot{
  width:9px;height:9px;padding:0;border-radius:50%;border:none;background:var(--line);
  cursor:pointer;transition:background-color .2s ease,transform .2s ease;
}
.review-dot:hover{background:var(--ink-2);}
.review-dot.is-active{background:var(--brand);transform:scale(1.2);}

.review-single{
  display:flex;gap:26px;align-items:flex-start;max-width:680px;margin:0 auto;
  border:1px dashed var(--line);border-radius:var(--radius);padding:32px;background:var(--surface);
}
.review-photo{width:84px;height:84px;border-radius:50%;background:var(--surface-2);flex:0 0 auto;overflow:hidden;}
.review-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.review-body{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-width:0;}
.review-body .quote-ico{color:var(--line);}
.review-body .ph-line{height:10px;border-radius:4px;background:var(--surface-2);width:100%;}
.review-body .ph-line.w80{width:80%;}
.review-body .ph-line.w60{width:60%;}
.review-body .ph-name{height:9px;border-radius:4px;background:var(--surface-2);width:120px;margin-top:6px;}
.review-body .review-text{margin:0;color:var(--ink);font-size:.95rem;line-height:1.55;}
.review-body .review-name{font-family:var(--font-mono);font-weight:600;margin-top:6px;}
.review-body .ph-label{
  font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--ink-2);margin-top:2px;
}
@media (max-width:560px){
  .review-single{flex-direction:column;align-items:center;text-align:center;padding:26px;}
  .review-body{align-items:center;}
  .review-body .ph-line{width:100%!important;}
}

/* ===== Privacy ===== */
.legal .container{max-width:80ch;}
.legal h2{font-size:1.7rem;}
.legal h3{font-size:1.05rem;margin-top:1.4em;}
.legal p, .legal li{color:var(--ink-2);font-size:.94rem;}
.legal li{padding-left:16px;position:relative;margin-bottom:6px;}
.legal li::before{content:'—';position:absolute;left:0;color:var(--line);}

/* ===== Footer ===== */
footer.site{background:var(--plate-bg);color:var(--plate-ink-2);padding:48px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;margin-bottom:34px;}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr;} }
footer.site h4{color:var(--plate-ink);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;font-family:var(--font-display);}
footer.site a{color:var(--plate-ink-2);text-decoration:none;font-size:.9rem;}
footer.site a:hover{color:var(--plate-ink);}
footer.site ul{display:flex;flex-direction:column;gap:10px;}
.footer-bottom{
  border-top:1px solid var(--plate-line);padding-top:20px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:10px;font-size:.82rem;color:var(--plate-ink-2);
}
.footer-bottom a{text-decoration:underline;}
.footer-bottom-links{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.footer-credit{
  text-decoration:none!important;
  color:var(--plate-ink-2);
  opacity:.7;
}
.footer-credit:hover{opacity:1;color:var(--plate-ink);}

/* ===== Floating quote pill ===== */
:root{--cookie-bar-h:0px;}
#quote-pill{
  position:fixed;right:20px;bottom:calc(20px + var(--cookie-bar-h));z-index:50;
  display:flex;align-items:center;gap:8px;
  background:var(--brand);color:var(--brand-ink);text-decoration:none;
  padding:12px 18px;border-radius:999px;font-weight:700;font-size:.9rem;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.5);
  transition:bottom .15s ease;
}
#quote-pill b{font-family:var(--font-mono);}

/* On mobile, full-width "В заявку" buttons on cards sit right where a wide
   pill would land, so shrink it to a compact round badge to avoid covering them. */
@media (max-width:640px){
  #quote-pill{
    right:14px;bottom:calc(14px + var(--cookie-bar-h));
    width:50px;height:50px;padding:0;border-radius:50%;justify-content:center;gap:0;
  }
  #quote-pill .quote-pill-label{display:none;}
  #quote-pill .quote-pill-ico{font-size:1.25rem;line-height:1;}
  #quote-pill b{
    position:absolute;top:-3px;right:-3px;
    background:var(--brand-ink);color:var(--brand);
    min-width:19px;height:19px;padding:0 4px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;font-size:.68rem;
  }
  body.has-quote-pill{padding-bottom:78px;}
}

/* ===== Cookie banner ===== */
#cookie-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--plate-bg);color:var(--plate-ink-2);border-top:1px solid var(--plate-line);
  padding:14px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center;
}
#cookie-bar p{margin:0;font-size:.85rem;max-width:60ch;}
#cookie-bar a{color:var(--plate-ink);}
