/*
Theme Name: Associated Enterprises
Theme URI: https://associatednepal.com
Author: Associated Enterprises Nepal
Description: Premium corporate theme. Primary: #3399ff, Secondary: #062f6d, White: #ffffff
Version: 6.7.0
License: GNU General Public License v2 or later
Text Domain: ae-theme
*/

/* ── CSS TOKENS — all overridden by PHP ae_css_vars() ── */
:root{
  --primary:#3399ff;--primary-dk:#1a80e0;--primary-dkk:#0d66c2;
  --dark:#062f6d;--white:#ffffff;
  --primary-pale:rgba(51,153,255,0.07);--primary-pale2:rgba(51,153,255,0.14);
  --sh-blue:0 6px 22px rgba(51,153,255,0.28);
  --gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;
  --gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;
  --text:#1a2332;--text-body:#374151;--text-muted:#64748b;--text-light:#94a3b8;
  --hdr-bg:#ffffff;--hdr-text:#1a2332;--hdr-h:72px;
  --hdr-border:rgba(0,0,0,0.07);--hdr-shadow:0 2px 20px rgba(0,0,0,0.06);
  --footer-bg:#3399ff;
  --font-body:'Plus Jakarta Sans',Arial,system-ui,sans-serif;
  --font-heading:'Plus Jakarta Sans',Arial,system-ui,sans-serif;
  --logo-color:#3399ff;
  --sh-xs:0 1px 2px rgba(0,0,0,.05);--sh-sm:0 2px 6px rgba(0,0,0,.07);
  --sh-md:0 4px 14px rgba(0,0,0,.08);--sh-lg:0 8px 28px rgba(0,0,0,.10);
  --sh-xl:0 16px 44px rgba(0,0,0,.12);--sh-2xl:0 24px 60px rgba(0,0,0,.16);
  --r-xs:3px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:22px;--r-2xl:30px;--r-full:9999px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;
  --s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;
  --tf:150ms ease;--tm:220ms ease;--ts:360ms ease;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);color:var(--text-body);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:var(--hdr-h)}
a{color:var(--primary);text-decoration:none;transition:color var(--tf)}
a:hover{color:var(--primary-dk)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
input,textarea,select,button{font-family:var(--font-body);font-size:inherit}
button{cursor:pointer;border:none;background:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;color:var(--text)}

/* ── LAYOUT ── */
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.container-sm{max-width:820px;margin:0 auto;padding:0 24px}
.section{padding:var(--s20) 0}
.section-sm{padding:var(--s12) 0}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s6)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.flex-center{display:flex;align-items:center;justify-content:center}
.text-center{text-align:center}

/* ── TYPOGRAPHY ── */
.section-label{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);background:var(--primary-pale);border:1px solid var(--primary-pale2);padding:5px 14px;border-radius:var(--r-full);margin-bottom:12px}
.section-label::before{content:'';width:5px;height:5px;background:var(--primary);border-radius:50%;flex-shrink:0}
.section-heading{font-size:clamp(1.75rem,3.5vw,2.6rem);font-weight:800;color:var(--text);letter-spacing:-.025em;line-height:1.13}
.section-heading .hl{background:linear-gradient(135deg,var(--primary) 0%,var(--dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-sub{font-size:1rem;color:var(--text-muted);line-height:1.72;max-width:580px}
.section-header{margin-bottom:var(--s12)}
.section-header.centered{text-align:center;display:flex;flex-direction:column;align-items:center}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-weight:700;font-size:.875rem;padding:11px 24px;border-radius:var(--r-md);border:2px solid transparent;transition:all var(--tm);white-space:nowrap;cursor:pointer;text-decoration:none;line-height:1.4}
.btn .arrow{transition:transform var(--tm)}
.btn:hover .arrow{transform:translateX(3px)}
.btn-primary{background:var(--primary);color:var(--white);border-color:var(--primary);box-shadow:var(--sh-blue)}
.btn-primary:hover{background:var(--primary-dk);border-color:var(--primary-dk);color:var(--white);transform:translateY(-1px);box-shadow:0 10px 28px rgba(51,153,255,.35)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:var(--white);transform:translateY(-1px)}
.btn-white{background:var(--white);color:var(--primary);border-color:var(--white)}
.btn-white:hover{background:var(--primary-pale);color:var(--primary-dk);transform:translateY(-1px)}
.btn-ghost-dark{background:rgba(255,255,255,.1);color:var(--white);border-color:rgba(255,255,255,.3)}
.btn-ghost-dark:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5);color:var(--white);transform:translateY(-1px)}
.btn-lg{padding:14px 32px;font-size:1rem;border-radius:var(--r-lg)}
.btn-sm{padding:7px 16px;font-size:.8125rem;border-radius:var(--r-sm)}

/* ================================================================
   TEXT LOGO — "Associated Enterprises" — Arial, #3399ff
   Header: inline, no border. Footer: boxed with border.
================================================================ */
/* Prevent parent shrinking */
.site-logo{display:inline-flex !important;max-width:none !important;width:auto !important;text-decoration:none;flex-shrink:0;align-items:center}

/* Header logo text */
.logo-text-wrap{display:inline-block;white-space:nowrap}
.logo-text-wrap .logo-full{color:var(--logo-color);font-size:16px;font-weight:800;letter-spacing:0.5px;white-space:nowrap !important;display:inline-block;font-family:Arial,Helvetica,sans-serif;line-height:1.2}

/* Footer logo wrapper — boxed */
.footer-logo{margin-bottom:20px}
.footer-logo .logo-text-wrap{display:inline-block;border:2px solid rgba(255,255,255,0.5);padding:10px 20px;border-radius:8px;background:rgba(255,255,255,0.1);white-space:nowrap}
.footer-logo .logo-full{color:#ffffff;font-size:18px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif}
.footer-logo-link{text-decoration:none;display:inline-block}

/* ── HEADER — white bg, black text ── */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--hdr-h);background:var(--hdr-bg);border-bottom:1px solid var(--hdr-border);box-shadow:var(--hdr-shadow);transition:box-shadow var(--tm)}
#site-header.scrolled{box-shadow:0 4px 32px rgba(0,0,0,.11)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--hdr-h);gap:var(--s5)}

/* NAV — clean active states */
#primary-nav{display:flex;align-items:center;flex:1;justify-content:center}
#primary-nav>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
#primary-nav li{position:relative}
#primary-nav li a{display:block;padding:8px 12px;font-size:.845rem;font-weight:600;color:var(--hdr-text);border-radius:var(--r-sm);transition:color var(--tf),background var(--tf);white-space:nowrap}
#primary-nav li a:hover{color:var(--primary);background:var(--primary-pale)}
#primary-nav .current-menu-item>a,#primary-nav .current_page_item>a,#primary-nav .current-menu-ancestor>a{color:var(--primary);background:var(--primary-pale);font-weight:700}
#primary-nav li ul{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-lg);padding:6px;z-index:999;box-shadow:var(--sh-xl)}
#primary-nav li:hover>ul{display:block}
#primary-nav li ul li a{border-radius:var(--r-sm);padding:9px 14px;font-size:.8125rem}
@media(min-width:769px){#primary-nav .menu-item-cta{display:none}}

/* Header CTA */
.header-actions{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}
.header-cta-btn{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:var(--white);font-weight:700;font-size:.845rem;padding:9px 20px;border-radius:var(--r-md);border:2px solid var(--primary);box-shadow:var(--sh-blue);transition:all var(--tm);white-space:nowrap;text-decoration:none}
.header-cta-btn:hover{background:var(--primary-dk);border-color:var(--primary-dk);color:var(--white);transform:translateY(-1px)}
.header-cta-btn .arrow{transition:transform var(--tm)}
.header-cta-btn:hover .arrow{transform:translateX(3px)}

/* Mobile hamburger */
.menu-toggle{display:none;flex-direction:column;gap:5px;padding:8px;background:transparent;border:2px solid var(--gray-200);border-radius:var(--r-sm);flex-shrink:0;cursor:pointer;z-index:1001}
.menu-toggle span{display:block;width:22px;height:2.5px;background:var(--text);border-radius:2px;transition:all .28s ease}
.menu-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ── HERO ── */
.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);margin-top:calc(-1 * var(--hdr-h));padding-top:var(--hdr-h)}
.hero-mesh{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-mesh::before{content:'';position:absolute;width:800px;height:800px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);top:-200px;right:-150px;animation:meshFloat 10s ease-in-out infinite}
.hero-mesh::after{content:'';position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);bottom:-150px;left:-80px;animation:meshFloat 13s ease-in-out infinite reverse}
.hero-grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px}
.hero-bg-img{position:absolute;inset:0;z-index:2}
.hero-bg-img img{width:100%;height:100%;object-fit:cover;opacity:.12;mix-blend-mode:luminosity}
.hero-overlay{position:absolute;inset:0;z-index:3;background:linear-gradient(105deg,rgba(6,47,109,.96) 0%,rgba(51,153,255,.5) 70%,transparent 100%)}
.hero-inner{position:relative;z-index:10;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:100px 0 72px}
.hero-content{padding-right:var(--s8)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-full);padding:6px 16px 6px 8px;margin-bottom:22px;backdrop-filter:blur(8px);animation:fadeUp .6s ease both}
.hero-badge-dot{width:8px;height:8px;background:#93c5fd;border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}
.hero-badge-text{font-size:.71rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}
.hero-title{font-size:clamp(2.2rem,4.2vw,3.6rem);font-weight:800;color:var(--white);letter-spacing:-.03em;line-height:1.08;margin-bottom:20px;animation:fadeUp .7s ease .1s both}
.hero-title .hl{background:linear-gradient(135deg,#93c5fd 0%,#bfdbfe 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:1.0625rem;color:rgba(255,255,255,.78);line-height:1.75;margin-bottom:20px;animation:fadeUp .7s ease .18s both}
.hero-trusts{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:var(--s10);animation:fadeUp .7s ease .24s both}
.hero-trust-item{display:flex;align-items:center;gap:7px;font-size:.82rem;color:rgba(255,255,255,.65)}
.hero-check{width:18px;height:18px;background:rgba(51,153,255,.25);border:1px solid rgba(51,153,255,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#93c5fd;flex-shrink:0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:var(--s10);animation:fadeUp .7s ease .3s both}
.hero-stats{display:flex;gap:var(--s10);padding-top:22px;border-top:1px solid rgba(255,255,255,.12);animation:fadeUp .7s ease .38s both}
.hero-stat-num{font-size:1.75rem;font-weight:800;color:var(--white);letter-spacing:-.04em;line-height:1}
.hero-stat-label{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:3px;font-weight:500}
.hero-stat-div{width:1px;background:rgba(255,255,255,.12)}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;animation:fadeRight .9s ease .2s both}
.hero-visual-inner{position:relative;width:100%;max-width:500px}
.hero-main-img{width:100%;border-radius:var(--r-2xl);overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.07);animation:float 6s ease-in-out infinite}
.hero-main-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-main-img-ph{width:100%;aspect-ratio:4/3;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:5rem}
.hero-float{position:absolute;background:rgba(6,47,109,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:12px 17px;box-shadow:var(--sh-2xl);z-index:5}
.hero-float-1{top:-22px;left:-36px;animation:float 5.5s ease 1s infinite}
.hero-float-2{bottom:-18px;right:-28px;animation:float 7s ease .5s infinite reverse}
.float-lbl{font-size:.6rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:3px}
.float-val{font-size:.9rem;font-weight:700;color:var(--white);display:flex;align-items:center;gap:5px}
.float-badge{font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:var(--r-full);background:rgba(16,185,129,.2);color:#34d399;border:1px solid rgba(16,185,129,.3)}
.hero-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:10}
.hero-scroll span{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.hero-scroll-bar{width:1px;height:28px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);animation:scrollBar 1.5s ease-in-out infinite}

/* ── PAGE HERO ── */
.page-hero{background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);padding:calc(var(--hdr-h) + 48px) 0 56px;position:relative;overflow:hidden;margin-top:calc(-1 * var(--hdr-h))}
.page-hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);pointer-events:none}
.page-hero-content{text-align:center;position:relative;z-index:1}
.page-hero-content h1{font-size:clamp(1.875rem,4vw,2.875rem);font-weight:800;color:var(--white);letter-spacing:-.025em;margin-bottom:10px}
.page-hero-content p{font-size:1rem;color:rgba(255,255,255,.72);max-width:520px;margin:0 auto 16px}
.breadcrumb{display:flex;justify-content:center;align-items:center;gap:7px;font-size:.78rem;color:rgba(255,255,255,.45)}
.breadcrumb a{color:rgba(255,255,255,.7);transition:color var(--tf)}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb .sep{color:rgba(255,255,255,.3)}

/* ================================================================
   DISTRIBUTOR TICKER — slow infinite scroll, 5 logos visible
================================================================ */
.ticker-section{background:var(--white);padding:var(--s10) 0;border-bottom:1px solid var(--gray-100);overflow:hidden}
.ticker-header{text-align:center;margin-bottom:var(--s6)}
.ticker-outer{overflow:hidden;position:relative;width:100%}
/* Fade edges for premium look */
.ticker-outer::before,.ticker-outer::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.ticker-outer::before{left:0;background:linear-gradient(to right,var(--white) 0%,transparent 100%)}
.ticker-outer::after{right:0;background:linear-gradient(to left,var(--white) 0%,transparent 100%)}
.ticker-track{display:flex;align-items:center;gap:0;width:max-content;animation:tickerScroll 35s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;justify-content:center;width:220px;height:110px;padding:16px 24px;flex-shrink:0;transition:all var(--tm);border-right:1px solid var(--gray-100)}
.ticker-item:hover{background:var(--primary-pale)}
.ticker-item img{max-width:160px;max-height:80px;width:auto;height:auto;object-fit:contain;object-position:center;filter:grayscale(0.5) opacity(0.75);transition:filter var(--tm)}
.ticker-item:hover img{filter:grayscale(0) opacity(1)}
.ticker-brand-name{font-size:.875rem;font-weight:700;color:var(--text-muted);text-align:center;padding:8px;transition:color var(--tm)}
.ticker-item:hover .ticker-brand-name{color:var(--primary)}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-33.333%)}}

/* ── PRODUCTS ── */
.products-section{background:var(--gray-50)}
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:var(--s12)}
.cat-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--r-full);font-size:.8125rem;font-weight:700;color:var(--text-muted);background:var(--white);border:1.5px solid var(--gray-200);cursor:pointer;transition:all var(--tm)}
.cat-tab:hover,.cat-tab.active{background:var(--primary);color:var(--white);border-color:var(--primary);box-shadow:var(--sh-blue)}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;transition:all var(--ts);position:relative}
.product-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--dark));opacity:0;transition:opacity var(--tm)}
.product-card:hover{border-color:var(--primary-pale2);box-shadow:var(--sh-xl);transform:translateY(-5px)}
.product-card:hover::before{opacity:1}
.product-img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,var(--gray-50),var(--primary-pale))}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.product-card:hover .product-img-wrap img{transform:scale(1.06)}
.product-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem}
.product-cat-badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid var(--gray-200);border-radius:var(--r-full);padding:3px 10px;font-size:.65rem;font-weight:700;color:var(--primary)}
.product-brand-badge{position:absolute;top:10px;right:10px;background:var(--primary);color:var(--white);border-radius:var(--r-xs);padding:3px 8px;font-size:.6rem;font-weight:700}
.product-body{padding:var(--s6);flex:1;display:flex;flex-direction:column;gap:8px}
.product-title{font-size:.9375rem;font-weight:700;color:var(--text);line-height:1.35}
.product-title a{color:inherit;transition:color var(--tf)}
.product-title a:hover{color:var(--primary)}
.product-excerpt{font-size:.8rem;color:var(--text-muted);line-height:1.55;flex:1}
.product-meta-tag{font-size:.68rem;font-weight:700;color:var(--text-muted);background:var(--gray-100);border-radius:var(--r-full);padding:3px 10px;display:inline-block}
.product-actions{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:10px;border-top:1px solid var(--gray-100)}
.product-actions .btn{width:100%;justify-content:center;font-size:.8125rem;padding:9px 14px}
.product-datasheet-link{text-align:center;font-size:.75rem;font-weight:600;color:var(--primary);display:flex;align-items:center;justify-content:center;gap:4px}
.product-datasheet-link:hover{color:var(--primary-dk)}

/* ── INDUSTRIES ── */
.industries-section{background:var(--white)}
.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.industry-card{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.industry-img{position:absolute;inset:0;z-index:0}
.industry-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.industry-card:hover .industry-img img{transform:scale(1.08)}
.industry-img-ph{width:100%;height:100%;background:linear-gradient(135deg,var(--dark),var(--primary));display:flex;align-items:center;justify-content:center;font-size:3rem;transition:transform .5s ease}
.industry-card:hover .industry-img-ph{transform:scale(1.05)}
.industry-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,47,109,.93) 0%,rgba(6,47,109,.45) 55%,transparent 100%);z-index:1;transition:background var(--ts)}
.industry-card:hover .industry-overlay{background:linear-gradient(to top,rgba(6,47,109,.97) 0%,rgba(6,47,109,.68) 60%,rgba(6,47,109,.2) 100%)}
.industry-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:var(--s6)}
.industry-icon-box{width:42px;height:42px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:10px;transform:translateY(6px);transition:transform var(--tm)}
.industry-card:hover .industry-icon-box{transform:translateY(0)}
.industry-name{font-size:1rem;font-weight:800;color:var(--white);margin-bottom:8px;line-height:1.3}
.industry-desc{font-size:.78rem;color:rgba(255,255,255,.65);line-height:1.5;transform:translateY(14px);opacity:0;transition:all var(--ts)}
.industry-card:hover .industry-desc{transform:translateY(0);opacity:1}

/* ── WHY CHOOSE US ── */
.why-section{background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.why-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:var(--s8);transition:all var(--ts);position:relative;overflow:hidden}
.why-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--primary),var(--dark));opacity:0;transition:opacity var(--tm)}
.why-card:hover{border-color:var(--primary-pale2);box-shadow:var(--sh-xl);transform:translateY(-4px)}
.why-card:hover::before{opacity:1}
.why-icon-box{width:52px;height:52px;background:var(--primary-pale);border:1px solid var(--primary-pale2);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:var(--s5);transition:all var(--tm)}
.why-card:hover .why-icon-box{background:var(--primary);border-color:transparent;transform:scale(1.06)}
.why-card-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:8px}
.why-card-desc{font-size:.875rem;color:var(--text-muted);line-height:1.68}

/* ── TESTIMONIALS ── */
.testimonials-section{background:var(--white)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.testi-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:var(--s8);transition:all var(--ts)}
.testi-card:hover{background:var(--white);box-shadow:var(--sh-lg);border-color:var(--primary-pale2);transform:translateY(-3px)}
.testi-stars{color:#f59e0b;font-size:.78rem;margin-bottom:var(--s4)}
.testi-quote{font-size:2.2rem;color:var(--primary-pale2);line-height:1;font-family:Georgia,serif;margin-bottom:var(--s5)}
.testi-text{font-size:.9375rem;color:var(--text-body);line-height:1.72;margin-bottom:var(--s6)}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:var(--s5);border-top:1px solid var(--gray-200)}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--dark));display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--white);font-size:1rem;flex-shrink:0;overflow:hidden}
.testi-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.testi-name{font-size:.875rem;font-weight:700;color:var(--text)}
.testi-role{font-size:.75rem;color:var(--text-muted)}

/* ── CTA ── */
.cta-section{position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-40%;left:-15%;width:70%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 60%);pointer-events:none}
.cta-inner{position:relative;z-index:2;text-align:center;padding:var(--s20) 0}
.cta-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:var(--s4)}
.cta-title{font-size:clamp(1.875rem,3.5vw,2.875rem);font-weight:800;color:var(--white);letter-spacing:-.025em;margin-bottom:var(--s4)}
.cta-sub{font-size:1rem;color:rgba(255,255,255,.72);margin-bottom:var(--s10);max-width:500px;margin-left:auto;margin-right:auto}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── CONTACT SPLIT ── */
.contact-split-section{background:var(--gray-50)}
.contact-split-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--s10);align-items:start}
.contact-info-box{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-2xl);padding:var(--s10)}
.contact-info-box h2{font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:var(--s8)}
.contact-detail-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:var(--s6)}
.contact-detail-icon{width:44px;height:44px;background:var(--primary-pale);border:1px solid var(--primary-pale2);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.contact-detail-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:2px}
.contact-detail-value{font-size:.9375rem;font-weight:600;color:var(--text)}
.why-mini-list{display:flex;flex-direction:column;gap:10px;margin-top:var(--s6);padding-top:var(--s6);border-top:1px solid var(--gray-100)}
.why-mini-item{display:flex;align-items:flex-start;gap:10px}
.why-mini-check{width:20px;height:20px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;color:var(--white);flex-shrink:0;margin-top:1px}
.why-mini-text{font-size:.875rem;color:var(--text-body);line-height:1.5}
.contact-form-box{background:var(--dark);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-2xl);padding:var(--s10);position:relative;overflow:hidden}
.contact-form-box h2{font-size:1.5rem;font-weight:800;color:var(--white);margin-bottom:var(--s8);position:relative;z-index:1}

/* ── FORMS ── */
.ae-form{display:flex;flex-direction:column;gap:11px;position:relative;z-index:1}
.form-field{display:flex;flex-direction:column;gap:5px}
.form-field label{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.form-dark .form-field label{color:rgba(255,255,255,.5)}
.form-light .form-field label{color:var(--text-muted)}
.ae-form input,.ae-form textarea,.ae-form select{width:100%;padding:11px 15px;font-size:.9rem;border-radius:var(--r-md);outline:none;transition:all var(--tm);font-family:var(--font-body);-webkit-appearance:none}
.form-dark input,.form-dark textarea,.form-dark select{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);color:var(--white)}
.form-dark input::placeholder,.form-dark textarea::placeholder{color:rgba(255,255,255,.32)}
.form-dark input:focus,.form-dark textarea:focus,.form-dark select:focus{background:rgba(255,255,255,.11);border-color:rgba(51,153,255,.6);box-shadow:0 0 0 3px rgba(51,153,255,.12)}
.form-dark select option{background:var(--dark);color:var(--white)}
.form-light input,.form-light textarea,.form-light select{background:var(--white);border:1.5px solid var(--gray-200);color:var(--text)}
.form-light input::placeholder,.form-light textarea::placeholder{color:var(--text-light)}
.form-light input:focus,.form-light textarea:focus,.form-light select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(51,153,255,.1)}
.ae-form textarea{resize:vertical;min-height:100px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.btn-form{width:100%;padding:13px;font-size:.9375rem;font-weight:700;border-radius:var(--r-md);border:none;cursor:pointer;transition:all var(--tm);font-family:var(--font-body)}
.btn-form-dark{background:var(--white);color:var(--primary)}
.btn-form-dark:hover{background:var(--primary-pale);transform:translateY(-1px)}
.btn-form-light{background:var(--primary);color:var(--white);box-shadow:var(--sh-blue)}
.btn-form-light:hover{background:var(--primary-dk);transform:translateY(-1px)}
.form-alert{padding:11px 15px;border-radius:var(--r-md);font-size:.875rem;font-weight:600;display:none;margin-bottom:8px}
.alert-ok{background:rgba(16,185,129,.12);color:#065f46;border:1px solid rgba(16,185,129,.25)}
.alert-err{background:rgba(239,68,68,.09);color:#991b1b;border:1px solid rgba(239,68,68,.2)}
.alert-ok-dark{background:rgba(16,185,129,.15);color:#6ee7b7;border:1px solid rgba(16,185,129,.2)}
.alert-err-dark{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.15)}
.ae-turnstile{margin-bottom:12px;border-radius:var(--r-md);overflow:hidden}

/* ── GALLERY ── */
.gallery-section{background:var(--gray-50)}
.gal-filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:var(--s12)}
.gal-filter-btn{padding:8px 18px;border-radius:var(--r-full);font-size:.8125rem;font-weight:700;cursor:pointer;background:var(--white);color:var(--text-muted);border:1.5px solid var(--gray-200);transition:all var(--tm)}
.gal-filter-btn.active,.gal-filter-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary);box-shadow:var(--sh-blue)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.gallery-item{position:relative;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;aspect-ratio:1;background:var(--primary-pale)}
.gallery-item.wide{grid-column:span 2;aspect-ratio:auto}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item-overlay{position:absolute;inset:0;background:transparent;transition:background var(--ts);display:flex;align-items:center;justify-content:center}
.gallery-item:hover .gallery-item-overlay{background:rgba(6,47,109,.5)}
.gallery-zoom{width:44px;height:44px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;transform:scale(.7);transition:all var(--tm)}
.gallery-item:hover .gallery-zoom{opacity:1;transform:scale(1)}
.gallery-cap{position:absolute;bottom:0;left:0;right:0;padding:11px;background:linear-gradient(to top,rgba(6,47,109,.82),transparent);color:var(--white);font-size:.78rem;font-weight:600;opacity:0;transform:translateY(6px);transition:all var(--ts)}
.gallery-item:hover .gallery-cap{opacity:1;transform:translateY(0)}
.lightbox{position:fixed;inset:0;background:rgba(1,10,24,.97);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lb-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:96vw;max-height:96vh}
.lb-content img{display:block;width:auto;height:auto;max-width:90vw;max-height:88vh;object-fit:contain;object-position:center;border-radius:8px;box-shadow:0 25px 60px rgba(0,0,0,.6)}
.lb-close{position:fixed;top:16px;right:20px;width:42px;height:42px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--white);cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:background var(--tf)}
.lb-close:hover{background:rgba(255,255,255,.2)}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--white);cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:background var(--tf)}
.lb-nav:hover{background:rgba(255,255,255,.2)}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-cap{text-align:center;color:rgba(255,255,255,.7);font-size:.875rem;margin-top:10px}

