:root { --hero-cover-image: url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=1600&q=75'); }
[id="scrollTopBtn"].icon-btn { width:46px; height:46px; padding:0; border-radius:50%; font-size:1.1rem; box-shadow:var(--shadow-md); background:var(--color-primary); color:#fff; border:1px solid rgba(255,255,255,0.15); }
[id="scrollTopBtn"].icon-btn:hover { background:var(--color-primary-accent); }
/* Core 4 Solutions - Global Styles */
/* Typography & CSS Variables */
:root {
  --color-bg: #F5F7FA;
  --color-surface: #FFFFFF;
  --color-surface-alt: #EEF2F6;
  --color-text: #1E2832;
  --color-text-muted: #566170;
  --color-border: #D8E0E8;
  --color-primary: #0A4D8C;
  --color-primary-accent: #0F70C9;
  --color-accent: #FFB547;
  --color-accent-rgb: 255, 181, 71;
  --color-danger: #D64545;
  --gradient-hero: linear-gradient(115deg, rgba(10,77,140,0.88), rgba(15,112,201,0.72));
  --gradient-accent: linear-gradient(140deg,#0A4D8C,#0F70C9 55%,#1391FF 105%);
  --gradient-rainbow: linear-gradient(100deg,#0A4D8C,#6F49D9,#D83F87,#EC5E41,#FFB547);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 18px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.07), 0 0 0 1px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 16px -2px rgba(0,0,0,0.12), 0 2px 6px -1px rgba(0,0,0,0.06);
  --shadow-lg: 0 8px 34px -4px rgba(0,0,0,0.18), 0 4px 14px -2px rgba(0,0,0,0.08);
  --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
  --max-width: 1220px;
  color-scheme: light dark;
}

/* Dark theme override */
:root[data-theme="dark"] {
  --color-bg: #0E1114;
  --color-surface: #161B22;
  --color-surface-alt: #1F252D;
  --color-text: #E6ECF2;
  --color-text-muted: #A8B3C2;
  --color-border: #2A323C;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.04);
  --shadow-md: 0 4px 16px -2px rgba(0,0,0,0.65), 0 2px 6px -1px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 34px -4px rgba(0,0,0,0.7), 0 4px 14px -2px rgba(0,0,0,0.5);
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  max-width: 100%;
}
body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  max-width: 100%;
}

img, svg { display: block; max-width: 100%; }

h1,h2,h3,h4 { line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; color: var(--color-heading, var(--color-text)); }
/* Modern heading palette */
:root { --color-heading: #0A406F; }
:root[data-theme="dark"] { --color-heading: #BFD9F1; }

/* Gradient accent for section headers */
.section-header h2 { position:relative; display:inline-block; padding-bottom:.4rem; }
.section-header h2::after { content:""; position:absolute; left:50%; bottom:0; width:62%; height:3px; transform:translateX(-50%); background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent),var(--color-accent)); border-radius:3px; opacity:.75; }
@media (max-width:600px){ .section-header h2::after { width:78%; } }

/* Optional subtle gradient text for h1 on light theme (non .text-gradient) */
h1:not(.text-gradient) { background:linear-gradient(90deg,#0A4D8C,#0F70C9 55%,#1391FF); -webkit-background-clip:text; background-clip:text; color:transparent; }
:root[data-theme="dark"] h1:not(.text-gradient) { background:linear-gradient(90deg,#54A6FF,#7CC6FF); -webkit-background-clip:text; background-clip:text; color:transparent; }
p { line-height: 1.55; }

:focus-visible {
  outline: 3px solid rgba(var(--color-accent-rgb),0.9);
  outline-offset: 2px;
  border-radius: 4px;
}

.skip-link {
  position: absolute; left: -999px; top: -999px;
  background: var(--color-primary); color: #fff; padding: .75rem 1rem; z-index: 1000;
}
.skip-link:focus { left: 1rem; top: 1rem; }

.container { width: 100%; max-width: var(--max-width); margin: 0 auto; padding: 0 1.25rem; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 1002; backdrop-filter: blur(14px); background: rgba(255,255,255,0.75); border-bottom: 1px solid var(--color-border); }
:root[data-theme="dark"] .site-header { background: rgba(14,17,20,0.75); }
.site-header .container { padding-left: 1.25rem; padding-right: 1.25rem; }
.nav-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 68px; max-height: 68px; padding: 0.5rem 0; }
.logo { display: flex; align-items: center; gap: 0.025rem; font-size: 1.125rem; font-weight: 700; color: var(--color-primary); text-decoration: none; letter-spacing: .5px; transition: transform .3s; white-space: nowrap; margin: 0; }
.logo:hover { transform: translateY(-2px); }
.logo-img { height: 40px; width: auto; display: block; object-fit: contain; }
.logo span { display: inline-block; line-height: 1.2; }

@media (max-width: 820px) {
  .logo-img { height: 28px; }
  .logo { font-size: 0.95rem; gap: 0; }
  .nav-bar { min-height: 60px; max-height: 60px; padding: 0.4rem 0; }
  .primary-nav a { font-size: 0.85rem; padding: .55rem .75rem; }
  .container { padding-left: 1rem; padding-right: 1rem; }
  .site-header .container { padding-left: 1rem; padding-right: 1rem; }
}

@media (max-width: 480px) {
  .logo-img { height: 24px; }
  .logo { font-size: 0.88rem; }
  .nav-bar { min-height: 56px; max-height: 56px; padding: 0.3rem 0; }
  .primary-nav a { font-size: 0.82rem; padding: .5rem .65rem; }
  .container { padding-left: 0.8rem; padding-right: 0.8rem; }
  .site-header .container { padding-left: 0.8rem; padding-right: 0.8rem; }
}

.primary-nav { display: flex; }
.primary-nav ul { list-style: none; display: flex; margin: 0; padding: 0; gap: .5rem; }
.primary-nav a { display: inline-block; padding: .65rem .9rem; font-size: .88rem; font-weight: 500; text-decoration: none; color: var(--color-text-muted); border-radius: var(--radius-sm); position: relative; line-height: 1.2; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--color-text); background: var(--color-surface-alt); }
.primary-nav a[aria-current="page"] { color: var(--color-primary); font-weight: 600; }

.header-actions { display: flex; align-items: center; gap: .5rem; position: relative; z-index: 1003; }
.icon-btn { background: var(--color-surface-alt); border: 1px solid var(--color-border); color: var(--color-text); padding: .55rem .7rem; border-radius: var(--radius-md); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; font-size: .85rem; position: relative; }
.icon-btn:hover { background: var(--color-surface); }
.icon-btn:active { transform: translateY(1px); }

.hamburger { width: 44px; height: 42px; flex-direction: column; justify-content: center; position: relative; z-index: 1003; }
.hamburger span { width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: .4s; }
.hamburger span + span { margin-top: 5px; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav */
@media (max-width: 860px) {
  .primary-nav { position: fixed; inset: 0 0 0 auto; width: min(280px, 80%); background: #FFFFFF !important; box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15); transform: translateX(100%); visibility: hidden; pointer-events: none; transition: transform .4s cubic-bezier(.65,.05,.36,1), visibility .4s; padding: 5rem 1rem 1.5rem; flex-direction: column; z-index: 1001 !important; border-left: 2px solid #D8E0E8; display: flex; justify-content: flex-start; }
  :root[data-theme="dark"] .primary-nav { background: #161B22 !important; border-left: 2px solid #2A323C; box-shadow: -4px 0 24px rgba(0, 0, 0, 0.5); }
  .primary-nav.open { transform: translateX(0); visibility: visible; pointer-events: auto; z-index: 1001 !important; }
  .primary-nav ul { flex-direction: column; gap: 0.5rem; background: transparent !important; margin: 0; padding: 0; list-style: none; width: 100%; }
  .primary-nav li { background: transparent !important; margin: 0; padding: 0; }
  .primary-nav a { width: 100%; padding: 0.95rem 1.1rem; font-size: 0.95rem; background: #EEF2F6 !important; border-radius: 10px; display: block; font-weight: 500; cursor: pointer; text-align: left; transition: all 0.2s ease; }
  .primary-nav a:hover { background: #E6ECF2 !important; transform: translateX(-3px); }
  .primary-nav a:active { transform: scale(0.98); }
  .primary-nav a[aria-current="page"] { background: var(--color-primary) !important; color: #FFFFFF !important; font-weight: 600; }
  :root[data-theme="dark"] .primary-nav a { background: #1F252D !important; color: #E6ECF2; }
  :root[data-theme="dark"] .primary-nav a:hover { background: #2A323C !important; }
  :root[data-theme="dark"] .primary-nav a[aria-current="page"] { background: var(--color-primary-accent) !important; color: #FFFFFF !important; }
  body.menu-open { overflow: hidden; }
  body.menu-open::before { content: ''; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); z-index: 1000; animation: fadeIn 0.3s ease-out; }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Hero */
.hero { position: relative; background: var(--gradient-hero), url('https://images.unsplash.com/photo-1581091215367-59ab6b28d7d2?auto=format&fit=crop&w=1600&q=60') center/cover no-repeat; color: #fff; padding: clamp(4rem, 10vh, 7rem) 0 4.5rem; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom right, rgba(10,77,140,0.5), rgba(14,17,20,0.35)); mix-blend-mode: multiply; }
.hero-inner { position: relative; z-index: 1; max-width: 940px; }
.hero h1 { font-size: clamp(2.2rem, 5.2vw, 3.45rem); margin: 0 0 1.15rem; }
.hero p.lead { font-size: clamp(1.05rem, 1.35vw, 1.35rem); max-width: 720px; margin: 0 0 2rem; font-weight: 400; line-height: 1.45; }
.tagline-alt { font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; display: inline-block; background: rgba(255,255,255,0.18); padding: .55rem .85rem; border-radius: 100px; backdrop-filter: blur(4px); margin: 0 0 1.1rem; }
.text-gradient { background: var(--gradient-rainbow); -webkit-background-clip: text; background-clip: text; color: transparent; }

.badges { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 2rem; }
.badge { background: rgba(255,255,255,0.14); color: #fff; padding: .5rem .85rem; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; border: 1px solid rgba(255,255,255,0.25); backdrop-filter: blur(4px); border-radius: 100px; font-weight: 600; }

.actions { display: flex; gap: .85rem; flex-wrap: wrap; }
.btn { --btn-bg: var(--color-primary); --btn-color: #fff; --btn-bg-hover: var(--color-primary-accent); display: inline-flex; align-items: center; justify-content: center; gap: .55rem; background: var(--btn-bg); color: var(--btn-color); text-decoration: none; padding: .9rem 1.3rem; font-weight: 600; font-size: .95rem; border-radius: var(--radius-md); box-shadow: var(--shadow-md); border: 1px solid rgba(255,255,255,0.15); position: relative; }
.btn:hover { background: var(--btn-bg-hover); }
.btn.outline { --btn-bg: rgba(255,255,255,0.12); --btn-color: var(--color-primary); --btn-bg-hover: rgba(255,255,255,0.20); border-color: rgba(255,255,255,0.5); box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.btn.light { --btn-bg: #fff; --btn-color: var(--color-primary); --btn-bg-hover: #F0F5FA; border: 1px solid var(--color-border); box-shadow: var(--shadow-sm); }
.btn.dark { --btn-bg: var(--color-surface); --btn-color: var(--color-text); --btn-bg-hover: var(--color-surface-alt); }

/* Section utilities */
.section { padding: clamp(3.5rem, 8vh, 5.5rem) 0; position: relative; }
.section.narrow { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.section-header { max-width: 760px; margin: 0 auto 3rem; text-align: center; }
.section-header h2 { margin: 0 0 .65rem; font-size: clamp(1.65rem, 3.6vw, 2.35rem); }
.section-header p { margin: 0; color: var(--color-text-muted); }

/* Cards / grids */
.grid { --min: 240px; display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr)); gap: 1.5rem; }
.card { background: var(--color-surface); border: 1px solid var(--color-border); padding: 1.3rem 1.2rem 1.35rem; border-radius: var(--radius-lg); position: relative; display: flex; flex-direction: column; gap: .65rem; box-shadow: var(--shadow-sm); }
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); transition: .35s; }
.card .eyebrow { font-size: .7rem; letter-spacing: .1em; font-weight: 600; text-transform: uppercase; color: var(--color-primary); }
.card h3 { font-size: 1.05rem; margin: 0; line-height: 1.25; }
.card p { margin: 0; font-size: .86rem; color: var(--color-text-muted); }

.card.gradient { background: linear-gradient(140deg, var(--color-primary) 0%, #0F70C9 55%, #1391FF 105%); color: #fff; border: none; box-shadow: var(--shadow-md); }
.card.gradient p { color: rgba(255,255,255,0.85); }
.card.icon { padding-left: 4rem; }
.card.icon .icon-circle { position: absolute; left: 1.05rem; top: 1.05rem; width: 2.55rem; height: 2.55rem; border-radius: 14px; background: var(--gradient-accent); display:flex; align-items:center; justify-content:center; font-size:1.15rem; color:#fff; font-weight:600; box-shadow: var(--shadow-sm); }
.accent-border { border: 1px solid transparent; background: linear-gradient(var(--color-surface),var(--color-surface)) padding-box, var(--gradient-rainbow) border-box; }

/* List styles */
.inline-list { display: flex; gap: .65rem; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; }
.inline-list li { background: var(--color-surface-alt); padding: .55rem .75rem; font-size: .78rem; border-radius: 100px; color: var(--color-text-muted); }
:root[data-theme="dark"] .inline-list li { background: #232B34; }

/* Industries carousel (simple scroll) */
.scroller { display: flex; gap: 1rem; overflow-x: auto; scrollbar-width: thin; padding-bottom: .5rem; }
.scroller::-webkit-scrollbar { height: 8px; }
.scroller::-webkit-scrollbar-track { background: transparent; }
.scroller::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 4px; }
.chip { background: var(--color-surface); border: 1px solid var(--color-border); padding: .75rem 1rem; font-size: .8rem; border-radius: 14px; white-space: nowrap; box-shadow: var(--shadow-sm); }

/* Feature banner */
.banner { background: linear-gradient(100deg, var(--color-primary) 0%, var(--color-primary-accent) 65%); color: #fff; padding: 3.2rem 0 3.6rem; position: relative; overflow: hidden; }
.banner::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 25%, rgba(255,255,255,0.35), transparent 60%); opacity: .35; }
.banner-inner { position: relative; z-index: 1; text-align: center; max-width: 840px; margin: 0 auto; }
.banner h2 { font-size: clamp(1.8rem, 3.8vw, 2.55rem); margin: 0 0 1rem; }
.banner p { font-size: 1.05rem; margin: 0 0 1.6rem; line-height: 1.5; }

/* Vision mission split */
.split { display: grid; gap: 2.2rem; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); align-items: start; }
.split-block { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.65rem 1.5rem 1.7rem; box-shadow: var(--shadow-sm); position: relative; }
.split-block h3 { margin-top: 0; font-size: 1.15rem; }
.split-block p { font-size: .9rem; }

/* Accordions */
[data-accordion] { border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); box-shadow: var(--shadow-sm); margin-bottom: 1rem; transition: .3s; }
[data-accordion].open { box-shadow: var(--shadow-md); border-color: rgba(10,77,140,.25); }
[data-accordion-toggle] { width: 100%; text-align: left; background: none; border: none; font: inherit; padding: 1.15rem 1.25rem; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: relative; font-size: .95rem; font-weight: 600; border-radius: 12px; transition: .2s; }
[data-accordion-toggle]:hover { background: var(--color-surface-alt); }
[data-accordion-toggle]::after { content: '\25BC'; font-size: .75rem; color: var(--color-primary); transition: .4s; opacity: .7; }
[data-accordion].open [data-accordion-toggle]::after { transform: rotate(-180deg); opacity: 1; }
[data-accordion-panel] { padding: 0 1.25rem 1.5rem; }
.catalog-accordions [data-accordion] { border-left: 3px solid transparent; }
.catalog-accordions [data-accordion].open { border-left-color: var(--color-primary); }


.tagline { font-size: .75rem; letter-spacing: .14em; font-weight: 700; text-transform: uppercase; color: var(--color-primary); margin: 0 0 .85rem; }

/* Footer */
.site-footer { 
  background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-surface-alt) 100%);
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--color-primary), var(--color-primary-accent), var(--color-primary)) 1;
  margin-top: 4rem;
  position: relative;
}
.site-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(10,77,140,.3) 50%, transparent);
}
.footer-inner { 
  display: grid; 
  gap: clamp(2rem, 5vw, 3rem); 
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
  padding: clamp(3rem, 6vh, 4.5rem) 0 clamp(2rem, 4vh, 3rem); 
}
.footer-column {
  display: flex;
  flex-direction: column;
}
.site-footer h4 { 
  margin: 0 0 1.2rem; 
  font-size: clamp(.85rem, 2vw, .95rem);
  font-weight: 700;
  text-transform: uppercase; 
  letter-spacing: .12em; 
  color: var(--color-heading);
  position: relative;
  padding-bottom: .5rem;
}
.site-footer h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 3px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-accent));
  border-radius: 2px;
}
.footer-links { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
  display: flex; 
  flex-direction: column; 
  gap: .62rem; 
}
.footer-links a { 
  font-size: clamp(.82rem, 1.8vw, .88rem);
  text-decoration: none; 
  color: var(--color-text-muted);
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
  display: inline-block;
  position: relative;
  padding-left: 0;
}
.footer-links a::before {
  content: '→';
  position: absolute;
  left: -18px;
  opacity: 0;
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
  color: var(--color-primary-accent);
}
.footer-links a:hover { 
  color: var(--color-primary);
  transform: translateX(4px);
  padding-left: 18px;
}
.footer-links a:hover::before {
  opacity: 1;
  left: 0;
}
.footer-links a[aria-current="page"] {
  color: var(--color-primary);
  font-weight: 600;
}
.footer-about {
  font-size: clamp(.78rem, 1.6vw, .85rem);
  line-height: 1.65;
  color: var(--color-text-muted);
  margin: 0;
  padding: 1rem 1.25rem;
  background: rgba(10,77,140,.04);
  border-left: 3px solid var(--color-primary);
  border-radius: 6px;
}
.copyright { 
  font-size: clamp(.68rem, 1.5vw, .75rem);
  padding: 1.5rem 0 2.5rem; 
  color: var(--color-text-muted); 
  text-align: center; 
  border-top: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.copyright::before {
  content: '🔬';
  font-size: 1rem;
}

@media (max-width: 820px) {
  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 520px) {
  .footer-inner {
    grid-template-columns: 1fr;
  }
}

/* Utilities */
.muted { color: var(--color-text-muted); }
.center { text-align: center; }
.mb-0 { margin-bottom: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mt-2 { margin-top: 2rem !important; }

/* Animations */
.fade-in { animation: fadeIn .9s ease forwards; opacity: 0; }
@keyframes fadeIn { to { opacity: 1; transform: none; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* Print minimal */
@media print {
  .site-header, .site-footer, .hero, .actions, .hamburger { display: none !important; }
  body { background: #fff; }
  a { text-decoration: none; color: #000; }
}

/* === Added for revamped index page === */
.section.alt { background: linear-gradient(180deg,var(--color-surface-alt),rgba(255,255,255,0)); }
:root[data-theme="dark"] .section.alt { background: linear-gradient(180deg,#1F252D,rgba(22,27,34,0)); }
.section.soft { background: radial-gradient(circle at 75% 25%, rgba(15,112,201,0.15), transparent 60%); }
:root[data-theme="dark"] .section.soft { background: radial-gradient(circle at 75% 25%, rgba(15,112,201,0.25), transparent 60%); }
.feature-grid { --min:260px; display:grid; grid-template-columns:repeat(auto-fit,minmax(var(--min),1fr)); gap:1.75rem; }
.feature-card { position:relative; background:var(--color-surface); border:1px solid var(--color-border); padding:1.4rem 1.35rem 1.55rem; border-radius:16px; display:flex; flex-direction:column; gap:.75rem; overflow:hidden; box-shadow:var(--shadow-sm); transition:.45s cubic-bezier(.19,1,.22,1); }
.feature-card::before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(10,77,140,.08),rgba(15,112,201,.06)); opacity:0; transition:.45s; }
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.feature-card:hover::before { opacity:1; }
.feature-card .icon-badge { width:48px; height:48px; border-radius:14px; background:var(--gradient-accent); display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:#fff; box-shadow:var(--shadow-sm); }
.feature-card h3 { margin:0; font-size:1.05rem; }
.feature-card p { margin:0; font-size:.85rem; line-height:1.45; color:var(--color-text-muted); }
.metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1.75rem; text-align:center; }
.metric { position:relative; padding:1.1rem .75rem 1.3rem; background:var(--color-surface); border:1px solid var(--color-border); border-radius:14px; box-shadow:var(--shadow-sm); }
.metric strong { display:block; font-size:1.9rem; font-weight:700; letter-spacing:-.02em; line-height:1.15; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent; }
.metric span { display:block; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-text-muted); margin-top:.35rem; font-weight:600; }
/* Modern Markets Section */
.markets-section { padding:clamp(2.5rem,6vh,4rem) 0; background:var(--color-bg); }
.markets-header { max-width:100%; margin:0 0 1.5rem; text-align:left; padding:1.5rem 1.75rem 1.65rem; background:linear-gradient(135deg,rgba(10,77,140,.08),rgba(15,112,201,.04)); border-left:4px solid var(--color-primary); }
.markets-header h2 { margin:0 0 .55rem; font-size:clamp(1.45rem,3.2vw,1.95rem); letter-spacing:-.015em; font-weight:700; color:var(--color-heading); }
.markets-header p { margin:0; font-size:.88rem; line-height:1.5; color:var(--color-text-muted); max-width:780px; }
:root[data-theme="dark"] .markets-header { background:linear-gradient(135deg,rgba(15,112,201,.15),rgba(10,77,140,.08)); border-left-color:var(--color-primary-accent); }
.markets-grid { display:flex; flex-wrap:wrap; gap:.45rem; }
.market-tag { background:var(--color-surface); border:1px solid var(--color-border); padding:.65rem .95rem; font-size:.75rem; letter-spacing:.02em; font-weight:600; color:var(--color-text); transition:.35s; cursor:default; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.market-tag::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,77,140,.08),transparent); opacity:0; transition:.35s; }
.market-tag:hover { background:var(--color-surface-alt); color:var(--color-primary); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.market-tag:hover::before { opacity:1; }
:root[data-theme="dark"] .market-tag { background:#1F252D; border-color:#2A323C; }
.dual-panels { display:grid; gap:1.6rem; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.panel { position:relative; background:var(--color-surface); border:1px solid var(--color-border); padding:1.9rem 1.6rem 2rem; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:.9rem; }
.panel.gradient { background:linear-gradient(135deg,#0A4D8C,#0F70C9 55%,#1391FF); color:#fff; border:none; }
.panel.gradient p { color:rgba(255,255,255,.85); }
.panel .tag { font-size:.62rem; letter-spacing:.16em; font-weight:700; text-transform:uppercase; background:rgba(255,255,255,0.16); padding:.4rem .7rem; border-radius:100px; display:inline-block; }
.divider { height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--color-border),transparent); margin:3rem 0; }
[data-reveal] { opacity:0; transform:translateY(28px); transition:.9s cubic-bezier(.19,1,.22,1); }
[data-reveal].is-visible { opacity:1; transform:none; }

/* Product catalog modern items */
.product-grid { --min:220px; display:grid; grid-template-columns:repeat(auto-fit,minmax(var(--min),1fr)); gap:.9rem; margin:1rem 0 0; padding:0; }
.product-item { position:relative; background:var(--color-surface-alt); border:1px solid var(--color-border); padding:.85rem .9rem .9rem 2.5rem; font-size:.75rem; letter-spacing:.02em; line-height:1.35; border-radius:14px; color:var(--color-text); font-weight:500; box-shadow:var(--shadow-sm); overflow:hidden; display:flex; align-items:flex-start; min-height:56px; }
.product-item::before { content:""; position:absolute; left:.9rem; top:.9rem; width:1.05rem; height:1.05rem; border-radius:6px; background:linear-gradient(130deg,var(--color-primary),var(--color-primary-accent)); opacity:.18; }
.product-item::after { content:""; position:absolute; left:.9rem; top:.9rem; width:1.05rem; height:1.05rem; border-radius:6px; background:linear-gradient(130deg,var(--color-primary),var(--color-primary-accent)); mix-blend-mode:screen; opacity:.55; }
.product-item:hover { background:var(--color-surface); box-shadow:var(--shadow-md); transform:translateY(-2px); transition:.4s; }
:root[data-theme="dark"] .product-item { background:#1F252D; }
:root[data-theme="dark"] .product-item:hover { background:#232B34; }

/* Minimalist Home Revamp */
.hero--minimal { background:linear-gradient(145deg, var(--color-surface) 0%, var(--color-surface-alt) 65%); color:var(--color-text); padding: clamp(4.5rem,11vh,7rem) 0 3.5rem; }
:root[data-theme="dark"] .hero--minimal { background:linear-gradient(145deg,#161B22 0%, #1F252D 70%); }
.hero-minimal-inner { display:grid; gap:3.2rem; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); align-items:center; }
.hero-col.textual { max-width:560px; }
.hero-title { font-family: 'Plus Jakarta Sans', var(--font-sans); font-size:clamp(2rem,4.2vw,3.1rem); line-height:1.08; margin:.25rem 0 1.1rem; letter-spacing:-.02em; }
.hero-sub { font-size:clamp(.95rem,1.15vw,1.15rem); line-height:1.5; margin:0 0 1.6rem; color:var(--color-text-muted); }
.mini-badges { display:flex; gap:.5rem; flex-wrap:wrap; }
.mini-badges span { background:var(--color-surface-alt); color:var(--color-text); font-size:.6rem; letter-spacing:.12em; font-weight:600; text-transform:uppercase; padding:.45rem .6rem; border-radius:8px; border:1px solid var(--color-border); }
:root[data-theme="dark"] .mini-badges span { background:#1F252D; }
.hero-ctas { display:flex; gap:.85rem; flex-wrap:wrap; }
.hero-col.visual { display:flex; justify-content:center; }
.hero-visual { position:relative; width:100%; max-width:480px; aspect-ratio:4/3; border-radius:28px; overflow:hidden; box-shadow:var(--shadow-lg); background:radial-gradient(circle at 35% 30%, rgba(15,112,201,.35), transparent 70%); }
.hero-visual img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.05); }

.stats-bar { display:flex; flex-wrap:wrap; gap:1.25rem; margin:2rem 0 0; }
.stat { min-width:92px; display:flex; flex-direction:column; }
.stat .v { font-size:1.35rem; font-weight:700; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1.1; }
.stat .l { font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--color-text-muted); margin-top:.35rem; }

.minimal-band { background:linear-gradient(180deg,var(--color-surface-alt),transparent); }
:root[data-theme="dark"] .minimal-band { background:linear-gradient(180deg,#1F252D,transparent); }
.pillars-grid { --min:230px; display:grid; grid-template-columns:repeat(auto-fit,minmax(var(--min),1fr)); gap:1.3rem; }
.pillar { background:var(--color-surface); border:1px solid var(--color-border); border-radius:18px; padding:1.25rem 1.15rem 1.3rem; display:flex; flex-direction:column; gap:.45rem; box-shadow:var(--shadow-sm); transition:.4s; }
.pillar:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.pillar .ic { font-size:1.4rem; line-height:1; }
.pillar h3 { margin:.2rem 0 0; font-size:.95rem; font-weight:600; }
.pillar p { margin:0; font-size:.72rem; letter-spacing:.02em; color:var(--color-text-muted); line-height:1.4; }

/* Modern Purpose Band - Vision/Mission/Edge */
.purpose-band { background:var(--color-bg); padding:clamp(2.5rem,6vh,4rem) 0; position:relative; }
.purpose-band::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,rgba(10,77,140,.06),transparent 65%); pointer-events:none; }
:root[data-theme="dark"] .purpose-band { background:var(--color-bg); }
:root[data-theme="dark"] .purpose-band::before { background:radial-gradient(circle at 50% 50%,rgba(15,112,201,.12),transparent 60%); }
.purpose-inner { display:grid; gap:.4rem; grid-template-columns:repeat(3,1fr); position:relative; z-index:1; }
@media (max-width:920px){ .purpose-inner { grid-template-columns:1fr; gap:.35rem; } }
.purpose-block { background:var(--color-surface); border:1px solid var(--color-border); padding:1.75rem 1.6rem 1.85rem; display:flex; flex-direction:column; gap:.65rem; box-shadow:var(--shadow-sm); transition:.4s; position:relative; overflow:hidden; }
.purpose-block::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent)); opacity:.75; }
.purpose-block:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.purpose-block.highlight { background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-accent) 55%,#1391FF 100%); color:#fff; border:none; box-shadow:0 4px 18px -2px rgba(10,77,140,.35); }
.purpose-block.highlight::before { background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.15)); }
.purpose-block.highlight:hover { box-shadow:0 6px 24px -2px rgba(10,77,140,.45); }
.purpose-block.highlight p { color:rgba(255,255,255,0.92); }
.purpose-block h3 { margin:0; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--color-primary); }
.purpose-block.highlight h3 { color:rgba(255,255,255,.95); }
.purpose-block p { margin:0; font-size:.88rem; line-height:1.55; color:var(--color-text); font-weight:400; }
.purpose-block .text-link { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; color:var(--color-primary); font-weight:700; display:inline-flex; align-items:center; gap:.35rem; margin-top:.25rem; transition:.3s; }
.purpose-block .text-link:hover { gap:.5rem; }
.purpose-block.highlight .text-link { color:#fff; }

/* Modern Why Core 4 Section */
.why-section { background:var(--color-bg); padding:clamp(2.5rem,6vh,4rem) 0; position:relative; }
.why-section::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,rgba(10,77,140,.05),transparent 70%); pointer-events:none; }
:root[data-theme="dark"] .why-section::before { background:radial-gradient(circle at 50% 50%,rgba(15,112,201,.1),transparent 65%); }
.why-header { max-width:100%; margin:0 0 1.5rem; text-align:left; padding:1.5rem 1.75rem 1.65rem; background:linear-gradient(135deg,rgba(10,77,140,.08),rgba(15,112,201,.04)); border-left:4px solid var(--color-primary); position:relative; z-index:1; }
.why-header h2 { margin:0 0 .55rem; font-size:clamp(1.45rem,3.2vw,1.95rem); letter-spacing:-.015em; font-weight:700; color:var(--color-heading); }
.why-header p { margin:0; font-size:.88rem; line-height:1.5; color:var(--color-text-muted); max-width:780px; }
:root[data-theme="dark"] .why-header { background:linear-gradient(135deg,rgba(15,112,201,.15),rgba(10,77,140,.08)); border-left-color:var(--color-primary-accent); }
.why-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:.4rem; position:relative; z-index:1; }
@media (max-width:680px){ .why-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .why-cards { grid-template-columns:1fr; } }
.why-card { background:var(--color-surface); border:1px solid var(--color-border); padding:1.6rem 1.4rem 1.7rem; display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; box-shadow:var(--shadow-sm); transition:.4s; position:relative; overflow:hidden; }
.why-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent)); opacity:.8; }
.why-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.why-icon { font-size:1.85rem; line-height:1; margin-bottom:.2rem; }
.why-card h3 { margin:0; font-size:.88rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--color-heading); }
.why-card p { margin:0; font-size:.82rem; line-height:1.5; color:var(--color-text-muted); }

/* Industry cards with background images */
.industry-card { border:none; min-height:220px; background-size:cover !important; background-position:center !important; position:relative; }
.industry-card::before { height:4px; background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.7)); position:relative; z-index:2; }
.industry-card:hover { transform:translateY(-5px); box-shadow:0 8px 24px rgba(10,77,140,.35); }
:root[data-theme="dark"] .industry-card { background-blend-mode:overlay; filter:brightness(.95) contrast(1.05); }
:root[data-theme="dark"] .industry-card::before { background:linear-gradient(90deg,rgba(94,196,255,.85),rgba(94,196,255,.65)); }
:root[data-theme="dark"] .industry-card::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(10,77,140,.45) 0%, rgba(15,112,201,.35) 100%); pointer-events:none; z-index:1; }
:root[data-theme="dark"] .industry-card > * { position:relative; z-index:2; }

