/* ============================================================
   PRIMIONICS GLOBAL STYLESHEET — global.css v1.0
   Single unified CSS for the entire Primionics website.
   ============================================================ */

/* ── BASE & LAYOUT ── */
/* PRIMIONICS v7 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--bg:#F7F9FC;--paper:#EEF2F8;--paper2:#E4EAEF;--white:#fff;--n0:#0F2238;--n1:#1A3557;--n2:#24487A;--n3:#2E5C9C;--n4:#4A7EC0;--n5:#7AABDC;--n6:#B8D4EE;--n7:#DDE9F6;--o1:#C8420F;--o2:#E5551A;--o3:#F06830;--o4:#FF8A5C;--o-bg:#FEF2EC;--o-bd:rgba(229,85,26,.20);--t1:#0F2238;--t2:#2D4762;--t3:#5A7494;--t4:#8BAAC6;--t5:#C0D3E5;--ln:rgba(26,53,87,.10);--ln2:rgba(26,53,87,.18);--ln3:rgba(26,53,87,.28);--lni:rgba(255,255,255,.10);--lni2:rgba(255,255,255,.18);--di1:#E8EFF8;--di2:#95B4CF;--di3:#4C6E8C;--f-head:'Plus Jakarta Sans',sans-serif;--f-body:'Inter',sans-serif;--f-mono:'JetBrains Mono',monospace;--rail:min(1360px,100% - 64px);--rn:min(980px,100% - 64px);--sp:96px;--sp2:64px;--rad:8px;--rad2:4px;--sha:0 2px 16px rgba(15,34,56,.07),0 1px 4px rgba(15,34,56,.05);--sha2:0 8px 32px rgba(15,34,56,.10),0 2px 8px rgba(15,34,56,.06);--ease:cubic-bezier(.25,.1,.25,1);--ease-out:cubic-bezier(0,0,.2,1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--t1);font-family:var(--f-body);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{text-decoration:none;color:inherit}p{min-font-size:14px}button{font-family:var(--f-body);cursor:pointer;border:none;background:none}img{display:block;max-width:100%}ul,ol{list-style:none}
.rail{width:var(--rail);margin-inline:auto}.rn{width:var(--rn);margin-inline:auto}
.sec{padding-block:var(--sp)}.sec2{padding-block:var(--sp2)}.sec-bg{background:var(--bg)}.sec-paper{background:var(--paper)}.sec-white{background:var(--white)}.sec-navy{background:var(--n1)}.sec-dark{background:var(--n0)}.bd-t{border-top:1px solid var(--ln)}.bd-b{border-bottom:1px solid var(--ln)}
.lbl{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--t4);display:inline-block}.lbl-o{color:var(--o2)}.lbl-w{color:var(--di3)}.lbl-n{color:var(--n4)}
.h1{font-family:var(--f-head);font-size:clamp(40px,6vw,80px);font-weight:800;line-height:1.05;letter-spacing:-.02em}.h2{font-family:var(--f-head);font-size:clamp(28px,4vw,52px);font-weight:700;line-height:1.10;letter-spacing:-.015em}.h3{font-family:var(--f-head);font-size:clamp(22px,3vw,36px);font-weight:700;line-height:1.18;letter-spacing:-.01em}.h4{font-family:var(--f-head);font-size:clamp(17px,2.2vw,24px);font-weight:700;line-height:1.25}.h5{font-family:var(--f-head);font-size:17px;font-weight:700;line-height:1.30}
.on-dark .h1,.on-dark .h2,.on-dark .h3,.on-dark .h4,.on-dark .h5{color:var(--di1)}.on-dark{color:var(--di2)}
.body-xl{font-size:18px;font-weight:400;line-height:1.78;color:var(--t2)}.body-lg{font-size:16.5px;line-height:1.75;color:var(--t2)}.body{font-size:15px;line-height:1.72;color:var(--t3)}.body-sm{font-size:13.5px;line-height:1.65;color:var(--t4)}
.chip{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:20px;border:1px solid var(--ln2);color:var(--t3);background:var(--white);white-space:nowrap}.chip-o{border-color:var(--o-bd);color:var(--o2);background:var(--o-bg)}.chip-n{border-color:rgba(46,92,156,.2);color:var(--n3);background:rgba(46,92,156,.06)}.chip-dk{border-color:var(--lni2);color:var(--di2);background:rgba(255,255,255,.05)}.chips{display:flex;flex-wrap:wrap;gap:6px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;font-family:var(--f-head);font-size:13.5px;font-weight:600;cursor:pointer;border-radius:var(--rad);border:1.5px solid transparent;transition:all .18s;white-space:nowrap}.btn-primary{background:var(--n1);color:#fff;border-color:var(--n1)}.btn-primary:hover{background:var(--n0);transform:translateY(-1px);box-shadow:var(--sha2)}.btn-orange{background:var(--o2);color:#fff;border-color:var(--o2)}.btn-orange:hover{background:var(--o1);transform:translateY(-1px);box-shadow:0 8px 24px rgba(229,85,26,.30)}.btn-outline{background:transparent;color:var(--t1);border-color:var(--ln3)}.btn-outline:hover{border-color:var(--n2);color:var(--n2);background:rgba(46,92,156,.05)}.btn-outline-w{background:rgba(255,255,255,.08);color:var(--di1);border-color:var(--lni2)}.btn-outline-w:hover{background:rgba(255,255,255,.14)}.btn-outline-o{background:transparent;color:var(--o2);border-color:var(--o-bd)}.btn-outline-o:hover{background:var(--o-bg)}.btn-lo{background:rgba(229,85,26,.12);color:var(--o1);border-color:rgba(229,85,26,.30);font-weight:700}.btn-lo:hover{background:rgba(229,85,26,.2);border-color:var(--o2);color:var(--o1)}.btn-sm{padding:8px 18px;font-size:12.5px}.btn-lg{padding:14px 32px;font-size:15px}
.card{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);transition:box-shadow .2s,border-color .2s,transform .2s}.card:hover{box-shadow:var(--sha2);border-color:var(--n6);transform:translateY(-2px)}.card-p{padding:24px}.card-p2{padding:32px}
.nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--ln);transition:box-shadow .2s}.nav.elevated{box-shadow:var(--sha)}.nav-inner{display:flex;align-items:center;height:60px;width:var(--rail);margin-inline:auto}.nav-logo{display:flex;align-items:center;gap:10px;margin-right:28px;flex-shrink:0;text-decoration:none}.nav-logo-mark{width:32px;height:32px;background:var(--n1);border-radius:7px;display:flex;align-items:center;justify-content:center}.nav-logo-mark span{font-family:var(--f-head);font-size:15px;font-weight:800;color:#fff;letter-spacing:-.05em}.nav-logo-name{font-family:var(--f-head);font-size:15px;font-weight:700;color:var(--t1);letter-spacing:-.02em;line-height:1}.nav-logo-name em{font-style:normal;color:var(--o2)}.nav-logo-sub{font-family:var(--f-mono);font-size:7px;letter-spacing:.18em;text-transform:uppercase;color:var(--t4);display:block;margin-top:2px}
.nav-links{display:flex;align-items:center;flex:1;gap:2px;height:100%}.nav-item{position:relative;height:100%;display:flex;align-items:center}.nav-link{display:flex;align-items:center;gap:5px;padding:0 13px;height:100%;font-size:14px;font-weight:500;color:var(--t2);cursor:pointer;transition:color .14s;white-space:nowrap;position:relative;border:none;background:none;font-family:var(--f-body)}.nav-link:hover,.nav-link.active{color:var(--n1)}.nav-link::after{content:'';position:absolute;bottom:0;left:13px;right:13px;height:2px;background:var(--o2);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform .15s}.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}.nav-caret{width:11px;height:11px;transition:transform .18s;color:var(--t4);flex-shrink:0}.nav-item:hover .nav-caret{transform:rotate(180deg);color:var(--o2)}.nav-right{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:16px}.nav-academix{background:var(--o2)!important;color:#fff!important;border-radius:6px;padding:6px 16px!important;height:auto!important;font-weight:600!important;font-size:13px!important;transition:background .15s!important}.nav-academix:hover{background:var(--o1)!important;color:#fff!important}.nav-academix::after{display:none!important}
.nav-dropdown{position:absolute;top:calc(100% + 1px);left:0;background:var(--white);border:1px solid var(--ln);border-top:2px solid var(--o2);border-radius:0 0 var(--rad) var(--rad);min-width:240px;box-shadow:var(--sha2);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .16s,transform .16s;z-index:999;overflow:hidden}.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}.dd-bridge{position:absolute;top:-8px;left:0;right:0;height:8px}.dd-sec-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--t4);padding:14px 18px 6px}.dd-item{display:flex;flex-direction:column;padding:9px 18px;transition:background .1s;text-decoration:none}.dd-item:hover{background:var(--paper)}.dd-item-name{font-size:14px;font-weight:500;color:var(--t1)}.dd-item-note{font-size:12.5px;color:var(--t4);margin-top:1px}.dd-div{height:1px;background:var(--ln);margin:4px 0}
.nav-mega{position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%) translateY(-6px);width:840px;max-width:calc(100vw - 24px);background:var(--white);border:1px solid var(--ln);border-top:2px solid var(--o2);border-radius:0 0 var(--rad) var(--rad);box-shadow:var(--sha2);opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;z-index:999}.nav-item:hover .nav-mega,.nav-item:focus-within .nav-mega{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}.mega-inner{display:grid;grid-template-columns:repeat(3,1fr)}.mega-col{padding:20px;border-right:1px solid var(--ln)}.mega-col:last-child{border-right:none}.mega-col-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--o2);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ln)}.mega-item{display:block;font-size:12.5px;font-weight:500;color:var(--t2);padding:6px 0;transition:color .12s;text-decoration:none}.mega-item:hover{color:var(--o2)}.mega-item span{display:block;font-size:10.5px;color:var(--t4);margin-top:1px;font-weight:400}.mega-foot{border-top:1px solid var(--ln);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.mega-foot-t{font-size:12px;color:var(--t3)}.mega-foot-l{font-size:12px;font-weight:600;color:var(--n2)}
.nav-mob-btn{display:none;padding:8px;color:var(--t2)}.mob-nav{display:none;background:var(--white);border-top:1px solid var(--ln);padding-bottom:16px}.mob-nav.open{display:block}.mob-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--t4);padding:14px 24px 5px}.mob-link{display:block;font-size:15px;font-weight:500;color:var(--t2);padding:11px 24px;border-bottom:1px solid var(--ln);transition:color .12s}.mob-link:hover{color:var(--n1);background:var(--paper)}
.float-bar{position:fixed;bottom:28px;right:24px;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:800}.float-social{display:flex;gap:8px}.float-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--sha2);transition:transform .18s,box-shadow .18s;cursor:pointer;text-decoration:none;border:none;flex-shrink:0}.float-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.18)}.fb-wa{background:#25D366}.fb-li{background:#0077B5}.fb-top{background:var(--n1);color:var(--white);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;transform:translateY(8px)}.fb-top.visible{opacity:1;pointer-events:all;transform:translateY(0)}
.footer{background:var(--n0);color:var(--di2);border-top:3px solid var(--o2)}.footer-top{padding:64px 0 52px;display:grid;grid-template-columns:220px 1fr 1fr 1fr 1fr;gap:44px;border-bottom:1px solid var(--lni)}.footer-brand-name{font-family:var(--f-head);font-size:20px;font-weight:800;color:var(--white);letter-spacing:-.02em;margin-bottom:3px}.footer-brand-name em{font-style:normal;color:var(--o3)}.footer-tagline{font-family:var(--f-mono);font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--di3);margin-bottom:14px}.footer-desc{font-size:14px;color:var(--di3);line-height:1.7;margin-bottom:18px}.footer-socials{display:flex;gap:8px;margin-bottom:18px}.fsb{width:34px;height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);transition:background .15s;color:var(--di1);text-decoration:none}.fsb:hover{background:rgba(255,255,255,.16)}.footer-offices{display:flex;flex-direction:column;gap:3px}.footer-office{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--di3)}.footer-col-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--di3);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--lni)}.footer-links{display:flex;flex-direction:column;gap:1px}.footer-link{font-size:14px;color:var(--di3);padding:5px 0;transition:color .12s}.footer-link:hover{color:var(--di1)}.footer-link.hl{color:var(--o3)}.footer-subscribe{margin-top:16px;border-top:1px solid var(--lni);padding-top:16px}.footer-subscribe-label{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--di3);margin-bottom:10px}.footer-subscribe-form{display:flex}.footer-subscribe-input{flex:1;padding:9px 12px;font-size:12.5px;font-family:var(--f-body);background:rgba(255,255,255,.08);border:1px solid var(--lni2);border-right:none;border-radius:var(--rad2) 0 0 var(--rad2);color:var(--di1);outline:none}.footer-subscribe-input::placeholder{color:var(--di3)}.footer-subscribe-input:focus{background:rgba(255,255,255,.13)}.footer-subscribe-btn{padding:9px 15px;background:var(--o2);color:#fff;font-size:12px;font-weight:600;font-family:var(--f-head);border:1px solid var(--o2);border-radius:0 var(--rad2) var(--rad2) 0;cursor:pointer;transition:background .15s}.footer-subscribe-btn:hover{background:var(--o1)}.footer-btm{padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.footer-copy{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--di3)}.footer-legal{display:flex;gap:20px}.footer-legal a{font-size:12px;color:var(--di3);transition:color .12s}.footer-legal a:hover{color:var(--di1)}
.page-hero{background:var(--n1);padding:52px 0;border-bottom:1px solid var(--lni);position:relative;overflow:hidden}.page-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--o2),var(--o4))}.page-hero-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px}.ph-crumb{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--di3);margin-bottom:24px;flex-wrap:wrap}.ph-crumb a{color:var(--di3);transition:color .12s}.ph-crumb a:hover{color:var(--di1)}.ph-label{margin-bottom:12px}.ph-title{color:var(--di1);margin-bottom:14px}.ph-sub{font-size:16px;font-weight:300;color:var(--di2);line-height:1.75;max-width:60ch;margin-bottom:24px}.ph-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.ph-chips{display:flex;flex-wrap:wrap;gap:6px}
.hero{background:var(--n0);min-height:88vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(46,92,156,.25) 0%,transparent 65%),radial-gradient(ellipse at 20% 80%,rgba(229,85,26,.10) 0%,transparent 50%)}.hero-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}.hero-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;padding:80px 0 60px}.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(229,85,26,.15);border:1px solid rgba(229,85,26,.25);border-radius:20px;padding:5px 14px;margin-bottom:28px;width:fit-content}.hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--o3)}.hero-tag-text{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--o4)}.hero-h{font-family:var(--f-head);font-size:clamp(44px,7vw,88px);font-weight:800;line-height:1.02;letter-spacing:-.025em;color:var(--di1);max-width:15ch;margin-bottom:24px}.hero-h em{font-style:normal;color:var(--o3)}.hero-sub{font-size:17px;font-weight:300;color:var(--di2);line-height:1.78;max-width:56ch;margin-bottom:36px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:56px}.hero-stats{display:flex;gap:0;border-top:1px solid var(--lni);padding-top:36px;flex-wrap:wrap}.hero-stat{padding:0 40px 0 0;margin-right:40px;border-right:1px solid var(--lni)}.hero-stat:last-child{border-right:none;margin-right:0}.hero-stat-n{font-family:var(--f-head);font-size:36px;font-weight:800;color:var(--di1);letter-spacing:-.02em;line-height:1;margin-bottom:4px}.hero-stat-n em{font-style:normal;color:var(--o3)}.hero-stat-l{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--di3)}
.ind-bar{background:var(--n1);border-bottom:1px solid var(--lni)}.ind-bar-inner{display:flex;overflow-x:auto;scrollbar-width:none;width:var(--rail);margin-inline:auto}.ind-bar-inner::-webkit-scrollbar{display:none}.ind-bar-item{display:flex;align-items:center;gap:10px;padding:14px 22px;border-right:1px solid var(--lni);white-space:nowrap;flex-shrink:0;text-decoration:none;transition:background .12s}.ind-bar-item:hover{background:rgba(255,255,255,.06)}.ind-bar-num{font-family:var(--f-mono);font-size:8.5px;color:var(--di3);letter-spacing:.1em}.ind-bar-name{font-size:12.5px;font-weight:600;color:var(--di2)}
.sec-head{margin-bottom:48px}.sec-head-split{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px;flex-wrap:wrap}.sec-head .lbl{margin-bottom:12px}.sec-head-note{font-size:15px;font-weight:300;color:var(--t3);line-height:1.75;max-width:44ch}
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.industry-card{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);padding:24px;display:flex;flex-direction:column;gap:12px;text-decoration:none;transition:all .2s}.industry-card:hover{border-color:var(--n4);box-shadow:var(--sha2);transform:translateY(-3px)}.ic-num{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;color:var(--t5);transition:color .2s}.industry-card:hover .ic-num{color:var(--o2)}.ic-title{font-family:var(--f-head);font-size:15.5px;font-weight:700;color:var(--t1);line-height:1.25;letter-spacing:-.01em}.ic-desc{font-size:12.5px;color:var(--t3);line-height:1.65;flex:1}.ic-partners{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);border-top:1px solid var(--ln);padding-top:12px;margin-top:4px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden}.service-card{padding:32px 28px;border-right:1px solid var(--ln);background:var(--white);transition:background .18s}.service-card:last-child{border-right:none}.service-card:hover{background:var(--paper)}.sc-num{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--o2);margin-bottom:14px}.sc-title{font-family:var(--f-head);font-size:17px;font-weight:700;color:var(--t1);margin-bottom:10px;letter-spacing:-.01em}.sc-desc{font-size:13.5px;color:var(--t3);line-height:1.7}.sc-items{margin-top:16px;display:flex;flex-direction:column;gap:0}.sc-item{font-size:12.5px;color:var(--t3);padding:7px 0 7px 16px;border-top:1px solid var(--ln);position:relative}.sc-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:2px;background:var(--o3);border-radius:2px}
.product-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-cat-card{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden;display:flex;flex-direction:column;transition:all .2s;text-decoration:none}.product-cat-card:hover{border-color:var(--n4);box-shadow:var(--sha2);transform:translateY(-2px)}.pcc-head{padding:18px 20px 14px;background:var(--paper);border-bottom:1px solid var(--ln)}.pcc-cat{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--o2);margin-bottom:5px}.pcc-title{font-family:var(--f-head);font-size:15px;font-weight:700;color:var(--t1);letter-spacing:-.01em}.pcc-body{padding:14px 20px;flex:1}.pcc-item{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--t2);padding:6px 0;border-bottom:1px solid var(--ln);transition:color .12s;text-decoration:none}.pcc-item:last-child{border-bottom:none}.pcc-item:hover{color:var(--o2)}.pcc-item-note{font-size:10.5px;color:var(--t4)}.pcc-footer{padding:12px 20px;border-top:1px solid var(--ln);background:var(--paper)}.pcc-link{font-size:12px;font-weight:600;color:var(--n2)}.product-cat-card:hover .pcc-link{color:var(--o2)}
.hww-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.hww-cell{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);padding:32px;transition:box-shadow .2s}.hww-cell:hover{box-shadow:var(--sha2)}.hww-n{font-family:var(--f-head);font-size:56px;font-weight:800;color:var(--paper2);line-height:1;margin-bottom:16px;letter-spacing:-.03em}.hww-title{font-family:var(--f-head);font-size:20px;font-weight:700;color:var(--t1);margin-bottom:10px}.hww-desc{font-size:13.5px;color:var(--t3);line-height:1.70;margin-bottom:16px}.hww-list{display:flex;flex-direction:column;gap:0}.hww-item{font-size:12.5px;color:var(--t3);padding:7px 0 7px 16px;border-top:1px solid var(--ln);position:relative}.hww-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:2px;background:var(--o3);border-radius:2px}
.academia-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.academia-card{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden}.academia-card-head{background:var(--n1);padding:24px;position:relative}.academia-card-head::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--o2),var(--o4))}.academia-plan{display:flex;flex-direction:column;gap:0}.academia-plan-item{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--ln);font-size:13.5px}.academia-plan-item:last-child{border-bottom:none}.api-label{color:var(--t2);font-weight:500}.api-val{color:var(--n2);font-weight:600;font-size:13px}
.pp-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}.pp-sidebar{position:sticky;top:76px;display:flex;flex-direction:column;gap:16px}.pp-section{margin-bottom:40px}.pp-section-title{font-family:var(--f-head);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--t1);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--n1)}
.spec-table{width:100%;border-collapse:collapse;font-size:13.5px;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden}.spec-table thead tr{background:var(--n1)}.spec-table th{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--di2);padding:11px 16px;text-align:left}.spec-table td{padding:11px 16px;border-bottom:1px solid var(--ln);color:var(--t2);vertical-align:top}.spec-table td:first-child{font-weight:500;color:var(--t1);width:40%;background:var(--paper)}.spec-table tr:last-child td{border-bottom:none}
.info-box{border-left:3px solid var(--o2);background:var(--o-bg);padding:18px 20px 18px 22px;border-radius:0 var(--rad) var(--rad) 0;margin:24px 0}.info-box-title{font-family:var(--f-head);font-size:13px;font-weight:700;text-transform:uppercase;color:var(--t1);margin-bottom:12px}.info-items{display:flex;flex-direction:column;gap:0}.info-item{font-size:13.5px;color:var(--t2);padding:7px 0;border-bottom:1px solid var(--ln)}.info-item:last-child{border-bottom:none}
.sidebar-cta{background:var(--n1);border-radius:var(--rad);padding:24px;display:flex;flex-direction:column;gap:10px}.sidebar-cta-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--di3);margin-bottom:4px}.sidebar-contact{border-top:1px solid var(--lni);padding-top:14px;display:flex;flex-direction:column;gap:5px}.sidebar-contact a{font-size:13px;color:var(--di2);transition:color .12s}.sidebar-contact a:hover{color:var(--di1)}.sidebar-meta{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);padding:20px}.sidebar-meta-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--t4);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--ln)}.sidebar-partner-name{font-family:var(--f-head);font-size:17px;font-weight:700;color:var(--t1);margin-bottom:4px}.sidebar-partner-role{font-size:12.5px;color:var(--t3);margin-bottom:12px}.ext-link{display:inline-flex;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--o2);text-decoration:underline;text-decoration-color:var(--o-bd);text-underline-offset:3px;transition:color .12s}.ext-link:hover{color:var(--o1)}
.uc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.uc-cell{background:var(--paper);border:1px solid var(--ln);border-radius:var(--rad);padding:20px}.uc-tag{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--o2);margin-bottom:8px}.uc-title{font-family:var(--f-head);font-size:15px;font-weight:700;color:var(--t1);margin-bottom:8px}.uc-body{font-size:12.5px;color:var(--t3);line-height:1.65}
.related-bar{padding:16px 0;border-top:1px solid var(--ln);display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.rel-link{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--n3);border:1px solid var(--n6);padding:5px 12px;border-radius:20px;transition:all .14s}.rel-link:hover{background:var(--n7);color:var(--n1)}
.cta-sec{background:var(--n1);padding:var(--sp) 0;position:relative;overflow:hidden}.cta-sec::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--o2),var(--o4))}.cta-layout{display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:start}.cta-heading{color:var(--di1);margin-bottom:14px}.cta-heading em{font-style:normal;color:var(--o3)}.cta-text{font-size:15px;font-weight:300;color:var(--di2);line-height:1.78;max-width:52ch;margin-bottom:28px}.cta-points{border-top:1px solid var(--lni);margin-bottom:28px}.cta-point{padding:10px 0 10px 18px;border-bottom:1px solid var(--lni);font-size:13.5px;color:var(--di2);position:relative}.cta-point::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:2px;background:var(--o3);border-radius:2px}.cta-actions{display:flex;flex-wrap:wrap;gap:10px}.cta-panel{background:rgba(255,255,255,.06);border:1px solid var(--lni2);border-radius:var(--rad);overflow:hidden}.cta-panel-head{padding:14px 20px;border-bottom:1px solid var(--lni);font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--di3)}.cta-panel-row{padding:14px 20px;border-bottom:1px solid var(--lni)}.cta-panel-row:last-child{border-bottom:none}.cta-panel-lbl{font-family:var(--f-mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--di3);margin-bottom:4px}.cta-panel-val{font-size:14px;font-weight:500;color:var(--di1)}.cta-panel-val a{color:var(--di1);transition:color .12s}.cta-panel-val a:hover{color:var(--o3)}
.form-block{display:flex;flex-direction:column;gap:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--ln)}.form-field{display:flex;flex-direction:column;border-right:1px solid var(--ln)}.form-field:last-child{border-right:none}.form-field.full{grid-column:1/-1;border-right:none}.form-label{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t4);padding:12px 16px 0}.form-label em{color:var(--o2);font-style:normal}.form-input,.form-select,.form-textarea{width:100%;padding:8px 16px 14px;font-size:14px;font-family:var(--f-body);color:var(--t1);background:transparent;border:none;outline:none;transition:background .12s;appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--paper)}.form-input::placeholder,.form-textarea::placeholder{color:var(--t5)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%238BAAC6' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:36px;cursor:pointer}.form-textarea{resize:vertical;min-height:120px}.form-block-wrap{border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden}.form-submit{padding:20px;border-top:1px solid var(--ln);background:var(--paper)}.form-note{font-size:12px;color:var(--t4);padding:10px 16px}
.office-card{background:var(--white);border:1px solid var(--ln);border-radius:var(--rad);padding:20px;margin-bottom:12px}.office-city{font-family:var(--f-head);font-size:17px;font-weight:700;color:var(--t1);margin-bottom:2px}.office-state{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--o2);margin-bottom:8px}.office-detail{font-size:13px;color:var(--t3);line-height:1.65}
.sr{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}.sr.in{opacity:1;transform:none}.sd1{transition-delay:.07s}.sd2{transition-delay:.14s}.sd3{transition-delay:.21s}.sd4{transition-delay:.28s}.sd5{transition-delay:.35s}.sd6{transition-delay:.42s}
@media(max-width:1100px){:root{--rail:min(1360px,100% - 40px)}.industry-grid{grid-template-columns:repeat(3,1fr)}.product-cat-grid{grid-template-columns:repeat(2,1fr)}.cta-layout{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr 1fr}.pp-layout{grid-template-columns:1fr}.pp-sidebar{position:static}.services-grid{grid-template-columns:1fr}.academia-layout{grid-template-columns:1fr}}
@media(max-width:768px){:root{--sp:64px;--sp2:48px;--rail:min(1360px,100% - 32px)}.nav-links{display:none}.nav-mob-btn{display:flex}.industry-grid{grid-template-columns:1fr 1fr}.product-cat-grid{grid-template-columns:1fr}.hww-grid{grid-template-columns:1fr}.uc-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.hero-stat{border-right:none;padding-right:0;margin-right:0}.form-row{grid-template-columns:1fr}}
@media(max-width:480px){.industry-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}}

/* ── PRODUCT CARDS (listing grid) ── */
.prod-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
@media(max-width:1000px){.prod-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.prod-card-grid{grid-template-columns:1fr}}
.prod-card{background:var(--white);border:1.5px solid var(--ln);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .22s,transform .22s,border-color .22s;text-decoration:none;color:inherit}
.prod-card:hover{box-shadow:0 10px 36px rgba(0,0,0,.10);transform:translateY(-3px);border-color:var(--o2)}
.prod-card-img-area{width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,var(--paper) 0%,#e3eaf5 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-bottom:1px solid var(--ln)}
.prod-card-img-area img{max-width:72%;max-height:72%;object-fit:contain}
.prod-card-img-area svg{opacity:.55}
.prod-card-body{padding:22px 24px 18px;flex:1;display:flex;flex-direction:column}
.prod-card-cat{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;color:var(--o2);font-weight:700;text-transform:uppercase;margin-bottom:8px}
.prod-card-name{font-family:var(--f-head);font-size:16.5px;font-weight:700;color:var(--t1);line-height:1.28;margin-bottom:10px}
.prod-card-desc{font-size:13.5px;color:var(--t3);line-height:1.68;flex:1;margin-bottom:16px}
.prod-card-chips{display:flex;flex-wrap:wrap;gap:5px}
.prod-card-chip{font-size:10px;font-weight:500;padding:3px 9px;border-radius:100px;background:var(--paper);color:var(--t2);border:1px solid var(--ln2)}
.prod-card-footer{padding:14px 24px;border-top:1px solid var(--ln);display:flex;align-items:center;justify-content:space-between;gap:8px}
.prod-card-link{font-size:12.5px;font-weight:600;color:var(--o2);white-space:nowrap}
.prod-card-quote{font-size:12px;font-weight:600;padding:6px 14px;background:var(--o2);color:#fff;border-radius:6px;white-space:nowrap;transition:background .14s}
.prod-card-quote:hover{background:var(--o1)}
/* ── PRODUCT DETAIL PAGES ── */
.pd-subnav{position:sticky;top:60px;z-index:800;background:var(--white);border-bottom:1px solid var(--ln);box-shadow:0 2px 8px rgba(15,34,56,.05)}
.pd-subnav-inner{display:flex;align-items:center;justify-content:space-between;height:48px;width:var(--rail);margin-inline:auto;gap:16px}
.pd-tabs{display:flex;align-items:center;gap:0;height:100%;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.pd-tabs::-webkit-scrollbar{display:none}
.pd-tab{display:flex;align-items:center;height:100%;padding:0 16px;font-size:13px;font-weight:500;color:var(--t3);white-space:nowrap;border-bottom:2px solid transparent;transition:color .14s,border-color .14s;text-decoration:none}
.pd-tab:hover,.pd-tab.active{color:var(--o2);border-bottom-color:var(--o2)}
.pd-subnav-cta{font-size:12.5px;font-weight:600;padding:7px 18px;background:var(--o2);color:#fff;border-radius:6px;white-space:nowrap;transition:background .14s;flex-shrink:0;text-decoration:none}
.pd-subnav-cta:hover{background:var(--o1)}
.pd-intro{background:var(--white);border-bottom:1px solid var(--ln);scroll-margin-top:108px}
.pd-intro-inner{display:grid;grid-template-columns:420px 1fr;gap:0;width:var(--rail);margin-inline:auto;min-height:440px}
@media(max-width:900px){.pd-intro-inner{grid-template-columns:1fr}}
.pd-img-panel{background:linear-gradient(135deg,var(--paper) 0%,#e3eaf5 100%);display:flex;align-items:center;justify-content:center;padding:40px;border-right:1px solid var(--ln);min-height:360px}
.pd-img-panel img{max-width:100%;max-height:320px;object-fit:contain}
.pd-img-panel-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;opacity:.4}
.pd-id-panel{padding:40px 48px;display:flex;flex-direction:column;justify-content:space-between}
@media(max-width:900px){.pd-id-panel{padding:32px 24px}}
.pd-id-top{flex:1}
.pd-model-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.pd-model-badge{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--o2);background:var(--o-bg);border:1px solid var(--o-bd);padding:4px 12px;border-radius:100px}
.pd-partner-badge{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);background:var(--paper);border:1px solid var(--ln);padding:4px 12px;border-radius:100px}
.pd-prod-h1{font-family:var(--f-head);font-size:clamp(24px,3.5vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.02em;line-height:1.12;margin-bottom:14px}
.pd-tagline{font-size:15px;color:var(--t2);line-height:1.72;margin-bottom:24px;max-width:520px}
.pd-ks-block{display:flex;flex-direction:column;gap:0;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden;margin-bottom:20px}
.pd-ks-row{display:flex;align-items:baseline;border-bottom:1px solid var(--ln)}
.pd-ks-row:last-child{border-bottom:none}
.pd-ks-lbl{font-size:12px;font-weight:600;color:var(--t2);padding:9px 16px;width:40%;flex-shrink:0;background:var(--paper)}
.pd-ks-val{font-size:12.5px;color:var(--t1);padding:9px 16px;flex:1}
.pd-stds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.pd-std{font-family:var(--f-mono);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:100px;border:1px solid var(--ln2);color:var(--t3);background:var(--white)}
.pd-hero-ctas{display:flex;gap:10px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--ln);margin-top:auto}
.pd-cta-primary{display:inline-flex;align-items:center;padding:11px 24px;background:var(--o2);color:#fff;border-radius:var(--rad);font-family:var(--f-head);font-size:13.5px;font-weight:600;transition:background .15s;text-decoration:none}
.pd-cta-primary:hover{background:var(--o1)}
.pd-cta-secondary{display:inline-flex;align-items:center;padding:11px 24px;background:transparent;color:var(--t1);border:1.5px solid var(--ln3);border-radius:var(--rad);font-family:var(--f-head);font-size:13.5px;font-weight:600;transition:border-color .15s,color .15s;text-decoration:none}
.pd-cta-secondary:hover{border-color:var(--n2);color:var(--n2)}
.pd-section{padding:64px 0;scroll-margin-top:108px}
.pd-section-inner{width:var(--rail);margin-inline:auto}
.pd-section-alt{background:var(--paper)}
.pd-section-dark{background:var(--n0);color:var(--di2)}
.pd-sec-eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--o3);display:block;margin-bottom:10px}
.pd-sec-h2{font-family:var(--f-head);font-size:clamp(22px,3vw,32px);font-weight:700;color:var(--t1);letter-spacing:-.01em;line-height:1.2;margin-bottom:32px}
.pd-h2-light{color:var(--di1)}
.pd-content-aside{display:grid;grid-template-columns:1fr 340px;gap:48px}
@media(max-width:900px){.pd-content-aside{grid-template-columns:1fr}}
.pd-prose p{font-size:15px;color:var(--t2);line-height:1.78;margin-bottom:16px}
.pd-prose p:last-child{margin-bottom:0}
.pd-aside-card{background:var(--paper);border:1px solid var(--ln);border-radius:10px;padding:20px;margin-bottom:16px}
.pd-aside-card:last-child{margin-bottom:0}
.pd-ac-head{font-family:var(--f-head);font-size:13.5px;font-weight:700;color:var(--t1);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ln)}
.pd-ac-list{display:flex;flex-direction:column;gap:7px;list-style:none}
.pd-ac-list li{font-size:13px;color:var(--t2);padding-left:14px;position:relative;line-height:1.55}
.pd-ac-list li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--o2)}
.pd-app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.pd-app-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pd-app-grid{grid-template-columns:1fr}}
.pd-app-card{background:var(--white);border:1px solid var(--ln);border-radius:10px;padding:22px;transition:border-color .2s,box-shadow .2s}
.pd-app-card:hover{border-color:var(--o2);box-shadow:0 4px 20px rgba(229,85,26,.10)}
.pd-app-sector{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--o2);font-weight:600;display:block;margin-bottom:8px}
.pd-app-card h3{font-family:var(--f-head);font-size:14.5px;font-weight:700;color:var(--t1);margin-bottom:8px;line-height:1.3}
.pd-app-card p{font-size:13px;color:var(--t3);line-height:1.65}
.pd-spec-scroll{overflow-x:auto}
.pd-spec-table{width:100%;border-collapse:collapse;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden;font-size:13.5px}
.pd-spec-table td{padding:11px 18px;vertical-align:top;line-height:1.55}
.pd-stc-lbl{font-weight:600;color:var(--t1);width:36%;background:var(--paper);border-right:1px solid var(--ln)}
.pd-stc-val{color:var(--t2)}
.pd-str-even td{border-bottom:1px solid var(--ln)}
.pd-str-odd td{border-bottom:1px solid var(--ln);background:rgba(247,249,252,.6)}
.pd-str-odd .pd-stc-lbl{background:#e8edf5}
.pd-spec-note{font-size:12.5px;color:var(--t4);margin-top:14px;line-height:1.6}
.pd-spec-note a{color:var(--o2)}
.pd-acc-scroll{overflow-x:auto}
.pd-acc-table{width:100%;border-collapse:collapse;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden;font-size:13px}
.pd-acc-table th{text-align:left;padding:10px 16px;background:var(--n0);color:var(--di2);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--o2)}
.pd-acc-table td{padding:10px 16px;border-bottom:1px solid var(--ln);vertical-align:top;line-height:1.5}
.pd-acc-table tr:last-child td{border-bottom:none}
.pd-acc-table tr:nth-child(even) td{background:var(--paper)}
.pd-acc-model{font-family:var(--f-mono);font-size:11.5px;font-weight:600;color:var(--n2)}
.pd-acc-name{font-weight:500;color:var(--t1)}
.pd-acc-desc{color:var(--t3)}
.pd-docs-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:700px){.pd-docs-wrapper{grid-template-columns:1fr}}
.pd-docs-card{background:var(--white);border:1px solid var(--ln);border-radius:10px;padding:28px;display:flex;flex-direction:column}
.pd-docs-card-title{font-family:var(--f-head);font-size:15px;font-weight:700;color:var(--t1);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--ln)}
.pd-docs-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:24px;flex:1}
.pd-docs-list li{font-size:13.5px;color:var(--t2);padding-left:16px;position:relative;line-height:1.5}
.pd-docs-list li::before{content:'↗';position:absolute;left:0;color:var(--o2);font-size:11px}
.pd-docs-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--ln);display:flex;flex-direction:column;gap:8px}
.pd-docs-lbl{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.pd-docs-email{font-size:13.5px;color:var(--o2);font-weight:600}
.pd-docs-btn{display:inline-flex;align-items:center;padding:9px 18px;background:var(--o2);color:#fff;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:background .14s;width:fit-content}
.pd-docs-btn:hover{background:var(--o1)}
.pd-contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:900px){.pd-contact-inner{grid-template-columns:1fr;gap:36px}}
.pd-contact-intro{font-size:15px;color:var(--di3);line-height:1.72;margin-bottom:24px}
.pd-cf{display:flex;flex-direction:column;gap:3px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--lni)}
.pd-cf:last-of-type{border-bottom:none}
.pd-cf-lbl{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--di3)}
.pd-cf-val{font-size:14px;color:var(--di1)}.pd-cf-val a{color:var(--o4)}
.pd-contact-note{font-size:12.5px;color:var(--di3);line-height:1.65;margin-top:20px}
.pd-form{display:flex;flex-direction:column;gap:14px}
.pd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.pd-form-row{grid-template-columns:1fr}}
.pd-form-group{display:flex;flex-direction:column;gap:5px}
.pd-form-group label{font-size:12px;font-weight:600;color:var(--di2)}
.pd-form-group input,.pd-form-group select,.pd-form-group textarea{padding:10px 14px;background:rgba(255,255,255,.08);border:1px solid var(--lni2);border-radius:6px;font-size:13.5px;font-family:var(--f-body);color:var(--di1);outline:none;transition:border-color .14s,background .14s}
.pd-form-group input:focus,.pd-form-group select:focus,.pd-form-group textarea:focus{border-color:var(--o3);background:rgba(255,255,255,.13)}
.pd-form-group input::placeholder,.pd-form-group textarea::placeholder{color:var(--di3)}
.pd-form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238BAAC6' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.pd-form-group select option{background:var(--n1);color:var(--di1)}
.pd-form-group textarea{min-height:100px;resize:vertical}
.pd-form-submit{padding:12px 28px;background:var(--o2);color:#fff;border:none;border-radius:6px;font-family:var(--f-head);font-size:14px;font-weight:700;cursor:pointer;transition:background .15s;align-self:flex-start}
.pd-form-submit:hover{background:var(--o1)}
.pd-form-msg{font-size:12.5px;color:var(--o4);min-height:18px}
.pd-ov-body{flex:1}
.pd-ov-aside{min-width:0}
.partner-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
@media(max-width:900px){.partner-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.partner-card-grid{grid-template-columns:1fr}}
.partner-card{background:var(--white);border:1.5px solid var(--ln);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s}
.partner-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.08);transform:translateY(-3px);border-color:var(--o2)}
.partner-card-logo{height:100px;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--paper);border-bottom:1px solid var(--ln)}
.partner-card-logo img{max-height:56px;max-width:160px;object-fit:contain}
.partner-card-logo-text{font-family:var(--f-head);font-size:22px;font-weight:800;color:var(--n1);letter-spacing:-.02em}
.partner-card-body{padding:22px;flex:1;display:flex;flex-direction:column;gap:8px}
.partner-card-sub{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;color:var(--o2);font-weight:600;text-transform:uppercase}
.partner-card-name{font-family:var(--f-head);font-size:17px;font-weight:700;color:var(--t1)}
.partner-card-desc{font-size:13.5px;color:var(--t3);line-height:1.65;flex:1}
.partner-card-footer{padding:14px 22px;border-top:1px solid var(--ln)}
.btn-explore{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:rgba(229,85,26,.12);color:var(--o1);border:1px solid rgba(229,85,26,.30);border-radius:6px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s}
.btn-explore:hover{background:rgba(229,85,26,.22);border-color:var(--o2)}
.industry-card:hover .ic-title,.industry-card:hover .ic-num{color:var(--o2)}
.ic-title{font-family:var(--f-head);font-size:17px;font-weight:700;color:var(--t1);margin-bottom:8px;transition:color .15s}
.industry-card:hover{border-color:var(--o2);box-shadow:0 8px 28px rgba(229,85,26,.12)}