/* ── ABOUT / PRODUCT PAGES ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:center}
.about-img-wrap{border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-2xl)}
.about-img-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about-img-ph{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--dark),var(--primary));display:flex;align-items:center;justify-content:center;font-size:5rem;border-radius:var(--r-2xl)}
.about-text h2{font-size:1.875rem;font-weight:800;letter-spacing:-.025em;color:var(--text);margin-bottom:var(--s5)}
.about-text p{font-size:.9375rem;color:var(--text-muted);line-height:1.82;margin-bottom:var(--s4)}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-top:var(--s8)}
.stat-box{text-align:center;background:var(--primary-pale);border:1px solid var(--primary-pale2);border-radius:var(--r-lg);padding:var(--s6)}
.stat-num{font-size:2rem;font-weight:800;color:var(--primary);letter-spacing:-.04em}
.stat-label{font-size:.71rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}
.product-single-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:start}
.product-single-img{border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-xl)}
.product-single-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.product-single-img-ph{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--primary-pale),var(--primary-pale2));display:flex;align-items:center;justify-content:center;font-size:5rem;border-radius:var(--r-2xl)}
.contact-page-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s8);align-items:start}
.contact-side-box{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-2xl);padding:var(--s8)}
.contact-side-box h2{font-size:1.375rem;font-weight:800;color:var(--text);margin-bottom:var(--s8)}
.contact-form-light-box{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-2xl);padding:var(--s8);box-shadow:var(--sh-md)}
.contact-form-light-box h2{font-size:1.375rem;font-weight:800;color:var(--text);margin-bottom:var(--s8)}
.quote-card{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-2xl);padding:var(--s10);box-shadow:var(--sh-xl)}
.quote-card h2{font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:6px}
.quote-card .sub{font-size:.9rem;color:var(--text-muted);margin-bottom:var(--s8)}
.trust-bar{display:flex;justify-content:center;gap:var(--s8);flex-wrap:wrap;padding:var(--s5) var(--s6);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);box-shadow:var(--sh-sm);margin-bottom:var(--s8)}
.trust-item{display:flex;align-items:center;gap:6px;font-size:.79rem;font-weight:600;color:var(--text-muted)}

/* ── FOOTER — #3399ff background ── */
#site-footer{position:relative;overflow:hidden}
#site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--dark),transparent)}
#site-footer::after{content:'';position:absolute;top:-150px;right:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(6,47,109,.2) 0%,transparent 70%);pointer-events:none}
.footer-top{padding:var(--s20) 0 var(--s16);position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.3fr;gap:48px;align-items:start}
.footer-col-brand{}
.footer-desc{font-size:.845rem;color:rgba(255,255,255,.75);line-height:1.72;margin-bottom:18px;max-width:300px}
.footer-info-row{display:flex;align-items:center;gap:9px;font-size:.8125rem;color:rgba(255,255,255,.78);margin-bottom:9px}
.footer-info-row a{color:rgba(255,255,255,.78);text-decoration:none;transition:color var(--tf)}
.footer-info-row a:hover{color:var(--white)}
.footer-info-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(255,255,255,.55);width:16px}
.footer-location-row{align-items:flex-start}
.footer-location-row .footer-info-icon{margin-top:2px}
.footer-branches-head{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:18px 0 10px}
.footer-social{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.footer-social-btn{width:36px;height:36px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);text-decoration:none;transition:all var(--tm)}
.footer-social-btn svg{display:block}
.footer-social-btn:hover{background:var(--dark);border-color:var(--dark);color:var(--white);transform:translateY(-2px)}
.footer-col{}
.footer-col-head{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:20px}
.footer-links{display:flex;flex-direction:column;gap:11px}
.footer-links a{font-size:.855rem;color:rgba(255,255,255,.75);text-decoration:none;transition:all var(--tf);display:inline-flex;align-items:center;gap:6px}
.footer-links a:hover{color:var(--white);padding-left:3px}
.footer-contact-block{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.footer-contact-icon-wrap{width:38px;height:38px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);flex-shrink:0}
.footer-contact-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:4px}
.footer-contact-value{font-size:.875rem;font-weight:600;color:var(--white);line-height:1.5}
.footer-contact-value a{color:var(--white);text-decoration:none;transition:color var(--tf)}
.footer-contact-value a:hover{color:rgba(255,255,255,.85)}
.footer-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--dark);color:var(--white);font-weight:700;font-size:.875rem;padding:11px 22px;border-radius:8px;text-decoration:none;transition:all var(--tm);margin-top:6px;border:2px solid transparent}
.footer-cta-btn:hover{background:#0a3d80;color:var(--white);transform:translateY(-1px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:20px 0;position:relative;z-index:1}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:.78rem;color:rgba(255,255,255,.65)}
.footer-copy a{color:rgba(255,255,255,.8);text-decoration:none;transition:color var(--tf)}
.footer-copy a:hover{color:var(--white)}
.footer-bottom-links{display:flex;gap:20px}
.footer-bottom-links a{font-size:.75rem;color:rgba(255,255,255,.65);text-decoration:none;transition:color var(--tf)}
.footer-bottom-links a:hover{color:var(--white)}

/* ── SCROLL REVEAL / BTT ── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.rd1{transition-delay:.07s}.rd2{transition-delay:.14s}.rd3{transition-delay:.21s}.rd4{transition-delay:.28s}
#btt{position:fixed;bottom:22px;right:22px;width:42px;height:42px;background:var(--primary);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;box-shadow:var(--sh-blue);opacity:0;transform:translateY(10px);transition:all .28s ease;z-index:990;border:none;cursor:pointer}
#btt.show{opacity:1;transform:translateY(0)}
#btt:hover{background:var(--primary-dk);transform:translateY(-2px)}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeRight{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes meshFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-16px) scale(1.04)}}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(51,153,255,.4)}50%{opacity:.8;box-shadow:0 0 0 5px rgba(51,153,255,0)}}
@keyframes scrollBar{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ── RESPONSIVE — Tablet ── */
@media(max-width:1100px){
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .industries-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:var(--s8)}
  .footer-grid>*:last-child{grid-column:1/-1}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .testi-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── RESPONSIVE — Mobile ── */
@media(max-width:768px){
  :root{--hdr-h:60px}
  .header-inner{height:60px}
  .header-actions{display:none}
  .menu-toggle{display:flex}
  /* Mobile menu: #3399ff background, black text */
  #primary-nav{display:none;flex-direction:column;align-items:stretch;position:fixed;top:60px;left:0;right:0;bottom:0;width:100vw;background:#3399ff;padding:0 0 32px;z-index:998;overflow-y:auto;-webkit-overflow-scrolling:touch}
  #primary-nav.nav-open{display:flex}
  #primary-nav>ul{flex-direction:column;width:100%;gap:0}
  #primary-nav li a{padding:16px 22px;font-size:1rem;font-weight:700;color:#000000;border-radius:0;border-bottom:1px solid rgba(0,0,0,0.08);display:block}
  #primary-nav li a:hover,#primary-nav .current-menu-item>a{color:#000000;background:rgba(0,0,0,0.06)}
  /* Menu toggle bars — dark on white header */
  .menu-toggle span{background:var(--text)}
  .menu-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  #primary-nav li ul{position:static;background:rgba(0,0,0,.06);border:none;box-shadow:none;border-radius:0;padding:0 0 0 14px;display:none}
  #primary-nav li.sub-open>ul{display:block}
  #primary-nav .menu-item-cta{display:block}
  #primary-nav .menu-item-cta>a{margin:16px 20px 0;border-radius:var(--r-md);text-align:center;padding:13px 20px;display:block;background:var(--dark);color:var(--white)}
  .hero-inner{grid-template-columns:1fr;padding:72px 0 52px}
  .hero-visual{display:none}
  .hero-content{padding-right:0;max-width:680px}
  .hero-stats{flex-wrap:wrap;gap:var(--s8)}
  .hero-stat-div{display:none}
  .hero-actions{flex-direction:column}
  .about-grid{grid-template-columns:1fr}
  .product-single-grid{grid-template-columns:1fr}
  .contact-page-grid{grid-template-columns:1fr}
  .contact-split-grid{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .gallery-item.wide{grid-column:auto;aspect-ratio:1}
  .products-grid{grid-template-columns:1fr 1fr}
  .industries-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--s8)}
  .footer-grid>*:first-child{grid-column:1/-1}
  .footer-grid>*:last-child{grid-column:auto}
  .why-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .trust-bar{gap:var(--s4)}
  .footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:10px}
  /* Ticker on mobile: show fewer, slower */
  .ticker-track{animation-duration:50s}
  .ticker-item{width:160px;height:90px;padding:12px}
  .ticker-item img{max-width:120px;max-height:60px}
}

@media(max-width:480px){
  .container{padding:0 16px}
  .products-grid{grid-template-columns:1fr}
  .industries-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>*:last-child{grid-column:auto}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .hero-title{font-size:2.1rem}
  .logo-text-wrap .logo-full{font-size:14px}
  .ticker-item{width:130px;height:75px}
}


/* ================================================================
   AE THEME v4.9 — FULL CONSOLIDATED OVERRIDE
   Hero · Ticker · Products · Testimonials · Mobile Responsive
================================================================ */

/* ── LOGO ── */
.logo-text-wrap{display:inline-flex;align-items:center;border:2px solid var(--logo-color,#3399ff);padding:6px 14px;border-radius:6px;font-family:Arial,sans-serif;white-space:nowrap}
.logo-full{color:var(--logo-color,#3399ff);font-size:16px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.site-logo{display:inline-flex!important;width:auto!important;max-width:none!important;flex-shrink:0;text-decoration:none;align-items:center}
.footer-logo .logo-text-wrap{background:#fff;border:2px solid #3399ff}
.footer-logo .logo-full{font-size:18px;letter-spacing:1.5px;text-transform:uppercase;color:#3399ff;font-family:Arial,sans-serif}
.footer-logo{margin-bottom:20px}

/* ── HERO — Fully Responsive ── */
.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);margin-top:calc(-1 * var(--hdr-h));padding-top:var(--hdr-h)}
.hero-inner{position:relative;z-index:10;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:100px 0 80px}
.hero-content{padding-right:var(--s6)}
.hero-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:18px}
.hero-subtitle{font-size:clamp(.9rem,1.8vw,1.0625rem);color:rgba(255,255,255,.8);line-height:1.75;margin-bottom:18px}
.hero-trusts{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:var(--s8)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:var(--s10)}
.hero-stats{display:flex;gap:var(--s8);padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.hero-stat-num{font-size:1.75rem;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1}
.hero-stat-label{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:3px;font-weight:500}
.hero-stat-div{width:1px;background:rgba(255,255,255,.12)}

/* Hero visual */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.hero-visual-inner{position:relative;width:100%;max-width:480px}
.hero-main-img{width:100%;border-radius:var(--r-2xl);overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.07);animation:float 6s ease-in-out infinite}
.hero-main-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-main-img-ph{width:100%;aspect-ratio:4/3;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:5rem}

/* Float cards */
.hero-float{position:absolute;background:rgba(6,47,109,.92);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:12px 17px;box-shadow:0 16px 40px rgba(0,0,0,.35);z-index:5;min-width:150px}
.hero-float-1{top:-22px;left:-36px;animation:float 5.5s ease 1s infinite}
.hero-float-2{bottom:-18px;right:-28px;animation:float 7s ease .5s infinite reverse}
.float-lbl{font-size:.6rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:3px}
.float-val{font-size:.9rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:5px}
.float-badge{font-size:.6rem;font-weight:700;padding:2px 7px;border-radius:var(--r-full);background:rgba(16,185,129,.2);color:#34d399;border:1px solid rgba(16,185,129,.3)}

/* Slider */
.hero-slider-section{position:relative;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none;z-index:1}
.hero-slide.active{position:relative;opacity:1;pointer-events:auto;z-index:2}
.hero-slider-prev,.hero-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(255,255,255,.18);border:none;color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .2s}
.hero-slider-prev{left:16px}.hero-slider-next{right:16px}
.hero-slider-prev:hover,.hero-slider-next:hover{background:rgba(255,255,255,.34)}
.hero-slider-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:8px}
.hero-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;transition:all .25s;padding:0}
.hero-dot.active{background:#fff;border-color:#fff;width:28px;border-radius:5px}

/* ── HERO TABLET (769–1024px) ── */
@media(min-width:769px) and (max-width:1024px){
  .hero-inner{grid-template-columns:1fr 1fr;gap:32px;padding:80px 0 60px}
  .hero-title{font-size:2.2rem}
  .hero-visual-inner{max-width:360px}
  .hero-float-1{left:-16px;top:-12px}
  .hero-float-2{right:-12px;bottom:-10px}
}

/* ── HERO MOBILE (≤768px) ── */
@media(max-width:768px){
  .hero-section{min-height:auto}
  .hero-inner{grid-template-columns:1fr;gap:0;padding:48px 0 40px;text-align:center}
  .hero-visual{display:none}
  .hero-content{padding-right:0}
  .hero-badge{margin-left:auto;margin-right:auto}
  .hero-trusts{justify-content:center}
  .hero-actions{justify-content:center;flex-direction:column;align-items:stretch;gap:10px}
  .hero-actions .btn{width:100%;text-align:center;justify-content:center}
  .hero-stats{flex-wrap:wrap;justify-content:center;gap:var(--s6)}
  .hero-stat-div{display:none}
  .hero-stats>div{text-align:center}
  .hero-scroll{display:none}
}

/* ── DISTRIBUTOR TICKER — clear logos, good sizing ── */
.ticker-section{background:var(--white);padding:var(--s10) 0;border-bottom:1px solid var(--gray-100);overflow:hidden}
.ticker-header{text-align:center;margin-bottom:var(--s6)}
.ticker-outer{overflow:hidden;position:relative;width:100%}
.ticker-outer::before,.ticker-outer::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.ticker-outer::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
.ticker-outer::after{right:0;background:linear-gradient(to left,var(--white),transparent)}
.ticker-track{display:flex;align-items:center;width:max-content;animation:tickerScroll 30s linear infinite;will-change:transform}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;justify-content:center;width:200px;height:100px;padding:12px 20px;flex-shrink:0;border-right:1px solid var(--gray-100);transition:background var(--tm)}
.ticker-item:hover{background:var(--primary-pale)}
.ticker-item img{max-width:150px;max-height:70px;width:auto;height:auto;object-fit:contain;opacity:.85;transition:all var(--tm)}
.ticker-item:hover img{opacity:1;transform:scale(1.05)}
.ticker-brand-name{font-size:.875rem;font-weight:700;color:var(--text-muted);text-align:center}
.ticker-item:hover .ticker-brand-name{color:var(--primary)}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-33.333%)}}
@media(max-width:768px){
  .ticker-item{width:150px;height:80px;padding:10px 12px}
  .ticker-item img{max-width:110px;max-height:52px}
  .ticker-track{animation-duration:22s}
}
@media(max-width:480px){
  .ticker-item{width:120px;height:65px;padding:8px}
  .ticker-item img{max-width:88px;max-height:40px}
}

/* ── PRODUCTS GRID — clean, no overlap, images contained ── */
.products-section{background:var(--gray-50)}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.product-card-wrap{display:flex;flex-direction:column;min-width:0}
.product-card-wrap .product-card{flex:1}
.product-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;position:relative;height:100%;transition:all var(--ts)}
.product-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--dark));opacity:0;transition:opacity var(--tm)}
.product-card:hover{border-color:var(--primary-pale2);box-shadow:var(--sh-xl);transform:translateY(-4px)}
.product-card:hover::before{opacity:1}
.product-card-link{position:absolute;inset:0;z-index:0;display:block}

/* Image area: fixed height, object-fit:contain, no crop */
.product-img-wrap{position:relative;width:100%;height:190px;overflow:hidden;background:var(--gray-50);border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.product-img-wrap img{width:100%;height:100%;object-fit:contain;object-position:center;padding:10px;transition:transform .4s ease}
.product-card:hover .product-img-wrap img{transform:scale(1.04)}
.product-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,var(--gray-50),var(--primary-pale))}
.product-cat-badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid var(--gray-200);border-radius:var(--r-full);padding:3px 10px;font-size:.65rem;font-weight:700;color:var(--primary);z-index:2}
.product-brand-badge{position:absolute;top:10px;right:10px;background:var(--primary);color:var(--white);border-radius:var(--r-xs);padding:3px 8px;font-size:.6rem;font-weight:700;z-index:2}

/* Body */
.product-body{padding:var(--s5);flex:1;display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}
.product-body .btn,.product-body a,.product-actions,.product-actions a,.product-datasheet-link{position:relative;z-index:2}
.product-model-badge{display:inline-flex;align-items:center;background:var(--primary-pale);color:var(--primary);border:1px solid var(--primary-pale2);border-radius:var(--r-full);padding:3px 10px;font-size:.68rem;font-weight:700;white-space:nowrap;flex-shrink:0}
.product-title{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.38;word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-title a{color:inherit}
.product-title a:hover{color:var(--primary)}
.product-excerpt{font-size:.78rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.product-actions{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid var(--gray-100)}
.product-actions .btn{width:100%;justify-content:center;font-size:.78rem;padding:9px 12px}
.product-datasheet-link{text-align:center;font-size:.75rem;font-weight:600;color:var(--primary);display:flex;align-items:center;justify-content:center;gap:4px}

/* Products grid breakpoints */
@media(max-width:1100px){
  .products-grid{grid-template-columns:repeat(3,1fr)}
  .product-img-wrap{height:170px}
}
@media(max-width:900px){
  .products-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .product-img-wrap{height:180px}
}
@media(max-width:600px){
  .products-grid{grid-template-columns:1fr!important;gap:14px}
  .product-img-wrap{height:220px!important}
  .product-title{font-size:.95rem;-webkit-line-clamp:unset}
  .product-actions .btn{font-size:.84rem;padding:10px 14px}
}

/* ── CAT TABS ── */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:var(--s12)}
.cat-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--r-full);font-size:.8125rem;font-weight:700;color:var(--text-muted);background:var(--white);border:1.5px solid var(--gray-200);cursor:pointer;transition:all var(--tm)}
.cat-tab:hover,.cat-tab.active{background:var(--primary);color:var(--white);border-color:var(--primary);box-shadow:var(--sh-blue)}

/* ── TESTIMONIALS — 3-per-row desktop, slide on mobile ── */
.testimonials-section{background:var(--white)}

/* Desktop: static 3-column grid */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}

/* Carousel wrapping (only active on mobile/tablet) */
.testi-carousel-wrap{position:relative}
.testi-carousel{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.testi-carousel-item{/* no flex tricks needed on desktop */}
.testi-carousel-controls{display:none} /* hidden on desktop */

@media(max-width:1024px){
  .testi-grid{grid-template-columns:repeat(2,1fr)}
  .testi-carousel{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  /* Switch to slide carousel on mobile */
  .testi-carousel-wrap{overflow:hidden}
  .testi-carousel{display:flex;flex-wrap:nowrap;grid-template-columns:unset;transition:transform .45s cubic-bezier(.4,0,.2,1)}
  .testi-carousel-item{flex:0 0 100%;min-width:100%;padding:0 2px;box-sizing:border-box}
  .testi-carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}
  .testi-prev,.testi-next{background:var(--primary);border:none;color:#fff;width:38px;height:38px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
  .testi-prev:hover,.testi-next:hover{background:var(--primary-dk)}
  .testi-dots{display:flex;gap:7px}
  .testi-dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--primary);background:transparent;cursor:pointer;transition:all .25s;padding:0}
  .testi-dot.active{background:var(--primary);width:24px;border-radius:5px}
}

.testi-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:var(--s8);transition:all var(--ts);height:100%}
.testi-card:hover{background:var(--white);box-shadow:var(--sh-lg);border-color:var(--primary-pale2);transform:translateY(-3px)}
.testi-stars{color:#f59e0b;font-size:.78rem;margin-bottom:var(--s4)}
.testi-quote{font-size:2.2rem;color:var(--primary-pale2);line-height:1;font-family:Georgia,serif;margin-bottom:var(--s5)}
.testi-text{font-size:.9375rem;color:var(--text-body);line-height:1.72;margin-bottom:var(--s6)}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:var(--s5);border-top:1px solid var(--gray-200)}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--dark));display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1rem;flex-shrink:0;overflow:hidden}
.testi-name{font-size:.875rem;font-weight:700;color:var(--text)}
.testi-role{font-size:.75rem;color:var(--text-muted)}

/* Home page industries — overlay cards */
.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.industry-card{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.industry-img{position:absolute;inset:0;z-index:0}
.industry-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.industry-card:hover .industry-img img{transform:scale(1.08)}
.industry-img-ph{width:100%;height:100%;background:linear-gradient(135deg,var(--dark),var(--primary));display:flex;align-items:center;justify-content:center;font-size:3rem}
.industry-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,47,109,.93) 0%,rgba(6,47,109,.45) 55%,transparent 100%);z-index:1;transition:background var(--ts)}
.industry-card:hover .industry-overlay{background:linear-gradient(to top,rgba(6,47,109,.97) 0%,rgba(6,47,109,.68) 60%,rgba(6,47,109,.2) 100%)}
.industry-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:var(--s6)}
.industry-icon-box{width:42px;height:42px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:10px}
.industry-name{font-size:.9375rem;font-weight:700;color:#fff;margin-bottom:4px}
.industry-desc{font-size:.78rem;color:rgba(255,255,255,.65);line-height:1.5;transform:translateY(14px);opacity:0;transition:all var(--ts)}
.industry-card:hover .industry-desc{transform:translateY(0);opacity:1}
@media(max-width:900px){.industries-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.industries-grid{grid-template-columns:1fr}}

/* ══ 5. TESTIMONIALS — always sliding, 3-up on desktop ══ */
.testimonials-section{background:var(--white)}
.testi-carousel-wrap{position:relative;overflow:hidden}
.testi-carousel{
  display:flex;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
}
/* Desktop: show 3 per "page" — each item is 33.333% wide */
.testi-carousel-item{
  flex:0 0 33.333%;
  min-width:33.333%;
  padding:0 10px;
  box-sizing:border-box;
}
.testi-card{
  background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-xl);
  padding:var(--s8);transition:all var(--ts);height:100%;box-sizing:border-box;
}
.testi-card:hover{background:var(--white);box-shadow:var(--sh-lg);border-color:var(--primary-pale2);transform:translateY(-3px)}
.testi-stars{color:#f59e0b;font-size:.78rem;margin-bottom:var(--s4)}
.testi-quote{font-size:2.2rem;color:var(--primary-pale2);line-height:1;font-family:Georgia,serif;margin-bottom:var(--s5)}
.testi-text{font-size:.9375rem;color:var(--text-body);line-height:1.72;margin-bottom:var(--s6)}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:var(--s5);border-top:1px solid var(--gray-200)}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--dark));display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1rem;flex-shrink:0;overflow:hidden}
.testi-name{font-size:.875rem;font-weight:700;color:var(--text)}
.testi-role{font-size:.75rem;color:var(--text-muted)}
/* Controls — always visible */
.testi-carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.testi-prev,.testi-next{background:var(--primary);border:none;color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;line-height:1}
.testi-prev:hover,.testi-next:hover{background:var(--primary-dk)}
.testi-dots{display:flex;gap:8px}
.testi-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--primary);background:transparent;cursor:pointer;transition:all .25s;padding:0}
.testi-dot.active{background:var(--primary);width:26px;border-radius:5px}
/* Tablet: 2 per row */
@media(max-width:1024px) and (min-width:641px){
  .testi-carousel-item{flex:0 0 50%;min-width:50%}
}
/* Mobile: 1 per row */
@media(max-width:640px){
  .testi-carousel-item{flex:0 0 100%;min-width:100%;padding:0 4px}
}

