/*
Theme Name: Inksaver
Theme URI: https://inksaver.co.za
Description: Inksaver design system child theme for Hello Elementor. Contains the CMYK process-colour design system, WooCommerce template overrides, compatibility display and cost-per-page calculations.
Author: Design Lunatics
Version: 1.6.0
Template: hello-elementor
Text Domain: inksaver
*/


/* ============================================================
   1. DESIGN SYSTEM (shared, as approved in the prototype)
   ============================================================ */

/* ============================================================
   INKSAVER DESIGN SYSTEM
   Process-colour system. CMYK as structure, not decoration.
   ============================================================ */



:root{
  /* --- Process inks --- */
  --magenta:#D10075;
  --magenta-deep:#A2005B;
  --magenta-wash:#FDEFF6;
  --cyan:#009FD9;
  --cyan-deep:#0077A3;
  --cyan-wash:#EAF7FD;
  --yellow:#FFDF00;
  --yellow-wash:#FFFBE0;

  /* --- Key (black channel) --- */
  --key:#15141A;
  --key-80:#3C3A45;
  --key-60:#6A6775;
  --key-40:#9C99A6;
  --key-20:#D9D7DE;
  --key-10:#ECEBEF;
  --paper:#FFFFFF;
  --newsprint:#F6F6F8;

  --ok:#0F8A4F;
  --ok-wash:#EAF6EF;

  /* --- Type --- */
  --display:'Archivo Expanded','Archivo',system-ui,sans-serif;
  --body:'Archivo',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  /* --- Scale --- */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px;

  --r-sm:4px; --r-md:8px; --r-lg:14px;
  --shadow:0 1px 2px rgba(21,20,26,.06),0 4px 16px rgba(21,20,26,.06);
  --shadow-lg:0 2px 4px rgba(21,20,26,.05),0 12px 40px rgba(21,20,26,.10);
  --maxw:1280px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--key);
  font-family:var(--body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}

:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:2px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5)}

/* ---------- Typography ---------- */
.display-xl{font-family:var(--display);font-weight:800;font-size:clamp(38px,5.2vw,68px);line-height:1.02;letter-spacing:-.02em;margin:0}
.display-l{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.08;letter-spacing:-.015em;margin:0}
.display-m{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.2vw,28px);line-height:1.15;letter-spacing:-.01em;margin:0}
.h-prod{font-family:var(--body);font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1.18;letter-spacing:-.015em;margin:0}

.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--key-60);margin:0;
}
.lede{font-size:18px;line-height:1.6;color:var(--key-80);margin:0}
.small{font-size:13px;color:var(--key-60)}

/* The part-number face. Codes are objects, not text. */
.code{
  font-family:var(--mono);font-weight:500;letter-spacing:.01em;
  font-variant-ligatures:none;
}
.code-chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:12.5px;font-weight:500;
  background:var(--key-10);color:var(--key-80);
  padding:4px 9px;border-radius:var(--r-sm);white-space:nowrap;
}
.code-chip.match{background:var(--ok-wash);color:var(--ok);font-weight:700}

/* ---------- Process rule: the CMYK hairline ---------- */
.process-rule{height:3px;border:0;margin:0;
  background:linear-gradient(90deg,
    var(--cyan) 0 25%, var(--magenta) 25% 50%,
    var(--yellow) 50% 75%, var(--key) 75% 100%);
}
.process-rule.thin{height:2px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:15px;letter-spacing:.005em;
  padding:14px 26px;border-radius:var(--r-md);border:2px solid transparent;
  transition:transform .12s ease, background .15s ease, box-shadow .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--magenta);color:#fff}
