:root{
  --navy:#002858; --navy-2:#0a3a78; --navy-d:#001a3d;
  --red:#e01820; --red-d:#b9121a; --red-l:#fdecec;
  --ink:#14233a; --muted:#5b6b82; --line:#e1e7ef; --bg:#f5f7fa; --card:#fff;
  --ok:#14804a; --warn:#b26a00;
  --r:12px; --shadow:0 2px 10px rgba(0,40,88,.08); --shadow-l:0 10px 30px rgba(0,40,88,.14);
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;font-size:15px}
img,svg{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--red)}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.2;color:var(--navy)}
h1{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:800}
h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700}
h3{font-size:1.1rem;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-radius:4px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:2px solid transparent;border-radius:10px;padding:.7em 1.3em;font:600 .95rem 'Poppins',sans-serif;cursor:pointer;transition:.15s;text-align:center;line-height:1.2}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-d);color:#fff}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);color:#fff}
.btn-out{background:#fff;border-color:var(--navy);color:var(--navy)}.btn-out:hover{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;color:var(--navy);padding:.5em .8em}
.btn-white{background:#fff;color:var(--red)}.btn-white:hover{background:var(--red-l);color:var(--red-d)}
.btn-sm{padding:.5em .9em;font-size:.85rem;border-radius:8px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* topbar + header */
.topbar{background:var(--navy-d);color:#cfe0f7;font-size:.8rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.topbar a{color:#fff}
header.site{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--line)}
.hrow{display:flex;align-items:center;gap:18px;padding:10px 0}
.logo img{height:46px;width:auto}
.search{flex:1;display:flex;max-width:520px;position:relative}
.search input{width:100%;border:2px solid var(--line);border-right:0;border-radius:10px 0 0 10px;padding:.65em 1em;font:inherit;background:#fff}
.search input:focus{border-color:var(--navy);outline:0}
.search button{border:0;background:var(--navy);color:#fff;border-radius:0 10px 10px 0;padding:0 1.1em;cursor:pointer}
.hactions{display:flex;gap:8px;margin-left:auto;align-items:center}
.cartbtn{position:relative}
.cartbtn .n[hidden]{display:none}
.cartbtn .n{position:absolute;top:-6px;right:-4px;font-style:normal;background:var(--red);color:#fff;border-radius:99px;font-size:.7rem;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px}
nav.main{background:var(--navy)}
nav.main .wrap{display:flex;gap:2px;position:relative}
nav.main .wrap>a,nav.main .hm>a{color:#fff;padding:.75em 1.05em;font-weight:500;font-size:.92rem;white-space:nowrap;border-bottom:3px solid transparent;display:block}
nav.main .wrap>a:hover,nav.main .wrap>a.on,nav.main .hm:hover>a,nav.main .hm:focus-within>a,nav.main .hm>a.on{background:var(--navy-2);border-bottom-color:var(--red);color:#fff}
.hm .car{font-size:.7em;opacity:.8}
.mega{display:none;position:absolute;left:16px;right:16px;top:100%;background:#fff;border-radius:0 0 14px 14px;box-shadow:var(--shadow-l);border-top:3px solid var(--red);z-index:70;padding:22px 24px}
.hm:hover .mega,.hm:focus-within .mega{display:block}
#nav.shut .mega{display:none!important}
.mg{display:grid;grid-template-columns:1fr 1.4fr 1fr 1.1fr;gap:26px}
.mega h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin:0 0 10px}
.mega a{display:block;color:var(--ink);padding:5px 0;font-size:.9rem;border-radius:6px}
.mega a:hover{color:var(--red);padding-left:4px}
.mega .pl{display:flex;justify-content:space-between;gap:10px}
.mega .pl b{color:var(--navy);white-space:nowrap}
.mega .promo{background:var(--bg);border-radius:12px;overflow:hidden;align-self:start}
.mega .promo img{width:100%;height:120px;object-fit:cover}
.mega .promo div{padding:12px 14px}
.mega .promo p{font-size:.82rem;color:var(--muted);margin:0 0 8px}
.mega .promo .btn{color:#fff;display:inline-flex;padding:.5em .9em}.mega .promo .btn:hover{color:#fff;padding-left:.9em}
.burger{display:none}

/* hero */
.hero{background:linear-gradient(115deg,var(--navy-d) 0%,var(--navy) 55%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-8%;top:0;bottom:0;width:46%;background:var(--red);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);opacity:.95}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero h1{color:#fff}.hero h1 em{font-style:normal;color:#ff6a70}
.hero p.lead{font-size:1.08rem;color:#d7e4f7;max-width:560px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.hero .trust{display:flex;gap:20px;flex-wrap:wrap;font-size:.85rem;color:#cfe0f7}
.hero .trust span:before{content:"✓ ";color:#7dffb0;font-weight:700}
.hero-art{display:grid;place-items:center}
.hero-art svg{filter:drop-shadow(0 20px 24px rgba(0,0,0,.35));width:min(420px,100%)}
.flow{display:flex;align-items:center;gap:10px;background:#fff;color:var(--navy);padding:12px 16px;border-radius:12px;font-weight:600;font-size:.82rem;margin-top:16px;max-width:max-content;flex-wrap:wrap}
.flow b{border:1.5px dashed var(--red);color:var(--red);padding:2px 10px;border-radius:4px;letter-spacing:.05em;font-size:.72rem}

/* sections */
section.s{padding:52px 0}
section.s.alt{background:#fff}
.shead{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.shead p{color:var(--muted);margin:0}
.eyebrow{display:inline-block;color:var(--red);font-weight:700;letter-spacing:.12em;font-size:.75rem;text-transform:uppercase;margin-bottom:.4em}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.pad{padding:20px}

.catcard{overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.catcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}
.catcard .art{background:linear-gradient(135deg,#fff 55%,var(--red-l) 55%);height:170px;display:grid;place-items:center}
.catcard .art svg{height:130px;width:auto}
.catcard .body{padding:18px 20px 22px}
.catcard .tag{color:var(--red);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}

.feat{padding:18px;text-align:left;position:relative}
.feat .num{position:absolute;right:14px;top:6px;font-size:2.6rem;font-weight:800;color:#eef2f7;line-height:1}
.feat .ic{width:46px;height:46px;border-radius:12px;background:var(--red-l);color:var(--red);display:grid;place-items:center;margin-bottom:10px;position:relative}
.feat h3{font-size:.98rem;position:relative}.feat p{font-size:.85rem;color:var(--muted);margin:0;position:relative}

.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.step{text-align:center;padding:20px 14px;position:relative}
.step .ic{width:64px;height:64px;border-radius:50%;background:var(--red-l);color:var(--red);display:grid;place-items:center;margin:0 auto 12px;position:relative}
.step .ic:after{counter-increment:s;content:"0" counter(s);position:absolute;top:-6px;left:-6px;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;border-radius:99px;padding:1px 7px}
.step h3{font-size:.95rem}.step p{font-size:.82rem;color:var(--muted);margin:0}

.band{background:var(--red);color:#fff}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 16px;flex-wrap:wrap}
.band h2{color:#fff;margin:0}.band p{margin:.3em 0 0;opacity:.92}
.aud{padding:18px;border-top:4px solid var(--red)}
.aud p{font-size:.88rem;color:var(--muted);margin:0}

/* product card */
.pcard{display:flex;flex-direction:column;overflow:hidden;transition:.2s;position:relative}
.pcard:hover{box-shadow:var(--shadow-l);transform:translateY(-3px)}
.pcard .art{background:linear-gradient(160deg,#f7f9fc,#e9eef6);height:180px;display:grid;place-items:center;position:relative}
.pcard .art svg{height:130px;width:auto}
.badge{position:absolute;left:10px;top:10px;background:var(--red);color:#fff;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:99px;z-index:1}
.pcard .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard h3{font-size:.95rem;margin:0}
.mfr{font-size:.78rem;color:var(--muted)}
.mfr .v{color:var(--ok);font-weight:600}
.price{font-size:1.3rem;font-weight:700;color:var(--navy)}
.price small{font-size:.75rem;color:var(--muted);font-weight:500}
.pcard .row{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.pcard .row .btn{flex:1;padding:.55em .5em;font-size:.82rem}
.chip{display:inline-block;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:2px 10px;font-size:.74rem;color:var(--muted)}

/* shop layout */
.crumbs{font-size:.82rem;color:var(--muted);padding:16px 0 6px}
.shop{display:grid;grid-template-columns:260px 1fr;gap:22px;padding-bottom:50px;align-items:start}
.filters{padding:18px;position:sticky;top:130px}
.filters h4{margin:1em 0 .5em;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.filters h4:first-child{margin-top:0}
.filters label{display:flex;gap:8px;align-items:center;padding:3px 0;cursor:pointer;font-size:.9rem}
.filters input[type=checkbox],.filters input[type=radio]{accent-color:var(--red);width:16px;height:16px}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px;flex-wrap:wrap}
select,input,textarea{font:inherit;color:inherit}
select,.inp{border:2px solid var(--line);border-radius:10px;padding:.55em .8em;background:#fff;width:100%}
select:focus,.inp:focus{border-color:var(--navy);outline:0}
.empty{text-align:center;padding:50px 20px;color:var(--muted)}

/* product detail */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:10px 0 40px}
.pd .gal{background:linear-gradient(160deg,#fff,#e9eef6);display:grid;place-items:center;min-height:380px;border-radius:var(--r);border:1px solid var(--line);position:relative}
.pd .gal svg{height:260px;width:auto}
.buybox{padding:20px;margin:16px 0;border:2px solid var(--line);border-radius:var(--r);background:#fff}
.qty{display:inline-flex;border:2px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.qty button{border:0;background:var(--bg);width:38px;font-size:1.2rem;cursor:pointer}
.qty input{width:84px;border:0;text-align:center;font-weight:600;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.specs{width:100%;border-collapse:collapse;font-size:.9rem}
.specs td{padding:9px 12px;border-bottom:1px solid var(--line)}
.specs td:first-child{color:var(--muted);width:42%}
.specs tr:nth-child(odd){background:#fafbfd}
.tiers{display:flex;gap:8px;flex-wrap:wrap;margin:.5em 0}
.note{font-size:.82rem;color:var(--muted)}
.alert{background:#eef6ff;border:1px solid #c7defa;color:var(--navy);padding:10px 14px;border-radius:10px;font-size:.88rem}
.alert.ok{background:#e9f8f0;border-color:#b9e6cf;color:#0d5c35}

/* cart/checkout */
.two{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start;padding-bottom:50px}
.line{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px;border-bottom:1px solid var(--line);align-items:center}
.line:last-child{border:0}
.line .th{background:var(--bg);border-radius:10px;height:76px;display:grid;place-items:center}
.line .th svg{height:56px;width:auto}
.sum{padding:20px;position:sticky;top:130px}
.sum .r{display:flex;justify-content:space-between;padding:6px 0;font-size:.92rem}
.sum .r.t{border-top:2px solid var(--line);margin-top:8px;padding-top:12px;font-size:1.15rem;font-weight:700;color:var(--navy)}
.form{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.form .full{grid-column:1/-1}
.form label{font-size:.82rem;font-weight:600;color:var(--muted);display:block;margin-bottom:4px}
.form .req:after{content:" *";color:var(--red)}
.fe{color:var(--red);font-size:.78rem;margin-top:3px;min-height:1em}
.inp.bad{border-color:var(--red)}
.pay{display:grid;gap:10px}
.pay label{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff}
.pay label:has(input:checked){border-color:var(--navy);background:#f1f6fd}
.pay input{accent-color:var(--red);margin-top:4px}
.pay small{display:block;color:var(--muted)}
.ok-ic{width:78px;height:78px;border-radius:50%;background:#e9f8f0;color:var(--ok);display:grid;place-items:center;margin:0 auto 14px}

/* quote builder */
.qrow{display:grid;grid-template-columns:2fr 1fr 110px 40px;gap:10px;margin-bottom:10px;align-items:center}
.qrow .x{border:0;background:transparent;color:var(--red);font-size:1.4rem;cursor:pointer}

.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.tbl th{background:var(--bg);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.status{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.75rem;font-weight:600;background:#fff4e0;color:var(--warn)}
.status.g{background:#e9f8f0;color:var(--ok)}

/* manufacturers */
.mcard{padding:20px;display:flex;flex-direction:column;gap:8px}
.mcard .ava{width:52px;height:52px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.1rem}
.kv{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.kv b{color:var(--ink)}
.vbadge{display:inline-flex;gap:5px;align-items:center;color:var(--ok);font-weight:600;font-size:.78rem}

/* footer */
footer.site{background:var(--navy-d);color:#b9cbe4;padding:44px 0 0;margin-top:20px}
footer .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px}
footer h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
footer a{color:#b9cbe4;display:block;padding:3px 0;font-size:.9rem}footer a:hover{color:#fff}
footer .logo-w{background:#fff;padding:8px 12px;border-radius:10px;display:inline-block;margin-bottom:12px}
footer .logo-w img{height:38px}
footer .copy{border-top:1px solid #133768;margin-top:30px;padding:16px 0;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.wa{position:fixed;right:18px;bottom:18px;z-index:60;background:#25d366;color:#fff;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.wa:hover{color:#fff;transform:scale(1.07)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(30px);background:var(--navy);color:#fff;padding:12px 20px;border-radius:10px;opacity:0;transition:.25s;z-index:99;pointer-events:none;box-shadow:var(--shadow-l);max-width:92vw}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr}.hero:after{display:none}.hero-art{display:none}
  .g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .shop,.two,.pd{grid-template-columns:1fr}
  .filters,.sum{position:static}
  footer .fg{grid-template-columns:1fr 1fr}
  .search{order:3;max-width:none;flex-basis:100%}.hrow{flex-wrap:wrap}
}
@media(max-width:600px){
  body{font-size:14.5px}
  .g2,.g3,.g4,.steps,.form{grid-template-columns:1fr}
  .grid.g4.prods,.grid.g3.prods{grid-template-columns:1fr 1fr;gap:10px}
  .pcard .art{height:130px}.pcard .art svg{height:90px}
  .pcard .row{flex-direction:column}
  .logo img{height:38px}
  footer .fg{grid-template-columns:1fr}
  .qrow{grid-template-columns:1fr 1fr}.qrow .x{justify-self:end}
  .line{grid-template-columns:60px 1fr}.line>:last-child{grid-column:1/-1}
  .topbar .hide-s{display:none}
  .hactions .btn span{display:none}
}
@media print{header.site,nav.main,footer.site,.wa,.topbar,.noprint{display:none!important}}

/* photos */
.art img{width:100%;height:100%;object-fit:cover}
.catcard .art{background:none;padding:0;height:190px;overflow:hidden}
.catcard .art img{transition:transform .4s}.catcard:hover .art img{transform:scale(1.05)}
.pcard .art{background:#fff;overflow:hidden}
.pcard .art img{transition:transform .4s}.pcard:hover .art img{transform:scale(1.05)}
.pd .gal{overflow:hidden;background:#fff}.pd .gal img{width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:var(--r)}
.line .th{overflow:hidden}.line .th img{width:100%;height:100%;object-fit:cover}
.hero-img{width:min(460px,100%);aspect-ratio:3/2;object-fit:cover;border-radius:18px;box-shadow:0 24px 50px rgba(0,0,0,.4);border:4px solid #fff}
.th{overflow:hidden}

/* category tabs */
.ctabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ctab{display:inline-flex;align-items:center;gap:8px;padding:.5em 1.1em;border:2px solid var(--line);border-radius:99px;background:#fff;font-weight:600;font-size:.88rem;color:var(--navy)}
.ctab em{font-style:normal;background:var(--bg);border-radius:99px;padding:0 8px;font-size:.75rem;color:var(--muted)}
.ctab:hover{border-color:var(--navy)}
.ctab.on{background:var(--navy);border-color:var(--navy);color:#fff}.ctab.on em{background:var(--red);color:#fff}

/* compare */
.cmp{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);cursor:pointer;width:max-content}
.cmp input{accent-color:var(--red);width:16px;height:16px}
.cmpbar{position:fixed;left:0;right:0;bottom:0;z-index:65;background:var(--navy);color:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.25);padding:10px 16px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.cmpbar[hidden]{display:none}
.cmpbar .th{display:flex;gap:8px}
.cmpbar .it{position:relative;width:54px;height:44px;border-radius:8px;overflow:hidden;background:#fff}
.cmpbar .it img{width:100%;height:100%;object-fit:cover}
.cmpbar .it button{position:absolute;top:0;right:0;border:0;background:var(--red);color:#fff;width:18px;height:18px;line-height:16px;font-size:.8rem;cursor:pointer;border-radius:0 0 0 6px;padding:0}
.cmpbar .ph{width:54px;height:44px;border:2px dashed #3d5f94;border-radius:8px}
body.has-cmp{padding-bottom:70px}body.has-cmp .wa{bottom:84px}
.cmptbl{width:100%;border-collapse:separate;border-spacing:0;min-width:640px;background:#fff}
.cmptbl th,.cmptbl td{padding:12px 14px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;font-size:.9rem}
.cmptbl th{background:var(--bg);color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;width:150px;position:sticky;left:0}
.cmptbl td.best{background:#e9f8f0;font-weight:700;color:var(--ok)}
.cmptbl .hd td{border-bottom:2px solid var(--line)}
.cmptbl .hd img{width:100%;height:130px;object-fit:cover;border-radius:10px;margin-bottom:8px}
.cmptbl tr.same{opacity:.55}
.cmpwrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);margin-bottom:40px}

@media(max-width:980px){
  nav.main .wrap{overflow-x:auto;scrollbar-width:none}
  .mega,.hm .car{display:none!important}
  .hero-img{width:100%}
}
@media(max-width:600px){.cmpbar{justify-content:space-between;padding:8px 12px}.cmpbar .msg{display:none}}