/* ══ 6. QUOTE PAGE — form first on mobile ══ */
.quote-page-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s8);align-items:start}
@media(max-width:900px){
  .quote-page-wrap{display:flex;flex-direction:column;gap:24px}
  #quoteCard{order:-1}   /* form on top */
  #quoteSidebar{order:0}  /* logos + why below */
}

/* ══ 7. GALLERY — 1 image per row on mobile ══ */
@media(max-width:600px){
  .gallery-grid{grid-template-columns:1fr!important}
  .gallery-item.wide{grid-column:auto;aspect-ratio:4/3}
  .gallery-item{aspect-ratio:4/3}
}

/* ══ 8. FOOTER CTA BUTTON ══ */
.footer-cta-btn{background:#3399ff;border-color:#3399ff;color:#fff}
.footer-cta-btn:hover{background:#1a7fe0;border-color:#1a7fe0;color:#fff}

/* ================================================================
   AE v5.0 — MASTER OVERRIDE (final authoritative rules)
   Overwrites all previous conflicting patches above.
================================================================ */

/* ══ HERO — left-aligned two-column ══ */
.hero-section{
  position:relative;min-height:100vh;display:flex;align-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,var(--dark) 0%,var(--primary) 100%);
  margin-top:calc(-1 * var(--hdr-h));padding-top:var(--hdr-h);
}
/* Standard two-column inner — LEFT text, RIGHT image */
.hero-inner{
  position:relative;z-index:10;width:100%;
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:center;
  padding:100px 0 80px;
}
/* LEFT: all content left-aligned */
.hero-content{
  text-align:left;
  display:flex;flex-direction:column;align-items:flex-start;
}
.hero-content .hero-badge{margin-left:0}
.hero-content .hero-trusts{justify-content:flex-start}
.hero-content .hero-actions{justify-content:flex-start;flex-wrap:wrap}
.hero-content .hero-stats{justify-content:flex-start}

/* RIGHT: visual container */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.hero-visual-inner{position:relative;width:100%;max-width:500px}

/* Image slides — only .active shown, CSS fade animation */
.hero-slide-img{display:none;position:relative}
.hero-slide-img.active{display:block;animation:heroImgFadeIn .6s ease both}
@keyframes heroImgFadeIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}

/* hero-main-img — floating */
.hero-main-img{
  width:100%;border-radius:var(--r-2xl);overflow:hidden;
  box-shadow:0 28px 70px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.07);
  animation:float 6s ease-in-out infinite;
}
.hero-main-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.hero-main-img-ph{width:100%;aspect-ratio:4/3;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:5rem}

/* hero-float-1 — floats over image, left side */
.hero-float{
  position:absolute;
  background:rgba(6,47,109,.92);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-lg);padding:12px 17px;
  box-shadow:0 16px 40px rgba(0,0,0,.35);
  z-index:5;min-width:155px;
}
.hero-float-1{
  top:-24px;left:-36px;
  animation:floatCard 5.5s ease 1s infinite;
}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.float-lbl{font-size:.6rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:3px}
.float-val{font-size:.9rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:5px}

/* Dot indicators */
.hero-img-dots{display:flex;gap:8px;margin-top:16px;justify-content:center}
.hero-img-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;transition:all .25s;padding:0}
.hero-img-dot.active{background:#fff;border-color:#fff;width:28px;border-radius:5px}

/* Tablet hero (769–1100px) */
@media(min-width:769px) and (max-width:1100px){
  .hero-inner{gap:36px;padding:80px 0 60px}
  .hero-float-1{left:-16px;top:-14px}
  .hero-main-img img{aspect-ratio:4/3}
}
/* Mobile hero (≤768px) — text on top, image below */
@media(max-width:768px){
  .hero-section{min-height:auto}
  .hero-inner{
    grid-template-columns:1fr;gap:28px;
    padding:48px 0 44px;
    text-align:left;
  }
  .hero-content{align-items:flex-start}
  .hero-visual{order:2}
  .hero-float-1{left:-10px;top:-10px;min-width:130px;padding:8px 12px}
  .float-val{font-size:.78rem}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-stats{flex-wrap:wrap;gap:var(--s5)}
  .hero-stat-div{display:none}
  .hero-scroll{display:none}
}
@media(max-width:480px){
  .hero-inner{padding:36px 0 32px}
  .hero-title{font-size:2rem}
  .hero-float-1{display:none}
}

/* ══ PRODUCTS — no overlap, contained images ══ */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.product-card-wrap{min-width:0;display:flex;flex-direction:column}
.product-card{
  background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);
  overflow:hidden;display:flex;flex-direction:column;height:100%;
  transition:all var(--ts);position:relative;
}
.product-card:hover{border-color:var(--primary-pale2);box-shadow:var(--sh-xl);transform:translateY(-4px)}
.product-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--dark));opacity:0;transition:opacity var(--tm)}
.product-card:hover::before{opacity:1}
.product-img-wrap{
  width:100%;height:190px;flex-shrink:0;overflow:hidden;
  background:var(--gray-50);border-bottom:1px solid var(--gray-100);
  display:flex;align-items:center;justify-content:center;
}
.product-img-wrap img{
  width:100%;height:100%;
  object-fit:contain;object-position:center;
  padding:10px;transition:transform .4s ease;
}
.product-card:hover .product-img-wrap img{transform:scale(1.04)}
.product-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,var(--gray-50),var(--primary-pale))}
.product-cat-badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid var(--gray-200);border-radius:var(--r-full);padding:3px 10px;font-size:.65rem;font-weight:700;color:var(--primary);z-index:2}
.product-brand-badge{position:absolute;top:10px;right:10px;background:var(--primary);color:#fff;border-radius:var(--r-xs);padding:3px 8px;font-size:.6rem;font-weight:700;z-index:2}
.product-body{padding:var(--s5);flex:1;display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}
.product-model-badge{display:inline-flex;align-items:center;background:var(--primary-pale);color:var(--primary);border:1px solid var(--primary-pale2);border-radius:var(--r-full);padding:3px 10px;font-size:.68rem;font-weight:700;flex-shrink:0}
.product-title{font-size:.9rem;font-weight:700;color:var(--text);line-height:1.38;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-title a{color:inherit}
.product-title a:hover{color:var(--primary)}
.product-excerpt{font-size:.78rem;color:var(--text-muted);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-actions{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid var(--gray-100)}
.product-actions .btn{width:100%;justify-content:center;font-size:.78rem;padding:9px 12px;position:relative;z-index:2}
.product-datasheet-link{text-align:center;font-size:.75rem;font-weight:600;color:var(--primary);display:flex;align-items:center;justify-content:center;gap:4px;position:relative;z-index:2}
/* Products breakpoints */
@media(max-width:1100px){.products-grid{grid-template-columns:repeat(3,1fr)}.product-img-wrap{height:170px}}
@media(max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr);gap:14px}.product-img-wrap{height:175px}}
@media(max-width:600px){
  .products-grid{grid-template-columns:1fr!important;gap:14px}
  .product-img-wrap{height:220px!important}
  .product-title{-webkit-line-clamp:unset;font-size:.95rem}
  .product-actions .btn{font-size:.84rem;padding:10px 14px}
}

/* ══ TESTIMONIALS — static 3-col grid, NO slider ══ */
.testimonials-section{background:var(--white)}
.testi-static-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--s6);
}
/* Hide any leftover carousel controls */
.testi-carousel-controls{display:none!important}

.testi-card{
  background:var(--gray-50);border:1px solid var(--gray-200);
  border-radius:var(--r-xl);padding:var(--s8);
  transition:all var(--ts);display:flex;flex-direction:column;
}
.testi-card:hover{background:var(--white);box-shadow:var(--sh-lg);border-color:var(--primary-pale2);transform:translateY(-3px)}
.testi-stars{color:#f59e0b;font-size:.85rem;letter-spacing:2px;margin-bottom:var(--s4)}
.testi-quote{font-size:2.5rem;color:var(--primary-pale2);line-height:1;font-family:Georgia,serif;margin-bottom:var(--s4);line-height:.8}
.testi-text{font-size:.9375rem;color:var(--text-body);line-height:1.72;margin-bottom:var(--s6);flex:1}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:var(--s5);border-top:1px solid var(--gray-200);margin-top:auto}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--dark));display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1rem;flex-shrink:0;overflow:hidden}
.testi-name{font-size:.875rem;font-weight:700;color:var(--text)}
.testi-role{font-size:.75rem;color:var(--text-muted)}
/* Tablet: 2 per row */
@media(max-width:1024px){.testi-static-grid{grid-template-columns:repeat(2,1fr)}}
/* Mobile: 1 per row */
@media(max-width:640px){.testi-static-grid{grid-template-columns:1fr}}

/* ══ CONTACT PAGE — side-by-side on desktop/tablet, stacked on mobile ══ */
.contact-page-grid{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:var(--s8);
  align-items:start;
}
.contact-side-col{display:flex;flex-direction:column;gap:0}
.contact-form-col{display:flex;flex-direction:column}
.contact-side-box{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--r-2xl);padding:var(--s8);
}
.contact-side-box h2{font-size:1.375rem;font-weight:800;color:var(--text);margin-bottom:var(--s8)}
.contact-form-light-box{
  background:var(--white);border:1px solid var(--gray-200);
  border-radius:var(--r-2xl);padding:var(--s8);box-shadow:var(--sh-md);
}
.contact-form-light-box h2{font-size:1.375rem;font-weight:800;color:var(--text);margin-bottom:var(--s8)}
/* Mobile: Our Details first, then form */
@media(max-width:768px){
  .contact-page-grid{
    grid-template-columns:1fr;
    gap:var(--s6);
  }
  .contact-side-col{order:1}   /* Our Details — top */
  .contact-form-col{order:2}   /* Form — below */
}

/* ══ QUOTE PAGE — form top on mobile ══ */
.quote-page-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s8);align-items:start}
@media(max-width:900px){
  .quote-page-wrap{display:flex;flex-direction:column;gap:var(--s6)}
  #quoteCard{order:1}      /* form first */
  #quoteSidebar{order:2}   /* distributors + why below */
}

/* ══ TICKER ══ */
.ticker-section{background:var(--white);padding:var(--s10) 0;border-bottom:1px solid var(--gray-100);overflow:hidden}
.ticker-header{text-align:center;margin-bottom:var(--s6)}
.ticker-outer{overflow:hidden;position:relative;width:100%}
.ticker-outer::before,.ticker-outer::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.ticker-outer::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
.ticker-outer::after{right:0;background:linear-gradient(to left,var(--white),transparent)}
.ticker-track{display:flex;align-items:center;width:max-content;animation:tickerScroll 30s linear infinite;will-change:transform}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;justify-content:center;width:200px;height:100px;padding:12px 20px;flex-shrink:0;border-right:1px solid var(--gray-100);transition:background var(--tm)}
.ticker-item:hover{background:var(--primary-pale)}
.ticker-item img{max-width:150px;max-height:68px;width:auto;height:auto;object-fit:contain;opacity:1;transition:transform var(--tm)}
.ticker-item:hover img{transform:scale(1.05)}
.ticker-brand-name{font-size:.875rem;font-weight:700;color:var(--text-muted);text-align:center}
.ticker-item:hover .ticker-brand-name{color:var(--primary)}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-33.333%)}}
@media(max-width:768px){
  .ticker-item{width:160px!important;height:88px!important;padding:10px 14px!important}
  .ticker-item img{max-width:130px!important;max-height:58px!important}
  .ticker-track{animation-duration:22s}
}
@media(max-width:480px){
  .ticker-item{width:130px!important;height:72px!important;padding:8px 10px!important}
  .ticker-item img{max-width:105px!important;max-height:46px!important}
}

/* ══ GALLERY — 1 per row on mobile ══ */
@media(max-width:600px){
  .gallery-grid{grid-template-columns:1fr!important}
  .gallery-item,.gallery-item.wide{grid-column:auto;aspect-ratio:4/3}
}

/* ══ FOOTER CTA ══ */
.footer-cta-btn{background:#3399ff!important;border-color:#3399ff!important;color:#fff!important}
.footer-cta-btn:hover{background:#1a7fe0!important;border-color:#1a7fe0!important}




/* On desktop restore visual order: sidebar left, form right */
#quoteCard   { order:2 }
#quoteSidebar{ order:1 }

@media(max-width:900px){
  .quote-page-wrap{
    display:block!important;
  }
  /* Both full width, natural DOM order (form first) */
  #quoteCard, #quoteSidebar,
  .quote-card, .quote-sidebar{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    order:unset!important;
  }
  #quoteCard   { margin-bottom:24px!important }
  #quoteSidebar{ margin-top:0!important }
  /* Trust bar — clean 2×2 */
  .trust-bar{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    box-sizing:border-box;
    margin-bottom:20px!important;
  }
  .trust-item{
    justify-content:center;text-align:center;
    font-size:.72rem!important;
    padding:8px 4px!important;
    background:var(--white);
    border:1px solid var(--gray-200);
    border-radius:var(--r-md);
  }
}

/* ================================================================
   AE v5.4 — TICKER LOGO CLEAR + PRODUCT CARD FINAL FIX
================================================================ */

/* ══ TICKER — white background, original colors, no filter, sharp ══ */
.ticker-item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:200px!important;
  height:110px!important;
  padding:16px 20px!important;
  flex-shrink:0;
  background:#ffffff!important;
  border-right:1px solid #f0f0f0;
  box-sizing:border-box;
  transition:box-shadow .2s ease;
}
.ticker-item:hover{
  background:#ffffff!important;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.ticker-item img{
  max-width:140px!important;
  max-height:72px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block;
  /* NO filter — original colors preserved */
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  image-rendering:crisp-edges;
  image-rendering:-webkit-optimize-contrast;
}
.ticker-item:hover img{
  transform:none!important;
  filter:none!important;
}
/* Mobile: bigger, still white, clearly visible */
@media(max-width:768px){
  .ticker-item{
    width:150px!important;
    height:90px!important;
    padding:12px 14px!important;
    background:#ffffff!important;
  }
  .ticker-item img{
    max-width:118px!important;
    max-height:58px!important;
  }
}
@media(max-width:480px){
  .ticker-item{
    width:130px!important;
    height:78px!important;
    padding:10px 10px!important;
    background:#ffffff!important;
  }
  .ticker-item img{
    max-width:100px!important;
    max-height:50px!important;
  }
}

/* ══ PRODUCT CARD — fixed height, flex column, white image bg, no overlap ══ */

/* Grid: equal-height rows */
.products-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;  /* stretch = all cards in a row same height */
}
.product-card-wrap{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
}

/* Card: full flexbox column, minimum height so short content doesn't collapse */
.product-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;          /* fill the grid cell */
  min-height:380px!important;     /* never shorter than this */
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  overflow:hidden!important;
  position:relative!important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease!important;
  box-sizing:border-box!important;
}
.product-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 12px 40px rgba(51,153,255,.15)!important;
  border-color:#bfdbfe!important;
}

/* Image area: fixed height, white background, object-fit:contain — NO crop */
.product-img-wrap{
  width:100%!important;
  height:200px!important;
  min-height:200px!important;
  flex-shrink:0!important;        /* never shrink the image area */
  background:#ffffff!important;
  border-bottom:1px solid #f3f4f6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.product-img-wrap img{
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 20px)!important;
  max-height:180px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:0!important;
  background:#ffffff!important;
  transition:transform .35s ease!important;
}
.product-card:hover .product-img-wrap img{
  transform:scale(1.04)!important;
}
.product-img-ph{
  width:100%!important;
  height:100%!important;
  background:#f8faff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:3.5rem!important;
}

/* Body: grows to fill remaining space */
.product-body{
  padding:16px!important;
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  position:relative!important;
  z-index:1!important;
  min-height:0!important;
}

/* Title: clamp to 3 lines max so it doesn't push actions down unevenly */
.product-title{
  font-size:.9rem!important;
  font-weight:700!important;
  line-height:1.4!important;
  color:#1e293b!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin:0!important;
}
.product-excerpt{
  font-size:.775rem!important;
  color:#64748b!important;
  line-height:1.5!important;
  flex:1!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

/* Actions: always pinned to bottom of card */
.product-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin-top:auto!important;
  padding-top:12px!important;
  border-top:1px solid #f3f4f6!important;
}
.product-actions .btn,
.product-actions a.btn{
  width:100%!important;
  text-align:center!important;
  justify-content:center!important;
  font-size:.8rem!important;
  padding:9px 12px!important;
  position:relative!important;
  z-index:2!important;
  box-sizing:border-box!important;
}
.product-datasheet-link{
  text-align:center!important;
  font-size:.75rem!important;
  font-weight:600!important;
  color:#3399ff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  position:relative!important;
  z-index:2!important;
}

/* Product grid breakpoints */
@media(max-width:1200px){
  .products-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:900px){
  .products-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
  .product-card{min-height:340px!important}
  .product-img-wrap{height:180px!important;min-height:180px!important}
}
@media(max-width:580px){
  .products-grid{grid-template-columns:1fr!important;gap:12px!important}
  .product-card{min-height:320px!important}
  .product-img-wrap{height:200px!important;min-height:200px!important}
  .product-title{-webkit-line-clamp:unset!important}
}


/* Desktop: sidebar left ~38%, form right ~62% */
.quote-page-wrap{
  display:grid!important;
  grid-template-columns:1fr 1.65fr!important;
  gap:var(--s8)!important;
  align-items:start!important;
  width:100%!important;
}

/* Visual order on desktop: sidebar LEFT, form RIGHT */
#quoteSidebar{ order:1!important; width:100%!important; }
#quoteCard   { order:2!important; width:100%!important; }

/* Form card fills its column completely */
.quote-card,
#quoteCard{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Form inside the card — full width inputs */
#quoteCard .ae-form input,
#quoteCard .ae-form select,
#quoteCard .ae-form textarea{
  width:100%!important;
  box-sizing:border-box!important;
}
#quoteCard .form-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
@media(max-width:600px){
  #quoteCard .form-row{
    grid-template-columns:1fr!important;
  }
}

/* Sidebar fills its column */
.quote-sidebar,
#quoteSidebar{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Brand grid inside sidebar: 3 columns */
.quote-brand-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
}
.quote-brand-item{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
  padding:12px 8px!important;
  min-height:72px!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
  transition:border-color .2s,box-shadow .2s!important;
}
.quote-brand-item:hover{
  border-color:#3399ff!important;
  box-shadow:0 4px 12px rgba(51,153,255,.12)!important;
}
.quote-brand-item img{
  max-width:100%!important;
  max-height:44px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
  display:block!important;
}
.quote-brand-name{
  font-size:.68rem!important;
  font-weight:700!important;
  color:#64748b!important;
  text-align:center!important;
}

/* Mobile: full-width stack, form first (DOM order) */
@media(max-width:900px){
  .quote-page-wrap{
    display:flex!important;
    flex-direction:column!important;
    gap:20px!important;
  }
  #quoteCard   { order:1!important }
  #quoteSidebar{ order:2!important }
  #quoteSidebar,#quoteCard,.quote-sidebar,.quote-card{
    width:100%!important;
    max-width:100%!important;
  }
  /* Brand logos: 3-col on tablet, 2-col on small mobile */
  .quote-brand-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:480px){
  .quote-brand-grid{grid-template-columns:repeat(2,1fr)!important}
  .quote-brand-item{min-height:60px!important;padding:8px 6px!important}
  .quote-brand-item img{max-height:36px!important}
}

/* ================================================================
   AE v5.6 — QUOTE PAGE: ONE AUTHORITATIVE LAYOUT RULE
   DOM order: sidebar first, form second (matches desktop visual)
   Mobile: flex-column reverses to form-first via order
================================================================ */

/* ── Desktop / Tablet (>900px): sidebar LEFT, form RIGHT ── */
.quote-page-wrap{
  display:grid!important;
  grid-template-columns:1fr 1.7fr!important;
  gap:32px!important;
  align-items:start!important;
  width:100%!important;
  box-sizing:border-box!important;
}
/* No order overrides needed — DOM order is already correct (sidebar=col1, form=col2) */
#quoteSidebar,
.quote-sidebar{ order:unset!important; width:100%!important; box-sizing:border-box!important; }
#quoteCard,
.quote-card   { order:unset!important; width:100%!important; box-sizing:border-box!important; }

/* ── Mobile (≤900px): stack vertically, form on top ── */
@media(max-width:900px){
  .quote-page-wrap{
    display:flex!important;
    flex-direction:column!important;
    gap:20px!important;
  }
  /* Form first on mobile — override DOM order */
  #quoteCard,.quote-card    { order:1!important; }
  #quoteSidebar,.quote-sidebar{ order:2!important; }
  /* Both full width */
  #quoteCard,#quoteSidebar,
  .quote-card,.quote-sidebar{
    width:100%!important;
    max-width:100%!important;
  }
}

/* ── Brand logo grid inside sidebar ── */
.quote-brand-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
}
.quote-brand-item{
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:#fff!important;border:1px solid #e5e7eb!important;
  border-radius:10px!important;padding:10px 8px!important;min-height:68px!important;
  box-sizing:border-box!important;text-decoration:none!important;
  transition:border-color .2s,box-shadow .2s!important;
}
.quote-brand-item:hover{ border-color:#3399ff!important;box-shadow:0 4px 12px rgba(51,153,255,.12)!important; }
.quote-brand-item img{ max-width:100%!important;max-height:42px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important; }
.quote-brand-name{ font-size:.68rem!important;font-weight:700!important;color:#64748b!important;text-align:center!important; }

/* ── Trust bar ── */
.trust-bar{
  display:flex!important;
  justify-content:center!important;
  gap:var(--s8)!important;
  flex-wrap:wrap!important;
  padding:var(--s5) var(--s6)!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-xl)!important;
  margin-bottom:var(--s8)!important;
  width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:600px){
  .trust-bar{ display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important; }
  .trust-item{ justify-content:center!important;text-align:center!important; }
  .quote-brand-grid{ grid-template-columns:repeat(2,1fr)!important; }
}

/* ── Quote sidebar box helpers ── */
.quote-sidebar-box{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-xl);padding:var(--s6)}
.quote-sidebar-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--s5)}
.quote-why-item{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}
.quote-why-check{width:20px;height:20px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#fff;font-weight:700;flex-shrink:0;margin-top:2px}
.quote-why-title{font-size:.875rem;font-weight:700;color:var(--text)}
.quote-why-desc{font-size:.8rem;color:var(--text-muted)}
.quote-form-section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}
.quote-card h2{font-size:1.4rem;font-weight:800;color:var(--text);margin-bottom:6px}
.quote-card .sub{font-size:.9rem;color:var(--text-muted);margin-bottom:var(--s6)}

/* ── Product filter: hidden cards take no space, grid reflows cleanly ── */
.product-card-wrap[style*="display:none"],
.product-card-wrap[style*="display: none"]{
  display:none!important;
}
/* When filtering, grid should reflow — remove stretch so hidden gaps collapse */
.products-grid{
  align-items:start!important;
}

/* ================================================================
   AE v5.9 — PRODUCT GRID DEFINITIVE FIX (overrides everything above)
================================================================ */

/* Grid: auto rows, each cell independent height — NO stretch */
.products-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px!important;
  align-items:start!important;      /* each card is only as tall as its content */
  grid-auto-rows:auto!important;
}

/* Wrap: flex column so card fills naturally */
.product-card-wrap{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:auto!important;            /* do NOT force height */
  align-self:start!important;       /* prevent grid from stretching this cell */
}

/* Card: flex column, auto height — content drives height */
.product-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:0!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  overflow:hidden!important;
  position:relative!important;
  width:100%!important;
  box-sizing:border-box!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.product-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 12px 36px rgba(51,153,255,.15)!important;
  border-color:#bfdbfe!important;
}
.product-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#3399ff,#062f6d);
  opacity:0;transition:opacity .2s!important;
}
.product-card:hover::before{opacity:1!important}

