:root {--primary: #1B3A5C;--accent: #C8A04B;--accent-hover: #B08E3A;--secondary: #2D6A4F;--light: #F4F7FA;--dark: #0C1A2E;--slate: #64748B;--border: #E2E8F0 }
h1, h2, .fw-bold {font-weight: 800 }
h3, h4, .fw-semi-bold {font-weight: 700 }
h5, h6, .fw-medium {font-weight: 600 }
.btn {font-family: nunito, sans-serif;font-weight: 600;transition: .5s }
.btn-primary, .btn-secondary {color: #fff;box-shadow: inset 0 0 0 50px transparent }
.btn-primary:hover {box-shadow: inset 0 0 0 0 var(--primary) }
.btn-secondary:hover {box-shadow: inset 0 0 0 0 var(--secondary) }
.btn-square {width: 36px;height: 36px }
.btn-sm-square {width: 30px;height: 30px }
.btn-lg-square {width: 48px;height: 48px }
.btn-square, .btn-sm-square, .btn-lg-square {padding-left: 0;padding-right: 0;text-align: center }

/* ===== Premium Header ===== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 1px 0 rgba(12,26,46,.06), 0 10px 30px rgba(12,26,46,.05);
}
.header-top-bar {
  background: var(--dark);
  border-bottom: 1px solid rgba(200,160,75,.2);
}
.header-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
}
.header-top-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.header-top-right {
  display: flex;
  align-items: center;
  gap: 18px;
}
.header-top-bar .top-bar-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  letter-spacing: .2px;
  text-decoration: none;
  transition: color .25s;
}
.header-top-bar a.top-bar-item:hover {color: var(--accent)}
.header-top-bar .top-bar-item i {
  color: var(--accent);
  font-size: 11px;
}
.header-top-bar .top-bar-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border: 1px solid rgba(200,160,75,.45);
  color: var(--accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.header-top-bar .top-bar-badge i {
  color: var(--accent);
  font-size: 11px;
}

.site-navbar {
  padding: 0;
  background: #fff;
}
.site-navbar .container {
  display: flex;
  align-items: center;
  min-height: 78px;
}
.site-navbar .navbar-brand {
  margin-right: 36px;
  flex-shrink: 0;
}
.site-navbar .navbar-brand img,
.navbar-light .navbar-brand img {
  max-height: 48px;
}
.site-navbar .navbar-collapse {flex-grow: 1}
.site-navbar .navbar-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.navbar-light .navbar-nav .nav-link {
  font-family: nunito, sans-serif;
  position: relative;
  margin: 0;
  padding: 8px 14px;
  color: #1a2b3c;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .15px;
  outline: none;
  transition: color .25s;
  text-transform: none;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
  color: var(--accent);
}
.site-navbar .navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 2px;
  height: 1.5px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}
.site-navbar .navbar-nav .nav-link:hover::after,
.site-navbar .navbar-nav .nav-link.active::after {
  transform: scaleX(1);
}
.site-navbar .navbar-toggler {
  border: 1px solid #dde3ea;
  border-radius: 2px;
  padding: 8px 12px;
  color: var(--dark);
  background: #fff;
  margin-left: auto;
}
.btn-nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 16px;
  padding: 11px 22px;
  background: var(--accent);
  color: #0C1A2E !important;
  font-family: nunito, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
  text-decoration: none;
  border: 1px solid var(--accent);
  border-radius: 8px;
  transition: background .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s;
  white-space: nowrap;
  box-shadow: none;
  text-transform: none;
}
.btn-nav-cta:hover {
  background: var(--dark);
  border-color: var(--dark);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(12,26,46,.18);
}
.btn-nav-cta::after {display: none !important}
.header-margin-bottom {height: 114px}

/* ===== Navbar Search ===== */
.nav-search-actions {
  display: none;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.nav-search-toggle {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dde3ea;
  border-radius: 8px;
  background: #fff;
  color: var(--dark);
  font-size: 15px;
  cursor: pointer;
}
.nav-search-wrap {
  position: relative;
  margin-left: 10px;
  margin-right: 4px;
}
.nav-search-form {
  display: flex;
  align-items: center;
  width: 230px;
  min-height: 42px;
  padding: 0 6px 0 12px;
  border: 1px solid rgba(200,160,75,.28);
  border-radius: 10px;
  background: #f8fafc;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease, width .25s ease;
}
.nav-search-form:focus-within {
  width: 280px;
  background: #fff;
  border-color: rgba(200,160,75,.55);
  box-shadow: 0 0 0 3px rgba(200,160,75,.12);
}
.nav-search-icon {
  color: var(--accent);
  font-size: 13px;
  margin-right: 8px;
}
.nav-search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--dark);
  font-size: 13px;
  font-weight: 600;
  font-family: nunito, sans-serif;
}
.nav-search-input::placeholder {color: #94a3b8; font-weight: 500}
.nav-search-input::-webkit-search-decoration,
.nav-search-input::-webkit-search-cancel-button,
.nav-search-input::-webkit-search-results-button,
.nav-search-input::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.nav-search-clear,
.nav-search-go {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--slate);
  cursor: pointer;
}
.nav-search-clear[hidden] {display: none !important}
.nav-search-clear:hover {color: var(--dark)}
.nav-search-go {
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  color: #1b1407;
}
.nav-search-drop {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 380px;
  max-width: min(380px, calc(100vw - 24px));
  background: #fff;
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 14px;
  box-shadow: 0 22px 48px rgba(12,26,46,.16);
  overflow: hidden;
  z-index: 1100;
}
.nav-search-drop.is-visible {display: block}
.nav-search-list {width: 100%}
.nav-search-meta {
  padding: 12px 14px 8px;
  color: var(--slate);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  border-bottom: 1px solid #eef2f6;
}
.nav-search-items {max-height: 240px; overflow: auto}
.nav-search-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  text-decoration: none;
  border-bottom: 1px solid #f1f5f9;
  transition: background .2s ease;
}
.nav-search-item:hover {background: #f8fafc}
.nav-search-thumb {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(160deg, var(--dark) 0%, var(--primary) 100%);
  color: var(--accent);
  font-size: 16px;
}
.nav-search-thumb img,
.nav-search-thumb img {
  width: 44px;
  height: 44px;
  object-fit: cover;
  display: block;
}
.nav-search-copy {min-width: 0; display: flex; flex-direction: column; gap: 2px}
.nav-search-type {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--accent);
}
.nav-search-type.type-blog {color: #0e7490}
.nav-search-type.type-category {color: #1b3a5c}
.nav-search-type.type-product {color: #9f7422}
.nav-search-copy strong {
  color: var(--dark);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-search-sub {
  color: var(--slate);
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-search-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  background: #0c1a2e;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.nav-search-all:hover {color: var(--accent)}
.nav-search-empty {
  padding: 22px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.nav-search-empty strong {color: var(--dark); font-size: 14px}
.nav-search-empty span {color: var(--slate); font-size: 12px}
.nav-search-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}
.nav-search-chip {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.28);
  background: #fff9ef;
  color: var(--primary);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.nav-search-loading {
  padding: 28px 16px;
  text-align: center;
  color: var(--slate);
  font-size: 13px;
  font-weight: 600;
}

/* Mobile/tablet full-screen search overlay */
.nav-search-overlay {
  display: none;
}
.nav-search-overlay-hint {
  padding: 28px 20px 20px;
  text-align: center;
}
.nav-search-hint-title {
  color: var(--dark);
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 6px;
}
.nav-search-overlay-hint p {
  margin: 0 0 16px;
  color: var(--slate);
  font-size: 14px;
}

/* Search results page */
.srp-hero {
  padding: 42px 0 28px;
  background: linear-gradient(135deg, #0c1a2e 0%, #1b3a5c 100%);
}
.srp-title {
  margin: 0 0 10px;
  color: #fff;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -.5px;
}
.srp-lead {
  margin: 0 0 22px;
  color: rgba(255,255,255,.7);
  font-size: 15px;
  max-width: 560px;
}
.srp-form {
  display: flex;
  align-items: center;
  max-width: 680px;
  background: #fff;
  border-radius: 12px;
  padding: 6px 6px 6px 14px;
  border: 1px solid rgba(200,160,75,.35);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}
.srp-form-icon {color: var(--accent); margin-right: 10px}
.srp-input {
  flex: 1;
  border: 0;
  outline: none;
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--dark);
  background: transparent;
}
.srp-input::-webkit-search-decoration,
.srp-input::-webkit-search-cancel-button,
.srp-input::-webkit-search-results-button,
.srp-input::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.srp-submit {
  border: 0;
  border-radius: 10px;
  padding: 12px 18px;
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  color: #1b1407;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.srp-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.srp-filter {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.srp-filter.is-active,
.srp-filter:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #1b1407;
}
.srp-main {padding: 36px 0 60px; background: #eef2f6}
.srp-count {
  margin: 0 0 18px;
  color: var(--slate);
  font-size: 13px;
  font-weight: 700;
}
.srp-section {margin-bottom: 28px}
.srp-section h2 {
  margin: 0 0 14px;
  color: var(--dark);
  font-size: 20px;
  font-weight: 800;
}
.srp-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.srp-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: #fff;
  border: 1px solid rgba(200,160,75,.2);
  border-radius: 14px;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(12,26,46,.06);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.srp-card:hover {
  transform: translateY(-3px);
  border-color: rgba(200,160,75,.45);
  box-shadow: 0 18px 36px rgba(12,26,46,.1);
}
.srp-card-media {
  width: 88px;
  height: 66px;
  border-radius: 10px;
  overflow: hidden;
  background: #f4f7fa;
  display: flex;
  align-items: center;
  justify-content: center;
}
.srp-card-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(160deg, var(--dark), var(--primary));
  color: var(--accent);
}
.srp-card-body {display: flex; flex-direction: column; gap: 4px; min-width: 0}
.srp-card-type {
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.srp-card-type.is-blog {color: #0e7490}
.srp-card-type.is-cat {color: #1b3a5c}
.srp-card-body strong {
  color: var(--dark);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}
.srp-card-body span:last-child {
  color: var(--slate);
  font-size: 13px;
  line-height: 1.5;
}
.srp-empty {
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(200,160,75,.18);
}
.srp-empty-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.12);
  color: var(--accent);
  font-size: 24px;
}
.srp-empty h2 {margin: 0 0 8px; color: var(--dark); font-size: 24px; font-weight: 800}
.srp-empty p {margin: 0 auto 18px; color: var(--slate); max-width: 420px}
.srp-suggestions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 18px;
}
.srp-suggestions a {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.28);
  background: #fff9ef;
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
.srp-browse {margin-top: 8px}

/* Lock background scroll when mobile search is open.
   Do NOT set touch-action:none on body/html — it intersects with
   descendants and blocks overlay scrolling on mobile. */
html.nav-search-open,
html:has(body.nav-search-open),
body.nav-search-open {
  overflow: hidden !important;
  overscroll-behavior: none;
  height: 100%;
}
body.nav-search-open {
  position: fixed !important;
  width: 100% !important;
  left: 0;
  right: 0;
}

@media (max-width: 1199.98px) {
  .top-bar-email {display: none}
  .nav-search-form {width: 190px}
  .nav-search-form:focus-within {width: 220px}
}
@media (max-width: 991.98px) {
  .header-top-bar {display: none}
  .site-navbar .container {min-height: 68px}
  .nav-search-actions {display: inline-flex}
  .site-navbar .navbar-toggler {margin-left: 0}
  .nav-search-wrap--desktop {display: none !important}
  .site-navbar .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #e8edf2;
    border-bottom: 1px solid #e8edf2;
    box-shadow: 0 12px 28px rgba(12,26,46,.08);
    padding: 8px 20px 20px;
    z-index: 1050;
  }
  .site-navbar .navbar-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .navbar-light .navbar-nav .nav-link {
    padding: 13px 0;
    border-bottom: 1px solid #f0f3f6;
  }
  .site-navbar .navbar-nav .nav-link::after {display: none}
  .btn-nav-cta {
    margin: 16px 0 0;
    width: 100%;
  }
  .header-margin-bottom {height: 68px}

  .nav-search-overlay {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: #f7f5f0;
    flex-direction: column;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    height: 100%;
    height: 100dvh;
    max-height: 100%;
    max-height: 100dvh;
    overscroll-behavior: none;
  }
  .nav-search-overlay.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
  }
  .nav-search-overlay-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border-bottom: 1px solid rgba(200,160,75,.2);
    box-shadow: 0 8px 24px rgba(12,26,46,.06);
    flex: 0 0 auto;
  }
  .nav-search-overlay-back {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: var(--dark);
    font-size: 16px;
    cursor: pointer;
  }
  .nav-search-overlay-bar .nav-search-form,
  .nav-search-overlay-bar .nav-search-form:focus-within {
    width: 100%;
    flex: 1;
    min-height: 46px;
  }
  .nav-search-overlay-body {
    flex: 1 1 auto;
    min-height: 0;
    height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    padding: 14px;
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  }
  .nav-search-mobile-results {
    display: none;
    padding-bottom: 28px;
  }
  .nav-search-mobile-results.is-active {
    display: block;
  }
  .nav-search-panel {
    background: #fff;
    border: 1px solid rgba(200,160,75,.22);
    border-radius: 16px;
    overflow: visible;
    box-shadow: 0 14px 32px rgba(12,26,46,.1);
  }
  .nav-search-list--mobile {
    min-height: 0;
  }
  .nav-search-mobile-results .nav-search-items {
    max-height: none;
  }
  .nav-search-mobile-results .nav-search-js:not([hidden]) {
    display: block;
  }
  .srp-title {font-size: 28px}
  .srp-grid {grid-template-columns: 1fr}
}
@media (min-width: 992px) {
  .nav-search-overlay {display: none !important}
}
@media (max-width: 767.98px) {
  .srp-hero {padding: 30px 0 22px}
  .srp-title {font-size: 24px}
  .srp-form {padding-left: 12px}
  .srp-card {grid-template-columns: 72px minmax(0, 1fr)}
  .srp-card-media {width: 72px; height: 56px}
}

/* ===== Footer ===== */
.site-footer {background: var(--dark);color: rgba(255,255,255,.75)}
.site-footer a {color: rgba(255,255,255,.75);text-decoration: none;transition: color .3s}
.site-footer a:hover {color: var(--accent)}
.footer-brand-block {padding: 40px 0 30px;border-bottom: 1px solid rgba(255,255,255,.08)}
.footer-brand-block p {color: rgba(255,255,255,.6);font-size: 14px;line-height: 1.7;margin-top: 16px;max-width: 320px}
.footer-col-title {color: #fff;font-family: nunito,sans-serif;font-size: 18px;font-weight: 700;margin-bottom: 20px;position: relative;padding-bottom: 12px}
.footer-col-title::after {content: "";position: absolute;bottom: 0;left: 0;width: 40px;height: 2px;background: var(--accent)}
.footer-link-list a {display: flex;align-items: center;gap: 8px;margin-bottom: 10px;font-size: 14px}
.footer-link-list a i {color: var(--accent);font-size: 11px}
.footer-contact-item {display: flex;align-items: flex-start;gap: 12px;margin-bottom: 14px;font-size: 14px}
.footer-contact-item i {color: var(--accent);margin-top: 3px;width: 16px}
.footer-social a {display: inline-flex;align-items: center;justify-content: center;width: 38px;height: 38px;border: 1px solid rgba(255,255,255,.15);border-radius: 50%;color: rgba(255,255,255,.75);margin-right: 8px;font-size: 14px;transition: all .3s}
.footer-social a:hover {background: var(--accent);border-color: var(--accent);color: var(--dark)}
.footer-social-x {display: block;flex-shrink: 0}
.footer-bottom-bar {background: #060F1A;border-top: 1px solid rgba(255,255,255,.06);padding: 18px 0;font-size: 13px;color: rgba(255,255,255,.5)}
.footer-bottom-bar a {color: rgba(255,255,255,.7)}
.footer-cta-strip {background: linear-gradient(135deg,var(--primary) 0%,#153049 100%);padding: 36px 0;margin-top: 0}
.footer-cta-strip h3 {color: #fff;font-size: 22px;font-weight: 700;margin: 0}
.footer-cta-strip p {color: rgba(255,255,255,.7);margin: 6px 0 0;font-size: 14px}
.btn-footer-cta {display: inline-block;background: var(--accent);color: var(--dark);font-weight: 700;padding: 12px 28px;text-decoration: none;border: 1px solid var(--accent);border-radius: 8px;transition: all .3s;font-size: 14px}
.btn-footer-cta:hover {background: transparent;color: var(--accent);transform: translateY(-1px)}
@media (max-width: 991.98px) {
  .footer-cta-strip {text-align: center}
  .footer-cta-strip .btn-footer-cta {margin-top: 16px}
}

.carousel-caption {top: 0;left: 0;right: 0;bottom: 0;background: transparent;z-index: 1 }

/* ===== Homepage Hero (Premium) ===== */
.home-hero {
  position: relative;
  background: #060F1A;
  overflow: hidden;
  min-height: 640px;
}
.home-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.home-hero-bg img,
.home-hero-bg .img-cover-fill {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}
.home-hero-overlay {
  position: relative;
  z-index: 1;
  min-height: 640px;
  display: flex;
  align-items: center;
  padding: 56px 0;
  background:
    linear-gradient(90deg, rgba(6,15,26,.94) 0%, rgba(12,26,46,.82) 38%, rgba(12,26,46,.42) 62%, rgba(12,26,46,.28) 100%),
    linear-gradient(180deg, rgba(6,15,26,.2) 0%, rgba(6,15,26,.45) 100%);
}
.home-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 40px;
  align-items: center;
}
.home-hero-left {
  max-width: 560px;
  text-align: left;
  animation: homeHeroIn .9s ease both;
}
.home-hero-title {
  color: #fff;
  font-size: clamp(28px, 3.6vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 14px;
  letter-spacing: .2px;
}
.home-hero-rule {
  display: block;
  width: 64px;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), rgba(200,160,75,.15));
  margin-bottom: 20px;
}
.home-hero-text {
  color: rgba(255,255,255,.82);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 30px;
  max-width: 520px;
}
.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-start;
}
.home-hero-actions .btn-home-primary,
.home-hero-actions .btn-home-outline {
  min-width: 170px;
  padding: 14px 28px;
  font-size: 14px;
  letter-spacing: .3px;
  gap: 8px;
}
.home-hero-actions .btn-home-primary i,
.home-hero-actions .btn-home-outline i {font-size: 13px}

.home-hero-right {display: flex;justify-content: flex-end}
.home-hero-product-slider {
  width: 100%;
  max-width: 400px;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(6,15,26,.4);
}
.home-hero-product-slide {height: 100%}
.home-hero-product-slide .home-product-card {
  height: 100%;
  border-radius: 16px;
  box-shadow: none;
  transform: none;
}
.home-hero-product-slide .home-product-card:hover {
  transform: none;
  box-shadow: none;
}

/* Carousel controls — centered on image area */
.home-hero-product-slider [data-carousel-track] {position: relative}
.home-hero-product-slider .home-hero-product-slide {height: 100%}
.home-hero-product-slider .carousel-nav-btn {
  position: absolute;
  width: 34px;
  height: 34px;
  top: 50%;
  bottom: auto;
  margin: 0;
  border-radius: 50%;
  background: rgba(12,26,46,.9);
  border: 1px solid rgba(200,160,75,.4);
  box-shadow: 0 6px 14px rgba(6,15,26,.28);
  opacity: 1;
  outline: none;
  cursor: pointer;
  transform: translateY(-50%);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.home-hero-product-slider .carousel-nav-btn:hover {
  background: var(--accent);
  border-color: var(--accent);
}
.home-hero-product-slider .carousel-nav-btn-prev {left: 10px}
.home-hero-product-slider .carousel-nav-btn-next {right: 10px}
.home-hero-product-slider .carousel-nav-btn-prev::after,
.home-hero-product-slider .carousel-nav-btn-next::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.home-hero-product-slider .carousel-nav-btn-prev::after {transform: rotate(-135deg)}
.home-hero-product-slider .carousel-nav-btn-next::after {transform: rotate(45deg)}
.home-hero-product-slider .carousel-nav-btn:hover::after {border-color: var(--dark)}

.home-hero-accent {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, rgba(200,160,75,.25) 45%, transparent 100%);
  z-index: 2;
}
@keyframes homeHeroIn {
  from {opacity: 0; transform: translateY(18px)}
  to {opacity: 1; transform: translateY(0)}
}

.btn-home-primary,.btn-home-dark,.btn-home-outline {display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 12px 26px;font-family: nunito,sans-serif;font-size: 14px;font-weight: 700;text-decoration: none;transition: all .3s ease;border: 1px solid transparent;border-radius: 8px}
.btn-home-primary {background: var(--accent);border-color: var(--accent);color: var(--dark);box-shadow: 0 8px 20px rgba(200,160,75,.28)}
.btn-home-primary:hover {background: #fff;border-color: #fff;color: var(--dark);transform: translateY(-2px);box-shadow: 0 12px 24px rgba(12,26,46,.2)}
.btn-home-dark {background: var(--dark);border-color: var(--dark);color: #fff;box-shadow: 0 8px 18px rgba(12,26,46,.16)}
.btn-home-dark:hover {background: var(--primary);border-color: var(--primary);color: #fff;transform: translateY(-2px);box-shadow: 0 12px 24px rgba(12,26,46,.22)}
.btn-home-outline {background: rgba(255,255,255,.04);border-color: rgba(255,255,255,.45);color: #fff;backdrop-filter: blur(4px)}
.btn-home-outline:hover {background: #fff;border-color: #fff;color: var(--dark);transform: translateY(-2px)}
.btn-home-whatsapp:hover {background: #25D366;border-color: #25D366;color: #fff;box-shadow: 0 10px 22px rgba(37,211,102,.35)}

.home-trust {
  position: relative;
  background:
    linear-gradient(180deg, #f7f5f0 0%, #f2f5f8 100%);
  border-bottom: 1px solid rgba(226,232,240,.9);
  padding: 28px 0 32px;
}
.home-trust-panel {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, #fff 100%);
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 16px;
  box-shadow:
    0 18px 40px rgba(12,26,46,.06),
    0 0 0 1px rgba(255,255,255,.7) inset;
  overflow: hidden;
}
.home-trust-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--accent) 0%, rgba(200,160,75,.25) 55%, transparent 100%);
}
.home-trust-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  padding: 8px 6px;
}
.home-trust-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 26px 28px;
  background: transparent;
  border: 0;
  border-radius: 0;
  transition: background .3s ease;
}
.home-trust-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 22px;
  right: 0;
  bottom: 22px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(200,160,75,.35), transparent);
}
.home-trust-item:hover {
  background: linear-gradient(180deg, rgba(200,160,75,.06), rgba(200,160,75,.02));
  transform: none;
  box-shadow: none;
  border-color: transparent;
}
.home-trust-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.9), transparent 55%),
    linear-gradient(145deg, rgba(200,160,75,.18), rgba(200,160,75,.08));
  border: 1px solid rgba(200,160,75,.4);
  color: var(--accent);
  box-shadow: 0 6px 14px rgba(12,26,46,.06);
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.home-trust-icon i {
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  color: inherit;
  font-size: 17px;
}
.home-trust-item:hover .home-trust-icon {
  background: linear-gradient(145deg, var(--accent), #b8923f);
  border-color: var(--accent);
  color: var(--dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 18px rgba(200,160,75,.28);
}
.home-trust-item:hover i {
  background: transparent;
  color: var(--dark);
}
.home-trust-copy strong {
  display: block;
  color: var(--dark);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .2px;
  line-height: 1.3;
}
.home-trust-copy span {
  display: block;
  color: var(--slate);
  font-size: 12px;
  margin-top: 5px;
  letter-spacing: .2px;
}

.home-section {padding: 80px 0}
.home-section-head {max-width: 680px;margin: 0 auto 48px}
.home-eyebrow {color: var(--accent);font-size: 12px;font-weight: 700;letter-spacing: 1.5px;text-transform: uppercase;margin-bottom: 10px}
.home-heading {color: var(--dark);font-size: clamp(24px, 3vw, 34px);font-weight: 800;line-height: 1.25;margin-bottom: 12px}
.home-subtext {color: var(--slate);font-size: 16px;line-height: 1.7;margin: 0}

.home-packaging {
  position: relative;
  padding: 36px 0 44px;
  background: linear-gradient(180deg, #fff 0%, #f7f5f0 100%);
}
.home-packaging-panel {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 28px;
  align-items: center;
  padding: 32px 34px;
  background: linear-gradient(135deg, var(--dark) 0%, var(--primary) 100%);
  border: 1px solid rgba(200,160,75,.28);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(12,26,46,.12);
  overflow: hidden;
  position: relative;
}
.home-packaging-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), rgba(200,160,75,.2));
}
.home-packaging-intro {position: relative; z-index: 1}
.home-packaging-intro .home-eyebrow {
  color: var(--accent);
  margin-bottom: 10px;
}
.home-packaging-intro h2 {
  color: #fff;
  font-size: clamp(22px, 2.3vw, 28px);
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 12px;
}
.home-packaging-intro p {
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 18px;
  max-width: 360px;
}
.home-packaging-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.home-packaging-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 600;
}
.home-packaging-points i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.14);
  border: 1px solid rgba(200,160,75,.35);
  color: var(--accent);
  font-size: 10px;
  line-height: 1;
}
.home-packaging-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
}
.home-packaging-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(200,160,75,.2);
  border-radius: 12px;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.home-packaging-item:hover {
  background: rgba(200,160,75,.1);
  border-color: rgba(200,160,75,.4);
  transform: translateY(-2px);
}
.home-packaging-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(200,160,75,.14);
  border: 1px solid rgba(200,160,75,.35);
  color: var(--accent);
  line-height: 1;
}
.home-packaging-icon i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  text-align: center;
}
.home-packaging-icon i::before {
  display: block;
  line-height: 1;
}
.home-packaging-copy {
  min-width: 0;
  padding-top: 1px;
}
.home-packaging-copy strong {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 5px;
}
.home-packaging-copy span {
  display: block;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.55;
}