/* Product category tiles - dark mode enhancement */
.cap-tile.product-tile { background-size:cover !important; background-position:center !important; }
:root[data-theme="dark"] .cap-tile.product-tile::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(10,77,140,.35) 0%, rgba(15,112,201,.25) 100%); pointer-events:none; z-index:1; }
:root[data-theme="dark"] .cap-tile.product-tile .cap-content { z-index:2; }

/* Footer Dark Theme */
:root[data-theme="dark"] .site-footer {
  background: linear-gradient(180deg, var(--color-bg) 0%, #1A1F26 100%);
}
:root[data-theme="dark"] .site-footer h4 {
  color: #BFD9F1;
}
:root[data-theme="dark"] .site-footer h4::after {
  background: linear-gradient(90deg, #54A6FF, #7CC6FF);
}
:root[data-theme="dark"] .footer-about {
  background: rgba(15,112,201,.12);
  border-left-color: var(--color-primary-accent);
}

.cta-band { background:linear-gradient(140deg,var(--color-primary) 0%, var(--color-primary-accent) 65%); color:#fff; padding: clamp(2.8rem,6vh,4rem) 0; }
.cta-inner { display:flex; flex-wrap:wrap; gap:2rem; align-items:center; justify-content:space-between; }
.cta-block { flex:1 1 320px; }
.cta-block h3 { margin:.2rem 0 .9rem; font-size:clamp(1.4rem,2.2vw,1.9rem); letter-spacing:-.01em; }
.cta-block p { margin:0; font-size:.9rem; line-height:1.45; color:rgba(255,255,255,0.85); }
.cta-actions { display:flex; gap:.85rem; }
.cta-actions .btn.light { --btn-bg:#fff; --btn-color:var(--color-primary); }

@media (max-width:780px){
  .hero-minimal-inner { gap:2.2rem; }
  .cta-inner { flex-direction:column; align-items:flex-start; }
  .stats-bar { gap:1.1rem; }
}

/* Modern Cover Hero - Revamped */
.hero--cover { position:relative; padding:clamp(3rem,12vh,5.5rem) 0 clamp(2.5rem,6vh,3.5rem); overflow:hidden; }
.hero--cover .hero-bg { position:absolute; inset:0; background:
  linear-gradient(125deg,rgba(10,77,140,.65) 0%,rgba(15,112,201,.38) 35%,rgba(15,112,201,.12) 65%,transparent 100%),
  var(--hero-cover-image) center/cover no-repeat,
  linear-gradient(135deg,#0A4D8C,#0F70C9); background-position:center 35%; filter:contrast(1.08) saturate(1.12); }
:root[data-theme="dark"] .hero--cover .hero-bg { filter:brightness(.75) saturate(1.15) contrast(1.05); }
.hero--cover .hero-overlay { position:absolute; inset:0; background:
  linear-gradient(to bottom,rgba(255,255,255,.88) 0%,rgba(255,255,255,.72) 18%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.08) 100%),
  radial-gradient(circle at 15% 25%,rgba(255,255,255,.85),transparent 55%);
  mix-blend-mode:normal; }
:root[data-theme="dark"] .hero--cover .hero-overlay { background:
  linear-gradient(to bottom,rgba(0,0,0,.68) 0%,rgba(0,0,0,.72) 22%,rgba(0,0,0,.58) 60%,rgba(0,0,0,.28) 100%),
  radial-gradient(circle at 18% 28%,rgba(0,0,0,.65),transparent 60%); }
.hero-cover-inner { position:relative; z-index:2; max-width:1040px; }
.hero-intro { max-width:720px; }
.hero-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 .95rem; }
.hero-tags span { background:rgba(255,255,255,.92); color:var(--color-primary); font-size:.62rem; letter-spacing:.12em; padding:.45rem .65rem; border-radius:8px; font-weight:700; text-transform:uppercase; border:1px solid rgba(10,77,140,.22); box-shadow:0 2px 6px rgba(0,0,0,.08); backdrop-filter:blur(8px); }
:root[data-theme="dark"] .hero-tags span { background:rgba(255,255,255,.15); color:#fff; border-color:rgba(255,255,255,.3); box-shadow:0 2px 8px rgba(0,0,0,.35); }
.hero-headline { font-family:'Plus Jakarta Sans',var(--font-sans); font-size:clamp(2.4rem,5.2vw,3.6rem); line-height:1.06; margin:0 0 .85rem; letter-spacing:-.025em; font-weight:700; color:var(--color-heading); background:none; }
:root[data-theme="dark"] .hero-headline { background:linear-gradient(90deg,#FFFFFF,#C5E0FF 50%,#E8F5FF); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-lead { font-size:clamp(1.02rem,1.18vw,1.18rem); line-height:1.5; margin:0 0 1.5rem; color:var(--color-text-muted); max-width:660px; font-weight:400; }
:root[data-theme="dark"] .hero-lead { color:rgba(255,255,255,0.9); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin:0 0 1.65rem; }
.hero--cover .btn { box-shadow:0 4px 20px -3px rgba(0,0,0,.28); transition:.35s; }
.hero--cover .btn:hover { transform:translateY(-2px); box-shadow:0 6px 24px -3px rgba(0,0,0,.35); }
.hero-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:1.1rem; margin:0; padding:0; max-width:520px; }
.hero-metrics div { background:rgba(255,255,255,.95); border:1px solid rgba(10,77,140,.18); border-radius:12px; padding:.85rem .8rem .95rem; display:flex; flex-direction:column-reverse; position:relative; overflow:hidden; box-shadow:0 3px 12px -2px rgba(0,0,0,.12); backdrop-filter:blur(8px); transition:.4s; }
.hero-metrics div::before { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(10,77,140,.12),transparent); opacity:0; transition:.45s; }
.hero-metrics div:hover { transform:translateY(-3px); box-shadow:0 6px 18px -2px rgba(0,0,0,.18); }
.hero-metrics div:hover::before { opacity:1; }
.hero-metrics dt { font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--color-text-muted); margin:0; }
.hero-metrics dd { margin:0 0 .4rem; font-size:1.55rem; font-weight:800; letter-spacing:-.02em; line-height:1.05; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent; }
:root[data-theme="dark"] .hero-metrics div { background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.25); box-shadow:0 3px 14px -2px rgba(0,0,0,.45); }
:root[data-theme="dark"] .hero-metrics dt { color:rgba(255,255,255,.8); }
@media (max-width:820px){
  .hero--cover { padding:clamp(2.8rem,12vh,4.5rem) 0 2.5rem; }
  .hero-headline { font-size:clamp(1.9rem,6.5vw,3rem); line-height:1.08; margin-bottom:.75rem; }
  .hero-lead { font-size:clamp(.95rem,1.1vw,1.05rem); margin-bottom:1.3rem; }
  .hero-metrics { gap:.8rem; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); max-width:100%; }
  .hero-metrics dd { font-size:1.35rem; }
  .hero-actions { gap:.7rem; margin-bottom:1.4rem; }
}
@media (max-width:520px){
  .hero-tags { gap:.45rem; }
  .hero-tags span { font-size:.57rem; padding:.4rem .55rem; }
  .hero-metrics { grid-template-columns:1fr 1fr 1fr; gap:.65rem; }
  .hero-metrics div { padding:.75rem .65rem .85rem; }
}
@media (prefers-reduced-motion:reduce){ .hero-metrics div::before { transition:none; } }

/* Sticky Sub-Nav */
.sub-nav { position:sticky; top:68px; z-index:55; background:rgba(255,255,255,0.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--color-border); }
:root[data-theme="dark"] .sub-nav { background:rgba(22,27,34,0.82); }
.sub-nav-list { list-style:none; margin:0; padding:.55rem 0; display:flex; gap:.55rem; overflow-x:auto; }
.sub-nav-list li { flex:0 0 auto; }
.sub-link { text-decoration:none; display:inline-flex; align-items:center; padding:.55rem .95rem; border-radius:2rem; font-size:.7rem; letter-spacing:.08em; font-weight:600; text-transform:uppercase; background:var(--color-surface-alt); color:var(--color-text-muted); border:1px solid var(--color-border); transition:.35s; position:relative; }
.sub-link:hover, .sub-link:focus-visible { background:var(--color-surface); color:var(--color-text); }
.sub-link.active { background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent)); color:#fff; border-color:rgba(255,255,255,0.3); box-shadow:var(--shadow-sm); }
:root[data-theme="dark"] .sub-link { background:#1F252D; }
:root[data-theme="dark"] .sub-link:hover { background:#232B34; }
@media (max-width:860px){ .sub-nav { top:60px; } }

/* Accessibility utility */
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important; }

/* Capability Image Tiles */
/* Simplified after feedback: no gaps, no rounded corners, CSS background images */
.cap-section { padding-top:2rem !important; padding-bottom:2rem !important; }
.cap-header { max-width:100%; margin:0; text-align:left; padding:1.5rem 1.75rem 1.65rem; background:linear-gradient(135deg,rgba(10,77,140,.08),rgba(15,112,201,.04)); border-left:4px solid var(--color-primary); }
.cap-header h2 { margin:0 0 .55rem; font-size:clamp(1.45rem,3.2vw,1.95rem); letter-spacing:-.015em; font-weight:700; color:var(--color-heading); position:relative; display:inline-block; padding-bottom:0; }
.cap-header h2::after { display:none; }
.cap-header p { margin:0; font-size:.88rem; line-height:1.5; color:var(--color-text-muted); max-width:780px; }
:root[data-theme="dark"] .cap-header { background:linear-gradient(135deg,rgba(15,112,201,.15),rgba(10,77,140,.08)); border-left-color:var(--color-primary-accent); }
.cap-tiles { --col:3; display:grid; gap:0; grid-template-columns:repeat(var(--col),1fr); margin:0; }
@media (max-width:1100px){ .cap-tiles { --col:2; } }
@media (max-width:620px){ .cap-tiles { --col:1; gap:0; } }
.cap-tile { position:relative; aspect-ratio:4/5; background:#1A2330; border:1px solid var(--color-border); overflow:hidden; display:flex; align-items:flex-end; isolation:isolate; box-shadow:var(--shadow-sm); margin:0; }
.cap-tile::before { content:""; position:absolute; inset:0; background:linear-gradient(185deg,rgba(10,25,45,.05),rgba(10,25,45,.55) 65%,rgba(10,25,45,.92)); mix-blend-mode:normal; z-index:1; transition:.6s; }
:root[data-theme="dark"] .cap-tile::before { background:linear-gradient(185deg,rgba(0,0,0,.05),rgba(0,0,0,.6) 60%,rgba(0,0,0,.9)); }
.cap-tile:hover::before { background:linear-gradient(185deg,rgba(10,25,45,.08),rgba(10,25,45,.65) 60%,rgba(10,25,45,.95)); }
.cap-tile:focus-within { outline:2px solid rgba(var(--color-accent-rgb),0.9); outline-offset:2px; }
.cap-content { position:relative; z-index:2; padding:1rem .95rem 1.05rem; display:flex; flex-direction:column; gap:.4rem; }
.cap-tag { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; background:rgba(255,255,255,.14); color:#fff; padding:.4rem .6rem; width:max-content; backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.25); border-radius:4px; }
.cap-tile h3 { margin:0; font-size:1.15rem; font-weight:600; letter-spacing:-.01em; color:#fff; line-height:1.18; text-shadow:0 2px 6px rgba(0,0,0,.45); }
.cap-tile p { margin:0; font-size:.72rem; line-height:1.4; letter-spacing:.015em; color:rgba(255,255,255,.85); max-width:92%; }
.cap-link { position:absolute; inset:0; z-index:3; color:inherit; text-decoration:none; }
.cap-link:focus { outline:none; }
@media (max-width:640px){
  .cap-tile { min-height:170px; }
  .cap-tile h3 { font-size:.9rem; }
  .cap-tile p { font-size:.58rem; }
}

/* Background images + branded gradient fallback (layered) */
.cap-tile.bg-calibration { background:
  linear-gradient(140deg,rgba(10,77,140,.18),rgba(15,112,201,.06)),
  url('https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?auto=format&fit=crop&w=900&q=70') center/cover no-repeat,
  linear-gradient(120deg,#0A4D8C,#0F70C9); }
.cap-tile.bg-validation { background:
  linear-gradient(140deg,rgba(10,77,140,.18),rgba(15,112,201,.06)),
  url('https://images.unsplash.com/photo-1581093588401-fbb62a02f120?auto=format&fit=crop&w=900&q=70') center/cover no-repeat,
  linear-gradient(120deg,#0A4D8C,#0F70C9); }
.cap-tile.bg-cleanroom { background:
  linear-gradient(140deg,rgba(10,77,140,.18),rgba(15,112,201,.06)),
  url('https://images.unsplash.com/photo-1581093577421-f561a654a353?auto=format&fit=crop&w=900&q=70') center/cover no-repeat,
  linear-gradient(120deg,#0A4D8C,#0F70C9); }
.cap-tile.bg-environmental { background:
  linear-gradient(140deg,rgba(10,77,140,.18),rgba(15,112,201,.06)),
  url('https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?auto=format&fit=crop&w=900&q=70') center/cover no-repeat,
  linear-gradient(120deg,#0A4D8C,#0F70C9); }
.cap-tile.bg-lifting { background:
  linear-gradient(140deg,rgba(10,77,140,.18),rgba(15,112,201,.06)),
  url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=900&q=70') center/cover no-repeat,
  linear-gradient(120deg,#0A4D8C,#0F70C9); }
.cap-tile.bg-supply { background:
  linear-gradient(140deg,rgba(10,77,140,.18),rgba(15,112,201,.06)),
  url('https://images.unsplash.com/photo-1532094349884-543bc11b234d?auto=format&fit=crop&w=900&q=70') center/cover no-repeat,
  linear-gradient(120deg,#0A4D8C,#0F70C9); }

/* ==========================================================================
   ENTERPRISE SCIENTIFIC CATALOG DESIGN SYSTEM (CORE4UAE)
   ========================================================================== */
/* Full-Width Layout Containers */
.container-catalog,
.container-pdp {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 2.5vw, 2.5rem);
  box-sizing: border-box;
}

/* -------------------------------------------------------------
   Accessibility Utility
   ------------------------------------------------------------- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* -------------------------------------------------------------
   Catalog Hero Long Search Section (Revamped Header)
   ------------------------------------------------------------- */
.catalog-search-hero {
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: 1.5rem 0 1.25rem;
  margin-bottom: 1.5rem;
  position: relative;
  box-shadow: 0 4px 18px -4px rgba(0, 0, 0, 0.03);
}

:root[data-theme="dark"] .catalog-search-hero {
  background: #111827;
  border-bottom-color: #1f2937;
  box-shadow: 0 4px 24px -4px rgba(0, 0, 0, 0.35);
}

.catalog-hero-search-container {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  width: 100%;
}

/* Long Search Bar Input Wrapper */
.catalog-search-bar-wrap {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.03);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

:root[data-theme="dark"] .catalog-search-bar-wrap {
  background: #182234;
  border-color: #334155;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.25);
}

.catalog-search-bar-wrap:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.18), 0 8px 24px -4px rgba(2, 132, 199, 0.12);
  background: var(--color-surface);
}

.catalog-search-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1.25rem;
  padding-right: 0.25rem;
  color: var(--color-primary);
  opacity: 0.9;
  flex-shrink: 0;
}

.catalog-hero-search-input {
  flex: 1;
  min-width: 0;
  height: 56px;
  padding: 0 1rem;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--color-text);
  outline: none;
}

.catalog-hero-search-input::placeholder {
  color: var(--color-text-muted);
  font-weight: 400;
  font-size: 0.95rem;
}

.catalog-hero-search-input::-webkit-search-cancel-button {
  display: none;
}

.catalog-search-tools {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 0.6rem;
  flex-shrink: 0;
}

.hero-search-clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}

.hero-search-clear:hover {
  background: #ef4444;
  color: #ffffff;
}

.search-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  border-radius: 6px;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.78rem;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  user-select: none;
}

@media (max-width: 860px) {
  .search-kbd {
    display: none;
  }
}

.hero-search-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 44px;
  padding: 0 1.35rem;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, var(--color-primary) 0%, #0369a1 100%);
  color: #ffffff;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.3);
  white-space: nowrap;
}

.hero-search-btn:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%);
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4);
  transform: translateY(-1px);
}

.hero-search-btn:active {
  transform: translateY(0);
}

/* Secondary Row: Trending Queries & Trust Signals */
.catalog-quick-discovery {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.quick-tags-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

.quick-tags-label {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.quick-tags-scroll {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  white-space: nowrap;
  padding: 2px 0;
}

.quick-tags-scroll::-webkit-scrollbar {
  display: none;
}

.search-tag-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.75rem;
  border-radius: 9999px;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s;
  flex-shrink: 0;
}

.search-tag-chip:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(2, 132, 199, 0.08);
}

.search-tag-chip.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
  font-weight: 600;
}

.catalog-trust-micro {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.trust-micro-item {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--color-text-muted);
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  white-space: nowrap;
}

.catalog-section {
  padding-top: 0.5rem;
  padding-bottom: 5rem;
}

.catalog-layout {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 2rem;
  align-items: start;
}

.mobile-filter-bar {
  display: none !important;
}

@media (max-width: 900px) {
  .catalog-layout {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
  .catalog-sidebar,
  .mobile-filter-bar {
    display: none !important;
  }
}

/* -------------------------------------------------------------
   Sidebar Filter Panel
   ------------------------------------------------------------- */
.catalog-sidebar {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 1.5rem;
  position: sticky;
  top: 90px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  scrollbar-width: thin;
}

.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--color-border);
}
.sidebar-title {
  font-size: 1.05rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.btn-reset-filters {
  background: transparent;
  border: none;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  transition: opacity 0.2s;
}
.btn-reset-filters:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.filter-group-title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--color-text-muted);
  margin-bottom: 0.75rem;
}

/* Brand Segmented Control */
.brand-segments {
  display: flex;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 3px;
  margin-bottom: 1.5rem;
}
.brand-seg-btn {
  flex: 1;
  padding: 0.55rem 0.25rem;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.brand-seg-btn.active {
  background: var(--color-surface);
  color: var(--color-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  font-weight: 700;
}

/* Sidebar Search Box */
.sidebar-search-box {
  position: relative;
  margin-bottom: 1.5rem;
}
.sidebar-search-input {
  width: 100%;
  padding: 0.75rem 2.2rem 0.75rem 2.4rem;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  font-size: 0.88rem;
  background: var(--color-surface-alt);
  color: var(--color-text);
  box-sizing: border-box;
  transition: all 0.2s;
}
.sidebar-search-input:focus {
  outline: none;
  background: var(--color-surface);
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}
.sidebar-search-icon {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.95rem;
  opacity: 0.5;
}
.sidebar-search-clear {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

/* Sector Navigation Items */
.sector-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1.5rem;
}
.sector-item-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.55rem 0.75rem;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.85rem;
  color: var(--color-text);
  cursor: pointer;
  text-align: left;
  transition: all 0.15s;
}
.sector-item-btn:hover {
  background: var(--color-surface-alt);
  border-color: var(--color-border);
}
.sector-item-btn.active {
  background: rgba(2, 132, 199, 0.08);
  border-color: rgba(2, 132, 199, 0.3);
  color: var(--color-primary);
  font-weight: 700;
}
.sector-item-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sector-count-pill {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 9999px;
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
}
.sector-item-btn.active .sector-count-pill {
  background: var(--color-primary);
  color: white;
  border-color: var(--color-primary);
}

/* Subcategory select */
.subcat-select {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1.5px solid var(--color-border);
  border-radius: 8px;
  font-size: 0.85rem;
  background: var(--color-surface-alt);
  color: var(--color-text);
  cursor: pointer;
  margin-bottom: 1.5rem;
}

/* Sidebar Toggle Options */
.filter-checkbox-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--color-text);
  margin-bottom: 0.65rem;
  cursor: pointer;
}
.filter-checkbox-item input {
  cursor: pointer;
  accent-color: var(--color-primary);
  width: 16px;
  height: 16px;
}

/* -------------------------------------------------------------
   Main Catalog Controls Header
   ------------------------------------------------------------- */
.catalog-main-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}
.catalog-results-info {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text);
}
.catalog-controls-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.sort-select {
  padding: 0.5rem 0.85rem;
  border: 1.5px solid var(--color-border);
  border-radius: 8px;
  font-size: 0.85rem;
  background: var(--color-surface-alt);
  color: var(--color-text);
  font-weight: 500;
  cursor: pointer;
}