/* Image: fixed height, white bg, contain — never distorts */
.product-img-wrap{
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  flex-shrink:0!important;
  background:#ffffff!important;
  border-bottom:1px solid #f3f4f6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.product-img-wrap img{
  max-width:calc(100% - 16px)!important;
  max-height:170px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:0!important;
  transition:transform .35s ease!important;
}
.product-card:hover .product-img-wrap img{transform:scale(1.04)!important}
.product-img-ph{
  width:100%!important;height:100%!important;
  background:#f8faff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:3.5rem!important;
}

/* Body: flexible, drives card height */
.product-body{
  padding:14px 16px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  flex:1!important;
  position:relative!important;
  z-index:1!important;
}

/* Title: max 3 lines */
.product-title{
  font-size:.875rem!important;
  font-weight:700!important;
  line-height:1.4!important;
  color:#1e293b!important;
  word-break:break-word!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin:0!important;
}
.product-title a{color:inherit!important}
.product-title a:hover{color:#3399ff!important}

.product-excerpt{
  font-size:.775rem!important;
  color:#64748b!important;
  line-height:1.5!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  flex:1!important;
}

/* Actions: always at the bottom, full width */
.product-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin-top:auto!important;
  padding-top:10px!important;
  border-top:1px solid #f3f4f6!important;
}
.product-actions .btn,
.product-actions a.btn{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.8rem!important;
  padding:9px 12px!important;
  box-sizing:border-box!important;
  position:relative!important;z-index:2!important;
}
.product-datasheet-link{
  text-align:center!important;font-size:.75rem!important;font-weight:600!important;
  color:#3399ff!important;display:flex!important;align-items:center!important;
  justify-content:center!important;gap:4px!important;
  position:relative!important;z-index:2!important;
}

/* Badges */
.product-cat-badge{
  position:absolute!important;top:10px!important;left:10px!important;
  background:rgba(255,255,255,.92)!important;backdrop-filter:blur(6px)!important;
  border:1px solid #e5e7eb!important;border-radius:100px!important;
  padding:3px 10px!important;font-size:.65rem!important;font-weight:700!important;
  color:#3399ff!important;z-index:2!important;white-space:nowrap!important;
  max-width:calc(50% - 14px)!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.product-brand-badge{
  position:absolute!important;top:10px!important;right:10px!important;
  background:#3399ff!important;color:#fff!important;border-radius:4px!important;
  padding:3px 8px!important;font-size:.6rem!important;font-weight:700!important;z-index:2!important;
  white-space:nowrap!important;max-width:calc(50% - 14px)!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
}
.product-model-badge{
  display:inline-flex!important;align-items:center!important;
  background:#eff6ff!important;color:#3399ff!important;
  border:1px solid #bfdbfe!important;border-radius:100px!important;
  padding:3px 10px!important;font-size:.68rem!important;font-weight:700!important;
  white-space:nowrap!important;flex-shrink:0!important;align-self:flex-start!important;
}

/* Breakpoints */
@media(max-width:1200px){
  .products-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:900px){
  .products-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
  .product-img-wrap{height:170px!important;min-height:170px!important;max-height:170px!important}
}
@media(max-width:560px){
  .products-grid{grid-template-columns:1fr!important;gap:12px!important}
  .product-img-wrap{height:200px!important;min-height:200px!important;max-height:200px!important}
  .product-title{-webkit-line-clamp:unset!important}
}

/* ================================================================
   AE v6.0 — PRODUCT CARD FINAL (single source of truth)
================================================================ */

/* Grid — independent card heights, no stretching */
.products-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px!important;
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.product-card-wrap{
  display:block!important;
  min-width:0!important;
  width:100%!important;
}
/* Card — no fixed height, pure flex column */
.product-card{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:auto!important;
  min-height:unset!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  overflow:hidden!important;
  position:static!important;     /* NO position:relative — removes stacking context */
  box-sizing:border-box!important;
  transition:box-shadow .25s,border-color .25s,transform .25s!important;
}
.product-card:hover{
  box-shadow:0 8px 32px rgba(51,153,255,.14)!important;
  border-color:#93c5fd!important;
  transform:translateY(-3px)!important;
}
/* Remove old overlay link if it still exists */
.product-card-link{display:none!important}

/* Image area — locked height, white bg, contain */
.product-img-wrap{
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  flex-shrink:0!important;
  background:#fff!important;
  border-bottom:1px solid #f1f5f9!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  position:relative!important;
  box-sizing:border-box!important;
}
.product-img-wrap img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 20px)!important;
  max-height:160px!important;
  object-fit:contain!important;
  transition:transform .3s!important;
}
.product-card:hover .product-img-wrap img{
  transform:scale(1.05)!important;
}
.product-img-ph{
  width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:3.5rem!important;background:#f8faff!important;
}
/* Badges inside image wrap */
.product-cat-badge{
  position:absolute!important;top:10px!important;left:10px!important;
  background:rgba(255,255,255,.95)!important;border:1px solid #e2e8f0!important;
  border-radius:20px!important;padding:2px 9px!important;
  font-size:.62rem!important;font-weight:700!important;color:#3399ff!important;
  max-width:45%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  z-index:1!important;
}
.product-brand-badge{
  position:absolute!important;top:10px!important;right:10px!important;
  background:#3399ff!important;color:#fff!important;
  border-radius:4px!important;padding:2px 7px!important;
  font-size:.6rem!important;font-weight:700!important;
  max-width:45%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  z-index:1!important;
}
/* Body — grows to fill space */
.product-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  padding:12px 14px 14px!important;
  gap:5px!important;
  position:static!important;
}
.product-model-badge{
  display:inline-flex!important;align-self:flex-start!important;
  background:#eff6ff!important;color:#3399ff!important;
  border:1px solid #bfdbfe!important;border-radius:20px!important;
  padding:2px 10px!important;font-size:.66rem!important;font-weight:700!important;
  white-space:nowrap!important;flex-shrink:0!important;
}
.product-title{
  font-size:.875rem!important;font-weight:700!important;
  color:#0f172a!important;line-height:1.4!important;
  display:-webkit-box!important;-webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;overflow:hidden!important;
  word-break:break-word!important;margin:0!important;
}
.product-title a{color:inherit!important;text-decoration:none!important}
.product-title a:hover{color:#3399ff!important}
.product-excerpt{
  font-size:.775rem!important;color:#64748b!important;line-height:1.5!important;
  display:-webkit-box!important;-webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;overflow:hidden!important;
  flex:1!important;
}
/* Actions pinned to bottom */
.product-actions{
  display:flex!important;flex-direction:column!important;gap:6px!important;
  margin-top:auto!important;padding-top:10px!important;
  border-top:1px solid #f1f5f9!important;
}
.product-actions .btn{
  width:100%!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  font-size:.8rem!important;padding:9px!important;
  box-sizing:border-box!important;position:static!important;
}
.product-datasheet-link{
  text-align:center!important;font-size:.75rem!important;font-weight:600!important;
  color:#3399ff!important;display:flex!important;
  align-items:center!important;justify-content:center!important;gap:4px!important;
}

/* Breakpoints */
@media(max-width:1200px){.products-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:900px){
  .products-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
  .product-img-wrap{height:170px!important;min-height:170px!important;max-height:170px!important}
}
@media(max-width:560px){
  .products-grid{grid-template-columns:1fr!important;gap:12px!important}
  .product-img-wrap{height:200px!important;min-height:200px!important;max-height:200px!important}
  .product-title{-webkit-line-clamp:unset!important}
}

/* ================================================================
   AE v6.1 — PRODUCT CARD: EQUAL HEIGHT ROWS, BUTTONS AT BOTTOM
================================================================ */

/* Grid: stretch so all cards in a row are equal height */
.products-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.product-card-wrap{
  display:flex!important;       /* wrap is flex so card fills full cell height */
  flex-direction:column!important;
  min-width:0!important;
}

/* Card: fills the wrap height completely */
.product-card{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;             /* grow to fill wrap = equal height per row */
  width:100%!important;
  height:100%!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  overflow:hidden!important;
  position:static!important;
  box-sizing:border-box!important;
  transition:box-shadow .25s,border-color .25s,transform .25s!important;
}
.product-card:hover{
  box-shadow:0 8px 32px rgba(51,153,255,.15)!important;
  border-color:#93c5fd!important;
  transform:translateY(-3px)!important;
}
.product-card-link{display:none!important}

/* Image: locked height */
.product-img-wrap{
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  flex-shrink:0!important;
  background:#fff!important;
  border-bottom:1px solid #f1f5f9!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  position:relative!important;
  box-sizing:border-box!important;
}
.product-img-wrap img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 20px)!important;
  max-height:160px!important;
  object-fit:contain!important;
  transition:transform .3s!important;
}
.product-card:hover .product-img-wrap img{transform:scale(1.05)!important}
.product-img-ph{
  width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:3.5rem!important;background:#f8faff!important;
}
.product-cat-badge{
  position:absolute!important;top:10px!important;left:10px!important;
  background:rgba(255,255,255,.95)!important;border:1px solid #e2e8f0!important;
  border-radius:20px!important;padding:2px 9px!important;
  font-size:.62rem!important;font-weight:700!important;color:#3399ff!important;
  max-width:44%!important;overflow:hidden!important;text-overflow:ellipsis!important;
  white-space:nowrap!important;z-index:1!important;
}
.product-brand-badge{
  position:absolute!important;top:10px!important;right:10px!important;
  background:#3399ff!important;color:#fff!important;border-radius:4px!important;
  padding:2px 7px!important;font-size:.6rem!important;font-weight:700!important;
  max-width:44%!important;overflow:hidden!important;text-overflow:ellipsis!important;
  white-space:nowrap!important;z-index:1!important;
}

/* Body: flex column, fills remaining card height */
.product-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;             /* fills height between image and card bottom */
  padding:12px 14px 14px!important;
  gap:5px!important;
  position:static!important;
}
.product-model-badge{
  display:inline-flex!important;align-self:flex-start!important;
  background:#eff6ff!important;color:#3399ff!important;
  border:1px solid #bfdbfe!important;border-radius:20px!important;
  padding:2px 10px!important;font-size:.66rem!important;font-weight:700!important;
  white-space:nowrap!important;flex-shrink:0!important;
}
.product-title{
  font-size:.875rem!important;font-weight:700!important;color:#0f172a!important;
  line-height:1.4!important;word-break:break-word!important;margin:0!important;
  /* NO line-clamp — let title show fully so all cards match height naturally */
  display:block!important;
  overflow:visible!important;
}
.product-title a{color:inherit!important;text-decoration:none!important}
.product-title a:hover{color:#3399ff!important}
.product-excerpt{
  font-size:.775rem!important;color:#64748b!important;line-height:1.5!important;
  display:-webkit-box!important;-webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;overflow:hidden!important;
  flex:1!important;             /* pushes actions down */
}

/* Actions: always at the very bottom of every card */
.product-actions{
  display:flex!important;flex-direction:column!important;gap:6px!important;
  margin-top:auto!important;    /* pushes to bottom regardless of title length */
  padding-top:10px!important;
  border-top:1px solid #f1f5f9!important;
}
.product-actions .btn{
  width:100%!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  font-size:.8rem!important;padding:9px!important;
  box-sizing:border-box!important;position:static!important;
}
.product-datasheet-link{
  text-align:center!important;font-size:.75rem!important;font-weight:600!important;
  color:#3399ff!important;display:flex!important;
  align-items:center!important;justify-content:center!important;gap:4px!important;
}

/* Breakpoints */
@media(max-width:1200px){.products-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:900px){
  .products-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
  .product-img-wrap{height:170px!important;min-height:170px!important;max-height:170px!important}
}
@media(max-width:560px){
  .products-grid{grid-template-columns:1fr!important;gap:12px!important}
  .product-img-wrap{height:200px!important;min-height:200px!important;max-height:200px!important}
}

/* ================================================================
   AE v6.2 — PRODUCT CARD: FIXED TEXT HEIGHTS = TRULY EQUAL CARDS
================================================================ */
/* Title: exactly 2 lines on every card */
.product-title{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:calc(1.4em * 2)!important;   /* always reserves 2-line height */
  font-size:.875rem!important;
  font-weight:700!important;
  line-height:1.4!important;
  color:#0f172a!important;
  word-break:break-word!important;
  margin:0!important;
}
/* Excerpt: exactly 2 lines on every card */
.product-excerpt{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:calc(1.5em * 2)!important;   /* always reserves 2-line height */
  font-size:.775rem!important;
  line-height:1.5!important;
  color:#64748b!important;
  flex:0 0 auto!important;                /* fixed height, don't grow */
}

/* ================================================================
   AE v6.4 — FLOAT CARD 2 + MOBILE PRODUCTS FIX
================================================================ */

/* ── Float Card 2 — bottom-right of image ── */
.hero-slide-img{position:relative}/* needed for absolute float positioning */

.hero-float-2{
  position:absolute!important;
  bottom:-20px!important;
  right:-28px!important;
  animation:floatCard 7s ease .5s infinite reverse!important;
  background:rgba(6,47,109,.92)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:var(--r-lg)!important;
  padding:12px 17px!important;
  box-shadow:0 16px 40px rgba(0,0,0,.35)!important;
  z-index:5!important;
  min-width:155px!important;
}
.float-badge{
  font-size:.6rem!important;font-weight:700!important;
  padding:2px 7px!important;border-radius:var(--r-full)!important;
  background:rgba(16,185,129,.2)!important;color:#34d399!important;
  border:1px solid rgba(16,185,129,.3)!important;
  white-space:nowrap!important;
}

/* Tablet: pull float cards in so they don't clip */
@media(max-width:1024px) and (min-width:769px){
  .hero-float-2{right:-12px!important;bottom:-10px!important}
}

/* Mobile: hide float cards — not enough space */
@media(max-width:768px){
  .hero-float-1,.hero-float-2{display:none!important}
}

/* ── MOBILE: Products section visible on home page ── */
@media(max-width:768px){
  /* Ensure products section is never hidden */
  .products-section{display:block!important;overflow:visible!important}
  .products-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    align-items:start!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  /* Each wrap and card full width, visible */
  .product-card-wrap{
    display:flex!important;
    width:100%!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  .product-card{
    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
  }
  /* Force reveal class visible on mobile for products */
  .products-section .reveal{
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  /* Image area taller on mobile for better visibility */
  .product-img-wrap{
    height:200px!important;
    min-height:200px!important;
    max-height:200px!important;
  }
}
@media(max-width:480px){
  .products-grid{gap:12px!important}
  .product-img-wrap{height:190px!important;min-height:190px!important;max-height:190px!important}
}

/* ================================================================
   AE v6.5 — TESTIMONIALS SMOOTH RESPONSIVE SLIDER
================================================================ */
.testimonials-section{background:var(--white);overflow:hidden}

/* Outer viewport — clips the track */
/* Testimonials grid — simple responsive, no slider JS needed */
/* .testi-grid is defined above at line 259 — already correct */

/* Card */
.testi-card{
  background:var(--gray-50);
  border:1px solid var(--gray-200);
  border-radius:var(--r-xl);
  padding:var(--s8);
  display:flex;
  flex-direction:column;
  width:100%;
  transition:box-shadow .25s,border-color .25s,transform .25s;
}
.testi-card:hover{
  background:var(--white);
  box-shadow:var(--sh-lg);
  border-color:var(--primary-pale2);
  transform:translateY(-3px);
}
.testi-stars{color:#f59e0b;font-size:.85rem;letter-spacing:2px;margin-bottom:var(--s4)}
.testi-quote{font-size:2.8rem;color:var(--primary-pale2);line-height:.75;font-family:Georgia,serif;margin-bottom:var(--s4)}
.testi-text{font-size:.9375rem;color:var(--text-body);line-height:1.72;flex:1;margin-bottom:var(--s6)}
.testi-author{
  display:flex;align-items:center;gap:12px;
  padding-top:var(--s5);border-top:1px solid var(--gray-200);
  margin-top:auto;
}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--dark));
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:#fff;font-size:1rem;
}
.testi-name{font-size:.875rem;font-weight:700;color:var(--text)}
.testi-role{font-size:.75rem;color:var(--text-muted)}

/* Prev / Next arrow buttons */
/* Old slider arrows removed — using grid layout */
.testi-card{padding:var(--s6)}
@media(max-width:640px){.testi-text{font-size:.875rem}}

/* ================================================================
   AE v6.6 — PER-SLIDE HERO BUTTON + GLOBAL EDITABILITY EXPANSION
================================================================ */

/* ── Per-slide floating button on hero image ── */
.hero-slide-btn{
  position:absolute;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#3399ff;
  color:#fff;
  font-size:.875rem;
  font-weight:700;
  padding:10px 24px;
  border-radius:50px;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 6px 20px rgba(51,153,255,.4);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  z-index:6;
  letter-spacing:.01em;
}
.hero-slide-btn:hover{
  background:#1a7fe0;
  transform:translateX(-50%) translateY(-2px);
  box-shadow:0 10px 28px rgba(51,153,255,.5);
}
@media(max-width:768px){
  .hero-slide-btn{
    font-size:.78rem;
    padding:8px 18px;
    bottom:12px;
  }
}
/* Ensure image has enough bottom padding to not overlap button */
.hero-main-img img{padding-bottom:0}
.hero-slide-img .hero-main-img{padding-bottom:0}

/* ── Testimonials section: fully hidden ── */
.testimonials-section{display:none!important}

/* ── Global editability: wire btn-bg/btn-txt CSS vars to buttons ── */
.btn-primary,.btn.btn-primary{
  background:var(--btn-bg,var(--primary))!important;
  color:var(--btn-txt,#fff)!important;
  border-color:var(--btn-bg,var(--primary))!important;
}
.btn-primary:hover,.btn.btn-primary:hover{
  background:var(--primary-dk)!important;
  border-color:var(--primary-dk)!important;
}
body{background:var(--site-bg,#f8faff)}
.product-card,.testi-card,.why-card,.contact-side-box,.contact-form-light-box{
  background:var(--card-bg,#fff)!important;
}

/* ================================================================
   AE v6.6 — GLOBAL VARS APPLIED + HERO SLIDE BUTTON + ABOUT IMAGE
================================================================ */

/* Apply font-size vars globally */
html{ font-size:var(--fs-base,16px) }
body{ font-size:var(--fs-base,16px);line-height:var(--lh-body,1.75) }
h1{ font-size:var(--fs-h1,3.5rem) }
h2{ font-size:var(--fs-h2,2.25rem) }
h3{ font-size:var(--fs-h3,1.375rem) }
h1,h2,h3,h4,h5,h6{ color:var(--color-heading,#0f172a) }

/* Alternate sections use --color-section-alt */
.section:nth-child(even),
.gray-section,
.section-alt{ background:var(--color-section-alt,#f1f5f9)!important }

/* Primary button uses customizer color */
.btn-primary,.btn.btn-primary{
  background:var(--btn-bg)!important;
  color:var(--btn-txt)!important;
  border-color:var(--btn-bg)!important;
}
.btn-primary:hover,.btn.btn-primary:hover{
  background:var(--primary-dk)!important;
  border-color:var(--primary-dk)!important;
}

/* ── HERO SLIDE BUTTON — per-slide floating CTA ── */
.hero-slide-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  position:absolute;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(255,255,255,.95);
  color:var(--primary);
  font-size:.85rem;
  font-weight:700;
  padding:10px 22px;
  border-radius:var(--r-full);
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  white-space:nowrap;
  transition:background .2s,color .2s,transform .2s,box-shadow .2s;
  z-index:6;
  backdrop-filter:blur(8px);
  border:1.5px solid rgba(255,255,255,.6);
}
.hero-slide-btn span{ font-size:1rem;transition:transform .2s }
.hero-slide-btn:hover{
  background:var(--primary);
  color:#fff;
  transform:translateX(-50%) translateY(-2px);
  box-shadow:0 12px 32px rgba(51,153,255,.35);
}
.hero-slide-btn:hover span{ transform:translateX(3px) }
@media(max-width:768px){
  .hero-slide-btn{
    font-size:.78rem;
    padding:8px 16px;
    bottom:10px;
  }
}
@media(max-width:480px){
  .hero-slide-btn{ display:none } /* too small — hide on tiny screens */
}

/* ── ABOUT PAGE: image fully editable via customizer ── */
.about-img-wrap{
  border-radius:var(--r-2xl);
  overflow:hidden;
  box-shadow:var(--sh-xl);
  background:var(--gray-50);
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.about-img-wrap img{
  width:100%;
  height:auto;
  display:block;
  border-radius:var(--r-2xl);
  object-fit:cover;
}
.about-img-ph{
  font-size:5rem;
  padding:60px;
  color:var(--text-muted);
}

.product-single-grid .product-brand-badge{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  font-size:1.05rem!important;
  padding:10px 24px!important;
  font-weight:800!important;
  border-radius:8px!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  box-shadow:0 2px 8px rgba(51,153,255,.25)!important;
}



/* ════ DEFINITIVE OVERRIDES ════ */

/* Industry desc — always visible (not hidden-until-hover) */
.industry-desc--visible{opacity:1!important;transform:translateY(0)!important;}
.industry-icon-box{transform:translateY(0)!important;}

/* Testimonials — track always flex, section always visible */
.testimonials-section{opacity:1!important;}
#testiTrack{display:flex!important;gap:24px!important;will-change:transform;}
.testi-slider-wrap{overflow:hidden!important;position:relative!important;}

/* ════ QUOTE PAGE — Why Choose Us (matches homepage card design) ════ */
.quote-why-grid{display:grid;grid-template-columns:1fr;gap:var(--s3);}
.quote-why-item{
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--r-xl);
  padding:var(--s4) var(--s5);
  display:flex;align-items:flex-start;gap:12px;
  transition:all var(--ts);
  position:relative;overflow:hidden;
}
.quote-why-item::before{
  content:'';position:absolute;top:0;left:0;
  width:3px;height:100%;
  background:linear-gradient(to bottom,var(--primary),var(--dark));
}
.quote-why-item:hover{border-color:var(--primary-pale2);box-shadow:var(--sh-md);}
.quote-why-check{
  width:38px;height:38px;flex-shrink:0;
  background:var(--primary-pale);border:1px solid var(--primary-pale2);
  color:var(--primary);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.quote-why-title{font-size:.9375rem;font-weight:700;color:var(--text);margin-bottom:2px;}
.quote-why-desc{font-size:.8rem;color:var(--text-muted);line-height:1.55;}

/* ════ PRODUCT SINGLE — image + brand badge overlay ════ */
.product-single-img{
  position:relative!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-2xl)!important;
  box-shadow:var(--sh-xl)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:340px!important;
  padding:24px 24px 80px!important;
  overflow:hidden!important;
}
.psi-img{
  width:100%!important;height:auto!important;
  max-height:420px!important;
  object-fit:contain!important;
  border-radius:var(--r-xl)!important;
  display:block!important;
}
.psi-brand-badge{
  position:absolute!important;
  bottom:0!important;left:0!important;right:0!important;
  background:var(--primary)!important;
  padding:14px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.psi-brand-badge span{
  color:#fff!important;
  font-size:1.1rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* ════ INDUSTRY CARDS — desc first, then name, then icon ════ */
.industry-content{display:flex!important;flex-direction:column!important;}
.industry-desc{order:1!important;opacity:1!important;transform:none!important;margin-bottom:10px!important;font-size:.8rem!important;color:rgba(255,255,255,.85)!important;}
.industry-name{order:2!important;font-size:1.05rem!important;font-weight:800!important;margin-bottom:8px!important;}
.industry-icon-box{order:3!important;margin-top:4px!important;transform:none!important;}

/* ════ TESTIMONIALS — always visible grid ════ */
.testimonials-section .testi-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:var(--s6)!important;
  opacity:1!important;
  visibility:visible!important;
}
.testimonials-section .testi-card{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-xl)!important;
  padding:var(--s8)!important;
  box-shadow:var(--sh-sm)!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.testimonials-section .testi-text{
  flex:1!important;
}
@media(max-width:1023px){
  .testimonials-section .testi-grid{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:639px){
  .testimonials-section .testi-grid{grid-template-columns:1fr!important;}
}

/* ════ PRODUCT SINGLE IMAGE — responsive brand badge ════ */
.product-single-img{
  position:relative!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-2xl)!important;
  box-shadow:var(--sh-xl)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-height:320px!important;
}
.psi-img{
  width:100%!important;
  height:auto!important;
  max-height:400px!important;
  object-fit:contain!important;
  display:block!important;
  padding:24px 24px 12px!important;
  flex:1!important;
}
.psi-brand-badge{
  position:static!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:var(--primary)!important;
  padding:14px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0!important;
  margin-top:auto!important;
}
.psi-brand-badge span{
  color:#fff!important;
  font-size:1rem!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:center!important;
}


/* ════════════════════════════════════════════════════════════════
   AE v6.6 FINAL FIXES
   1. Testimonials — force visibility (override reveal / animation)
   2. PSI Brand Badge — clean responsive fix (single authoritative block)
   3. Quote Page — equal heights, 2-col logos, larger logo size
   4. Product Search bar
════════════════════════════════════════════════════════════════ */

/* ── FIX 1: TESTIMONIALS — always visible, never hidden ── */
.testimonials-section{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.testimonials-section .testi-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:var(--s6)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.testimonials-section .testi-card{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  animation:none!important;
  transition:box-shadow .3s ease,transform .3s ease,background .3s ease,border-color .3s ease!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-xl)!important;
  padding:var(--s8)!important;
  box-shadow:var(--sh-sm)!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.testimonials-section .testi-card:hover{
  background:var(--white)!important;
  box-shadow:var(--sh-lg)!important;
  border-color:var(--primary-pale2)!important;
  transform:translateY(-3px)!important;
}
.testimonials-section .testi-text{
  flex:1!important;
}
@media(max-width:1023px){
  .testimonials-section .testi-grid{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:639px){
  .testimonials-section .testi-grid{grid-template-columns:1fr!important;}
}

/* ── FIX 2: PSI BRAND BADGE — single clean responsive definition ── */
.product-single-img{
  position:relative!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-2xl)!important;
  box-shadow:var(--sh-xl)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-height:280px!important;
}
.product-single-img .psi-img{
  width:100%!important;
  height:auto!important;
  max-height:380px!important;
  object-fit:contain!important;
  display:block!important;
  padding:24px 24px 12px!important;
  flex:1!important;
  box-sizing:border-box!important;
}
.product-single-img .psi-brand-badge{
  position:static!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:var(--primary)!important;
  padding:13px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0!important;
  margin-top:auto!important;
  border-radius:0!important;
}
.product-single-img .psi-brand-badge span{
  color:#fff!important;
  font-size:.95rem!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  line-height:1.3!important;
  word-break:break-word!important;
}
/* Mobile: slightly smaller padding */
@media(max-width:639px){
  .product-single-img .psi-brand-badge{padding:10px 16px!important;}
  .product-single-img .psi-brand-badge span{font-size:.85rem!important;}
  .product-single-img .psi-img{max-height:260px!important;padding:16px 16px 8px!important;}
}

/* ── FIX 3: QUOTE PAGE — equal box heights, 2-per-row logos, larger logos ── */
/* Equal height for both sidebar and card on desktop */
.quote-page-wrap{
  display:grid!important;
  grid-template-columns:1fr 1.65fr!important;
  gap:var(--s8)!important;
  align-items:stretch!important;   /* equal heights */
  width:100%!important;
  box-sizing:border-box!important;
}
#quoteSidebar,
.quote-sidebar{
  order:unset!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
}
#quoteCard,
.quote-card{
  order:unset!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
/* Sidebar inner box fills full height */
.quote-sidebar-box{
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-xl)!important;
  padding:var(--s6)!important;
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
}
/* Card also stretches */
#quoteCard,
.quote-card{
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-2xl)!important;
  padding:var(--s10)!important;
  box-shadow:var(--sh-xl)!important;
  box-sizing:border-box!important;
  height:100%!important;
}
/* 2 logos per row on desktop */
.quote-brand-grid{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:12px!important;
  flex:1!important;
}
/* Larger logo items */
.quote-brand-item{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
  padding:16px 12px!important;
  min-height:90px!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
  transition:border-color .2s,box-shadow .2s!important;
}
.quote-brand-item:hover{
  border-color:var(--primary)!important;
  box-shadow:0 4px 16px rgba(51,153,255,.15)!important;
}
/* Larger logos */
.quote-brand-item img{
  max-width:100%!important;
  max-height:64px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
  display:block!important;
}
.quote-brand-name{
  font-size:.75rem!important;
  font-weight:700!important;
  color:#4b5563!important;
  text-align:center!important;
  line-height:1.3!important;
}
/* Mobile: stack form on top, sidebar below */
@media(max-width:900px){
  .quote-page-wrap{
    display:flex!important;
    flex-direction:column!important;
    gap:20px!important;
    align-items:stretch!important;
  }
  #quoteCard,.quote-card    {order:1!important;}
  #quoteSidebar,.quote-sidebar{order:2!important;}
  #quoteCard,#quoteSidebar,.quote-card,.quote-sidebar{
    width:100%!important;max-width:100%!important;height:auto!important;
  }
  .quote-brand-grid{grid-template-columns:repeat(3,1fr)!important;}
  .quote-brand-item{min-height:72px!important;padding:10px 8px!important;}
  .quote-brand-item img{max-height:48px!important;}
}
@media(max-width:480px){
  .quote-brand-grid{grid-template-columns:repeat(2,1fr)!important;}
  .quote-brand-item{min-height:64px!important;padding:10px 6px!important;}
  .quote-brand-item img{max-height:40px!important;}
}

/* ── FIX 4: PRODUCT SEARCH BAR ── */
.product-search-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:var(--s6);
  width:100%;
}
.product-search-box{
  position:relative;
  width:100%;
  max-width:480px;
}
.product-search-input{
  width:100%;
  padding:12px 44px 12px 18px;
  border:1.5px solid var(--gray-200);
  border-radius:var(--r-full);
  font-size:.9375rem;
  color:var(--text);
  background:var(--white);
  outline:none;
  box-shadow:var(--sh-sm);
  transition:border-color .2s,box-shadow .2s;
  box-sizing:border-box;
}
.product-search-input:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px var(--primary-pale);
}
.product-search-icon{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--text-muted);
  font-size:1rem;
  pointer-events:none;
}
.product-search-no-results{
  display:none;
  grid-column:1/-1;
  text-align:center;
  padding:48px 24px;
  color:var(--text-muted);
  font-size:.95rem;
}
.product-search-no-results.visible{
  display:block;
}
@media(max-width:640px){
  .product-search-input{font-size:.875rem;padding:10px 40px 10px 16px;}
}


/* ════════════════════════════════════════════════════════════════
   AE v6.6 — ISSUE FIXES ROUND 2
   1. About Us: Mission/Vision, Partners CSS
   2. Industries Page: ind-card-body CSS
   3. Contact/Gallery: fb-follow-box CSS
   4. Single Product: psi-brand-badge — inline display, not bottom overlay
   5. Homepage Industries: industry-desc always visible
   6. Gallery Lightbox: caption always visible when image open
════════════════════════════════════════════════════════════════ */

/* ── FIX 1a: ABOUT US — Mission & Vision Cards ── */
.mission-vision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s8);
  align-items:stretch;
}
.mission-vision-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--r-xl);
  padding:var(--s10) var(--s10) var(--s10) calc(var(--s10) + 4px);
  box-shadow:var(--sh-md);
  transition:box-shadow var(--ts),transform var(--ts);
}
.mission-vision-card:hover{
  box-shadow:var(--sh-lg);
  transform:translateY(-3px);
}
.mv-icon{
  font-size:2.2rem;
  margin-bottom:var(--s5);
  display:block;
}
.mission-vision-card h3{
  font-size:1.25rem;
  font-weight:800;
  color:var(--text);
  margin-bottom:var(--s4);
  letter-spacing:-.02em;
}
.mission-vision-card p{
  font-size:.9375rem;
  color:var(--text-muted);
  line-height:1.78;
  margin:0;
}
@media(max-width:767px){
  .mission-vision-grid{grid-template-columns:1fr;}
}

/* ── FIX 1b: ABOUT US — Partners Logo Grid ── */
.partners-logo-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--s5);
  align-items:center;
}
.partner-logo-item{
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--r-xl);
  padding:var(--s6) var(--s5);
  min-height:90px;
  text-decoration:none;
  transition:border-color .2s,box-shadow .2s,transform .2s;
  box-shadow:var(--sh-sm);
}
.partner-logo-item:hover{
  border-color:var(--primary);
  box-shadow:var(--sh-md);
  transform:translateY(-2px);
}
.partner-logo-item img{
  max-width:100%;
  max-height:60px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}
