/* DINTEC 2026 — navy / red industrial wholesale. One stylesheet, no framework. */
:root{
  --navy:#243b81; --navy-d:#1b2e63; --navy-x:#16244b;
  --red:#e40613; --red-d:#bf0510;
  --ink:#1a2334; --ink-2:#39424f; --muted:#6a7382;
  --line:#e4e6ea; --bg:#ffffff; --bg-2:#f5f5f6; --tile:#dddce2; --hero:#eaeaea;
  --head-h:64px; --max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden;
  font:16px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.14;letter-spacing:-.02em;font-weight:700;color:var(--navy);text-wrap:balance}
h1{font-size:clamp(2.15rem,3.9vw,3.5rem);line-height:1.1}
h2{font-size:clamp(1.65rem,2.7vw,2.35rem)}
h3{font-size:1.06rem;font-weight:600;letter-spacing:-.01em;line-height:1.35}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 18px}}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.lead{color:var(--ink-2);font-size:1.06rem;max-width:58ch}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:99}

/* ---------- top utility bar ---------- */
.topbar{background:#fff;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:66px}
.brand{display:flex;align-items:center;gap:11px;color:var(--navy)}
.brand .mark{width:38px;height:38px;flex:0 0 auto;display:block}
.mark-s{fill:#101010}
.mark-c{fill:#e40613}
.brand b{display:block;font-size:1.16rem;letter-spacing:.02em;line-height:1;font-weight:800}
.brand small{display:block;margin-top:5px;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.top-links{display:flex;align-items:center;gap:26px;white-space:nowrap}
.top-tel{font-weight:700;color:#0a63b8;font-size:.92rem;letter-spacing:.01em}
.top-tel:hover{color:var(--red)}
.top-mail{font-weight:600;color:var(--navy);font-size:.9rem;letter-spacing:.01em}
.top-mail:hover{color:var(--red)}
.top-red{font-weight:700;color:var(--red);text-transform:uppercase;font-size:.72rem;letter-spacing:.09em}
.top-red:hover{color:var(--red-d)}
.top-lang{letter-spacing:.1em;font-size:.74rem;color:var(--muted)}
.top-lang b{color:var(--navy)}
@media(max-width:860px){
  .topbar-in{min-height:56px}
  .brand .mark{width:34px;height:34px}
  .brand b{font-size:1rem}.brand small{display:none}
  .top-links{gap:14px}
  .top-tel{font-size:.84rem}.top-mail{font-size:.8rem}.top-lang,.top-red{display:none}
}
@media(max-width:640px){.top-tel{display:none}}

/* ---------- main navy nav ---------- */
.site-head{background:var(--navy);position:sticky;top:0;z-index:40;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.head-in{display:flex;align-items:stretch;min-height:var(--head-h);gap:0}
.catalog-wrap{display:flex}
.catalog-btn{display:flex;align-items:center;gap:12px;background:var(--red);color:#fff;
  padding:0 24px;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  transition:background .15s}
.catalog-btn:hover{background:var(--red-d)}
.catalog-btn .bars{display:flex;flex-direction:column;gap:3px;width:16px}
.catalog-btn .bars i{display:block;height:2px;background:#fff}
.catalog-btn .caret{border:solid currentColor;border-width:0 2px 2px 0;padding:2.5px;
  transform:rotate(45deg) translateY(-2px);opacity:.85}
.nav{display:flex;align-items:stretch}
.nav a{display:flex;align-items:center;padding:0 20px;color:rgba(255,255,255,.92);font-size:.9rem;
  letter-spacing:.01em;border-bottom:2px solid transparent;border-top:2px solid transparent;transition:background .15s}
.nav a:hover{background:rgba(255,255,255,.09);color:#fff}
.nav a.on{border-bottom-color:var(--red);color:#fff;font-weight:600}
.search{margin-left:auto;display:flex;align-items:center;gap:0;padding-left:20px;min-width:0}
.search input{width:190px;max-width:34vw;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.38);
  color:#fff;font:inherit;font-size:.86rem;padding:7px 2px;outline:none}
.search input::placeholder{color:rgba(255,255,255,.6)}
.search input:focus{border-bottom-color:#fff}
.search button{background:transparent;border:0;color:#fff;cursor:pointer;padding:8px 6px 8px 10px;line-height:0;opacity:.85}
.search button:hover{opacity:1}
.nav-toggle{display:none}
@media(max-width:1000px){.nav a{padding:0 13px;font-size:.84rem}.search input{width:130px}}
@media(max-width:820px){
  .head-in{min-height:56px;align-items:center}
  .catalog-btn{padding:0 16px;height:56px;font-size:.72rem;gap:9px}
  .nav{position:absolute;left:0;right:0;top:56px;background:var(--navy-d);flex-direction:column;
    display:none;padding:6px 0 14px;box-shadow:0 18px 30px rgba(10,18,40,.28)}
  .nav a{padding:14px 22px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem}
  .nav a.on{border-bottom-color:rgba(255,255,255,.1);color:#fff;font-weight:600}
  .nav a.on::before{content:"";display:inline-block;width:3px;height:14px;background:var(--red);margin-right:10px;vertical-align:-2px}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;margin-left:auto;width:46px;height:46px;
    border:0;background:transparent;cursor:pointer;padding:0 12px}
  .nav-toggle span{display:block;height:2px;background:#fff;border-radius:1px}
  .nav-toggle span:nth-child(2){width:70%}
  .search{display:none}
  #navstate:checked ~ .nav{display:flex}
}

/* mega menu (desktop only) */
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;z-index:45;
  border-top:2px solid var(--red);box-shadow:0 24px 40px rgba(16,24,48,.18);padding:34px 0 30px}
.mega-in{max-width:var(--max);margin:0 auto;padding:0 32px}
.mega h4{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 28px}
@media(max-width:1100px){.mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mega a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:.9rem;color:var(--ink);
  border-bottom:1px solid var(--line)}
.mega a:hover{color:var(--navy)}
.mega a span{color:var(--muted);font-size:.76rem;white-space:nowrap}
.mega-foot{margin-top:22px;display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.mega-foot a{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);border:0;padding:0}
.mega-foot .muted{font-size:.78rem;color:var(--muted)}
@media(max-width:820px){.mega{display:none!important}}
@media(min-width:821px){
  .catalog-wrap:hover .mega,.catalog-wrap:focus-within .mega{display:block}
}

/* ---------- buttons ---------- */
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;font-size:.86rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}
.btn .arw{font-size:1.05em;line-height:1;transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-d)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
.link-more{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
  border-bottom:2px solid var(--red);padding-bottom:5px;white-space:nowrap}
.link-more:hover{color:var(--red)}

/* ---------- hero ---------- */
.hero{background:var(--hero);overflow:hidden}
.hero-in{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:22px;
  max-width:1420px;margin:0 auto;padding:0 0 0 32px}
.hero-txt{padding:74px 0 78px}
.hero h1{color:var(--navy);margin:16px 0 22px;letter-spacing:-.028em}
.hero .lead{color:#4b5462;max-width:44ch;font-size:1.04rem}
.hero-art{align-self:center;aspect-ratio:1500/1150;display:flex;align-items:center;justify-content:flex-end;
  min-width:0;overflow:hidden;
  margin-right:min(0px, max(-44px, calc((var(--max) - 100vw) / 2)))}
.hero-art img{width:100%;height:100%;max-width:none;min-width:0;object-fit:contain;object-position:center}
.hero-meta{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
.hero-meta div{border-top:1px solid rgba(36,59,129,.35);padding-top:11px;min-width:104px}
.hero-meta b{display:block;font-size:1.3rem;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.hero-meta span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){
  .hero-in{grid-template-columns:1fr;padding:0}
  .hero-txt{padding:44px 22px 8px}
  .hero-art{order:-1;justify-content:center;aspect-ratio:auto;max-height:46vh}
  .hero-art img{height:auto;max-height:46vh;object-fit:contain;object-position:center bottom}
  .hero-meta{gap:22px;margin-top:28px}
}

/* ---------- trust strip ---------- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.trust-in{display:flex;justify-content:space-between;gap:26px;padding-block:16px;flex-wrap:wrap;
  font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.trust b{color:var(--navy);font-weight:800}
.trust-set{display:flex;gap:42px;flex-wrap:wrap}
@media(max-width:760px){.trust-in{flex-direction:column;gap:8px;font-size:.68rem}}

/* ---------- sections ---------- */
.section{padding:92px 0}
.section.tight{padding:62px 0}
.section.paper{background:var(--bg-2)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px;flex-wrap:wrap}
.sec-head>div{max-width:660px}
.sec-head p{color:var(--muted);max-width:56ch;margin:12px 0 0}
.sec-head.center{justify-content:center;text-align:center;margin-bottom:52px}
.sec-head.center>div{max-width:680px;margin:0 auto}
.sec-head.center p{margin-left:auto;margin-right:auto}

/* ---------- catalogue cards (4 columns) ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px}
.cat-card{display:block;min-width:0}
.cat-tile{aspect-ratio:1/1;background:var(--tile);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cat-tile img{width:100%;height:100%;object-fit:contain;padding:0;mix-blend-mode:multiply;
  transition:transform .45s cubic-bezier(.2,.6,.3,1)}
.cat-card:hover .cat-tile img{transform:scale(1.055)}
.cat-tile .ph{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#8b8f9c}
.cat-name{margin-top:16px;text-align:center;color:var(--navy);font-size:1rem;font-weight:700;line-height:1.3}
.cat-meta{margin-top:5px;text-align:center;color:var(--muted);font-size:.78rem;letter-spacing:.02em}
.cat-card:hover .cat-name{color:var(--red)}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.cat-name{font-size:.92rem}}
.more-row{display:flex;justify-content:center;margin-top:48px}

/* ---------- advantages ---------- */
.adv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.adv > div{background:#fff;padding:34px 28px 38px}
.adv .num{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--red)}
.adv h3{margin:12px 0 8px;color:var(--navy);font-size:1.02rem}
.adv p{margin:0;color:var(--muted);font-size:.9rem}
@media(max-width:900px){.adv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.adv{grid-template-columns:1fr}}

/* ---------- split / facts ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.split .prose p{color:var(--ink-2)}
.split .prose p.lead{color:var(--ink)}
.facts{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.facts li{display:grid;grid-template-columns:104px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.facts b{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:3px}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:34px}}

/* ---------- numbers ---------- */
.numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-top:2px solid var(--navy)}
.number{background:var(--bg-2);padding:30px 26px}
.number b{display:block;font-size:2.1rem;font-weight:800;letter-spacing:-.03em;color:var(--navy);line-height:1.05}
.number span{display:block;margin-top:8px;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
@media(max-width:720px){.numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- cta band ---------- */
.cta{background:linear-gradient(100deg,var(--navy) 0%,var(--navy-x) 100%);color:#fff;padding:74px 0}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta h2{color:#fff;max-width:20ch}
.cta p{color:rgba(255,255,255,.76);margin:14px 0 0;max-width:46ch}
.cta .btn-primary{border-color:var(--red)}

/* ---------- footer ---------- */
.site-foot{background:var(--navy-d);color:rgba(255,255,255,.74);padding:64px 0 26px;font-size:.88rem}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:38px}
.site-foot h4{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:0 0 14px;font-weight:700}
.site-foot p{margin:0 0 9px}
.site-foot a:hover{color:#fff}
.foot-legal{font-size:.78rem;color:rgba(255,255,255,.5);margin-top:14px}
.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.foot-brand .mark{width:36px;height:36px;flex:0 0 auto}
.site-foot .mark-s{fill:#fff}
.foot-brand b{color:#fff;font-size:1.05rem;letter-spacing:.02em}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:46px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.16);font-size:.76rem;color:rgba(255,255,255,.55)}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- inner page head ---------- */
.page-head{background:var(--bg-2);padding:56px 0 42px;border-bottom:1px solid var(--line)}
.page-head h1{margin:14px 0 14px}
.page-head .lead{color:var(--muted);max-width:64ch;margin:0}
.crumb{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crumb a:hover{color:var(--navy)}
.crumb span{color:#a4a9b4}

/* ---------- generic list ---------- */
.list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.list .item{background:#fff;border:1px solid var(--line);padding:28px 26px;min-height:190px;display:flex;flex-direction:column}
.list .item h3{margin:0 0 10px;color:var(--navy)}
.list .item p{color:var(--muted);font-size:.9rem;margin:0}

/* ---------- detail ---------- */
.detail{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:64px;align-items:start}
.detail .pic{background:var(--tile);padding:0;display:flex;align-items:center;justify-content:center}
.detail .pic img{mix-blend-mode:multiply;width:100%}
.detail h1{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0 16px}
.detail .lead{color:var(--muted)}
.spec{list-style:none;margin:28px 0 0;padding:0;border-top:2px solid var(--navy)}
.spec li{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.spec b{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:2px}
.pdesc{color:var(--ink-2);font-size:.94rem}
.pdesc b{color:var(--navy)}
.pnote{margin:26px 0 0;padding:12px 14px;background:var(--bg-2);border-left:3px solid var(--red);color:var(--ink-2);font-size:.86rem;line-height:1.6;letter-spacing:.01em}
@media(max-width:820px){.detail{grid-template-columns:1fr;gap:28px;padding-block:36px}}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:64px}
.info{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.info li{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}
.info b{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:3px}
.loc + .loc{margin-top:36px}
.loc-h{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.loc-co{margin:9px 0 14px;font-size:1.04rem;font-weight:700;color:var(--navy);letter-spacing:.01em}
form.enq{background:var(--bg-2);border:1px solid var(--line);padding:32px}
form.enq label{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px;font-weight:700}
form.enq input,form.enq textarea{width:100%;padding:12px 12px;border:1px solid #d7dae0;background:#fff;
  font:inherit;font-size:.96rem;color:var(--ink);outline:none}
form.enq input:focus,form.enq textarea:focus{border-color:var(--navy)}
form.enq textarea{min-height:110px;resize:vertical}
form.enq .btn{margin-top:24px;border:0;cursor:pointer}
@media(max-width:860px){.contact{grid-template-columns:1fr;gap:32px;padding-block:36px}}

/* ---------- chart ---------- */
.chart{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;border-top:2px solid var(--navy);padding-top:24px}
.bar{display:flex;flex-direction:column;justify-content:flex-end;height:240px}
.bar b{font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:9px;letter-spacing:-.02em}
.bar i{display:block;background:var(--navy);height:var(--h);min-height:4px}
.bar:nth-child(4) i{background:var(--red)}
.bar span{margin-top:10px;font-size:.72rem;letter-spacing:.12em;color:var(--muted)}
@media(max-width:640px){.bar{height:170px}}

/* ---------- certificates ---------- */
.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.cert{border:1px solid var(--line);background:#fff;padding:30px 26px;display:flex;flex-direction:column}
.cert-icon{color:var(--navy);margin-bottom:18px;height:42px;display:flex;align-items:center}
.cert-icon span{font-size:2rem;line-height:1;color:var(--red)}
.cert h3{font-size:1.06rem;margin:0 0 6px;color:var(--navy)}
.cert .issuer{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.cert p{font-size:.9rem;color:var(--ink-2);margin:0 0 20px}
.cert-dl{margin-top:auto;align-self:flex-start;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy);border-bottom:2px solid var(--red);padding-bottom:4px}
.cert-dl span{color:var(--muted);font-weight:400;margin-left:8px;letter-spacing:.02em;text-transform:none}
.cert-more{border-style:dashed;background:transparent}

/* ---------- product families grid (products page) ---------- */
.families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.fam{display:block}
.fam-pic{aspect-ratio:1/1;background:var(--tile);display:flex;align-items:center;justify-content:center;overflow:hidden}
.fam-pic img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply;transition:transform .45s}
.fam:hover .fam-pic img{transform:scale(1.055)}
.fam-txt{padding:16px 0 0;text-align:center}
.fam-txt h3{font-size:1rem;margin:0 0 5px;color:var(--navy)}
.fam-txt p{font-size:.78rem;letter-spacing:.02em;color:var(--muted);margin:0}
.fam:hover .fam-txt h3{color:var(--red)}
.fam-promo .fam-pic{background:var(--navy);}
.fam-promo .fam-pic .pp{color:#fff;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;text-align:center;padding:20px}
.fam-promo .fam-txt h3{color:var(--red)}
@media(max-width:900px){.families{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
.promos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;margin-top:46px}
@media(max-width:900px){.promos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
@media(max-width:560px){.promos{grid-template-columns:1fr}}

/* ---------- series list ---------- */
.series-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.series{background:#fff;border:1px solid var(--line);padding:16px 18px;display:flex;justify-content:space-between;
  gap:12px;align-items:center;transition:border-color .15s,background .15s}
.series:hover{border-color:var(--navy);background:#fbfbfd}
.series b{font-weight:600;font-size:.9rem;color:var(--ink)}
.series span{font-size:.72rem;color:var(--muted);white-space:nowrap}
@media(max-width:1000px){.series-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .series{flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px}
  .series b{font-size:.86rem;line-height:1.32}
  .series span{font-size:.7rem}
}

/* ---------- product grid ---------- */
.pgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 22px}
.pitem{display:block}
.pitem .ph{aspect-ratio:1/1;background:var(--tile);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pitem img{width:100%;height:100%;object-fit:contain;padding:0;mix-blend-mode:multiply;transition:transform .4s}
.pitem:hover img{transform:scale(1.06)}
.pitem b{display:block;margin-top:12px;font-size:.82rem;font-weight:600;line-height:1.35;color:var(--ink)}
.pitem:hover b{color:var(--navy)}
.pitem span{display:block;margin-top:3px;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.noimg{width:100%;height:100%;background:var(--tile)}
@media(max-width:1100px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:860px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}}
@media(max-width:520px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- factory gallery ---------- */
.factory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.factory figure{margin:0}
.factory img{width:100%;aspect-ratio:3/2;object-fit:cover}
.factory figcaption{margin-top:10px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media(max-width:1024px){.factory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.factory{grid-template-columns:1fr}}

/* ---------- misc ---------- */
.pager{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.pager a,.pager span{border:1px solid var(--line);padding:8px 13px;font-size:.82rem;color:var(--ink-2)}
.pager .cur{background:var(--navy);border-color:var(--navy);color:#fff}
.srch{max-width:760px}
.srch form{display:flex;gap:10px;margin-bottom:8px}
.srch input{flex:1;border:1px solid #d7dae0;padding:13px 14px;font:inherit}
.srch button{border:0;background:var(--navy);color:#fff;padding:0 24px;font:inherit;font-weight:700;cursor:pointer;letter-spacing:.05em}
.srch button:hover{background:var(--navy-x)}
.srch .hint{color:var(--muted);font-size:.82rem}
.srch .res{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.srch .res a{border:1px solid var(--line);padding:13px 15px;font-size:.88rem}
.srch .res a b{display:block;color:var(--navy);font-size:.9rem}
.srch .res a span{color:var(--muted);font-size:.76rem}
.srch .res a:hover{border-color:var(--navy)}
@media(max-width:780px){.srch .res{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