.view-mode-group {
  display: flex;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 2px;
}
.view-btn {
  padding: 0.4rem 0.6rem;
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.view-btn.active {
  background: var(--color-surface);
  color: var(--color-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Active Filter Chips Bar */
.filter-chips-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.65rem;
  background: rgba(2, 132, 199, 0.09);
  border: 1px solid rgba(2, 132, 199, 0.25);
  border-radius: 9999px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-primary);
}
.filter-chip-remove {
  background: transparent;
  border: none;
  color: var(--color-primary);
  cursor: pointer;
  font-size: 0.85rem;
  line-height: 1;
}

/* Mobile Filter Trigger Bar */
.mobile-filter-bar {
  display: none;
  margin-bottom: 1rem;
}
@media (max-width: 1024px) {
  .mobile-filter-bar {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
  }
}

/* -------------------------------------------------------------
   GRID VIEW: Product Cards
   ------------------------------------------------------------- */
.products-grid-v2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.catalog-card-v2 {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s, border-color 0.22s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  position: relative;
}
.catalog-card-v2:hover {
  transform: translateY(-5px);
  border-color: rgba(2, 132, 199, 0.35);
  box-shadow: 0 16px 32px -6px rgba(2, 132, 199, 0.12), 0 4px 12px rgba(0, 0, 0, 0.04);
}

.card-v2-img-container {
  height: 190px;
  background: linear-gradient(180deg, var(--color-surface-alt) 0%, var(--color-surface) 100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  cursor: pointer;
  border-bottom: 1px solid var(--color-border);
}
.card-v2-img-container img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.catalog-card-v2:hover .card-v2-img-container img {
  transform: scale(1.08);
}

.card-v2-badge-brand {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.brand-badge-labmate {
  background: linear-gradient(135deg, #0A4D8C 0%, #0F70C9 100%);
  color: #ffffff;
}
.brand-badge-bkmam {
  background: linear-gradient(135deg, #059669 0%, #10b981 100%);
  color: #ffffff;
}

.card-v2-badge-model {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  padding: 0.25rem 0.55rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-text);
  font-family: monospace;
}

.card-v2-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.card-v2-sector {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-primary);
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.card-v2-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-text);
  margin-bottom: 0.65rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.15s;
}
.card-v2-title:hover {
  color: var(--color-primary);
}

.card-v2-specs-tag {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: var(--color-text-muted);
  background: var(--color-surface-alt);
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  margin-bottom: 1.15rem;
}

.card-v2-actions {
  margin-top: auto;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.btn-v2-quote {
  flex: 1;
  padding: 0.65rem 0.85rem;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-accent) 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  box-shadow: 0 2px 8px rgba(10, 77, 140, 0.2);
  transition: all 0.2s;
}
.btn-v2-quote:hover {
  background: linear-gradient(135deg, #083c6d 0%, #0c5fa8 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(10, 77, 140, 0.3);
}

.btn-v2-pdf {
  padding: 0.65rem 0.75rem;
  background: var(--color-surface);
  border: 1.5px solid var(--color-border);
  color: var(--color-text);
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: all 0.2s;
}
.btn-v2-pdf:hover {
  border-color: #ef4444;
  color: #ef4444;
  background: #fef2f2;
}

.btn-v2-specs {
  padding: 0.65rem 0.5rem;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  transition: color 0.2s;
}
.btn-v2-specs:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

/* -------------------------------------------------------------
   LIST VIEW: Dense Technical Matrix
   ------------------------------------------------------------- */
.products-list-v2 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}
.catalog-list-row {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: grid;
  grid-template-columns: 80px 140px 1fr 140px 170px;
  gap: 1.25rem;
  align-items: center;
  transition: all 0.2s;
}
.catalog-list-row:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}
@media (max-width: 900px) {
  .catalog-list-row {
    grid-template-columns: 60px 1fr;
  }
  .catalog-list-row .list-cell-hide-mobile {
    display: none;
  }
}

.list-row-thumb {
  width: 70px;
  height: 70px;
  background: var(--color-surface-alt);
  border-radius: 8px;
  padding: 0.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.list-row-thumb img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

/* -------------------------------------------------------------
   PAGINATION V2
   ------------------------------------------------------------- */
.pagination-v2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.page-btn-v2 {
  min-width: 38px;
  height: 38px;
  padding: 0 0.65rem;
  border: 1.5px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s;
}
.page-btn-v2:hover:not(:disabled) {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-surface-alt);
}
.page-btn-v2.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(10, 77, 140, 0.25);
}
.page-btn-v2:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* -------------------------------------------------------------
   ENHANCED MODALS
   ------------------------------------------------------------- */