.home-video {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #0a1524 0%, #0c1a2e 55%, #12253d 100%);
  padding-top: 88px;
  padding-bottom: 88px;
}
.home-video-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(200,160,75,.14), transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(27,58,92,.45), transparent 45%);
  pointer-events: none;
}
.home-video-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.35), transparent 80%);
  opacity: .35;
}
.home-video .container {position: relative; z-index: 1}
.home-video-head .home-heading {color: #fff}
.home-video-head .home-subtext {color: rgba(255,255,255,.68)}
.home-video-head .home-eyebrow {color: var(--accent)}
.home-video-stage {max-width: 980px; margin: 0 auto}
.home-video-frame {
  position: relative;
  padding: 10px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(200,160,75,.55), rgba(200,160,75,.08) 40%, rgba(255,255,255,.08) 70%, rgba(200,160,75,.35));
  box-shadow:
    0 30px 70px rgba(0,0,0,.45),
    0 0 0 1px rgba(200,160,75,.18);
}
.home-video-frame::before {
  content: "";
  position: absolute;
  inset: -18px;
  border-radius: 30px;
  background: radial-gradient(circle at center, rgba(200,160,75,.18), transparent 65%);
  z-index: -1;
  pointer-events: none;
}
.home-video-wrap {
  position: relative;
  overflow: hidden;
  background: var(--dark);
  border-radius: 14px;
}
.home-video-wrap a {display: block;position: relative}
.home-video-wrap img,
.home-video-wrap img {
  display: block;
  width: 100%;
  transition: transform .7s ease;
}
.home-video-wrap:hover img,
.home-video-wrap:hover img {transform: scale(1.04)}
.home-video-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6,15,26,.15) 0%, rgba(6,15,26,.25) 45%, rgba(6,15,26,.72) 100%);
  pointer-events: none;
  z-index: 1;
}
.home-video-play {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%,-50%);
  width: 92px;
  height: 92px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-video-play-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(200,160,75,.55);
  animation: homeVideoPulse 2.4s ease-out infinite;
}
.home-video-play-btn {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--accent), #b8923f);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  box-shadow:
    0 14px 30px rgba(0,0,0,.35),
    0 0 0 8px rgba(200,160,75,.14);
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.home-video-play-btn i {margin-left: 3px}
.home-video-wrap:hover .home-video-play-btn {
  transform: scale(1.08);
  box-shadow:
    0 18px 36px rgba(0,0,0,.4),
    0 0 0 10px rgba(200,160,75,.2);
}
.home-video-caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  pointer-events: none;
}
.home-video-caption strong {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .2px;
}
.home-video-caption span {
  color: rgba(255,255,255,.72);
  font-size: 13px;
  letter-spacing: .3px;
}
.home-video-meta {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin-top: 22px;
}
.home-video-meta-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(200,160,75,.22);
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .2px;
  backdrop-filter: blur(6px);
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.home-video-meta-item i {color: var(--accent); font-size: 14px}
.home-video-meta-item:hover {
  background: rgba(200,160,75,.1);
  border-color: rgba(200,160,75,.4);
  transform: translateY(-2px);
}
@keyframes homeVideoPulse {
  0% {transform: scale(1); opacity: .9}
  70% {transform: scale(1.35); opacity: 0}
  100% {transform: scale(1.35); opacity: 0}
}

.home-products,.home-blog {background: var(--light)}
.home-products {background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%)}
.home-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(12,26,46,.06);
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.home-product-card:hover {
  border-color: rgba(200,160,75,.5);
  box-shadow: 0 22px 44px rgba(12,26,46,.12);
  transform: translateY(-6px);
}
.home-product-media {
  position: relative;
  display: block;
  background:
    radial-gradient(circle at 50% 40%, rgba(200,160,75,.1), transparent 55%),
    linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  border-bottom: 1px solid rgba(200,160,75,.14);
  overflow: hidden;
  padding: 18px 18px 12px;
  text-decoration: none;
}
.home-product-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  padding: 5px 10px;
  background: rgba(12,26,46,.92);
  color: var(--accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.35);
}
.home-product-stock {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  border-radius: 999px;
}
.home-product-stock.is-in-stock {
  background: #0f8a4b;
  color: #fff;
  border: 1px solid #0c7340;
  box-shadow: 0 4px 10px rgba(15,138,75,.25);
}
.home-product-stock.is-out-stock {
  background: #b42318;
  color: #fff;
  border: 1px solid #961c13;
  box-shadow: 0 4px 10px rgba(180,35,24,.22);
}
.home-product-stock i {font-size: 11px; color: inherit}
.home-product-media img {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 18px rgba(12,26,46,.1));
  transition: transform .45s ease;
}
.home-product-card:hover .home-product-media img {transform: scale(1.05)}
.home-product-body {
  padding: 20px 20px 22px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.home-product-body h2,
.home-product-body h3 {
  color: var(--dark);
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.3;
}
.home-product-body h2 a,
.home-product-body h3 a {
  color: inherit;
  text-decoration: none;
  transition: color .25s ease;
}
.home-product-card:hover .home-product-body h2 a,
.home-product-card:hover .home-product-body h3 a {color: var(--accent)}
.home-product-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.home-product-rating {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px;
  color: #c9a227;
  font-size: 12px;
  line-height: 1;
}
.home-product-rating i {font-size: 12px}
.home-product-rating strong {
  margin-left: 4px;
  color: var(--dark);
  font-size: 12px;
  font-weight: 800;
}
.home-product-rating span {
  margin-left: 2px;
  color: var(--slate);
  font-size: 11px;
  font-weight: 500;
}
.home-product-price {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 5px 11px;
  background: rgba(200,160,75,.12);
  border: 1px solid rgba(200,160,75,.28);
  border-radius: 999px;
  color: #8a6a24;
  font-size: 13px;
  font-weight: 700;
}
.home-product-specs {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}
.home-product-specs li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #eef1f5;
  font-size: 12px;
  line-height: 1.45;
}
.home-product-specs li:last-child {border-bottom: 0}
.home-product-specs span {
  color: var(--slate);
  font-weight: 500;
  flex-shrink: 0;
}
.home-product-specs strong {
  color: var(--dark);
  font-weight: 700;
  text-align: right;
}
.home-product-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.home-product-quote,
.home-product-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 11px 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2px;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.home-product-quote {
  background: var(--accent);
  color: var(--dark);
  border: 1px solid var(--accent);
}
.home-product-quote:hover {
  background: var(--dark);
  border-color: var(--dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(12,26,46,.2);
}
.home-product-wa {
  background: #25D366;
  color: #fff;
  border: 1px solid #25D366;
}
.home-product-wa i {font-size: 14px; color: #fff}
.home-product-wa:hover {
  background: #128C7E;
  border-color: #128C7E;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(18,140,126,.32);
}
.home-product-wa:hover i {color: #fff}
.home-blog {
  position: relative;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  overflow: hidden;
}
.home-blog::before {
  content: "";
  position: absolute;
  left: -80px;
  top: 40px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,160,75,.12), transparent 70%);
  pointer-events: none;
}
.home-blog .container {position: relative; z-index: 1}
.home-blog-card {
  display: block;
  height: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fff 100%);
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 18px;
  text-decoration: none;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(12,26,46,.06);
}
.home-blog-card:hover {
  border-color: rgba(200,160,75,.5);
  box-shadow: 0 24px 48px rgba(12,26,46,.12);
  transform: translateY(-8px);
}
.home-blog-media {
  position: relative;
  background:
    radial-gradient(circle at 50% 30%, rgba(200,160,75,.08), transparent 50%),
    linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  border-bottom: 1px solid rgba(200,160,75,.14);
  overflow: hidden;
  padding: 14px;
}
.home-blog-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 5px 10px;
  background: rgba(12,26,46,.92);
  color: var(--accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.35);
}
.home-blog-media img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 12px;
  transition: transform .5s ease;
}
.home-blog-card:hover .home-blog-media img {transform: scale(1.05)}
.home-blog-body {padding: 22px 22px 24px}
.home-blog-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.home-blog-body h3,.home-process-card h3 {color: var(--dark);font-size: 18px;font-weight: 700;margin-bottom: 10px;transition: color .25s ease}
.home-blog-card:hover h3 {color: var(--accent)}
.home-blog-body p,.home-process-card p {color: var(--slate);font-size: 14px;line-height: 1.7;margin-bottom: 18px}
.home-link-arrow {color: var(--primary);font-size: 13px;font-weight: 700;display: inline-flex;align-items: center;transition: color .25s ease, gap .25s ease;gap: 6px}
.home-link-arrow i {font-size: 11px;transition: transform .25s ease}
.home-blog-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
  transition: color .25s ease, gap .25s ease;
}
.home-blog-link i {
  font-size: 11px;
  color: var(--accent);
  transition: transform .25s ease, color .25s ease;
}
.home-blog-card:hover .home-blog-link {color: var(--accent); gap: 12px}
.home-blog-card:hover .home-blog-link i {transform: translateX(4px); color: var(--accent)}

.home-industries {
  position: relative;
  background:
    linear-gradient(180deg, #fbfaf7 0%, #f3f6f9 100%);
  overflow: hidden;
}
.home-industries::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -60px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,160,75,.12), transparent 70%);
  pointer-events: none;
}
.home-industries .container {position: relative; z-index: 1}
.home-app-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 26px 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fff 100%);
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 16px;
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(12,26,46,.05);
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.home-app-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), rgba(200,160,75,.15));
}
.home-app-card:hover {
  border-color: rgba(200,160,75,.5);
  transform: translateY(-6px);
  box-shadow: 0 22px 42px rgba(12,26,46,.1);
}
.home-app-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.home-app-num {
  color: rgba(200,160,75,.55);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 1px;
  line-height: 1;
  transition: color .3s ease;
}
.home-app-card:hover .home-app-num {color: var(--accent)}
.home-app-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), transparent 55%),
    linear-gradient(145deg, rgba(200,160,75,.18), rgba(200,160,75,.08));
  border: 1px solid rgba(200,160,75,.4);
  color: var(--accent);
  font-size: 18px;
  box-shadow: 0 8px 16px rgba(12,26,46,.06);
  transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.home-app-card:hover .home-app-icon {
  background: linear-gradient(145deg, var(--accent), #b8923f);
  border-color: var(--accent);
  color: var(--dark);
  transform: scale(1.06);
  box-shadow: 0 12px 22px rgba(200,160,75,.28);
}
.home-app-card h3 {
  color: var(--dark);
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 12px;
  letter-spacing: .2px;
  line-height: 1.3;
  transition: color .25s ease;
}
.home-app-card:hover h3 {color: var(--dark)}
.home-app-card p {
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 22px;
  flex: 1 1 auto;
}
.home-app-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
  transition: color .25s ease, gap .25s ease;
}
.home-app-link i {
  font-size: 11px;
  color: var(--accent);
  transition: transform .25s ease, color .25s ease;
}
.home-app-card:hover .home-app-link {
  color: var(--accent);
  gap: 12px;
}
.home-app-card:hover .home-app-link i {
  transform: translateX(3px);
  color: var(--accent);
}