/* ── KANOMAX DEDICATED CATALOGUE v9 ── */
.kx-anchor-nav{position:sticky;top:60px;z-index:760;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--ln);box-shadow:0 2px 10px rgba(15,34,56,.04)}
.kx-anchor-inner{width:var(--rail);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px}
.kx-jumps{display:flex;gap:8px;overflow-x:auto;padding:9px 0;-ms-overflow-style:none;scrollbar-width:none}.kx-jumps::-webkit-scrollbar{display:none}
.kx-jump{white-space:nowrap;text-decoration:none;border:1px solid var(--ln);background:var(--white);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:600;color:var(--t3);transition:all .16s}.kx-jump:hover{color:var(--o2);border-color:var(--o2);background:var(--o-bg)}
.kx-search-wrap{min-width:260px;display:flex;align-items:center}.kx-search{width:100%;border:1px solid var(--ln2);border-radius:999px;padding:9px 14px;font-size:13px;outline:none;background:var(--paper);color:var(--t1)}.kx-search:focus{border-color:var(--o2);background:#fff}
.kx-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}.kx-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.kx-kpi{background:var(--white);border:1px solid var(--ln);border-radius:14px;padding:20px}.kx-kpi-num{font-family:var(--f-head);font-size:28px;font-weight:800;color:var(--n1);letter-spacing:-.03em}.kx-kpi-lbl{font-size:12px;color:var(--t3);line-height:1.5;margin-top:4px}.kx-note{border-left:4px solid var(--o2);background:#fff;border-radius:0 12px 12px 0;padding:18px 20px;color:var(--t2);font-size:14px;line-height:1.7;margin-top:20px}
.kx-cat-block{scroll-margin-top:130px;margin-bottom:58px}.kx-cat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ln);padding-bottom:18px;margin-bottom:22px}.kx-cat-head h2{font-family:var(--f-head);font-size:clamp(22px,2.6vw,32px);font-weight:800;color:var(--t1);letter-spacing:-.02em}.kx-cat-head p{font-size:14px;color:var(--t3);line-height:1.65;max-width:760px;margin-top:8px}.kx-count{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--o2);background:var(--o-bg);border:1px solid var(--o-bd);border-radius:999px;padding:6px 10px;white-space:nowrap}
.kx-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kx-product-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ln);border-radius:16px;overflow:hidden;text-decoration:none;min-height:310px;transition:transform .18s,box-shadow .18s,border-color .18s}.kx-product-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,34,56,.10);border-color:var(--o2)}.kx-card-visual{height:92px;background:linear-gradient(135deg,#eef2f8,#dde7f3);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--ln)}.kx-device-svg{width:74px;height:58px}.kx-card-body{padding:20px 20px 14px;display:flex;flex-direction:column;gap:10px;flex:1}.kx-card-cat{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--o2);font-weight:700}.kx-card-title{font-family:var(--f-head);font-size:16px;font-weight:800;color:var(--t1);line-height:1.3;letter-spacing:-.01em}.kx-card-summary{font-size:13px;line-height:1.62;color:var(--t3);flex:1}.kx-tags{display:flex;flex-wrap:wrap;gap:6px}.kx-tag{font-size:10.5px;font-weight:600;color:var(--t3);background:var(--paper);border:1px solid var(--ln);border-radius:999px;padding:4px 8px}.kx-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ln);padding:13px 20px;background:var(--paper)}.kx-card-foot span:first-child{font-size:12.5px;font-weight:700;color:var(--n2)}.kx-arrow{color:var(--o2);font-weight:800}
.kx-fit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kx-fit-card{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:20px}.kx-fit-card h3{font-family:var(--f-head);font-size:15px;color:var(--t1);margin-bottom:8px}.kx-fit-card p{font-size:13px;line-height:1.65;color:var(--t3)}
@media(max-width:1100px){.kx-card-grid{grid-template-columns:repeat(2,1fr)}.kx-fit-grid{grid-template-columns:repeat(2,1fr)}.kx-intro-grid{grid-template-columns:1fr}.kx-search-wrap{display:none}}
@media(max-width:700px){.kx-card-grid{grid-template-columns:1fr}.kx-fit-grid{grid-template-columns:1fr}.kx-kpi-grid{grid-template-columns:1fr}.kx-cat-head{align-items:flex-start;flex-direction:column}.kx-anchor-nav{display:none}}


/* v13 category-first product family system */
.pf-hero{background:linear-gradient(135deg,var(--n0),var(--n1));color:var(--di1);padding:88px 0 54px;border-bottom:4px solid var(--o2)}
.pf-hero .rail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:44px;align-items:end}.pf-hero h1{font-family:var(--f-head);font-size:clamp(36px,5vw,68px);line-height:1.05;letter-spacing:-.03em;margin:14px 0 20px}.pf-hero p{font-size:17px;line-height:1.78;color:var(--di2);max-width:850px}.pf-hero-stat{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pf-stat{background:rgba(255,255,255,.07);border:1px solid var(--lni2);border-radius:14px;padding:16px}.pf-stat b{display:block;color:#fff;font-size:24px;font-family:var(--f-head)}.pf-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--di2)}
.pf-section{padding:64px 0}.pf-section.alt{background:var(--paper)}.pf-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.pf-head h2{font-family:var(--f-head);font-size:clamp(26px,3.2vw,42px);letter-spacing:-.02em}.pf-head p{max-width:760px;color:var(--t3);font-size:15px;line-height:1.75}.pf-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--o2);font-weight:700;margin-bottom:8px}.pf-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.pf-toc a{border:1px solid var(--lni2);background:rgba(255,255,255,.08);color:#fff;padding:8px 12px;border-radius:100px;font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pf-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pf-card{background:#fff;border:1px solid var(--ln);border-top:3px solid var(--o2);border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(15,34,56,.05);transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column;min-height:100%}.pf-card:hover{transform:translateY(-3px);box-shadow:var(--sha2);border-color:rgba(229,85,26,.35)}.pf-img{height:180px;background:#f2f5f9;border-bottom:1px solid var(--ln);display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.pf-grid.compact .pf-img{height:140px}.pf-img img{max-width:100%;max-height:100%;object-fit:contain}.pf-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:12px;flex:1}.pf-brand{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--o2)}.pf-card h3{font-family:var(--f-head);font-size:19px;line-height:1.25;color:var(--t1)}.pf-card p{font-size:13.5px;line-height:1.7;color:var(--t2);flex:1}.pf-meta{display:flex;flex-wrap:wrap;gap:6px}.pf-meta .chip{font-size:9px;padding:4px 8px;background:var(--paper)}.pf-card .pf-link{margin-top:4px;color:var(--n2);font-family:var(--f-head);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px}.pf-card .pf-link:after{content:'→';color:var(--o2)}.pf-subgrid{display:grid;grid-template-columns:240px 1fr;gap:32px;margin-top:10px}.pf-subnav{position:sticky;top:78px;align-self:start;background:#fff;border:1px solid var(--ln);border-radius:14px;padding:12px}.pf-subnav a{display:block;padding:9px 12px;border-radius:9px;font-size:13px;color:var(--t2);font-weight:600}.pf-subnav a:hover{background:var(--o-bg);color:var(--o2)}.pf-family-block{padding-top:8px;margin-bottom:44px}.pf-family-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.pf-family-title h2{font-family:var(--f-head);font-size:28px}.pf-count{font-family:var(--f-mono);font-size:10px;color:var(--t4);letter-spacing:.13em;text-transform:uppercase}.pf-mini-note{font-size:13px;color:var(--t4);margin-top:16px}.pf-overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pf-overview-card{padding:24px;border-radius:14px;border:1px solid var(--ln);background:#fff}.pf-overview-card h3{font-family:var(--f-head);font-size:20px;margin-bottom:8px}.pf-overview-card p{font-size:14px;color:var(--t3);line-height:1.72}.pf-breadcrumb{font-size:12px;color:var(--t4);margin-bottom:16px}.pf-breadcrumb a{color:var(--n3);font-weight:600}
.pd-subnav{position:sticky;top:60px;z-index:700;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}.pd-subnav-inner{width:var(--rail);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}.pd-tabs{display:flex;gap:4px;overflow-x:auto}.pd-tab{padding:16px 12px;color:var(--t3);font-size:12px;font-weight:700;white-space:nowrap}.pd-tab:hover{color:var(--o2)}.pd-subnav-cta{padding:8px 16px;border-radius:8px;background:var(--o2);color:#fff;font-weight:700;font-size:12px;white-space:nowrap}.pd-intro{padding:64px 0;background:var(--bg)}.pd-intro-inner{width:var(--rail);margin:0 auto;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:34px;align-items:stretch}.pd-img-panel{background:#fff;border:1px solid var(--ln);border-top:4px solid var(--o2);border-radius:16px;display:flex;align-items:center;justify-content:center;min-height:390px;padding:36px}.pd-img-panel img{max-height:320px;object-fit:contain}.pd-id-panel{background:#fff;border:1px solid var(--ln);border-radius:16px;padding:34px;display:flex;flex-direction:column;justify-content:space-between}.pd-model-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pd-model-badge,.pd-partner-badge{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.13em;border:1px solid var(--ln2);border-radius:100px;padding:6px 10px}.pd-model-badge{background:var(--o-bg);border-color:var(--o-bd);color:var(--o2);font-weight:700}.pd-partner-badge{color:var(--t3);background:var(--paper)}.pd-prod-h1{font-family:var(--f-head);font-size:clamp(30px,4.4vw,58px);line-height:1.06;letter-spacing:-.03em;margin-bottom:16px}.pd-tagline{font-size:16px;line-height:1.75;color:var(--t2);margin-bottom:22px}.pd-ks-block{border:1px solid var(--ln);border-radius:12px;overflow:hidden;margin:18px 0}.pd-ks-row{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--ln)}.pd-ks-row:last-child{border-bottom:0}.pd-ks-lbl{background:var(--paper);font-size:12px;font-weight:800;color:var(--t1);padding:12px 14px}.pd-ks-val{font-size:13px;color:var(--t2);padding:12px 14px}.pd-stds{display:flex;flex-wrap:wrap;gap:7px}.pd-std{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--paper);border:1px solid var(--ln2);border-radius:5px;padding:5px 9px;color:var(--t3)}.pd-hero-ctas{display:flex;gap:10px;margin-top:24px}.pd-cta-primary,.pd-cta-secondary{border-radius:9px;padding:11px 18px;font-weight:800;font-family:var(--f-head);font-size:13px}.pd-cta-primary{background:var(--n1);color:#fff}.pd-cta-secondary{border:1px solid var(--ln3);color:var(--n2);background:#fff}.pd-section{padding:64px 0}.pd-section-alt{background:var(--paper)}.pd-section-inner{width:var(--rail);margin:0 auto}.pd-sec-eyebrow{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--o2);font-weight:700}.pd-sec-h2{font-family:var(--f-head);font-size:clamp(26px,3vw,40px);line-height:1.15;margin-bottom:24px}.pd-content-aside{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px}.pd-prose p{margin-bottom:14px;color:var(--t2);line-height:1.8}.pd-ov-aside{display:grid;gap:14px}.pd-aside-card{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:20px}.pd-ac-head{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--o2);font-weight:700;margin-bottom:10px}.pd-ac-list{list-style:none}.pd-ac-list li{border-top:1px solid var(--ln);padding:8px 0;color:var(--t2);font-size:13.5px}.pd-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pd-app-card{background:#fff;border:1px solid var(--ln);border-top:3px solid var(--o2);border-radius:14px;padding:22px}.pd-app-sector{font-family:var(--f-mono);font-size:10px;color:var(--o2);text-transform:uppercase;letter-spacing:.15em;font-weight:700}.pd-app-card h3{font-family:var(--f-head);font-size:18px;margin:8px 0}.pd-app-card p{font-size:13.5px;line-height:1.72;color:var(--t3)}.pd-spec-scroll,.pd-acc-scroll{overflow-x:auto;border:1px solid var(--ln);border-radius:0;background:#fff}.pd-spec-table,.pd-acc-table{width:100%;border-collapse:collapse;background:#fff;min-width:780px}.pd-spec-table th,.pd-spec-table td,.pd-acc-table th,.pd-acc-table td{padding:14px 18px;border-right:1px solid var(--ln);vertical-align:top;font-size:13.5px}.pd-spec-table th,.pd-acc-table th{background:var(--n0);color:#fff;text-align:left;font-family:var(--f-head);font-size:13px}.pd-spec-table td:first-child,.pd-spec-table th:first-child{border-right:3px solid var(--o2);font-weight:800;color:var(--t1);width:220px}.pd-spec-table tbody tr:nth-child(even),.pd-acc-table tbody tr:nth-child(even){background:#f4f6f9}.pd-spec-note{font-size:12px;color:var(--t4);margin-top:12px}.pd-acc-model{font-family:var(--f-mono);font-weight:800;color:var(--o2)}.pd-docs-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pd-docs-card{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:24px}.pd-docs-card-title{font-family:var(--f-head);font-size:20px;font-weight:800;margin-bottom:12px}.pd-docs-list li{border-top:1px solid var(--ln);padding:10px 0;color:var(--t2);font-size:14px}.pd-docs-foot{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pd-docs-email,.pd-docs-btn{color:var(--o2);font-weight:800}.pd-section-dark{background:var(--n0);color:var(--di2)}.pd-section-dark .pd-h2-light{color:#fff}.pd-contact-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px}.pd-contact-intro{color:var(--di2);line-height:1.75;margin-bottom:18px}.pd-cf{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--lni);padding:10px 0}.pd-cf-lbl{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--di3)}.pd-cf-val,.pd-cf-val a{color:#fff;font-weight:700}.pd-contact-note{font-size:13px;color:var(--di2);margin-top:14px}.pd-form{background:#fff;border-radius:16px;padding:24px;display:grid;gap:14px}.pd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pd-form-group label{display:block;font-size:12px;font-weight:800;color:var(--t1);margin-bottom:6px}.pd-form-group input,.pd-form-group select,.pd-form-group textarea{width:100%;border:1px solid var(--ln2);border-radius:9px;padding:11px 12px;font-family:var(--f-body);font-size:14px}.pd-form-group textarea{min-height:120px}.pd-form-submit{border-radius:9px;background:var(--o2);color:#fff;font-weight:800;padding:12px 18px}.pd-form-msg{font-size:12px;color:var(--t3)}.pd-standards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pd-standard-card{background:#fff;border:1px solid var(--ln);border-radius:12px;padding:16px}.pd-standard-card b{display:block;font-family:var(--f-head);font-size:15px}.pd-standard-card span{font-size:12.5px;color:var(--t3)}.pd-accessory-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pd-accessory-tags span{background:#fff;border:1px solid var(--ln);border-radius:100px;padding:8px 12px;font-size:12.5px;color:var(--t2)}
@media(max-width:1000px){.pf-hero .rail,.pd-intro-inner,.pd-content-aside,.pd-contact-inner{grid-template-columns:1fr}.pf-subgrid{grid-template-columns:1fr}.pf-subnav{position:static}.pf-grid,.pf-grid.compact,.pd-app-grid,.pd-standards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-img-panel{min-height:260px}.pd-docs-wrapper{grid-template-columns:1fr}}
@media(max-width:640px){.pf-grid,.pf-grid.compact,.pf-overview-cards,.pd-app-grid,.pd-standards-grid,.pd-form-row{grid-template-columns:1fr}.pf-hero-stat{grid-template-columns:1fr}.pf-hero{padding:64px 0 42px}.pf-head{display:block}.pd-ks-row{grid-template-columns:1fr}.pd-subnav-inner{width:calc(100% - 28px)}.pd-intro-inner,.pd-section-inner,.pf-hero .rail,.pf-section .rail{width:calc(100% - 28px)}}


/* v14 professional category-family catalogue and product image carousel */
.pro-hero .pf-toc a{background:rgba(255,255,255,.1)}
.pf-family-block.nested{margin-bottom:36px;padding-top:0}.pf-family-title.top-title{border-bottom:1px solid var(--ln);padding-bottom:14px;margin-bottom:24px}.pf-family-title h3{font-family:var(--f-head);font-size:22px;color:var(--t1);letter-spacing:-.01em}.pro-card{border-radius:18px;border-top:3px solid var(--o2)}.pro-card-img{height:190px;background:linear-gradient(135deg,#f5f7fa,#e8eef7)}.pro-card-img img{transition:transform .25s ease}.pro-card:hover .pro-card-img img{transform:scale(1.04)}
.pro-intro .pd-img-panel{padding:0;overflow:hidden;position:relative;background:#f4f7fb}.pro-carousel{display:block;min-height:420px}.pro-track{display:flex;width:100%;height:100%;min-height:420px;transition:transform .35s ease}.pro-slide{min-width:100%;height:100%;min-height:420px;display:flex;align-items:center;justify-content:center;padding:34px}.pro-slide img{max-width:100%;max-height:350px;object-fit:contain}.pro-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid var(--ln);background:#fff;color:var(--n2);font-size:28px;line-height:1;box-shadow:0 10px 25px rgba(15,34,56,.12);cursor:pointer}.pro-car-btn.prev{left:14px}.pro-car-btn.next{right:14px}.pro-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px}.pro-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--o2);background:#fff;cursor:pointer}.pro-dot.active{background:var(--o2)}
.pd-standard-card{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:18px;box-shadow:0 1px 4px rgba(15,34,56,.04)}.pd-standard-card h3{font-family:var(--f-head);font-size:16px;color:var(--t1);margin-bottom:8px}.pd-standard-card p{font-size:13px;color:var(--t3);line-height:1.65}.pd-standards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pd-acc-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ln)}.pd-acc-table th{background:var(--n0);color:#fff;text-align:left;padding:14px 18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.pd-acc-table td{padding:14px 18px;border-top:1px solid var(--ln);vertical-align:top}.pd-acc-model{font-weight:800;color:var(--t1)}.pd-acc-desc{color:var(--t3);font-size:13px;line-height:1.6}.pd-spec-note{font-size:12px;color:var(--t4);margin-top:12px}.pd-prose p{margin-bottom:12px}
@media(max-width:1000px){.pd-standards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-carousel,.pro-track,.pro-slide{min-height:320px}.pro-slide img{max-height:260px}}
@media(max-width:640px){.pd-standards-grid{grid-template-columns:1fr}.pro-card-img{height:160px}.pro-carousel,.pro-track,.pro-slide{min-height:260px}.pro-slide{padding:24px}.pro-slide img{max-height:200px}.pro-car-btn{width:32px;height:32px;font-size:23px}}

/* v15 industry solution utility grids */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.sec.alt{background:var(--paper);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
@media(max-width:1000px){.cards3{grid-template-columns:1fr}}

/* ══════════════════════════════════════════
   v17 — Category landing, left-nav layout,
   model comparison table, spec table v2
══════════════════════════════════════════ */

/* Category landing hero */
.cat-hero{background:linear-gradient(135deg,var(--n0) 0%,var(--n1) 100%);padding:64px 0 48px;border-bottom:3px solid var(--o2)}
.cat-hero-inner{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:end}
@media(max-width:900px){.cat-hero-inner{grid-template-columns:1fr}}
.cat-hero-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--o3);font-weight:700;margin-bottom:10px}
.cat-hero h1{font-family:var(--f-head);font-size:clamp(28px,4.5vw,54px);font-weight:800;color:#fff;line-height:1.06;letter-spacing:-.03em;margin-bottom:16px}
.cat-hero-desc{font-size:15px;line-height:1.75;color:var(--di2);max-width:680px}
.cat-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cat-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:16px}
.cat-stat b{display:block;font-family:var(--f-head);font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em}
.cat-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--di2);margin-top:3px;display:block}

/* Category cards grid (top-level landing) */
.cat-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:56px 0}
@media(max-width:1000px){.cat-cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-cards-grid{grid-template-columns:1fr}}
.cat-card{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--ln);border-top:3px solid var(--o2);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s;cursor:pointer}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(15,34,56,.12);border-color:var(--o2)}
.cat-card-img{height:160px;background:linear-gradient(135deg,#f0f4fa,#e2eaf4);display:flex;align-items:center;justify-content:center;padding:24px;border-bottom:1px solid var(--ln)}
.cat-card-img img{max-width:100%;max-height:100%;object-fit:contain}
.cat-card-body{padding:20px 22px;flex:1;display:flex;flex-direction:column;gap:8px}
.cat-card-cat{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--o2)}
.cat-card-name{font-family:var(--f-head);font-size:17px;font-weight:700;color:var(--t1);line-height:1.25}
.cat-card-desc{font-size:13px;color:var(--t3);line-height:1.65;flex:1}
.cat-card-foot{padding:13px 22px;border-top:1px solid var(--ln);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}
.cat-card-arrow{font-size:12px;font-weight:700;color:var(--o2);display:flex;align-items:center;gap:5px}
.cat-card-arrow::after{content:'→';transition:transform .14s}
.cat-card:hover .cat-card-arrow::after{transform:translateX(4px)}

/* Sub-category page layout: left nav + content */
.subcat-layout{display:grid;grid-template-columns:240px 1fr;gap:0;min-height:calc(100vh - 180px)}
@media(max-width:900px){.subcat-layout{grid-template-columns:1fr}}
.subcat-sidebar{background:var(--white);border-right:1px solid var(--ln);padding:28px 0;position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow-y:auto}
@media(max-width:900px){.subcat-sidebar{display:none}}
.subcat-sidebar-head{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--t4);font-weight:600;padding:0 20px 10px;border-bottom:1px solid var(--ln);margin-bottom:10px}
.subcat-nav-group{margin-bottom:4px}
.subcat-nav-label{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--o2);font-weight:700;padding:8px 20px 4px}
.subcat-nav-link{display:block;padding:8px 20px 8px 28px;font-size:13px;color:var(--t2);font-weight:500;transition:all .12s;border-left:2px solid transparent}
.subcat-nav-link:hover,.subcat-nav-link.active{color:var(--o2);background:var(--o-bg);border-left-color:var(--o2)}
.subcat-content{padding:40px 48px}
@media(max-width:900px){.subcat-content{padding:24px 20px}}
.subcat-section{margin-bottom:56px;scroll-margin-top:80px}
.subcat-section-head{margin-bottom:28px;padding-bottom:16px;border-bottom:2px solid var(--ln)}
.subcat-section-title{font-family:var(--f-head);font-size:clamp(20px,2.5vw,28px);font-weight:700;color:var(--t1);letter-spacing:-.01em}
.subcat-section-desc{font-size:14px;color:var(--t3);line-height:1.68;margin-top:6px;max-width:700px}
.subcat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1200px){.subcat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.subcat-grid{grid-template-columns:1fr}}