.modal-backdrop-v2 {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  overflow-y: auto;
}
.modal-content-v2 {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 20px;
  max-width: 780px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 2.25rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
  position: relative;
  animation: modalSlideIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ==========================================================================
   PRODUCTION-GRADE PRODUCT DETAIL PAGE (PDP) - MODERN PREMIUM DESIGN SYSTEM
   Contemporary B2B Scientific & Medical Equipment Showcase
   ========================================================================== */

.pdp-body {
  background: var(--color-bg);
  min-height: 100vh;
}

/* Sticky Top Navigation & Breadcrumb Bar */
.pdp-nav-bar {
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: 0.85rem 0;
  position: sticky;
  top: 68px;
  z-index: 999;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
:root[data-theme="dark"] .pdp-nav-bar {
  background: rgba(22, 27, 34, 0.92);
}

.pdp-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: nowrap;
  min-width: 0;
  max-width: 100%;
}

.btn-pdp-back {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  padding: 0.5rem 0.95rem;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-pdp-back:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
  transform: translateX(-2px);
  box-shadow: 0 2px 8px rgba(10, 77, 140, 0.2);
}

.pdp-breadcrumb-list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.82rem;
  color: var(--color-text-muted);
  overflow-x: auto;
  white-space: nowrap;
  min-width: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pdp-breadcrumb-list::-webkit-scrollbar {
  display: none;
}
.pdp-breadcrumb-list a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s;
}
.pdp-breadcrumb-list a:hover {
  color: var(--color-primary-accent);
  text-decoration: underline;
}
.pdp-breadcrumb-list .active {
  color: var(--color-heading, var(--color-text));
  font-weight: 600;
}