.home-process {
  position: relative;
  background:
    linear-gradient(180deg, #0c1a2e 0%, #12253d 55%, #0f2034 100%);
  overflow: hidden;
}
.home-process::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(200,160,75,.14), transparent 45%),
    radial-gradient(ellipse at 90% 100%, rgba(27,58,92,.4), transparent 40%);
  pointer-events: none;
}
.home-process .container {position: relative; z-index: 1}
.home-process .home-eyebrow {color: var(--accent)}
.home-process .home-heading {color: #fff}
.home-process .home-subtext {color: rgba(255,255,255,.68)}
.home-process-track {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
  position: relative;
}
.home-process-track::before {
  content: "";
  position: absolute;
  top: 46px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,160,75,.45), transparent);
  z-index: 0;
}
.home-process-card {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 26px 22px 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.03) 100%);
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 16px;
  backdrop-filter: blur(6px);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.home-process-card:hover {
  border-color: rgba(200,160,75,.5);
  transform: translateY(-6px);
  background: linear-gradient(180deg, rgba(200,160,75,.1) 0%, rgba(255,255,255,.04) 100%);
  box-shadow: 0 22px 44px rgba(0,0,0,.28);
}
.home-process-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.home-process-step {
  width: auto;
  height: auto;
  display: block;
  background: transparent;
  color: rgba(200,160,75,.55);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 1px;
  line-height: 1;
  margin: 0;
  border-radius: 0;
  transition: color .3s ease;
}
.home-process-card:hover .home-process-step {
  color: var(--accent);
  background: transparent;
  transform: none;
}
.home-process-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(145deg, rgba(200,160,75,.22), rgba(200,160,75,.08));
  border: 1px solid rgba(200,160,75,.4);
  color: var(--accent);
  font-size: 18px;
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
  transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.home-process-card:hover .home-process-icon {
  background: linear-gradient(145deg, var(--accent), #b8923f);
  border-color: var(--accent);
  color: var(--dark);
  transform: scale(1.06);
}
.home-process-card h3 {
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 10px;
  letter-spacing: .2px;
}
.home-process-card p {
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 16px;
}
.home-process-points {
  list-style: none;
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-process-points li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2px;
}
.home-process-points i {
  color: var(--accent);
  font-size: 11px;
}
.home-process-cta {
  margin-top: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 26px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(200,160,75,.25);
}
.home-process-cta-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.home-process-cta-copy strong {
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}
.home-process-cta-copy span {
  color: rgba(255,255,255,.68);
  font-size: 13px;
}
.home-process-cta-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.home-process-wa {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #fff !important;
}
.home-process-wa:hover {
  background: #128C7E !important;
  border-color: #128C7E !important;
  color: #fff !important;
}

.home-blog-body small {display: inline-flex;align-items: center;gap: 6px;color: var(--slate);font-size: 12px;margin: 0}
.home-blog-body small i {color: var(--accent)}
.home-blog-readtime {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(200,160,75,.1);
  border: 1px solid rgba(200,160,75,.2);
  border-radius: 999px;
  color: #8a6a24;
  font-size: 11px;
  font-weight: 700;
}
.home-blog-readtime i {color: var(--accent)}

.home-faq-section {
  position: relative;
  background: linear-gradient(160deg, #08121f 0%, #0c1a2e 45%, #132840 100%);
  overflow: hidden;
  padding-top: 88px;
  padding-bottom: 88px;
}
.home-faq-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 12% 20%, rgba(200,160,75,.16), transparent 42%),
    radial-gradient(ellipse at 90% 80%, rgba(27,58,92,.55), transparent 40%);
  pointer-events: none;
}
.home-faq-section .container {position: relative; z-index: 1}
.home-faq-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 42px;
  align-items: start;
}
.home-faq-intro {
  position: sticky;
  top: 110px;
  padding: 8px 8px 0 0;
}
.home-faq-intro .home-eyebrow {color: var(--accent); margin-bottom: 14px}
.home-faq-intro .home-heading {
  color: #fff;
  text-align: left;
  max-width: 420px;
  margin-bottom: 16px;
}
.home-faq-intro .home-subtext {
  color: rgba(255,255,255,.68);
  text-align: left;
  max-width: 420px;
  margin: 0 0 24px;
}
.home-faq-highlights {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-faq-highlights li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .2px;
}
.home-faq-highlights i {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.14);
  border: 1px solid rgba(200,160,75,.35);
  color: var(--accent);
  font-size: 11px;
}
.home-faq-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.home-faq-intro-actions .btn-home-outline,
.home-faq-intro-actions .home-faq-wa {
  gap: 8px;
}
.home-faq-intro-actions .home-faq-wa i {
  font-size: 15px;
  margin-right: 0;
}
.home-faq-wa:hover {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #fff !important;
}

.home-faq {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home-faq [data-accordion],
.home-faq [data-accordion-item] {
  background: transparent;
}
.home-faq [data-accordion-item] .faq-description {display: none}
.home-faq [data-accordion-item].is-open .faq-description,
.home-faq [data-accordion-item][expanded] .faq-description {display: block}
.faq-section [data-accordion-item] > .faq-description {display: none}
.faq-section [data-accordion-item].is-open > .faq-description,
.faq-section [data-accordion-item][expanded] > .faq-description {display: block}
.productView-images [data-carousel-track] .carousel-slide:not(.is-active) {display: none}
.productView-images [data-carousel-track] .carousel-slide.is-active {display: block}
.home-faq .home-faq-item.is-open,
.home-faq .home-faq-item[expanded] {
  border-color: rgba(200,160,75,.42);
}
.home-faq .home-faq-item {
  margin: 0 0 14px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(200,160,75,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.025) 100%);
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.home-faq .home-faq-item:last-child {margin-bottom: 0}
.home-faq .home-faq-item:hover,
.home-faq .home-faq-item[expanded] {
  border-color: rgba(200,160,75,.42);
  box-shadow: 0 22px 44px rgba(0,0,0,.28);
  transform: translateY(-2px);
}
.home-faq.faq-section header,
.home-faq .faq-title {
  float: none !important;
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 20px 58px 20px 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  cursor: pointer;
  text-align: left;
  transition: background .25s ease;
}
.home-faq .home-faq-item[expanded] .faq-title {
  background: linear-gradient(90deg, rgba(200,160,75,.12), transparent 70%) !important;
}
.home-faq-index {
  flex-shrink: 0;
  min-width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(200,160,75,.12);
  border: 1px solid rgba(200,160,75,.28);
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.home-faq .home-faq-item[expanded] .home-faq-index,
.home-faq .home-faq-item:hover .home-faq-index {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--dark);
}
.home-faq .faq-question {
  flex: 1 1 auto;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .15px;
  padding-right: 8px;
  text-align: left;
}
.home-faq .faq-icon {
  position: absolute !important;
  top: 50%;
  right: 16px;
  float: none !important;
  width: 36px;
  height: 36px;
  margin: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.8);
  transform: translateY(-50%);
  transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.home-faq .faq-icon i {
  float: none !important;
  font-size: 12px;
  line-height: 1;
}
.home-faq.faq-section .faq-icon.hide {visibility: hidden !important}
.home-faq.faq-section .faq-icon.show {visibility: visible !important}
.home-faq.faq-section section[expanded] .faq-icon.show {visibility: hidden !important}
.home-faq.faq-section section[expanded] .faq-icon.hide {
  visibility: visible !important;
  background: var(--accent);
  border-color: var(--accent);
  color: var(--dark);
}
.home-faq.faq-section .faq-description,
.home-faq .faq-description {
  margin: 0;
  padding: 0 20px 22px 74px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.8;
  box-shadow: none;
}

.home-final-cta {
  padding: 72px 0 80px;
  background: linear-gradient(180deg, #f7f5f0 0%, #fff 100%);
}
.home-final-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 46px 42px;
  background: linear-gradient(135deg, var(--dark) 0%, var(--primary) 100%);
  border-radius: 16px;
  border: 1px solid rgba(200,160,75,.28);
  box-shadow: 0 20px 44px rgba(12,26,46,.16);
}
.home-final-cta-copy {max-width: 620px}
.home-final-cta .home-eyebrow {color: var(--accent)}
.home-final-cta h2 {color: #fff;font-size: clamp(24px, 3vw, 32px);font-weight: 800;margin-bottom: 10px}
.home-final-cta p {color: rgba(255,255,255,.75);margin: 0;font-size: 15px;line-height: 1.6}
.home-final-cta .home-hero-actions {justify-content: flex-end;flex-shrink: 0}

@media (max-width: 991.98px) {
  .home-trust {padding: 22px 0 26px}
  .home-trust-grid {grid-template-columns: repeat(2,1fr);gap: 0;padding: 6px}
  .home-trust-item {padding: 20px 16px; gap: 12px}
  .home-trust-item:nth-child(2n)::after {display: none}
  .home-trust-item:nth-child(-n+2) {
    border-bottom: 1px solid rgba(200,160,75,.18);
  }
  .home-trust-icon {width: 44px; height: 44px}
  .home-trust-copy strong {font-size: 14px}
  .home-section {padding: 56px 0}
  .home-section-head {margin-bottom: 32px}
  .home-heading {font-size: clamp(22px, 4vw, 30px)}
  .home-subtext {font-size: 15px}
  .home-product-card,
  .home-blog-card,
  .home-app-card,
  .home-process-card {
    border-radius: 14px;
  }
  .home-product-body,
  .home-blog-body {padding: 18px}
  .home-product-media {padding: 14px}
  .home-product-media img {max-height: 160px}
  .home-product-actions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .home-product-cta,
  .home-product-quote,
  .home-product-wa {
    padding: 10px 8px;
    font-size: 12px;
  }
  .home-app-card {padding: 22px 18px}
  .home-app-card h3 {font-size: 17px}
  .home-video {padding-top: 56px; padding-bottom: 56px}
  .home-video-meta {grid-template-columns: 1fr; gap: 10px}
  .home-video-caption {left: 16px; right: 16px; bottom: 16px}
  .home-video-caption strong {font-size: 16px}
  .home-video-frame {padding: 8px; border-radius: 16px}
  .home-process-track {grid-template-columns: repeat(2,1fr); gap: 14px}
  .home-process-track::before {display: none}
  .home-process-card {padding: 22px 18px}
  .home-process-cta {flex-direction: column; align-items: flex-start; padding: 20px}
  .home-packaging {padding: 28px 0 34px}
  .home-packaging-panel {grid-template-columns: 1fr; gap: 20px; padding: 24px}
  .home-packaging-intro p {max-width: 100%}
  .home-packaging-grid {grid-template-columns: 1fr 1fr}
  .home-packaging-item {padding: 14px; gap: 10px}
  .home-packaging-icon {width: 40px; height: 40px; min-width: 40px}
  .home-packaging-copy strong {font-size: 13px}
  .home-packaging-copy span {font-size: 12px; line-height: 1.45}
  .home-faq-section {padding-top: 56px; padding-bottom: 56px}
  .home-faq-layout {grid-template-columns: 1fr; gap: 28px}
  .home-faq-intro {position: static; padding: 0}
  .home-faq-intro .home-heading,
  .home-faq-intro .home-subtext {max-width: 100%}
  .home-faq-intro-actions {width: 100%}
  .home-faq .faq-description {padding-left: 20px !important}
  .home-faq .faq-question {font-size: 15px}
  .home-final-cta {padding: 48px 0 60px}
  .home-final-cta-inner {flex-direction: column;align-items: flex-start;padding: 32px 24px;text-align: left}
  .home-final-cta .home-hero-actions {justify-content: flex-start; width: 100%}
  .home-hero,
  .home-hero-overlay {min-height: 0}
  .home-hero-overlay {padding: 48px 0}
  .home-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .home-hero-left {max-width: 100%}
  .home-hero-right {justify-content: stretch}
  .home-hero-product-slider {
    max-width: 420px;
    margin: 0 auto;
    width: 100%;
  }
  .home-hero-product-slider [data-carousel] {
    min-height: 560px;
  }
  .home-hero-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .home-hero-actions .btn-home-primary,
  .home-hero-actions .btn-home-outline {
    width: 100%;
    min-width: 0;
  }
  .home-hero-overlay {
    background:
      linear-gradient(180deg, rgba(6,15,26,.78) 0%, rgba(6,15,26,.88) 55%, rgba(6,15,26,.94) 100%);
  }
}
/* Tablet only: show first 8 product cards */
@media (min-width: 768px) and (max-width: 991.98px) {
  .home-products .row > [class*="col-"]:nth-child(n+9) {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .home-packaging-grid {grid-template-columns: 1fr}
  .home-product-actions {
    grid-template-columns: 1fr;
  }
  .home-hero-product-slide .home-product-actions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .home-blog-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .home-hero-product-slider {
    max-width: 100%;
  }
  .home-hero-product-slider .carousel-nav-btn {
    top: 50%;
    width: 30px;
    height: 30px;
  }
  .home-product-card,
  .home-blog-card,
  .home-app-card {
    margin-bottom: 8px;
  }
  .home-section .row > [class*="col-"] {
    margin-bottom: 16px;
  }
}
@media (max-width: 575.98px) {
  .home-trust-grid {grid-template-columns: 1fr}
  .home-trust-item {padding: 18px 16px}
  .home-trust-item::after {display: none}
  .home-trust-item:not(:last-child) {
    border-bottom: 1px solid rgba(200,160,75,.18);
  }
  .home-process-track {grid-template-columns: 1fr}
  .home-packaging-grid {grid-template-columns: 1fr}
  .home-packaging-panel {padding: 20px 16px; border-radius: 14px}
  .home-packaging-intro h2 {font-size: 22px}
  .home-process-cta-actions {width: 100%; flex-direction: column}
  .home-process-cta-actions .btn-home-primary,
  .home-process-cta-actions .btn-home-dark {width: 100%}
  .home-faq-intro-actions {flex-direction: column}
  .home-faq-intro-actions .btn-home-primary,
  .home-faq-intro-actions .btn-home-outline {width: 100%}
  .home-faq .home-faq-item {border-radius: 14px}
  .home-faq.faq-section header,
  .home-faq .faq-title {padding: 16px 50px 16px 14px !important; gap: 10px}
  .home-faq-index {min-width: 36px; height: 36px; font-size: 12px}
  .home-faq .faq-description {padding: 0 16px 18px 16px !important}
  .home-final-cta-inner {padding: 26px 18px; border-radius: 14px}
  .home-final-cta .home-hero-actions {flex-direction: column; width: 100%}
  .home-hero-title {font-size: clamp(28px, 8vw, 36px)}
  .home-hero-product-slider {border-radius: 14px}
  .home-hero-product-slide .home-product-card {border-radius: 14px}
  .home-product-body,
  .home-blog-body {padding: 16px}
  .home-product-body h2,
  .home-product-body h3,
  .home-blog-body h3 {font-size: 16px}
  .home-product-stock,
  .home-product-tag {
    font-size: 9px;
    padding: 4px 8px;
  }
  .home-product-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .home-app-card {padding: 20px 16px}
  .home-process-card {padding: 20px 16px}
  .btn-home-primary,.btn-home-dark,.btn-home-outline {width: 100%}
}

/* ===== Get a Quote Modal ===== */
.quote-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}
.quote-modal:target,
.quote-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.quote-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6,15,26,.72);
  backdrop-filter: blur(6px);
  cursor: pointer;
}
.quote-modal-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 980px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  border-radius: 20px;
  background: linear-gradient(145deg, #0c1a2e 0%, #153049 55%, #1b3a5c 100%);
  border: 1px solid rgba(200,160,75,.28);
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
}
.quote-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(12,26,46,.18);
  color: var(--dark);
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 6px 16px rgba(12,26,46,.14);
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.quote-modal-close i {
  font-size: 16px;
  line-height: 1;
  color: inherit;
}
.quote-modal-close:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--dark);
  transform: scale(1.05);
}
.quote-modal-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  min-height: 560px;
}
.quote-modal-aside {
  padding: 42px 36px;
  border-right: 1px solid rgba(200,160,75,.18);
  background:
    radial-gradient(ellipse at 20% 10%, rgba(200,160,75,.16), transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.quote-modal-eyebrow {
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.quote-modal-aside h2 {
  color: #fff;
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 14px;
}
.quote-modal-aside > p {
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 24px;
}
.quote-modal-points {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.quote-modal-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 600;
}
.quote-modal-points i {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.14);
  border: 1px solid rgba(200,160,75,.35);
  color: var(--accent);
  font-size: 10px;
  line-height: 1;
}
.quote-modal-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.quote-modal-contact a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  transition: color .25s ease;
}
.quote-modal-contact a i {color: var(--accent)}
.quote-modal-contact a:hover {color: var(--accent)}
.quote-modal-form-wrap {
  padding: 42px 36px;
  background: #fff;
}
.quote-modal-success {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(37,211,102,.1);
  border: 1px solid rgba(37,211,102,.28);
}
.quote-modal-success i {
  color: #0f8a4b;
  font-size: 18px;
  margin-top: 2px;
}
.quote-modal-success strong {
  display: block;
  color: var(--dark);
  font-size: 14px;
  margin-bottom: 2px;
}
.quote-modal-success span {
  color: #4b5563;
  font-size: 13px;
}
.quote-modal-success-lg {
  min-height: 280px;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 16px;
}
.quote-modal-success-lg i {font-size: 42px; margin: 0}
.quote-modal-success-lg .quote-success-close {
  display: inline-flex;
  margin-top: 14px;
  padding: 10px 18px;
  border-radius: 8px;
  background: var(--dark);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

/* =================== INQUIRY RESULT POPUP =================== */
.inquiry-result-modal {
  position: fixed;
  inset: 0;
  z-index: 100010;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .28s ease, visibility .28s ease;
}
.inquiry-result-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.inquiry-result-modal[hidden] {display: none !important}
.inquiry-result-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6,15,26,.74);
  backdrop-filter: blur(7px);
  cursor: pointer;
}
.inquiry-result-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 460px;
  padding: 34px 28px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(200,160,75,.14), transparent 42%),
    linear-gradient(165deg, #ffffff 0%, #f7f9fc 100%);
  border: 1px solid rgba(200,160,75,.28);
  box-shadow: 0 28px 70px rgba(6,15,26,.35);
  text-align: center;
  animation: inquiryResultIn .34s ease;
}
@keyframes inquiryResultIn {
  from {opacity: 0; transform: translateY(14px) scale(.97)}
  to {opacity: 1; transform: translateY(0) scale(1)}
}
.inquiry-result-accent {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 3px;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(90deg, #9f7422 0%, #d8b25a 50%, #9f7422 100%);
}
.inquiry-result-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(16,38,61,.14);
  background: #fff;
  color: #10263d;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}
.inquiry-result-close:hover {
  background: #0f2238;
  border-color: #0f2238;
  color: #fff;
  transform: scale(1.04);
}
.inquiry-result-icon {
  width: 68px;
  height: 68px;
  margin: 4px auto 16px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}
.inquiry-result-icon.is-success {
  background: linear-gradient(145deg, rgba(15,138,75,.12) 0%, rgba(15,138,75,.05) 100%);
  border: 1px solid rgba(15,138,75,.28);
  color: #0f8a4b;
  box-shadow: 0 10px 24px rgba(15,138,75,.14);
}
.inquiry-result-icon.is-failure {
  background: linear-gradient(145deg, rgba(180,35,24,.12) 0%, rgba(180,35,24,.05) 100%);
  border: 1px solid rgba(180,35,24,.24);
  color: #b42318;
  box-shadow: 0 10px 24px rgba(180,35,24,.12);
}
.inquiry-result-eyebrow {
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.inquiry-result-title {
  color: #10263d;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.3px;
  line-height: 1.25;
  margin: 0 0 10px;
}
.inquiry-result-message {
  color: #55677b;
  font-size: 14px;
  line-height: 1.7;
  margin: 0 auto 16px;
  max-width: 360px;
}
.inquiry-result-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 12px 14px;
  text-align: left;
  border-radius: 12px;
  background: #fff7f6;
  border: 1px solid rgba(180,35,24,.16);
}
.inquiry-result-list li {
  position: relative;
  padding: 6px 0 6px 18px;
  color: #7a2e28;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}
.inquiry-result-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b42318;
}
.inquiry-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 12px;
}
.inquiry-result-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 150px;
  padding: 11px 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .2s, box-shadow .25s, background .25s, color .25s, border-color .25s;
}
.inquiry-result-btn.is-primary {
  background: linear-gradient(135deg, #d7aa47 0%, #e7c56d 52%, #bf8e2c 100%);
  border-color: #c99739;
  color: #1d1609;
  box-shadow: 0 10px 22px rgba(191,142,44,.24);
}
.inquiry-result-btn.is-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(175,123,30,.3);
  color: #1a1308;
}
.inquiry-result-btn.is-outline {
  background: #fff;
  border-color: rgba(16,38,61,.18);
  color: #10263d;
}
.inquiry-result-btn.is-outline:hover {
  background: #0f2238;
  border-color: #0f2238;
  color: #fff;
  transform: translateY(-1px);
}
.inquiry-result-note {
  margin: 0;
  color: #7a8696;
  font-size: 12px;
  line-height: 1.55;
}
@media (max-width: 575.98px) {
  .inquiry-result-dialog {padding: 30px 18px 22px; border-radius: 16px}
  .inquiry-result-title {font-size: 21px}
  .inquiry-result-actions {flex-direction: column}
  .inquiry-result-btn {width: 100%; min-width: 0}
}