/* Series card in subcat grid */
.series-card{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--ln);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .17s,box-shadow .17s,border-color .17s}
.series-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(15,34,56,.10);border-color:var(--o2)}
.series-card-img{height:130px;background:linear-gradient(135deg,#f2f5fa,#e4eaf5);display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid var(--ln);overflow:hidden}
.series-card-img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .24s}
.series-card:hover .series-card-img img{transform:scale(1.05)}
.series-card-body{padding:14px 16px 12px;flex:1;display:flex;flex-direction:column;gap:5px}
.series-card-label{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--o2);font-weight:700}
.series-card-name{font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--t1);line-height:1.3}
.series-card-desc{font-size:12px;color:var(--t3);line-height:1.58;flex:1}
.series-card-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.series-card-chip{font-size:9px;font-weight:600;padding:2px 7px;border-radius:100px;background:var(--paper);color:var(--t2);border:1px solid var(--ln)}
.series-card-foot{padding:10px 16px;border-top:1px solid var(--ln);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}
.series-card-open{font-size:11.5px;font-weight:700;color:var(--n2)}
.series-card-quote{font-size:10.5px;font-weight:700;padding:4px 11px;background:var(--o2);color:#fff;border-radius:5px;transition:background .13s}
.series-card-quote:hover{background:var(--o1)}

/* ── Product detail page v2 ── */
.pd2-wrap{display:grid;grid-template-columns:240px 1fr;gap:0;min-height:calc(100vh - 60px)}
@media(max-width:900px){.pd2-wrap{grid-template-columns:1fr}}
.pd2-sidebar{background:var(--white);border-right:1px solid var(--ln);padding:24px 0;position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow-y:auto}
@media(max-width:900px){.pd2-sidebar{display:none}}
.pd2-back{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--o2);font-weight:700;padding:0 20px 16px;border-bottom:1px solid var(--ln);margin-bottom:16px;transition:color .12s}
.pd2-back:hover{color:var(--o1)}
.pd2-nav-head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t4);padding:0 20px 8px}
.pd2-nav-link{display:block;padding:8px 20px;font-size:13px;color:var(--t2);font-weight:500;border-left:2px solid transparent;transition:all .12s}
.pd2-nav-link:hover,.pd2-nav-link.active{color:var(--o2);background:var(--o-bg);border-left-color:var(--o2)}
.pd2-content{overflow:hidden}
.pd2-hero{display:grid;grid-template-columns:420px 1fr;gap:0;min-height:420px;background:var(--white);border-bottom:1px solid var(--ln)}
@media(max-width:1100px){.pd2-hero{grid-template-columns:340px 1fr}}
@media(max-width:900px){.pd2-hero{grid-template-columns:1fr}}
.pd2-img{background:linear-gradient(135deg,#f0f4fa,#dce6f3);display:flex;align-items:center;justify-content:center;padding:32px;border-right:1px solid var(--ln);position:relative;overflow:hidden;min-height:380px}
@media(max-width:900px){.pd2-img{min-height:260px;border-right:none;border-bottom:1px solid var(--ln)}}
.pd2-carousel{display:block;width:100%;height:100%;position:relative}
.pd2-track{display:flex;width:100%;height:100%;min-height:380px;transition:transform .32s ease}
@media(max-width:900px){.pd2-track{min-height:260px}}
.pd2-slide{min-width:100%;height:100%;min-height:380px;display:flex;align-items:center;justify-content:center;padding:28px}
@media(max-width:900px){.pd2-slide{min-height:220px;padding:20px}}
.pd2-slide img{max-width:100%;max-height:340px;object-fit:contain}
@media(max-width:900px){.pd2-slide img{max-height:220px}}
.pd2-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:36px;border-radius:50%;border:1px solid var(--ln);background:#fff;color:var(--n2);font-size:24px;line-height:1;box-shadow:0 4px 16px rgba(15,34,56,.10);cursor:pointer;display:flex;align-items:center;justify-content:center}
.pd2-car-btn.prev{left:10px}.pd2-car-btn.next{right:10px}
.pd2-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:7px}
.pd2-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--o2);background:#fff;cursor:pointer;transition:background .14s}
.pd2-dot.active{background:var(--o2)}
.pd2-info{padding:36px 40px;display:flex;flex-direction:column}
@media(max-width:900px){.pd2-info{padding:24px 20px}}
.pd2-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pd2-badge-model{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--o2);background:var(--o-bg);border:1px solid var(--o-bd);padding:4px 12px;border-radius:100px}
.pd2-h1{font-family:var(--f-head);font-size:clamp(22px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.02em;line-height:1.12;margin-bottom:12px}
.pd2-tagline{font-size:14.5px;color:var(--t2);line-height:1.72;margin-bottom:20px}
/* Model comparison table (BEFORE key features) */
.pd2-model-table-wrap{margin-bottom:20px;overflow-x:auto}
.pd2-model-table{width:100%;border-collapse:collapse;font-size:12.5px;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden}
.pd2-model-table th{background:var(--n0);color:#fff;padding:10px 14px;text-align:left;font-family:var(--f-head);font-size:12px;font-weight:600;border-right:1px solid rgba(255,255,255,.12);white-space:nowrap}
.pd2-model-table th:first-child{border-right:2px solid var(--o2)}
.pd2-model-table td{padding:9px 14px;border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);color:var(--t2);vertical-align:middle;white-space:nowrap}
.pd2-model-table td:first-child{font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--t1);background:var(--paper);border-right:2px solid var(--o2)}
.pd2-model-table tr:last-child td{border-bottom:none}
.pd2-model-table tr:nth-child(even) td{background:#f6f8fc}
.pd2-model-table tr:nth-child(even) td:first-child{background:#eef2f8}
/* Key specs block */
.pd2-ks{border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden;margin-bottom:18px}
.pd2-ks-row{display:flex;align-items:baseline;border-bottom:1px solid var(--ln)}
.pd2-ks-row:last-child{border-bottom:none}
.pd2-ks-lbl{font-size:11.5px;font-weight:700;color:var(--t2);padding:9px 14px;width:42%;flex-shrink:0;background:var(--paper)}
.pd2-ks-val{font-size:12px;color:var(--t1);padding:9px 14px;flex:1}
.pd2-stds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.pd2-std{font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:100px;border:1px solid var(--ln2);color:var(--t3);background:var(--white)}
.pd2-ctas{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--ln);margin-top:auto}
.pd2-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:var(--o2);color:#fff;border-radius:var(--rad);font-family:var(--f-head);font-size:13px;font-weight:600;transition:background .14s}
.pd2-btn-primary:hover{background:var(--o1)}
.pd2-btn-sec{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;background:transparent;color:var(--t1);border:1.5px solid var(--ln3);border-radius:var(--rad);font-family:var(--f-head);font-size:13px;font-weight:600;transition:border-color .14s,color .14s}
.pd2-btn-sec:hover{border-color:var(--n2);color:var(--n2)}
/* Product page body sections */
.pd2-body{background:var(--bg)}
.pd2-section{padding:48px 0;scroll-margin-top:60px}
.pd2-section-inner{width:var(--rail);margin-inline:auto;max-width:1100px}
@media(max-width:900px){.pd2-section-inner{padding-inline:20px;max-width:100%}}
.pd2-section-alt{background:var(--white)}
.pd2-section-dark{background:var(--n0)}
.pd2-sec-title{font-family:var(--f-head);font-size:clamp(20px,2.5vw,28px);font-weight:700;color:var(--t1);letter-spacing:-.01em;margin-bottom:24px}
.pd2-sec-title-light{color:var(--di1)}
/* Features list */
.pd2-features{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}
@media(max-width:700px){.pd2-features{grid-template-columns:1fr}}
.pd2-feature{display:flex;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--ln);border-radius:8px}
.pd2-feature-dot{width:8px;height:8px;border-radius:50%;background:var(--o2);flex-shrink:0;margin-top:5px}
.pd2-feature-text{font-size:13.5px;color:var(--t2);line-height:1.6}
/* Spec table v2 — styled like topas */
.pd2-spec-wrap{overflow-x:auto;border:1px solid var(--ln);border-radius:var(--rad)}
.pd2-spec-table{width:100%;border-collapse:collapse;background:var(--white);min-width:560px}
.pd2-spec-table thead th{background:var(--n1);color:#fff;padding:11px 18px;text-align:left;font-size:12px;font-family:var(--f-head);font-weight:600;letter-spacing:.04em;border-right:1px solid rgba(255,255,255,.12)}
.pd2-spec-table thead th:first-child{border-right:2px solid var(--o2);width:38%}
.pd2-spec-table thead th:last-child{border-right:none}
.pd2-spec-table tbody td{padding:10px 18px;border-bottom:1px solid var(--ln);border-right:1px solid var(--ln);font-size:13px;vertical-align:top;line-height:1.55}
.pd2-spec-table tbody td:first-child{font-weight:600;color:var(--t1);background:var(--paper);border-right:2px solid var(--o2)}
.pd2-spec-table tbody td:last-child{border-right:none;color:var(--t2)}
.pd2-spec-table tbody tr:last-child td{border-bottom:none}
.pd2-spec-table tbody tr:nth-child(even) td{background:#f6f8fd}
.pd2-spec-table tbody tr:nth-child(even) td:first-child{background:#edf1f7}
.pd2-spec-group{background:var(--n0)!important}
.pd2-spec-group td{color:var(--di2)!important;font-family:var(--f-mono);font-size:9px!important;letter-spacing:.14em;text-transform:uppercase;padding:8px 18px!important;background:var(--n0)!important;border-color:rgba(255,255,255,.08)!important}
/* Applications grid */
.pd2-app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.pd2-app-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pd2-app-grid{grid-template-columns:1fr}}
.pd2-app-card{background:var(--white);border:1px solid var(--ln);border-top:3px solid var(--o2);border-radius:10px;padding:20px}
.pd2-app-sector{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--o2);font-weight:700;margin-bottom:7px;display:block}
.pd2-app-card h3{font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--t1);margin-bottom:7px;line-height:1.3}
.pd2-app-card p{font-size:13px;color:var(--t3);line-height:1.65}
/* Accessories table */
.pd2-acc-wrap{overflow-x:auto;border:1px solid var(--ln);border-radius:var(--rad)}
.pd2-acc-table{width:100%;border-collapse:collapse;min-width:480px}
.pd2-acc-table thead th{background:var(--n0);color:#fff;padding:10px 16px;text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pd2-acc-table tbody td{padding:10px 16px;border-bottom:1px solid var(--ln);font-size:13px;vertical-align:top;line-height:1.5}
.pd2-acc-table tbody tr:last-child td{border-bottom:none}
.pd2-acc-table tbody tr:nth-child(even) td{background:var(--paper)}
.pd2-acc-model{font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--n2)}
/* Contact dark */
.pd2-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:900px){.pd2-contact-grid{grid-template-columns:1fr;gap:32px}}
.pd2-contact-intro{font-size:14px;color:var(--di2);line-height:1.78;margin-bottom:20px}
.pd2-cf{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--lni)}
.pd2-cf:last-child{border-bottom:none}
.pd2-cf-lbl{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--di3);margin-bottom:4px}
.pd2-cf-val{font-size:14px;font-weight:500;color:var(--di1)}
.pd2-cf-val a{color:var(--o4)}
.pd2-form{background:rgba(255,255,255,.07);border:1px solid var(--lni2);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:14px}
.pd2-fg{display:flex;flex-direction:column;gap:5px}
.pd2-fg label{font-size:11.5px;font-weight:600;color:var(--di2)}
.pd2-fg input,.pd2-fg select,.pd2-fg textarea{padding:10px 13px;background:rgba(255,255,255,.08);border:1px solid var(--lni2);border-radius:6px;font-size:13px;font-family:var(--f-body);color:var(--di1);outline:none;transition:border-color .14s,background .14s}
.pd2-fg input:focus,.pd2-fg select:focus,.pd2-fg textarea:focus{border-color:var(--o3);background:rgba(255,255,255,.12)}
.pd2-fg input::placeholder,.pd2-fg textarea::placeholder{color:var(--di3)}
.pd2-fg select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%234C6E8C' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.pd2-fg select option{background:var(--n1);color:var(--di1)}
.pd2-fg textarea{min-height:90px;resize:vertical}
.pd2-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.pd2-form-row{grid-template-columns:1fr}}
.pd2-submit{padding:11px 24px;background:var(--o2);color:#fff;border:none;border-radius:6px;font-family:var(--f-head);font-size:13.5px;font-weight:700;cursor:pointer;transition:background .14s;align-self:flex-start}
.pd2-submit:hover{background:var(--o1)}
.pd2-form-msg{font-size:12px;color:var(--o4);min-height:16px}
/* Precision Environments category page */
.pe2-hero{background:linear-gradient(135deg,var(--n0),var(--n1));padding:64px 0 48px;border-bottom:3px solid var(--o2)}
.pe2-hero h1{font-family:var(--f-head);font-size:clamp(26px,4vw,52px);font-weight:800;color:#fff;line-height:1.06;letter-spacing:-.03em;margin:10px 0 14px}
.pe2-hero-desc{font-size:15px;line-height:1.75;color:var(--di2);max-width:700px}
.pe2-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pe2-toc a{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;padding:7px 13px;border-radius:100px;font-family:var(--f-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;transition:background .14s}
.pe2-toc a:hover{background:rgba(255,255,255,.17)}
/* Sticky cat nav v2 */
.pe2-cat-nav{position:sticky;top:60px;z-index:800;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--ln);box-shadow:0 2px 10px rgba(15,34,56,.05)}
.pe2-cat-nav-inner{width:var(--rail);margin:0 auto;display:flex;align-items:center;gap:4px;height:50px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.pe2-cat-nav-inner::-webkit-scrollbar{display:none}
.pe2-cat-btn{white-space:nowrap;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600;color:var(--t2);background:none;border:1.5px solid transparent;cursor:pointer;transition:all .13s;font-family:var(--f-body);flex-shrink:0}
.pe2-cat-btn:hover,.pe2-cat-btn.active{color:var(--o2);border-color:var(--o2);background:var(--o-bg)}
/* PE2 block */
.pe2-block{padding:60px 0;scroll-margin-top:110px}
.pe2-block:nth-child(odd){background:var(--white)}
.pe2-block:nth-child(even){background:var(--bg)}
.pe2-block-title{font-family:var(--f-head);font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--t1);letter-spacing:-.02em;margin-bottom:8px}
.pe2-block-desc{font-size:14px;color:var(--t3);line-height:1.7;max-width:780px;margin-bottom:32px}
.pe2-sub{margin-bottom:44px}
.pe2-sub-head{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--ln)}
.pe2-sub-title{font-family:var(--f-head);font-size:18px;font-weight:700;color:var(--t1);margin-bottom:5px}
.pe2-sub-desc{font-size:13px;color:var(--t3);line-height:1.65}
/* PE2 product grid — 3 per row */
.pe2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1000px){.pe2-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pe2-grid{grid-template-columns:1fr}}
/* PE2 product card */
.pe2-card{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--ln);border-top:3px solid var(--o2);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .17s,box-shadow .17s,border-color .17s}
.pe2-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(15,34,56,.09);border-color:var(--o2)}
.pe2-card-img{height:130px;background:linear-gradient(135deg,#f0f4fa,#e2eaf4);display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid var(--ln)}
.pe2-card-img img{max-width:100%;max-height:100%;object-fit:contain}
.pe2-card-body{padding:14px 16px 12px;flex:1;display:flex;flex-direction:column;gap:5px}
.pe2-card-label{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--o2);font-weight:700}
.pe2-card-models{font-family:var(--f-mono);font-size:9.5px;font-weight:700;color:var(--n2);background:var(--paper);border:1px solid var(--ln);padding:2px 7px;border-radius:4px;display:inline-block;width:fit-content;margin-bottom:3px}
.pe2-card-name{font-family:var(--f-head);font-size:13.5px;font-weight:700;color:var(--t1);line-height:1.28}
.pe2-card-desc{font-size:12px;color:var(--t3);line-height:1.58;flex:1}
.pe2-card-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.pe2-card-chip{font-size:9px;font-weight:600;padding:2px 7px;border-radius:100px;background:var(--paper);color:var(--t2);border:1px solid var(--ln)}
.pe2-card-foot{padding:10px 16px;border-top:1px solid var(--ln);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}
.pe2-card-open{font-size:11.5px;font-weight:700;color:var(--n2)}
.pe2-card-cta{font-size:10.5px;font-weight:700;padding:4px 11px;background:var(--o2);color:#fff;border-radius:5px;transition:background .13s}
.pe2-card-cta:hover{background:var(--o1)}

/* ══════════════════════════════════════════
   v18 — Horizontal category nav, taller cards,
   Topas spec table format, no series count badge
══════════════════════════════════════════ */

/* Horizontal category pill nav (replaces left nav on T&M and PE) */
.hcat-nav{background:var(--white);border-bottom:2px solid var(--ln);position:sticky;top:60px;z-index:800;box-shadow:0 2px 12px rgba(15,34,56,.05)}
.hcat-nav-inner{width:var(--rail);margin:0 auto;display:flex;align-items:center;gap:4px;height:54px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;flex-wrap:nowrap}
.hcat-nav-inner::-webkit-scrollbar{display:none}
.hcat-pill{flex-shrink:0;white-space:nowrap;padding:7px 16px;border-radius:100px;font-size:12.5px;font-weight:600;color:var(--t2);background:var(--paper);border:1.5px solid var(--ln);cursor:pointer;transition:all .14s;text-decoration:none;font-family:var(--f-body);display:inline-flex;align-items:center;gap:6px;line-height:1}
.hcat-pill:hover{color:var(--n1);border-color:var(--n4);background:var(--n7)}
.hcat-pill.active,.hcat-pill[aria-current="page"]{color:#fff;background:var(--n1);border-color:var(--n1)}
.hcat-pill.all-pill{color:var(--o2);border-color:var(--o-bd);background:var(--o-bg)}
.hcat-pill.all-pill:hover,.hcat-pill.all-pill.active{color:#fff;background:var(--o2);border-color:var(--o2)}

/* Full-width no-sidebar layout */
.full-main{width:var(--rail);margin:0 auto;padding:52px 0 80px}
@media(max-width:900px){.full-main{padding:28px 20px 60px}}

/* Product section block */
.prod-section{scroll-margin-top:70px}
.prod-section+.prod-section{margin-top:60px;padding-top:60px;border-top:1px solid var(--ln)}
.prod-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}
.prod-section-title{font-family:var(--f-head);font-size:clamp(22px,2.8vw,32px);font-weight:800;color:var(--t1);letter-spacing:-.02em;margin-bottom:6px}
.prod-section-desc{font-size:14px;color:var(--t3);line-height:1.68;max-width:760px}

/* Product card grid — 3 per row, taller cards */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:1100px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.prod-grid{grid-template-columns:1fr}}

/* Product card v3 — taller image, cleaner foot */
.pcard{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--ln);border-top:3px solid transparent;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s;cursor:pointer}
.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(15,34,56,.13);border-top-color:var(--o2);border-color:rgba(229,85,26,.3)}
.pcard-img{height:190px;background:linear-gradient(135deg,#f2f6fc,#e4edf6);display:flex;align-items:center;justify-content:center;padding:20px;border-bottom:1px solid var(--ln);position:relative;overflow:hidden}
.pcard-img img{max-width:100%;max-height:165px;object-fit:contain;transition:transform .28s}
.pcard:hover .pcard-img img{transform:scale(1.06)}
/* carousel within pcard */
.pcard-car{position:relative;width:100%;height:100%}
.pcard-track{display:flex;width:100%;height:100%;transition:transform .3s ease}
.pcard-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:16px}
.pcard-slide img{max-width:100%;max-height:155px;object-fit:contain}
.pcard-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:28px;height:28px;border-radius:50%;border:1px solid var(--ln);background:rgba(255,255,255,.9);color:var(--n2);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;opacity:0}
.pcard:hover .pcard-car-btn{opacity:1}
.pcard-car-btn.prev{left:6px}
.pcard-car-btn.next{right:6px}
.pcard-car-dots{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.pcard-car-dot{width:5px;height:5px;border-radius:50%;border:1px solid var(--o2);background:#fff;cursor:pointer;transition:background .12s}
.pcard-car-dot.active{background:var(--o2)}
.pcard-body{padding:18px 20px 16px;flex:1;display:flex;flex-direction:column;gap:6px}
.pcard-cat{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--t4)}
.pcard-name{font-family:var(--f-head);font-size:15.5px;font-weight:800;color:var(--t1);line-height:1.25;margin:0 0 7px;letter-spacing:-.01em}
.pcard-desc{font-size:13px;color:var(--t3);line-height:1.66;margin:0 0 10px}
.pcard-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.pcard-chip{font-size:10px;font-weight:600;padding:3px 9px;border-radius:5px;background:var(--paper);border:1px solid var(--ln2);color:var(--t3);letter-spacing:.01em}
.pcard-foot{padding:14px 18px;border-top:1px solid var(--ln);display:flex;align-items:center;justify-content:center;background:var(--paper)}
.pcard-explore{font-family:var(--f-head);font-size:12px;font-weight:700;color:var(--o1);background:rgba(229,85,26,.11);border:1px solid rgba(229,85,26,.28);display:inline-flex;align-items:center;justify-content:center;padding:8px 22px;border-radius:7px;transition:all .16s;width:100%;text-align:center;letter-spacing:.01em}
.pcard:hover .pcard-explore{background:rgba(229,85,26,.22);border-color:var(--o2);color:var(--o1)}
.pcard-explore::after{content:'';display:none}

/* ── Item #3: consistent orange overlay across product cards (Test & Measurement reference design) ── */
.pcard-img::after,
.tm20-card-img::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:linear-gradient(180deg, rgba(229,85,26,0) 42%, rgba(229,85,26,.46) 100%);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.pcard:hover .pcard-img::after,
.tm20-card:hover .tm20-card-img::after{
  opacity:1;
}

/* ── Item #6: distinct "Product Group" card — navy/folder treatment, clearly different from orange product cards ── */
.pgroup-grid{display:flex;flex-direction:column;gap:9px;margin-bottom:8px}
.pgroup-card{display:flex;align-items:center;gap:16px;background:var(--white);border:1.5px solid var(--ln);border-left:3px solid var(--n2);border-radius:10px;padding:15px 20px;text-decoration:none;color:inherit;transition:border-color .16s,background .16s,transform .16s}
.pgroup-card:hover{border-color:var(--n3);background:var(--paper);transform:translateX(3px)}
.pgroup-icon{flex:none;width:38px;height:38px;border-radius:9px;background:var(--paper);border:1px solid var(--ln);display:flex;align-items:center;justify-content:center;color:var(--n2)}
.pgroup-icon svg{width:18px;height:18px}
.pgroup-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pgroup-eyebrow{font-family:var(--f-mono);font-size:8.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);display:block}
.pgroup-name{font-family:var(--f-head);font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.01em;line-height:1.25;display:block}
.pgroup-arrow{flex:none;font-family:var(--f-head);font-size:12px;font-weight:700;color:var(--n2);white-space:nowrap}
.pgroup-card:hover .pgroup-arrow{color:var(--n3)}
@media(max-width:640px){.pgroup-card{padding:13px 16px;gap:12px}}