.btn-primary:hover{background:var(--magenta-deep)}
.btn-lg{padding:17px 32px;font-size:16px;width:100%}
.btn-ghost{background:transparent;color:var(--key);border-color:var(--key-20)}
.btn-ghost:hover{border-color:var(--key);background:var(--newsprint)}
.btn-cyan{background:var(--cyan);color:#fff}
.btn-cyan:hover{background:var(--cyan-deep)}

/* ---------- Header ---------- */
.promo{background:var(--key);color:#fff;font-size:13.5px;padding:9px 0;text-align:center}
.promo .code{color:var(--yellow)}

.masthead{border-bottom:1px solid var(--key-10);background:var(--paper)}
.masthead-in{display:flex;align-items:center;gap:var(--s6);padding:18px 0}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em}
.logo-mark{width:30px;height:30px;flex:none}

.searchbar{flex:1;display:flex;max-width:560px;position:relative}
.searchbar input{
  flex:1;font-family:var(--mono);font-size:14px;padding:13px 15px;
  border:2px solid var(--key-20);border-right:0;
  border-radius:var(--r-md) 0 0 var(--r-md);outline:none;min-width:0;
}
.searchbar input::placeholder{font-family:var(--body);color:var(--key-40);letter-spacing:0}
.searchbar input:focus{border-color:var(--key)}
.searchbar button{
  background:var(--key);color:#fff;border:0;padding:0 22px;font-weight:700;font-size:14px;
  border-radius:0 var(--r-md) var(--r-md) 0;
}
.searchbar button:hover{background:var(--magenta)}

.util{display:flex;align-items:center;gap:var(--s5);margin-left:auto;font-size:14px;font-weight:500}
.util a:hover{color:var(--magenta)}
.cart-btn{display:flex;align-items:center;gap:8px;font-weight:700}
.cart-count{background:var(--magenta);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;
  min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 5px}

.brandnav{border-bottom:1px solid var(--key-10);background:var(--paper)}
.brandnav-in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.brandnav-in::-webkit-scrollbar{display:none}
.brandnav a{
  padding:13px 18px;font-weight:600;font-size:14.5px;white-space:nowrap;
  border-bottom:3px solid transparent;color:var(--key-80);
}
.brandnav a:hover{color:var(--key);border-bottom-color:var(--key-20)}
.brandnav a.on{color:var(--key);border-bottom-color:var(--magenta)}

/* ---------- Footer ---------- */
.foot{background:var(--key);color:var(--key-40);margin-top:var(--s9);padding:var(--s8) 0 var(--s6)}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:var(--s6)}
.foot h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 var(--s4)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}
.foot a:hover{color:#fff}
.foot-base{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;font-size:13px}

/* ---------- Cards ---------- */
.card{background:var(--paper);border:1px solid var(--key-10);border-radius:var(--r-lg);overflow:hidden;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease}
.card:hover{border-color:var(--key-20);box-shadow:var(--shadow-lg);transform:translateY(-2px)}

.badge{
  display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:var(--r-sm);
}
.badge-save{background:var(--yellow-wash);color:#8A6A00}
.badge-stock{background:var(--ok-wash);color:var(--ok)}
.badge-oem{background:var(--cyan-wash);color:var(--cyan-deep)}

@media(max-width:900px){
  .masthead-in{flex-wrap:wrap;gap:var(--s4)}
  .searchbar{order:3;flex-basis:100%;max-width:none}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .foot-grid{grid-template-columns:1fr}
  .util{gap:var(--s4)}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* ---------- Logo (real asset) ---------- */
.logo{display:inline-flex;align-items:center}
.logo img{height:34px;width:auto;display:block}
.foot .logo img{height:30px}
@media(max-width:600px){.logo img{height:28px}}

/* ---------- Payment methods ---------- */
.paystrip{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.paymark{
  background:#fff;border:1px solid var(--key-20);border-radius:5px;
  height:30px;padding:0 10px;display:inline-flex;align-items:center;
  font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:-.01em;
  color:var(--key);white-space:nowrap;
}
.paymark.pjn{background:var(--key);color:#fff;border-color:var(--key)}
.paymark.pf{color:#0B4D8F}
.paymark.stitch{color:#1B1B1B}
.paymark.visa{color:#1A1F71;font-style:italic}
.paymark.mc{color:#EB001B}
.paymark.eft{color:var(--key-80);font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.08em}

/* ---------- Brand tiles with real marks ---------- */
.brand-tile img{height:26px;width:auto;margin:0 auto var(--s3);display:block;
  filter:grayscale(1) contrast(.85);opacity:.72;transition:filter .15s,opacity .15s}
.brand-tile:hover img{filter:none;opacity:1}

/* ---------- Real product imagery ---------- */
.pcard-img img,.gal-main img,.thumb img{
  width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.gal-main img{max-height:100%}


/* ---------- Grid overflow fix ---------- */
.pdp>*, .detail-grid>*, .layout>*, .hero-in>*{min-width:0}
img{max-width:100%;height:auto}

/* ---------- Gallery sizing (was unbounded) ---------- */
.gal-main{aspect-ratio:4/3!important;padding:var(--s5)!important;max-height:460px}
.gal-main img{width:auto!important;height:auto!important;max-width:88%;max-height:88%;
  object-fit:contain;mix-blend-mode:multiply}
.thumb{padding:8px!important}
.thumb img{width:auto!important;height:auto!important;max-width:100%;max-height:100%;
  object-fit:contain;mix-blend-mode:multiply}
.pcard-img img{width:auto!important;height:auto!important;max-width:92%;max-height:92%;
  object-fit:contain;mix-blend-mode:multiply}


/* ================= HERO BANNER SLOT ================= */
.hero{padding:var(--s6) 0 var(--s7)}
.hero-in{grid-template-columns:1.55fr .95fr!important;align-items:stretch!important}

.banner-stage{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--newsprint)}
.banner-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);height:100%}
.banner{flex:0 0 100%;display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s5);
  align-items:center;padding:var(--s7) var(--s6);min-height:400px;position:relative;overflow:hidden}
.banner>*{min-width:0}

.banner--sale{background:linear-gradient(120deg,#FFF4FA 0%,#FDEFF6 55%,#EAF7FD 100%)}
.banner--biz{background:linear-gradient(120deg,var(--key) 0%,#241F35 100%)}
.banner--free{background:linear-gradient(120deg,#FFFCE6 0%,#FFF9D6 50%,#EAF7FD 100%)}

.banner-kicker{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--magenta);margin:0 0 var(--s3)}
.banner--biz .banner-kicker{color:var(--yellow)}
.banner-h{font-size:clamp(30px,3.6vw,50px)!important;line-height:1.03}
.banner--biz .banner-h{color:#fff}
.banner-sub{margin:var(--s4) 0 0;font-size:16px;line-height:1.55;color:var(--key-80);max-width:40ch}
.banner--biz .banner-sub{color:rgba(255,255,255,.75)}
.banner-cta{display:flex;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap}
.btn-onwhite{background:rgba(255,255,255,.85);color:var(--key);border-color:rgba(21,20,26,.12)}
.btn-onwhite:hover{background:#fff;border-color:var(--key)}
.banner--biz .btn-onwhite{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.28)}
.banner--biz .btn-onwhite:hover{background:rgba(255,255,255,.18)}

.banner-art{display:grid;place-items:center;height:100%}
.banner-art img{max-width:100%;max-height:280px;width:auto;height:auto;
  object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 18px 34px rgba(21,20,26,.16))}
.banner-art--stat{align-content:center}
.statblock{display:flex;align-items:baseline;gap:12px}
.statnum{font-family:var(--display);font-weight:800;font-size:clamp(52px,7vw,92px);
  line-height:.9;letter-spacing:-.03em;color:var(--yellow)}
.banner--free .statnum{color:var(--magenta)}
.statlbl{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  line-height:1.5;color:rgba(255,255,255,.6)}
.banner--free .statlbl{color:var(--key-60)}

.banner-controls{position:absolute;left:var(--s6);bottom:var(--s5);display:flex;gap:8px;z-index:3}
.bdot{width:28px;height:4px;border:0;padding:0;border-radius:2px;
  background:rgba(21,20,26,.20);transition:background .2s,width .2s}
.bdot.on{background:var(--magenta);width:44px}
.banner--biz~.banner-controls .bdot{background:rgba(255,255,255,.3)}

@media(max-width:1000px){
  .hero-in{grid-template-columns:1fr!important}
  .banner{grid-template-columns:1fr;min-height:0;padding:var(--s6) var(--s5)}
  .banner-art{display:none}
  .banner-controls{position:static;padding:0 var(--s5) var(--s5)}
  }

/* ================= PAYMENT & BRAND MARKS ================= */
.paymark img{height:20px;width:auto;display:block}
.brand-tile .brandmark{height:28px;display:grid;place-items:center;margin-bottom:var(--s3)}
.brand-tile .brandmark img{max-height:28px;width:auto;
  filter:grayscale(1) contrast(.9);opacity:.7;transition:filter .15s,opacity .15s}
.brand-tile:hover .brandmark img{filter:none;opacity:1}


/* ---------- Full-artwork banner slide ---------- */
.banner--art{padding:0!important;display:block!important;position:relative;min-height:0!important}
.banner-full{width:100%;height:100%;object-fit:cover;display:block;min-height:400px}
.banner-overlay{position:absolute;right:var(--s6);bottom:var(--s7);z-index:2}
@media(max-width:1000px){
  .banner-full{min-height:220px}
  .banner-overlay{right:var(--s4);bottom:var(--s4)}
  .banner-overlay .btn{padding:11px 18px;font-size:14px}
}

/* ---------- Real payment marks ---------- */
.paymark{background:#fff;border:1px solid var(--key-20);border-radius:5px;height:32px;
  padding:0 9px;display:inline-flex;align-items:center;justify-content:center}
.paymark img{height:16px;width:auto;display:block;max-width:none}
.foot .paymark{background:#fff}

/* ---------- Real brand marks ---------- */
.brand-tile{padding:var(--s5) var(--s4)!important;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:var(--s3);min-height:104px}
.brandmark{height:30px;display:flex;align-items:center;justify-content:center}
.brandmark img{max-height:30px;max-width:110px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1) contrast(.85);opacity:.62;transition:filter .18s,opacity .18s}
.brand-tile:hover .brandmark img{filter:none;opacity:1}
.brand-tile .ct{font-family:var(--mono);font-size:11px;color:var(--key-60)}


/* ================= TOP BAR: marquee + socials ================= */
.topbar{background:var(--key);color:#fff;position:relative;overflow:hidden}
.topbar::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--cyan) 0 25%,var(--magenta) 25% 50%,var(--yellow) 50% 75%,var(--key) 75% 100%)}
.topbar-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s5);align-items:center;height:40px}
.topbar-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;align-items:center;gap:var(--s5);width:max-content;
  animation:mq 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq{font-size:13.5px;white-space:nowrap;color:rgba(255,255,255,.9)}
.mq b{color:var(--yellow);font-weight:700}
.mq-dot{width:5px;height:5px;border-radius:50%;background:var(--magenta);flex:none}

.topbar-right{display:flex;align-items:center;gap:var(--s3)}
.tb-social{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.10);color:#fff;transition:background .15s,color .15s}
.tb-social svg{width:14px;height:14px}
.tb-social:hover{background:var(--magenta);color:#fff}
.tb-phone{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;
  color:#fff;padding-left:var(--s3);margin-left:2px;border-left:1px solid rgba(255,255,255,.18)}
.tb-phone:hover{color:var(--yellow)}
@media(max-width:760px){
  .topbar-in{grid-template-columns:1fr;height:36px}
  .topbar-right{display:none}
}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ================= HEADER: richer utility block ================= */
.masthead{border-bottom:0;box-shadow:0 1px 0 var(--key-10)}
.masthead-in{padding:16px 0;gap:var(--s5)}
.searchbar{max-width:none;flex:1 1 420px}
.searchbar input{border-color:var(--key-20);border-width:2px;padding:14px 16px}
.searchbar input:focus{border-color:var(--magenta)}
.searchbar button{background:var(--magenta);padding:0 26px}
.searchbar button:hover{background:var(--key)}

.util{gap:var(--s2);align-items:stretch}
.util-ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;
  font-size:14px;font-weight:700}
.util-acct .util-ic{background:var(--magenta-wash);color:var(--magenta)}
.util-txt{display:flex;flex-direction:column;line-height:1.25}
.util-txt b{font-size:13.5px;font-weight:700;color:var(--key)}
.util-txt small{font-size:11.5px;color:var(--key-60)}
.cart-ic{position:relative;width:32px;height:32px;border-radius:50%;background:var(--key);
  display:grid;place-items:center;font-size:15px;flex:none;filter:grayscale(1) brightness(3)}
.cart-count{position:absolute;top:-4px;right:-5px;background:var(--magenta);color:#fff;
  font-family:var(--mono);font-size:10px;font-weight:700;min-width:18px;height:18px;
  border-radius:9px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;filter:none}

.brandnav{background:var(--newsprint);border-bottom:1px solid var(--key-10)}
.brandnav-in{gap:0}
.brandnav a{padding:14px 20px;font-size:14.5px;border-bottom:3px solid transparent}
.brandnav a:hover{background:#fff;color:var(--magenta);border-bottom-color:var(--key-20)}
.brandnav a.on{background:#fff;border-bottom-color:var(--magenta)}

@media(max-width:1100px){
  .util-txt{display:none}
  }
@media(max-width:900px){
  }


/* ===== TOP BAR: quieter socials + phone ===== */
.tb-social{width:auto;height:auto;border-radius:0;background:none;color:rgba(255,255,255,.55)}
.tb-social svg{width:15px;height:15px}
.tb-social:hover{background:none;color:#fff}
.topbar-right{gap:14px}
.tb-phone{font-weight:600;font-size:13px;color:rgba(255,255,255,.72);
  padding-left:14px;margin-left:0;border-left:1px solid rgba(255,255,255,.14);gap:7px}
.tb-phone svg{opacity:.6}
.tb-phone:hover{color:#fff}
.tb-phone:hover svg{opacity:1}

/* ===== BRAND NAV: fill the space after Technology ===== */
.brandnav-in{align-items:stretch}
.bn-spacer{flex:1 1 auto;min-width:var(--s5)}
.bn-alt{display:inline-flex;align-items:center;gap:8px;padding:14px 16px!important;
  font-size:13.5px!important;font-weight:600;color:var(--key-60)!important;border-bottom:3px solid transparent}
.bn-alt:hover{color:var(--key)!important;background:#fff}
.bn-ic{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;flex:none;
  font-family:var(--mono);font-size:10px;font-weight:700;line-height:1}
.bn-ic--deal{background:var(--magenta-wash);color:var(--magenta)}
.bn-ic--biz{background:var(--cyan-wash);color:var(--cyan-deep)}
.bn-ic--track{background:var(--yellow-wash);color:#8A6A00}
@media(max-width:1150px){.bn-spacer{display:none}.bn-alt{display:none}}

/* ===== restore clean photo rendering on light surfaces ===== */
.gal-main img,.thumb img,.pcard-img img{mix-blend-mode:multiply}


/* ===== TOP BAR right: phone-led, quiet socials ===== */
.topbar-right{display:flex;align-items:center;gap:12px}
.tb-phone{display:inline-flex;align-items:baseline;gap:7px;color:#fff;
  font-size:13px;border:0;padding:0;margin:0}
.tb-lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.42)}
.tb-phone b{font-weight:700;font-size:13.5px;letter-spacing:.01em;color:#fff}
.tb-phone:hover b{color:var(--yellow)}
.tb-div{width:1px;height:14px;background:rgba(255,255,255,.16)}
.tb-social{width:auto;height:auto;background:none;border-radius:0;
  color:rgba(255,255,255,.45);display:grid;place-items:center}
.tb-social svg{width:15px;height:15px;display:block}
.tb-social:hover{background:none;color:#fff}


/* ================= FOOTER v2 ================= */
.foot{margin-top:var(--s9);padding:0 0 var(--s5)}
.newsband{background:linear-gradient(120deg,var(--magenta) 0%,var(--magenta-deep) 100%);padding:var(--s6) 0;margin-bottom:var(--s8)}
.newsband-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);flex-wrap:wrap}
.newsband-h{font-family:var(--display);font-weight:700;font-size:clamp(19px,2vw,25px);color:#fff;margin:0;letter-spacing:-.01em}
.newsband-p{margin:6px 0 0;color:rgba(255,255,255,.8);font-size:14px}
.newsform{display:flex;gap:10px;flex:0 1 460px}
.newsform input{flex:1;min-width:0;font:inherit;font-size:15px;padding:14px 16px;
  border:2px solid rgba(255,255,255,.35);border-radius:var(--r-md);background:rgba(255,255,255,.12);color:#fff;outline:none}
.newsform input::placeholder{color:rgba(255,255,255,.65)}
.newsform input:focus{border-color:#fff;background:rgba(255,255,255,.2)}
.newsform .btn{background:#fff;color:var(--magenta);white-space:nowrap}
.newsform .btn:hover{background:var(--key);color:#fff}

.foot-grid{grid-template-columns:1.7fr 1fr 1fr 1fr}
.foot-blurb{font-size:14px;line-height:1.6;margin:0 0 var(--s4);max-width:38ch}
.foot-contact{list-style:none;padding:0;margin:0 0 var(--s5);display:grid;gap:11px;font-size:14px}
.foot-contact li{display:flex;gap:10px;align-items:flex-start}
.fc-ic{color:var(--magenta);flex:none;font-size:14px;line-height:1.5}
.foot-contact a:hover{color:#fff}
.foot-social{display:flex;gap:10px}
.foot-social a{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);transition:background .15s,color .15s}
.foot-social svg{width:17px;height:17px}
.foot-social a:hover{background:var(--magenta);color:#fff}

.foot-pay{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;
  margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.12)}
.foot-pay-lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.foot-base{margin-top:var(--s5);padding-top:var(--s5)}

/* WhatsApp float */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;
  box-shadow:0 10px 26px rgba(37,211,102,.42);transition:transform .18s}
.wa-float svg{width:30px;height:30px}
.wa-float:hover{transform:scale(1.07)}
@media(max-width:600px){.wa-float{width:50px;height:50px;right:16px;bottom:16px}.wa-float svg{width:26px;height:26px}}

/* ================= SEO COPY BLOCK ================= */
.seoblock{background:var(--newsprint);padding:var(--s8) 0;margin-top:var(--s8)}
.seo-head{text-align:center;max-width:44ch;margin:0 auto var(--s7)}
.seo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s6) var(--s7);max-width:1080px;margin:0 auto}
.seo-item h3{font-size:17px;margin:0 0 10px;letter-spacing:-.01em}
.seo-item p{margin:0 0 12px;font-size:14.5px;line-height:1.65;color:var(--key-80)}
.seo-item p:last-child{margin-bottom:0}
.seo-item a{color:var(--cyan-deep);font-weight:600}
.seo-item a:hover{text-decoration:underline}
@media(max-width:820px){.seo-grid{grid-template-columns:1fr}}

/* ================= TRUST ICONS ================= */
.trustrow{background:var(--magenta-wash);padding:var(--s6) 0}
.trustrow-in{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);text-align:center}
.tr-item{display:flex;flex-direction:column;align-items:center;gap:10px}
.tr-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:#fff;box-shadow:0 4px 14px rgba(214,0,110,.14);font-size:22px}
.tr-item h3{font-size:15.5px;margin:0;color:var(--magenta)}
.tr-item p{margin:0;font-size:13.5px;color:var(--key-80);max-width:30ch}
@media(max-width:700px){.trustrow-in{grid-template-columns:1fr;gap:var(--s5)}}

/* ================= INTRO STRIP ================= */
.introstrip{text-align:center;padding:var(--s8) 0 var(--s6);max-width:78ch;margin:0 auto}
.introstrip h2{margin:0 0 var(--s4)}
.introstrip p{font-size:15.5px;line-height:1.65;color:var(--key-80);margin:0 0 12px}
.introstrip a{color:var(--magenta);font-weight:700}
.introstrip a:hover{text-decoration:underline}


/* ===== real SVG icons (replacing emoji) ===== */
.tr-ic svg,.ct-ic svg,.fc-ic svg,.util-ic svg,.cart-ic svg{width:22px;height:22px;display:block}
.fc-ic svg{width:16px;height:16px}
.util-ic svg{width:17px;height:17px}
.cart-ic{filter:none;color:#fff}
.cart-ic svg{width:17px;height:17px}
.bn-svg{width:15px;height:15px;flex:none;opacity:.75}
.bn-alt:hover .bn-svg{opacity:1}
.reassure .ic svg,.perks .ic svg,.freeship svg{width:15px;height:15px;display:block}
.fitcheck-head .tick svg{width:12px;height:12px}
.cartrow .fits svg{width:13px;height:13px;display:inline-block;vertical-align:-2px;margin-right:3px}
.step .n svg{width:12px;height:12px}

/* ===== PROPOSITION BAND (replaces intro strip) ===== */
.propband{padding:var(--s8) 0 var(--s7);border-bottom:1px solid var(--key-10)}
.prop-lead{max-width:44ch;margin-bottom:var(--s7)}
.prop-lead .display-l{margin-top:10px}
.prop-sub{margin:var(--s4) 0 0;font-size:16px;line-height:1.6;color:var(--key-80)}
.prop-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-bottom:var(--s7)}
.prop-col{position:relative;padding-top:var(--s5);border-top:2px solid var(--key)}
.prop-col:nth-child(1){border-color:var(--magenta)}
.prop-col:nth-child(2){border-color:var(--cyan)}
.prop-col:nth-child(3){border-color:var(--yellow)}
.prop-n{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--key-40);
  display:block;margin-bottom:10px}
.prop-col h3{font-size:17.5px;margin:0 0 9px;letter-spacing:-.01em}
.prop-col p{margin:0;font-size:14.5px;line-height:1.6;color:var(--key-80)}
.prop-brands{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;
  padding-top:var(--s6);border-top:1px solid var(--key-10)}
.prop-brands-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--key-40);flex:none}
.prop-brands img{height:20px;width:auto;filter:grayscale(1);opacity:.42;transition:filter .18s,opacity .18s}
.prop-brands img:hover{filter:none;opacity:1}
@media(max-width:860px){.prop-cols{grid-template-columns:1fr;gap:var(--s5)}}

/* ===== SEO BLOCK redesigned ===== */
.seoblock{padding:var(--s8) 0;margin-top:0}
.seo-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s6);
  align-items:end;margin-bottom:var(--s7);padding-bottom:var(--s5);border-bottom:2px solid var(--key)}
.seo-top .display-l{margin-top:10px}
.seo-intro{margin:0;font-size:15px;line-height:1.6;color:var(--key-60)}
.seo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s7) var(--s8);max-width:none}
.seo-item{position:relative;padding-left:var(--s7)}
.seo-n{position:absolute;left:0;top:2px;font-family:var(--display);font-weight:800;font-size:26px;
  letter-spacing:-.03em;color:var(--key-20);line-height:1}
.seo-item h3{font-size:17.5px;margin:0 0 11px;letter-spacing:-.01em}
.seo-item p{margin:0 0 12px;font-size:14.5px;line-height:1.68;color:var(--key-80)}
.seo-item p:last-child{margin-bottom:0}
@media(max-width:860px){.seo-top{grid-template-columns:1fr;align-items:start}
  .seo-grid{grid-template-columns:1fr;gap:var(--s6)}
  .seo-item{padding-left:var(--s6)}.seo-n{font-size:21px}}

/* ===== SPACING FIXES ===== */
.reviews-sec{padding-top:var(--s8)!important;padding-bottom:var(--s8)}
.trustrow{margin:0}
.sec{padding:var(--s8) 0}
.sec+.sec{padding-top:0}
.valuestrip{border-top:0}
.herofull+.finderband{margin-top:0}


/* ===== INTRO BAND (live copy) - balanced two column ===== */
.propband{padding:var(--s8) 0 var(--s6);border-bottom:1px solid var(--key-10)}
.prop-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:var(--s7);align-items:start;margin-bottom:var(--s7)}
.prop-h{color:var(--magenta);margin:0;max-width:18ch;letter-spacing:-.015em}
.prop-copy p{margin:0 0 var(--s4);font-size:15.5px;line-height:1.68;color:var(--key-80)}
.prop-copy p:last-child{margin-bottom:0}
.prop-copy a{color:var(--magenta);font-weight:700}
.prop-copy a:hover{text-decoration:underline}
.prop-brands{display:flex;align-items:center;gap:var(--s6);flex-wrap:wrap;
  padding-top:var(--s6);border-top:1px solid var(--key-10);justify-content:space-between}
.prop-brands-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--key-40);flex:none}
.prop-brands img{height:22px;width:auto;filter:grayscale(1);opacity:.45;transition:filter .18s,opacity .18s}
.prop-brands img:hover{filter:none;opacity:1}
@media(max-width:900px){.prop-in{grid-template-columns:1fr;gap:var(--s5)}
  .prop-brands{gap:var(--s5);justify-content:flex-start}}

/* ===== BRAND TILES: 7 across, no orphan ===== */
.brands{grid-template-columns:repeat(7,1fr);gap:var(--s3)}
@media(max-width:1150px){.brands{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.brands{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.brands{grid-template-columns:repeat(2,1fr)}}

/* ===== SEO ACCORDION (lighter, keeps copy) ===== */
.seoblock{padding:var(--s8) 0 var(--s8)}
.seo-grid{grid-template-columns:1fr;gap:0;border-top:1px solid var(--key-20)}
.seo-item{padding:0;border-bottom:1px solid var(--key-20)}
.seo-sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--s4);
  padding:var(--s5) 0;position:relative;padding-right:var(--s6)}
.seo-sum::-webkit-details-marker{display:none}
.seo-sum::after{content:'';position:absolute;right:6px;top:50%;width:10px;height:10px;
  border-right:2px solid var(--key-40);border-bottom:2px solid var(--key-40);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.seo-item[open] .seo-sum::after{transform:translateY(-30%) rotate(-135deg);border-color:var(--magenta)}
.seo-n{position:static;font-family:var(--mono);font-size:12px;font-weight:700;
  color:var(--key-40);letter-spacing:.1em;flex:none;width:26px}
.seo-t{font-family:var(--body);font-weight:700;font-size:17.5px;letter-spacing:-.01em;color:var(--key)}
.seo-item[open] .seo-t{color:var(--magenta)}
.seo-sum:hover .seo-t{color:var(--magenta)}
.seo-c{padding:0 var(--s6) var(--s5) calc(26px + var(--s4));max-width:82ch}
.seo-c p{margin:0 0 12px;font-size:15px;line-height:1.68;color:var(--key-80)}
.seo-c p:last-child{margin-bottom:0}
.seo-top{border-bottom:0;padding-bottom:var(--s5);margin-bottom:var(--s5)}

/* ===== SPACING: kill gap before newsletter band ===== */
.foot{margin-top:0}
.seoblock+.foot,.sec+.foot,.trustrow+.foot{margin-top:0}
.reviews-sec{padding-bottom:var(--s7)}

.prop-in{margin-bottom:0!important}
.propband .prop-brands{display:none}


/* ===== restore header utility row layout (icon left of text) ===== */
.util{display:flex;align-items:center;gap:var(--s2)}
.util-acct,.cart-btn{display:flex;flex-direction:row;align-items:center;gap:10px;
  padding:8px 12px;border-radius:var(--r-md);transition:background .15s}
.util-acct:hover,.cart-btn:hover{background:var(--newsprint)}
.util-acct .util-ic,.cart-btn .cart-ic{flex:none}
.util-txt{display:flex;flex-direction:column;line-height:1.25;text-align:left}

/* ===== header proportions: bigger logo, calmer search ===== */
.masthead-in{gap:var(--s7)}
.logo img{height:46px}
.searchbar{flex:0 1 480px;max-width:480px}
.searchbar input{padding:13px 16px;font-size:14px}
.searchbar button{padding:0 24px}
.util{margin-left:auto}
@media(max-width:1200px){.masthead-in{gap:var(--s5)}.searchbar{flex:1 1 340px}}
@media(max-width:900px){.logo img{height:38px}}
@media(max-width:600px){.logo img{height:32px}}

/* review cards: even top alignment */
.rv-meta small{white-space:nowrap}
.rv-top{align-items:center}


/* ===== search bar: same start, extended right edge ===== */
.searchbar{flex:1 1 auto;max-width:760px}
.searchbar input{padding:13px 18px;font-size:14.5px}
@media(max-width:1200px){.searchbar{max-width:none;flex:1 1 320px}}

/* ============================================================
   2. HOMEPAGE SECTIONS (prototype page styles, complete)
   ============================================================ */

/* HERO: the finder is the thesis, not a banner */
.hero{padding:var(--s8) 0 var(--s7);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 88% 8%, rgba(0,152,212,.10), transparent 60%),
             radial-gradient(ellipse 50% 60% at 12% 92%, rgba(214,0,110,.08), transparent 60%)}
.hero-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s8);align-items:center}
.hero h1{max-width:15ch}
.hero .lede{max-width:46ch;margin-top:var(--s5)}

.finder{background:var(--paper);border:2px solid var(--key);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);overflow:hidden}
.finder-head{background:var(--key);color:#fff;padding:14px var(--s5);display:flex;align-items:center;gap:10px}
.finder-head .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.finder-body{padding:var(--s5)}
.finder label{display:block;font-size:13.5px;font-weight:600;margin-bottom:8px;color:var(--key-80)}
.finder select,.finder input{width:100%;font:inherit;font-size:15px;padding:13px 14px;
  border:2px solid var(--key-20);border-radius:var(--r-md);background:var(--paper);outline:none;margin-bottom:var(--s4)}
.finder input{font-family:var(--mono);font-size:14px}
.finder input::placeholder{font-family:var(--body);color:var(--key-40)}
.finder select:focus,.finder input:focus{border-color:var(--cyan)}
.finder .or{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--key-40);margin:var(--s4) 0;position:relative}
.finder .or::before,.finder .or::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:var(--key-10)}
.finder .or::before{left:0}.finder .or::after{right:0}