.pdp-main-section {
  padding-top: 2rem;
  padding-bottom: 5rem;
}

.pdp-loading-card,
.pdp-error-card {
  text-align: center;
  padding: 5rem 2rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 20px;
  max-width: 620px;
  margin: 3.5rem auto;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
}

@keyframes pdp-spin {
  to { transform: rotate(360deg); }
}

.pdp-spinner {
  width: 44px;
  height: 44px;
  border: 3.5px solid rgba(10, 77, 140, 0.15);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: pdp-spin 0.85s linear infinite;
  margin: 0 auto 1.35rem;
  display: block;
}

:root[data-theme="dark"] .pdp-spinner {
  border-color: rgba(255, 255, 255, 0.12);
  border-top-color: var(--color-primary-accent);
}

/* -------------------------------------------------------------
   PDP Hero Two-Column Layout (Interactive Gallery + Info)
   ------------------------------------------------------------- */
.pdp-hero-grid {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(380px, 1.18fr);
  gap: 3.25rem;
  align-items: start;
  margin-bottom: 3.5rem;
  max-width: 100%;
}

@media (max-width: 1024px) {
  .pdp-hero-grid {
    grid-template-columns: 100%;
    gap: 2.25rem;
  }
  .pdp-gallery-col {
    position: static !important;
    top: auto !important;
  }
  .pdp-nav-bar {
    position: static !important;
    top: auto !important;
  }
}

