/* ============================================================
   NMS Industrial Tech Theme — Bootstrap 5.3 Override Layer
   ============================================================ */

/* ── Design Tokens ─────────────────────────────────────────── */
:root {
  --nms-bg:           #f4f7fb;
  --nms-surface:      #ffffff;
  --nms-surface-2:    #eef1f7;
  --nms-border:       #dde3ed;
  --nms-accent:       #0086b3;
  --nms-accent-hover: #006d94;
  --nms-accent-dim:   rgba(0, 134, 179, 0.08);
  --nms-text:         #1e2533;
  --nms-text-muted:   #5e6a82;
  --nms-heading:      #0d1420;
  --nms-danger:       #c0392b;
  --nms-success:      #1a9c40;

  --nms-font:         'Inter', system-ui, -apple-system, sans-serif;
  --nms-mono:         'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  --nms-navbar-h:     68px;
  --nms-radius:       6px;
  --nms-radius-lg:    12px;
  --nms-shadow:       0 4px 24px rgba(0, 0, 0, 0.10);
  --nms-transition:   all 0.2s ease;
}

/* ── Global Reset / Base ────────────────────────────────────── */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family:      var(--nms-font);
  background-color: var(--nms-bg);
  color:            var(--nms-text);
  font-size:        1rem;
  line-height:      1.7;
  display:          flex;
  flex-direction:   column;
  min-height:       100vh;
  overflow-x:       hidden;
}

main { flex: 1 0 auto; }

h1, h2, h3, h4, h5, h6 {
  font-family:  var(--nms-font);
  font-weight:  700;
  color:        var(--nms-heading);
  line-height:  1.25;
  letter-spacing: -0.02em;
}

p { color: var(--nms-text); }

a { color: var(--nms-accent); text-decoration: none; transition: var(--nms-transition); }
a:hover { color: var(--nms-accent-hover); }

::selection { background: var(--nms-accent); color: #fff; }

/* ── Utility Classes ────────────────────────────────────────── */
.text-accent   { color: var(--nms-accent) !important; }
.text-muted    { color: var(--nms-text-muted) !important; }
.bg-surface    { background-color: var(--nms-surface) !important; }
.bg-surface-2  { background-color: var(--nms-surface-2) !important; }
.border-nms    { border-color: var(--nms-border) !important; }

.section-rule {
  border: none;
  border-top: 1px solid var(--nms-border);
  margin: 3rem 0;
}

.section-rule-accent {
  border: none;
  border-top: 2px solid var(--nms-accent);
  width: 48px;
  margin: 1rem 0 2rem;
}

/* ── Navigation ─────────────────────────────────────────────── */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1030;
}

#main-navbar {
  background-color: rgba(255, 255, 255, 0.94);
  backdrop-filter:  blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom:    1px solid var(--nms-border);
  padding:          0.75rem 0;
  transition:       background-color 0.3s ease, box-shadow 0.3s ease;
}

#main-navbar.scrolled {
  background-color: rgba(255, 255, 255, 0.99);
  box-shadow:       0 2px 16px rgba(0, 0, 0, 0.08);
}

.navbar-logo {
  height:     40px;
  width:      auto;
  transition: opacity 0.2s;
}
.navbar-logo:hover { opacity: 0.8; }