.partner-logo-name{
  font-size:.8rem;
  font-weight:700;
  color:var(--text-muted);
  text-align:center;
  line-height:1.4;
}
@media(max-width:1023px){
  .partners-logo-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:639px){
  .partners-logo-grid{grid-template-columns:repeat(2,1fr);}
  .partner-logo-item{min-height:72px;}
  .partner-logo-item img{max-height:44px;}
}

/* ── FIX 2: INDUSTRIES PAGE — ind-card layout ── */
.industries-cards-grid,
.ind-responsive-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--s6);
}
.ind-card{
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:var(--sh-sm);
  cursor:pointer;
  transition:box-shadow var(--ts),transform var(--ts),border-color var(--ts);
  display:flex;
  flex-direction:column;
}
.ind-card:hover{
  box-shadow:var(--sh-lg);
  transform:translateY(-4px);
  border-color:var(--primary-pale2);
}
.ind-card-icon-wrap{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary-pale),var(--primary-pale2));
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ind-card-icon-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.ind-card:hover .ind-card-icon-wrap img{
  transform:scale(1.06);
}
.ind-card-emoji{
  font-size:3rem;
  line-height:1;
}
.ind-card-body{
  display:flex;
  flex-direction:column;
  padding:var(--s6);
  flex:1;
  gap:var(--s3);
}
.ind-card-icon-badge{
  width:38px;
  height:38px;
  background:var(--primary-pale);
  border:1px solid var(--primary-pale2);
  border-radius:var(--r-lg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
  flex-shrink:0;
}
.ind-card-title{
  font-size:1.05rem;
  font-weight:800;
  color:var(--text);
  letter-spacing:-.02em;
  margin:0;
  line-height:1.3;
}
.ind-card-desc{
  font-size:.875rem;
  color:var(--text-muted);
  line-height:1.65;
  margin:0;
  flex:1;
}
.ind-card-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.825rem;
  font-weight:700;
  color:var(--primary);
  text-decoration:none;
  margin-top:auto;
  padding-top:var(--s3);
  border-top:1px solid var(--gray-100);
  transition:gap .2s,color .2s;
}
.ind-card-link:hover{
  gap:10px;
  color:var(--dark);
}
@media(max-width:1023px){
  .industries-cards-grid,.ind-responsive-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:639px){
  .industries-cards-grid,.ind-responsive-grid{grid-template-columns:1fr;}
}