.quote-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.quote-form-field {margin-bottom: 14px}
.quote-form-row .quote-form-field {margin-bottom: 0}
.quote-form-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .3px;
}
.quote-form-field label .req {
  color: #b42318;
  font-weight: 800;
}
.quote-form-captcha .g-recaptcha {
  transform-origin: left top;
}
.quote-form-captcha iframe {
  max-width: 100%;
}
@media (max-width: 575.98px) {
  .quote-form-captcha .g-recaptcha {
    transform: scale(.92);
    transform-origin: left top;
  }
}
.quote-form-field input,
.quote-form-field select,
.quote-form-field textarea {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  color: var(--dark);
  font-size: 14px;
  font-family: nunito,sans-serif;
  padding: 13px 14px;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.quote-form-field textarea {resize: vertical; min-height: 110px}
.quote-form-field input:focus,
.quote-form-field select:focus,
.quote-form-field textarea:focus {
  border-color: rgba(200,160,75,.55);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(200,160,75,.15);
}
.quote-form-field.has-error input,
.quote-form-field.has-error select,
.quote-form-field.has-error textarea,
.clp-field.has-error input,
.clp-field.has-error select,
.clp-field.has-error textarea {
  border-color: #b42318;
  box-shadow: 0 0 0 3px rgba(180,35,24,.12);
  background: #fff;
}
.field-error {
  display: none;
  margin-top: 6px;
  color: #b42318;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}
.quote-form-field.has-error .field-error,
.clp-field.has-error .field-error,
.field-error.is-visible {
  display: block;
}
.quote-form-captcha.has-error .g-recaptcha,
.clp-captcha.has-error .g-recaptcha {
  outline: 2px solid rgba(180,35,24,.35);
  outline-offset: 4px;
  border-radius: 4px;
}
.quote-form-errors {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(180,35,24,.08);
  border: 1px solid rgba(180,35,24,.2);
}
.quote-form-errors ul {
  margin: 0;
  padding-left: 18px;
  color: #b42318;
  font-size: 13px;
}
.quote-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 18px;
  border: 1px solid var(--accent);
  border-radius: 10px;
  background: var(--accent);
  color: var(--dark);
  font-size: 14px;
  font-weight: 800;
  font-family: nunito,sans-serif;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.quote-form-submit:hover {
  background: var(--dark);
  border-color: var(--dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(12,26,46,.18);
}
.quote-form-note {
  margin: 12px 0 0;
  text-align: center;
  color: var(--slate);
  font-size: 12px;
}

/* ===== About Us Page (Premium) ===== */
.about-hero {
  position: relative;
  background: #060F1A;
  overflow: hidden;
  min-height: 520px;
}
.about-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.about-hero-bg img, .about-hero-bg .img-cover-fill {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}
.about-hero-overlay {
  position: relative;
  z-index: 1;
  min-height: 520px;
  display: flex;
  align-items: center;
  padding: 72px 0 64px;
  background:
    linear-gradient(105deg, rgba(6,15,26,.96) 0%, rgba(12,26,46,.88) 42%, rgba(12,26,46,.55) 68%, rgba(12,26,46,.35) 100%),
    linear-gradient(180deg, rgba(6,15,26,.15) 0%, rgba(6,15,26,.5) 100%);
}
.about-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .4px;
}
.about-breadcrumb a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  transition: color .25s ease;
}
.about-breadcrumb a:hover {color: var(--accent)}
.about-hero-brand {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--accent);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  letter-spacing: .4px;
  line-height: 1.1;
}
.about-hero-title {
  max-width: 720px;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(24px, 3.2vw, 38px);
  font-weight: 700;
  line-height: 1.2;
}
.about-hero-rule {
  display: block;
  width: 64px;
  height: 2px;
  margin-bottom: 20px;
  background: linear-gradient(90deg, var(--accent), rgba(200,160,75,.15));
}
.about-hero-text {
  max-width: 620px;
  margin: 0 0 30px;
  color: rgba(255,255,255,.82);
  font-size: 16px;
  line-height: 1.75;
}
.about-story {
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
}
.about-story-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 48px;
  align-items: center;
}
.about-story-media {
  position: relative;
}
.about-story-frame {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(200,160,75,.28);
  background: #fff;
  box-shadow: 0 28px 60px rgba(12,26,46,.12);
}
.about-story-frame::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 2;
  background: linear-gradient(90deg, var(--accent), rgba(200,160,75,.2));
}
.about-story-frame img {
  display: block;
  width: 100%;
  object-fit: cover !important;
}
.about-story-badge {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 3;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(12,26,46,.94);
  border: 1px solid rgba(200,160,75,.35);
  box-shadow: 0 14px 30px rgba(6,15,26,.28);
}
.about-story-badge strong {
  display: block;
  color: var(--accent);
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 2px;
}
.about-story-badge span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 600;
}
.about-story-lead {
  max-width: none;
  margin-bottom: 16px;
}
.about-story-copy > p {
  color: var(--slate);
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 18px;
}
.about-story-points {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.about-story-points li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--dark);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.about-story-points i {
  margin-top: 2px;
  color: var(--accent);
}
.about-story-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.about-mission {
  background: #fff;
}
.about-mission-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.about-mission-card {
  padding: 28px 24px;
  border-radius: 16px;
  background: linear-gradient(160deg, #fff 0%, #f7f5f0 100%);
  border: 1px solid rgba(200,160,75,.22);
  box-shadow: 0 14px 32px rgba(12,26,46,.05);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.about-mission-card:hover {
  transform: translateY(-4px);
  border-color: rgba(200,160,75,.45);
  box-shadow: 0 22px 40px rgba(12,26,46,.1);
}
.about-mission-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: rgba(200,160,75,.14);
  border: 1px solid rgba(200,160,75,.35);
  color: var(--accent);
  font-size: 20px;
}
.about-mission-card h3 {
  color: var(--dark);
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 10px;
}
.about-mission-card p {
  margin: 0;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
}
.about-strengths {
  background: linear-gradient(180deg, #eef2f6 0%, #f7f5f0 100%);
}
.about-strengths-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.about-strength-card {
  position: relative;
  padding: 26px 22px 24px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(200,160,75,.2);
  box-shadow: 0 12px 28px rgba(12,26,46,.05);
  overflow: hidden;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.about-strength-card:hover {
  transform: translateY(-4px);
  border-color: rgba(200,160,75,.45);
  box-shadow: 0 20px 40px rgba(12,26,46,.1);
}
.about-strength-num {
  position: absolute;
  top: 14px;
  right: 16px;
  color: rgba(200,160,75,.28);
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}
.about-strength-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: rgba(27,58,92,.08);
  border: 1px solid rgba(200,160,75,.28);
  color: var(--primary);
  font-size: 18px;
}
.about-strength-card h3 {
  color: var(--dark);
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 8px;
}
.about-strength-card p {
  margin: 0;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.65;
}
.about-grades {
  padding: 28px 0 34px;
  background: #fff;
}
.about-grades-panel {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 28px;
  align-items: center;
  padding: 36px;
  border-radius: 20px;
  background: linear-gradient(145deg, #0c1a2e 0%, #153049 55%, #1b3a5c 100%);
  border: 1px solid rgba(200,160,75,.28);
  box-shadow: 0 28px 60px rgba(12,26,46,.18);
}
.about-grades-intro .home-eyebrow {color: var(--accent)}
.about-grades-intro h2 {
  color: #fff;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  margin: 0 0 14px;
  line-height: 1.25;
}
.about-grades-intro p {
  color: rgba(255,255,255,.76);
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 24px;
  max-width: 420px;
}
.about-grades-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.about-grade-item {
  padding: 16px 16px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(200,160,75,.2);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.about-grade-item:hover {
  background: rgba(200,160,75,.1);
  border-color: rgba(200,160,75,.4);
  transform: translateY(-2px);
}
.about-grade-item strong {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 4px;
}
.about-grade-item span {
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.5;
}
.about-facility {
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
}
.about-facility-panel {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 28px;
  align-items: stretch;
}
.about-facility-copy {
  padding: 8px 0;
}
.about-facility-list {
  list-style: none;
  margin: 28px 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.about-facility-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(200,160,75,.2);
  box-shadow: 0 10px 24px rgba(12,26,46,.04);
}
.about-facility-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.12);
  border: 1px solid rgba(200,160,75,.3);
  color: var(--accent);
}
.about-facility-list strong {
  display: block;
  color: var(--dark);
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 2px;
}
.about-facility-list span,
.about-facility-list a {
  color: var(--slate);
  font-size: 14px;
  text-decoration: none;
  line-height: 1.5;
}
.about-facility-list a:hover {color: var(--accent)}
.about-facility-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.about-facility-aside {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.about-facility-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 18px;
  border-radius: 16px;
  background: linear-gradient(160deg, #0c1a2e 0%, #1b3a5c 100%);
  border: 1px solid rgba(200,160,75,.28);
  text-align: center;
  transition: transform .3s ease, border-color .3s ease;
}
.about-facility-stat:hover {
  transform: translateY(-3px);
  border-color: rgba(200,160,75,.5);
}
.about-facility-stat strong {
  color: var(--accent);
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 6px;
  letter-spacing: .3px;
}
.about-facility-stat span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .about-hero,
  .about-hero-overlay {min-height: 0}
  .about-hero-overlay {padding: 56px 0 48px}
  .about-story-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .about-story-media {max-width: 480px; margin: 0 auto; width: 100%}
  .about-mission-grid,
  .about-strengths-grid {
    grid-template-columns: 1fr 1fr;
  }
  .about-grades-panel {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 24px;
  }
  .about-grades-intro p {max-width: 100%}
  .about-facility-panel {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .about-facility-aside {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 767.98px) {
  .about-hero-brand {font-size: clamp(26px, 8vw, 34px)}
  .about-story-actions,
  .about-facility-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .about-story-actions .btn-home-dark,
  .about-story-actions .btn-home-primary,
  .about-facility-actions .btn-home-dark,
  .about-facility-actions .btn-home-primary {
    width: 100%;
    justify-content: center;
  }
  .about-grades-grid {grid-template-columns: 1fr}
  .about-facility-aside {grid-template-columns: 1fr 1fr}
}
@media (max-width: 575.98px) {
  .about-hero-overlay {padding: 48px 0 40px}
  .about-breadcrumb {margin-bottom: 16px; font-size: 12px}
  .about-story-badge {left: 14px; bottom: 14px; padding: 12px 14px}
  .about-mission-grid,
  .about-strengths-grid {
    grid-template-columns: 1fr;
  }
  .about-mission-card,
  .about-strength-card {padding: 22px 18px}
  .about-grades-panel {padding: 22px 16px; border-radius: 14px}
  .about-facility-list li {padding: 14px}
  .about-facility-stat {padding: 20px 14px}
  .about-facility-stat strong {font-size: 18px}
}

@media (max-width: 991.98px) {
  .quote-modal-grid {grid-template-columns: 1fr}
  .quote-modal-aside {
    border-right: 0;
    border-bottom: 1px solid rgba(200,160,75,.18);
    padding: 28px 24px 22px;
  }
  .quote-modal-form-wrap {padding: 24px}
  .quote-form-row {grid-template-columns: 1fr}
}
@media (max-width: 575.98px) {
  .quote-modal {padding: 12px}
  .quote-modal-dialog {max-height: calc(100vh - 24px); border-radius: 16px}
}

/* =================== PRODUCT LISTING PAGE =================== */
.plp-hero {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.plp-hero-bg {position: absolute; inset: 0; z-index: 0}
.plp-hero-bg img, .plp-hero-bg .img-cover-fill {width: 100%; height: 100%; object-fit: cover}
.plp-hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 70px 0 50px;
  background: linear-gradient(135deg, rgba(12,26,46,.92) 0%, rgba(12,26,46,.78) 100%);
}
.plp-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(200,160,75,.15);
  border: 1px solid rgba(200,160,75,.35);
  border-radius: 999px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.plp-hero-title {
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -.8px;
  line-height: 1.15;
  margin: 0 0 8px;
}
.plp-hero-title-accent {
  color: var(--accent);
  display: block;
}
.plp-hero-text {
  color: rgba(255,255,255,.7);
  font-size: 16px;
  line-height: 1.7;
  max-width: 640px;
  margin: 18px 0 0;
}

/* Toolbar */
.plp-toolbar {
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border-top: 1px solid rgba(200,160,75,.22);
  border-bottom: 1px solid rgba(200,160,75,.2);
  box-shadow: none;
}
.plp-toolbar-inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}
.plp-toolbar-left {width: 100%}
.plp-search-form {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 360px;
  width: 100%;
  margin-top: 10px;
}
.plp-search-icon {
  position: absolute;
  left: 14px;
  color: var(--slate);
  font-size: 13px;
  pointer-events: none;
}
.plp-search-input {
  width: 100%;
  padding: 11px 38px 11px 40px;
  border: 1px solid rgba(200,160,75,.25);
  border-radius: 999px;
  font-size: 13px;
  background: rgba(255,255,255,.95);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
  outline: none;
}
.plp-search-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(200,160,75,.14), 0 8px 20px rgba(12,26,46,.08);
  background: #fff;
}
.plp-search-clear {
  position: absolute;
  right: 12px;
  color: var(--slate);
  font-size: 13px;
  text-decoration: none;
  transition: color .2s;
}
.plp-search-clear:hover {color: var(--dark)}

/* Grid Section */
.plp-grid-section {
  padding: 50px 0 8px;
  margin: 0;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  display: flow-root;
}

/* Category Tabs */
.plp-categories {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 2px 0 4px;
}
.plp-categories::-webkit-scrollbar {display: none}
.plp-filter-label {
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.plp-cat-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 17px;
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 999px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f9f7f3 100%);
  color: var(--dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .15px;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: none;
  transition: all .25s ease;
}
.plp-cat-btn:hover {
  border-color: var(--accent);
  background: linear-gradient(180deg, #fffdf7 0%, #f8f2df 100%);
  color: var(--dark);
  transform: none;
  box-shadow: none;
}
.plp-cat-btn.is-active {
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  border-color: #a37926;
  color: #1b1407;
  box-shadow: none;
}

/* Skeleton Cards */
.plp-skeleton-row {margin-top: 24px}
.plp-skeleton-card {
  background: #fff;
  border: 1px solid rgba(200,160,75,.12);
  border-radius: 16px;
  overflow: hidden;
}
.plp-skeleton-media {
  height: 200px;
  background: #f0ede6;
}
.plp-skeleton-body {padding: 20px}
.plp-skeleton-line {
  border-radius: 6px;
  background: #eae7e0;
  margin-bottom: 12px;
}
.plp-skeleton-line--title {width: 75%; height: 18px}
.plp-skeleton-line--stars {width: 55%; height: 14px}
.plp-skeleton-line--price {width: 35%; height: 28px; border-radius: 999px; margin-bottom: 16px}
.plp-skeleton-line--spec {width: 100%; height: 14px}
.plp-skeleton-btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 18px;
}
.plp-skeleton-btn {height: 42px; border-radius: 8px; background: #eae7e0}
@keyframes plpPulse {
  0%, 100% {opacity: 1}
  50% {opacity: .4}
}
.plp-skeleton-pulse {animation: plpPulse 1.8s ease-in-out infinite}

/* Empty state */
.plp-empty {
  text-align: center;
  padding: 80px 20px;
}
.plp-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(200,160,75,.12);
  color: var(--accent);
  font-size: 28px;
  margin-bottom: 24px;
}
.plp-empty h3 {
  font-size: 24px;
  font-weight: 800;
  color: var(--dark);
  margin: 0 0 10px;
}
.plp-empty p {
  color: var(--slate);
  font-size: 15px;
  max-width: 440px;
  margin: 0 auto 24px;
}

/* CTA Strip */
.plp-cta {
  padding: 60px 0;
  background: var(--dark);
}
.plp-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.plp-cta-copy h2 {
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 8px;
}
.plp-cta-copy p {
  color: rgba(255,255,255,.6);
  font-size: 15px;
  margin: 0;
  max-width: 480px;
}
.plp-cta-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

/* ===== PLP Responsive ===== */
@media (max-width: 991.98px) {
  .plp-hero {min-height: 260px}
  .plp-hero-overlay {padding: 50px 0 40px}
  .plp-hero-title {font-size: 34px}
  .plp-search-form {max-width: 100%}
  .plp-cta-inner {flex-direction: column; text-align: center}
  .plp-cta-copy p {max-width: 100%}
  .plp-cta-actions {justify-content: center}
}
@media (max-width: 767.98px) {
  .plp-hero {min-height: 220px}
  .plp-hero-overlay {padding: 40px 0 32px}
  .plp-hero-title {font-size: 28px}
  .plp-hero-text {font-size: 14px}
  .plp-toolbar-inner {gap: 10px}
  .plp-search-form {max-width: 100%}
  .plp-cat-btn {padding: 7px 12px; font-size: 12px}
  .plp-grid-section {padding: 30px 0 8px}
  .plp-skeleton-media {height: 160px}
  .plp-cta {padding: 40px 0}
  .plp-cta-copy h2 {font-size: 22px}
  .plp-cta-actions {flex-direction: column; width: 100%}
  .plp-cta-actions a {width: 100%; text-align: center; justify-content: center}
}
@media (max-width: 575.98px) {
  .plp-hero-title {font-size: 24px}
}

/* =================== PRODUCT DETAIL (EXECUTIVE) =================== */
.pdp-hero {
  position: relative;
  min-height: 340px;
  overflow: hidden;
}
.pdp-hero-bg {position: absolute; inset: 0; z-index: 0}
.pdp-hero-bg img {width: 100%; height: 100%; object-fit: cover}
.pdp-hero-overlay {
  position: relative;
  z-index: 1;
  min-height: 340px;
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: 66px 0 42px;
  background:
    linear-gradient(100deg, rgba(8,18,31,.94) 0%, rgba(12,26,46,.88) 44%, rgba(12,26,46,.62) 100%);
}
.pdp-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.4);
  background: rgba(200,160,75,.12);
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.pdp-hero-title {
  color: #fff;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: -.8px;
  margin: 0 0 10px;
  max-width: 860px;
}
.pdp-hero-text {
  max-width: 700px;
  color: rgba(255,255,255,.74);
  font-size: 15px;
  line-height: 1.72;
  margin: 0;
}
.pdp-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 18px;
  color: rgba(255,255,255,.74);
  font-size: 12px;
}
.pdp-hero-meta i {color: var(--accent); margin-right: 6px}