/* Value strip */
.valuestrip{background:var(--newsprint);border-top:1px solid var(--key-10);border-bottom:1px solid var(--key-10)}
.vs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);padding:var(--s6) 0}
.vs-item .k{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.02em;margin:0 0 4px}
.vs-item p{margin:0;font-size:14px;color:var(--key-80);max-width:24ch}

.sec{padding:var(--s8) 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6);flex-wrap:wrap}
.sec-head a{font-weight:700;font-size:14.5px;color:var(--cyan-deep)}
.sec-head a:hover{text-decoration:underline}

/* Brand tiles */
.brands{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s3)}
.brand-tile{border:1px solid var(--key-10);border-radius:var(--r-lg);padding:var(--s5) var(--s4);text-align:center;
  transition:border-color .15s,transform .15s,box-shadow .15s}
.brand-tile:hover{border-color:var(--key);transform:translateY(-2px);box-shadow:var(--shadow)}
.brand-tile .nm{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em}
.brand-tile .ct{font-family:var(--mono);font-size:11px;color:var(--key-60);margin-top:5px}

/* Product row */
.prow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.pcard{display:flex;flex-direction:column;padding:var(--s4)}
.pcard-img{background:var(--newsprint);border-radius:var(--r-md);aspect-ratio:4/3;display:grid;place-items:center;padding:var(--s5);margin-bottom:var(--s4)}
.pcard-img svg{width:82%}
.pcard h3{font-size:14.5px;font-weight:700;line-height:1.35;margin:0 0 8px}
.pcard h3 a:hover{color:var(--magenta)}
.pcard .fits{font-family:var(--mono);font-size:11.5px;color:var(--key-60);margin:0 0 var(--s4)}
.pcard-foot{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--key-10)}
.pcard-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:var(--s3)}
.pcard-price .now{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em}
.pcard-price .cpp{font-family:var(--mono);font-size:11px;color:var(--key-60);text-align:right;line-height:1.3}
.saveline{font-size:12px;color:var(--ok);font-weight:700;margin:0 0 var(--s3)}
.pcard .btn{width:100%;padding:10px 14px;font-size:13.5px}