/* ── FIX 3: CONTACT PAGE — fb-follow-box ── */
.fb-follow-box{
  display:flex;
  align-items:center;
  gap:14px;
  background:linear-gradient(135deg,#1877f2,#0d5bbf);
  border-radius:var(--r-xl);
  padding:14px 18px;
  box-shadow:var(--sh-sm);
}
.fb-follow-icon{
  width:42px;
  height:42px;
  background:rgba(255,255,255,.18);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.fb-follow-body{
  flex:1;
  min-width:0;
}
.fb-follow-label{
  font-size:.7rem;
  font-weight:600;
  color:rgba(255,255,255,.75);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:2px;
}
.fb-follow-name{
  font-size:.9rem;
  font-weight:700;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fb-follow-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#fff;
  color:#1877f2;
  font-size:.8rem;
  font-weight:800;
  padding:7px 16px;
  border-radius:var(--r-full);
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s,transform .2s;
  flex-shrink:0;
}
.fb-follow-btn:hover{
  background:#e8f0fe;
  transform:translateY(-1px);
}
@media(max-width:480px){
  .fb-follow-box{flex-wrap:wrap;gap:10px;}
  .fb-follow-btn{width:100%;justify-content:center;}
}

/* ── FIX 4: SINGLE PRODUCT — psi-brand-badge inline, not bottom overlay ── */
/* Remove ALL previous conflicting psi-brand-badge rules, then define cleanly.
   The badge appears as a styled inline strip BELOW the image, not absolute-positioned. */
.product-single-img{
  position:relative!important;
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--r-2xl)!important;
  box-shadow:var(--sh-xl)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.product-single-img img.psi-img,
.product-single-img .psi-img{
  width:100%!important;
  height:auto!important;
  max-height:380px!important;
  object-fit:contain!important;
  display:block!important;
  padding:24px!important;
  box-sizing:border-box!important;
  flex-shrink:0!important;
}
/* Brand badge: inline strip at bottom of flex column (not absolute) */
.psi-brand-badge{
  all:unset!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:var(--primary)!important;
  padding:12px 20px!important;
  flex-shrink:0!important;
  /* NOT absolute — sits naturally below image in the flex column */
  position:static!important;
  inset:unset!important;
}
.psi-brand-badge span{
  all:unset!important;
  display:block!important;
  color:#fff!important;
  font-size:.95rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  line-height:1.4!important;
}
@media(max-width:639px){
  .product-single-img img.psi-img,
  .product-single-img .psi-img{
    max-height:240px!important;
    padding:16px!important;
  }
  .psi-brand-badge{padding:10px 14px!important;}
  .psi-brand-badge span{font-size:.82rem!important;}
}

/* ── FIX 5: HOMEPAGE INDUSTRIES — industry-desc always visible ── */
/* On the homepage overlay cards, description should always show (not fade in on hover only).
   On desktop hover we can add a subtle lift but text must always be readable. */
.industry-card .industry-content{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:var(--s5)!important;
  height:100%!important;
}
.industry-card .industry-desc{
  order:1!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
  font-size:.8rem!important;
  color:rgba(255,255,255,.9)!important;
  line-height:1.55!important;
  margin-bottom:8px!important;
  display:block!important;
}
/* Also keep visible on hover — override the hover-only rule */
.industry-card:hover .industry-desc{
  opacity:1!important;
  transform:none!important;
}
.industry-card .industry-name{
  order:2!important;
  font-size:1rem!important;
  font-weight:800!important;
  color:#fff!important;
  margin-bottom:6px!important;
}
.industry-card .industry-icon-box{
  order:3!important;
  transform:none!important;
  transition:none!important;
}
/* Overlay always dark enough for text readability */
.industry-card .industry-overlay{
  background:linear-gradient(to top,rgba(6,47,109,.92) 0%,rgba(6,47,109,.55) 60%,rgba(6,47,109,.1) 100%)!important;
}

/* ── FIX 6: GALLERY LIGHTBOX — caption always visible and styled ── */
.lb-cap{
  display:block!important;
  text-align:center!important;
  color:rgba(255,255,255,.85)!important;
  font-size:.9rem!important;
  font-weight:500!important;
  margin-top:12px!important;
  padding:0 16px!important;
  line-height:1.5!important;
  min-height:1.5em!important; /* reserves space even when empty */
  opacity:1!important;
  visibility:visible!important;
  max-width:90vw!important;
}
/* When caption is empty string keep the space but don't show stray colon etc */
#lbCap:empty{min-height:0;margin-top:6px;}
/* lb-content must accommodate the caption below the image */
.lb-content{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  max-width:96vw!important;
  max-height:96vh!important;
}
.lb-content img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:90vw!important;
  max-height:80vh!important;  /* reduced to leave room for caption */
  object-fit:contain!important;
  border-radius:8px!important;
  box-shadow:0 25px 60px rgba(0,0,0,.6)!important;
  flex-shrink:0!important;
}


/* ════════════════════════════════════════════════════════════════
   AE v6.6 — ROUND 3 FIXES
   1. Homepage Industries: desc hidden by default, shown on .ind-active
   2. Performance: will-change hints for animated elements
   3. CSS containment for off-screen sections
════════════════════════════════════════════════════════════════ */

/* ── Industry cards: desc hidden by default, toggled via JS ── */

/* Override the "always visible" rule from last round —
   desc is hidden until card gets .ind-active class */
.industries-section .industry-card .industry-desc,
.industries-grid    .industry-card .industry-desc{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(10px)!important;
  transition:opacity .3s ease, transform .3s ease, visibility .3s ease!important;
  display:block!important; /* keep in flow so layout doesn't jump */
  pointer-events:none!important;
}

/* Show desc when card is active (clicked) */
.industries-section .industry-card.ind-active .industry-desc,
.industries-grid    .industry-card.ind-active .industry-desc{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}

/* Active card gets stronger overlay for readability */
.industries-section .industry-card.ind-active .industry-overlay,
.industries-grid    .industry-card.ind-active .industry-overlay{
  background:linear-gradient(to top,rgba(6,47,109,.96) 0%,rgba(6,47,109,.75) 55%,rgba(6,47,109,.22) 100%)!important;
}

/* Keep hover desc hidden (CSS hover should NOT override the JS toggle approach) */
.industry-card:hover .industry-desc{
  opacity:0!important;
  transform:translateY(10px)!important;
}
.industry-card.ind-active:hover .industry-desc{
  opacity:1!important;
  transform:translateY(0)!important;
}

/* ── Performance: GPU-accelerate only elements that animate ── */
.hero-slide-img,
.ticker-track,
.reveal,
.industry-card .industry-desc,
.testi-card,
.gallery-item img{
  will-change:transform;
}
/* After animation completes, remove will-change to free GPU memory */
.reveal.visible,
.testi-card{
  will-change:auto;
}

/* ── Performance: CSS containment for independent sections ── */
.ticker-section,
.products-section,
.industries-section,
.why-section,
.testimonials-section,
.cta-section,
.gallery-section{
  contain:layout style;
}

/* ── Performance: content-visibility for below-fold heavy sections ── */
.testimonials-section,
.contact-split-section,
.cta-section{
  content-visibility:auto;
  contain-intrinsic-size:0 500px;
}

/* ── Performance: image rendering optimisation ── */
img{
  image-rendering:auto;
  max-width:100%;
  height:auto;
}

/* ── Performance: reduce layout shifts — explicit aspect ratios ── */
.hero-main-img img{
  aspect-ratio:4/3;
  width:100%;
  height:auto;
  object-fit:cover;
}
.gallery-item img{
  aspect-ratio:1/1;
  width:100%;
  height:100%;
  object-fit:cover;
}


/* ════════════════════════════════════════════════════════════════
   REQUEST A QUOTE PAGE — FULL REDESIGN (v7.0 — AUTHORITATIVE)
   All previous .quote-* rules are superseded by .qp-* namespace.
   This block is the single source of truth for the quote page.
════════════════════════════════════════════════════════════════ */

/* ── Section wrapper ── */
.qp-section{
  padding: 64px 0 80px;
  background: #f0f4f8;
}

/* ── Trust bar ── */
.qp-trust-bar{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 28px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px 24px;
  margin-bottom: 36px;
  box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
.qp-trust-item{
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .8rem;
  font-weight: 700;
  color: #475569;
  letter-spacing: .01em;
}
.qp-trust-icon{ font-size: 1rem; line-height: 1; }

/* ── Two-column layout ── */
.qp-layout{
  display: grid;
  grid-template-columns: 1fr 1.55fr;
  gap: 28px;
  align-items: start;
}

/* ── Left column ── */
.qp-left{
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ── Right column ── */
.qp-right{
  position: sticky;
  top: calc(var(--hdr-h, 72px) + 20px);
}

/* ── Base card ── */
.qp-card{
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 2px 12px rgba(6,47,109,.07);
  box-sizing: border-box;
  width: 100%;
}

/* ── Card header ── */
.qp-card-header{
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f1f5f9;
}
.qp-card-badge{
  display: inline-block;
  background: linear-gradient(135deg, #e0eaff, #cdd8f6);
  color: var(--dark, #062f6d);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 10px;
}
.qp-card-title{
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -.02em;
  margin: 0 0 6px;
  line-height: 1.3;
}
.qp-form-title{ font-size: 1.35rem; }
.qp-card-sub{
  font-size: .85rem;
  color: #64748b;
  line-height: 1.6;
  margin: 0;
}

/* ── Distributor brand grid ── */
.qp-brand-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.qp-brand-item{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 10px;
  min-height: 80px;
  box-sizing: border-box;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  cursor: default;
}
a.qp-brand-item{ cursor: pointer; }
.qp-brand-item:hover{
  border-color: var(--primary, #3399ff);
  box-shadow: 0 4px 16px rgba(51,153,255,.15);
  transform: translateY(-2px);
}
.qp-brand-img{
  max-width: 100%;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.qp-brand-name{
  font-size: .72rem;
  font-weight: 700;
  color: #475569;
  text-align: center;
  line-height: 1.4;
}

/* ── Why Choose Us list ── */
.qp-why-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.qp-why-item{
  display: flex;
  align-items: flex-start;
  gap: 13px;
}
.qp-why-icon{
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #e0eaff, #cdd8f6);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
  line-height: 1;
}
.qp-why-body{
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.qp-why-title{
  font-size: .875rem;
  font-weight: 700;
  color: #0f172a;
  display: block;
  line-height: 1.4;
}
.qp-why-desc{
  font-size: .8rem;
  color: #64748b;
  line-height: 1.55;
  display: block;
}

/* ── Quote form card specifics ── */
.qp-card-form{
  border-top: 4px solid var(--primary, #3399ff);
}
.qp-form-group-label{
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #94a3b8;
  margin: 0 0 14px;
  padding: 0;
  display: block;
}
.qp-form-group-label--sep{
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid #f1f5f9;
}
.qp-form-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 0;
}
.qp-req{ color: #ef4444; }
.qp-form .form-field{ margin-bottom: 14px; }
.qp-form .form-field:last-child{ margin-bottom: 0; }
.qp-submit-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: linear-gradient(135deg, var(--primary, #3399ff), var(--dark, #062f6d));
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .01em;
  padding: 16px 24px;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  margin-top: 22px;
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 4px 16px rgba(51,153,255,.35);
}
.qp-submit-btn:hover{
  opacity: .92;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(51,153,255,.4);
}
.qp-submit-arrow{ font-size: 1.1rem; transition: transform .2s; }
.qp-submit-btn:hover .qp-submit-arrow{ transform: translateX(4px); }
.qp-form-privacy{
  text-align: center;
  font-size: .73rem;
  color: #94a3b8;
  margin-top: 12px;
  line-height: 1.5;
}

/* ── Client Stories section ── */
.qp-stories-section{
  padding: 80px 0 96px;
  background: #fff;
}
.qp-stories-header{
  text-align: center;
  max-width: 640px;
  margin: 0 auto 52px;
}
.qp-stories-sub{
  font-size: .9375rem;
  color: #64748b;
  line-height: 1.7;
  margin: 12px 0 0;
}

/* Centered grid: 3-col desktop, never stretches to edges */
.qp-stories-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  /* Centre-align if fewer than 3 cards */
  justify-content: center;
}

/* Story card */
.qp-story-card{
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.qp-story-card:hover{
  background: #fff;
  border-color: #c7d7f4;
  box-shadow: 0 8px 32px rgba(6,47,109,.1);
  transform: translateY(-4px);
}
.qp-story-stars{
  color: #f59e0b;
  font-size: .9rem;
  letter-spacing: 2px;
  margin-bottom: 14px;
  line-height: 1;
}
.qp-story-text{
  font-size: .9rem;
  color: #334155;
  line-height: 1.75;
  flex: 1;
  margin: 0 0 20px;
  font-style: italic;
  quotes: '\201C' '\201D';
  position: relative;
  padding-left: 0;
}
.qp-story-text::before{
  content: '\201C';
  font-size: 2.8rem;
  color: #c7d7f4;
  font-family: Georgia, serif;
  line-height: .7;
  display: block;
  margin-bottom: 8px;
  font-style: normal;
}
.qp-story-author{
  display: flex;
  align-items: center;
  gap: 13px;
  padding-top: 18px;
  border-top: 1px solid #e2e8f0;
  margin-top: auto;
}
.qp-story-avatar{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary, #3399ff), var(--dark, #062f6d));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  overflow: hidden;
}
.qp-story-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.qp-story-name{
  font-size: .875rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}
.qp-story-role{
  font-size: .775rem;
  color: #64748b;
  line-height: 1.4;
  margin-top: 2px;
}

/* ── Responsive ── */
@media(max-width: 1100px){
  .qp-layout{
    grid-template-columns: 1fr 1.4fr;
    gap: 22px;
  }
}
@media(max-width: 900px){
  .qp-layout{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .qp-right{
    position: static; /* un-sticky on mobile */
  }
  .qp-stories-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}
@media(max-width: 640px){
  .qp-section{ padding: 40px 0 56px; }
  .qp-trust-bar{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 14px 16px;
  }
  .qp-trust-item{ justify-content: center; }
  .qp-card{ padding: 20px 18px; }
  .qp-brand-grid{ gap: 8px; }
  .qp-brand-item{ min-height: 68px; padding: 10px 8px; }
  .qp-brand-img{ max-height: 40px; }
  .qp-form-row{ grid-template-columns: 1fr; gap: 0; }
  .qp-stories-section{ padding: 52px 0 64px; }
  .qp-stories-grid{ grid-template-columns: 1fr; gap: 16px; }
  .qp-stories-header{ margin-bottom: 32px; }
  .qp-story-card{ padding: 22px 18px; }
}


/* ════════════════════════════════════════════════════════════════
   HOMEPAGE TESTIMONIALS — centered, balanced, consistent
   (complements the qp-stories redesign with same card DNA)
════════════════════════════════════════════════════════════════ */
.testimonials-section{
  background: #fff!important;
}
.testimonials-section .section-header.centered{
  text-align: center!important;
  max-width: 640px!important;
  margin-left: auto!important;
  margin-right: auto!important;
}
.testimonials-section .testi-grid{
  display: grid!important;
  grid-template-columns: repeat(3, 1fr)!important;
  gap: 24px!important;
  justify-content: center!important;
  align-items: stretch!important;
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
}
.testimonials-section .testi-card{
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
  animation: none!important;
  background: #f8fafc!important;
  border: 1px solid #e2e8f0!important;
  border-radius: 18px!important;
  padding: 28px!important;
  display: flex!important;
  flex-direction: column!important;
  height: 100%!important;
  box-sizing: border-box!important;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease!important;
}
.testimonials-section .testi-card:hover{
  background: #fff!important;
  border-color: #c7d7f4!important;
  box-shadow: 0 8px 32px rgba(6,47,109,.1)!important;
  transform: translateY(-4px)!important;
}
.testimonials-section .testi-text{ flex: 1!important; }
@media(max-width: 900px){
  .testimonials-section .testi-grid{
    grid-template-columns: repeat(2,1fr)!important;
    gap: 18px!important;
  }
}
@media(max-width: 640px){
  .testimonials-section .testi-grid{
    grid-template-columns: 1fr!important;
    gap: 16px!important;
  }
}


/* ════════════════════════════════════════════════════════════════
   HOMEPAGE CLIENT STORIES — FINAL AUTHORITATIVE STYLES (v7.1)
   Single source of truth. Overrides all previous testi-* patches.
════════════════════════════════════════════════════════════════ */

/* Section */
.testimonials-section{
  background: #f8fafc!important;
  padding: 80px 0 96px!important;
}

/* Centred header */
.testimonials-section .section-header.centered{
  text-align: center!important;
  max-width: 600px!important;
  margin: 0 auto 52px!important;
  padding: 0!important;
}
.testimonials-section .section-header .section-label{
  display: inline-block!important;
  margin-bottom: 10px!important;
}
.testimonials-section .section-heading{
  font-size: clamp(1.5rem, 3vw, 2rem)!important;
  font-weight: 800!important;
  letter-spacing: -.025em!important;
  margin: 0!important;
}

/* Grid — always 3 equal columns, centred */
.testimonials-section .testi-grid{
  display: grid!important;
  grid-template-columns: repeat(3, 1fr)!important;
  gap: 24px!important;
  align-items: stretch!important;
  justify-content: center!important;
  /* Remove any reveal-induced invisible state */
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
  animation: none!important;
}

/* Cards */
.testimonials-section .testi-card{
  /* Reset any reveal state */
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
  animation: none!important;
  /* Layout */
  display: flex!important;
  flex-direction: column!important;
  height: 100%!important;
  box-sizing: border-box!important;
  /* Visual */
  background: #ffffff!important;
  border: 1px solid #e2e8f0!important;
  border-radius: 20px!important;
  padding: 28px!important;
  box-shadow: 0 2px 8px rgba(6,47,109,.05)!important;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease!important;
}
.testimonials-section .testi-card:hover{
  border-color: #bfcfef!important;
  box-shadow: 0 10px 36px rgba(6,47,109,.12)!important;
  transform: translateY(-5px)!important;
}

/* Stars */
.testimonials-section .testi-stars{
  color: #f59e0b!important;
  font-size: .85rem!important;
  letter-spacing: 2px!important;
  margin-bottom: 14px!important;
  line-height: 1!important;
}

/* Opening quote mark */
.testimonials-section .testi-quote{
  font-size: 3rem!important;
  color: #c7d7f4!important;
  line-height: .7!important;
  font-family: Georgia, serif!important;
  margin-bottom: 10px!important;
  display: block!important;
}

/* Review text — takes all remaining space so authors align at bottom */
.testimonials-section .testi-text{
  font-size: .9rem!important;
  color: #334155!important;
  line-height: 1.78!important;
  flex: 1!important;
  margin-bottom: 22px!important;
}

/* Author row */
.testimonials-section .testi-author{
  display: flex!important;
  align-items: center!important;
  gap: 13px!important;
  padding-top: 18px!important;
  border-top: 1px solid #f1f5f9!important;
  margin-top: auto!important;
}
.testimonials-section .testi-avatar{
  width: 46px!important;
  height: 46px!important;
  border-radius: 50%!important;
  background: linear-gradient(135deg, #3399ff, #062f6d)!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  font-size: 1.05rem!important;
  font-weight: 800!important;
  color: #fff!important;
  flex-shrink: 0!important;
  overflow: hidden!important;
}
.testimonials-section .testi-avatar img{
  width: 100%!important;
  height: 100%!important;
  object-fit: cover!important;
  border-radius: 50%!important;
  display: block!important;
}
.testimonials-section .testi-name{
  font-size: .875rem!important;
  font-weight: 700!important;
  color: #0f172a!important;
  line-height: 1.3!important;
}
.testimonials-section .testi-role{
  font-size: .775rem!important;
  color: #64748b!important;
  line-height: 1.4!important;
  margin-top: 2px!important;
}

/* ── Responsive ── */
@media(max-width: 1023px){
  .testimonials-section .testi-grid{
    grid-template-columns: repeat(2, 1fr)!important;
    gap: 20px!important;
  }
}
@media(max-width: 640px){
  .testimonials-section{
    padding: 56px 0 72px!important;
  }
  .testimonials-section .section-header.centered{
    margin-bottom: 32px!important;
  }
  .testimonials-section .testi-grid{
    grid-template-columns: 1fr!important;
    gap: 16px!important;
  }
  .testimonials-section .testi-card{
    padding: 22px 20px!important;
  }
}


/* ════════════════════════════════════════════════════════════════
   QUOTE PAGE v7.2 — TRUST BAR REDESIGN + MOBILE ORDER FIX
   Authoritative overrides for trust bar and column order.
════════════════════════════════════════════════════════════════ */

/* ── Trust bar: clean horizontal pill strip on all sizes ── */
.qp-trust-bar{
  display: flex!important;
  flex-direction: row!important;
  align-items: stretch!important;
  justify-content: center!important;
  flex-wrap: nowrap!important;
  gap: 0!important;
  background: #fff!important;
  border: 1px solid #e2e8f0!important;
  border-radius: 16px!important;
  padding: 0!important;
  margin-bottom: 32px!important;
  box-shadow: 0 2px 8px rgba(6,47,109,.06)!important;
  overflow: hidden!important;
}
.qp-trust-item{
  display: flex!important;
  flex-direction: column!important;
  align-items: center!important;
  justify-content: center!important;
  gap: 5px!important;
  flex: 1!important;
  padding: 14px 10px!important;
  font-size: .72rem!important;
  font-weight: 700!important;
  color: #334155!important;
  letter-spacing: .01em!important;
  text-align: center!important;
  line-height: 1.3!important;
  /* Divider between items */
  border-right: 1px solid #f1f5f9!important;
  transition: background .18s ease!important;
}
.qp-trust-item:last-child{
  border-right: none!important;
}
.qp-trust-item:hover{
  background: #f8fafc!important;
}
.qp-trust-icon{
  font-size: 1.3rem!important;
  line-height: 1!important;
  display: block!important;
}

/* ── Desktop grid: Left(sidebar) = col 1, Right(form) = col 2 ── */
/* DOM order is: Form(qp-right) first, Left(qp-left) second          */
/* CSS order restores visual: sidebar left, form right                */
.qp-layout{
  display: grid!important;
  grid-template-columns: 1fr 1.55fr!important;
  gap: 28px!important;
  align-items: start!important;
}
.qp-right{
  order: 2!important;  /* visually RIGHT on desktop */
}
.qp-left{
  order: 1!important;  /* visually LEFT on desktop */
}

/* ── Mobile (≤900px): single column, natural DOM order ── */
/* DOM order = Form → Distributors → Why Choose Us          */
@media(max-width: 900px){
  .qp-layout{
    display: flex!important;
    flex-direction: column!important;
    gap: 18px!important;
  }
  .qp-right{ order: 1!important; position: static!important; } /* Form first  */
  .qp-left { order: 2!important; }                              /* Sidebar after */
}

/* ── Mobile trust bar: 2×2 compact grid ── */
@media(max-width: 640px){
  .qp-trust-bar{
    flex-wrap: wrap!important;
    border-radius: 14px!important;
  }
  .qp-trust-item{
    flex: 0 0 50%!important;
    width: 50%!important;
    box-sizing: border-box!important;
    padding: 12px 8px!important;
    font-size: .68rem!important;
  }
  /* Top-left / top-right: bottom border */
  .qp-trust-item:nth-child(1),
  .qp-trust-item:nth-child(2){
    border-bottom: 1px solid #f1f5f9!important;
  }
  /* Right column items: right border */
  .qp-trust-item:nth-child(1),
  .qp-trust-item:nth-child(3){
    border-right: 1px solid #f1f5f9!important;
  }
  .qp-trust-item:nth-child(2),
  .qp-trust-item:nth-child(4){
    border-right: none!important;
  }
  .qp-trust-icon{ font-size: 1.1rem!important; }
}


/* ════════════════════════════════════════════════════════════════
   MOBILE PERFORMANCE — CSS rendering optimizations (v7.2)
════════════════════════════════════════════════════════════════ */

/* Touch-action: improve scroll performance on mobile */
body{
  -webkit-overflow-scrolling: touch;
}
.qp-layout,
.products-grid,
.gallery-grid,
.industries-grid,
.testi-grid,
.footer-grid{
  /* Hint to browser that these are independent layout regions */
  contain: layout style;
}

/* Avoid layout recalc on hover for non-pointer devices */
@media(hover: none){
  .qp-brand-item:hover,
  .qp-card:hover,
  .qp-story-card:hover,
  .testi-card:hover,
  .product-card:hover,
  .ind-card:hover{
    transform: none;
    box-shadow: none;
  }
}

/* Reduce paint area: limit compositing to animated elements only */
.hero-slide-img,
.ticker-track{
  will-change: transform;
  transform: translateZ(0); /* promote to own compositor layer */
}
/* Everything else: keep off the GPU until interaction */
.qp-submit-btn,
.btn,
.header-cta-btn{
  will-change: auto;
}

/* Font loading: prevent invisible text during webfont swap */
body,
.logo-full,
.site-logo,
h1, h2, h3, h4{
  font-display: swap; /* applies when font-face is re-declared by browser */
}

/* Prevent tap highlight flash on mobile (reduces perceived lag) */
a, button, [role="button"]{
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* Image decode: don't block rendering for below-fold images */
img:not([loading="eager"]){
  content-visibility: auto;
}

/* Reserve space for footer to reduce CLS on slow connections */
#site-footer{
  min-height: 320px;
  contain: layout;
}


/* ════════════════════════════════════════════════════════════════
   FINAL FIXES v7.3
   1. Quote page — Why Choose Us: never clip/hide descriptions
   2. Quote page — no duplicate Why section from old .why-grid rules
   3. Homepage Client Stories — full center-aligned layout fix
   4. testi-quote — remove extra margin/button spacing
════════════════════════════════════════════════════════════════ */

/* ── 1. qp-card-why: guarantee all text is always fully visible ── */
.qp-card-why{
  overflow: visible!important;
  height: auto!important;
  max-height: none!important;
}
.qp-card-why .qp-why-list{
  overflow: visible!important;
  max-height: none!important;
  height: auto!important;
}
.qp-card-why .qp-why-item{
  overflow: visible!important;
  height: auto!important;
}
.qp-card-why .qp-why-body{
  overflow: visible!important;
  white-space: normal!important;
  text-overflow: unset!important;
}
.qp-card-why .qp-why-desc{
  display: block!important;
  overflow: visible!important;
  max-height: none!important;
  height: auto!important;
  opacity: 1!important;
  visibility: visible!important;
  -webkit-line-clamp: unset!important;
  line-clamp: unset!important;
  white-space: normal!important;
}

/* ── 2. Suppress any old .why-grid inside quote page so it ──
        doesn't render a second "Why Choose Us" block           ── */
.qp-section .why-grid,
.qp-section .why-card,
.qp-section .why-icon-box,
.qp-section .why-card-title,
.qp-section .why-card-desc{
  display: none!important;
}

/* ── 3. Homepage Client Stories — definitive centered layout ── */

/* Section background & spacing */
.testimonials-section{
  background: #f8fafc!important;
  padding: 80px 0 96px!important;
}

/* Header: tightly centred, never full-width */
.testimonials-section .section-header.centered{
  text-align: center!important;
  max-width: 580px!important;
  margin: 0 auto 48px!important;
  padding: 0!important;
  /* Override any reveal-related invisible state */
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
}
.testimonials-section .section-header .section-label{
  display: inline-block!important;
  margin-bottom: 8px!important;
}
.testimonials-section .section-heading{
  margin: 0!important;
  font-size: clamp(1.45rem, 2.8vw, 2rem)!important;
  font-weight: 800!important;
  letter-spacing: -.025em!important;
  color: #0f172a!important;
}

/* Grid: 3 equal columns, all cards same height */
.testimonials-section .testi-grid{
  display: grid!important;
  grid-template-columns: repeat(3, 1fr)!important;
  gap: 24px!important;
  align-items: stretch!important;
  justify-content: center!important;
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
  animation: none!important;
}

/* Card base */
.testimonials-section .testi-card{
  display: flex!important;
  flex-direction: column!important;
  height: 100%!important;
  box-sizing: border-box!important;
  background: #fff!important;
  border: 1px solid #e2e8f0!important;
  border-radius: 20px!important;
  padding: 28px!important;
  box-shadow: 0 2px 10px rgba(6,47,109,.06)!important;
  opacity: 1!important;
  visibility: visible!important;
  transform: none!important;
  animation: none!important;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease!important;
  overflow: visible!important;
}
.testimonials-section .testi-card:hover{
  border-color: #bfcfef!important;
  box-shadow: 0 10px 36px rgba(6,47,109,.12)!important;
  transform: translateY(-5px)!important;
}

/* Stars */
.testimonials-section .testi-stars{
  color: #f59e0b!important;
  font-size: .85rem!important;
  letter-spacing: 2px!important;
  margin-bottom: 12px!important;
  line-height: 1!important;
  display: block!important;
}

/* ── 4. testi-quote: decorative open-quote, ZERO extra margin/padding ── */
.testimonials-section .testi-quote,
.testi-quote{
  display: block!important;
  font-size: 2.6rem!important;
  color: #c7d7f4!important;
  line-height: 1!important;
  font-family: Georgia, 'Times New Roman', serif!important;
  font-style: normal!important;
  /* No margin-bottom — text sits immediately after */
  margin: 0 0 6px 0!important;
  padding: 0!important;
  /* Ensure it doesn't act like a button or interactive element */
  pointer-events: none!important;
  user-select: none!important;
  background: none!important;
  border: none!important;
  box-shadow: none!important;
  cursor: default!important;
  width: auto!important;
  height: auto!important;
}

/* Review text — stretches to fill card, pushes author to bottom */
.testimonials-section .testi-text{
  font-size: .9rem!important;
  color: #334155!important;
  line-height: 1.78!important;
  flex: 1!important;
  margin: 0 0 20px 0!important;
  padding: 0!important;
  display: block!important;
  overflow: visible!important;
  max-height: none!important;
}

/* Author row — always at bottom */
.testimonials-section .testi-author{
  display: flex!important;
  align-items: center!important;
  gap: 12px!important;
  padding-top: 16px!important;
  border-top: 1px solid #f1f5f9!important;
  margin-top: auto!important;
}
.testimonials-section .testi-avatar{
  width: 44px!important;
  height: 44px!important;
  border-radius: 50%!important;
  background: linear-gradient(135deg, #3399ff, #062f6d)!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  font-size: 1rem!important;
  font-weight: 800!important;
  color: #fff!important;
  flex-shrink: 0!important;
  overflow: hidden!important;
}
.testimonials-section .testi-avatar img{
  width: 100%!important;
  height: 100%!important;
  object-fit: cover!important;
  border-radius: 50%!important;
  display: block!important;
}
.testimonials-section .testi-name{
  font-size: .875rem!important;
  font-weight: 700!important;
  color: #0f172a!important;
  line-height: 1.3!important;
  margin: 0!important;
}
.testimonials-section .testi-role{
  font-size: .775rem!important;
  color: #64748b!important;
  line-height: 1.4!important;
  margin: 2px 0 0 0!important;
}

/* Responsive */
@media(max-width: 1023px){
  .testimonials-section .testi-grid{
    grid-template-columns: repeat(2, 1fr)!important;
    gap: 20px!important;
  }
}
@media(max-width: 640px){
  .testimonials-section{
    padding: 52px 0 68px!important;
  }
  .testimonials-section .section-header.centered{
    margin-bottom: 28px!important;
  }
  .testimonials-section .testi-grid{
    grid-template-columns: 1fr!important;
    gap: 14px!important;
  }
  .testimonials-section .testi-card{
    padding: 20px 18px!important;
  }
}


/* ════════════════════════════════════════════════════════════════
   QUOTE PAGE v8.0 — PIXEL-MATCHED TO REFERENCE DESIGN
   New qpf-* (form) and qps-* (sidebar) namespaces.
   Fully self-contained, no conflicts with old qp-why/qp-brand.
════════════════════════════════════════════════════════════════ */

/* ── Section & layout ── */
.qp-section{
  padding: 48px 0 80px;
  background: #f1f5f9;
}

/* Trust bar: single horizontal row */
.qp-trust-bar{
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  flex-wrap: nowrap!important;
  gap: 0!important;
  background: #fff!important;
  border: 1px solid #e8edf2!important;
  border-radius: 14px!important;
  padding: 0!important;
  margin-bottom: 28px!important;
  box-shadow: 0 1px 4px rgba(0,0,0,.05)!important;
  overflow: hidden!important;
}
.qp-trust-item{
  display: flex!important;
  flex-direction: row!important;
  align-items: center!important;
  gap: 6px!important;
  flex: 1!important;
  padding: 14px 16px!important;
  justify-content: center!important;
  font-size: .78rem!important;
  font-weight: 600!important;
  color: #374151!important;
  border-right: 1px solid #f1f5f9!important;
}
.qp-trust-item:last-child{ border-right: none!important; }
.qp-trust-icon{ font-size: 1rem!important; line-height: 1!important; }

/* Two-column grid */
.qp-layout{
  display: grid!important;
  grid-template-columns: 1fr 1.6fr!important;
  gap: 24px!important;
  align-items: start!important;
}
.qp-left { order: 1!important; display: flex; flex-direction: column; gap: 20px; }
.qp-right{ order: 2!important; position: sticky; top: calc(var(--hdr-h,72px) + 16px); }

/* Base card */
.qp-card{
  background: #fff!important;
  border: 1px solid #e8edf2!important;
  border-radius: 16px!important;
  padding: 24px!important;
  box-shadow: 0 1px 6px rgba(0,0,0,.06)!important;
  box-sizing: border-box!important;
  overflow: visible!important;
}

/* ══ FORM CARD ══ */
.qp-card-form{
  border-radius: 16px!important;
  padding: 28px 28px 24px!important;
}
.qpf-title{
  font-size: 1.5rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -.025em;
  margin: 0 0 6px;
  line-height: 1.25;
}
.qpf-sub{
  font-size: .875rem;
  color: #64748b;
  line-height: 1.6;
  margin: 0 0 22px;
}
.qpf-section-label{
  display: block;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #94a3b8;
  margin: 0 0 14px;
  padding: 0;
}
.qpf-section-label--sep{
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #f1f5f9;
}
.qpf-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.qpf-field{
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 14px;
}
.qpf-field--full{ margin-bottom: 14px; }
.qpf-row .qpf-field{ margin-bottom: 0; }
.qpf-label{
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #374151;
}
.qpf-req{ color: #ef4444; }
.qpf-input{
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .875rem;
  color: #111827;
  background: #fff;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  appearance: none;
  -webkit-appearance: none;
}
.qpf-input::placeholder{ color: #9ca3af; }
.qpf-input:focus{
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
.qpf-textarea{
  resize: vertical;
  min-height: 90px;
}
select.qpf-input{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236b7280' 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;
}
.qpf-submit{
  display: block;
  width: 100%;
  padding: 14px 24px;
  background: #3b82f6;
  color: #fff;
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: .01em;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 20px;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 2px 8px rgba(59,130,246,.35);
  text-align: center;
}
.qpf-submit:hover{
  background: #2563eb;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(59,130,246,.4);
}
.qpf-privacy{
  text-align: center;
  font-size: .72rem;
  color: #9ca3af;
  margin: 10px 0 0;
  line-height: 1.5;
}

/* ══ SIDEBAR CARDS ══ */
.qps-label{
  display: block;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #6b7280;
  margin: 0 0 16px;
  padding: 0;
}

/* Brand grid: 3 columns like reference */
.qps-brand-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.qps-brand-item{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px 8px;
  min-height: 72px;
  box-sizing: border-box;
  text-decoration: none;
  transition: border-color .18s, box-shadow .18s;
}
.qps-brand-item:hover{
  border-color: #93c5fd;
  box-shadow: 0 2px 10px rgba(59,130,246,.12);
}
.qps-brand-img{
  max-width: 100%;
  max-height: 44px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.qps-brand-name{
  font-size: .65rem;
  font-weight: 700;
  color: #6b7280;
  text-align: center;
  line-height: 1.4;
}

/* Why Choose Us list */
.qps-why-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.qps-why-item{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.qps-why-check{
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qps-why-check svg{ display: block; }
.qps-why-body{
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
  overflow: visible;
}
.qps-why-title{
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.4;
}
.qps-why-desc{
  display: block;
  font-size: .8rem;
  color: #6b7280;
  line-height: 1.55;
  overflow: visible;
  max-height: none;
  white-space: normal;
}

/* ── Responsive ── */
@media(max-width: 960px){
  .qp-layout{
    grid-template-columns: 1fr 1.4fr!important;
    gap: 20px!important;
  }
}
@media(max-width: 780px){
  .qp-layout{
    display: flex!important;
    flex-direction: column!important;
    gap: 16px!important;
  }
  .qp-right{ order: 1!important; position: static!important; }
  .qp-left { order: 2!important; }
  .qps-brand-grid{ grid-template-columns: repeat(3,1fr); }
}
@media(max-width: 640px){
  .qp-trust-bar{
    flex-wrap: wrap!important;
    border-radius: 12px!important;
  }
  .qp-trust-item{
    flex: 0 0 50%!important;
    padding: 12px 10px!important;
    font-size: .72rem!important;
  }
  .qp-trust-item:nth-child(1),
  .qp-trust-item:nth-child(2){ border-bottom: 1px solid #f1f5f9!important; }
  .qp-trust-item:nth-child(2),
  .qp-trust-item:nth-child(4){ border-right: none!important; }
  .qp-card-form{ padding: 20px 18px!important; }
  .qpf-row{ grid-template-columns: 1fr!important; gap: 0!important; }
  .qps-brand-grid{ grid-template-columns: repeat(2,1fr); }
}


/* ════════════════════════════════════════════════════════════════
   TARGETED FIXES v8.1
   1. Client Stories — card text center-aligned
   2. hero-stats — center-aligned on mobile
════════════════════════════════════════════════════════════════ */

/* ── 1. Client Stories: all text inside card centred ── */
.testimonials-section .testi-card{
  text-align: center!important;
}
.testimonials-section .testi-stars{
  text-align: center!important;
  justify-content: center!important;
}
.testimonials-section .testi-quote{
  text-align: center!important;
}
.testimonials-section .testi-text{
  text-align: center!important;
}
.testimonials-section .testi-author{
  justify-content: center!important;
  text-align: left!important; /* name/role stays left-aligned inside the flex item */
}
.testimonials-section .testi-name{
  text-align: left!important;
}
.testimonials-section .testi-role{
  text-align: left!important;
}

/* ── 2. hero-stats: center on mobile (≤640px) ── */
@media(max-width: 640px){
  .hero-stats{
    justify-content: center!important;
    text-align: center!important;
    flex-wrap: wrap!important;
    gap: var(--s6)!important;
  }
  .hero-stats > div,
  .hero-stats > span{
    text-align: center!important;
    align-items: center!important;
    display: flex!important;
    flex-direction: column!important;
  }
  .hero-stat-value,
  .hero-stat-label{
    text-align: center!important;
    display: block!important;
  }
}


/* ════════════════════════════════════════════════════════════════
   v8.2 — INDUSTRY CARD ORDER + SPEC TABLE REDESIGN
════════════════════════════════════════════════════════════════ */

/* ── 1. Industry Card: Desc → Icon → Title ── */
.industry-card .industry-content{
  display: flex!important;
  flex-direction: column!important;
  justify-content: flex-end!important;
  padding: 20px!important;
  height: 100%!important;
  box-sizing: border-box!important;
}

/* Description — order 1, always rendered, toggled via .ind-active */
.industry-card .industry-desc{
  order: 1!important;
  font-size: .78rem!important;
  color: rgba(255,255,255,.88)!important;
  line-height: 1.6!important;
  margin: 0 0 10px!important;
  display: block!important;
  /* Hidden by default, shown on click */
  opacity: 0!important;
  visibility: hidden!important;
  transform: translateY(8px)!important;
  transition: opacity .28s ease, transform .28s ease, visibility .28s ease!important;
  pointer-events: none!important;
}
.industry-card.ind-active .industry-desc{
  opacity: 1!important;
  visibility: visible!important;
  transform: translateY(0)!important;
  pointer-events: auto!important;
}
.industry-card:hover .industry-desc{
  opacity: 0!important;
  transform: translateY(8px)!important;
}
.industry-card.ind-active:hover .industry-desc{
  opacity: 1!important;
  transform: translateY(0)!important;
}

/* Icon — order 2 */
.industry-card .industry-icon-box{
  order: 2!important;
  width: 40px!important;
  height: 40px!important;
  background: rgba(255,255,255,.15)!important;
  backdrop-filter: blur(4px)!important;
  border-radius: 10px!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  font-size: 1.2rem!important;
  margin: 0 0 8px!important;
  transform: none!important;
  transition: none!important;
  flex-shrink: 0!important;
}

/* Title — order 3 (last) */
.industry-card .industry-name{
  order: 3!important;
  font-size: 1rem!important;
  font-weight: 800!important;
  color: #fff!important;
  line-height: 1.3!important;
  margin: 0!important;
  letter-spacing: -.01em!important;
}

/* Overlay: stronger when active */
.industry-card .industry-overlay{
  background: linear-gradient(to top,
    rgba(6,47,109,.88) 0%,
    rgba(6,47,109,.5)  55%,
    rgba(6,47,109,.08) 100%)!important;
  transition: background .28s ease!important;
}
.industry-card.ind-active .industry-overlay{
  background: linear-gradient(to top,
    rgba(6,47,109,.96) 0%,
    rgba(6,47,109,.72) 55%,
    rgba(6,47,109,.2)  100%)!important;
}

/* ── 2. Product Spec Table — clean label:value design ── */

/* Remove the old wrapper borders set inline — we override with the class */
.product-spec-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.product-spec-table tr{
  border-bottom: 1px solid #f1f5f9;
}
.product-spec-table tr:first-child{
  border-top: none;
}
.product-spec-table tr:last-child{
  border-bottom: none;
}
.product-spec-table th{
  width: 120px;
  padding: 11px 14px 11px 0;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #94a3b8;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
.product-spec-table td{
  padding: 11px 0;
  font-size: .9rem;
  color: #0f172a;
  font-weight: 600;
  vertical-align: middle;
  word-break: break-word;
}

/* Brand value: bold dark text */
.product-spec-table tr:nth-child(1) td{
  font-weight: 700;
  color: #0f172a;
}

/* Spec table wrapper — clean card style */
.product-spec-wrap{
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 4px 18px;
  margin-bottom: 20px;
}

@media(max-width: 480px){
  .product-spec-table th{ width: 90px; font-size: .63rem; }
  .product-spec-table td{ font-size: .85rem; }
}


/* ════════════════════════════════════════════════════════════════
   v8.3 — INDUSTRY HOVER, INDUSTRIES PAGE INLINE, STORIES JUSTIFY,
           GALLERY-CAP 4-LINE FIX
════════════════════════════════════════════════════════════════ */

/* ══ HOME INDUSTRIES — hover interaction ══ */

/* Card base: flex-column, content at bottom */
.industry-card{
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.industry-card .industry-content{
  position: absolute!important;
  inset: 0!important;
  display: flex!important;
  flex-direction: column!important;
  justify-content: flex-end!important;
  padding: 20px!important;
  box-sizing: border-box!important;
  z-index: 2!important;
}

/* Icon + Title: one row, default position */
.industry-card .industry-name-row{
  display: flex;
  align-items: center;
  gap: 10px;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
/* We use the existing DOM elements; create the row effect via flex on content */
.industry-card .industry-icon-box{
  order: 1!important;
  width: 36px!important;
  height: 36px!important;
  min-width: 36px!important;
  background: rgba(255,255,255,.18)!important;
  backdrop-filter: blur(4px)!important;
  -webkit-backdrop-filter: blur(4px)!important;
  border-radius: 9px!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  font-size: 1.1rem!important;
  flex-shrink: 0!important;
  margin: 0!important;
  transition: transform .35s cubic-bezier(.4,0,.2,1)!important;
}
.industry-card .industry-name{
  order: 2!important;
  font-size: .95rem!important;
  font-weight: 800!important;
  color: #fff!important;
  line-height: 1.3!important;
  margin: 0!important;
  transition: transform .35s cubic-bezier(.4,0,.2,1)!important;
  flex: 1!important;
}

/* Make icon + name sit on ONE LINE at bottom */
.industry-card .industry-content{
  flex-direction: row!important;
  flex-wrap: wrap!important;
  align-items: flex-end!important;
  gap: 8px!important;
}
.industry-card .industry-icon-box,
.industry-card .industry-name{
  /* Both sit in the same row at the bottom */
  align-self: flex-end!important;
}

/* Description — order 0, hidden by default, shown on hover */
.industry-card .industry-desc{
  order: 0!important;
  width: 100%!important;
  font-size: .78rem!important;
  color: rgba(255,255,255,.92)!important;
  line-height: 1.6!important;
  margin: 0!important;
  padding: 0!important;
  /* Hidden */
  opacity: 0!important;
  visibility: hidden!important;
  transform: translateY(12px)!important;
  transition: opacity .32s ease, transform .32s ease, visibility .32s ease!important;
  pointer-events: none!important;
  align-self: flex-end!important;
}

/* Quote button — hidden by default */
.industry-card .industry-quote-btn{
  order: 99!important;
  width: 100%!important;
  margin-top: 10px!important;
  padding: 8px 14px!important;
  background: rgba(255,255,255,.2)!important;
  backdrop-filter: blur(4px)!important;
  border: 1px solid rgba(255,255,255,.35)!important;
  border-radius: 8px!important;
  color: #fff!important;
  font-size: .75rem!important;
  font-weight: 700!important;
  text-align: center!important;
  cursor: pointer!important;
  opacity: 0!important;
  visibility: hidden!important;
  transform: translateY(10px)!important;
  transition: opacity .32s ease .04s, transform .32s ease .04s, visibility .32s ease .04s, background .2s!important;
  text-decoration: none!important;
  display: block!important;
  box-sizing: border-box!important;
}
.industry-card .industry-quote-btn:hover{
  background: rgba(255,255,255,.32)!important;
}

/* Overlay darkens on hover */
.industry-card .industry-overlay{
  background: linear-gradient(to top,
    rgba(6,47,109,.82) 0%,
    rgba(6,47,109,.44) 60%,
    rgba(6,47,109,.06) 100%)!important;
  transition: background .32s ease!important;
}

/* ── HOVER STATE ── */
.industry-card:hover .industry-overlay{
  background: linear-gradient(to top,
    rgba(6,47,109,.96) 0%,
    rgba(6,47,109,.75) 50%,
    rgba(6,47,109,.25) 100%)!important;
}

/* Show desc on hover */
.industry-card:hover .industry-desc{
  opacity: 1!important;
  visibility: visible!important;
  transform: translateY(0)!important;
  pointer-events: auto!important;
}

/* Show quote button on hover */
.industry-card:hover .industry-quote-btn{
  opacity: 1!important;
  visibility: visible!important;
  transform: translateY(0)!important;
}

/* Lift icon+title upward on hover */
.industry-card:hover .industry-icon-box,
.industry-card:hover .industry-name{
  transform: translateY(-6px)!important;
}

/* Remove .ind-active — replaced by pure CSS hover */
.industry-card.ind-active .industry-desc{
  opacity: 0!important;
  visibility: hidden!important;
  transform: translateY(12px)!important;
}

/* ══ HOME INDUSTRIES — layout: column so desc stacks above the icon+name row ══ */
.industry-card .industry-content{
  flex-direction: column!important;
  align-items: flex-start!important;
  justify-content: flex-end!important;
  gap: 0!important;
}
.industry-card .industry-desc{ margin-bottom: 10px!important; }

/* Icon + Name in ONE ROW */
.industry-card .ind-name-row{
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  width: 100%!important;
  transition: transform .35s cubic-bezier(.4,0,.2,1)!important;
}
/* Since DOM doesn't have .ind-name-row wrapper, use adjacent sibling trick */
/* icon is order:1, name is order:2 — both get display:flex on the content container */
.industry-card .industry-content{
  display: flex!important;
}
/* Force icon and name into bottom row using explicit bottom-row wrapper trick */
/* We reuse the existing structure — icon and name are siblings, desc comes before */
/* Final approach: desc=order 1 (full width), then icon+name share order 2 row */
.industry-card .industry-icon-box{ order: 2!important; flex-shrink: 0!important; }
.industry-card .industry-name    { order: 3!important; flex: 1!important; }

/* ══ INDUSTRIES PAGE — icon + title on ONE LINE in ind-card-body ══ */
.ind-card-body{
  display: flex!important;
  flex-direction: column!important;
  padding: var(--s6)!important;
  flex: 1!important;
  box-sizing: border-box!important;
}
/* Icon badge + title on same row */
.ind-card-title-row{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--s3);
}
/* Since HTML doesn't have .ind-card-title-row, use flex trick on existing elements */
.ind-card-icon-badge{
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 34px!important;
  height: 34px!important;
  min-width: 34px!important;
  background: var(--primary-pale)!important;
  border: 1px solid var(--primary-pale2)!important;
  border-radius: var(--r-lg)!important;
  font-size: 1rem!important;
  flex-shrink: 0!important;
  /* Float next to title using order */
  order: 1!important;
}
.ind-card-title{
  font-size: 1rem!important;
  font-weight: 800!important;
  color: var(--text)!important;
  letter-spacing: -.02em!important;
  margin: 0!important;
  line-height: 1.3!important;
  order: 2!important;
  flex: 1!important;
}
.ind-card-desc{
  order: 3!important;
  margin-top: var(--s3)!important;
}
.ind-card-link{ order: 4!important; }

/* Make ind-card-body a flex-row for icon+title then wrap desc below */
.ind-card-body{
  flex-direction: row!important;
  flex-wrap: wrap!important;
  align-items: flex-start!important;
  gap: 0 10px!important;
}
.ind-card-icon-badge{ align-self: center!important; margin-bottom: 0!important; }
.ind-card-desc{
  flex-basis: 100%!important;
  order: 3!important;
  margin-top: 10px!important;
}
.ind-card-link{
  flex-basis: 100%!important;
  order: 4!important;
}

/* ══ CLIENT STORIES — justify text ══ */
.testimonials-section .testi-text{
  text-align: justify!important;
  hyphens: auto!important;
  -webkit-hyphens: auto!important;
}
/* Keep author info left-aligned */
.testimonials-section .testi-name,
.testimonials-section .testi-role{
  text-align: left!important;
}

/* ══ GALLERY-CAP — fixed 4 lines ══ */
.gallery-cap{
  display: -webkit-box!important;
  -webkit-line-clamp: 4!important;
  -webkit-box-orient: vertical!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  /* Keep the gradient background and existing show-on-hover behaviour */
  position: absolute!important;
  bottom: 0!important; left: 0!important; right: 0!important;
  padding: 28px 12px 12px!important;
  background: linear-gradient(to top, rgba(6,47,109,.88), transparent)!important;
  color: #fff!important;
  font-size: .78rem!important;
  font-weight: 600!important;
  line-height: 1.5!important;
  max-height: calc(4 * 1.5 * .78rem + 40px)!important;
  opacity: 0!important;
  transform: translateY(6px)!important;
  transition: opacity .25s ease, transform .25s ease!important;
}
.gallery-item:hover .gallery-cap{
  opacity: 1!important;
  transform: translateY(0)!important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7 — DEFINITIVE FINAL OVERRIDES
   Wins over ALL previous industry-card, ind-card, testi, gallery-cap,
   qps-brand rules. Single source of truth.
════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   1. HOME INDUSTRIES — hover card (clean rebuild)
   Layout: content pinned to bottom-left
   Default: icon + title in one row
   Hover:  desc + btn slide up, icon+title lift
─────────────────────────────────────────────── */
.industry-card{
  position: relative!important;
  border-radius: var(--r-xl)!important;
  overflow: hidden!important;
  aspect-ratio: 3/4!important;
  cursor: pointer!important;
}

/* overlay */
.industry-card .industry-overlay{
  position: absolute!important;
  inset: 0!important;
  z-index: 1!important;
  background: linear-gradient(
    to top,
    rgba(6,47,109,.93) 0%,
    rgba(6,47,109,.45) 55%,
    transparent 100%
  )!important;
  transition: background .35s ease!important;
}
.industry-card:hover .industry-overlay{
  background: linear-gradient(
    to top,
    rgba(6,47,109,.97) 0%,
    rgba(6,47,109,.72) 60%,
    rgba(6,47,109,.22) 100%
  )!important;
}

/* content wrapper — pinned absolutely to bottom */
.industry-card .industry-content{
  position: absolute!important;
  bottom: 0!important; left: 0!important; right: 0!important;
  top: auto!important;
  z-index: 2!important;
  padding: 20px!important;
  display: flex!important;
  flex-direction: column!important;
  align-items: flex-start!important;
  justify-content: flex-end!important;
  gap: 0!important;
  /* no height/min-height — content driven by children */
}

/* ── Icon + Title: one row, transitions up on hover ── */
.industry-card .industry-icon-box{
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 36px!important; height: 36px!important;
  min-width: 36px!important;
  background: rgba(255,255,255,.15)!important;
  border: 1px solid rgba(255,255,255,.22)!important;
  border-radius: 9px!important;
  font-size: 1.1rem!important;
  flex-shrink: 0!important;
  /* sit beside title in a row */
  float: left!important;
  margin-right: 10px!important;
  margin-bottom: 0!important;
  margin-top: 0!important;
  order: unset!important;
  transform: translateY(0)!important;
  transition: transform .35s cubic-bezier(.4,0,.2,1)!important;
}
.industry-card .industry-name{
  font-size: .95rem!important;
  font-weight: 800!important;
  color: #fff!important;
  line-height: 1.3!important;
  margin: 0!important;
  order: unset!important;
  float: left!important;
  transform: translateY(0)!important;
  transition: transform .35s cubic-bezier(.4,0,.2,1)!important;
}

/* name-icon row wrapper */
.industry-card .industry-name-row{
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  width: 100%!important;
  transform: translateY(0)!important;
  transition: transform .35s cubic-bezier(.4,0,.2,1)!important;
  order: 2!important;
}
/* clear floats not needed since we use flex on content, but reset float */
.industry-card .industry-icon-box,
.industry-card .industry-name{
  float: none!important;
}

/* ── Description: hidden, slides up on hover ── */
.industry-card .industry-desc{
  order: 1!important;
  width: 100%!important;
  font-size: .78rem!important;
  color: rgba(255,255,255,.88)!important;
  line-height: 1.6!important;
  margin: 0 0 10px 0!important;
  padding: 0!important;
  display: block!important;
  opacity: 0!important;
  visibility: hidden!important;
  transform: translateY(14px)!important;
  transition: opacity .32s ease, transform .32s ease, visibility .32s ease!important;
  pointer-events: none!important;
  white-space: normal!important;
  max-height: none!important;
  overflow: visible!important;
}

/* ── Quote button: hidden, slides up on hover ── */
.industry-card .industry-quote-btn{
  order: 3!important;
  display: block!important;
  width: 100%!important;
  margin-top: 10px!important;
  padding: 8px 14px!important;
  background: rgba(255,255,255,.18)!important;
  border: 1px solid rgba(255,255,255,.32)!important;
  border-radius: 8px!important;
  color: #fff!important;
  font-size: .75rem!important;
  font-weight: 700!important;
  text-align: center!important;
  text-decoration: none!important;
  box-sizing: border-box!important;
  cursor: pointer!important;
  opacity: 0!important;
  visibility: hidden!important;
  transform: translateY(10px)!important;
  transition: opacity .32s ease .05s, transform .32s ease .05s,
              visibility .32s ease .05s, background .18s!important;
  pointer-events: none!important;
}
.industry-card .industry-quote-btn:hover{
  background: rgba(255,255,255,.3)!important;
}

/* ════ HOVER STATE ════ */
.industry-card:hover .industry-desc{
  opacity: 1!important;
  visibility: visible!important;
  transform: translateY(0)!important;
  pointer-events: auto!important;
}
.industry-card:hover .industry-quote-btn{
  opacity: 1!important;
  visibility: visible!important;
  transform: translateY(0)!important;
  pointer-events: auto!important;
}
.industry-card:hover .industry-name-row,
.industry-card:hover .industry-icon-box,
.industry-card:hover .industry-name{
  transform: translateY(-8px)!important;
}

/* ─────────────────────────────────────────────
   2. INDUSTRIES PAGE — icon + title on one line
─────────────────────────────────────────────── */
.ind-card-body{
  display: flex!important;
  flex-direction: column!important;
  padding: var(--s6)!important;
  flex: 1!important;
  box-sizing: border-box!important;
  gap: 0!important;
}
/* First row: icon badge + title side by side */
.ind-card-icon-badge{
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 32px!important; height: 32px!important;
  min-width: 32px!important;
  background: var(--primary-pale)!important;
  border: 1px solid var(--primary-pale2)!important;
  border-radius: var(--r-lg)!important;
  font-size: .95rem!important;
  flex-shrink: 0!important;
  float: none!important;
  /* inline with title */
  align-self: center!important;
}
.ind-card-title-row{
  display: flex!important;
  align-items: center!important;
  gap: 10px!important;
  margin-bottom: 10px!important;
}
.ind-card-title{
  font-size: .975rem!important;
  font-weight: 800!important;
  color: var(--text)!important;
  letter-spacing: -.02em!important;
  margin: 0!important;
  line-height: 1.3!important;
  flex: 1!important;
}
.ind-card-desc{
  font-size: .85rem!important;
  color: var(--text-muted)!important;
  line-height: 1.65!important;
  margin: 0 0 10px 0!important;
  flex: 1!important;
  display: block!important;
  overflow: visible!important;
  max-height: none!important;
}
.ind-card-link{
  display: inline-flex!important;
  align-items: center!important;
  gap: 6px!important;
  font-size: .825rem!important;
  font-weight: 700!important;
  color: var(--primary)!important;
  text-decoration: none!important;
  margin-top: auto!important;
  padding-top: var(--s3)!important;
  border-top: 1px solid var(--gray-100)!important;
  transition: gap .2s!important;
}

/* ─────────────────────────────────────────────
   3. CLIENT STORIES — justify text
─────────────────────────────────────────────── */
.testimonials-section .testi-text{
  text-align: justify!important;
  hyphens: auto!important;
  -webkit-hyphens: auto!important;
  overflow: visible!important;
  max-height: none!important;
}
.testimonials-section .testi-name,
.testimonials-section .testi-role{
  text-align: left!important;
}

/* ─────────────────────────────────────────────
   4. GALLERY-CAP — exactly 4 lines, ellipsis
─────────────────────────────────────────────── */
.gallery-cap{
  position: absolute!important;
  bottom: 0!important; left: 0!important; right: 0!important;
  padding: 32px 12px 12px!important;
  background: linear-gradient(to top, rgba(6,47,109,.88), transparent)!important;
  color: #fff!important;
  font-size: .78rem!important;
  font-weight: 600!important;
  line-height: 1.5!important;
  /* 4-line clamp */
  display: -webkit-box!important;
  -webkit-line-clamp: 4!important;
  -webkit-box-orient: vertical!important;
  overflow: hidden!important;
  text-overflow: ellipsis!important;
  /* show/hide on hover */
  opacity: 0!important;
  transform: translateY(6px)!important;
  transition: opacity .25s ease, transform .25s ease!important;
  z-index: 3!important;
}
.gallery-item:hover .gallery-cap{
  opacity: 1!important;
  transform: translateY(0)!important;
}

/* ─────────────────────────────────────────────
   5. REQUEST A QUOTE — larger partner logos
─────────────────────────────────────────────── */
.qps-brand-grid{
  display: grid!important;
  grid-template-columns: repeat(2, 1fr)!important;
  gap: 12px!important;
}
.qps-brand-item{
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  background: #f9fafb!important;
  border: 1.5px solid #e5e7eb!important;
  border-radius: 12px!important;
  padding: 16px 12px!important;
  min-height: 90px!important;
  box-sizing: border-box!important;
  text-decoration: none!important;
  transition: border-color .18s, box-shadow .18s, transform .18s!important;
}
.qps-brand-item:hover{
  border-color: #93c5fd!important;
  box-shadow: 0 4px 16px rgba(59,130,246,.15)!important;
  transform: translateY(-2px)!important;
}
.qps-brand-img{
  max-width: 100%!important;
  max-height: 64px!important;
  width: auto!important;
  height: auto!important;
  object-fit: contain!important;
  display: block!important;
}
.qps-brand-name{
  font-size: .72rem!important;
  font-weight: 700!important;
  color: #374151!important;
  text-align: center!important;
  line-height: 1.4!important;
}
@media(max-width: 640px){
  .qps-brand-grid{ grid-template-columns: repeat(2, 1fr)!important; }
  .qps-brand-item{ min-height: 74px!important; padding: 12px 8px!important; }
  .qps-brand-img{ max-height: 48px!important; }
}


/* ════════════════════════════════════════════════════════════════
   v6.7.1 — INDUSTRY CARD: DEFINITIVE CLEAN REBUILD
   Overrides every previous rule. No button. Pure CSS hover.
   Structure: .industry-card > .industry-img
                              > .industry-overlay
                              > .industry-content
                                  > .industry-desc       (hidden→visible on hover)
                                  > .industry-name-row   (icon + title, lifts on hover)
                                      > .industry-icon-box
                                      > .industry-name
════════════════════════════════════════════════════════════════ */

/* ── Card shell ── */
.industry-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--r-xl, 16px) !important;
  aspect-ratio: 3 / 4 !important;
  cursor: pointer !important;
  display: block !important;
}

/* ── Background image layer ── */
.industry-card .industry-img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.industry-card .industry-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}
.industry-card:hover .industry-img img {
  transform: scale(1.07) !important;
}
.industry-card .industry-img-ph {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, var(--dark, #062f6d), var(--primary, #3399ff)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3rem !important;
}

/* ── Gradient overlay ── */
.industry-card .industry-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to top,
    rgba(6, 47, 109, 0.92) 0%,
    rgba(6, 47, 109, 0.40) 50%,
    rgba(6, 47, 109, 0.0)  100%
  ) !important;
  transition: background 0.35s ease !important;
}
.industry-card:hover .industry-overlay {
  background: linear-gradient(
    to top,
    rgba(6, 47, 109, 0.97) 0%,
    rgba(6, 47, 109, 0.72) 55%,
    rgba(6, 47, 109, 0.18) 100%
  ) !important;
}

/* ── Content: sits at bottom, stacks desc above name-row ── */
.industry-card .industry-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 2 !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  /* no overflow hidden — nothing clips here */
  overflow: visible !important;
}

/* ── Description: hidden by default, slides up on hover ── */
.industry-card .industry-desc {
  width: 100% !important;
  font-size: 0.8rem !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.6 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  display: block !important;
  /* hidden state */
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(10px) !important;
  transition: opacity 0.32s ease, transform 0.32s ease, visibility 0.32s ease !important;
  pointer-events: none !important;
  /* never clip */
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* ── Name-row: icon + title on ONE LINE, lifts on hover ── */
.industry-card .industry-name-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  transform: translateY(0) !important;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ── Icon box ── */
.industry-card .industry-icon-box {
  /* reset ALL previous rules */
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 9px !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* ── Title ── */
.industry-card .industry-name {
  /* reset ALL previous rules */
  all: unset !important;
  display: block !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.3 !important;
  flex: 1 !important;
  min-width: 0 !important;
  word-break: break-word !important;
}

/* ── No button ever shown ── */
.industry-card .industry-quote-btn {
  display: none !important;
}

/* ════ HOVER ════ */
.industry-card:hover .industry-desc {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.industry-card:hover .industry-name-row {
  transform: translateY(-10px) !important;
}

/* ════ RESPONSIVE ════ */
@media (max-width: 900px) {
  .industries-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 500px) {
  .industries-grid { grid-template-columns: 1fr !important; }
  .industry-card   { aspect-ratio: 4 / 3 !important; }
}


/* ════════════════════════════════════════════════════════════════
   v6.7.2 — FINAL TARGETED FIXES (spacing, alignment, link, gallery-cap)
════════════════════════════════════════════════════════════════ */

/* ── HOME INDUSTRIES: spacing & overlap fix ── */

/* Content area: generous bottom padding so nothing is cut off */
.industry-card .industry-content {
  padding: 0 18px 18px 18px !important;
  justify-content: flex-end !important;
  min-height: 0 !important;
}

/* Description: proper spacing above name-row */
.industry-card .industry-desc {
  margin: 0 0 12px 0 !important;
  font-size: .79rem !important;
  line-height: 1.55 !important;
}

/* Name-row: no extra margin, stays at very bottom */
.industry-card .industry-name-row {
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

/* Icon: consistent size, no margin leaking */
.industry-card .industry-icon-box {
  margin: 0 !important;
  padding: 0 !important;
}

/* Title: no margin, lets flex gap handle spacing */
.industry-card .industry-name {
  margin: 0 !important;
  padding: 0 !important;
}


/* ── INDUSTRIES PAGE: ind-card-link full fix ── */
.ind-card-link {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e5e7eb !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  color: var(--primary, #3399ff) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: gap .2s ease, color .2s ease !important;
  flex-shrink: 0 !important;
  line-height: 1.4 !important;
}
.ind-card-link:hover {
  gap: 10px !important;
  color: var(--dark, #062f6d) !important;
}
.ind-card-link span {
  display: inline-block !important;
  transition: transform .2s ease !important;
}
.ind-card-link:hover span {
  transform: translateX(3px) !important;
}

/* ind-card-body: proper flex column so link stays at bottom */
.ind-card-body {
  display: flex !important;
  flex-direction: column !important;
  padding: 20px !important;
  flex: 1 !important;
  box-sizing: border-box !important;
  gap: 0 !important;
}

/* Title row: icon + title on one line */
.ind-card-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  flex-shrink: 0 !important;
}
.ind-card-icon-badge {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  background: var(--primary-pale, #e0eaff) !important;
  border: 1px solid var(--primary-pale2, #c7d7f4) !important;
  border-radius: 8px !important;
  font-size: .95rem !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}
.ind-card-title {
  all: unset !important;
  display: block !important;
  font-size: .975rem !important;
  font-weight: 800 !important;
  color: var(--text, #0f172a) !important;
  letter-spacing: -.02em !important;
  line-height: 1.3 !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.ind-card-desc {
  font-size: .85rem !important;
  color: var(--text-muted, #64748b) !important;
  line-height: 1.65 !important;
  margin: 0 0 auto 0 !important;
  padding: 0 !important;
  display: block !important;
  flex: 1 !important;
  overflow: visible !important;
  max-height: none !important;
}


/* ── CLIENT STORIES: justified text + equal padding ── */
.testimonials-section .testi-card {
  padding: 26px !important;
  box-sizing: border-box !important;
}
.testimonials-section .testi-text {
  text-align: justify !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  word-spacing: -.01em !important;
  flex: 1 !important;
  margin-bottom: 18px !important;
  overflow: visible !important;
  max-height: none !important;
  display: block !important;
}
.testimonials-section .testi-author {
  margin-top: auto !important;
  padding-top: 16px !important;
  border-top: 1px solid #f1f5f9 !important;
}
.testimonials-section .testi-name {
  text-align: left !important;
}
.testimonials-section .testi-role {
  text-align: left !important;
}


/* ── GALLERY-CAP: 4-line hard clamp, ellipsis, no overflow ── */

/* The element uses position:absolute inside .gallery-item (overflow:hidden)
   so it is naturally constrained. We just need correct line-clamp. */
.gallery-cap {
  /* geometry */
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 3 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  /* gradient background */
  padding: 36px 12px 12px !important;
  background: linear-gradient(to top, rgba(6,47,109,.92) 0%, transparent 100%) !important;
  /* text */
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  /* 4-line clamp — the only reliable cross-browser way */
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  /* max-height as numeric fallback: 4 lines × 1.45 lineheight × 0.76rem ≈ 70px */
  max-height: calc(4 * 1.45 * 0.76rem + 48px) !important;
  /* hover animation */
  opacity: 0 !important;
  transform: translateY(5px) !important;
  transition: opacity .22s ease, transform .22s ease !important;
  pointer-events: none !important;
}
.gallery-item:hover .gallery-cap {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
/* gallery-item already has overflow:hidden so cap cannot escape the card */
.gallery-item {
  overflow: hidden !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.3 — INDUSTRY DESC SPACING + NAME-ROW ALIGNMENT
════════════════════════════════════════════════════════════════ */

/* Content: flex-column, pinned to bottom, consistent padding */
.industry-card .industry-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 16px 16px 16px 16px !important;
  gap: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Description: proper spacing, hidden default */
.industry-card .industry-desc {
  display: block !important;
  width: 100% !important;
  font-size: .79rem !important;
  color: rgba(255,255,255,.9) !important;
  line-height: 1.55 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(10px) !important;
  transition: opacity .30s ease, transform .30s ease, visibility .30s ease !important;
  pointer-events: none !important;
  white-space: normal !important;
  overflow: visible !important;
  max-height: none !important;
}

/* Name-row: icon + title on one line, zero extra spacing */
.industry-card .industry-name-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(0) !important;
  transition: transform .32s cubic-bezier(.4,0,.2,1) !important;
  flex-shrink: 0 !important;
}

/* Icon box */
.industry-card .industry-icon-box {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 8px !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Title */
.industry-card .industry-name {
  all: unset !important;
  display: block !important;
  font-size: .93rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.25 !important;
  flex: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  word-break: break-word !important;
}

/* No button ever */
.industry-card .industry-quote-btn { display: none !important; }

/* HOVER: show desc, lift name-row */
.industry-card:hover .industry-desc {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.industry-card:hover .industry-name-row {
  transform: translateY(-8px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.4 — INDUSTRY CARD: DESC + NAME-ROW SPACING FIX
   Desc sits above name-row with clean gap, no overlap.
════════════════════════════════════════════════════════════════ */

.industry-card .industry-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important; top: 0 !important;
  padding: 16px !important;
  gap: 8px !important;           /* gap between desc and name-row */
  box-sizing: border-box !important;
  overflow: hidden !important;
  z-index: 2 !important;
}

/* Description — always in flow but hidden; gap handles spacing */
.industry-card .industry-desc {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;          /* let gap do the spacing */
  padding: 0 !important;
  font-size: .78rem !important;
  color: rgba(255,255,255,.92) !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  overflow: visible !important;
  max-height: none !important;
  /* hidden by default */
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition: opacity .30s ease, transform .30s ease, visibility .30s ease !important;
  pointer-events: none !important;
  order: 1 !important;
}

/* Name-row — always visible at bottom */
.industry-card .industry-name-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  transform: translateY(0) !important;
  transition: transform .32s cubic-bezier(.4,0,.2,1) !important;
  order: 2 !important;
}

/* Icon */
.industry-card .industry-icon-box {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 8px !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Title */
.industry-card .industry-name {
  all: unset !important;
  display: block !important;
  font-size: .93rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.25 !important;
  flex: 1 !important;
  min-width: 0 !important;
  word-break: break-word !important;
}

/* No button */
.industry-card .industry-quote-btn { display: none !important; }

/* HOVER */
.industry-card:hover .industry-desc {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.industry-card:hover .industry-name-row {
  transform: translateY(-6px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.4 — GALLERY-CAP: wrapper positions, inner p clamps text
   Separates position:absolute from display:-webkit-box so both work.
════════════════════════════════════════════════════════════════ */

/* Wrapper: handles position, background gradient, hover animation */
.gallery-cap-wrap {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 3 !important;
  padding: 40px 12px 12px !important;
  background: linear-gradient(to top, rgba(6,47,109,.93) 0%, transparent 100%) !important;
  box-sizing: border-box !important;
  /* hover animation on the wrapper */
  opacity: 0 !important;
  transform: translateY(5px) !important;
  transition: opacity .22s ease, transform .22s ease !important;
  pointer-events: none !important;
}
.gallery-item:hover .gallery-cap-wrap {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* Inner p: handles line-clamp — no position, no opacity */
.gallery-cap {
  all: unset !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  max-height: calc(4 * 1.5em) !important;  /* hard numeric fallback */
  margin: 0 !important;
  padding: 0 !important;
  word-break: break-word !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.5 — ind-card-link: proper button style
════════════════════════════════════════════════════════════════ */
.ind-card-link {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin-top: 14px !important;
  padding: 9px 18px !important;
  background: var(--primary, #3399ff) !important;
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(51,153,255,.25) !important;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.ind-card-link:hover {
  background: var(--dark, #062f6d) !important;
  box-shadow: 0 4px 16px rgba(6,47,109,.3) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.ind-card-link span {
  display: inline-block !important;
  transition: transform .18s ease !important;
  font-size: .95rem !important;
}
.ind-card-link:hover span {
  transform: translateX(3px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.6 — testi-text: justified, tight spacing after quote mark
════════════════════════════════════════════════════════════════ */
.testimonials-section .testi-text,
.testi-text {
  text-align: justify !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  word-break: break-word !important;
  font-size: .9375rem !important;
  line-height: 1.7 !important;
  color: #334155 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  flex: 1 !important;
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
}

/* Collapse the gap between the " mark and the text */
.testimonials-section .testi-quote,
.testi-quote {
  display: block !important;
  font-size: 2.4rem !important;
  line-height: 1 !important;
  color: #c7d7f4 !important;
  font-family: Georgia, serif !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  user-select: none !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.7 — ind-card-body: button pinned to card bottom
════════════════════════════════════════════════════════════════ */
.ind-card {
  display: flex !important;
  flex-direction: column !important;
}
.ind-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 18px 18px 18px 18px !important;
  box-sizing: border-box !important;
  gap: 0 !important;
}
.ind-card-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  flex-shrink: 0 !important;
}
.ind-card-desc {
  flex: 1 !important;        /* grows to fill space, pushes button down */
  font-size: .85rem !important;
  color: var(--text-muted, #64748b) !important;
  line-height: 1.65 !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
}
.ind-card-link {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 18px !important;
  background: var(--primary, #3399ff) !important;
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(51,153,255,.25) !important;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease !important;
  flex-shrink: 0 !important;   /* never shrinks — stays at bottom */
  margin-top: auto !important; /* extra safety: push to bottom */
  line-height: 1 !important;
}
.ind-card-link:hover {
  background: var(--dark, #062f6d) !important;
  box-shadow: 0 4px 16px rgba(6,47,109,.28) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
.ind-card-link span {
  display: inline-block !important;
  transition: transform .18s ease !important;
}
.ind-card-link:hover span {
  transform: translateX(3px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.8 — IND-CARD: DEFINITIVE FINAL — button always at bottom
   Uses all:unset on body to nuke all 11 previous conflicting blocks
════════════════════════════════════════════════════════════════ */

/* Card: flex-column so body can stretch */
.ind-card {
  display: flex !important;
  flex-direction: column !important;
  background: var(--white, #fff) !important;
  border: 1px solid var(--gray-200, #e5e7eb) !important;
  border-radius: var(--r-xl, 16px) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Body: flex-column, fills all height below image */
.ind-card-body {
  all: unset !important;          /* nuke every previous rule */
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
}

/* Title row: icon + title on one line */
.ind-card-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 10px 0 !important;
  flex-shrink: 0 !important;
}
.ind-card-icon-badge {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  background: var(--primary-pale, #e0eaff) !important;
  border: 1px solid var(--primary-pale2, #c7d7f4) !important;
  border-radius: 8px !important;
  font-size: .95rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}
.ind-card-title {
  all: unset !important;
  display: block !important;
  font-size: .975rem !important;
  font-weight: 800 !important;
  color: var(--text, #0f172a) !important;
  line-height: 1.3 !important;
  flex: 1 !important;
  min-width: 0 !important;
  letter-spacing: -.02em !important;
}

/* Description: grows to fill space — pushes button to bottom */
.ind-card-desc {
  all: unset !important;
  display: block !important;
  font-size: .85rem !important;
  color: var(--text-muted, #64748b) !important;
  line-height: 1.65 !important;
  flex: 1 !important;             /* KEY: fills remaining space */
  margin: 0 0 14px 0 !important;
  overflow: visible !important;
  max-height: none !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* Button: always at bottom, never shrinks */
.ind-card-link {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 16px !important;
  background: var(--primary, #3399ff) !important;
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;      /* KEY: never shrinks */
  margin-top: 0 !important;       /* desc margin-bottom handles gap */
  box-shadow: 0 2px 8px rgba(51,153,255,.22) !important;
  transition: background .18s, box-shadow .18s, transform .18s !important;
  line-height: 1 !important;
}
.ind-card-link:hover {
  background: var(--dark, #062f6d) !important;
  box-shadow: 0 4px 14px rgba(6,47,109,.28) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
.ind-card-link span {
  display: inline-block !important;
  transition: transform .18s !important;
}
.ind-card-link:hover span { transform: translateX(3px) !important; }


/* ── Home industry card: desc order:1 always above name-row order:2 ── */
.industry-card .industry-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  position: absolute !important;
  inset: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  gap: 8px !important;
  z-index: 2 !important;
  overflow: hidden !important;
}
.industry-card .industry-desc {
  order: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: .79rem !important;
  color: rgba(255,255,255,.92) !important;
  line-height: 1.55 !important;
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition: opacity .30s ease, transform .30s ease, visibility .30s ease !important;
  pointer-events: none !important;
  flex-shrink: 0 !important;
}
.industry-card .industry-name-row {
  order: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(0) !important;
  transition: transform .32s cubic-bezier(.4,0,.2,1) !important;
  flex-shrink: 0 !important;
}
.industry-card:hover .industry-desc {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.industry-card:hover .industry-name-row {
  transform: translateY(-8px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.9 — IND-CARD-LINK: solid button, beats all previous rules
════════════════════════════════════════════════════════════════ */
a.ind-card-link,
.ind-card-link {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 11px 16px !important;
  background-color: #3399ff !important;
  background: #3399ff !important;
  color: #ffffff !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 10px rgba(51,153,255,.28) !important;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
  -webkit-text-fill-color: #ffffff !important; /* override any inherited link colour */
  border: none !important;
  outline: none !important;
}
a.ind-card-link:hover,
.ind-card-link:hover {
  background-color: #062f6d !important;
  background: #062f6d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(6,47,109,.32) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}
a.ind-card-link span,
.ind-card-link span {
  display: inline-block !important;
  color: inherit !important;
  transition: transform .18s ease !important;
}
a.ind-card-link:hover span,
.ind-card-link:hover span {
  transform: translateX(3px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.10 — HOME INDUSTRIES: NUCLEAR DESC HIDDEN FIX
   Line 2396 has opacity:1!important — we beat it with max specificity
════════════════════════════════════════════════════════════════ */

/* Default: desc HIDDEN — most specific selector wins */
.industries-section .industries-grid .industry-card .industry-content .industry-desc,
html body .industry-card .industry-desc {
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition: opacity .30s ease, transform .30s ease, visibility .30s ease !important;
  pointer-events: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: .79rem !important;
  color: rgba(255,255,255,.92) !important;
  line-height: 1.55 !important;
  order: 1 !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
  max-height: none !important;
  white-space: normal !important;
}

/* Hover: desc VISIBLE */
.industries-section .industries-grid .industry-card:hover .industry-content .industry-desc,
html body .industry-card:hover .industry-desc {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

/* Name-row stays at bottom, lifts on hover */
html body .industry-card .industry-content .industry-name-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  order: 2 !important;
  flex-shrink: 0 !important;
  transform: translateY(0) !important;
  transition: transform .32s cubic-bezier(.4,0,.2,1) !important;
}
html body .industry-card:hover .industry-content .industry-name-row {
  transform: translateY(-8px) !important;
}

/* Content container */
html body .industry-card .industry-content {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  gap: 8px !important;
  z-index: 2 !important;
  overflow: hidden !important;
}

/* No button ever */
html body .industry-card .industry-quote-btn { display: none !important; }


/* ════════════════════════════════════════════════════════════════
   v6.7.10 — HOME INDUSTRIES: fix desc overlap using height:0 trick
   INDUSTRIES PAGE: ind-card-link as plain text link
════════════════════════════════════════════════════════════════ */

/* ── Home industry card: desc hidden = zero height, no gap space ── */
.industry-card .industry-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  position: absolute !important;
  inset: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  gap: 0 !important;            /* no gap — desc margin handles spacing */
  z-index: 2 !important;
  overflow: hidden !important;
}

/* Desc: hidden = height:0 overflow:hidden so it takes NO space */
.industry-card .industry-desc {
  order: 1 !important;
  width: 100% !important;
  font-size: .79rem !important;
  color: rgba(255,255,255,.92) !important;
  line-height: 1.55 !important;
  /* hidden state: truly zero-height, no layout space */
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  transition: max-height .35s ease, opacity .30s ease, margin .30s ease !important;
}

/* Name-row: always at bottom, no transform on default */
.industry-card .industry-name-row {
  order: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(0) !important;
  transition: transform .32s cubic-bezier(.4,0,.2,1) !important;
  flex-shrink: 0 !important;
}

/* HOVER: desc expands to real height, name-row lifts */
.industry-card:hover .industry-desc {
  max-height: 120px !important;   /* enough for ~4 lines */
  opacity: 1 !important;
  margin: 0 0 10px 0 !important;
  pointer-events: auto !important;
}
.industry-card:hover .industry-name-row {
  transform: translateY(-8px) !important;
}

/* ── Industries page: plain text link, no button ── */
a.ind-card-link,
.ind-card-link {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 12px !important;
  padding: 0 !important;
  background: none !important;
  background-color: transparent !important;
  color: var(--primary, #3399ff) !important;
  -webkit-text-fill-color: var(--primary, #3399ff) !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding-top: 12px !important;
  border-top: 1px solid #e5e7eb !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  transition: color .18s ease, gap .18s ease !important;
  line-height: 1.4 !important;
}
a.ind-card-link:hover,
.ind-card-link:hover {
  color: var(--dark, #062f6d) !important;
  -webkit-text-fill-color: var(--dark, #062f6d) !important;
  gap: 9px !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}
a.ind-card-link span,
.ind-card-link span {
  display: inline-block !important;
  transition: transform .18s ease !important;
}
a.ind-card-link:hover span,
.ind-card-link:hover span {
  transform: translateX(3px) !important;
}


/* ════════════════════════════════════════════════════════════════
   v6.7.11 — HOME INDUSTRY CARD: fresh ic-* classes, zero conflicts
   DOM: .ic-body > .ic-namerow (icon+title) + .ic-desc (hidden→hover)
════════════════════════════════════════════════════════════════ */

/* Content wrapper: pinned to bottom of card */
.ic-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 18px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Name row: icon + title always visible at bottom */
.ic-namerow {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  transform: translateY(0);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
}

/* Icon */
.ic-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  font-size: 1.05rem;
  line-height: 1;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Title */
.ic-title {
  font-size: .93rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  flex: 1;
  min-width: 0;
  word-break: break-word;
}

/* Description: zero height by default — takes NO layout space */
.ic-desc {
  width: 100%;
  font-size: .79rem;
  color: rgba(255,255,255,.92);
  line-height: 1.55;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .35s ease, opacity .30s ease, margin .30s ease;
  pointer-events: none;
  order: -1; /* renders before namerow in DOM but we use order to put after visually */
}

/* HOVER: expand desc above namerow, lift namerow */
.industry-card:hover .ic-desc {
  max-height: 100px;
  opacity: 1;
  margin-bottom: 10px;
  pointer-events: auto;
}
.industry-card:hover .ic-namerow {
  transform: translateY(-6px);
}


/* ════════════════════════════════════════════════════════════════
   v6.7.12 — TESTI CARD: remove quote gap, left-align text
════════════════════════════════════════════════════════════════ */

/* Card: left-aligned content */
.testimonials-section .testi-card,
.testi-card {
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 26px !important;
  box-sizing: border-box !important;
}

/* Stars */
.testimonials-section .testi-stars,
.testi-stars {
  text-align: left !important;
  color: #f59e0b !important;
  font-size: .9rem !important;
  letter-spacing: 2px !important;
  margin: 0 0 6px 0 !important;
  display: block !important;
}

/* Quote mark: tight, no extra space below */
.testimonials-section .testi-quote,
.testi-quote {
  display: block !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  color: #c7d7f4 !important;
  font-family: Georgia, serif !important;
  margin: 0 0 6px 0 !important;  /* only 6px gap to text */
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  text-align: left !important;
}

/* Review text: left-aligned, justified */
.testimonials-section .testi-text,
.testi-text {
  text-align: left !important;
  font-size: .9rem !important;
  color: #334155 !important;
  line-height: 1.72 !important;
  flex: 1 !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
}

/* Author row */
.testimonials-section .testi-author,
.testi-author {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 16px !important;
  border-top: 1px solid #f1f5f9 !important;
}
.testimonials-section .testi-name,
.testi-name {
  font-size: .875rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.3 !important;
  text-align: left !important;
  margin: 0 !important;
}
.testimonials-section .testi-role,
.testi-role {
  font-size: .775rem !important;
  color: #64748b !important;
  line-height: 1.4 !important;
  text-align: left !important;
  margin: 2px 0 0 0 !important;
}

/* ================================================================
   AE PREMIUM v6.7 — PATCH: User CSS + About Page + Product List Fix
   ================================================================ */

/* ── FOOTER BOTTOM ── */
.footer-bottom { background: black; }

/* ── TESTIMONIAL TEXT — justified with left-align last line ── */
.testimonials-section .testi-card .testi-text,
.testimonials-section .testi-text p,
.qp-story-card .qp-story-text,
.testi-card p,
.testi-text {
  text-align: justify !important;
  text-align-last: left !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  word-spacing: -0.05em !important;
}
.testi-text,
.qp-story-text {
  text-align: left !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-spacing: normal !important;
}

/* ── CLOUDFLARE TURNSTILE ── */
.cf-turnstile,
.ae-turnstile {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 20px;
  margin-bottom: 20px;
  min-height: 70px;
  overflow: visible !important;
}

/* ── WHY CARD — icon + title inline ── */
.why-card {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.why-icon-box,
.why-card-title {
  display: inline-flex;
  vertical-align: middle;
}
.why-icon-box {
  margin-bottom: 0 !important;
  margin-right: 0;
  width: 40px;
  height: auto;
  flex-shrink: 0;
}
.why-card-title {
  align-items: center;
  margin: 0;
  flex: 1;
}
.why-card-desc {
  width: 100%;
  margin-top: 15px;
}

/* ── TESTIMONIAL CARD — left-aligned author ── */
.testi-card {
  text-align: left !important;
}
.testi-author {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px;
  width: 100%;
  text-align: left !important;
}
.testi-author > div {
  text-align: left !important;
}
.testi-name,
.testi-role {
  text-align: left !important;
  width: 100%;
}
.testi-avatar {
  flex-shrink: 0;
}
.testimonials-section .testi-card .testi-author {
  justify-content: flex-start !important;
  margin-left: 0 !important;
}

/* ── ABOUT PAGE — Mission/Vision icon + title on same line ── */
.mv-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
.mv-header .mv-icon {
  font-size: 1.6rem !important;
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
}
.mv-header h3 {
  margin: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  line-height: 1.3 !important;
}

/* ── PRODUCT PAGE — ensure all cards visible on initial load ── */
#productsGrid[data-show-all="1"] .product-card-wrap {
  display: block !important;
  opacity: 1 !important;
}