.navbar-toggler {
  border-color: var(--nms-border);
  padding: 4px 8px;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(30,37,51,0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.nav-link {
  color:        var(--nms-text) !important;
  font-size:    0.8125rem;
  font-weight:  500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding:      0.5rem 0.75rem !important;
  border-radius: var(--nms-radius);
  transition:   var(--nms-transition);
}
.nav-link:hover,
.nav-link.active { color: var(--nms-accent) !important; }

.btn-nav-contact {
  background-color: var(--nms-accent) !important;
  border:           1px solid var(--nms-accent) !important;
  color:            #fff !important;
  padding:          0.4rem 1rem !important;
  border-radius:    var(--nms-radius) !important;
}
.btn-nav-contact:hover,
.btn-nav-contact.active {
  background-color: var(--nms-accent-hover) !important;
  border-color:     var(--nms-accent-hover) !important;
  color:            #fff !important;
}

/* Dropdowns */
.dropdown-menu {
  background-color: var(--nms-surface);
  border:           1px solid var(--nms-border);
  border-radius:    var(--nms-radius);
  box-shadow:       var(--nms-shadow);
  padding:          0.5rem 0;
  min-width:        200px;
}
.dropdown-item {
  color:        var(--nms-text);
  font-size:    0.875rem;
  padding:      0.5rem 1.25rem;
  transition:   var(--nms-transition);
}
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--nms-accent-dim);
  color:            var(--nms-accent);
}
.dropdown-header {
  font-size:      0.7rem;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          var(--nms-accent) !important;
  padding:        0.75rem 1.25rem 0.25rem;
}

/* Offcanvas (mobile) */
.offcanvas-nav {
  background-color: #ffffff;
  border-left:      1px solid var(--nms-border);
  width:            300px !important;
}
.offcanvas-nav .nav-link {
  padding: 0.65rem 0.5rem !important;
  border-bottom: 1px solid transparent;
}
.offcanvas-nav .nav-link:hover { border-bottom-color: var(--nms-accent-dim); }

.nav-section-label {
  display:       block;
  font-size:     0.7rem;
  font-weight:   600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:         var(--nms-accent);
  padding:       1rem 0.5rem 0.25rem;
}
.nav-divider {
  display:      block;
  height:       1px;
  background:   var(--nms-border);
  margin:       0.75rem 0;
}

/* Page offset for fixed nav */
body > main,
body > .page-content { padding-top: var(--nms-navbar-h); }

/* Offset anchor targets so the fixed navbar doesn't overlap */
[id] { scroll-margin-top: calc(var(--nms-navbar-h) + 1.5rem); }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn {
  font-family:    var(--nms-font);
  font-weight:    600;
  font-size:      0.8125rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius:  var(--nms-radius);
  transition:     var(--nms-transition);
  padding:        0.6rem 1.5rem;
}

.btn-primary {
  background-color: var(--nms-accent);
  border-color:     var(--nms-accent);
  color:            #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--nms-accent-hover);
  border-color:     var(--nms-accent-hover);
  color:            #fff;
}

.btn-outline-primary {
  border-color: var(--nms-accent);
  color:        var(--nms-accent);
}
.btn-outline-primary:hover {
  background-color: var(--nms-accent);
  color:            #fff;
}

.btn-outline-secondary {
  border-color: var(--nms-border);
  color:        var(--nms-text-muted);
}
.btn-outline-secondary:hover {
  background-color: var(--nms-surface-2);
  border-color:     var(--nms-border);
  color:            var(--nms-text);
}

/* ── Cards / Surfaces ───────────────────────────────────────── */
.card {
  background-color: var(--nms-surface);
  border:           1px solid var(--nms-border);
  border-radius:    var(--nms-radius-lg);
  color:            var(--nms-text);
}
.card-header {
  background-color: var(--nms-surface-2);
  border-bottom:    1px solid var(--nms-border);
  font-weight:      600;
  padding:          1rem 1.25rem;
}

/* ── Page Sections ──────────────────────────────────────────── */
section { padding: 5rem 0; }

.section-heading {
  font-size:    2.25rem;
  margin-bottom: 0.5rem;
}
.section-subheading {
  font-size:    1.0625rem;
  color:        var(--nms-text-muted);
  font-weight:  400;
  max-width:    680px;
  margin:       0 auto 1rem;
}

/* ── Hero / Carousel ─────────────────────────────────────────── */
.hero-carousel {
  margin-top: var(--nms-navbar-h);
  position: relative;
  overflow: hidden;
}

.hero-carousel .carousel-item img {
  width:           100%;
  max-height:      540px;
  object-fit:      cover;
  object-position: center;
}