/* Editable banner slot */
.promo-band{background:var(--key);color:#fff;border-radius:var(--r-lg);padding:var(--s7);
  display:grid;grid-template-columns:1.4fr .6fr;gap:var(--s6);align-items:center;position:relative;overflow:hidden}
.promo-band::after{content:'';position:absolute;right:-60px;top:-60px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(214,0,110,.35),transparent 70%)}
.promo-band h2{margin:0;max-width:20ch;position:relative;z-index:1}
.promo-band p{margin:var(--s4) 0 0;color:rgba(255,255,255,.72);max-width:48ch;position:relative;z-index:1}
.promo-band .cta{position:relative;z-index:1}

/* Trust */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.trust-item{border-top:3px solid var(--key);padding-top:var(--s4)}
.trust-item:nth-child(1){border-color:var(--cyan)}
.trust-item:nth-child(2){border-color:var(--magenta)}
.trust-item:nth-child(3){border-color:var(--yellow)}
.trust-item h3{font-size:16px;margin:0 0 8px}
.trust-item p{margin:0;font-size:14.5px;color:var(--key-80)}

@media(max-width:1000px){
  .hero-in{grid-template-columns:1fr;gap:var(--s6)}
  .brands{grid-template-columns:repeat(4,1fr)}
  .prow{grid-template-columns:repeat(2,1fr)}
  .vs-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .promo-band{grid-template-columns:1fr;padding:var(--s5)}
  .trust{grid-template-columns:1fr;gap:var(--s5)}
}
@media(max-width:520px){.prow{grid-template-columns:1fr}.brands{grid-template-columns:repeat(2,1fr)}}

