:root{
  --navy:#0e2a47; --navy-2:#123a63; --steel:#1f6feb; --accent:#ff7a1a; --accent-d:#e5670c;
  --ink:#16202e; --muted:#5b6b7f; --line:#e3e8ef; --bg:#ffffff; --bg-alt:#f5f7fa; --bg-dark:#0e2a47;
  --radius:10px; --shadow:0 6px 24px rgba(15,35,60,.08); --wrap:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
h1,h2,h3,h4{font-family:'Barlow Condensed','Inter',sans-serif;line-height:1.1;letter-spacing:.2px;color:var(--navy)}
h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:700;text-transform:uppercase}
h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;text-transform:uppercase}
h3{font-size:1.25rem;font-weight:600}
a{color:var(--steel);text-decoration:none}
a:hover{text-decoration:underline}
p{margin:.6em 0}
.muted{color:var(--muted)}
.center{text-align:center}
.eyebrow{display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:.75rem;color:var(--accent);margin-bottom:.5rem}
.eyebrow.light{color:#ffb37a}
.lead{font-size:1.15rem;color:#33465b}
/* buttons */
.btn{display:inline-block;padding:.75rem 1.4rem;border-radius:8px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:.18s;text-decoration:none;font-size:.95rem;text-align:center}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-d);color:#fff}
.btn-outline{border-color:#fff;color:#fff}
.btn-outline:hover{background:#fff;color:var(--navy)}
.btn-ghost{border-color:var(--line);color:var(--navy);background:#fff}
.btn-ghost:hover{border-color:var(--steel);color:var(--steel)}
.btn-lg{padding:.9rem 1.8rem;font-size:1.05rem}
.btn-sm{padding:.5rem 1rem;font-size:.85rem}
.btn-block,.btn-block{display:block;width:100%}
/* header */
.site-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 2px 12px rgba(15,35,60,.06)}
.topbar{background:var(--navy);color:#c7d6e6;font-size:.82rem}
.topbar .wrap{display:flex;justify-content:space-between;padding:.4rem 24px}
.topbar a{color:#eaf1f8}
.mainbar{display:flex;align-items:center;gap:1.5rem;padding:.7rem 24px}
.logo{display:flex;align-items:center;gap:.6rem;color:var(--navy)!important;text-decoration:none}
.logo-mark{background:var(--accent);color:#fff;font-family:'Barlow Condensed';font-weight:700;font-size:1.3rem;width:42px;height:42px;display:grid;place-items:center;border-radius:8px}
.logo-text{font-family:'Barlow Condensed';font-weight:700;font-size:1.4rem;line-height:1;letter-spacing:.5px;display:flex;flex-direction:column}
.logo-text small{font-family:'Inter';font-weight:500;font-size:.62rem;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.desktop-nav{margin-left:auto}
.nav-menu{list-style:none;display:flex;gap:.3rem}
.nav-menu>li{position:relative}
.nav-menu>li>a{display:block;padding:.6rem .8rem;color:var(--navy);font-weight:600;font-size:.95rem;border-radius:6px}
.nav-menu>li>a:hover{background:var(--bg-alt);text-decoration:none}
.caret{font-size:.6rem;margin-left:2px;color:var(--muted)}
.header-cta{margin-left:.5rem}
/* dropdowns */
.drop{position:absolute;top:100%;left:0;background:#fff;box-shadow:var(--shadow);border-radius:10px;padding:.5rem;min-width:230px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.16s;border:1px solid var(--line)}
.has-drop:hover>.drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop-list{list-style:none}
.drop-list a{display:block;padding:.5rem .7rem;color:var(--ink);border-radius:6px;font-size:.9rem}
.drop-list a:hover{background:var(--bg-alt);color:var(--steel);text-decoration:none}
/* mega */
.drop:has(.mega){left:auto;right:0}
.mega{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:.4rem;width:900px;max-width:88vw}
.mega-col{padding:.3rem}
.mega-head{display:block;font-weight:700;color:var(--navy);padding:.4rem .5rem;font-size:.9rem;border-bottom:1px solid var(--line);margin-bottom:.2rem}
.mega-head:hover{color:var(--steel);text-decoration:none}
.mega-link{display:block;padding:.28rem .5rem;font-size:.82rem;color:var(--muted);border-radius:5px}
.mega-link:hover{background:var(--bg-alt);color:var(--steel);text-decoration:none}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.4rem;margin-left:auto}
.hamburger span{width:26px;height:3px;background:var(--navy);border-radius:2px}
.mobile-nav{display:none}
/* breadcrumb */
.breadcrumb{background:var(--bg-alt);border-bottom:1px solid var(--line);font-size:.85rem}
.breadcrumb .wrap{padding:.6rem 24px}
.breadcrumb a{color:var(--muted)}.breadcrumb span{color:var(--navy);font-weight:600}
/* hero */
.hero{background:linear-gradient(120deg,#0e2a47,#123a63 60%,#1c4f86);color:#fff;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 12px,transparent 12px 24px);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1.3fr .9fr;gap:3rem;padding:4rem 24px;align-items:center;position:relative;z-index:1}
.hero-text h1{color:#fff}
.hero-text .lead{color:#d6e2f0}
.hero-actions{display:flex;gap:1rem;margin-top:1.6rem;flex-wrap:wrap}
.hero-panel{background:#fff;color:var(--ink);border-radius:14px;padding:1.6rem;box-shadow:var(--shadow)}
.hero-panel h3{color:var(--navy)}
.hero-panel input,.hero-panel textarea,.contact-form input,.contact-form textarea{width:100%;padding:.7rem .8rem;margin:.4rem 0;border:1px solid var(--line);border-radius:7px;font-family:inherit;font-size:.92rem}
.form-note{font-size:.75rem;color:var(--muted);text-align:center;margin-top:.5rem}
/* promise */
.promise{background:var(--navy);color:#fff;margin-top:-1px}
.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:2.5rem 24px}
.promise-card{text-align:center;padding:1rem;border-right:1px solid rgba(255,255,255,.12)}
.promise-card:last-child{border:0}
.promise-num{font-family:'Barlow Condensed';font-size:2.4rem;font-weight:700;color:var(--accent)}
.promise-card h3{color:#fff;font-size:1.05rem;margin:.3rem 0}
.promise-card p{color:#b9cbde;font-size:.85rem}
/* sections */
.section{padding:3.5rem 0}
.section.alt{background:var(--bg-alt)}
.sec-head{text-align:center;max-width:720px;margin:0 auto 2rem}
.h-underline{position:relative;padding-bottom:.5rem;margin-bottom:1rem;color:var(--accent)}
.sec-head h2{color:var(--accent)}
.h-underline:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:var(--accent);border-radius:2px}
.page-hero{background:linear-gradient(120deg,#0e2a47,#1c4f86);color:#fff;padding:3rem 0}
.page-hero h1{color:#fff}.page-hero .lead{color:#d6e2f0}
.prose p{margin:1rem 0}
.prose .signoff{font-style:italic;color:var(--navy);font-weight:600}
/* home category tiles */
.hcat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.hcat{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem;color:var(--navy);font-weight:600;transition:.16s}
.hcat:hover{border-color:var(--steel);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}
.hcat-ic{background:var(--bg-alt);color:var(--steel);width:38px;height:38px;display:grid;place-items:center;border-radius:8px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.cat-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem;color:var(--ink);transition:.16s;display:block}
.cat-tile:hover{border-color:var(--steel);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-3px)}
.cat-tile-icon{font-size:1.6rem;color:var(--steel);margin-bottom:.4rem}
.cat-tile h3{color:var(--navy)}.cat-tile p{font-size:.85rem;color:var(--muted)}
.pcard-link{color:var(--accent);font-weight:600;font-size:.85rem}
/* why */
.why-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center}
.why-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.2rem;text-align:center}
.stat b{display:block;font-family:'Barlow Condensed';font-size:1.8rem;color:var(--navy)}
.stat span{font-size:.82rem;color:var(--muted)}
/* clients */
.clients{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.client-logo{background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;height:70px;display:grid;place-items:center;color:var(--muted);font-weight:700;font-size:.8rem;text-align:center;padding:.5rem}
/* quotes */
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
blockquote{background:#fff;border-left:4px solid var(--accent);border-radius:8px;padding:1.4rem 1.6rem;box-shadow:var(--shadow);font-size:1.02rem;color:#33465b}
blockquote cite{display:block;margin-top:.8rem;font-style:normal;font-weight:700;color:var(--navy);font-size:.9rem}
/* features / values */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.feature{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.4rem;border-top:3px solid var(--steel)}
.feature h3{color:var(--navy)}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem}
.vision-card{background:var(--navy);color:#fff;border-radius:12px;padding:1.8rem}
.vision-card h3{color:#fff}.vision-card p{color:#c7d6e6}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.value{text-align:center;background:var(--bg-alt);border-radius:10px;padding:1.4rem}
.value b{font-family:'Barlow Condensed';font-size:1.3rem;color:var(--accent);text-transform:uppercase}
/* product cards */
.pcard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.pcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--ink);transition:.16s;display:block}
.pcard:hover{border-color:var(--steel);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-3px)}
.pcard-img{height:120px;background:linear-gradient(135deg,#eef2f7,#dde6f0);display:grid;place-items:center;font-size:2rem}
.pcard-body{padding:1rem}.pcard-body h3{color:var(--navy);font-size:1.05rem}
/* product detail */
.prod-hero{padding:3rem 0;background:var(--bg-alt)}
.prod-hero-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:center}
.prod-img-ph{background:linear-gradient(135deg,#eef2f7,#d3e0ee);border-radius:14px;height:320px;display:grid;place-items:center;font-size:4rem;color:var(--steel);gap:.5rem;flex-direction:column}
.prod-img-ph span{font-size:1rem;color:var(--muted);font-weight:600}
.prod-info h1{margin:.3rem 0}
.tick{list-style:none;margin:1.2rem 0}
.tick li{padding-left:1.7rem;position:relative;margin:.5rem 0;color:#33465b}
.tick li:before{content:"✓";position:absolute;left:0;color:#fff;background:var(--steel);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;top:3px}
.prod-actions{display:flex;gap:1rem;margin-top:1.4rem;flex-wrap:wrap}
.spec-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.spec-table th,.spec-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem}
.spec-table th{background:var(--bg-alt);color:var(--navy);width:32%}
/* brands */
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.brand-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.5rem;color:var(--ink);transition:.16s}
.brand-card:hover{border-color:var(--steel);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-3px)}
.brand-logo{font-family:'Barlow Condensed';font-weight:700;font-size:1.4rem;color:var(--navy);letter-spacing:.5px;margin-bottom:.4rem}
.brand-card p{font-size:.85rem;color:var(--muted)}
/* downloads / news */
.dl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.dl-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem;text-align:center}
.dl-ic{font-size:2rem}.dl-card h3{color:var(--navy);margin:.5rem 0 1rem;font-size:1.05rem}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.news-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.news-img{height:120px;background:linear-gradient(135deg,#eef2f7,#dde6f0);display:grid;place-items:center;font-size:2rem}
.news-body{padding:1.2rem}.news-body h3{color:var(--navy)}
/* cta band */
.cta-band{background:linear-gradient(120deg,var(--accent),#ff9d4d);color:#fff}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.5rem 24px;flex-wrap:wrap}
.cta-band h2{color:#fff}.cta-band p{color:#fff5ec}
.cta-band .btn-accent{background:#fff;color:var(--accent-d)}
.cta-band .btn-accent:hover{background:var(--navy);color:#fff}
/* contact */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.contact-info{background:var(--bg-alt);border-radius:12px;padding:1.6rem}
.contact-info h3{color:var(--navy)}
.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.office{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.office h3{color:var(--navy)}
/* footer */
.site-footer{background:var(--bg-dark);color:#c1d1e2;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;padding:3rem 24px 2rem}
.foot-logo{font-family:'Barlow Condensed';font-weight:700;font-size:1.4rem;color:#fff;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.site-footer h4{color:#fff;margin-bottom:.8rem;font-size:1rem}
.site-footer a{display:block;color:#a9bdd4;padding:.2rem 0;font-size:.9rem}
.site-footer a:hover{color:#fff}
.site-footer .muted{color:#8ba1ba;font-size:.85rem}
.social{display:flex;gap:.5rem;margin-top:.6rem}
.social a{background:rgba(255,255,255,.1);width:34px;height:34px;border-radius:7px;display:grid;place-items:center;color:#fff;font-weight:700;padding:0}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);font-size:.82rem}
.foot-bottom .wrap{padding:1rem 24px;color:#8ba1ba}
.foot-bottom a{display:inline;color:#a9bdd4}
.proto-badge{background:var(--accent);color:#fff;padding:.15rem .6rem;border-radius:20px;font-weight:700;font-size:.72rem}
/* real images */
.logo-img{height:46px;width:auto;display:block}
.pcard-img{height:170px;background:#fff;display:block;padding:12px;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:contain;display:block}
.cat-tile{padding:0;overflow:hidden}
.cat-tile-img{height:170px;background:#fff;overflow:hidden;padding:12px}
.cat-tile-img img{width:100%;height:100%;object-fit:contain;display:block}
.cat-tile-body{padding:1.2rem 1.3rem 1.4rem}
.hcat-ic{overflow:hidden;background:#eef2f7}
.hcat-ic img{width:100%;height:100%;object-fit:cover}
.prod-img{width:100%;height:340px;border-radius:14px;display:block;background:#fff;object-fit:contain;padding:1.5rem;box-shadow:var(--shadow)}
.brand-logo-img{height:70px;display:flex;align-items:center;margin-bottom:.6rem}
.brand-logo-img img{max-height:70px;max-width:100%;width:auto;object-fit:contain}
.brand-page-logo{margin:0 0 1.5rem}
.brand-page-logo img{max-height:90px;max-width:260px;object-fit:contain}
/* rich content */
.small{font-size:.84rem}
.spec-table th{vertical-align:top}
.prod-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
.buy-box{background:var(--bg-alt);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:1.3rem;margin-top:1.4rem}
.buy-box h3{color:var(--navy)}
.cat-overview{display:grid;grid-template-columns:1.3fr .9fr;gap:2.5rem;align-items:start}
.cat-ov-main h3{color:var(--navy);margin-top:1.3rem}
.spec-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.3rem;margin-bottom:1.2rem}
.spec-card h3{color:var(--navy);margin-bottom:.6rem}
.spec-card .tick li{font-size:.9rem}
.spec-card a{display:inline-block}
.brand-grid2{display:grid;grid-template-columns:1.4fr .8fr;gap:2.5rem;align-items:start}
.brand-main h3{color:var(--navy);margin-top:1.3rem}
/* migrated rich writeup + downloads */
.prose-rich{max-width:1200px}
.prose-rich>*{max-width:none}
.prose-rich h4{color:var(--navy);font-family:'Barlow Condensed','Inter',sans-serif;font-size:1.12rem;font-weight:600;margin:1.6rem 0 .4rem}
.prose-rich ul,.prose-rich ol{margin:.5rem 0 1rem 1.4rem;line-height:1.7;color:#33465b}
.prose-rich li{margin:.35rem 0}
/* two-column catalogue / literature downloads */
.dl-two{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;align-items:start;max-width:1000px;margin:0 auto}
.dl-col-head{color:var(--navy);font-size:1.2rem;border-bottom:2px solid var(--accent);padding-bottom:.5rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}
.dl-list{display:flex;flex-direction:column;gap:.7rem}
.dl-list .dl-card{display:flex;align-items:center;gap:.8rem;text-align:left;padding:.85rem 1.1rem}
.dl-list .dl-card .dl-ic{font-size:1.35rem;line-height:1}
.dl-list .dl-card h3{margin:0;font-size:.95rem;flex:1;font-weight:600}
.dl-list .dl-card .pcard-link{white-space:nowrap;font-size:.8rem}
@media(max-width:768px){.dl-two{grid-template-columns:1fr;gap:1.6rem}}
.prose-rich h3{color:var(--navy);font-size:1.2rem;margin:1.7rem 0 .3rem}
.prose-rich p{margin:.7rem 0;color:#33465b;line-height:1.75;text-align:justify;-webkit-hyphens:auto;hyphens:auto}
/* specification / data tables */
.table-wrap{overflow-x:auto;margin:1.1rem 0;border:1px solid var(--line);border-radius:10px}
.spec-table{width:100%;border-collapse:collapse;font-size:.94rem;background:#fff}
.spec-table th,.spec-table td{padding:.6rem .9rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.spec-data thead th,.spec-data tr:first-child th{background:#2858a8;color:#fff}
.spec-data tr:first-child th{background:#2858a8;color:#fff;font-weight:700}
.spec-data tr:nth-child(even) td{background:var(--bg-alt)}
.spec-kv th[scope=row]{background:#2858a8;color:#fff;font-weight:600;width:38%;white-space:nowrap}
.spec-chart{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.spec-kv td ul{margin:0;padding-left:1.1rem}
.spec-kv td li{margin:.15rem 0;color:#33465b}
.pt-chart{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem 1rem .8rem;text-align:center}
.pt-chart svg{width:100%;max-width:440px;height:auto}
.pt-chart figcaption{color:var(--muted);font-size:.9rem;margin-top:.4rem}
.type-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.4rem 0}
.type-photos figure{margin:0;text-align:center}
.type-photos img{width:100%;height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.type-photos figcaption{color:var(--steel);font-size:.9rem;margin-top:.4rem;font-weight:600}
.pt-inline{max-width:480px;margin:1.6rem auto}
.prose-rich table{border-collapse:collapse;width:auto;min-width:60%;margin:1.2rem 0;font-size:.94rem}
.prose-rich table td,.prose-rich table th{border:1px solid var(--line);padding:.5rem .9rem;text-align:left}
.prose-rich table tr:first-child th,.prose-rich table tr:first-child td{background:#2858a8;color:#fff;font-weight:600}
.spec-npst th,.spec-npst td{text-align:left}
.spec-npst tr:first-child th{background:#2858a8;color:#fff;font-weight:600}
@media(max-width:600px){.type-photos{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.spec-chart{grid-template-columns:1fr}}
.spec-table td{color:#33465b}
a.dl-card{color:var(--ink);text-decoration:none;transition:.16s;display:block}
a.dl-card:hover{border-color:var(--steel);box-shadow:var(--shadow);transform:translateY(-3px);text-decoration:none}
/* full-width mega menu (desktop) */
.desktop-nav .nav-menu>li.has-mega{position:static}
.desktop-nav .has-mega>.drop{left:0;right:0;top:100%;width:auto;border-radius:0;border-left:0;border-right:0;padding:1.6rem 0}
.desktop-nav .has-mega .mega{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;grid-template-columns:repeat(4,1fr);box-sizing:border-box}
/* products directory */
.dir-cat{margin:0 0 2.4rem}
.dir-cat h2 a{color:var(--navy)}
.dir-cat h2 a:hover{color:var(--steel);text-decoration:none}
.dir-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.dir-item{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem;color:var(--navy);font-weight:600;font-size:.9rem;transition:.16s}
.dir-item:hover{border-color:var(--steel);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}
.dir-thumb{width:46px;height:46px;border-radius:8px;overflow:hidden;background:#eef2f7;flex:0 0 auto}
.dir-thumb img{width:100%;height:100%;object-fit:cover}
/* brand product links */
.brand-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:.4rem 0 .5rem}
.brand-links a{background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:.5rem .9rem;color:var(--navy);font-weight:600;font-size:.88rem}
.brand-links a:hover{border-color:var(--steel);color:var(--steel);text-decoration:none}
/* product gallery / carousel */
.prod-gallery{display:flex;flex-direction:column;gap:.7rem}
.pg-main{background:#fff;border-radius:14px;box-shadow:var(--shadow);height:340px;display:grid;place-items:center;padding:1.2rem;overflow:hidden}
.pg-main img{max-width:100%;max-height:100%;object-fit:contain}
.pg-thumbs{display:flex;gap:.5rem;flex-wrap:wrap}
.pg-thumb{width:64px;height:64px;border:2px solid var(--line);border-radius:8px;background:#fff;padding:2px;cursor:pointer;overflow:hidden;transition:.15s}
.pg-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.pg-thumb:hover{border-color:var(--steel)}
.pg-thumb.active{border-color:var(--accent)}
/* youtube embed */
.video-embed{position:relative;width:100%;padding-bottom:56.25%;height:0;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%}
/* whatsapp float */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:950;display:flex;align-items:center;background:#25D366;color:#fff;border-radius:32px;padding:6px;box-shadow:0 6px 20px rgba(0,0,0,.28);transition:.2s}
.wa-float:hover{text-decoration:none;box-shadow:0 8px 26px rgba(0,0,0,.34)}
.wa-ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.wa-label{max-width:0;opacity:0;white-space:nowrap;font-weight:600;color:#fff;transition:.2s;overflow:hidden}
.wa-float:hover .wa-label{max-width:140px;opacity:1;padding:0 6px 0 12px}
@media(max-width:640px){.wa-float{right:14px;bottom:14px}.wa-float:hover .wa-label{max-width:0;opacity:0;padding:0}.wa-ico{width:42px;height:42px}}
/* responsive */
@media(max-width:1024px){
  .desktop-nav,.header-cta{display:none}
  .hamburger{display:flex}
  .hero-inner,.why-grid,.contact-grid,.prod-detail-grid,.cat-overview,.brand-grid2,.prod-hero-grid{grid-template-columns:1fr}
  .promise-grid,.cat-grid,.hcat-grid,.pcard-grid,.feature-grid,.value-grid,.brand-grid,.dl-grid,.clients,.dir-grid{grid-template-columns:repeat(2,1fr)}
  .promise-card{border-right:0}
  .quote-grid,.vision-grid,.news-grid,.office-grid,.why-stats{grid-template-columns:1fr}
  .mobile-nav{display:none;background:#fff;border-top:1px solid var(--line);max-height:78vh;overflow:auto}
  body.nav-open .mobile-nav{display:block;padding:1rem}
  .mobile-nav .nav-menu{flex-direction:column;gap:0}
  .mobile-nav .nav-menu>li>a{padding:.7rem .4rem;border-bottom:1px solid var(--line)}
  .mobile-nav .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:.2rem 0 .6rem 1rem;min-width:0}
  .mobile-nav .mega{display:block;width:auto}
  .mobile-nav .mega-col{padding:0}
}
@media(max-width:640px){
  .clients,.pcard-grid,.cat-grid,.hcat-grid,.feature-grid,.value-grid,.brand-grid,.dl-grid,.promise-grid,.dir-grid{grid-template-columns:1fr}
  .contact-form .row{grid-template-columns:1fr}
  .topbar .wrap{flex-direction:column;gap:.1rem;text-align:center}
}
/* width-max-override */
.faq-grid{max-width:none!important;margin-left:0!important;margin-right:0!important}
.prose-rich .pinfo{max-width:none!important}
.pinfo{max-width:none!important}

/* pg-main-center-fix */
.pg-main{display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.pg-main img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
/* spec-kv-align */
.spec-kv th[scope=row]{text-align:center!important;vertical-align:middle!important}
.spec-kv td{vertical-align:top!important}
/* spec-table-fullwidth */
.spec-table{width:100%!important}