.carousel-control-prev,
.carousel-control-next {
  width: 5%;
}

.carousel-indicators [data-bs-target] {
  background-color: var(--nms-accent);
  opacity:          0.5;
  width:            8px;
  height:           8px;
  border-radius:    50%;
  border:           none;
}
.carousel-indicators .active { opacity: 1; }

/* ── Services Section ────────────────────────────────────────── */
.services-section { background-color: var(--nms-surface); }

.service-card {
  background-color: var(--nms-surface-2);
  border:           1px solid var(--nms-border);
  border-radius:    var(--nms-radius-lg);
  padding:          2rem 1.5rem;
  text-align:       center;
  height:           100%;
  transition:       var(--nms-transition);
}
.service-card:hover {
  border-color:     var(--nms-accent);
  transform:        translateY(-3px);
  box-shadow:       0 8px 32px rgba(0, 180, 216, 0.12);
}

.service-icon {
  width:         56px;
  height:        56px;
  border-radius: 50%;
  background:    var(--nms-accent-dim);
  display:       inline-flex;
  align-items:   center;
  justify-content: center;
  font-size:     1.5rem;
  color:         var(--nms-accent);
  margin-bottom: 1.25rem;
}

.service-heading {
  font-size:    1.0625rem;
  font-weight:  600;
  margin-bottom: 0.75rem;
  color:        var(--nms-heading);
  text-transform: none;
}

/* ── Shop / Sales Section ────────────────────────────────────── */
.shop-section { background-color: var(--nms-bg); }

.shop-accent-bar {
  height:           3px;
  background:       linear-gradient(90deg, var(--nms-accent), transparent);
  border:           none;
  margin:           1.5rem 0;
}

/* ── Training Section ────────────────────────────────────────── */
.training-section { background-color: var(--nms-surface); }

.training-badge {
  display:          inline-block;
  background:       var(--nms-accent-dim);
  border:           1px solid var(--nms-accent);
  color:            var(--nms-accent);
  font-size:        0.75rem;
  font-weight:      600;
  letter-spacing:   0.08em;
  text-transform:   uppercase;
  padding:          0.25rem 0.75rem;
  border-radius:    2rem;
  margin-bottom:    0.75rem;
}

/* ── Team Section ────────────────────────────────────────────── */
.team-section { background-color: var(--nms-bg); }

.team-card {
  background-color: var(--nms-surface);
  border:           1px solid var(--nms-border);
  border-radius:    var(--nms-radius-lg);
  padding:          2rem 1.5rem;
  height:           100%;
  transition:       var(--nms-transition);
}
.team-card:hover { border-color: var(--nms-accent-dim); }

.team-card-horizontal {
  display:          flex;
  gap:              2rem;
  align-items:      flex-start;
  background-color: var(--nms-surface);
  border:           1px solid var(--nms-border);
  border-radius:    var(--nms-radius-lg);
  padding:          2rem;
  transition:       var(--nms-transition);
}
.team-card-horizontal:hover { border-color: var(--nms-accent-dim); }

.team-photo-placeholder {
  flex-shrink:      0;
  width:            120px;
  height:           120px;
  border-radius:    50%;
  background-color: var(--nms-surface-2);
  border:           2px dashed var(--nms-border);
  display:          flex;
  align-items:      center;
  justify-content:  center;
  color:            var(--nms-border);
}
.team-photo-placeholder .bi { font-size: 3rem; }

.team-card-body { flex: 1; min-width: 0; }

@media (max-width: 575px) {
  .team-card-horizontal { flex-direction: column; align-items: center; text-align: center; }
  .team-photo-placeholder { width: 96px; height: 96px; }
  .team-photo-placeholder .bi { font-size: 2.5rem; }
}