/* ================= FULL-BLEED HERO ================= */
.herofull{position:relative;overflow:hidden;background:#0B0A0F}
.hb-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.hb{flex:0 0 100%;position:relative;overflow:hidden;min-height:440px;display:flex;align-items:center}
.hb-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--s6);
  align-items:center;position:relative;z-index:2;padding-top:var(--s7);padding-bottom:var(--s8)}

/* CMYK geometry echoing their banner, built in CSS */
.hb-bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.chev{position:absolute;top:-14%;height:128%;width:34%;background:#17161D;transform:skewX(-15deg)}
.chev-a{left:34%}
.chev-b{left:60%;background:#111016}
.wedge{position:absolute;top:-18%;height:136%;width:12%;transform:skewX(-15deg);opacity:.92}
.wedge-y{left:6%;background:var(--yellow)}
.wedge-c{right:4%;background:var(--cyan)}
.wedge-m{right:17%;background:var(--magenta);width:7%}
.dots{position:absolute;width:230px;height:230px;opacity:.5;
  background-image:radial-gradient(currentColor 1.6px, transparent 1.7px);
  background-size:11px 11px}
.dots-l{left:2%;bottom:-8%;color:rgba(255,255,255,.28)}
.dots-r{right:8%;top:-6%;color:rgba(255,255,255,.22)}

.hb-art{display:grid;place-items:center}
.hb-art img{max-width:100%;max-height:290px;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 26px 44px rgba(0,0,0,.55))}
.hb-art--stat{place-items:center}
.bigstat{display:flex;align-items:baseline;gap:14px}
.bs-n{font-family:var(--display);font-weight:800;font-size:clamp(56px,7.5vw,104px);line-height:.88;
  letter-spacing:-.035em;color:var(--yellow)}
.hb--3 .bs-n{color:var(--cyan)}
.bs-l{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  line-height:1.5;color:rgba(255,255,255,.6)}

.hb-kick{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;color:var(--cyan);margin:0 0 var(--s4)}
.hb-h{font-family:var(--display);font-weight:800;color:#fff;margin:0;
  font-size:clamp(32px,4.6vw,60px);line-height:1.02;letter-spacing:-.025em}
.hb-h em{font-style:normal;color:var(--yellow)}
.hb--2 .hb-h em{color:var(--cyan)}
.hb--3 .hb-h em{color:var(--magenta)}
.hb-sub{margin:var(--s5) 0 0;font-size:16.5px;line-height:1.55;color:rgba(255,255,255,.76);max-width:46ch}
.hb-cta{display:flex;gap:var(--s3);margin-top:var(--s6);flex-wrap:wrap}
.btn-ondark{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.3)}
.btn-ondark:hover{background:rgba(255,255,255,.2);border-color:#fff}

.hb-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:var(--s5);
  display:flex;gap:8px;z-index:5;max-width:var(--maxw);width:100%;padding:0 var(--s5);justify-content:flex-start}