/* -------------------------------------------------------------
   Interactive Gallery Stage
   ------------------------------------------------------------- */
.pdp-gallery-col {
  position: sticky;
  top: 140px;
}

.pdp-gallery-stage {
  position: relative;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 20px;
  padding: 2.75rem 1.75rem;
  min-height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 24px -2px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
  overflow: hidden;
  transition: border-color 0.2s ease;
}

.pdp-main-img-wrap {
  width: 100%;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pdp-main-img-wrap img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.pdp-main-img-wrap:hover img {
  transform: scale(1.05);
}

/* Badges: Refined Capsules */
.pdp-badge-cluster {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
  z-index: 3;
}

.pdp-badge {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.3rem 0.65rem;
  border-radius: 6px;
  border: 1px solid transparent;
}
.pdp-badge.brand-badge-labmate {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-accent) 100%);
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(10, 77, 140, 0.2);
}
.pdp-badge.brand-badge-bkmam {
  background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(13, 148, 136, 0.2);
}
.pdp-badge-model {
  background: var(--color-surface-alt);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  font-family: 'JetBrains Mono', monospace;
}
.pdp-badge-sector {
  background: rgba(10, 77, 140, 0.06);
  color: var(--color-primary);
  border: 1px solid rgba(10, 77, 140, 0.15);
}