/* ── Item #11: Automation & Connectivity hero flow diagram — was completely unstyled ── */
.ac-hero-split{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:center}
@media(max-width:980px){.ac-hero-split{grid-template-columns:1fr;gap:36px}}
.stack-panel{position:relative;z-index:2;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 22px 20px;backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.stack-lbl{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--o3);margin-bottom:16px}
.stack-layer{display:block}
.sbox{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px 15px;transition:background .2s,border-color .2s}
.sbox.hi{background:rgba(229,85,26,.16);border-color:rgba(229,85,26,.45)}
.sbox-t{font-family:var(--f-head);font-size:13px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:3px;letter-spacing:-.005em}
.sbox-s{font-family:var(--f-mono);font-size:9.5px;color:rgba(255,255,255,.5);letter-spacing:.02em}
.s-conn{display:flex;align-items:center;gap:8px;padding:9px 2px}
.s-conn .s-line{flex:1;height:1px;background:rgba(255,255,255,.2);position:relative}
.s-conn .s-line:last-child::after{content:'';position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:3px 0 3px 4px;border-color:transparent transparent transparent rgba(255,255,255,.45)}
.s-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;flex:none}
.stag{font-family:var(--f-mono);font-size:7.5px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.65);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:3px 8px;white-space:nowrap}