.bdot{width:30px;height:4px;border:0;padding:0;border-radius:2px;
  background:rgba(255,255,255,.28);transition:background .2s,width .2s;cursor:pointer}
.bdot.on{background:var(--yellow);width:48px}

/* ================= 3-STEP FINDER BAND ================= */
.finderband{background:var(--key);border-top:3px solid var(--magenta);padding:var(--s6) 0}
.finderband-in{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,2fr);gap:var(--s6);align-items:center}
.fb-note{margin:8px 0 0;font-size:14px;color:rgba(255,255,255,.6)}
.fb-steps{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:var(--s3);align-items:center}
.fb-step{position:relative;display:block}
.fb-n{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;
  width:22px;height:22px;border-radius:50%;background:var(--magenta);color:#fff;
  font-family:var(--mono);font-size:11px;font-weight:700;display:grid;place-items:center}
.fb-step select{width:100%;font:inherit;font-size:14.5px;padding:14px 14px 14px 44px;
  border:2px solid rgba(255,255,255,.16);border-radius:var(--r-md);
  background:rgba(255,255,255,.06);color:#fff;outline:none;appearance:none;cursor:pointer}
.fb-step select option{color:var(--key)}
.fb-step select:focus{border-color:var(--cyan);background:rgba(255,255,255,.1)}
.fb-go{white-space:nowrap;padding:15px 26px}

@media(max-width:1000px){
  .hb-in{grid-template-columns:1fr;gap:var(--s5);padding-bottom:var(--s8)}
  .hb-art{display:none}
  .hb{min-height:0}
  .chev,.wedge{opacity:.7}
  .finderband-in{grid-template-columns:1fr;gap:var(--s5)}
  .fb-steps{grid-template-columns:1fr}
}


.hb-art--compose{position:relative;display:grid;place-items:center;min-height:300px}
.hb-cart{max-width:88%;max-height:250px;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.6));position:relative;z-index:2}
.hb-cart--back{position:absolute;max-height:200px;transform:translate(-16%,10%) rotate(-7deg);
  opacity:.55;z-index:1;filter:drop-shadow(0 18px 32px rgba(0,0,0,.5))}