/* Floating Circular Slider Navigation Controls */
.pdp-slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--color-border);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--color-text);
  cursor: pointer;
  z-index: 3;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
:root[data-theme="dark"] .pdp-slider-nav {
  background: rgba(30, 41, 59, 0.92);
}
.pdp-slider-nav:hover {
  background: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 20px rgba(10, 77, 140, 0.3);
}
.pdp-slider-nav.prev { left: 0.85rem; }
.pdp-slider-nav.next { right: 0.85rem; }

/* Translucent Pill Counter */
.pdp-slider-counter {
  position: absolute;
  bottom: 1.15rem;
  right: 1.25rem;
  background: rgba(15, 23, 42, 0.72);
  color: #ffffff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 3;
}

/* Rounded Thumbnails Strip */
.pdp-thumb-strip {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.15rem;
  overflow-x: auto;
  padding: 0.35rem 0.2rem;
  scrollbar-width: thin;
}

.pdp-thumb-item {
  width: 76px;
  height: 76px;
  border-radius: 12px;
  border: 2px solid var(--color-border);
  background: var(--color-surface);
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.pdp-thumb-item img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.pdp-thumb-item:hover {
  border-color: var(--color-primary-accent);
  transform: translateY(-2px);
}
.pdp-thumb-item.active {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(10, 77, 140, 0.25);
  transform: translateY(-2px);
}

/* -------------------------------------------------------------
   Right Commercial & Engineering Column
   ------------------------------------------------------------- */
.pdp-info-col {
  display: flex;
  flex-direction: column;
}

.pdp-eyebrow {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pdp-eyebrow::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--color-primary);
  border-radius: 2px;
}

.pdp-title {
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.22;
  color: var(--color-heading, var(--color-text));
  margin: 0 0 1.15rem;
}

/* Polished Model Code Capsule */
.pdp-model-bar {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 0.5rem 0.95rem;
  width: fit-content;
  margin-bottom: 1.75rem;
}
.model-label {
  font-size: 0.76rem;
  color: var(--color-text-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.model-code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: 0.04em;
}
.btn-copy-model {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 0.25rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: all 0.15s ease-in-out;
}
.btn-copy-model:hover {
  background: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

/* Value Assurance Trust Grid (Clean Elevated Cards) */
.pdp-trust-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem;
  margin-bottom: 1.75rem;
}
@media (max-width: 540px) {
  .pdp-trust-grid {
    grid-template-columns: 1fr;
  }
}
.trust-grid-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 1rem 1.15rem;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
.trust-grid-item:hover {
  transform: translateY(-2px);
  border-color: var(--color-primary);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
}
.trust-icon {
  font-size: 1.4rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}
.trust-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.trust-text strong {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.25;
}
.trust-text span {
  font-size: 0.76rem;
  color: var(--color-text-muted);
  line-height: 1.4;
}

/* Actions Stack Card */
.pdp-actions-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 2rem;
  background: var(--color-surface);
  border: 1.5px solid var(--color-border);
  border-radius: 18px;
  padding: 1.65rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.btn-pdp-primary {
  width: 100%;
  padding: 1.05rem 1.65rem;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-accent) 100%);
  color: #ffffff;
  border: none;
  border-radius: 12px;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  box-shadow: 0 4px 18px rgba(10, 77, 140, 0.3);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-pdp-primary:hover {
  background: linear-gradient(135deg, #083c6d 0%, #0c5fa8 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(10, 77, 140, 0.4);
}

.pdp-secondary-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
@media (max-width: 600px) {
  .pdp-secondary-actions {
    grid-template-columns: 1fr;
  }
}

.btn-pdp-whatsapp {
  padding: 0.85rem 1.15rem;
  background: #25D366;
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.25);
  transition: all 0.2s ease;
}
.btn-pdp-whatsapp:hover {
  background: #20bd5a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.35);
}

.btn-pdp-pdf {
  padding: 0.85rem 1.15rem;
  background: var(--color-surface-alt);
  color: var(--color-text);
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  transition: all 0.2s ease;
}
.btn-pdp-pdf:hover {
  border-color: #ef4444;
  color: #ef4444;
  background: #fef2f2;
  transform: translateY(-1px);
}

/* Product Description & Features */
.pdp-desc-wrap {
  margin-top: 1rem;
}
.pdp-section-h3 {
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0 0 0.75rem;
  color: var(--color-heading, var(--color-text));
}
.pdp-section-h4 {
  font-size: 1rem;
  font-weight: 800;
  margin: 1.75rem 0 0.75rem;
  color: var(--color-heading, var(--color-text));
}
.pdp-desc-text {
  font-size: 0.95rem;
  color: var(--color-text-secondary);
  line-height: 1.7;
  margin: 0;
}
.pdp-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pdp-features-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.9rem;
  color: var(--color-text);
  line-height: 1.55;
  padding: 0.35rem 0;
}
.feat-check {
  color: #059669;
  font-weight: 800;
  font-size: 0.95rem;
  flex-shrink: 0;
}