/* Topas-style spec table (parameter | unit | value) */
.topas-spec-wrap{overflow-x:auto;border:1px solid var(--ln);border-radius:var(--rad)}
.topas-spec-table{width:100%;border-collapse:collapse;background:var(--white);min-width:500px}
.topas-spec-table thead th{background:var(--n0);color:#fff;padding:10px 16px;text-align:left;font-family:var(--f-head);font-size:12px;font-weight:600;letter-spacing:.05em;border-right:1px solid rgba(255,255,255,.12)}
.topas-spec-table thead th:first-child{border-right:2px solid var(--o2);width:42%}
.topas-spec-table thead th:last-child{border-right:none}
.topas-spec-table tbody tr{border-bottom:1px solid var(--ln)}
.topas-spec-table tbody tr:last-child{border-bottom:none}
.topas-spec-table tbody tr:nth-child(even){background:#f5f8fd}
.topas-spec-table tbody td{padding:9px 16px;font-size:13px;vertical-align:top;line-height:1.5;border-right:1px solid var(--ln)}
.topas-spec-table tbody td:first-child{font-weight:600;color:var(--t1);background:var(--paper);border-right:2px solid var(--o2)}
.topas-spec-table tbody td:last-child{border-right:none;color:var(--t1)}
.topas-spec-table tbody td.unit-col{color:var(--t3);font-family:var(--f-mono);font-size:11px;text-align:center;background:#fafcff;width:80px}
.topas-spec-group td{background:var(--n1)!important;color:rgba(255,255,255,.7)!important;font-family:var(--f-mono);font-size:8.5px!important;letter-spacing:.16em;text-transform:uppercase;padding:7px 16px!important;border-color:rgba(255,255,255,.08)!important;font-weight:400!important}

/* Dedicated product page — NO left sidebar */
.pd3-wrap{width:100%}
.pd3-hero{display:grid;grid-template-columns:460px 1fr;border-bottom:1px solid var(--ln);background:var(--white)}
@media(max-width:1100px){.pd3-hero{grid-template-columns:380px 1fr}}
@media(max-width:900px){.pd3-hero{grid-template-columns:1fr}}
.pd3-img{background:linear-gradient(135deg,#f0f4fa,#dce6f3);border-right:1px solid var(--ln);position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}
@media(max-width:900px){.pd3-img{min-height:280px;border-right:none;border-bottom:1px solid var(--ln)}}
/* Carousel inside pd3-img */
.pd3-carousel{width:100%;height:100%;position:relative;display:flex;flex-direction:column}
.pd3-track{display:flex;flex:1;transition:transform .32s ease}
.pd3-slide{min-width:100%;height:100%;min-height:400px;display:flex;align-items:center;justify-content:center;padding:36px}
@media(max-width:900px){.pd3-slide{min-height:260px;padding:24px}}
.pd3-slide img{max-width:100%;max-height:360px;object-fit:contain}
@media(max-width:900px){.pd3-slide img{max-height:230px}}
.pd3-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid var(--ln);background:rgba(255,255,255,.92);color:var(--n2);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(15,34,56,.09);transition:background .12s}
.pd3-car-btn:hover{background:#fff}
.pd3-car-btn.prev{left:12px}.pd3-car-btn.next{right:12px}
.pd3-car-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:7px}
.pd3-car-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--o2);background:#fff;cursor:pointer;transition:background .13s}
.pd3-car-dot.active{background:var(--o2)}
.pd3-info{padding:36px 44px;display:flex;flex-direction:column}
@media(max-width:900px){.pd3-info{padding:24px 20px}}
.pd3-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pd3-badge{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--o2);background:var(--o-bg);border:1px solid var(--o-bd);padding:4px 12px;border-radius:100px}
.pd3-h1{font-family:var(--f-head);font-size:clamp(22px,3vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.025em;line-height:1.1;margin-bottom:12px}
.pd3-tagline{font-size:14.5px;color:var(--t2);line-height:1.72;margin-bottom:20px}
/* Model comparison table on hero */
.pd3-model-table-wrap{margin-bottom:18px;overflow-x:auto;border-radius:var(--rad);border:1px solid var(--ln)}
.pd3-model-table{width:100%;border-collapse:collapse;font-size:12px;min-width:340px}
.pd3-model-table th{background:var(--n0);color:#fff;padding:9px 13px;text-align:left;font-family:var(--f-head);font-size:11px;font-weight:600;border-right:1px solid rgba(255,255,255,.12)}
.pd3-model-table th:first-child{border-right:2px solid var(--o2)}
.pd3-model-table th:last-child{border-right:none}
.pd3-model-table td{padding:8px 13px;border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);color:var(--t2);white-space:nowrap}
.pd3-model-table td:first-child{font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--n1);background:var(--paper);border-right:2px solid var(--o2)}
.pd3-model-table tr:last-child td{border-bottom:none}
.pd3-model-table tr:nth-child(even) td{background:#f5f8fd}
.pd3-model-table tr:nth-child(even) td:first-child{background:#edf1f7}
/* Key specs mini-block */
.pd3-ks{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ln);border-radius:var(--rad);overflow:hidden;margin-bottom:16px}
.pd3-ks-row{display:flex;align-items:baseline;border-bottom:1px solid var(--ln);border-right:1px solid var(--ln)}
.pd3-ks-row:nth-child(even){border-right:none}
.pd3-ks-row:last-child,.pd3-ks-row:nth-last-child(2):nth-child(odd){border-bottom:none}
.pd3-ks-lbl{font-size:10.5px;font-weight:700;color:var(--t3);padding:7px 10px;background:var(--paper);flex-shrink:0;min-width:80px}
.pd3-ks-val{font-size:11px;color:var(--t1);padding:7px 10px;flex:1}
.pd3-stds{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px}
.pd3-std{font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:100px;border:1px solid var(--ln2);color:var(--t3)}
.pd3-ctas{display:flex;gap:10px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--ln);margin-top:auto}
.pd3-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:11px 24px;background:var(--o2);color:#fff;border-radius:var(--rad);font-family:var(--f-head);font-size:13.5px;font-weight:600;transition:background .14s}
.pd3-btn-primary:hover{background:var(--o1)}
.pd3-btn-sec{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;background:transparent;color:var(--t1);border:1.5px solid var(--ln3);border-radius:var(--rad);font-family:var(--f-head);font-size:13px;font-weight:600;transition:border-color .14s,color .14s}
.pd3-btn-sec:hover{border-color:var(--n2);color:var(--n2)}
/* Product body sections */
.pd3-body{background:var(--bg)}
.pd3-section{padding:52px 0;scroll-margin-top:60px}
.pd3-section-inner{width:var(--rail);margin:0 auto;max-width:1200px}
@media(max-width:900px){.pd3-section-inner{padding-inline:20px;max-width:100%}}
.pd3-section-alt{background:var(--white)}
.pd3-section-dark{background:var(--n0)}
.pd3-sec-title{font-family:var(--f-head);font-size:clamp(21px,2.5vw,30px);font-weight:700;color:var(--t1);letter-spacing:-.015em;margin-bottom:24px}
.pd3-sec-title-light{color:var(--di1)}
/* Features 3-column grid */
.pd3-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.pd3-features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pd3-features{grid-template-columns:1fr}}
.pd3-feat{display:flex;gap:11px;padding:14px 16px;background:var(--white);border:1px solid var(--ln);border-left:3px solid var(--o2);border-radius:6px}
.pd3-feat-text{font-size:13px;color:var(--t2);line-height:1.58}
/* Applications 3-column */
.pd3-app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.pd3-app-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pd3-app-grid{grid-template-columns:1fr}}
.pd3-app-card{background:var(--white);border:1px solid var(--ln);border-top:3px solid var(--o2);border-radius:10px;padding:20px}
.pd3-app-sector{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--o2);font-weight:700;margin-bottom:7px;display:block}
.pd3-app-card h3{font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--t1);margin-bottom:7px;line-height:1.3}
.pd3-app-card p{font-size:13px;color:var(--t3);line-height:1.65}
/* Accessories */
.pd3-acc-wrap{overflow-x:auto;border:1px solid var(--ln);border-radius:var(--rad)}
.pd3-acc-table{width:100%;border-collapse:collapse;min-width:480px}
.pd3-acc-table thead th{background:var(--n0);color:#fff;padding:10px 16px;text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pd3-acc-table tbody td{padding:10px 16px;border-bottom:1px solid var(--ln);font-size:13px;vertical-align:top;line-height:1.5}
.pd3-acc-table tbody tr:last-child td{border-bottom:none}
.pd3-acc-table tbody tr:nth-child(even) td{background:var(--paper)}
.pd3-acc-model{font-family:var(--f-mono);font-size:11px;font-weight:700;color:var(--n2)}
/* Contact dark section */
.pd3-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media(max-width:900px){.pd3-contact-grid{grid-template-columns:1fr;gap:32px}}
.pd3-contact-intro{font-size:14px;color:var(--di2);line-height:1.78;margin-bottom:20px}
.pd3-cf{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--lni)}
.pd3-cf:last-of-type{border-bottom:none}
.pd3-cf-lbl{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--di3);margin-bottom:4px}
.pd3-cf-val{font-size:14px;font-weight:500;color:var(--di1)}
.pd3-cf-val a{color:var(--o4)}
.pd3-form{background:rgba(255,255,255,.07);border:1px solid var(--lni2);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:14px}
.pd3-fg{display:flex;flex-direction:column;gap:5px}
.pd3-fg label{font-size:11px;font-weight:600;color:var(--di2)}
.pd3-fg input,.pd3-fg select,.pd3-fg textarea{padding:10px 13px;background:rgba(255,255,255,.08);border:1px solid var(--lni2);border-radius:6px;font-size:13px;font-family:var(--f-body);color:var(--di1);outline:none;transition:border-color .14s}
.pd3-fg input:focus,.pd3-fg select:focus,.pd3-fg textarea:focus{border-color:var(--o3)}
.pd3-fg input::placeholder,.pd3-fg textarea::placeholder{color:var(--di3)}
.pd3-fg select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%234C6E8C' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.pd3-fg select option{background:var(--n1);color:var(--di1)}
.pd3-fg textarea{min-height:90px;resize:vertical}
.pd3-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.pd3-form-row{grid-template-columns:1fr}}
.pd3-submit{padding:12px 24px;background:var(--o2);color:#fff;border:none;border-radius:6px;font-family:var(--f-head);font-size:13.5px;font-weight:700;cursor:pointer;transition:background .14s;align-self:flex-start}
.pd3-submit:hover{background:var(--o1)}
.pd3-form-msg{font-size:12px;color:var(--o4);min-height:16px}

/* ══════════════════════════════════════════
   v19 — Taller cards, no left nav on dedicated pages,
   URL param filtering, Topas spec table 3-column
══════════════════════════════════════════ */

/* Product card v4 — narrower, taller image */
.pcard-img{height:220px !important}
.pcard-car{height:220px}
.pcard-track,.pcard-slide{min-height:220px}
.pcard-slide img{max-height:195px !important}
/* Remove series count from pcard-foot - handled by removing from HTML */

/* Dedicated page — remove left sidebar completely (pd2-sidebar hidden) */
.pd2-wrap{grid-template-columns:1fr !important}
.pd2-sidebar{display:none !important}
.pd2-hero{grid-template-columns:440px 1fr}
@media(max-width:1000px){.pd2-hero{grid-template-columns:360px 1fr}}
@media(max-width:760px){.pd2-hero{grid-template-columns:1fr}}

/* Topas 3-col spec table (exact format from topas website) */
.spec-table-3col{width:100%;border-collapse:collapse;font-size:13px;background:var(--white)}
.spec-table-3col thead th{background:var(--n0);color:#fff;padding:10px 16px;font-size:11.5px;font-family:var(--f-head);font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.1)}
.spec-table-3col thead th:nth-child(2){width:90px;text-align:center}
.spec-table-3col thead th:last-child{border-right:none}
.spec-table-3col tbody tr{border-bottom:1px solid var(--ln)}
.spec-table-3col tbody tr:last-child{border-bottom:none}
.spec-table-3col tbody tr:nth-child(even){background:#f5f8fd}
.spec-table-3col tbody td{padding:9px 16px;vertical-align:middle;line-height:1.5;border-right:1px solid var(--ln)}
.spec-table-3col tbody td:first-child{font-weight:600;color:var(--t1);border-right:2px solid var(--o2)}
.spec-table-3col tbody td:nth-child(2){text-align:center;font-family:var(--f-mono);font-size:11px;color:var(--t4);background:#fafcff;width:80px;border-right:1px solid var(--ln)}
.spec-table-3col tbody td:last-child{color:var(--t2);border-right:none}
.spec-table-3col tbody tr.spec-group td{background:var(--n1);color:rgba(255,255,255,.65);font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:7px 16px;border-color:rgba(255,255,255,.08)}
.spec-table-3col tbody tr.spec-group td:first-child{color:var(--di2);font-weight:700;background:var(--n0)}

/* ═══ v19 Final — 5-col mega-menu (Software Validation & Security now a full column), card height, link fixes ═══ */

/* 5-column mega-menu (width set inline on the Products mega-menu itself) */
.mega-inner{grid-template-columns:1fr 1fr 1fr 1fr 1fr !important}
@media(max-width:1300px){.nav-mega{width:min(760px,calc(100vw - 24px)) !important}.mega-inner{grid-template-columns:1fr 1fr 1fr !important}}
@media(max-width:1100px){.nav-mega{width:min(520px,calc(100vw - 24px)) !important}.mega-inner{grid-template-columns:1fr 1fr !important}}
.site-subnav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}.site-subnav::-webkit-scrollbar{display:none}

/* Mega-item smaller text for 4-col */
.mega-item{font-size:12.5px !important;padding:6px 10px !important}
.mega-item span{font-size:10.5px !important}

/* Product card — taller, narrower for high-end look */
.pcard{border-radius:12px}
.pcard-img{height:220px}
.pcard-car,.pcard-track,.pcard-slide{height:220px;min-height:220px}
.pcard-slide img{max-height:190px}
.pcard-foot{justify-content:flex-end}

/* Remove any series count (series badge) — hide via CSS */
.pcard-foot span:last-child:not(.pcard-explore){display:none !important}
.cat-card-foot span:last-child:not(.cat-card-arrow){display:none !important}

/* Horizontal pill nav responsive */
@media(max-width:768px){
  .hcat-nav-inner{gap:6px;padding:0 12px}
  .hcat-pill{font-size:11px;padding:6px 12px}
}

/* Full-main proper width */
.full-main{max-width:1280px;padding-left:40px;padding-right:40px}
@media(max-width:1360px){.full-main{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.full-main{padding-left:16px;padding-right:16px}}

/* pd3-hero image height - taller for desktop */
.pd3-slide{min-height:440px}
@media(max-width:900px){.pd3-slide{min-height:260px}}
.pd3-slide img{max-height:400px}
@media(max-width:900px){.pd3-slide img{max-height:220px}}

/* Fix pd3-img min-height */
.pd3-img{min-height:440px}
@media(max-width:900px){.pd3-img{min-height:260px}}

/* pd3-info larger on desktop */
@media(min-width:1100px){.pd3-info{padding:44px 52px}}

/* Section title color consistency */
.pd3-sec-title{color:var(--n1)}

/* ═══════════════════════════════════════════════════
   v20 — Datatec-inspired T&M product page design
   Primionics colour palette: Navy #0F2238, Orange #e5551a
   Clean, authoritative, engineering-grade
═══════════════════════════════════════════════════ */

/* ── T&M Series Card (Datatec-inspired: image left, specs right) ── */
.tm-series-card{
  display:grid;grid-template-columns:280px 1fr;
  border:1.5px solid var(--ln);border-radius:12px;overflow:hidden;
  background:var(--white);transition:box-shadow .18s,transform .16s;
  text-decoration:none;color:inherit;margin-bottom:2px;
}
.tm-series-card:hover{box-shadow:0 8px 32px rgba(15,34,56,.12);transform:translateY(-2px)}
@media(max-width:800px){.tm-series-card{grid-template-columns:1fr}}

.tm-sc-img{
  background:linear-gradient(145deg,#f0f5fc,#dde8f5);
  display:flex;align-items:center;justify-content:center;padding:28px;
  border-right:1px solid var(--ln);min-height:200px;position:relative;overflow:hidden;
}
.tm-sc-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 60%,rgba(229,85,26,.06));
  pointer-events:none;
}
.tm-sc-img img{max-width:200px;max-height:150px;object-fit:contain;position:relative;z-index:1}
@media(max-width:800px){.tm-sc-img{min-height:160px;border-right:none;border-bottom:1px solid var(--ln)}}

.tm-sc-body{padding:24px 28px;display:flex;flex-direction:column;gap:10px}
.tm-sc-cat{font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--o2);font-weight:700}
.tm-sc-name{font-family:var(--f-head);font-size:20px;font-weight:800;color:var(--n0);letter-spacing:-.02em;line-height:1.2}
.tm-sc-tagline{font-size:13.5px;color:var(--t3);line-height:1.65;max-width:600px}

/* Spec chips strip */
.tm-sc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tm-sc-chip{
  font-family:var(--f-mono);font-size:10px;font-weight:600;
  padding:4px 12px;border-radius:100px;
  background:var(--paper);border:1px solid var(--ln2);color:var(--t1);
}
.tm-sc-chip.hi{background:var(--n7);border-color:var(--n4);color:var(--n1)}

/* Model table inside series card */
.tm-sc-models{margin-top:12px;overflow-x:auto;border:1px solid var(--ln);border-radius:8px}
.tm-sc-model-table{width:100%;border-collapse:collapse;font-size:11.5px;min-width:400px}
.tm-sc-model-table th{background:var(--n0);color:#fff;padding:7px 12px;text-align:left;font-family:var(--f-head);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.tm-sc-model-table th:first-child{border-right:2px solid var(--o2)}
.tm-sc-model-table td{padding:7px 12px;border-bottom:1px solid var(--ln);color:var(--t2);white-space:nowrap}
.tm-sc-model-table td:first-child{font-family:var(--f-mono);font-size:10.5px;font-weight:700;color:var(--n1);border-right:2px solid var(--o2)}
.tm-sc-model-table tr:last-child td{border-bottom:none}
.tm-sc-model-table tr:nth-child(even) td{background:#f5f8fd}
.tm-sc-model-table tr:nth-child(even) td:first-child{background:#edf1f7}

/* Card footer with CTA */
.tm-sc-foot{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:auto;padding-top:16px;border-top:1px solid var(--ln);
}
.tm-sc-enquire{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--f-head);font-size:12.5px;font-weight:700;
  color:var(--o2);transition:gap .14s;
}
.tm-sc-enquire::after{content:'→';font-size:14px}
.tm-series-card:hover .tm-sc-enquire{gap:10px}
.tm-sc-more{font-family:var(--f-mono);font-size:9px;color:var(--t4);letter-spacing:.1em;text-transform:uppercase}

/* Sub-section heading within a category */
.tm-subsec-head{
  font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--n1);
  padding:10px 0;margin:28px 0 16px;
  border-bottom:2px solid var(--n0);
  display:flex;align-items:baseline;gap:12px;
}
.tm-subsec-count{
  font-family:var(--f-mono);font-size:9px;color:var(--t4);
  font-weight:400;letter-spacing:.14em;text-transform:uppercase;
}

/* Category section spacing */
.prod-section+.prod-section{margin-top:72px;padding-top:72px}

/* Series-list layout: vertical stacked cards */
.tm-series-list{display:flex;flex-direction:column;gap:14px}

/* Responsive adjustments */
@media(max-width:600px){
  .tm-sc-body{padding:16px}
  .tm-sc-name{font-size:17px}
}

/* ══════════════════════════════════════════
   v20 — Datatec-inspired T&M layout
   Primionics palette: navy #0F2238, orange #e5551a
══════════════════════════════════════════ */

/* ── T&M Page shell ── */
.tm20-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 116px);align-items:start}
@media(max-width:960px){.tm20-shell{grid-template-columns:1fr}}

/* ── Left category rail ── */
.tm20-rail{position:sticky;top:116px;height:calc(100vh - 116px);overflow-y:auto;background:var(--white);border-right:1px solid var(--ln);padding:20px 0;scrollbar-width:thin;scrollbar-color:var(--ln3) transparent}
@media(max-width:960px){.tm20-rail{display:none}}
.tm20-rail-head{font-family:var(--f-head);font-size:13px;font-weight:800;letter-spacing:-.01em;text-transform:none;color:var(--n0);padding:0 18px 10px;border-bottom:1px solid var(--ln);margin-bottom:6px}
.tm20-rail a{display:flex;align-items:center;gap:8px;padding:8px 18px;font-size:12.5px;font-weight:500;color:var(--t2);text-decoration:none;border-left:3px solid transparent;transition:all .12s;white-space:nowrap}
.tm20-rail a:hover{color:var(--n1);background:var(--paper);border-left-color:var(--n4)}
.tm20-rail a.active{color:var(--o2);background:var(--o-bg);border-left-color:var(--o2);font-weight:700}
.tm20-rail-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.5}
.tm20-rail a.active .tm20-rail-dot{opacity:1}
.tm20-rail-div{height:1px;background:var(--ln);margin:6px 18px}

/* ── Main content area ── */
.tm20-main{padding:0 44px 80px;min-width:0}
@media(max-width:1200px){.tm20-main{padding:0 28px 80px}}
@media(max-width:960px){.tm20-main{padding:0 16px 60px}}

/* ── Section header ── */
.tm20-sec{scroll-margin-top:120px;margin-bottom:52px;padding-top:40px}
.tm20-sec:first-child{padding-top:32px}
.tm20-sec-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--ln)}
.tm20-sec-left{}
.tm20-sec-eyebrow{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--o2);font-weight:700;margin-bottom:5px}
.tm20-sec-title{font-family:var(--f-head);font-size:clamp(20px,2.4vw,28px);font-weight:800;color:var(--n0);letter-spacing:-.02em;line-height:1.15}
.tm20-sec-desc{font-size:13px;color:var(--t3);line-height:1.7;max-width:680px;margin-top:6px}
.tm20-sec-count{display:none}

/* ── Sub-section (e.g. Bench / PC / Handheld within Oscilloscopes) ── */
.tm20-subsec{margin-bottom:36px}
.tm20-subsec-title{font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--n1);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.tm20-subsec-title::after{content:'';flex:1;height:1px;background:var(--ln)}