.team-name {
  font-size:    1.0625rem;
  font-weight:  600;
  margin-bottom: 0.25rem;
  text-transform: none;
}
.team-credentials {
  font-size:   0.8rem;
  font-weight: 400;
  color:       var(--bs-secondary-color, #6c757d);
  margin-left: 0.35em;
}
.team-role {
  font-size:    0.8125rem;
  color:        var(--nms-accent);
  font-weight:  500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.team-bio {
  font-size:  0.9375rem;
  color:      var(--nms-text-muted);
  text-align: left;
}
.team-email {
  display:       inline-flex;
  align-items:   center;
  gap:           0.4rem;
  font-size:     0.875rem;
  color:         var(--nms-text-muted);
  margin-bottom: 0.75rem;
  transition:    var(--nms-transition);
}
.team-email:hover { color: var(--nms-accent); }

/* ── Breadcrumb ──────────────────────────────────────────────── */
.breadcrumb {
  background:    transparent;
  padding:       0;
  margin-bottom: 1.5rem;
  font-size:     0.8125rem;
}
.breadcrumb-item { color: var(--nms-text-muted); }
.breadcrumb-item + .breadcrumb-item::before {
  color:   var(--nms-border);
  content: "/";
}
.breadcrumb-item a { color: var(--nms-text-muted); }
.breadcrumb-item a:hover { color: var(--nms-accent); }
.breadcrumb-item.active { color: var(--nms-text); }

/* ── Tables ──────────────────────────────────────────────────── */
.table {
  color:         var(--nms-text);
  border-color:  var(--nms-border);
}
.table > thead > tr > th {
  background-color: var(--nms-surface-2);
  color:            var(--nms-accent);
  font-size:        0.75rem;
  font-weight:      600;
  letter-spacing:   0.08em;
  text-transform:   uppercase;
  border-color:     var(--nms-border);
  padding:          0.75rem 1rem;
}
.table > tbody > tr > td {
  border-color:  var(--nms-border);
  padding:       0.75rem 1rem;
  font-size:     0.9375rem;
}
.table > tbody > tr:hover > td {
  background-color: var(--nms-surface-2);
}

/* ── Forms ───────────────────────────────────────────────────── */
.form-control,
.form-select {
  background-color: var(--nms-surface-2);
  border:           1px solid var(--nms-border);
  color:            var(--nms-text);
  border-radius:    var(--nms-radius);
}
.form-control:focus,
.form-select:focus {
  background-color: var(--nms-surface-2);
  border-color:     var(--nms-accent);
  color:            var(--nms-text);
  box-shadow:       0 0 0 3px rgba(0, 180, 216, 0.15);
}
.form-label {
  font-size:    0.875rem;
  font-weight:  500;
  color:        var(--nms-text-muted);
  margin-bottom: 0.35rem;
}
.form-control::placeholder { color: var(--nms-text-muted); opacity: 0.6; }

/* ── Badges / Chips ──────────────────────────────────────────── */
.badge-cert {
  display:        inline-block;
  background:     var(--nms-accent-dim);
  border:         1px solid rgba(0, 180, 216, 0.35);
  color:          var(--nms-accent);
  font-size:      0.7rem;
  font-weight:    600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding:        0.2rem 0.65rem;
  border-radius:  2rem;
}

/* ── Spec value ───────────────────────────────────────────────── */
.spec-value {
  color:       var(--nms-accent);
  font-size:   0.9375rem;
}

/* ── Footer ──────────────────────────────────────────────────── */
.site-footer {
  background-color: #1a2035;
  border-top:       3px solid var(--nms-accent);
  padding:          4rem 0 2rem;
  flex-shrink:      0;
}

.site-footer .footer-heading  { color: var(--nms-accent); }
.site-footer .footer-tagline  { color: #8b97b0; }
.site-footer .footer-links a  { color: #8b97b0; }
.site-footer .footer-links a:hover { color: #fff; }
.site-footer .footer-address,
.site-footer .footer-address p { color: #c4cfe0; font-style: normal; }
.site-footer .footer-address a { color: #c4cfe0; }
.site-footer .footer-address a:hover { color: #fff; }
.site-footer .footer-copy,
.site-footer .footer-link      { color: #6b7899; }
.site-footer .footer-link:hover { color: #fff; }
.site-footer .footer-divider   { border-color: rgba(255,255,255,0.08); }

.footer-logo {
  height:  36px;
  width:   auto;
  opacity: 0.9;
  filter:  brightness(0) invert(1);
}

.footer-heading {
  font-size:      0.75rem;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          var(--nms-accent);
  margin-bottom:  1rem;
}

.footer-tagline {
  font-size:  0.9375rem;
  color:      var(--nms-text-muted);
  max-width:  280px;
  margin:     0;
}

.footer-links { margin: 0; }
.footer-links li { margin-bottom: 0.5rem; }
.footer-links a {
  color:      var(--nms-text-muted);
  font-size:  0.9375rem;
  transition: var(--nms-transition);
}
.footer-links a:hover { color: var(--nms-accent); }

.footer-address {
  font-size: 0.9375rem;
  color:     var(--nms-text-muted);
}
.footer-address a { color: var(--nms-text-muted); }
.footer-address a:hover { color: var(--nms-accent); }
.footer-address p { margin-bottom: 0.5rem; }

.footer-divider {
  border-color: var(--nms-border);
  margin:       2rem 0 1.5rem;
}

.footer-copy,
.footer-link {
  font-size:  0.875rem;
  color:      var(--nms-text-muted);
}
.footer-link { transition: var(--nms-transition); }
.footer-link:hover { color: var(--nms-accent); }

/* ── Scroll-to-top nub ───────────────────────────────────────── */
.scroll-top {
  position:         fixed;
  bottom:           1.5rem;
  right:            1.5rem;
  width:            40px;
  height:           40px;
  background:       var(--nms-accent);
  color:            #fff;
  border:           none;
  border-radius:    50%;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  font-size:        1rem;
  cursor:           pointer;
  opacity:          0;
  pointer-events:   none;
  transition:       opacity 0.3s;
  z-index:          999;
}
.scroll-top.visible { opacity: 1; pointer-events: auto; }

/* ── Hero Section (split layout) ─────────────────────────────── */
:root {
  --nms-blueprint: rgba(0, 134, 179, 0.06);
}

.hero-section {
  min-height:        calc(100vh - var(--nms-navbar-h));
  padding:           5rem 0 4rem;
  background-color:  var(--nms-bg);
  background-image:
    repeating-linear-gradient(0deg,   transparent, transparent 39px, var(--nms-blueprint) 39px, var(--nms-blueprint) 40px),
    repeating-linear-gradient(90deg,  transparent, transparent 39px, var(--nms-blueprint) 39px, var(--nms-blueprint) 40px);
  display:           flex;
  align-items:       center;
}

.hero-eyebrow {
  display:        inline-flex;
  align-items:    center;
  gap:            0.5rem;
  background:     var(--nms-accent-dim);
  border:         1px solid rgba(0, 180, 216, 0.3);
  color:          var(--nms-accent);
  font-size:      0.7rem;
  font-weight:    600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding:        0.3rem 0.9rem;
  border-radius:  2rem;
  margin-bottom:  1.5rem;
}

.hero-h1 {
  font-size:      clamp(2.25rem, 5vw, 3.5rem);
  font-weight:    800;
  letter-spacing: -0.03em;
  line-height:    1.1;
  margin-bottom:  1.25rem;
}

.hero-h1 span { color: var(--nms-accent); }

.hero-subhead {
  font-size:    1.0625rem;
  color:        var(--nms-text-muted);
  font-weight:  400;
  line-height:  1.7;
  max-width:    440px;
  margin-bottom: 2rem;
}

.hero-ctas {
  display:   flex;
  gap:       1rem;
  flex-wrap: wrap;
}

.hero-carousel-col .hero-carousel {
  margin-top: 0;
  border-radius: var(--nms-radius-lg);
  overflow:     hidden;
  box-shadow:   0 16px 48px rgba(0, 0, 0, 0.55);
}

.hero-carousel-col .hero-carousel .carousel-item img {
  max-height:      420px;
  width:           100%;
  object-fit:      cover;
  object-position: center;
}

/* ── Trust Band ──────────────────────────────────────────────── */
.trust-band {
  background-color: var(--nms-surface);
  border-top:       3px solid var(--nms-accent);
  padding:          2.5rem 0;
}

.trust-stat {
  display:         flex;
  align-items:     flex-start;
  gap:             1rem;
  padding:         0 1.5rem;
  border-right:    1px solid var(--nms-border);
}

.trust-stat:last-child { border-right: none; }

.trust-stat-icon {
  font-size:   1.75rem;
  color:       var(--nms-accent);
  line-height: 1;
  flex-shrink: 0;
  margin-top:  0.1rem;
}

.trust-stat-label {
  font-size:    1rem;
  font-weight:  700;
  color:        var(--nms-heading);
  line-height:  1.2;
  margin-bottom: 0.2rem;
}

.trust-stat-caption {
  font-size:  0.8125rem;
  color:      var(--nms-text-muted);
  line-height: 1.4;
}

/* ── News cards ──────────────────────────────────────────────── */
.news-card {
  display:       flex;
  gap:           1.25rem;
  padding:       1.25rem 0;
  border-bottom: 1px solid var(--nms-border);
  align-items:   flex-start;
}
.news-card:first-child { padding-top: 0; }
.news-card:last-child  { border-bottom: none; }

.news-card-img {
  flex-shrink:   0;
  width:         96px;
  height:        72px;
  border:        1px solid var(--nms-border);
  border-radius: var(--nms-radius);
  overflow:      hidden;
  background:    var(--nms-surface-2);
  display:       flex;
  align-items:   center;
  justify-content: center;
}
.news-card-img img      { width: 100%; height: 100%; object-fit: cover; }
.news-card-img--logo img {
  width:      70%;
  height:     70%;
  object-fit: contain;
  opacity:    0.65;
}

.news-card-body { flex: 1; min-width: 0; }

.news-card-meta {
  display:     flex;
  align-items: center;
  gap:         0.6rem;
  margin-bottom: 0.3rem;
}
.news-source-badge {
  font-size:      0.65rem;
  font-weight:    700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background:     var(--nms-accent-dim);
  color:          var(--nms-accent);
  border:         1px solid rgba(0,134,179,0.25);
  border-radius:  2rem;
  padding:        0.1rem 0.5rem;
  white-space:    nowrap;
}
.news-date {
  font-size:  0.75rem;
  color:      var(--nms-text-muted);
}

.news-card-title {
  font-size:    0.9375rem;
  font-weight:  600;
  margin-bottom: 0.35rem;
  line-height:  1.35;
}
.news-card-title a       { color: var(--nms-heading); }
.news-card-title a:hover { color: var(--nms-accent); }

.news-excerpt-wrap {
  display:            -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:           hidden;
}
.news-excerpt-wrap.expanded {
  display:  block;
  overflow: visible;
}
.news-card-excerpt {
  font-size:    0.8125rem;
  color:        var(--nms-text-muted);
  line-height:  1.55;
  margin-bottom: 0.25rem;
}
.news-excerpt-toggle {
  display:     block;
  background:  none;
  border:      none;
  padding:     0;
  font-size:   0.75rem;
  font-weight: 600;
  color:       var(--nms-text-muted);
  cursor:      pointer;
  margin-bottom: 0.5rem;
  transition:  var(--nms-transition);
}
.news-excerpt-toggle:hover { color: var(--nms-accent); }

.news-read-more {
  display:     flex;
  width:       fit-content;
  align-items: center;
  gap:         0.25rem;
  font-size:   0.75rem;
  font-weight: 600;
  color:       var(--nms-accent);
  transition:  var(--nms-transition);
}
.news-read-more:hover { color: var(--nms-accent-hover); }
.news-read-more .bi   { font-size: 0.65rem; }

.news-filter {
  background: none;
  border:     none;
  cursor:     pointer;
  text-align: left;
  width:      100%;
}
.news-filter-count {
  font-size:    0.7rem;
  color:        var(--nms-text-muted);
  font-weight:  400;
  margin-left:  auto;
}

@media (max-width: 575.98px) {
  .news-card-img { width: 64px; height: 52px; }
}

/* ── Webinar panel (shared: home + products sidebar) ─────────── */
.home-webinar-panel {
  background:    var(--nms-surface);
  border:        1px solid var(--nms-border);
  border-radius: var(--nms-radius-lg);
  padding:       1.25rem;
}

.webinar-panel-label {
  font-size:      0.68rem;
  font-weight:    700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          var(--nms-text-muted);
  margin-bottom:  0.5rem;
}

.webinar-tz-note {
  font-size:     0.75rem;
  color:         var(--nms-text-muted);
  font-style:    italic;
  margin-top:   -0.25rem;
  margin-bottom: 0.6rem;
  line-height:   1.4;
}

.webinar-item {
  padding:       0.75rem 0;
  border-bottom: 1px solid var(--nms-border);
}
.webinar-item:last-child { border-bottom: none; padding-bottom: 0; }
.webinar-item:first-child { padding-top: 0; }

.webinar-date {
  font-size:      0.7rem;
  font-weight:    700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color:          var(--nms-accent);
  margin-bottom:  0.2rem;
}
.webinar-title {
  font-size:    0.8125rem;
  font-weight:  600;
  color:        var(--nms-heading);
  margin-bottom: 0.2rem;
  line-height:  1.4;
}
.webinar-time {
  font-size:    0.75rem;
  color:        var(--nms-text-muted);
  margin-bottom: 0.4rem;
}
.webinar-cta {
  display:     inline-flex;
  align-items: center;
  gap:         0.3rem;
  font-size:   0.75rem;
  font-weight: 600;
  color:       var(--nms-accent);
  transition:  var(--nms-transition);
}
.webinar-cta:hover { color: var(--nms-accent-hover); }
.webinar-cta .bi   { font-size: 0.65rem; }

/* ── LD Subnav ───────────────────────────────────────────────── */
.ld-subnav {
  padding-bottom:   1.25rem;
  margin-bottom:    1.5rem;
  border-bottom:    1px solid var(--nms-border);
}

/* ── Page content sections ───────────────────────────────────── */
.page-body { padding: 3.5rem 0; }

/* ── Product / Page Header (shared across all pages) ─────────── */
.product-header {
  background-color: var(--nms-surface);
  border-bottom:    1px solid var(--nms-border);
  padding:          2.5rem 0 2rem;
}

.product-eyebrow {
  font-size:      0.75rem;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          var(--nms-accent);
  margin-bottom:  0.5rem;
}

.product-title {
  font-size:    2.25rem;
  font-weight:  700;
  margin-bottom: 0.25rem;
  line-height:  1.15;
}

.product-subtitle {
  font-size:    1.0625rem;
  color:        var(--nms-text-muted);
  font-weight:  400;
  margin-bottom: 0;
}

.product-body { padding: 3rem 0; }

/* ── Responsive Helpers ──────────────────────────────────────── */
@media (max-width: 991.98px) {
  .hero-carousel-col .hero-carousel .carousel-item img {
    max-height: 320px;
  }
  .hero-section { padding: 4rem 0 3rem; }
  .trust-stat {
    border-right:  none;
    border-bottom: 1px solid var(--nms-border);
    padding:       1rem 0;
  }
  .trust-stat:last-child { border-bottom: none; }
}

@media (max-width: 575.98px) {
  .section-heading { font-size: 1.75rem; }
  section { padding: 3.5rem 0; }
  .hero-carousel-col .hero-carousel .carousel-item img { max-height: 240px; }
  .hero-ctas { flex-direction: column; }
  .hero-ctas .btn { width: 100%; text-align: center; }
}