.hb-cart--front{z-index:3;transform:translate(8%,-4%)}
.speedlines{position:absolute;inset:0;z-index:1;
  background:repeating-linear-gradient(-14deg,rgba(255,255,255,.16) 0 3px,transparent 3px 20px);
  mask-image:linear-gradient(90deg,#000,transparent 62%)}
.stackglow{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(0,159,217,.30),transparent 68%)}
.orbit-badge{position:absolute;z-index:4;display:grid;place-items:center;text-align:center;
  width:104px;height:104px;border-radius:50%;line-height:1.1;
  box-shadow:0 12px 28px rgba(0,0,0,.42);transform:rotate(-8deg)}
.orbit-badge b{font-family:var(--display);font-weight:800;font-size:25px;letter-spacing:-.02em;display:block}
.orbit-badge small{font-family:var(--mono);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;display:block;margin-top:3px}
.orbit-y{background:var(--yellow);color:var(--key);right:2%;top:6%}
.orbit-c{background:var(--cyan);color:#fff;left:0;bottom:8%}
@media(max-width:1000px){.hb-art--compose{display:none}}


/* hero art: product photo on a clean floating card (no cutout artefacts) */
.hb-art--card{position:relative;display:grid;place-items:center;min-height:300px}
.prodcard{position:relative;background:#fff;border-radius:18px;padding:22px 26px;
  box-shadow:0 30px 60px rgba(0,0,0,.5),0 2px 0 rgba(255,255,255,.5) inset;z-index:2;
  max-width:82%}
.prodcard--tilt{transform:rotate(-3deg)}
.prodcard img{max-width:100%;max-height:210px;width:auto;height:auto;object-fit:contain;display:block}
.pc-badge{position:absolute;right:-22px;top:-22px;width:92px;height:92px;border-radius:50%;
  display:grid;place-items:center;text-align:center;line-height:1.1;transform:rotate(-8deg);
  box-shadow:0 12px 26px rgba(0,0,0,.4);z-index:3}
.pc-badge b{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em;display:block}
.pc-badge small{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:2px}
.pc-y{background:var(--yellow);color:var(--key)}
.pc-c{background:var(--cyan);color:#fff}
.hb-art--card .hb-cart{display:none}
@media(max-width:1000px){.hb-art--card{display:none}}


/* --- refined floating product card --- */
.prodcard{position:relative;background:linear-gradient(170deg,#fff 0%,#F7F7FA 100%);
  border-radius:20px;padding:26px 26px 0;max-width:86%;z-index:2;
  box-shadow:0 40px 70px -18px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.16),
             inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .4s cubic-bezier(.4,0,.2,1)}
.prodcard--tilt{transform:rotate(-3.5deg)}
.prodcard--hero{transform:rotate(1.5deg)}
.hb:hover .prodcard{transform:rotate(0deg) translateY(-6px)}
.pc-glow{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:80%;aspect-ratio:1;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(0,159,217,.16),transparent 68%)}
.prodcard img{position:relative;z-index:1;max-width:100%;max-height:190px;
  width:auto;height:auto;object-fit:contain;display:block;margin:0 auto}
.pc-foot{position:relative;z-index:2;margin-top:16px;padding:12px 0;
  border-top:1px solid var(--key-10);display:flex;align-items:center;
  justify-content:space-between;gap:12px}
.pc-sku{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--key-60)}
.pc-price{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--key)}
.pc-badge{position:absolute;right:-20px;top:-20px;width:86px;height:86px;border-radius:50%;
  display:grid;place-items:center;text-align:center;line-height:1.05;transform:rotate(-9deg);
  box-shadow:0 14px 28px rgba(0,0,0,.45);z-index:4}
.pc-badge b{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.03em;display:block}
.pc-badge small{font-family:var(--mono);font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:2px}
.pc-y{background:var(--yellow);color:var(--key)}
.pc-c{background:var(--cyan);color:#fff}
.pc-m{background:var(--magenta);color:#fff}


/* ================= GOOGLE REVIEWS ================= */
.reviews-sec{padding-top:0}
.rv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);
  flex-wrap:wrap;margin-bottom:var(--s6)}
.rv-agg{display:inline-flex;align-items:center;gap:14px;padding:12px 18px;
  border:1px solid var(--key-10);border-radius:var(--r-lg);background:var(--paper);
  box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}
.rv-agg:hover{border-color:var(--key-20);box-shadow:var(--shadow-lg)}
.rv-g svg{width:26px;height:26px;display:block}
.rv-agg-txt{display:flex;flex-direction:column;line-height:1.3}
.rv-agg-txt b{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em;
  display:flex;align-items:center;gap:8px}
.rv-agg-txt small{font-size:12px;color:var(--key-60)}
.rv-stars{color:#F5A623;letter-spacing:2px;font-size:14px}
.rv-stars .half{opacity:.38}
.rv-stars.sm{font-size:12.5px;letter-spacing:1px;margin-left:auto}

.rv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.rv-card{background:var(--paper);border:1px solid var(--key-10);border-radius:var(--r-lg);
  padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4);
  transition:border-color .15s,box-shadow .15s,transform .15s}
.rv-card:hover{border-color:var(--key-20);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.rv-top{display:flex;align-items:center;gap:11px}
.rv-av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;
  font-family:var(--display);font-weight:800;font-size:15px;color:#fff}
.rv-av1{background:var(--magenta)} .rv-av2{background:var(--cyan)}
.rv-av3{background:#7B4FBF} .rv-av4{background:var(--ok)}
.rv-meta{display:flex;flex-direction:column;line-height:1.3}
.rv-meta b{font-size:13.5px;font-weight:700}
.rv-meta small{font-size:11.5px;color:var(--key-60)}
.rv-body{margin:0;font-size:14.5px;line-height:1.6;color:var(--key-80)}
.rv-note{margin:var(--s5) 0 0;font-size:12.5px;color:var(--key-40);text-align:center}

@media(max-width:1050px){.rv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rv-grid{grid-template-columns:1fr}.rv-head{flex-direction:column;align-items:flex-start}}

/* ============================================================
   3. THEME INTEGRATION (Hello Elementor + WooCommerce)
   ============================================================ */

/* ===== Hello Elementor integration ===== */
.site-main{display:block}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:999;background:#fff;padding:10px 16px;border-radius:6px}
.brandnav-in a{padding:14px 18px;font-weight:600;font-size:14.5px;white-space:nowrap;
  border-bottom:3px solid transparent;color:var(--key-80)}
.brandnav-in a:hover{background:#fff;color:var(--magenta);border-bottom-color:var(--key-20)}
.brandnav-in a.on{background:#fff;border-bottom-color:var(--magenta);color:var(--key)}
.foot .foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}
.foot .foot-grid ul a{color:var(--key-40)}
.foot .foot-grid ul a:hover{color:#fff}
.foot-logo{height:30px;width:auto;filter:brightness(0) invert(1)}

/* WooCommerce structural */
.woocommerce-notices-wrapper{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5)}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:var(--s7);padding:var(--s6) 0 var(--s8);align-items:start}
.woocommerce div.product>*{min-width:0}
.woocommerce div.product .woocommerce-product-gallery{position:sticky;top:var(--s5)}
.woocommerce div.product .woocommerce-product-gallery__image img{border-radius:var(--r-lg);background:var(--newsprint)}
.woocommerce div.product .summary{margin:0}
.woocommerce div.product .product_title{font-family:var(--body);font-weight:700;
  font-size:clamp(24px,2.6vw,34px);line-height:1.18;letter-spacing:-.015em;margin:0}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--display);font-weight:800;font-size:40px;letter-spacing:-.02em;color:var(--key);
  border-top:1px solid var(--key-10);padding-top:var(--s5);margin-top:var(--s5);display:block}