/* ── Product card grid — 3 col default ── */
.tm20-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 1200px) {
  .tm20-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .tm20-grid {
    grid-template-columns: 1fr !important;
  }
}
/* ── Product card (Datatec-inspired) ── */
.tm20-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--ln);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .18s,border-color .18s,transform .18s;position:relative}
.tm20-card:hover{box-shadow:0 8px 32px rgba(15,34,56,.1);border-color:var(--o2);transform:translateY(-2px)}
.tm20-card-badge{position:absolute;top:10px;left:10px;z-index:3;font-family:var(--f-mono);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:100px;background:var(--o2);color:#fff}
/* Image zone */
.tm20-card-img{height:200px;background:linear-gradient(135deg,#f3f7fc,#e8eef8);display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid var(--ln);position:relative;overflow:hidden}
.tm20-card-img img{max-width:100%;max-height:170px;object-fit:contain;transition:transform .3s}
.tm20-card:hover .tm20-card-img img{transform:scale(1.05)}
/* Info zone */
.tm20-card-body{padding:14px 16px 10px;flex:1;display:flex;flex-direction:column;gap:5px}
.tm20-card-brand{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:#64748b;font-weight:700}
.tm20-card-name{font-family:var(--f-head);font-size:14.5px;font-weight:700;color:var(--n0);line-height:1.25}
.tm20-card-tagline{font-size:13.5px;color:var(--t3);line-height:1.6;flex:1}
/* Spec chips */
.tm20-card-specs{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.tm20-spec-chip{font-family:var(--f-mono);font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:4px;background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1}
.tm20-spec-chip.highlight{background:#fff7ed;color:#c2410c;border-color:#fed7aa;font-weight:800}
/* Card footer */
.tm20-card-foot{padding:10px 16px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--ln);background:var(--paper)}
.tm20-card-cta{font-family:var(--f-head);font-size:11.5px;font-weight:700;color:var(--o2);display:inline-flex;align-items:center;gap:4px;transition:gap .14s}
.tm20-card-cta::after{content:'';display:none}
.tm20-card:hover .tm20-card-cta{color:#c84010}
.tm20-card-enquire{display:none}

/* ── Hero banner for T&M index ── */
.tm20-hero{background:linear-gradient(135deg,var(--n0) 0%,#1a3557 60%,#0d2040 100%);color:#fff;padding:52px 44px;position:relative;overflow:hidden}
@media(max-width:960px){.tm20-hero{padding:32px 20px}}
.tm20-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:360px;height:360px;border-radius:50%;background:rgba(229,85,26,.1);pointer-events:none}
.tm20-hero::after{content:'';position:absolute;bottom:-40px;right:120px;width:180px;height:180px;border-radius:50%;background:rgba(229,85,26,.07);pointer-events:none}
.tm20-hero-inner{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:center;position:relative;z-index:1}
@media(max-width:900px){.tm20-hero-inner{grid-template-columns:1fr}}
.tm20-hero-eyebrow{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--o4);margin-bottom:10px}
.tm20-hero-h1{font-family:var(--f-head);font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin-bottom:14px;color:#fff}
.tm20-hero-h1 em{color:var(--o4);font-style:normal}
.tm20-hero-desc{font-size:14.5px;color:rgba(255,255,255,.72);line-height:1.75;max-width:580px}
.tm20-hero-stats{display:flex;flex-direction:column;gap:12px}
@media(max-width:900px){.tm20-hero-stats{flex-direction:row;flex-wrap:wrap;gap:14px}}
.tm20-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:16px 20px}
.tm20-stat-val{font-family:var(--f-head);font-size:32px;font-weight:800;color:var(--o4);line-height:1}
.tm20-stat-lbl{font-size:11px;color:rgba(255,255,255,.55);margin-top:4px}

/* ── Mobile category pills (below hero, above content, hidden on desktop) ── */
.tm20-mob-pills{display:none;overflow-x:auto;gap:6px;padding:12px 16px;background:var(--white);border-bottom:1px solid var(--ln);scrollbar-width:none;-ms-overflow-style:none}
.tm20-mob-pills::-webkit-scrollbar{display:none}
@media(max-width:960px){.tm20-mob-pills{display:flex}}
.tm20-mob-pill{flex-shrink:0;white-space:nowrap;padding:6px 14px;border-radius:100px;font-size:11.5px;font-weight:600;color:var(--t2);background:var(--paper);border:1.5px solid var(--ln);cursor:pointer;text-decoration:none;transition:all .12s}
.tm20-mob-pill.active{color:#fff;background:var(--n1);border-color:var(--n1)}
.tm20-mob-pill.all{color:var(--o2);border-color:var(--o-bd);background:var(--o-bg)}
.tm20-mob-pill.all.active{color:#fff;background:var(--o2);border-color:var(--o2)}

/* ── Partner badge on card ── */
.tm20-partner-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:2px 7px;border-radius:3px;border:1px solid var(--ln);color:var(--t3)}
.tm20-partner-badge.siglent{color:#1755C2;border-color:rgba(23,85,194,.25);background:rgba(23,85,194,.04)}
.tm20-partner-badge.pico{color:#00A651;border-color:rgba(0,166,81,.25);background:rgba(0,166,81,.04)}

/* ── Enquiry CTA strip (replaces download/share) ── */
.tm20-enquire-strip{background:linear-gradient(90deg,var(--n1),var(--n0));border-radius:10px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}
.tm20-enquire-strip p{font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.6;margin:0}
.tm20-enquire-strip strong{color:#fff;font-family:var(--f-head);font-size:15px;display:block;margin-bottom:4px}
.tm20-enquire-btn{flex-shrink:0;padding:10px 22px;background:var(--o2);color:#fff;border-radius:6px;font-family:var(--f-head);font-size:13px;font-weight:700;text-decoration:none;transition:background .14s;white-space:nowrap}
.tm20-enquire-btn:hover{background:var(--o1)}
@media(max-width:680px){.tm20-enquire-strip{flex-direction:column;align-items:flex-start}}

/* ══════════════════════════════════════════
   v21 — Datatec-inspired full product pages
   Clean professional catalogue aesthetic
   Primionics palette: #0F2238 navy, #e5551a orange
══════════════════════════════════════════ */

/* ── Product page outer shell ── */
.dp-shell{max-width:1280px;margin:0 auto;padding:0}

/* ── Breadcrumb ── */
.dp-breadcrumb{padding:14px 44px;background:var(--paper);border-bottom:1px solid var(--ln);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t4)}
.dp-breadcrumb a{color:var(--t3);text-decoration:none;transition:color .12s}
.dp-breadcrumb a:hover{color:var(--o2)}
.dp-breadcrumb-sep{color:var(--t5)}
.dp-breadcrumb-cur{color:var(--t2);font-weight:500}

/* ── Hero zone: image left, info right ── */
.dp-hero{display:grid;grid-template-columns:520px 1fr;border-bottom:1px solid var(--ln);background:var(--white)}
@media(max-width:1100px){.dp-hero{grid-template-columns:420px 1fr}}
@media(max-width:900px){.dp-hero{grid-template-columns:1fr;grid-template-rows:auto auto}}

/* Image column */
.dp-img-col{background:linear-gradient(145deg,#f5f8fd,#e8eef8);border-right:1px solid var(--ln);display:flex;flex-direction:column;min-height:480px}
@media(max-width:900px){.dp-img-col{min-height:300px;border-right:none;border-bottom:1px solid var(--ln)}}
.dp-img-main{flex:1;display:flex;align-items:center;justify-content:center;padding:36px;position:relative;overflow:hidden}
.dp-img-main img{max-width:100%;max-height:360px;object-fit:contain;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.dp-img-main:hover img{transform:scale(1.04)}
.dp-img-thumbs{display:flex;gap:8px;padding:16px 24px;border-top:1px solid var(--ln);background:rgba(255,255,255,.6)}
.dp-thumb{width:60px;height:52px;border-radius:6px;border:2px solid var(--ln);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;transition:border-color .14s}
.dp-thumb:hover{border-color:var(--n4)}
.dp-thumb.active{border-color:var(--o2)}
.dp-thumb img{max-width:100%;max-height:44px;object-fit:contain}
.dp-new-badge{position:absolute;top:16px;left:16px;background:var(--o2);color:#fff;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:4px}

/* Info column */
.dp-info-col{padding:36px 44px;display:flex;flex-direction:column;gap:0}
@media(max-width:900px){.dp-info-col{padding:24px 20px}}
.dp-brand-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.dp-brand-label{font-family:var(--f-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--t4);font-weight:700}
.dp-partner-pill{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.1em;padding:3px 10px;border-radius:100px;text-transform:uppercase}
.dp-partner-pill.siglent{color:#1755C2;background:rgba(23,85,194,.07);border:1px solid rgba(23,85,194,.2)}
.dp-partner-pill.pico{color:#007A3E;background:rgba(0,122,62,.07);border:1px solid rgba(0,122,62,.2)}
.dp-title{font-family:var(--f-head);font-size:clamp(24px,3.2vw,38px);font-weight:800;color:var(--n0);letter-spacing:-.025em;line-height:1.1;margin-bottom:10px}
.dp-subtitle{font-size:14px;color:var(--t3);line-height:1.75;margin-bottom:20px;max-width:560px}

/* Key specs inline grid */
.dp-ks{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--ln);border-radius:8px;overflow:hidden;margin-bottom:20px}
.dp-ks-item{padding:10px 14px;border-bottom:1px solid var(--ln);border-right:1px solid var(--ln)}
.dp-ks-item:nth-child(2n){border-right:none}
.dp-ks-item:nth-last-child(1),.dp-ks-item:nth-last-child(2){border-bottom:none}
.dp-ks-lbl{font-size:10px;font-weight:600;color:var(--t4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.dp-ks-val{font-size:13.5px;font-weight:700;color:var(--n1)}
.dp-ks-val em{color:var(--o2);font-style:normal}

/* Model table */
.dp-models{margin-bottom:20px;overflow-x:auto;border:1px solid var(--ln);border-radius:8px}
.dp-models table{width:100%;border-collapse:collapse;min-width:380px}
.dp-models thead th{background:var(--n0);color:#fff;padding:9px 14px;font-size:11px;font-family:var(--f-head);font-weight:600;text-align:left;letter-spacing:.04em}
.dp-models thead th:first-child{color:var(--o4)}
.dp-models tbody tr{border-bottom:1px solid var(--ln)}
.dp-models tbody tr:last-child{border-bottom:none}
.dp-models tbody tr:nth-child(even){background:#f5f8fd}
.dp-models tbody td{padding:8px 14px;font-size:12.5px;color:var(--t1)}
.dp-models tbody td:first-child{font-family:var(--f-mono);font-size:11.5px;font-weight:700;color:var(--n1)}

/* Spec chips row */
.dp-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}
.dp-chip{font-family:var(--f-mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:5px;background:var(--paper);border:1px solid var(--ln);color:var(--n2)}
.dp-chip.hi{background:var(--o-bg);color:var(--o2);border-color:var(--o-bd)}
.dp-chip.navy{background:var(--n0);color:#fff;border-color:var(--n0)}

/* CTA buttons */
.dp-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:20px;border-top:1px solid var(--ln)}
.dp-cta-primary{display:inline-flex;align-items:center;gap:7px;padding:12px 26px;background:var(--o2);color:#fff;border-radius:6px;font-family:var(--f-head);font-size:13.5px;font-weight:700;text-decoration:none;transition:background .14s;border:none;cursor:pointer}
.dp-cta-primary:hover{background:var(--o1)}
.dp-cta-sec{display:inline-flex;align-items:center;gap:7px;padding:12px 22px;background:transparent;color:var(--n1);border:1.5px solid var(--ln3);border-radius:6px;font-family:var(--f-head);font-size:13px;font-weight:600;text-decoration:none;transition:border-color .14s,color .14s}
.dp-cta-sec:hover{border-color:var(--n2);color:var(--n0)}

/* ── Section nav strip ── */
.dp-sec-nav{background:var(--white);border-bottom:2px solid var(--ln);position:sticky;top:60px;z-index:800;overflow-x:auto;scrollbar-width:none}
.dp-sec-nav::-webkit-scrollbar{display:none}
.dp-sec-nav-inner{display:flex;gap:0;max-width:1280px;margin:0 auto;padding:0 44px}
@media(max-width:900px){.dp-sec-nav-inner{padding:0 16px}}
.dp-sec-tab{display:flex;align-items:center;padding:14px 20px;font-size:13px;font-weight:600;color:var(--t2);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap;transition:all .14s;cursor:pointer}
.dp-sec-tab:hover{color:var(--n1);border-bottom-color:var(--n5)}
.dp-sec-tab.active{color:var(--o2);border-bottom-color:var(--o2)}

/* ── Content sections ── */
.dp-body{background:var(--bg)}
.dp-section{padding:52px 44px;scroll-margin-top:104px;max-width:1280px;margin:0 auto}
@media(max-width:900px){.dp-section{padding:32px 16px}}
.dp-section.alt-bg{background:var(--white);max-width:none;padding-left:0;padding-right:0}
.dp-section.alt-bg .dp-section-inner{max-width:1280px;margin:0 auto;padding:52px 44px}
@media(max-width:900px){.dp-section.alt-bg .dp-section-inner{padding:32px 16px}}
.dp-section.dark-bg{background:var(--n0);max-width:none;padding-left:0;padding-right:0}
.dp-section.dark-bg .dp-section-inner{max-width:1280px;margin:0 auto;padding:52px 44px}

.dp-sec-label{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--o2);font-weight:700;margin-bottom:8px}
.dp-sec-title{font-family:var(--f-head);font-size:clamp(22px,2.8vw,32px);font-weight:800;color:var(--n0);letter-spacing:-.02em;margin-bottom:20px}
.dp-sec-title.light{color:#fff}

/* Features grid — 3 col */
.dp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1000px){.dp-features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.dp-features{grid-template-columns:1fr}}
.dp-feat{background:var(--white);border:1px solid var(--ln);border-left:4px solid var(--o2);border-radius:6px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.dp-feat-icon{width:32px;height:32px;border-radius:6px;background:var(--o-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;margin-bottom:2px}
.dp-feat h4{font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--n1);margin:0}
.dp-feat p{font-size:12.5px;color:var(--t3);line-height:1.65;margin:0}

/* Full spec table — Datatec style */
.dp-spec-wrap{overflow-x:auto;border:1px solid var(--ln);border-radius:8px;background:var(--white)}
.dp-spec-table{width:100%;border-collapse:collapse;min-width:500px}
.dp-spec-table thead th{background:var(--n0);color:#fff;padding:9px 14px;font-size:10.5px;font-family:var(--f-head);font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-align:left}
.dp-spec-table thead th:nth-child(2){width:90px;text-align:center}
.dp-spec-table thead th:last-child{border-left:1px solid rgba(255,255,255,.1)}
.dp-spec-table tbody tr{border-bottom:1px solid var(--ln)}
.dp-spec-table tbody tr:last-child{border-bottom:none}
.dp-spec-table tbody tr:nth-child(even){background:#f7fafd}
.dp-spec-table tbody td{padding:8px 14px;font-size:13.5px;color:var(--t1);line-height:1.45;vertical-align:top}
.dp-spec-table tbody td:first-child{font-weight:600;color:var(--n1);border-right:2px solid var(--o2);background:var(--paper);width:36%}
.dp-spec-table tbody td:nth-child(2){text-align:center;font-family:var(--f-mono);font-size:10.5px;color:var(--t4);background:#fafcff;border-right:1px solid var(--ln);padding:7px 10px}
.dp-spec-table tbody tr.dp-spec-grp td{background:var(--n1)!important;color:rgba(255,255,255,.6)!important;font-family:var(--f-mono)!important;font-size:8px!important;letter-spacing:.2em!important;text-transform:uppercase!important;padding:7px 18px!important;border-color:rgba(255,255,255,.08)!important;font-weight:400!important;border-right:none!important}

/* Applications — cards */
.dp-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.dp-apps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dp-apps{grid-template-columns:1fr}}
.dp-app-card{background:var(--white);border:1.5px solid var(--ln);border-top:4px solid var(--o2);border-radius:10px;padding:20px 22px}
.dp-app-sector{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--o2);display:block;margin-bottom:8px}
.dp-app-card h3{font-family:var(--f-head);font-size:14.5px;font-weight:700;color:var(--n0);margin:0 0 8px;line-height:1.3}
.dp-app-card p{font-size:13px;color:var(--t3);line-height:1.68;margin:0}

/* Accessories table */
.dp-acc-wrap{overflow-x:auto;border:1px solid var(--ln);border-radius:8px}
.dp-acc-table{width:100%;border-collapse:collapse;min-width:480px}
.dp-acc-table thead th{background:var(--n1);color:#fff;padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:left}
.dp-acc-table tbody td{padding:11px 16px;border-bottom:1px solid var(--ln);font-size:13px;color:var(--t1);line-height:1.5;vertical-align:top}
.dp-acc-table tbody tr:last-child td{border-bottom:none}
.dp-acc-table tbody tr:nth-child(even) td{background:var(--paper)}
.dp-acc-model{font-family:var(--f-mono);font-size:11.5px;font-weight:700;color:var(--n1);white-space:nowrap}

/* Contact dark section */
.dp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media(max-width:900px){.dp-contact-grid{grid-template-columns:1fr;gap:32px}}
.dp-contact-intro{font-size:14px;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:24px}
.dp-cf{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.dp-cf:last-of-type{border-bottom:none}
.dp-cf-lbl{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:4px}
.dp-cf-val{font-size:14px;font-weight:500;color:rgba(255,255,255,.85)}
.dp-cf-val a{color:var(--o4);text-decoration:none}
.dp-form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:16px}
.dp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.dp-form-row{grid-template-columns:1fr}}
.dp-fg{display:flex;flex-direction:column;gap:5px}
.dp-fg label{font-size:11px;font-weight:600;color:rgba(255,255,255,.55)}
.dp-fg input,.dp-fg textarea{padding:11px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:13px;font-family:var(--f-body);color:#fff;outline:none;transition:border-color .14s}
.dp-fg input:focus,.dp-fg textarea:focus{border-color:var(--o3)}
.dp-fg input::placeholder,.dp-fg textarea::placeholder{color:rgba(255,255,255,.3)}
.dp-fg textarea{min-height:88px;resize:vertical}
.dp-submit{padding:12px 24px;background:var(--o2);color:#fff;border:none;border-radius:6px;font-family:var(--f-head);font-size:13.5px;font-weight:700;cursor:pointer;transition:background .14s;align-self:flex-start}
.dp-submit:hover{background:var(--o1)}
.dp-form-msg{font-size:12px;color:var(--o4);min-height:16px}

/* ─── v22.3 Product Card Fixes ─────────────────────────────── */
/* Explore at bottom right, no arrow, no Request Quote */
.tm20-card-cta::after { content: none !important; display: none !important; }
.tm20-card-enquire { display: none !important; }
.tm20-card-foot {
  justify-content: flex-end !important;
  border-top: 1px solid var(--ln);
  padding: 10px 16px;
  background: var(--paper);
}
.tm20-card-cta {
  font-family: var(--f-head);
  font-size: 11.5px; font-weight: 700; color: var(--o2);
  transition: color .14s;
}
.tm20-card:hover .tm20-card-cta { color: #c84010; }

/* Spec chips — better contrast and legibility */
.tm20-spec-chip {
  font-family: var(--f-mono);
  font-size: 10px; font-weight: 700;
  letter-spacing: .02em;
  padding: 3px 10px; border-radius: 4px;
  background: #f1f5f9; color: #1e293b;
  border: 1px solid #cbd5e1;
}
.tm20-spec-chip.highlight {
  background: #fff7ed; color: #c2410c;
  border-color: #fed7aa; font-weight: 800;
}

/* Categories label — larger in sidebar */
.tm20-rail-head {
  font-family: var(--f-head) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  color: var(--n0) !important;
}

/* Hero stats block — remove */
.tm20-hero-stats { display: none !important; }

/* Section count badge — hide "19 series" etc. */
.tm20-sec-count { display: none !important; }

/* Card image height — make it taller for better product view */
.tm20-card-img { height: 180px; }

/* Card spec chips — clear readable font */
.tm20-card-specs { gap: 5px; margin-top: 10px; }



/* --- Primionics v23 business portfolio upgrades --- */
.sc-num,.ic-num,.card-num,.card-number,.num-badge,.idx-badge{display:none!important}
.solution-hero{background:linear-gradient(135deg,#0d1f31 0%,#12324d 58%,#0d1f31 100%);color:#fff;padding:118px 0 64px;position:relative;overflow:hidden}
.solution-hero:after{content:"";position:absolute;inset:auto -120px -180px auto;width:520px;height:520px;border-radius:50%;background:rgba(228,112,37,.16);filter:blur(8px)}
.solution-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:46px;align-items:center;position:relative;z-index:1}
.solution-hero h1{font-family:var(--f-head);font-size:clamp(38px,5vw,68px);line-height:.98;margin:18px 0 20px;letter-spacing:-.05em;color:#fff}.solution-hero p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.78);max-width:760px}.solution-visual-frame{background:#fff;border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:14px;box-shadow:0 22px 70px rgba(0,0,0,.35);min-height:280px;display:flex;align-items:center;justify-content:center}.solution-visual-frame img{width:100%;border-radius:20px;display:block;object-fit:cover}.solution-visual-caption{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-top:12px;text-align:center}.solution-section{padding:72px 0;background:var(--paper)}.lead-text{max-width:820px;color:var(--t2);line-height:1.75}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.portfolio-card{background:#fff;border:1px solid var(--ln);border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 28px rgba(15,23,42,.06);transition:.18s ease}.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(15,23,42,.12);border-color:rgba(228,112,37,.38)}.portfolio-img{height:170px;background:#f8fafc;border-bottom:1px solid var(--ln);display:flex;align-items:center;justify-content:center;overflow:hidden}.portfolio-img img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-card-body{padding:22px}.portfolio-card h3{font-family:var(--f-head);font-size:20px;line-height:1.2;color:var(--t1);margin:0 0 10px}.portfolio-card p{font-size:13.5px;line-height:1.68;color:var(--t2);margin:0 0 16px}.portfolio-link{display:inline-block;margin-top:12px;color:var(--o2);font-size:13px;font-weight:700}.breadcrumbs-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--t3);margin-bottom:24px}.breadcrumbs-line a{color:var(--o2);text-decoration:none;font-weight:700}.group-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 28px}.group-gallery img{width:100%;height:145px;object-fit:cover;border-radius:18px;border:1px solid var(--ln);background:#fff}.info-band{margin-top:34px;background:#fff;border:1px solid var(--ln);border-left:5px solid var(--o2);border-radius:22px;padding:26px 28px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.info-band h3{margin:0 0 8px;font-family:var(--f-head);color:var(--t1)}.info-band p{color:var(--t2);line-height:1.72;margin:0 0 8px}.cta-mini{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:30px;background:#0d1f31;color:#fff;border-radius:22px;padding:22px 26px}.cta-mini span{color:rgba(255,255,255,.72);line-height:1.5}.cta-mini a{color:#fff;font-weight:700}.product-detail-lite{padding:58px 0;background:#fff}.spec-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}.spec-main h2{font-family:var(--f-head);font-size:28px;margin:26px 0 12px;color:var(--t1)}.spec-main p{color:var(--t2);line-height:1.76}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.feature-card{border:1px solid var(--ln);border-radius:18px;padding:18px;background:var(--paper)}.feature-card h3{margin:0 0 8px;color:var(--t1);font-size:16px}.feature-card p{font-size:13px;margin:0}.spec-side{background:var(--paper);border:1px solid var(--ln);border-radius:22px;padding:22px;position:sticky;top:94px}.spec-side h3{margin:0 0 14px;font-family:var(--f-head)}.spec-side p{font-size:13px;color:var(--t2);line-height:1.6}.spec-side .btn{width:100%;justify-content:center;margin-top:14px}@media(max-width:980px){.solution-hero-grid,.spec-layout{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:1fr}.cta-mini{display:block}.cta-mini a{display:block;margin-top:12px}}@media(max-width:620px){.portfolio-grid{grid-template-columns:1fr}.solution-hero{padding-top:94px}.solution-visual-frame{min-height:180px}.group-gallery{grid-template-columns:1fr}.portfolio-img{height:150px}}


/* ── Precision Environment page enhancements (v27 fix) ──────────────────── */

/* Category solution cards — more visual hierarchy */
.pe-card {
  border-radius: 16px;
  padding: 26px;
  border: 1.5px solid var(--ln);
  transition: transform .2s, box-shadow .2s, border-color .2s;
  position: relative;
}
.pe-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 2px;
  background: linear-gradient(90deg, var(--o2), #f97316);
  border-radius: 0 0 2px 2px;
  opacity: 0;
  transition: opacity .2s;
}
.pe-card:hover::before { opacity: 1; }
.pe-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 44px rgba(15,34,56,.10);
  border-color: rgba(229,85,26,.3);
}
.pe-card h3 {
  font-size: 16.5px;
  font-weight: 800;
  letter-spacing: -.012em;
  line-height: 1.22;
  color: var(--n0);
}
.pe-card p {
  font-size: 13.5px;
  line-height: 1.68;
  color: var(--t2);
}
.pe-link {
  display: inline-flex;
  align-items: center;
  font-family: var(--f-head);
  font-size: 12px;
  font-weight: 800;
  color: var(--o2);
  padding-top: 14px;
  margin-top: auto;
  letter-spacing: .01em;
}

/* Group blocks on category pages */
.group-title { font-size: 24px; font-weight: 800; letter-spacing: -.018em; }
.group-desc { font-size: 14px; line-height: 1.7; }
.group-gallery img {
  transition: transform .25s;
  cursor: pointer;
}
.group-gallery img:hover { transform: scale(1.04); }

/* Product cards in cat-products grid — comprehensive polish */
.pcard {
  border-radius: 14px;
  border: 1.5px solid var(--ln);
  transition: transform .2s, box-shadow .22s, border-color .18s;
}
.pcard:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 52px rgba(15,34,56,.12);
  border-color: rgba(229,85,26,.32);
  border-top-color: var(--o2);
}
.pcard-img {
  height: 176px;
  background: linear-gradient(145deg, #f4f7fb 0%, #eaf0f8 100%);
  border-bottom: 1px solid var(--ln);
}
.pcard-cat {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--t4);
  margin-bottom: 7px;
}
.pcard-name {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.24;
  color: var(--n0);
  margin-bottom: 8px;
  letter-spacing: -.01em;
}
.pcard-desc {
  font-size: 12.5px;
  line-height: 1.67;
  color: var(--t2);
  margin-bottom: 10px;
}
.pcard-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: auto;
}
.pcard-chip {
  font-size: 9.5px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 5px;
  background: var(--paper);
  border: 1px solid var(--ln2);
  color: var(--t3);
  letter-spacing: .01em;
}
.pcard-foot {
  padding: 13px 18px;
  border-top: 1px solid var(--ln);
  background: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Subnav pills on category pages */
.cat-subnav a {
  font-size: 12px;
  font-weight: 700;
  border-radius: 7px;
  padding: 7px 14px;
  transition: all .15s;
  border: 1.5px solid var(--ln);
}
.cat-subnav a:hover {
  border-color: var(--o2);
  color: var(--o2);
  background: rgba(229,85,26,.05);
}

/* Note box improvements */
.note-box {
  background: #fff7ed;
  border: 1.5px solid #fed7aa;
  border-left: 4px solid var(--o2);
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 13px;
  line-height: 1.68;
  color: #78350f;
  margin-top: 24px;
}

/* Group head button */
.group-head .pe-btn.secondary {
  font-size: 12px;
  padding: 8px 16px;
  border-radius: 8px;
  white-space: nowrap;
}

/* ── Product detail page improvements ───────────────────────────────────── */

/* Product key specs grid */
.dp-ks { 
  display: grid; 
  grid-template-columns: repeat(2, 1fr); 
  gap: 10px; 
  margin: 16px 0 18px;
}
.dp-ks-item {
  background: var(--paper);
  border: 1px solid var(--ln);
  border-radius: 9px;
  padding: 11px 14px;
}
.dp-ks-lbl {
  font-family: var(--f-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--t4);
  margin-bottom: 3px;
}
.dp-ks-val {
  font-family: var(--f-head);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--n0);
  line-height: 1.25;
}

/* Features grid */
.dp-feats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media(max-width: 900px) {
  .dp-feats { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 600px) {
  .dp-feats { grid-template-columns: 1fr; }
}
.dp-feat {
  background: var(--paper);
  border: 1.5px solid var(--ln);
  border-radius: 12px;
  padding: 18px;
  height: 100%;
}
.dp-feat h4 {
  font-family: var(--f-head);
  font-size: 14px;
  font-weight: 800;
  color: var(--n0);
  margin: 0 0 8px;
  line-height: 1.25;
}
.dp-feat p {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.68;
  margin: 0;
}

/* Applications grid */
.dp-apps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media(max-width: 900px) {
  .dp-apps { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 600px) {
  .dp-apps { grid-template-columns: 1fr; }
}
.dp-app {
  background: #fff;
  border: 1.5px solid var(--ln);
  border-radius: 12px;
  padding: 18px;
}
.dp-app-sector {
  display: inline-block;
  font-family: var(--f-mono);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--o2);
  background: rgba(229,85,26,.08);
  border: 1px solid rgba(229,85,26,.2);
  border-radius: 4px;
  padding: 2px 8px;
  margin-bottom: 8px;
}
.dp-app h3 {
  font-family: var(--f-head);
  font-size: 14px;
  font-weight: 700;
  color: var(--n0);
  margin: 0 0 7px;
}
.dp-app p {
  font-size: 12.5px;
  color: var(--t3);
  line-height: 1.65;
  margin: 0;
}

/* Spec table improvements */
.dp-spec-table {
  border-collapse: collapse;
  width: 100%;
}
.dp-spec-table thead th {
  background: var(--n0);
  color: #fff;
  font-family: var(--f-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 10px 14px;
  text-align: left;
}
.dp-spec-table tbody td {
  padding: 10px 14px;
  font-size: 13px;
  border-bottom: 1px solid var(--ln);
  color: var(--t2);
  vertical-align: top;
}
.dp-spec-table tbody td:first-child {
  font-weight: 600;
  color: var(--t1);
  width: 38%;
}
.dp-spec-table tr.grp td {
  background: rgba(229,85,26,.06);
  font-family: var(--f-mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--o2);
  padding: 8px 14px;
  border-bottom: 1px solid var(--ln);
}

/* CTA buttons */
.dp-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  background: var(--o2);
  color: #fff;
  border-radius: 8px;
  font-family: var(--f-head);
  font-size: 13.5px;
  font-weight: 800;
  text-decoration: none;
  transition: background .16s;
  letter-spacing: .01em;
}
.dp-btn-primary:hover { background: var(--o1); }
.dp-btn-sec {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  background: transparent;
  color: var(--t2);
  border: 1.5px solid var(--ln2);
  border-radius: 8px;
  font-family: var(--f-head);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: all .16s;
}
.dp-btn-sec:hover {
  border-color: var(--n2);
  color: var(--n0);
}

/* Remove ← from dp-btn-sec text via CSS (user said remove arrows on product cards) */
/* Note: ← arrows on the product detail back buttons are kept — only removing from pcard cards */

/* Stat panel improvements */
.dp-brand-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.dp-pill {
  display: inline-flex;
  align-items: center;
  font-family: var(--f-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 5px;
}
.dp-pill.topas {
  background: rgba(229,85,26,.1);
  border: 1px solid rgba(229,85,26,.25);
  color: var(--o2);
}
.dp-pill.kanomax {
  background: rgba(0,87,184,.1);
  border: 1px solid rgba(0,87,184,.25);
  color: #0057B8;
}
.dp-pill.apacer,.dp-pill.cervoz { background: rgba(0,128,96,.1); border: 1px solid rgba(0,128,96,.25); color: #008060; }
.dp-pill.dolphin { background: rgba(36,72,122,.12); border: 1px solid rgba(36,72,122,.3); color: var(--n2); }
.dp-pill.estone { background: rgba(0,87,184,.1); border: 1px solid rgba(0,87,184,.25); color: #0057B8; }
.dp-pill.parasoft { background: rgba(229,85,26,.1); border: 1px solid rgba(229,85,26,.25); color: var(--o2); }
.dp-pill.visure { background: rgba(124,58,237,.1); border: 1px solid rgba(124,58,237,.25); color: #7C3AED; }
.dp-pill.verum { background: rgba(13,148,136,.1); border: 1px solid rgba(13,148,136,.25); color: #0D9488; }
.dp-pill.wolfssl { background: rgba(220,38,38,.1); border: 1px solid rgba(220,38,38,.25); color: #DC2626; }

/* ── Carousel (ported from tm-product.css for universal use on new partner pages) ── */
.dp-carousel{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:32px 52px;min-height:300px}
.dp-carousel-track{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.dp-carousel-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;pointer-events:none}
.dp-carousel-slide.active{opacity:1;pointer-events:auto}
.dp-carousel-slide img,.dp-carousel-slide svg{max-width:100%;max-height:300px;object-fit:contain;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.dp-carousel-slide.active img:hover{transform:scale(1.03)}
.dp-arr{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .15s;box-shadow:0 2px 6px rgba(0,0,0,.12);color:#374151;font-size:14px;user-select:none}
.dp-arr:hover{background:#e5551a;color:#fff;border-color:#e5551a;box-shadow:0 2px 8px rgba(229,85,26,.25)}
.dp-arr-prev{left:12px}.dp-arr-next{right:12px}
.dp-dots{display:flex;justify-content:center;gap:4px;padding:8px 0 10px}
.dp-dot{width:32px;height:4px;border-radius:2px;background:rgba(229,85,26,.2);cursor:pointer;transition:all .2s}
.dp-dot.active{background:#e5551a;width:32px;opacity:1}
.dp-thumbstrip{display:flex;gap:6px;padding:10px 16px 14px;border-top:1px solid #e8edf4;overflow-x:auto;scrollbar-width:thin;background:rgba(255,255,255,.6)}

.dp-series-label {
  font-family: var(--f-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--t4);
  text-transform: uppercase;
}

/* ── Similar Products grid (used on newly built Embedded Systems / Software Validation dedicated pages) ── */
.sim-products-section{padding:52px 0;background:#F4F7FB;border-top:1.5px solid #E2E8F0}
.sim-products-section .dp-sec-title{max-width:1380px;margin:0 auto;padding:0 48px 24px}
.sim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;max-width:1380px;margin:0 auto;padding:0 48px}
.sim-card{display:flex;flex-direction:column;background:#fff;border:1.5px solid #E2E8F0;border-top:3px solid transparent;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s;min-width:0}
.sim-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(15,34,56,.12);border-top-color:#E5551A;border-color:rgba(229,85,26,.25)}
.sim-body{padding:18px 18px 16px;flex:1;display:flex;flex-direction:column;gap:5px}
.sim-cat{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8BAAC6}
.sim-name{font-size:14px;font-weight:800;color:#0F2238;line-height:1.3;font-family:var(--f-head)}
.sim-foot{padding:11px 18px;border-top:1px solid #E2E8F0;background:#F7F9FC;text-align:right}
.sim-explore{font-family:var(--f-head);font-size:12px;font-weight:700;color:#E5551A}
@media(max-width:900px){.sim-grid{padding:0 24px}.sim-products-section .dp-sec-title{padding-left:24px;padding-right:24px}}
@media(max-width:560px){.sim-grid{grid-template-columns:1fr 1fr;padding:0 16px}.sim-products-section .dp-sec-title{padding-left:16px;padding-right:16px}}

/* ── Fix: .cat-products grid layout was undefined, causing product cards to stack vertically full-width across 53 Precision Environment pages ── */
.cat-products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:1100px){.cat-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cat-products{grid-template-columns:1fr}}


/* ── Global Request Quote popup modal (available site-wide via main.css) ── */
.qm-overlay{display:none;position:fixed;inset:0;background:rgba(9,17,28,.78);z-index:9000;align-items:center;justify-content:center;padding:16px}
.qm-overlay.open{display:flex}
.qm-dialog{background:#fff;border-radius:18px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 32px 80px rgba(9,17,28,.4)}
.qm-head{background:#0F2238;border-radius:18px 18px 0 0;padding:28px 32px 22px;position:relative}
.qm-head-eyebrow{font-family:var(--f-mono);font-size:8.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#fdba74;display:block;margin-bottom:6px}
.qm-head-title{font-family:var(--f-head);font-size:18px;font-weight:900;color:#fff;margin:0}
.qm-head-close{position:absolute;top:20px;right:20px;width:30px;height:30px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:transparent;color:rgba(255,255,255,.6);cursor:pointer}
.qm-body{padding:28px 32px 32px}
.qm-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#F7F9FC;border-radius:10px;padding:14px 16px;margin-bottom:22px}
.qm-info-item{font-size:12px;color:var(--t2)}.qm-info-item strong{display:block;font-family:var(--f-mono);font-size:8.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:3px}
.qm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.qm-field{display:flex;flex-direction:column;gap:5px}
.qm-field label{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.qm-field input,.qm-field textarea{border:1.5px solid #E2E8F2;border-radius:8px;padding:10px 13px;font-size:13.5px;width:100%;box-sizing:border-box;font-family:var(--f-body)}
.qm-submit{width:100%;background:var(--o2);color:#fff;border:none;border-radius:8px;padding:13px;font-size:14px;font-weight:800;cursor:pointer;font-family:var(--f-head)}
.qm-submit:hover{background:var(--o1)}
.qm-msg{font-size:12.5px;color:var(--t3);margin-top:8px;text-align:center}
@media(max-width:540px){.qm-row{grid-template-columns:1fr}}

/* ── Text justification for body paragraphs where readability benefits ── */
.dp-tagline,.dp-feat p,.dp-sec-body p,.dp-ks-lbl,.pp-desc,
.tm20-card-tagline,.section-copy p,.industry-copy p,
.scope-card p,.area-body p,.hero-copy p,.dp-section p{text-align:left;hyphens:none}

/* Homepage 4-column grid responsive */
@media(max-width:1200px){
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important}
}
@media(max-width:768px){
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important}
}

/* === ITEM 4 & 24: Orange border on all clickable cards === */
a.pcard,a.tm20-card,a.scope-card,a.adjacent-card,a.area-card,a.partner-card,a.product-link-card,
.pcard[onclick],.tm20-card[onclick],a.pcard{
  border:1px solid rgba(26,53,87,.14);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
a.pcard:hover,a.tm20-card:hover,a.scope-card:hover,a.adjacent-card:hover,
a.area-card:hover,a.partner-card:hover,a.product-link-card:hover{
  border-color:var(--o2) !important;
  box-shadow:0 0 0 2px rgba(229,85,26,.12),0 16px 40px rgba(15,34,56,.12);
  transform:translateY(-2px);
}

/* === ITEM 17: Explore button to bottom-right of cards === */
.pcard{display:flex;flex-direction:column;}
.pcard-body{flex:1;}
.pcard-foot{margin-top:auto;display:flex;justify-content:flex-end;padding:12px 16px;}
.pcard-explore{padding:7px 18px;font-size:12.5px;}
.tm20-card{display:flex;flex-direction:column;}
.tm20-card-body{flex:1;}
.tm20-card-foot{margin-top:auto;display:flex;justify-content:flex-end;padding:10px 16px;border-top:1px solid var(--ln);}
.tm20-card-cta{font-size:12px;font-weight:700;color:var(--o1);}

/* Orange border on partner-card */
.partner-card{border:1.5px solid rgba(229,85,26,.15);transition:border-color .18s,transform .18s;}
.partner-card:hover{border-color:var(--o2);transform:translateY(-2px);}

/* v9 production hardening: accessibility, forms, consent and responsive behaviour */
html{scroll-padding-top:88px}
body.modal-open{overflow:hidden}
main{display:block;min-height:40vh}
.skip-link{position:fixed;left:16px;top:-80px;z-index:10000;background:#fff;color:#0F2238;border:2px solid #E5551A;border-radius:6px;padding:10px 14px;font-weight:800;box-shadow:0 8px 24px rgba(15,34,56,.2);transition:top .15s}
.skip-link:focus{top:12px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(229,85,26,.55);outline-offset:3px}
button{font:inherit}
button.btn,button.dp-btn-primary,button.dp-btn,button.ss-btn,button.text-link{border-width:0;cursor:pointer}
button.btn-outline,button.btn-outline-w,button.btn-sec{border-style:solid}
[aria-current="page"]{text-decoration-thickness:2px;text-underline-offset:4px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:1.4em;margin:12px 0 0;font-size:13px;color:var(--t3,#5A7494)}
.form-status[data-state="success"]{color:#18794e}
.form-status[data-state="error"]{color:#b42318}
.form-status[data-state="loading"]{color:var(--t2,#334e68)}
.qm-intro{margin:0 0 18px;color:var(--t2,#334e68);font-size:13.5px;line-height:1.65}
.qm-overlay[aria-hidden="true"]{display:none}
.qm-overlay.open{display:flex}
.footer-update-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:auto}
.consent-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:9500;display:none;max-width:760px;margin:auto;background:#fff;border:1px solid rgba(15,34,56,.15);border-radius:14px;box-shadow:0 20px 60px rgba(15,34,56,.25);padding:18px 20px}
.consent-banner.open{display:block}
.consent-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}
.consent-copy{font-size:13px;line-height:1.6;color:var(--t2,#334e68)}
.consent-copy strong{display:block;color:var(--n0,#0F2238);font-size:14px;margin-bottom:2px}
.consent-copy a{color:var(--o2,#E5551A);font-weight:700}
.consent-actions{display:flex;gap:8px;flex:0 0 auto}
.consent-btn{border:1px solid rgba(15,34,56,.18);border-radius:7px;padding:9px 13px;background:#fff;color:#0F2238;font-weight:800;font-size:12px;cursor:pointer}
.consent-btn.primary{background:#E5551A;border-color:#E5551A;color:#fff}
.privacy-settings-btn{background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}
/* Long justified paragraphs reduce readability, especially on narrow screens. */
.dp-tagline,.dp-feat p,.dp-sec-body p,.dp-ks-lbl,.pp-desc,.tm20-card-tagline,.section-copy p,.industry-copy p,.scope-card p,.area-body p,.hero-copy p,.dp-section p{text-align:left!important;hyphens:none!important}
@media(max-width:760px){
  .consent-banner{left:12px;right:12px;bottom:12px;padding:16px}
  .consent-inner{display:block}.consent-actions{margin-top:14px;flex-wrap:wrap}
  .consent-btn{flex:1}
  .qm-dialog{max-height:94vh}.qm-body{padding:20px 18px 24px}.qm-head{padding:22px 18px 18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .sr{opacity:1!important;transform:none!important}
}
@media print{
  .nav,.footer,.float-bar,.consent-banner,.qm-overlay,.skip-link{display:none!important}
  body{color:#000;background:#fff}main{min-height:0}a{text-decoration:underline}
}

/* ===== Products menu placement refinement — June 2026 ===== */
.nav-mega--products .mega-foot{
  justify-content:flex-end;
}
.nav-mega--products .mega-foot-l{
  margin-left:auto;
  text-align:right;
}
/* =======================================================================
   PRIMIONICS WEBSITE — MASTER CONSISTENCY LAYER
   Applied globally over all other CSS to standardise:
   - Card design, font, sizes, hover animation
   - FAQ accordion
   - "View details" / "Explore" arrows and colour
   - Footer address layout
   - Contact page highlight
   ======================================================================= */

/* -----------------------------------------------------------------------
   1. GLOBAL FONT RESET — every card uses the design-system token
   ----------------------------------------------------------------------- */
/* Card headings */
.pcard-name, .tm20-card-name, .dph-card h3, .prod-card-name,
.uc-title, .hww-title, .partner-card-name, .industry-card-title,
.result-card-title, .sol-card-title, .service-card h3, .svc-service-card h3,
.kx-product-card h3, .dp-feat h3, .software-step h3,
.abt-person-card h3, .contact-side-card h3 {
  font-family: var(--f-head) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}

/* Card body text */
.pcard-desc, .tm20-card-desc, .dph-card p, .prod-card-desc,
.uc-body, .hww-desc, .partner-card-desc, .industry-card-desc,
.result-card-desc, .sol-card-desc, .service-card p, .svc-service-card p,
.kx-product-card p, .dp-feat p, .software-step p,
.contact-side-card p, .focus-copy p {
  font-family: var(--f-body) !important;
}

/* Card category / kicker labels */
.pcard-cat, .tm20-card-brand, .dph-card__tag, .prod-card-cat,
.uc-tag, .partner-card-sub, .industry-card-cat, .dp-kicker,
.abt-person-focus, .svc-card-type, .dph-card__kicker {
  font-family: var(--f-mono) !important;
  font-size: 9px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* -----------------------------------------------------------------------
   2. CARD SIZE CONSISTENCY — headings 15-17px, body 13.5px
   ----------------------------------------------------------------------- */
.prod-card-name, .dph-card h3, .partner-card-name { font-size: 16px !important; }
.uc-title, .hww-title, .industry-card-title, .sol-card-title { font-size: 15px !important; }
.svc-service-card h3, .kx-product-card h3, .dp-feat h3, .abt-person-card h3 { font-size: 16px !important; }

.prod-card-desc, .dph-card p, .partner-card-desc,
.uc-body, .hww-desc, .industry-card-desc, .sol-card-desc,
.svc-service-card p, .kx-product-card p, .dp-feat p,
.contact-side-card p { font-size: 13.5px !important; line-height: 1.70 !important; }

/* -----------------------------------------------------------------------
   3. CARD TEXT ALIGNMENT — justify inside all cards
   ----------------------------------------------------------------------- */
.pcard-body p, .dph-card p, .prod-card-desc,
.uc-body, .hww-desc, .partner-card-desc, .industry-card-desc,
.sol-card-desc, .svc-service-card p, .kx-product-card p,
.dp-feat p, .service-card p, .contact-side-card p,
.software-step p, .abt-person-card p {
  text-align: justify !important;
  hyphens: auto !important;
}

/* -----------------------------------------------------------------------
   4. UNIVERSAL CARD HOVER — translateY + shadow + orange border-top
   ----------------------------------------------------------------------- */
/* Base transition on all card types */
.card, .pcard, .tm20-card, .dph-card, .prod-card, .uc-card, .hww-card,
.industry-card, .result-card, .sol-card, .service-card, .svc-service-card,
.kx-product-card, .partner-card, .focus-card, .contact-side-card,
.pp-card, .careers-card, .abt-person-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

/* Hover state — lift + shadow + orange accent */
.card:hover, .pcard:hover, .tm20-card:hover, .dph-card:hover,
.prod-card:hover, .uc-card:hover, .hww-card:hover,
.industry-card:hover, .result-card:hover, .sol-card:hover,
.service-card:hover, .svc-service-card:hover,
.kx-product-card:hover, .partner-card:hover, .focus-card:hover,
.contact-side-card:hover, .pp-card:hover, .careers-card:hover,
.abt-person-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 44px rgba(15, 34, 56, 0.12) !important;
  border-color: rgba(229, 85, 26, 0.35) !important;
}

/* dph-card hover with orange top border */
.dph-card:hover {
  border-top-color: var(--o2) !important;
}

/* Image scale on card hover */
.pcard:hover .pcard-img img,
.kx-product-card:hover img,
.prod-card:hover .prod-card-img img {
  transform: scale(1.05) !important;
}

/* -----------------------------------------------------------------------
   5. "VIEW DETAILS" / "EXPLORE" ARROWS — light orange with arrow
   ----------------------------------------------------------------------- */
.dph-card__link, .pcard-explore, .tm20-card-cta, .sim-explore,
.prod-card-link, .pf-link, .ss-card-link, .btn-explore,
.aw-area-card__link, .ax-text-link {
  color: var(--o2, #E5551A) !important;
  font-weight: 600 !important;
  opacity: 0.85 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  text-decoration: none !important;
  transition: opacity 0.15s, gap 0.15s !important;
}
.dph-card__link::after, .pcard-explore::after, .tm20-card-cta::after,
.sim-explore::after, .prod-card-link::after, .pf-link::after,
.ss-card-link::after, .btn-explore::after {
  content: '→' !important;
  font-size: 1.05em !important;
  transition: transform 0.15s !important;
}
.dph-card:hover .dph-card__link,
.pcard:hover .pcard-explore,
.tm20-card:hover .tm20-card-cta,
.kx-product-card:hover .sim-explore,
.prod-card:hover .prod-card-link {
  opacity: 1 !important;
  gap: 8px !important;
}
.dph-card:hover .dph-card__link::after,
.pcard:hover .pcard-explore::after,
.tm20-card:hover .tm20-card-cta::after,
.kx-product-card:hover .sim-explore::after,
.prod-card:hover .prod-card-link::after {
  transform: translateX(3px) !important;
}

/* -----------------------------------------------------------------------
   6. FAQ ACCORDION — consistent plus/minus design across site
   ----------------------------------------------------------------------- */
details.faq-item { border-bottom: 1px solid var(--ln, rgba(26,53,87,.10)); }

details.faq-item > summary {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 0 !important;
  cursor: pointer !important;
  font-family: var(--f-head) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--t1, #0F2238) !important;
  gap: 16px !important;
  user-select: none !important;
}
details.faq-item > summary::-webkit-details-marker { display: none !important; }

/* Plus button */
details.faq-item > summary::after {
  content: '+' !important;
  flex-shrink: 0 !important;
  width: 30px !important;
  height: 30px !important;
  border: 1.5px solid var(--ln2, rgba(26,53,87,.18)) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--o2, #E5551A) !important;
  line-height: 1 !important;
  padding-bottom: 1px !important;
  transition: background 0.18s, color 0.18s, border-color 0.18s !important;
}
/* Minus when open */
details[open].faq-item > summary::after {
  content: '−' !important;
  background: var(--o2, #E5551A) !important;
  color: #fff !important;
  border-color: var(--o2, #E5551A) !important;
}

/* Answer text */
details.faq-item .faq-answer,
details.faq-item > p,
details.faq-item > div {
  padding: 4px 0 18px !important;
  font-size: 14.5px !important;
  color: var(--t3, #5A7494) !important;
  line-height: 1.74 !important;
  max-width: 80ch !important;
  font-family: var(--f-body) !important;
}

/* Mark up any non-details FAQ containers to use details style */
.abt-faq details { border-bottom: 1px solid var(--ln); }
.abt-faq details summary {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; cursor: pointer; font-family: var(--f-head);
  font-size: 16px; font-weight: 600; color: var(--t1); user-select: none;
}
.abt-faq details summary::-webkit-details-marker { display: none; }
.abt-faq details summary::after {
  content: '+'; flex-shrink: 0; width: 30px; height: 30px;
  border: 1.5px solid var(--ln2); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--o2); transition: all .18s;
}
.abt-faq details[open] summary::after {
  content: '−'; background: var(--o2); color: #fff; border-color: var(--o2);
}

/* -----------------------------------------------------------------------
   7. CONTACT PAGE — highlight email and phone
   ----------------------------------------------------------------------- */
.contact-direct a[href^="mailto"],
.contact-direct a[href^="tel"] {
  font-family: var(--f-head) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--o2, #E5551A) !important;
  display: block !important;
  padding: 8px 0 !important;
  border-bottom: 2px solid rgba(229,85,26,.15) !important;
  margin-bottom: 8px !important;
  transition: color 0.15s, border-color 0.15s !important;
}
.contact-direct a[href^="mailto"]:hover,
.contact-direct a[href^="tel"]:hover {
  color: var(--o1, #C8420F) !important;
  border-color: var(--o1) !important;
}
.contact-direct a[href^="mailto"]::before { content: '✉ '; }
.contact-direct a[href^="tel"]::before { content: '📞 '; }


/* -----------------------------------------------------------------------
   FOOTER — 3-column address strip (under Industries/Solutions/Products)
   ----------------------------------------------------------------------- */
.footer-addresses {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 28px 0 20px;
  border-top: 1px solid var(--lni);
  border-bottom: 1px solid var(--lni);
  margin-bottom: 0;
}
.footer-addr-city {
  font-family: var(--f-head);
  font-size: 13px;
  font-weight: 700;
  color: var(--di2);
  margin-bottom: 6px;
  letter-spacing: -.01em;
}
.footer-addr-text {
  font-family: var(--f-body);
  font-size: 12px;
  color: var(--di3);
  line-height: 1.65;
}
.footer-addr-col--contact {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
}
.footer-addr-link {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .06em;
  color: var(--o3);
  text-decoration: none;
  transition: color .14s;
}
.footer-addr-link:hover { color: var(--white); }
@media (max-width: 900px) {
  .footer-addresses { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .footer-addresses { grid-template-columns: 1fr; }
}

/* Contact page — highlight email and phone prominently */
.contact-highlight-link {
  display: block !important;
  font-family: var(--f-head) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--o2, #E5551A) !important;
  padding: 10px 0 10px 14px !important;
  border-left: 4px solid var(--o2) !important;
  background: rgba(229,85,26,.05) !important;
  border-radius: 0 8px 8px 0 !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
}
.contact-highlight-link:hover {
  background: rgba(229,85,26,.10) !important;
  color: var(--o1, #C8420F) !important;
}

/* CTA arrow styling */
.cta-arrow {
  font-size: 0.9em;
  transition: transform 0.15s ease;
  display: inline-block;
}
a:hover .cta-arrow,
.dph-card:hover .cta-arrow,
.pcard:hover .cta-arrow,
.tm20-card:hover .cta-arrow,
.kx-product-card:hover .cta-arrow {
  transform: translateX(4px);
}

/* =======================================================================
   COMPREHENSIVE SOLUTIONS + ALL-PAGES FIX
   Covers ss- (solutions), svc- (services), aw- (automation), 
   abt- (about), ax- (AcademiX), di- (digital), and all other card types
   ======================================================================= */

/* -----------------------------------------------------------------------
   A. FONT CONSISTENCY — all card headings / body text across every section
   ----------------------------------------------------------------------- */

/* Headings in every card type */
.ss-solution-body h3, .ss-domain-name, .ss-cap-card h3, .ss-arch-copy h2,
.ss-related h3, .ss-cta h2, .ss-cross h3, .ss-app h3, .ss-h2, .ss-h3,
.svc-service-card h3, .svc-step h3, .aw-area-card__name, .aw-tech-card h3,
.abt-step h3, .abt-domain h3, .ax-scope h3, .ax-step h3,
.di-architecture h3, .resource-card h3, .platform-card h3,
.next-steps h3, .pcc-item h3, .ss-framework-step strong,
.kx-product-card h3, .partner-card-name,
.industry-card-title, .result-card-title {
  font-family: var(--f-head, 'Plus Jakarta Sans', sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}

/* Body text in every card type */
.ss-solution-body p, .ss-domain-desc, .ss-cap-card p, .ss-arch-copy p,
.ss-related p, .ss-cta p, .ss-cross p, .ss-app p, .ss-copy, .ss-lead,
.ss-consider span, .ss-arch-stage span, .ss-tech-row p,
.svc-service-card p, .svc-step p, .aw-area-card__desc, .aw-tech-card p,
.abt-step p, .abt-domain p, .ax-scope p, .ax-step p,
.di-architecture p, .resource-card p, .platform-card p,
.next-steps p, .pcc-item p, .ss-note,
.software-step p, .dp-feat p, .hww-desc, .uc-body,
.partner-card-desc, .industry-card-desc, .result-card-desc,
.svc-service-card p, .contact-side-card p {
  font-family: var(--f-body, 'Inter', sans-serif) !important;
  font-size: 13.5px !important;
  line-height: 1.72 !important;
}

/* Labels/kickers in solutions */
.ss-solution-label, .ss-kicker, .ss-related small {
  font-family: var(--f-mono, 'JetBrains Mono', monospace) !important;
  font-size: 9px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* -----------------------------------------------------------------------
   B. TEXT ALIGNMENT — justify across ALL cards and content sections
   ----------------------------------------------------------------------- */
/* Global justify for any paragraph inside a card or content section */
.ss-solution-body p, .ss-domain-desc, .ss-cap-card p, .ss-arch-copy p,
.ss-related p, .ss-cta p, .ss-cross p, .ss-app p, .ss-copy, .ss-note,
.ss-tech-row p, .ss-consider span, .ss-arch-stage span,
.svc-service-card p, .aw-area-card__desc, .abt-step p, .ax-scope p,
.dp-feat p, .hww-desc, .uc-body, .partner-card-desc,
.industry-card-desc, .result-card-desc, .contact-side-card p,
.software-step p, .dph-card p, .prod-card-desc, .pcard p,
.kx-product-card p, .tm20-card p, .service-card p, .abt-person-card p,
.focus-copy p, .sol-card-desc, .pp-card p,
/* Also target bare p inside divs that are card-like */
.hww-item, .ss-framework-step span, .dp-feat li,
.svc-service-card li, .ss-mini-list li {
  text-align: justify !important;
  hyphens: auto !important;
}

/* -----------------------------------------------------------------------
   C. HOVER ANIMATION — translateY + shadow + orange border-top
   All solutions card types + any remaining card types
   ----------------------------------------------------------------------- */
.ss-solution-card, .ss-cap-card, .ss-cross, .ss-related, .ss-app,
.ss-framework-step, .aw-area-card, .aw-tech-card,
.svc-service-card, .resource-card, .platform-card,
.abt-step, .abt-domain, .ax-scope, .pcc-item, .pp-card,
.di-architecture, .next-steps, .kx-product-card,
.sol-card, .careers-card, .result-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}
.ss-solution-card:hover, .ss-cap-card:hover, .ss-cross:hover,
.ss-related:hover, .ss-app:hover, .aw-area-card:hover,
.aw-tech-card:hover, .svc-service-card:hover, .resource-card:hover,
.platform-card:hover, .abt-step:hover, .abt-domain:hover,
.ax-scope:hover, .pcc-item:hover, .pp-card:hover,
.di-architecture:hover, .kx-product-card:hover,
.sol-card:hover, .careers-card:hover, .result-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 44px rgba(15, 34, 56, 0.12) !important;
  border-color: rgba(229, 85, 26, 0.3) !important;
}

/* -----------------------------------------------------------------------
   D. CTA ARROWS in solutions + services + automation + all other pages
   ----------------------------------------------------------------------- */
.ss-card-link, .aw-area-card__link, .svc-card-link,
.resource-card-link, .ax-text-link, .di-link, .pf-link {
  color: var(--o2, #E5551A) !important;
  opacity: 0.85 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  text-decoration: none !important;
  transition: opacity 0.15s, gap 0.15s !important;
}
.ss-card-link::after, .aw-area-card__link::after, .svc-card-link::after,
.resource-card-link::after, .ax-text-link::after {
  content: '→' !important;
  font-size: 1.05em !important;
  transition: transform 0.15s !important;
}
.ss-solution-card:hover .ss-card-link, .aw-area-card:hover .aw-area-card__link {
  opacity: 1 !important;
  gap: 8px !important;
}
.ss-solution-card:hover .ss-card-link::after { transform: translateX(3px) !important; }

/* -----------------------------------------------------------------------
   E. NUMBERS IN CARDS — hide isolated step numbers (not inline with text)
   (keep on index.html via .home-page class)
   ----------------------------------------------------------------------- */
/* The software-step__number and svc-card-number are decorative in non-home pages */
.software-step .software-step__number { display: none !important; }

/* But keep them on any page that has .home-page or .index-page body class */
.home-page .software-step .software-step__number,
.index-page .svc-card-number { display: inline-flex !important; }

/* svc-card-number: keep when it has INLINE text beside it */
.svc-card-top .svc-card-number ~ .svc-card-type:empty + .svc-card-number { display: none !important; }

/* -----------------------------------------------------------------------
   F. FAQ ACCORDION — solutions and services pages  
   ----------------------------------------------------------------------- */
.ss-section details, .svc-section details,
details.ss-faq, details.svc-faq {
  border-bottom: 1px solid rgba(26,53,87,.10);
}
.ss-section details > summary, .svc-section details > summary {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 0 !important;
  cursor: pointer !important;
  font-family: var(--f-head) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--t1, #0F2238) !important;
  gap: 14px !important;
}
.ss-section details > summary::-webkit-details-marker { display: none; }
.ss-section details > summary::after,
.svc-section details > summary::after {
  content: '+' !important;
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border: 1.5px solid rgba(26,53,87,.18) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  color: var(--o2, #E5551A) !important;
  transition: all .18s !important;
}
.ss-section details[open] > summary::after,
.svc-section details[open] > summary::after {
  content: '−' !important;
  background: var(--o2, #E5551A) !important;
  color: #fff !important;
  border-color: var(--o2) !important;
}

/* -----------------------------------------------------------------------
   G. SOLUTIONS ss-card-link arrow — already has text, just add arrow
   ----------------------------------------------------------------------- */
.ss-card-link:not(:has(svg)):not([class*="arrow"])::after {
  content: '' !important;  /* Already handled by D above */
}

/* -----------------------------------------------------------------------
   H. CONTACT DIRECT — ensure consistent highlight 
   ----------------------------------------------------------------------- */
.contact-direct > a[href^="mailto"],
.contact-direct > a[href^="tel"] {
  font-family: var(--f-head) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--o2, #E5551A) !important;
  display: block !important;
  padding: 10px 14px !important;
  border-left: 4px solid var(--o2) !important;
  background: rgba(229,85,26,.05) !important;
  border-radius: 0 8px 8px 0 !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
  transition: background .15s !important;
}
.contact-direct > a[href^="mailto"]:hover,
.contact-direct > a[href^="tel"]:hover {
  background: rgba(229,85,26,.10) !important;
}

/* ===================================================================
   SITE-WIDE TEXT JUSTIFY — all paragraph text inside cards/sections
   High specificity to ensure overrides work on all page types
   =================================================================== */
[class*="card"] p,
[class*="card"] .body,
[class*="step"] p,
[class*="feat"] p,
[class*="cap-card"] p,
[class*="domain"] p,
[class*="arch"] p,
[class*="related"] p,
[class*="cross"] p,
[class*="solution"] p,
[class*="consider"] span,
[class*="tech-row"] p,
.ss-copy, .ss-lead, .ss-note,
.ss-framework-step span {
  text-align: justify !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  word-break: break-word !important;
}
/* =====================================================================
   PRIMIONICS MASTER FIX — v5
   Covers all 19 requirements:
   1.  Font + size consistency (global)
   2.  FAQ as details/summary, not cards
   3.  Footer spacing + address columns
   4.  Card hover: remove orange center glow (tm20-card-img::after)
   5.  sim-slider arrows + dp-arr visibility
   6.  WhatsApp/LinkedIn coloured icons in footer
   7.  Subscribe form in footer
   8.  SV&S font alignment
   9.  Elegant high-end business design
   10. Homepage product card placeholders when images missing
   ===================================================================== */

/* ── 1. GLOBAL FONT CONSISTENCY ──────────────────────────────────────── */
h1,h2,h3,h4,h5,h6,
.section-head h2, .page-hero h1, .hero h1,
.dp-h1, .dp-sec-title, .kicker-title,
.sv-h1, .sv-h2, .sv-h3,
.footer-col-title, .footer-brand-name {
  font-family: var(--f-head) !important;
  letter-spacing: -0.018em;
}
body, p, li, td, th, label, input, textarea, select, button {
  font-family: var(--f-body) !important;
}
.eyebrow, .kicker, .dp-pill, .dp-kicker,
.badge, .chip, .tag, .label-mono,
.footer-col-title { font-family: var(--f-mono) !important; }

/* ── 2. FAQ: details/summary accordion, NOT cards ───────────────────── */
/* Remove any card-style FAQ */
.faq-card, .faq-grid { all: unset !important; display: block !important; }

/* Wrapper */
.abt-faq, .faq-section-inner, .faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 820px;
}

/* Each item = <details> */
details.faq-item,
.abt-faq details,
.faq-list details {
  border-bottom: 1px solid var(--ln, rgba(26,53,87,.10));
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

details.faq-item > summary,
.abt-faq details > summary,
.faq-list details > summary {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 0 !important;
  cursor: pointer !important;
  font-family: var(--f-head) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--t1, #0F2238) !important;
  gap: 16px !important;
  user-select: none !important;
  background: none !important;
}
details.faq-item > summary::-webkit-details-marker,
.abt-faq details > summary::-webkit-details-marker { display: none !important; }

/* Plus button */
details.faq-item > summary::after,
.abt-faq details > summary::after,
.faq-list details > summary::after {
  content: '+' !important;
  flex-shrink: 0 !important;
  width: 28px !important; height: 28px !important;
  border: 1.5px solid var(--ln2, rgba(26,53,87,.18)) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--o2, #E5551A) !important;
  transition: all .18s !important;
}
/* Minus when open */
details[open].faq-item > summary::after,
.abt-faq details[open] > summary::after,
.faq-list details[open] > summary::after {
  content: '−' !important;
  background: var(--o2, #E5551A) !important;
  color: #fff !important;
  border-color: var(--o2) !important;
}
/* Answer body */
details.faq-item > p, details.faq-item > div,
.abt-faq details > p, .abt-faq details > div,
.faq-list details > p, .faq-list details > div {
  padding: 4px 0 20px !important;
  font-size: 15px !important;
  color: var(--t3, #5A7494) !important;
  line-height: 1.76 !important;
  max-width: 74ch !important;
}

/* ── 3. FOOTER: compact links + 4-col addresses ─────────────────────── */
/* Reduce gap between footer link rows */
.footer-links { gap: 2px !important; }
.footer-links a {
  display: block !important;
  padding: 2px 0 !important;
  font-size: 12.5px !important;
  color: var(--di3) !important;
  text-decoration: none !important;
  transition: color .14s !important;
  line-height: 1.45 !important;
}
.footer-links a:hover { color: var(--di2) !important; }

/* Shrink footer section list spacing site-wide */
.footer-grid { gap: 24px 32px !important; }
.footer-col { gap: 4px !important; }
.footer-col-title {
  font-size: 10px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--di2) !important;
  margin-bottom: 10px !important;
  font-family: var(--f-mono) !important;
}

/* Address strip under the grid */
.footer-addresses {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px 28px !important;
  padding: 22px 0 16px !important;
  border-top: 1px solid var(--lni) !important;
  margin-top: 8px !important;
}
.footer-addr-city {
  font-family: var(--f-head) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--di2) !important;
  margin-bottom: 4px !important;
}
.footer-addr-text {
  font-size: 11.5px !important;
  color: var(--di3) !important;
  line-height: 1.6 !important;
}
.footer-addr-link {
  font-family: var(--f-mono) !important;
  font-size: 11px !important;
  color: var(--o3) !important;
  text-decoration: none !important;
  display: block !important;
  line-height: 1.8 !important;
  transition: color .14s !important;
}
.footer-addr-link:hover { color: var(--white) !important; }

/* ── 4. REMOVE ORANGE GLOW ON tm20-card hover ───────────────────────── */
.tm20-card-img::after,
.tm20-card-img::before {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}
.tm20-card:hover .tm20-card-img::after,
.tm20-card:hover .tm20-card-img::before {
  opacity: 0 !important;
}

/* Elegant hover: lift + border, no orange glow */
.tm20-card {
  transition: transform .22s var(--ease), box-shadow .22s var(--ease),
              border-color .22s !important;
  border: 1px solid var(--ln) !important;
  border-radius: var(--rad) !important;
  overflow: hidden !important;
}
.tm20-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 40px rgba(15,34,56,.11) !important;
  border-color: rgba(229,85,26,.30) !important;
}

/* ── 5. ARROWS: sim-slider prev/next buttons visible + styled ────────── */
/* The sim-slider needs prev/next buttons added via JS;
   here we style them so they're always visible */
.sim-prev, .sim-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(15,34,56,.10) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  color: var(--n0) !important;
  transition: background .16s, border-color .16s, box-shadow .16s !important;
}
.sim-prev { left: 4px !important; }
.sim-next { right: 4px !important; }
.sim-prev:hover, .sim-next:hover {
  background: var(--o2) !important;
  border-color: var(--o2) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(229,85,26,.28) !important;
}
.sim-outer { position: relative !important; }

/* dp-arr (main product carousel arrows) — always visible */
.dp-arr {
  opacity: 1 !important;
  visibility: visible !important;
  background: rgba(255,255,255,.95) !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(15,34,56,.12) !important;
  color: var(--n0) !important;
}
.dp-arr:hover {
  background: var(--o2) !important;
  border-color: var(--o2) !important;
  color: #fff !important;
}

/* ── 6. WHATSAPP + LINKEDIN: coloured icons ─────────────────────────── */
/* These are classed .fsb in shared.js */
.fsb[title="WhatsApp"] svg, .fsb-wa svg { fill: #25D366 !important; }
.fsb[title="LinkedIn"] svg, .fsb-li svg { fill: #0A66C2 !important; }

.fsb {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important; height: 34px !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.08) !important;
  transition: background .16s, transform .16s !important;
}
.fsb:hover { background: rgba(255,255,255,.15) !important; transform: translateY(-1px) !important; }
.fsb[title="WhatsApp"]:hover { background: rgba(37,211,102,.15) !important; }
.fsb[title="LinkedIn"]:hover  { background: rgba(10,102,194,.15) !important; }

/* ── 7. FOOTER SUBSCRIBE FORM ───────────────────────────────────────── */
.footer-subscribe {
  padding: 18px 0 0;
  margin-top: 8px;
}
.footer-subscribe-label {
  font-family: var(--f-mono);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--di3);
  margin-bottom: 8px;
  display: block;
}
.footer-subscribe-form {
  display: flex;
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--lni2);
  background: rgba(255,255,255,.05);
}
.footer-subscribe-input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 9px 14px;
  font-size: 13px;
  color: #fff;
  outline: none;
  font-family: var(--f-body);
  min-width: 0;
}
.footer-subscribe-input::placeholder { color: var(--di3); }
.footer-subscribe-btn {
  background: var(--o2);
  color: #fff;
  border: none;
  padding: 9px 16px;
  font-family: var(--f-head);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .02em;
  transition: background .15s;
  white-space: nowrap;
}
.footer-subscribe-btn:hover { background: var(--o1); }
.footer-subscribe-msg {
  font-size: 12px;
  margin-top: 6px;
  color: var(--di3);
  display: none;
}
.footer-subscribe-msg.ok  { color: #4ade80; display: block; }
.footer-subscribe-msg.err { color: #f87171; display: block; }

/* ── 8. SV&S font alignment with global system ──────────────────────── */
.sv-page h1, .sv-page h2, .sv-page h3, .sv-page h4 {
  font-family: var(--f-head) !important;
  letter-spacing: -0.018em !important;
}
.sv-page p, .sv-page li, .sv-page td { font-family: var(--f-body) !important; }
.sv-page .sv-eyebrow, .sv-page .sv-tag, .sv-page .sv-chip {
  font-family: var(--f-mono) !important;
}

/* ── 9. ELEGANT HIGH-END DESIGN TOUCHES ─────────────────────────────── */
/* Smooth link transitions */
a { transition: color .14s, opacity .14s; }

/* Focus rings */
:focus-visible {
  outline: 2px solid var(--o2);
  outline-offset: 3px;
  border-radius: var(--rad2);
}

/* Buttons */
.btn, [class*="btn-"] {
  font-family: var(--f-head) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  transition: background .18s, box-shadow .18s, transform .14s !important;
}
.btn:hover { transform: translateY(-1px) !important; }
.btn-orange, .btn.primary {
  background: var(--o2) !important;
  box-shadow: 0 2px 8px rgba(229,85,26,.25) !important;
}
.btn-orange:hover, .btn.primary:hover {
  background: var(--o1) !important;
  box-shadow: 0 6px 20px rgba(229,85,26,.35) !important;
}

/* ── 10. HOMEPAGE product card: graceful placeholder if no image ─────── */
.tm20-card-img:empty,
.tm20-card-img > *:only-child:not(img) {
  background: linear-gradient(135deg, var(--n1) 0%, var(--n2) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Card image area — consistent height */
.tm20-card-img {
  height: 196px !important;
  overflow: hidden !important;
  background: var(--paper) !important;
}
.tm20-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 16px !important;
  transition: transform .28s !important;
}
.tm20-card:hover .tm20-card-img img { transform: scale(1.04) !important; }

/* pcard image */
.pcard-img, .pcard-img img {
  background: var(--paper) !important;
  transition: transform .28s !important;
}

/* ── 11. SIM-SLIDER: arrows + consistent card size ───────────────────── */
.sim-slider {
  position: relative !important;
  overflow: hidden !important;
}
.sim-track {
  display: flex !important;
  gap: 18px !important;
  transition: transform .32s var(--ease) !important;
}
.sim-card {
  flex: 0 0 220px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform .22s, box-shadow .22s, border-color .22s !important;
}
.sim-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 40px rgba(15,34,56,.12) !important;
}

/* ── 12. CONTACT PAGE — highlight email/phone ──────────────────────── */
.contact-direct a[href^="mailto"],
.contact-direct a[href^="tel"],
.contact-highlight-link {
  font-family: var(--f-head) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--o2) !important;
  display: block !important;
  padding: 10px 16px !important;
  border-left: 4px solid var(--o2) !important;
  background: var(--o-bg) !important;
  border-radius: 0 8px 8px 0 !important;
  margin-bottom: 10px !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
}
.contact-direct a[href^="mailto"]:hover,
.contact-direct a[href^="tel"]:hover {
  background: rgba(229,85,26,.12) !important;
  color: var(--o1) !important;
}

/* ── 13. RESPONSIVE FOOTER ─────────────────────────────────────────── */
@media (max-width: 900px) {
  .footer-addresses { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .footer-addresses { grid-template-columns: 1fr !important; }
}

/* ── END ──────────────────────────────────────────────────────────────── */

/* ============================================================
   FOOTER GRID FIX — .footer-grid is what shared.js generates
   ============================================================ */
.footer-grid {
  padding: 56px 0 44px;
  display: grid;
  grid-template-columns: 220px 1fr 1fr 1fr 1fr;
  gap: 32px 44px;
  border-bottom: 1px solid var(--lni);
  align-items: start;
}

/* Subscribe form: VERTICAL layout (Image 2 reference) */
.footer-subscribe {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--lni);
}
.footer-subscribe-label {
  font-family: var(--f-mono) !important;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--di3) !important;
  margin-bottom: 8px !important;
  display: block !important;
}
.footer-subscribe-desc {
  font-size: 12.5px;
  color: #E5551A;
  line-height: 1.55;
  margin-bottom: 12px;
}
.footer-subscribe-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.footer-subscribe-input {
  width: 100% !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-family: var(--f-body) !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 8px !important;
  color: #fff !important;
  outline: none !important;
}
.footer-subscribe-input::placeholder { color: rgba(255,255,255,.38) !important; }
.footer-subscribe-input:focus { 
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(229,85,26,.5) !important;
}
.footer-subscribe-btn {
  width: 100% !important;
  padding: 11px 16px !important;
  background: var(--o2) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--f-head) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s !important;
  letter-spacing: -.01em !important;
}
.footer-subscribe-btn:hover { background: var(--o1) !important; }

/* Address strip: moved to same area as grid - better spacing */
.footer-addresses {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px 28px !important;
  padding: 20px 0 !important;
  border-top: 1px solid var(--lni) !important;
  border-bottom: 1px solid var(--lni) !important;
  margin-bottom: 0 !important;
}
.footer-addr-city {
  font-family: var(--f-head) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 4px !important;
}
.footer-addr-text {
  font-size: 12px !important;
  color: var(--di3) !important;
  line-height: 1.6 !important;
}
.footer-addr-col--contact .footer-addr-link {
  font-family: var(--f-mono) !important;
  font-size: 12px !important;
  color: var(--o3) !important;
  text-decoration: none !important;
  display: block !important;
  line-height: 1.9 !important;
  transition: color .14s !important;
}
.footer-addr-col--contact .footer-addr-link:hover { color: #fff !important; }

/* LinkedIn follow button */
.footer-linkedin-btn {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--o2) !important;
  color: #fff !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-family: var(--f-head) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background .15s !important;
  width: 100% !important;
  justify-content: center !important;
}
.footer-linkedin-btn:hover { background: var(--o1) !important; }

/* footer-col-head variants */
.footer-col-head {
  font-family: var(--f-mono) !important;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--di3) !important;
  margin-bottom: 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--lni) !important;
}
.footer-col-head--spaced { margin-top: 20px !important; }
.footer-col-head--spaced-sm { margin-top: 12px !important; }

/* Responsive footer */
@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 200px 1fr 1fr 1fr; gap: 24px 32px; }
}
@media (max-width: 860px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-addresses { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-addresses { grid-template-columns: 1fr; }
}

/* ============================================================
   FOOTER RAIL FIX: Override the hero .rail grid layout
   The footer.footer > .rail must be a block container,
   not the hero's 2-column grid
   ============================================================ */
.footer .rail,
.footer > .rail {
  display: block !important;
  width: var(--rail) !important;
  margin-inline: auto !important;
  grid-template-columns: none !important;
}

/* ============================================================
   GLOBAL FONT CONSISTENCY — enforced across ALL page types
   ============================================================ */

/* SV&S pages use .sv-page class - enforce global fonts */
.sv-page, .sv-page * {
  font-family: var(--f-body) !important;
}
.sv-page h1, .sv-page h2, .sv-page h3, .sv-page h4, .sv-page h5, .sv-page h6,
.sv-page .sv-h1, .sv-page .sv-h2, .sv-page .sv-h3, .sv-page .sv-section-title,
.sv-page .sv-eyebrow, .sv-page .sv-pill, .sv-page .sv-tab-btn,
.sv-page .sv-nav-link, .sv-page .sv-wing a {
  font-family: var(--f-head) !important;
}
.sv-page .sv-tag, .sv-page .sv-badge, .sv-page .sv-chip,
.sv-page code, .sv-page pre, .sv-page .sv-mono,
.sv-page .sv-eyebrow small, .sv-page .sv-lede-kicker {
  font-family: var(--f-mono) !important;
}

/* Automation pages */
.automation-page h1, .automation-page h2, .automation-page h3,
.aw-hero h1, .aw-section-title, .aw-card-title {
  font-family: var(--f-head) !important;
}
.automation-page p, .automation-page li, .automation-page span {
  font-family: var(--f-body) !important;
}
.aw-eyebrow, .aw-chip { font-family: var(--f-mono) !important; }

/* Embedded/PCIe pages */
.eps-page h1, .eps-page h2, .eps-page h3, .embedded-master h1,
.embedded-master h2, .embedded-master h3, .dph-card h3,
.dp-h1, .dp-sec-title {
  font-family: var(--f-head) !important;
}
.eps-page p, .eps-page li, .dph-card p { font-family: var(--f-body) !important; }
.eps-page .eyebrow, .dph-card__tag, .dp-pill { font-family: var(--f-mono) !important; }

/* Solutions pages */
.ss-solution-body h3, .ss-domain-name, .ss-cap-card h3, .ss-h2, .ss-h3 {
  font-family: var(--f-head) !important;
}
.ss-solution-body p, .ss-domain-desc, .ss-cap-card p {
  font-family: var(--f-body) !important;
}
.ss-kicker, .ss-solution-label { font-family: var(--f-mono) !important; }

/* T&M product pages */
.tm20-card-name, .dp-product-title, .kx-product-card h3 {
  font-family: var(--f-head) !important;
}
.tm20-card-tagline, .kx-product-card p { font-family: var(--f-body) !important; }
.tm20-card-brand, .kx-tag { font-family: var(--f-mono) !important; }

/* Partner pages */
.pp-section h2, .pp-section h3 { font-family: var(--f-head) !important; }
.pp-section p, .pp-section li { font-family: var(--f-body) !important; }

/* Card title consistency: 16px heading, 13.5px body */
.tm20-card-name { font-size: 15px !important; font-weight: 700 !important; letter-spacing: -0.012em !important; }
.dph-card h3 { font-size: 15px !important; font-weight: 700 !important; letter-spacing: -0.012em !important; }
.kx-product-card h3 { font-size: 15px !important; font-weight: 700 !important; }
.ss-domain-name { font-size: 15px !important; font-weight: 700 !important; }
.tm20-card-tagline, .dph-card p, .kx-product-card p, .ss-domain-desc {
  font-size: 13.5px !important;
  line-height: 1.70 !important;
}

/* ============================================================
   CARD DESIGN CONSISTENCY — same hover animation across site
   ============================================================ */

/* 1. Remove the orange center glow from all card types */
.tm20-card-img::after, .tm20-card-img::before,
.kx-product-card-img::after, .kx-product-card-img::before,
.pcard-img::after, .pcard-img::before {
  display: none !important;
  opacity: 0 !important;
}

/* 2. Base card style shared across all types */
.tm20-card, .dph-card, .pcard, .kx-product-card, .ss-domain-card,
.result-card, .industry-card, .sol-card, .uc-card, .hww-card,
.partner-card, .pp-card, .careers-card, .svc-service-card,
.ss-cap-card, .sim-card {
  border-radius: 12px !important;
  border: 1px solid var(--ln, rgba(26,53,87,.10)) !important;
  overflow: hidden !important;
  transition: transform .22s cubic-bezier(.25,.1,.25,1), 
              box-shadow .22s cubic-bezier(.25,.1,.25,1),
              border-color .22s !important;
  background: #fff !important;
}

/* 3. Hover: lift + shadow + orange border accent */
.tm20-card:hover, .dph-card:hover, .pcard:hover, .kx-product-card:hover,
.ss-domain-card:hover, .result-card:hover, .industry-card:hover,
.sol-card:hover, .uc-card:hover, .hww-card:hover, .partner-card:hover,
.pp-card:hover, .careers-card:hover, .svc-service-card:hover,
.ss-cap-card:hover, .sim-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 44px rgba(15,34,56,.12), 0 2px 8px rgba(15,34,56,.06) !important;
  border-color: rgba(229,85,26,.28) !important;
}

/* 4. Card image area: consistent height, no orange glow */
.tm20-card-img {
  height: 196px !important;
  background: var(--paper, #EEF2F8) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.tm20-card-img img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  padding: 16px !important;
  transition: transform .28s !important;
}
.tm20-card:hover .tm20-card-img img { transform: scale(1.04) !important; }

/* 5. Dark-background cards (SV&S, PCIe hero areas) */
.sv-domain-card, .eps-portfolio-card {
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  transition: transform .22s, box-shadow .22s, border-color .22s !important;
}
.sv-domain-card:hover, .eps-portfolio-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 40px rgba(15,34,56,.2) !important;
  border-color: rgba(229,85,26,.4) !important;
}