/* -------------------------------------------------------------
   Lower Details Tabs Section
   ------------------------------------------------------------- */
.pdp-detail-tabs-section {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 20px;
  padding: 2.25rem 2.5rem;
  margin-bottom: 3.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}
@media (max-width: 768px) {
  .pdp-detail-tabs-section {
    padding: 1.5rem 1rem;
  }
}

.pdp-tab-headers {
  display: flex;
  gap: 0.65rem;
  border-bottom: 2px solid var(--color-border);
  padding-bottom: 0.85rem;
  margin-bottom: 2rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.pdp-tab-btn {
  padding: 0.75rem 1.35rem;
  background: transparent;
  border: none;
  border-radius: 10px;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text-muted);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.pdp-tab-btn:hover {
  color: var(--color-text);
  background: var(--color-surface-alt);
}
.pdp-tab-btn.active {
  background: var(--color-primary);
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(10, 77, 140, 0.25);
}

.pdp-specs-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.specs-search-box {
  padding: 0.75rem 1.15rem;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  font-size: 0.88rem;
  background: var(--color-surface-alt);
  color: var(--color-text);
  width: 320px;
  transition: all 0.2s;
}
.specs-search-box:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-surface);
  box-shadow: 0 0 0 3px rgba(10, 77, 140, 0.15);
}

.specs-table-container,
.sku-table-container {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 14px;
}

.specs-table-v2,
.sku-table-v2 {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.9rem;
}

.specs-table-v2 th,
.specs-table-v2 td,
.sku-table-v2 th,
.sku-table-v2 td {
  padding: 0.9rem 1.25rem;
  border-bottom: 1px solid var(--color-border);
}

.specs-table-v2 tr:last-child th,
.specs-table-v2 tr:last-child td,
.sku-table-v2 tr:last-child th,
.sku-table-v2 tr:last-child td {
  border-bottom: none;
}

.specs-table-v2 tr:hover td {
  background: rgba(10, 77, 140, 0.02);
}

.pdp-spec-key {
  width: 35%;
  background: var(--color-surface-alt);
  font-weight: 700;
  color: var(--color-heading, var(--color-text));
}
.pdp-spec-val {
  color: var(--color-text);
  font-family: inherit;
}

.sku-table-v2 thead tr {
  background: var(--color-surface-alt);
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Compliance Cards (3-Column Grid) */
.calib-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 900px) {
  .calib-card-grid {
    grid-template-columns: 1fr;
  }
}
.calib-card {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 2rem 1.75rem;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.calib-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-primary);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}
.calib-icon {
  font-size: 2.2rem;
  margin-bottom: 0.85rem;
}
.calib-card h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--color-heading, var(--color-text));
}
.calib-card p {
  font-size: 0.88rem;
  color: var(--color-text-secondary);
  line-height: 1.65;
  margin: 0;
}

/* Direct Embedded RFQ Form Card */
.embedded-rfq-card {
  max-width: 820px;
  margin: 0 auto;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  padding: 2.5rem;
}
.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem;
  margin-bottom: 1.15rem;
}
.form-row-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.15rem;
  margin-bottom: 1.15rem;
}
@media (max-width: 640px) {
  .form-row-2, .form-row-3 {
    grid-template-columns: 1fr;
  }
}
.pdp-label {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  margin-bottom: 0.45rem;
  color: var(--color-text);
}
.pdp-input {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  font-size: 0.92rem;
  background: var(--color-surface);
  color: var(--color-text);
  box-sizing: border-box;
  transition: all 0.2s;
}
.pdp-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(10, 77, 140, 0.15);
}

/* -------------------------------------------------------------
   Related Equipment Recommendations
   ------------------------------------------------------------- */
.pdp-related-section {
  margin-bottom: 4rem;
}
.pdp-related-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.pdp-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1100px) {
  .pdp-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .pdp-related-grid {
    grid-template-columns: 1fr;
  }
}

.pdp-related-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.pdp-related-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  border-color: var(--color-primary-accent);
}
.related-card-img {
  position: relative;
  height: 190px;
  background: var(--color-surface-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.related-card-img img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.pdp-related-card:hover .related-card-img img {
  transform: scale(1.06);
}
.related-card-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.related-card-title {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0.35rem 0 0.5rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.related-card-title a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.15s;
}
.related-card-title a:hover {
  color: var(--color-primary);
}

/* -------------------------------------------------------------
   Mobile Specific Alignment & Layout Overrides
   ------------------------------------------------------------- */
@media (max-width: 768px) {
  .container-pdp,
  .container-catalog {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  .pdp-main-section {
    padding-top: 1rem;
    padding-bottom: 3.5rem;
  }

  .pdp-nav-bar {
    padding: 0.65rem 0;
    position: static !important;
    top: auto !important;
  }

  .pdp-nav-inner {
    gap: 0.65rem;
    flex-wrap: nowrap;
    overflow-x: hidden;
  }

  .btn-pdp-back {
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    flex-shrink: 0;
  }

  .pdp-breadcrumb-list {
    font-size: 0.78rem;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .pdp-breadcrumb-list::-webkit-scrollbar {
    display: none;
  }

  .pdp-hero-grid {
    gap: 1.5rem;
    margin-bottom: 2rem;
    grid-template-columns: 100% !important;
  }

  .pdp-gallery-col {
    position: static !important;
    top: auto !important;
  }

  .pdp-gallery-stage {
    min-height: 280px;
    padding: 1.5rem 0.75rem;
    border-radius: 16px;
  }

  .pdp-main-img-wrap {
    height: 240px;
  }

  .pdp-badge-cluster {
    top: 0.75rem;
    left: 0.75rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-width: calc(100% - 1.5rem);
  }

  .pdp-badge {
    font-size: 0.68rem;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
  }

  .pdp-badge-sector {
    display: none; /* Already prominent in eyebrow text */
  }

  .pdp-slider-nav {
    width: 38px;
    height: 38px;
    font-size: 1.3rem;
    border-radius: 50%;
  }
  .pdp-slider-nav.prev { left: 0.5rem; }
  .pdp-slider-nav.next { right: 0.5rem; }

  .pdp-thumb-strip {
    gap: 0.5rem;
    margin-top: 0.75rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .pdp-thumb-strip::-webkit-scrollbar {
    display: none;
  }

  .pdp-thumb-item {
    width: 58px;
    height: 58px;
    border-radius: 10px;
    padding: 4px;
  }

  .pdp-title {
    font-size: 1.45rem;
    margin: 0 0 0.65rem;
  }

  .pdp-model-bar {
    margin-bottom: 1.15rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.78rem;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
  }

  .model-code {
    font-size: 0.85rem;
  }

  .pdp-actions-stack {
    padding: 1.15rem;
    border-radius: 14px;
    margin-bottom: 1.5rem;
  }

  .btn-pdp-primary {
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
    border-radius: 10px;
  }

  .pdp-secondary-actions {
    grid-template-columns: 1fr;
  }

  .btn-pdp-whatsapp,
  .btn-pdp-pdf {
    padding: 0.75rem 0.85rem;
    font-size: 0.84rem;
    border-radius: 8px;
  }

  .pdp-detail-tabs-section {
    padding: 1.25rem 0.85rem;
    border-radius: 16px;
    margin-bottom: 2.5rem;
    max-width: 100%;
    box-sizing: border-box;
  }

  .pdp-tab-headers {
    gap: 0.4rem;
    padding-bottom: 0.5rem;
    margin-bottom: 1.25rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
    border-bottom: 2px solid var(--color-border);
  }
  .pdp-tab-headers::-webkit-scrollbar {
    display: none;
  }

  .pdp-tab-btn {
    padding: 0.65rem 0.95rem;
    font-size: 0.82rem;
    border-radius: 8px;
  }

  .pdp-specs-header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .specs-search-box {
    width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
  }

  .specs-table-container,
  .sku-table-container {
    border-radius: 10px;
  }

  .specs-table-v2 th,
  .specs-table-v2 td,
  .sku-table-v2 th,
  .sku-table-v2 td {
    padding: 0.65rem 0.75rem;
    font-size: 0.82rem;
  }

  .embedded-rfq-card {
    padding: 1.5rem 1rem;
    border-radius: 14px;
    max-width: 100%;
    box-sizing: border-box;
  }

  .form-row-2, .form-row-3 {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  /* Catalog Filters - Hidden in mobile view */
  .catalog-sidebar,
  .mobile-filter-bar {
    display: none !important;
  }
  .catalog-layout {
    grid-template-columns: 1fr !important;
  }

  /* Catalog Long Search Hero - Mobile */
  .catalog-search-hero {
    padding: 0.85rem 0 0.75rem;
    margin-bottom: 0.85rem;
  }

  .catalog-hero-search-container {
    gap: 0.65rem;
  }

  .catalog-search-bar-wrap {
    border-radius: 12px;
  }

  .catalog-search-icon {
    padding-left: 0.85rem;
    padding-right: 0.15rem;
  }

  .catalog-hero-search-input {
    height: 48px;
    font-size: 0.9rem;
    padding: 0 0.5rem;
  }

  .catalog-hero-search-input::placeholder {
    font-size: 0.82rem;
  }

  .catalog-search-tools {
    padding-right: 0.45rem;
    gap: 0.35rem;
  }

  .hero-search-btn {
    height: 38px;
    padding: 0 0.85rem;
    font-size: 0.84rem;
  }

  .catalog-trust-micro {
    display: none; /* Keep mobile discovery fast & focused */
  }

  .quick-tags-label {
    font-size: 0.72rem;
  }

  .search-tag-chip {
    padding: 0.28rem 0.65rem;
    font-size: 0.74rem;
  }
}