.woocommerce div.product form.cart{display:flex;gap:var(--s3);margin:var(--s5) 0 0;align-items:stretch}
.woocommerce div.product form.cart .quantity{flex:none}
.woocommerce div.product form.cart .qty{width:64px;height:100%;padding:14px 8px;text-align:center;
  font-family:var(--mono);font-weight:700;border:2px solid var(--key-20);border-radius:var(--r-md)}
.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit{
  background:var(--magenta);color:#fff;font-weight:700;font-size:15px;border-radius:var(--r-md);
  padding:15px 28px;border:2px solid transparent;transition:background .15s}
.woocommerce div.product form.cart .button{flex:1}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce div.product form.cart .button:hover{background:var(--magenta-deep);color:#fff}
.woocommerce .woocommerce-tabs{grid-column:1/-1;border-top:1px solid var(--key-10);padding-top:var(--s6);margin-top:var(--s6)}
.woocommerce .woocommerce-tabs ul.tabs{padding:0;margin:0 0 var(--s5);display:flex;gap:2px;border-bottom:1px solid var(--key-10)}
.woocommerce .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.woocommerce .woocommerce-tabs ul.tabs li::before,.woocommerce .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce .woocommerce-tabs ul.tabs li a{padding:12px 18px;font-weight:600;font-size:14.5px;
  color:var(--key-60);border-bottom:3px solid transparent;display:block}
.woocommerce .woocommerce-tabs ul.tabs li.active a{color:var(--key);border-bottom-color:var(--magenta)}

/* Archive grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin:var(--s5) 0 0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  background:var(--paper);border:1px solid var(--key-10);border-radius:var(--r-lg);padding:var(--s4);
  display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s}
.woocommerce ul.products li.product:hover{border-color:var(--key-20);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.woocommerce ul.products li.product .pcard-img{background:var(--newsprint);border-radius:var(--r-md);
  aspect-ratio:4/3;display:grid;place-items:center;padding:var(--s4);margin-bottom:var(--s4)}
.woocommerce ul.products li.product .pcard-img img{max-width:92%;max-height:92%;width:auto;height:auto;
  object-fit:contain;mix-blend-mode:multiply;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:14.5px!important;font-weight:700;line-height:1.35;margin:0 0 8px!important;padding:0!important}
.woocommerce ul.products li.product a.button{width:100%;padding:11px 16px;font-size:13.5px;text-align:center;margin:0}
.woocommerce ul.products li.product .price{font-size:inherit;color:inherit;margin:0}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:var(--s5)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;margin-top:var(--s7)}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  min-width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-md);
  font-family:var(--mono);font-size:14px;border:1px solid var(--key-10);padding:0 12px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--key);color:#fff;border-color:var(--key)}

@media(max-width:960px){.woocommerce div.product{grid-template-columns:1fr;gap:var(--s6)}
  .woocommerce div.product .woocommerce-product-gallery{position:static}}
@media(max-width:1050px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.woocommerce ul.products{grid-template-columns:1fr}}

/* ===== Brand nav dropdown (Technology#... convention) ===== */
.bn-drop{position:relative}
.bn-drop-t{display:inline-flex;align-items:center;gap:6px;background:none;border:0;
  padding:14px 18px;font-family:inherit;font-weight:600;font-size:14.5px;color:var(--key-80);
  border-bottom:3px solid transparent;white-space:nowrap}
.bn-drop-t:hover{background:#fff;color:var(--magenta)}
.bn-caret{width:13px;height:13px;opacity:.6;transition:transform .18s}
.bn-drop.open .bn-caret{transform:rotate(180deg)}
.bn-drop.open .bn-drop-t{background:#fff;color:var(--key);border-bottom-color:var(--magenta)}
.bn-drop-m{position:absolute;left:0;top:100%;min-width:240px;background:#fff;z-index:40;
  border:1px solid var(--key-10);border-radius:0 0 var(--r-md) var(--r-md);
  box-shadow:var(--shadow-lg);padding:6px;display:none}
.bn-drop.open .bn-drop-m{display:block}
.bn-drop-m a{display:block;padding:10px 14px;font-size:14px;color:var(--key-80);border-radius:var(--r-sm)}
.bn-drop-m a:hover{background:var(--newsprint);color:var(--magenta)}

/* ===== Homepage: brand tiles as wordmarks until logos are uploaded ===== */
.brandmark{height:30px;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--key-60)}
.brand-tile:hover .brandmark{color:var(--key)}
.prow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.prow .pcard{display:flex;flex-direction:column;padding:var(--s4)}
.prow .pcard-img{background:var(--newsprint);border-radius:var(--r-md);aspect-ratio:4/3;
  display:grid;place-items:center;padding:var(--s4);margin-bottom:var(--s4)}
.prow .pcard-img img{max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.prow .pcard h3{font-size:14.5px;font-weight:700;line-height:1.35;margin:0 0 8px}
.prow .pcard h3 a:hover{color:var(--magenta)}
.prow .pcard .fits{font-family:var(--mono);font-size:11.5px;color:var(--key-60);margin:0 0 var(--s4)}
.prow .pcard-foot{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--key-10)}
.prow .pcard .btn{width:100%;padding:10px 14px;font-size:13.5px;text-align:center}
@media(max-width:1000px){.prow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.prow{grid-template-columns:1fr}}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);
  margin-bottom:var(--s6);flex-wrap:wrap}
.sec-head a{font-weight:700;font-size:14.5px;color:var(--cyan-deep)}
.sec-head a:hover{text-decoration:underline}










/* ============================================================
   4. LAYOUT CONTAINERS
   Hello Elementor constrains and pads the main content area.
   Full-width sections handle their own inner .wrap, so the
   outer containers must not constrain anything.
   ============================================================ */
.site-main,
.site-main > *,
.page-content,
.entry-content,
.hello-elementor .site-main,
main.site-main{
  max-width:none;
  width:auto;
  padding-left:0;
  padding-right:0;
  margin-left:0;
  margin-right:0;
}
.page-content > *:first-child{margin-top:0}
.entry-title,
.page-header,
.site-main > .entry-header{display:none}

/* Sections that span the viewport edge to edge */
.herofull,
.finderband,
.valuestrip,
.trustrow,
.seoblock,
.newsband,
.propband,
.reviews-sec{width:100%;max-width:100%}

/* Inner content stays on the grid */
.herofull .wrap,
.finderband .wrap,
.valuestrip .wrap,
.trustrow .wrap,
.seoblock .wrap,
.newsband .wrap,
.propband .wrap,
.reviews-sec .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--s5)}

body{overflow-x:hidden}

/* ============================================================
   5. HERO BADGE
   Circular badge: keep the label inside the circle.
   ============================================================ */
.pc-badge{
  width:96px;height:96px;padding:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;line-height:1;text-align:center;overflow:hidden;
}
.pc-badge b{
  font-family:var(--display);font-weight:800;font-size:22px;
  letter-spacing:-.03em;line-height:1;display:block;
}
.pc-badge small{
  font-family:var(--mono);font-size:7px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;line-height:1.15;
  display:block;max-width:74px;white-space:normal;opacity:.85;
}
@media(max-width:1100px){
  .pc-badge{width:82px;height:82px}
  .pc-badge b{font-size:19px}
  .pc-badge small{font-size:6.5px;max-width:64px}
}