.pdp-main {
  padding: 40px 0 10px;
  background: linear-gradient(180deg, #f6f8fb 0%, #eef2f6 100%);
  /* Do not set overflow here — it breaks position:sticky on the gallery */
}
.pdp-main .container {max-width: 1240px}
.pdp-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap: 24px;
  align-items: start;
}
.pdp-gallery-card,
.pdp-info-card {
  background: #fff;
  border: 1px solid rgba(16,38,61,.1);
  border-radius: 18px;
  box-shadow: 0 16px 34px rgba(12,26,46,.06);
}
.pdp-gallery-card {
  padding: 16px;
  position: sticky;
  top: 124px; /* below fixed header + small gap */
  align-self: start;
  z-index: 2;
  max-height: calc(100vh - 140px);
  overflow: auto;
}
.pdp-gallery-track {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(16,38,61,.1);
  background: #f5f8fc;
}
.pdp-gallery-track .carousel-slide {
  height: clamp(240px, 31vw, 350px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background: #f7fafd;
}
.productView-images .pdp-gallery-track .carousel-slide.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp-gallery-track .carousel-slide img {
  width: auto !important;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  margin: auto;
  display: block;
}
.pdp-gallery-preview {
  margin-top: 12px;
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.pdp-gallery-preview button {
  border: 1px solid rgba(16,38,61,.14) !important;
  border-radius: 8px;
  background: #fff;
  padding: 2px;
}
.pdp-gallery-preview button.active {border-color: var(--accent) !important}
.pdp-gallery-preview img {
  border-radius: 6px;
  object-fit: cover;
}

.pdp-info-card {
  padding: 20px;
  position: sticky;
  top: 108px;
}
.pdp-price-box {
  border-radius: 12px;
  padding: 14px 16px;
  background: linear-gradient(145deg, #0c1a2e 0%, #183656 100%);
}
.pdp-price-label {
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.pdp-price {
  color: #fff;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  line-height: 1.1;
  margin: 8px 0 6px;
}
.pdp-stock {
  color: rgba(255,255,255,.8);
  font-size: 12px;
}
.pdp-stock i {font-size: 9px; color: #71e38e; margin-right: 6px}
.pdp-rating-card {
  margin-top: 14px;
  border: 1px solid rgba(200,160,75,.28);
  border-radius: 12px;
  background: linear-gradient(180deg, #fffdf7 0%, #fff 100%);
  padding: 12px 14px;
}
.pdp-rating-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
}
.pdp-rating-value {
  min-width: 56px;
  height: 56px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0f2238;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.4px;
}
.pdp-rating-stars {
  display: inline-flex;
  gap: 2px;
  color: #d8b25a;
  font-size: 13px;
}
.pdp-rating-count {
  margin-top: 4px;
  color: #55667b;
  font-size: 12px;
  line-height: 1.45;
}
.pdp-specs {margin-top: 16px}
.pdp-card-title {
  color: #10263d;
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 10px;
}
.pdp-spec-row {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 12px;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px dashed rgba(16,38,61,.14);
}
.pdp-spec-row:last-child {border-bottom: 0}
.pdp-spec-row dt {
  color: #5f6e80;
  font-size: 13px;
  font-weight: 600;
}
.pdp-spec-row dd {
  margin: 0;
  color: #10263d;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
}
.pdp-cta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 18px;
}
.pdp-cta-grid .btn-home-primary,
.pdp-cta-grid .btn-home-outline,
.pdp-cta-grid .btn-home-dark {
  width: 100%;
  text-align: center;
  justify-content: center;
  border-radius: 10px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease;
}
.pdp-cta-grid .btn-home-primary {
  background: linear-gradient(135deg, #d7aa47 0%, #e7c56d 52%, #bf8e2c 100%);
  border: 1px solid #c99739;
  color: #1d1609;
  box-shadow: 0 10px 22px rgba(191,142,44,.28);
}
.pdp-cta-grid .btn-home-primary:hover {
  background: linear-gradient(135deg, #c8942d 0%, #ddb657 52%, #af7b1e 100%);
  color: #1a1308;
  border-color: #b8842a;
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(175,123,30,.34);
}
.pdp-cta-grid .btn-home-outline {
  background: linear-gradient(135deg, #f5fff9 0%, #dff7eb 100%);
  color: #0f6b3f;
  border: 1px solid #88d0ab;
  box-shadow: 0 8px 18px rgba(40,126,83,.12);
}
.pdp-cta-grid .btn-home-outline:hover {
  background: linear-gradient(135deg, #e4f7ee 0%, #ccefdc 100%);
  color: #0a5832;
  border-color: #67b88e;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(40,126,83,.2);
}
.pdp-cta-grid .btn-home-dark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 10px;
  border: 1px solid #162a42;
  color: #fff;
  background: linear-gradient(135deg, #1f3b5d 0%, #142b45 100%);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(20,43,69,.24);
}
.pdp-cta-grid .btn-home-dark:hover {
  background: linear-gradient(135deg, #2a4d78 0%, #1a3757 100%);
  border-color: #1f4269;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(20,43,69,.32);
}
.pdp-content-stack {
  margin-top: 24px;
  display: grid;
  gap: 16px;
}
.pdp-quick-answer {
  margin-top: 24px;
  background: #fff;
  border: 1px solid rgba(16,38,61,.1);
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(12,26,46,.05);
  overflow: hidden;
}
.pdp-quick-answer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr);
  gap: 18px;
  padding: 18px 20px;
  background:
    linear-gradient(135deg, rgba(200,160,75,.08), transparent 42%),
    linear-gradient(180deg, #fff, #f8fafc);
}
.pdp-quick-answer-title {
  margin: 0 0 10px;
  color: #10263d;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 900;
  letter-spacing: -.3px;
  line-height: 1.25;
}
.pdp-quick-answer-text {
  margin: 0;
  color: #334155;
  font-size: 15px;
  line-height: 1.7;
  max-width: 62ch;
}
.pdp-quick-facts {
  margin: 0;
  display: grid;
  gap: 8px;
  align-content: start;
}
.pdp-quick-fact {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(27,58,92,.04);
  border: 1px solid rgba(16,38,61,.08);
}
.pdp-quick-fact dt {
  margin: 0;
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  align-self: center;
}
.pdp-quick-fact dd {
  margin: 0;
  color: #0C1A2E;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  align-self: center;
}
.pdp-content-card {
  background: #fff;
  border: 1px solid rgba(16,38,61,.1);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 14px 30px rgba(12,26,46,.05);
  overflow: hidden;
}
.pdp-content-head {
  margin-bottom: 10px;
}
.pdp-content-kicker {
  display: inline-flex;
  color: #7f6330;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.pdp-content-head .pdp-content-title {
  margin: 0;
  color: #10263d;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.3px;
}
.pdp-description-body {
  margin-top: 8px;
  overflow-wrap: anywhere;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pdp-description-body > *:not(table) {max-width: 100%}
.pdp-description-body img {height: auto; max-width: 100%}
.pdp-editor-body {padding-bottom: 2px}
.pdp-description-body table,
.pdp-content-card .page-description table {
  display: table;
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
}
.pdp-video-wrap {padding-top: 6px}

.pdp-other-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pdp-other-item {
  border: 1px solid rgba(16,38,61,.12);
  border-radius: 12px;
  padding: 12px 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.pdp-other-item strong {
  display: block;
  color: #7f6330;
  font-size: 10px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.pdp-other-item span {
  color: #10263d;
  font-size: 14px;
  font-weight: 700;
}

.pdp-guides-section {
  padding-top: 24px;
  padding-bottom: 40px;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
}
.pdp-guides-section .glp-list {
  margin-top: 8px;
}
.pdp-related-section,
.pdp-blogs-section {
  padding: 48px 0 10px;
  background: #eef2f6;
}
.pdp-faq-section.home-faq-section {
  margin-top: 8px;
}

@media (max-width: 1199.98px) {
  .pdp-layout {grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr)}
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .pdp-related-section .pdp-related-col {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .pdp-related-section .pdp-related-col:nth-child(n+3) {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .pdp-layout {grid-template-columns: 1fr; gap: 16px}
  .pdp-gallery-card {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .pdp-info-card {position: static}
  .pdp-gallery-track .carousel-slide {height: 300px; padding: 8px}
  .pdp-quick-answer-inner {grid-template-columns: 1fr}
}
@media (max-width: 767.98px) {
  .pdp-hero,
  .pdp-hero-overlay {min-height: 300px}
  .pdp-hero-overlay {padding: 54px 0 34px}
  .pdp-hero-text {font-size: 14px}
  .pdp-gallery-card,
  .pdp-info-card,
  .pdp-content-card {border-radius: 14px}
  .pdp-gallery-track .carousel-slide {height: 220px; padding: 8px}
  .pdp-content-head .pdp-content-title {font-size: 20px}
  .pdp-other-grid {grid-template-columns: 1fr}
}
@media (max-width: 575.98px) {
  .pdp-hero-title {font-size: 30px}
  .pdp-price {font-size: 30px}
  .pdp-spec-row {grid-template-columns: 1fr}
  .pdp-spec-row dd {text-align: left}
  .pdp-rating-row {grid-template-columns: 1fr}
  .pdp-rating-value {width: 56px}
}

/* =================== BLOG LISTING PAGE =================== */
.blp-hero {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.blp-hero-bg {position: absolute; inset: 0; z-index: 0}
.blp-hero-bg img, .blp-hero-bg .img-cover-fill {width: 100%; height: 100%; object-fit: cover}
.blp-hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 70px 0 50px;
  background: linear-gradient(135deg, rgba(12,26,46,.93) 0%, rgba(12,26,46,.78) 100%);
}
.blp-hero-title {
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -.8px;
  line-height: 1.15;
  margin: 0 0 8px;
}
.blp-hero-title-accent {
  color: var(--accent);
  display: block;
}
.blp-hero-text {
  color: rgba(255,255,255,.7);
  font-size: 16px;
  line-height: 1.7;
  max-width: 680px;
  margin: 18px 0 0;
}

.blp-toolbar {
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border-top: 1px solid rgba(200,160,75,.22);
  border-bottom: 1px solid rgba(200,160,75,.2);
}
.blp-toolbar-inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}
.blp-filter-label {
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}
.blp-categories {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px 0 4px;
}
.blp-categories::-webkit-scrollbar {display: none}
.blp-cat-btn {
  display: inline-flex;
  align-items: center;
  padding: 9px 17px;
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #f9f7f3 100%);
  color: var(--dark);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: all .25s ease;
}
.blp-cat-btn:hover {
  border-color: var(--accent);
  background: linear-gradient(180deg, #fffdf7 0%, #f8f2df 100%);
  color: var(--dark);
}
.blp-cat-btn.is-active {
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  border-color: #a37926;
  color: #1b1407;
}
.blp-search-form {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 360px;
  width: 100%;
}
.blp-search-icon {
  position: absolute;
  left: 14px;
  color: var(--slate);
  font-size: 13px;
  pointer-events: none;
}
.blp-search-input {
  width: 100%;
  padding: 11px 38px 11px 40px;
  border: 1px solid rgba(200,160,75,.25);
  border-radius: 999px;
  font-size: 13px;
  background: rgba(255,255,255,.95);
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.blp-search-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(200,160,75,.14);
  background: #fff;
}
.blp-search-clear {
  position: absolute;
  right: 12px;
  color: var(--slate);
  font-size: 13px;
  text-decoration: none;
}
.blp-search-clear:hover {color: var(--dark)}

.blp-grid-section {
  padding: 40px 0 8px;
  margin: 0;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  display: flow-root;
}

/* Blog infinite list grid */
.blp-list {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.blp-card {
  height: 100%;
  width: 100%;
}

.blp-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.blp-skeleton-grid[hidden],
.blp-empty[hidden] {display: none !important}
.blp-skeleton-grid--more {margin-top: 24px}
.blp-skeleton-card {
  background: #fff;
  border: 1px solid rgba(200,160,75,.12);
  border-radius: 16px;
  overflow: hidden;
}
.blp-skeleton-media {
  height: 200px;
  background: #f0ede6;
}
.blp-skeleton-body {padding: 22px}
.blp-skeleton-line {
  border-radius: 6px;
  background: #eae7e0;
  margin-bottom: 12px;
}
.blp-skeleton-line--meta {width: 70%; height: 12px}
.blp-skeleton-line--title {width: 88%; height: 18px}
.blp-skeleton-line--text {width: 100%; height: 12px}
.blp-skeleton-line--link {width: 40%; height: 14px; margin-top: 8px; margin-bottom: 0}
@keyframes blpPulse {
  0%, 100% {opacity: 1}
  50% {opacity: .4}
}
.blp-skeleton-pulse {animation: blpPulse 1.8s ease-in-out infinite}

.blp-load-retry {
  display: inline-flex;
  margin: 24px auto 0;
  padding: 12px 18px;
  border-radius: 8px;
  background: var(--dark);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.blp-load-retry:hover {color: #fff; background: #153049}

.blp-empty {
  text-align: center;
  padding: 80px 20px;
}
.blp-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(200,160,75,.12);
  color: var(--accent);
  font-size: 28px;
  margin-bottom: 24px;
}
.blp-empty h3 {
  font-size: 24px;
  font-weight: 800;
  color: var(--dark);
  margin: 0 0 10px;
}
.blp-empty p {
  color: var(--slate);
  font-size: 15px;
  max-width: 440px;
  margin: 0 auto 24px;
}

@media (max-width: 991.98px) {
  .blp-hero {min-height: 260px}
  .blp-hero-overlay {padding: 50px 0 40px}
  .blp-hero-title {font-size: 34px}
  .blp-list,
  .blp-skeleton-grid {grid-template-columns: repeat(2, minmax(0, 1fr))}
  .blp-search-form {max-width: 100%}
}
@media (max-width: 767.98px) {
  .blp-hero {min-height: 220px}
  .blp-hero-overlay {padding: 40px 0 32px}
  .blp-hero-title {font-size: 26px}
  .blp-hero-text {font-size: 14px}
  .blp-cat-btn {padding: 7px 12px; font-size: 12px}
  .blp-grid-section {padding: 28px 0 8px}
  .blp-list,
  .blp-skeleton-grid {grid-template-columns: 1fr}
  .blp-skeleton-media {height: 180px}
}
@media (max-width: 575.98px) {
  .blp-hero-title {font-size: 22px}
}

/* =================== GUIDES LISTING (text cards) =================== */
.glp-grid-section {
  padding-bottom: 48px;
}
.glp-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 22px 22px 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fff 100%);
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 16px 34px rgba(12,26,46,.06);
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.glp-card:hover {
  border-color: rgba(200,160,75,.5);
  box-shadow: 0 24px 48px rgba(12,26,46,.12);
  transform: translateY(-6px);
  color: inherit;
  text-decoration: none;
}
.glp-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
.glp-card-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  background: rgba(12,26,46,.92);
  color: var(--accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.35);
}
.glp-card-read {
  color: var(--slate);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.glp-card-read i {
  margin-right: 4px;
  color: var(--accent);
}
.glp-card-title {
  color: var(--dark);
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.3;
  transition: color .25s ease;
}
.glp-card:hover .glp-card-title {color: var(--accent)}
.glp-card-text {
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 18px;
  flex: 1 1 auto;
}
.glp-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(200,160,75,.14);
}
.glp-card-meta small {
  color: var(--slate);
  font-size: 12px;
}
.glp-card-meta small i {
  margin-right: 4px;
  color: var(--accent);
}
.glp-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: var(--dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
  transition: color .25s ease, gap .25s ease;
}
.glp-card-link i {
  font-size: 11px;
  color: var(--accent);
  transition: transform .25s ease, color .25s ease;
}
.glp-card:hover .glp-card-link {
  color: var(--accent);
  gap: 12px;
}
.glp-card:hover .glp-card-link i {
  transform: translateX(4px);
  color: var(--accent);
}
@media (max-width: 767.98px) {
  .glp-card {padding: 18px 18px 16px}
  .glp-card-title {font-size: 17px}
}

/* =================== CONTACT PAGE =================== */
.clp-hero {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.clp-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
}
.clp-hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 70px 0 50px;
  background: linear-gradient(135deg, rgba(12,26,46,.93) 0%, rgba(12,26,46,.78) 100%);
}
.clp-hero-title {
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -.8px;
  line-height: 1.15;
  margin: 0 0 8px;
}
.clp-hero-title-accent {
  color: var(--accent);
  display: block;
}
.clp-hero-text {
  color: rgba(255,255,255,.7);
  font-size: 16px;
  line-height: 1.7;
  max-width: 640px;
  margin: 18px 0 0;
}

.clp-info {
  padding: 48px 0 8px;
  margin-top: 0;
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
}
.clp-stack-panel {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 22px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.86) 100%);
  border: 1px solid rgba(200,160,75,.26);
  box-shadow:
    0 22px 50px rgba(12,26,46,.1),
    inset 0 1px 0 rgba(255,255,255,.9);
  box-sizing: border-box;
}
.clp-stack-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  max-width: none;
  margin: 0;
}
.clp-stack-card {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding: 26px 24px;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid transparent;
  box-shadow: 0 16px 34px rgba(12,26,46,.08);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  height: 100%;
}
.clp-stack-card--wide {grid-column: span 2}
.clp-stack-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 4px;
  border-radius: 999px;
  background: var(--accent);
}
.clp-stack-card::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -50px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.55) 0%, transparent 70%);
  pointer-events: none;
  opacity: .7;
}
.clp-stack-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(12,26,46,.14);
  color: inherit;
  text-decoration: none;
}
.clp-stack-card.is-static {cursor: default}
.clp-stack-card.is-static:hover {
  transform: none;
  box-shadow: 0 16px 34px rgba(12,26,46,.08);
}
.clp-stack-icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  font-size: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.clp-stack-icon::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 20px;
  border: 1px solid currentColor;
  opacity: .22;
  pointer-events: none;
}
.clp-stack-copy {position: relative; z-index: 1; min-width: 0}
.clp-stack-label {
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.clp-stack-copy h3 {
  margin: 0 0 8px;
  color: var(--dark);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.3px;
  word-break: break-word;
  transition: color .25s ease;
}
.clp-stack-card:not(.is-static):hover .clp-stack-copy h3 {color: var(--primary)}
.clp-stack-copy p {
  margin: 0;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
}

/* Call — navy */
.clp-stack-card.is-call {
  background:
    radial-gradient(circle at 100% 0%, rgba(27,58,92,.16), transparent 48%),
    linear-gradient(145deg, #f4f8fd 0%, #ffffff 55%, #eef3f9 100%);
  border-color: rgba(27,58,92,.18);
}
.clp-stack-card.is-call::before {background: linear-gradient(180deg, #3d6fa0, #1b3a5c)}
.clp-stack-card.is-call .clp-stack-label {color: #1b3a5c}
.clp-stack-card.is-call .clp-stack-icon {
  background: linear-gradient(160deg, #1b3a5c 0%, #0c1a2e 100%);
  color: #d4b56a;
  box-shadow: 0 12px 24px rgba(27,58,92,.28);
}
.clp-stack-card.is-call:hover {border-color: rgba(27,58,92,.35); box-shadow: 0 24px 48px rgba(27,58,92,.16)}

/* WhatsApp — green */
.clp-stack-card.is-wa {
  background:
    radial-gradient(circle at 100% 0%, rgba(37,211,102,.2), transparent 48%),
    linear-gradient(145deg, #f1fff6 0%, #ffffff 55%, #e8faf0 100%);
  border-color: rgba(37,181,93,.22);
}
.clp-stack-card.is-wa::before {background: linear-gradient(180deg, #3dd87a, #128C7E)}
.clp-stack-card.is-wa .clp-stack-label {color: #0f7a4a}
.clp-stack-card.is-wa .clp-stack-icon {
  background: linear-gradient(160deg, #25D366 0%, #128C7E 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(18,140,126,.28);
}
.clp-stack-card.is-wa:hover {border-color: rgba(37,181,93,.4); box-shadow: 0 24px 48px rgba(18,140,126,.16)}
.clp-stack-card.is-wa:hover .clp-stack-copy h3 {color: #0f7a4a}

/* Email — gold */
.clp-stack-card.is-email {
  background:
    radial-gradient(circle at 100% 0%, rgba(200,160,75,.22), transparent 48%),
    linear-gradient(145deg, #fff9ef 0%, #ffffff 55%, #fff4e2 100%);
  border-color: rgba(200,160,75,.28);
}
.clp-stack-card.is-email::before {background: linear-gradient(180deg, #e0b85a, #9f7422)}
.clp-stack-card.is-email .clp-stack-label {color: #9f7422}
.clp-stack-card.is-email .clp-stack-icon {
  background: linear-gradient(160deg, #d8b25a 0%, #9f7422 100%);
  color: #1b1407;
  box-shadow: 0 12px 24px rgba(159,116,34,.28);
}
.clp-stack-card.is-email:hover {border-color: rgba(200,160,75,.5); box-shadow: 0 24px 48px rgba(159,116,34,.16)}

/* Hours — amber */
.clp-stack-card.is-hours {
  background:
    radial-gradient(circle at 100% 0%, rgba(245,158,11,.18), transparent 48%),
    linear-gradient(145deg, #fff8ed 0%, #ffffff 55%, #ffefd6 100%);
  border-color: rgba(217,119,6,.22);
}
.clp-stack-card.is-hours::before {background: linear-gradient(180deg, #f59e0b, #c2410c)}
.clp-stack-card.is-hours .clp-stack-label {color: #c2410c}
.clp-stack-card.is-hours .clp-stack-icon {
  background: linear-gradient(160deg, #f59e0b 0%, #c2410c 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(194,65,12,.22);
}
.clp-stack-card.is-hours.is-static:hover {
  border-color: rgba(217,119,6,.22);
  box-shadow: 0 16px 34px rgba(12,26,46,.08);
}

/* Location — teal/blue */
.clp-stack-card.is-location {
  background:
    radial-gradient(circle at 100% 0%, rgba(14,116,144,.16), transparent 48%),
    linear-gradient(145deg, #f0fafc 0%, #ffffff 55%, #e6f6fa 100%);
  border-color: rgba(14,116,144,.2);
}
.clp-stack-card.is-location::before {background: linear-gradient(180deg, #22d3ee, #0e7490)}
.clp-stack-card.is-location .clp-stack-label {color: #0e7490}
.clp-stack-card.is-location .clp-stack-icon {
  background: linear-gradient(160deg, #0891b2 0%, #0e7490 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(14,116,144,.24);
}
.clp-stack-card.is-location.is-static:hover {
  border-color: rgba(14,116,144,.2);
  box-shadow: 0 16px 34px rgba(12,26,46,.08);
}
.clp-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.clp-info-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 18px;
  background: #fff;
  border: 1px solid rgba(200,160,75,.2);
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(12,26,46,.08);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.clp-info-card:hover {
  transform: translateY(-3px);
  border-color: rgba(200,160,75,.45);
  box-shadow: 0 18px 40px rgba(12,26,46,.12);
}
.clp-info-card.is-static {cursor: default}
.clp-info-card.is-static:hover {transform: none}
.clp-info-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(12,26,46,.94);
  border: 1px solid rgba(200,160,75,.35);
  color: var(--accent);
  font-size: 16px;
}
.clp-info-icon.is-wa {
  background: #25D366;
  border-color: #25D366;
  color: #fff;
}
.clp-info-card strong {
  display: block;
  color: var(--dark);
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 4px;
}
.clp-info-card span:last-child {
  display: block;
  color: var(--slate);
  font-size: 13px;
  line-height: 1.5;
}

.clp-main {
  padding: 28px 0 8px;
  margin: 0;
  background: #eef2f6;
  display: flow-root;
}
.clp-panel {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  align-items: stretch;
  width: 100%;
}
.clp-form-wrap {
  position: relative;
  height: 100%;
  background:
    radial-gradient(circle at 100% 0%, rgba(200,160,75,.08), transparent 42%),
    linear-gradient(180deg, #fff 0%, #fcfbf8 100%);
  border: 1px solid rgba(200,160,75,.22);
  border-radius: 20px;
  padding: 38px 36px 34px;
  box-shadow:
    0 20px 48px rgba(12,26,46,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow: hidden;
}
.clp-form-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, #e2c06d 50%, var(--primary) 100%);
}
.clp-form-head {margin-bottom: 28px}
.clp-form-head h2 {
  margin: 8px 0 10px;
  color: var(--dark);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.4px;
}
.clp-form-head p {
  margin: 0;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
  max-width: 540px;
}
.clp-alert {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 12px;
}
.clp-alert.is-success {
  background: rgba(37,211,102,.1);
  border: 1px solid rgba(37,211,102,.28);
  color: #0c7340;
}
.clp-alert.is-error {
  background: rgba(180,35,24,.08);
  border: 1px solid rgba(180,35,24,.2);
  color: #961c13;
}
.clp-alert i {font-size: 18px; margin-top: 2px}
.clp-alert strong {display: block; margin-bottom: 4px; font-size: 14px}
.clp-alert span, .clp-alert li {font-size: 13px; line-height: 1.5}
.clp-alert ul {margin: 0; padding-left: 16px}
.clp-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 4px;
}
.clp-field {margin-bottom: 16px}
.clp-field label {
  display: block;
  margin-bottom: 8px;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.clp-field .req {color: #b42318; text-transform: none}
.clp-field input,
.clp-field select,
.clp-field textarea {
  width: 100%;
  border: 1px solid rgba(200,160,75,.24);
  border-radius: 12px;
  background: rgba(255,255,255,.88);
  padding: 14px 15px;
  color: var(--dark);
  font-size: 14px;
  line-height: 1.4;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
  appearance: none;
  -webkit-appearance: none;
}
.clp-field select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--accent) 50%),
    linear-gradient(135deg, var(--accent) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 36px;
  cursor: pointer;
}
.clp-field textarea {resize: vertical; min-height: 132px}
.clp-field input::placeholder,
.clp-field textarea::placeholder {color: #94a3b8}
.clp-field input:hover,
.clp-field select:hover,
.clp-field textarea:hover {
  border-color: rgba(200,160,75,.42);
}
.clp-field input:focus,
.clp-field select:focus,
.clp-field textarea:focus {
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(200,160,75,.14);
}
.clp-captcha {margin-top: 4px}
.clp-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin-top: 10px;
  padding: 15px 18px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  color: #1b1407;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .2px;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(159,116,34,.22);
  transition: transform .25s ease, box-shadow .25s ease;
}
.clp-submit i {font-size: 13px; transition: transform .25s ease}
.clp-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(159,116,34,.3);
}
.clp-submit:hover i {transform: translateX(3px)}
.clp-form-note {
  margin: 14px 0 0;
  text-align: center;
  color: var(--slate);
  font-size: 12px;
}

.clp-aside {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(200,160,75,.28);
  box-shadow:
    0 20px 48px rgba(12,26,46,.12),
    inset 0 1px 0 rgba(255,255,255,.06);
  background:
    radial-gradient(circle at 88% 8%, rgba(200,160,75,.22), transparent 38%),
    linear-gradient(165deg, #0c1a2e 0%, #13263d 48%, #1b3a5c 100%);
}
.clp-aside-card {
  flex: 0 0 auto;
  padding: 30px 26px 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
}
.clp-aside-eyebrow {
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.clp-aside-card h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.3px;
  line-height: 1.2;
}
.clp-aside-rule {
  display: block;
  width: 48px;
  height: 2px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), transparent);
}
.clp-aside-card > p {
  margin: 0 0 20px;
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.7;
}
.clp-aside-points {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.clp-aside-points li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 600;
}
.clp-aside-points i {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.14);
  border: 1px solid rgba(200,160,75,.4);
  color: var(--accent);
  font-size: 10px;
}
.clp-aside-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.clp-aside-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 12px;
  border-radius: 11px;
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  color: #1b1407;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(159,116,34,.22);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.clp-aside-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(159,116,34,.3);
  color: #1b1407;
  filter: brightness(1.04);
}
.clp-aside-btn.is-wa {
  background: linear-gradient(145deg, #25D366 0%, #1dae54 100%);
  color: #fff;
  box-shadow: 0 10px 22px rgba(37,211,102,.22);
}
.clp-aside-btn.is-wa:hover {
  color: #fff;
  box-shadow: 0 14px 28px rgba(37,211,102,.3);
}
.clp-map {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 240px;
  margin: 0 14px 14px;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(200,160,75,.22);
  background: #0a1524;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.clp-map-label {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 10px 14px;
  background: linear-gradient(180deg, rgba(12,26,46,.88) 0%, rgba(12,26,46,.35) 70%, transparent 100%);
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  pointer-events: none;
}
.clp-map-frame {
  position: relative;
  flex: 1 1 auto;
  min-height: 240px;
  height: 100%;
}
.clp-map-frame > *,
.clp-map-frame iframe,
.clp-map iframe {
  position: absolute !important;
  inset: 0 !important;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  border: 0 !important;
}

.clp-cta {
  padding: 50px 0;
  background: var(--dark);
}
.clp-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.clp-cta .home-eyebrow {color: var(--accent); margin-bottom: 8px}
.clp-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 28px;
  font-weight: 800;
}
.clp-cta p {
  margin: 0;
  color: rgba(255,255,255,.65);
  font-size: 15px;
  max-width: 520px;
}

@media (max-width: 991.98px) {
  .clp-hero {min-height: 260px}
  .clp-hero-overlay {padding: 50px 0 40px}
  .clp-hero-title {font-size: 34px}
  .clp-info {padding: 36px 0 8px}
  .clp-stack-panel {padding: 16px; border-radius: 20px}
  .clp-stack-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 100%;
    gap: 14px;
  }
  .clp-stack-card--wide {grid-column: span 2}
  .clp-info-grid {grid-template-columns: 1fr 1fr}
  .clp-panel {grid-template-columns: 1fr}
  .clp-aside {height: auto; min-height: 0}
  .clp-map,
  .clp-map-frame {min-height: 280px}
  .clp-form-wrap {padding: 28px 22px}
  .clp-cta-inner {flex-direction: column; align-items: flex-start}
}
@media (max-width: 767.98px) {
  .clp-hero {min-height: 220px}
  .clp-hero-overlay {padding: 40px 0 32px}
  .clp-hero-title {font-size: 26px}
  .clp-hero-text {font-size: 14px}
  .clp-info {padding: 28px 0 4px}
  .clp-stack-panel {padding: 12px; border-radius: 18px}
  .clp-stack-grid {grid-template-columns: 1fr}
  .clp-stack-card--wide {grid-column: auto}
  .clp-stack-card {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 22px 20px;
    gap: 14px;
  }
  .clp-stack-icon {width: 48px; height: 48px; border-radius: 14px; font-size: 18px}
  .clp-stack-copy h3 {font-size: 17px}
  .clp-info-grid {grid-template-columns: 1fr}
  .clp-form-row {grid-template-columns: 1fr}
  .clp-form-head h2 {font-size: 22px}
  .clp-aside-actions {grid-template-columns: 1fr}
  .clp-cta {padding: 40px 0}
  .clp-cta h2 {font-size: 22px}
  .clp-cta a {width: 100%; text-align: center; justify-content: center}
}
@media (max-width: 575.98px) {
  .clp-hero-title {font-size: 22px}
}

/* =================== BLOG DETAIL (PREMIUM) =================== */
.bdp-hero {
  position: relative;
  min-height: 52vh;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
.bdp-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.bdp-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  animation: bdpHeroZoom 12s ease-out forwards;
}
@keyframes bdpHeroZoom {
  to {transform: scale(1)}
}
.bdp-hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 52vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 88px 0 56px;
  background: linear-gradient(135deg, rgba(12,26,46,.93) 0%, rgba(12,26,46,.82) 55%, rgba(12,26,46,.78) 100%);
}
.bdp-breadcrumb {margin-bottom: 22px}
.bdp-breadcrumb a {color: rgba(255,255,255,.72)}
.bdp-breadcrumb a:hover {color: var(--accent)}
.bdp-breadcrumb span {color: rgba(255,255,255,.45)}
.bdp-hero-brand {
  display: inline-block;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 14px;
  opacity: 0;
  transform: translateY(14px);
  animation: bdpRise .7s ease .1s forwards;
}
.bdp-hero-title {
  max-width: 860px;
  color: #fff;
  font-size: clamp(28px, 4.4vw, 48px);
  font-weight: 900;
  letter-spacing: -.7px;
  line-height: 1.18;
  margin: 0 0 10px;
  opacity: 0;
  transform: translateY(18px);
  animation: bdpRise .75s ease .2s forwards;
}
.bdp-hero .about-hero-rule {
  opacity: 0;
  animation: bdpRise .7s ease .32s forwards;
}
.bdp-hero-text {
  max-width: 640px;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.7;
  margin: 16px 0 0;
  opacity: 0;
  transform: translateY(14px);
  animation: bdpRise .7s ease .4s forwards;
}
.bdp-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: 22px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  opacity: 0;
  transform: translateY(12px);
  animation: bdpRise .7s ease .5s forwards;
}
.bdp-hero-meta i {color: var(--accent); margin-right: 6px}
.bdp-meta-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid rgba(200,160,75,.4);
  border-radius: 999px;
  background: rgba(200,160,75,.12);
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
}
@keyframes bdpRise {
  to {opacity: 1; transform: translateY(0)}
}

.bdp-main {
  padding: 48px 0 8px;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  display: flow-root;
}
.bdp-layout {
  display: block;
  width: 100%;
}
.bdp-article {
  width: 100%;
  max-width: none;
  background: #fff;
  border: 1px solid rgba(200,160,75,.16);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 22px 50px rgba(12,26,46,.07);
  opacity: 0;
  transform: translateY(20px);
  animation: bdpRise .8s ease .15s forwards;
}
.bdp-feature {
  margin: 0 0 28px;
  border-radius: 16px;
  overflow: hidden;
  background: #0c1a2e;
}
.bdp-feature img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 460px;
  object-fit: cover;
}
.bdp-content {
  color: #334155;
  font-size: 16px;
  line-height: 1.85;
}
.bdp-direct-answer {
  margin: 0 0 1.5em;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(200,160,75,.35);
  background: linear-gradient(135deg, rgba(200,160,75,.12), rgba(27,58,92,.04));
}
.bdp-direct-answer p {
  margin: 0;
  color: #0C1A2E;
  font-size: 15px;
  line-height: 1.65;
}
.bdp-guide-faq {
  margin: 28px 0 8px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(16,38,61,.1);
  background: #f8fafc;
}
.bdp-guide-faq-title {
  margin: 0 0 14px;
  color: #10263d;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -.3px;
}
.bdp-guide-faq-list {margin: 0}
.bdp-guide-faq .home-faq-item {
  background: #fff;
  box-shadow: 0 10px 24px rgba(12,26,46,.06);
}
.bdp-guide-faq .home-faq-item:hover,
.bdp-guide-faq .home-faq-item[expanded],
.bdp-guide-faq .home-faq-item.is-open {
  box-shadow: 0 14px 28px rgba(12,26,46,.1);
}
.bdp-guide-faq .faq-question {
  color: var(--dark) !important;
  text-align: left !important;
}
.bdp-guide-faq .faq-description {
  color: var(--slate) !important;
}
.bdp-guide-faq .faq-icon {
  background: rgba(12,26,46,.04);
  border-color: rgba(12,26,46,.12);
  color: var(--dark);
}
.bdp-guide-faq .home-faq-item .faq-icon.hide {visibility: hidden !important}
.bdp-guide-faq .home-faq-item .faq-icon.show {visibility: visible !important}
.bdp-guide-faq .home-faq-item.is-open .faq-icon.show,
.bdp-guide-faq .home-faq-item[expanded] .faq-icon.show {visibility: hidden !important}
.bdp-guide-faq .home-faq-item.is-open .faq-icon.hide,
.bdp-guide-faq .home-faq-item[expanded] .faq-icon.hide {
  visibility: visible !important;
  background: var(--accent);
  border-color: var(--accent);
  color: var(--dark);
}
.bdp-hero--plain {
  min-height: auto;
  background:
    radial-gradient(ellipse at 18% 20%, rgba(200,160,75,.18), transparent 42%),
    linear-gradient(160deg, #08121f 0%, #0c1a2e 48%, #132840 100%);
}
.bdp-hero--plain .bdp-hero-overlay {
  min-height: auto;
  background: transparent;
  padding: 88px 0 48px;
}
.bdp-content > *:first-child {margin-top: 0}
.bdp-content h2,
.bdp-content h3,
.bdp-content h4 {
  color: var(--dark);
  font-weight: 800;
  line-height: 1.3;
  margin: 1.6em 0 .7em;
}
.bdp-content h2 {font-size: 28px}
.bdp-content h3 {font-size: 22px}
.bdp-content p {margin: 0 0 1.15em}
.bdp-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 1.2em 0;
}
.bdp-content blockquote {
  margin: 1.5em 0;
  padding: 16px 20px;
  border-left: 3px solid var(--accent);
  background: linear-gradient(90deg, rgba(200,160,75,.1), transparent);
  color: var(--dark);
  font-weight: 600;
  font-style: italic;
}

.bdp-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(200,160,75,.16);
}
.bdp-tags-label {
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-right: 6px;
}
.bdp-tag {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(200,160,75,.22);
  background: #fbfaf7;
  color: var(--dark);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .25s, background .25s, color .25s;
}
.bdp-tag:hover {
  border-color: var(--accent);
  background: #fff8ea;
  color: var(--dark);
}

.bdp-share-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 26px;
  padding: 16px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0c1a2e 0%, #1b3a5c 100%);
}
.bdp-share-label {
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 700;
}
.bdp-share-links {
  display: flex;
  gap: 8px;
}
.bdp-share-links a,
.bdp-share-links .bdp-copy-link {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(200,160,75,.35);
  color: #fff;
  text-decoration: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  padding: 0;
  transition: background .25s, color .25s, border-color .25s, transform .25s;
}
.bdp-share-links a:hover,
.bdp-share-links .bdp-copy-link:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--dark);
  transform: translateY(-2px);
}
.bdp-copy-feedback {
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 3px 8px;
  border-radius: 6px;
  background: #fff;
  color: var(--dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .3px;
}
.bdp-copy-link.is-copied {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--dark);
}

.bdp-pager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 22px;
}
.bdp-pager-link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(200,160,75,.18);
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
  text-decoration: none;
  transition: border-color .25s, transform .25s, box-shadow .25s;
  min-width: 0;
}
.bdp-pager-link:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(12,26,46,.08);
}
.bdp-pager-link.is-empty {
  visibility: hidden;
  pointer-events: none;
}
.bdp-pager-link.is-next {text-align: right}
.bdp-pager-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.bdp-pager-link.is-next .bdp-pager-label {justify-content: flex-end}
.bdp-pager-link strong {
  color: var(--dark);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}
.bdp-pager-link:hover strong {color: var(--accent)}

.bdp-article-cta {
  margin-top: 28px;
  padding: 26px;
  border-radius: 16px;
  border: 1px solid rgba(200,160,75,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(200,160,75,.14), transparent 42%),
    linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.bdp-article-cta-copy {max-width: 460px}
.bdp-article-cta-copy h2 {
  color: var(--dark);
  font-size: 24px;
  font-weight: 800;
  margin: 6px 0 8px;
}
.bdp-article-cta-copy p {
  color: var(--slate);
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}
.bdp-article-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.bdp-article-cta-actions .btn-home-outline {
  background: transparent;
  border-color: rgba(27,58,92,.28);
  color: var(--dark);
}
.bdp-article-cta-actions .btn-home-outline:hover {
  background: var(--dark);
  border-color: var(--dark);
  color: #fff;
}

.bdp-aside-sticky {
  position: sticky;
  top: 120px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  opacity: 0;
  transform: translateY(18px);
  animation: bdpRise .8s ease .28s forwards;
}
.bdp-aside-block {
  background: #fff;
  border: 1px solid rgba(200,160,75,.16);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 14px 34px rgba(12,26,46,.06);
}
.bdp-aside-head {margin-bottom: 14px}
.bdp-aside-eyebrow {
  display: block;
  color: #7f6330;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.bdp-aside-head h3,
.bdp-aside-promo h3 {
  color: var(--dark);
  font-size: 20px;
  font-weight: 800;
  margin: 0;
}
.bdp-recent-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bdp-recent-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  text-decoration: none;
  padding: 8px;
  border-radius: 12px;
  transition: background .25s;
}
.bdp-recent-item:hover {background: #fbfaf7}
.bdp-recent-thumb {
  width: 72px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: #0c1a2e;
}
.bdp-recent-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.bdp-recent-item:hover .bdp-recent-thumb img {transform: scale(1.06)}
.bdp-recent-copy strong {
  display: block;
  color: var(--dark);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 4px;
}
.bdp-recent-item:hover .bdp-recent-copy strong {color: var(--accent)}
.bdp-recent-copy small {
  color: var(--slate);
  font-size: 12px;
}
.bdp-aside-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: var(--primary);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.bdp-aside-link:hover {color: var(--accent)}
.bdp-aside-link i {font-size: 11px; transition: transform .25s}
.bdp-aside-link:hover i {transform: translateX(3px)}

.bdp-cat-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bdp-cat-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 12px;
  border: 1px solid rgba(200,160,75,.16);
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
  color: var(--dark);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .25s, background .25s, transform .25s;
}
.bdp-cat-item i {color: var(--accent); font-size: 11px}
.bdp-cat-item:hover {
  border-color: var(--accent);
  background: #fff8ea;
  transform: translateX(2px);
}

.bdp-aside-promo {
  padding: 22px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(200,160,75,.22), transparent 45%),
    linear-gradient(145deg, #0c1a2e 0%, #1b3a5c 100%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(12,26,46,.22);
}
.bdp-aside-promo .bdp-aside-eyebrow {color: var(--accent)}
.bdp-aside-promo h3 {
  color: #fff;
  font-size: 22px;
  margin: 4px 0 10px;
}
.bdp-aside-promo p {
  color: rgba(255,255,255,.7);
  font-size: 13px;
  line-height: 1.65;
  margin: 0 0 16px;
}
.bdp-aside-promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border-radius: 10px;
  background: linear-gradient(130deg, #b78a2f 0%, #d8b25a 48%, #9f7422 100%);
  color: #1b1407;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
}
.bdp-aside-promo-btn:hover {
  color: #1b1407;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

@media (max-width: 991.98px) {
  .bdp-hero,
  .bdp-hero-overlay {min-height: 42vh}
  .bdp-hero-overlay {padding: 70px 0 40px}
  .bdp-article {padding: 22px}
  .bdp-main {padding: 32px 0 8px}
}
@media (max-width: 767.98px) {
  .bdp-hero,
  .bdp-hero-overlay {min-height: 38vh}
  .bdp-hero-overlay {padding: 56px 0 32px}
  .bdp-hero-text {font-size: 14px}
  .bdp-article {padding: 16px; border-radius: 16px}
  .bdp-feature {margin-bottom: 20px; border-radius: 12px}
  .bdp-content {font-size: 15px}
  .bdp-content h2 {font-size: 22px}
  .bdp-article-cta {padding: 20px}
  .bdp-article-cta-actions {width: 100%}
  .bdp-article-cta-actions a {flex: 1; justify-content: center; text-align: center}
  .bdp-pager {grid-template-columns: 1fr}
  .bdp-pager-link.is-empty {display: none}
  .bdp-pager-link.is-next {text-align: left}
  .bdp-pager-link.is-next .bdp-pager-label {justify-content: flex-start}
}
@media (max-width: 575.98px) {
  .bdp-hero-title {font-size: 26px}
  .bdp-share-bar {align-items: flex-start; flex-direction: column}
}

/* Editor / CMS body links — blog + product single */
.bdp-content a,
.content-detail a,
.page-description a {
  color: var(--accent);
  font-weight: 700;
  text-decoration: none;
  transition: color .25s ease, text-decoration-color .25s ease;
}
.bdp-content a:hover,
.content-detail a:hover,
.page-description a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}

/* Editor / CMS lists — blog + product single */
.bdp-content ul,
.content-detail ul,
.page-description ul,
.bdp-content ol,
.content-detail ol,
.page-description ol {
  margin: 0 0 1.4em;
  padding: 6px 0 6px 0;
  list-style: none;
}
.bdp-content li,
.content-detail li,
.page-description li {
  position: relative;
  margin: 0 0 10px;
  padding: 10px 14px 10px 42px;
  color: #3d4f63;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(200,160,75,.07) 0%, rgba(255,255,255,0) 72%);
  border: 1px solid transparent;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.bdp-content ul > li::before,
.content-detail ul > li::before,
.page-description ul > li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-radius: 2px;
  background: linear-gradient(135deg, #d8b25a 0%, #9f7422 100%);
  box-shadow: 0 0 0 3px rgba(200,160,75,.18);
}
.bdp-content ol,
.content-detail ol,
.page-description ol {
  counter-reset: editor-step;
}
.bdp-content ol > li,
.content-detail ol > li,
.page-description ol > li {
  counter-increment: editor-step;
}
.bdp-content ol > li::before,
.content-detail ol > li::before,
.page-description ol > li::before {
  content: counter(editor-step);
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #0c1a2e 0%, #1b3a5c 100%);
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 4px 10px rgba(12,26,46,.16);
}
.bdp-content li > ul,
.bdp-content li > ol,
.content-detail li > ul,
.content-detail li > ol,
.page-description li > ul,
.page-description li > ol {
  margin: 10px 0 2px;
  padding: 0;
}
.bdp-content li > ul > li,
.bdp-content li > ol > li,
.content-detail li > ul > li,
.content-detail li > ol > li,
.page-description li > ul > li,
.page-description li > ol > li {
  margin-bottom: 6px;
  padding-top: 8px;
  padding-bottom: 8px;
  background: transparent;
  border: 0;
}

/* Editor / CMS tables — blog + product single */
.bdp-content table,
.content-detail table,
.page-description table,
.pdp-description-body table {
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 1.5em 0;
  font-size: 14px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(200,160,75,.22);
  background: #fff;
  box-shadow: 0 12px 28px rgba(12,26,46,.05);
}
.bdp-content table th,
.bdp-content table td,
.content-detail table th,
.content-detail table td,
.page-description table th,
.page-description table td,
.pdp-description-body table th,
.pdp-description-body table td {
  width: auto;
  word-break: break-word;
}
.bdp-content thead th,
.content-detail thead th,
.page-description thead th,
.bdp-content tr:first-child th,
.content-detail tr:first-child th,
.page-description tr:first-child th {
  background: linear-gradient(135deg, #0c1a2e 0%, #1b3a5c 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  text-align: left;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid rgba(200,160,75,.35);
}
.bdp-content tbody td,
.content-detail tbody td,
.page-description tbody td,
.bdp-content td,
.content-detail td,
.page-description td {
  padding: 13px 16px;
  color: #3d4f63;
  font-weight: 500;
  border: 0;
  border-bottom: 1px solid rgba(200,160,75,.14);
  background: #fff;
  vertical-align: top;
}
.bdp-content tr:last-child td,
.content-detail tr:last-child td,
.page-description tr:last-child td {
  border-bottom: 0;
}
.bdp-content tbody tr:nth-child(even) td,
.content-detail tbody tr:nth-child(even) td,
.page-description tbody tr:nth-child(even) td {
  background: #fbfaf7;
}
.bdp-content th,
.content-detail th,
.page-description th {
  padding: 13px 16px;
  font-weight: 700;
}

.section-title-1::before {position: absolute;content: "";width: 150px;height: 5px;left: 0;bottom: 0;background: var(--primary);border-radius: 2px }
.section-title-1.text-center::before {left: 50%;margin-left: -75px }
.section-title-1.section-title-sm::before {width: 90px;height: 3px }
.section-title-1::after {position: absolute;content: "";width: 6px;height: 5px;bottom: 0;background: #fff;-webkit-animation: section-title-run 5s infinite linear;animation: section-title-run 5s infinite linear }
.section-title-1.section-title-sm::after {width: 4px;height: 3px }
.section-title-1.text-center::afte {-webkit-animation: section-title-run-center 5s infinite linear;animation: section-title-run-center 5s infinite linear }
.section-title-1.section-title-sm::after {-webkit-animation: section-title-run-sm 5s infinite linear;animation: section-title-run-sm 5s infinite linear }
.service-item {position: relative;height: 300px;padding: 0 30px;transition: .5s }
.service-item a.btn {position: absolute;width: 60px;bottom: -48px;left: 50%;margin-left: -30px;opacity: 0 }
.service-item:hover a.btn {bottom: -24px;opacity: 1 }
.blog-item .blog-img img {transition: .5s }
.blog-item:hover .blog-img img {transform: scale(1.15) }
.bg-header {background-size: cover }
.contact-form .help-block ul {margin: 0;padding: 0;list-style-type: none }

/* =================== APPLICATION LISTING PAGE =================== */
.alp-hero {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.alp-hero-bg {position: absolute; inset: 0; z-index: 0}
.alp-hero-bg img, .alp-hero-bg .img-cover-fill {width: 100%; height: 100%; object-fit: cover; transform: scale(1.05); animation: alpHeroZoom 14s ease-out forwards}
@keyframes alpHeroZoom {to {transform: scale(1)}}
.alp-hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 70px 0 50px;
  background: linear-gradient(135deg, rgba(12,26,46,.93) 0%, rgba(12,26,46,.78) 100%);
}
.alp-hero-eyebrow {
  display: inline-block;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 14px;
  opacity: 0;
  transform: translateY(12px);
  animation: alpRise .7s ease .1s forwards;
}
.alp-hero-title {
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -.8px;
  line-height: 1.15;
  margin: 0 0 8px;
  opacity: 0;
  transform: translateY(16px);
  animation: alpRise .75s ease .2s forwards;
}
.alp-hero-title-accent {
  color: var(--accent);
  display: block;
}
.alp-hero-text {
  color: rgba(255,255,255,.7);
  font-size: 16px;
  line-height: 1.7;
  max-width: 680px;
  margin: 18px 0 0;
  opacity: 0;
  transform: translateY(12px);
  animation: alpRise .7s ease .4s forwards;
}
.alp-hero .about-hero-rule {
  opacity: 0;
  animation: alpRise .7s ease .32s forwards;
}
@keyframes alpRise {to {opacity: 1; transform: translateY(0)}}

.alp-toolbar {
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  border-top: 1px solid rgba(200,160,75,.22);
  border-bottom: 1px solid rgba(200,160,75,.2);
}
.alp-toolbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 16px 0;
}
.alp-count {
  color: #7f6330;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .4px;
}
.alp-search-form {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 360px;
  width: 100%;
}
.alp-search-icon {
  position: absolute;
  left: 14px;
  color: var(--slate);
  font-size: 13px;
  pointer-events: none;
}
.alp-search-input {
  width: 100%;
  padding: 11px 38px 11px 40px;
  border: 1px solid rgba(200,160,75,.25);
  border-radius: 999px;
  font-size: 13px;
  background: rgba(255,255,255,.95);
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.alp-search-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(200,160,75,.14);
  background: #fff;
}
.alp-search-clear {
  position: absolute;
  right: 12px;
  color: var(--slate);
  font-size: 13px;
  text-decoration: none;
}
.alp-search-clear:hover {color: var(--dark)}

.alp-grid-section {
  padding: 48px 0 8px;
  margin: 0;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  display: flow-root;
}
.alp-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(200,160,75,.14);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(12,26,46,.05);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.alp-card:hover {
  transform: translateY(-6px);
  border-color: rgba(200,160,75,.4);
  box-shadow: 0 22px 48px rgba(12,26,46,.12);
  text-decoration: none;
}
.alp-card-media {
  position: relative;
  height: 210px;
  background: linear-gradient(145deg, #0c1a2e 0%, #1b3a5c 100%);
  overflow: hidden;
}
.alp-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.alp-card:hover .alp-card-media img {transform: scale(1.06)}
.alp-card-media-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  font-size: 42px;
  background:
    radial-gradient(circle at 30% 20%, rgba(200,160,75,.18), transparent 45%),
    linear-gradient(145deg, #0c1a2e 0%, #1b3a5c 100%);
}
.alp-card-num {
  position: absolute;
  left: 14px;
  bottom: 14px;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(12,26,46,.55);
  border: 1px solid rgba(200,160,75,.35);
}
.alp-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 22px 24px;
}
.alp-card-title {
  color: var(--dark);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 10px;
  transition: color .25s ease;
}
.alp-card:hover .alp-card-title {color: var(--accent)}
.alp-card-text {
  color: var(--slate);
  font-size: 14px;
  line-height: 1.65;
  margin: 0 0 18px;
  flex: 1;
}
.alp-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--dark);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .2px;
  transition: color .25s ease, gap .25s ease;
}
.alp-card-link i {color: var(--accent); transition: transform .25s ease}
.alp-card:hover .alp-card-link {color: var(--accent); gap: 12px}
.alp-card:hover .alp-card-link i {transform: translateX(4px)}

.alp-empty {
  text-align: center;
  padding: 80px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.alp-empty i {
  width: 80px;
  height: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(200,160,75,.12);
  color: var(--accent);
  font-size: 28px;
  margin-bottom: 10px;
}
.alp-empty strong {
  font-size: 24px;
  font-weight: 800;
  color: var(--dark);
}
.alp-empty span {
  color: var(--slate);
  font-size: 15px;
  max-width: 420px;
  margin-bottom: 12px;
}

.alp-cta {
  padding: 8px 0 70px;
  background: linear-gradient(180deg, #eef2f6 0%, #e8edf3 100%);
}
.alp-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 32px 36px;
  border-radius: 20px;
  background: linear-gradient(135deg, #0c1a2e 0%, #1b3a5c 100%);
  border: 1px solid rgba(200,160,75,.28);
  box-shadow: 0 22px 48px rgba(12,26,46,.18);
}
.alp-cta-copy h2 {
  color: #fff;
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 8px;
}
.alp-cta-copy p {
  color: rgba(255,255,255,.7);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
  max-width: 560px;
}
.alp-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.alp-cta-actions .btn-home-dark {
  background: transparent;
  border: 1px solid rgba(255,255,255,.42);
  color: #fff;
  box-shadow: none;
}
.alp-cta-actions .btn-home-dark:hover {
  background: rgba(255,255,255,.12);
  border-color: var(--accent);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}
.alp-cta-actions .btn-home-dark i {
  color: #25d366;
}
.alp-cta-actions .btn-home-dark:hover i {
  color: #3be07a;
}

@media (max-width: 991.98px) {
  .alp-hero {min-height: 260px}
  .alp-hero-overlay {padding: 50px 0 40px}
  .alp-hero-title {font-size: 34px}
  .alp-search-form {max-width: 100%}
  .alp-cta-inner {padding: 28px 24px}
}
@media (max-width: 767.98px) {
  .alp-hero {min-height: 220px}
  .alp-hero-overlay {padding: 40px 0 32px}
  .alp-hero-title {font-size: 26px}
  .alp-hero-text {font-size: 14px}
  .alp-grid-section {padding: 32px 0 8px}
  .alp-card-media {height: 190px}
  .alp-cta-copy h2 {font-size: 22px}
}
@media (max-width: 575.98px) {
  .alp-hero-title {font-size: 22px}
}

/* =================== APPLICATION DETAIL PAGE =================== */
.adp-hero {
  position: relative;
  min-height: 52vh;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
.adp-hero-bg {position: absolute; inset: 0; z-index: 0}
.adp-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  animation: alpHeroZoom 12s ease-out forwards;
}
.adp-hero-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 52vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 88px 0 56px;
  background: linear-gradient(135deg, rgba(12,26,46,.93) 0%, rgba(12,26,46,.82) 55%, rgba(12,26,46,.78) 100%);
}
.adp-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 14px;
  opacity: 0;
  transform: translateY(12px);
  animation: alpRise .7s ease .1s forwards;
}
.adp-hero-title {
  max-width: 860px;
  color: #fff;
  font-size: clamp(28px, 4.4vw, 48px);
  font-weight: 900;
  letter-spacing: -.7px;
  line-height: 1.18;
  margin: 0 0 10px;
  opacity: 0;
  transform: translateY(18px);
  animation: alpRise .75s ease .2s forwards;
}
.adp-hero .about-hero-rule {
  opacity: 0;
  animation: alpRise .7s ease .32s forwards;
}
.adp-hero-text {
  max-width: 640px;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.7;
  margin: 16px 0 0;
  opacity: 0;
  transform: translateY(14px);
  animation: alpRise .7s ease .4s forwards;
}
.adp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
  opacity: 0;
  transform: translateY(12px);
  animation: alpRise .7s ease .5s forwards;
}

.adp-main {
  padding: 48px 0 8px;
  background: linear-gradient(180deg, #f7f5f0 0%, #eef2f6 100%);
  display: flow-root;
}
.adp-layout {
  width: 100%;
  max-width: none;
  background: #fff;
  border: 1px solid rgba(200,160,75,.16);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 22px 50px rgba(12,26,46,.07);
  opacity: 0;
  transform: translateY(20px);
  animation: alpRise .8s ease .15s forwards;
}
.adp-feature {
  margin: 0 0 28px;
  border-radius: 16px;
  overflow: hidden;
  background: #0c1a2e;
}
.adp-feature img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 460px;
  object-fit: cover;
}
.adp-content {
  color: #334155;
  font-size: 16px;
  line-height: 1.85;
}
.adp-content > *:first-child {margin-top: 0}
.adp-content h2,
.adp-content h3,
.adp-content h4 {
  color: var(--dark);
  font-weight: 800;
  line-height: 1.3;
  margin: 1.6em 0 .7em;
}
.adp-content h2 {font-size: 28px}
.adp-content h3 {font-size: 22px}
.adp-content p {margin: 0 0 1.15em}
.adp-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 1.2em 0;
}
.adp-content ul,
.adp-content ol {margin: 0 0 1.2em; padding-left: 1.25em}
.adp-content li {margin-bottom: .45em}

.adp-cta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 32px;
  padding: 22px 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0c1a2e 0%, #1b3a5c 100%);
}
.adp-cta-bar strong {
  display: block;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 4px;
}
.adp-cta-bar span {
  color: rgba(255,255,255,.68);
  font-size: 14px;
}
.adp-cta-bar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.adp-related {
  padding: 48px 0 70px;
  background: linear-gradient(180deg, #eef2f6 0%, #e8edf3 100%);
}
.adp-related-head {
  text-align: center;
  margin-bottom: 32px;
}

@media (max-width: 991.98px) {
  .adp-hero-overlay {padding: 72px 0 44px}
  .adp-layout {padding: 22px}
}
@media (max-width: 767.98px) {
  .adp-hero {min-height: 44vh}
  .adp-hero-overlay {min-height: 44vh; padding: 64px 0 36px}
  .adp-hero-text {font-size: 14px}
  .adp-main {padding: 32px 0 8px}
  .adp-content h2 {font-size: 22px}
  .adp-content h3 {font-size: 18px}
  .adp-cta-bar {padding: 18px}
}

/* =================== PREMIUM 404 =================== */
.err404 {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 180px);
  padding: 56px 0 72px;
  background:
    radial-gradient(ellipse at 12% 18%, rgba(200,160,75,.18), transparent 42%),
    radial-gradient(ellipse at 88% 78%, rgba(27,58,92,.55), transparent 46%),
    linear-gradient(160deg, #08121f 0%, #0c1a2e 48%, #132840 100%);
  color: #fff;
}
.err404-glow {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 40%, rgba(200,160,75,.05) 50%, transparent 60%);
  pointer-events: none;
  animation: err404Sheen 10s ease-in-out infinite;
}
@keyframes err404Sheen {
  0%, 100% {opacity: .35; transform: translateX(-4%)}
  50% {opacity: .7; transform: translateX(4%)}
}
.err404 .container {position: relative; z-index: 1}
.err404-breadcrumb {margin-bottom: 28px}
.err404-breadcrumb a {color: rgba(255,255,255,.72)}
.err404-breadcrumb a:hover {color: var(--accent)}
.err404-breadcrumb span {color: rgba(255,255,255,.45)}
.err404-layout {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 36px;
  align-items: stretch;
}
.err404-brand {
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.err404-code {
  margin: 0 0 6px;
  font-family: Nunito, sans-serif;
  font-size: clamp(72px, 14vw, 140px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -4px;
  background: linear-gradient(180deg, rgba(200,160,75,.95) 0%, rgba(200,160,75,.25) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: err404Rise .8s ease-out both;
}
.err404-title {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  letter-spacing: -.4px;
  line-height: 1.2;
  animation: err404Rise .9s ease-out .08s both;
}
.err404 .about-hero-rule {
  margin-bottom: 18px;
  animation: err404Rise .9s ease-out .12s both;
}
.err404-text {
  max-width: 540px;
  margin: 0 0 28px;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.7;
  animation: err404Rise .9s ease-out .16s both;
}
.err404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
  animation: err404Rise .9s ease-out .2s both;
}
.err404-search {
  display: flex;
  align-items: center;
  max-width: 520px;
  padding: 6px 6px 6px 16px;
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(200,160,75,.35);
  box-shadow: 0 16px 36px rgba(0,0,0,.22);
  animation: err404Rise .9s ease-out .24s both;
}
.err404-search-icon {
  color: var(--accent);
  margin-right: 10px;
}
.err404-search-input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--dark);
  font-size: 14px;
  font-weight: 600;
  min-width: 0;
}
.err404-search-btn {
  border: 0;
  border-radius: 8px;
  padding: 11px 16px;
  background: var(--dark);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .25s ease;
}
.err404-search-btn:hover {background: var(--primary)}
.err404-panel {
  display: flex;
  flex-direction: column;
  padding: 28px 26px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, #fff 100%);
  border: 1px solid rgba(200,160,75,.28);
  box-shadow: 0 24px 48px rgba(0,0,0,.28);
  color: var(--dark);
  animation: err404Rise .95s ease-out .18s both;
}
.err404-panel-eyebrow {
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.err404-panel-title {
  margin: 0 0 18px;
  color: var(--dark);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.2px;
}
.err404-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
}
.err404-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  text-decoration: none;
  color: var(--dark);
  font-size: 14px;
  font-weight: 700;
  background: #f7f5f0;
  border: 1px solid rgba(200,160,75,.14);
  transition: border-color .25s ease, transform .25s ease, background .25s ease;
}
.err404-links a i {
  color: var(--accent);
  font-size: 12px;
  transition: transform .25s ease;
}
.err404-links a:hover {
  background: #fff;
  border-color: rgba(200,160,75,.45);
  transform: translateX(3px);
  color: var(--dark);
}
.err404-links a:hover i {transform: translateX(3px)}
.err404-panel-cta {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(200,160,75,.16);
}
.err404-panel-cta p {
  margin: 0 0 12px;
  color: var(--slate);
  font-size: 14px;
}
.err404-panel-cta .btn-home-outline {
  background: var(--dark);
  border-color: var(--dark);
  color: #fff;
}
.err404-panel-cta .btn-home-outline:hover {
  background: #25D366;
  border-color: #25D366;
  color: #fff;
}
@keyframes err404Rise {
  from {opacity: 0; transform: translateY(16px)}
  to {opacity: 1; transform: translateY(0)}
}
@media (max-width: 991.98px) {
  .err404 {padding: 40px 0 56px; min-height: auto}
  .err404-layout {grid-template-columns: 1fr; gap: 28px}
}
@media (max-width: 575.98px) {
  .err404-actions .btn-home-primary,
  .err404-actions .btn-home-outline {width: 100%; justify-content: center}
  .err404-search {flex-wrap: wrap; padding: 10px}
  .err404-search-icon {display: none}
  .err404-search-input {width: 100%; padding: 8px 4px 12px}
  .err404-search-btn {width: 100%}
  .err404-title {font-size: 26px}
}


/* --- site extras (was inline in header) --- */
.one-line-ellipsis {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;}
.two-line-ellipsis {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
.three-line-ellipsis {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;}
.four-line-ellipsis {overflow: hidden;display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;}
.blog-item .blog-img img {height: 300px;object-fit: cover;}
.service-item {height: auto;min-height: 300px;padding: 0;}
.service-item img {object-fit: contain;height: 200px;overflow: hidden;}
.blog-title{font-size: 1.5rem}
.service-item .service-content {padding: 20px 30px 30px;min-height: 167px;}
.content-detail table {width: 100%;}
.carousel-item {margin-right: 0;}
.section-heading {font-size: 24px;}
.section-title {font-size: 22px;}
.productView-images {border: 1px solid #ebebeb;}
.productView-images #carousel-with-preview {border-bottom: 1px solid #ebebeb;}
.productView-images .carousel-preview {margin-top: 10px;margin-bottom: 10px;}
.productView-images .carousel-preview button {border: 1px solid #ccc;}
.productView .productView-title {font-size: 28px;}
.productView .productView-rating {color: #fccc00b3;}
.productView .productView-stock span {color: #86efac;}
.productView .productView-price {margin: 20px 0;}
.productView .productView-price .price {border: 1px solid #ebebeb;border-radius: 4px;padding: 10px;color: #dc3545;font-size: 19px;font-weight: 600;box-shadow: 0px 1px 3px 0px #0000001a;}
.productView .productView-info {display: flex;justify-content: space-between;margin-bottom: 0;}
.productView .productView-spe-head {font-size: 19px;color: #fff;background: #1B3A5C;text-align: center;border-radius: 5px;padding: 5px 10px;margin-bottom: 10px;}
.productView-button {margin-top: 15px;}
.productView-button a {border: 1px solid #1B3A5C;background-color: #1B3A5C;padding: 10px;color: #fff;border-radius: 4px;transition: all .5s ease-in-out;width: 25%;min-width: 150px;display: inline-block;text-align: center;}
.productView-button a:hover {color: #1B3A5C;background-color: #fff;}
.productView-tab .title {text-transform: uppercase;border-top: 1px solid #f1f1f1;font-size: 17px;font-weight: 600;color: #000;padding-top: 20px;}
.productView-tab .title>span {border-bottom: 1px solid #ebebeb;}
.productView-tab {position: relative;}
.page-tabs .tabs {display: flex;justify-content: space-around;}
.page-tabs .tabs .tab {background-color: #1B3A5C;width: 50%;border: 1px solid #1B3A5C;padding: 5px 10px;text-align: center;cursor: pointer;}
.page-tabs .tabs .tab.is-active {background-color: transparent;color: #fff;}
.page-tabs .tabs .tab.is-active .tab-title {color: #1B3A5C;}
.page-tabs .tabs .tab .tab-title {color: #fff;}
.page-tabs .tabs-contents .tab-content.is-active {display: block;background: aliceblue;}
.page-tabs .tabs-contents .tab-content {display: none;}
.price-range {color: #cd0000;font-weight: 500;}
.faq-section header {background-color: #F4F7FA;padding: 12px 12px;border-color: #F4F7FA;float: left;}
.comman {line-height: 1.2;font-weight: 600;color: #0C1A2E;font-family: "Nunito", sans-serif;font-size: 1.25rem;}
.faq-section header i {float: right;}
.faq-section .faq-description {padding: 12px 12px;}
.faq-section section[expanded] .faq-icon.show,.faq-section [data-accordion-item].is-open .faq-icon.show {visibility: hidden;}
.faq-section .faq-icon.hide {visibility: hidden;}
.faq-section section[expanded] .faq-icon.hide,.faq-section [data-accordion-item].is-open .faq-icon.hide {visibility: visible;}
.page-description.page-content {height: 300px;overflow: hidden;transition: all .5s ease-in-out;}
.page-description.page-content.active {height: 100%;overflow: hidden;}
.page-description.page-content table{ width: 100%;}
.productView-des-button {background-color: #ccc;position: absolute;width: 100%;bottom: 0;color: #000;}
.productView-des-button a {color: #000;}
.page-description.active~.productView-des-button .show-less {display: block;}
.page-description~.productView-des-button .show-less {display: none;padding: 10px;}
.page-description.active~.productView-des-button .show-more {display: none;}
.page-description~.productView-des-button .show-more {display: block;padding: 10px;}
.slideInUp .sidebar-title {font-size: 25px;font-weight: 700;color: #0C1A2E;}
.header-margin-bottom {height: 114px}
@media(max-width:991.98px) {.header-margin-bottom {height: 68px}}
@media(max-width:768px) {.display-1 {font-size: 25px}}
.float-icon-whatsapp a {text-decoration: none;position: fixed;width: 50px;height: 50px;bottom: 20px;right: 20px;background-color: #25d366;color: #fff;border-radius: 50px;text-align: center;font-size: 24px;box-shadow: 2px 2px 3px #999;z-index: 99999;display: flex;justify-content: center;align-items: center;}
.footer-heading {font-size: 25px;font-weight: 500;}
.bg-header a:hover {color: #fff;text-decoration: underline;}
.bg-header a.active:hover {color: #fff;text-decoration: none;}
.img-cover-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.img-contain{object-fit:contain;max-width:100%;height:auto;display:block}
body.quote-modal-open{overflow:hidden}
