/*
 * agx-core.css - Avant-Garde Pools & Spas Global AGX Core
 * Prefix: agx-
 * Scope: Global header, mobile menu, mobile action bar, and shared AGX tokens
 * Phase: 2 core architecture
 */

:root {
  --agx-bg-primary: #DCEAF2;
  --agx-bg-secondary: #FFFFFF;
  --agx-color-navy: #17324D;
  --agx-color-gold: #C9A96B;
  --agx-text-primary: #223548;
  --agx-text-secondary: #6E7D8B;
  --agx-font-heading: var(--ag-font-heading, 'Satoshi', sans-serif);
  --agx-font-body: var(--ag-font-body, 'Inter', sans-serif);
}

body {
  font-family: var(--agx-font-body);
  color: var(--agx-text-primary) !important;
  background: var(--agx-bg-secondary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  overflow-x: hidden;
}

body.agx-menu-open {
  overflow: hidden;
}

img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; font-family: inherit; }

/* =============================================
   HEADER SYSTEM (REFINED HEIGHT & ALIGNMENT)
   ============================================= */
.agx-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: rgba(220, 236, 244, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.46);
  z-index: 1000;
  display: flex;
  align-items: center;
  transition: height 240ms ease, background 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
  max-width: 100%;
  padding: 0;
}

.agx-site-header.scrolled {
  height: 90px;
  background: rgba(252, 252, 250, 0.96);
  box-shadow: 0 14px 40px rgba(23, 50, 77, 0.08);
  border-bottom-color: rgba(23, 50, 77, 0.1);
}

.agx-header-inner {
  position: relative;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: center;
  gap: clamp(36px, 3.5vw, 72px);
  padding-inline: clamp(32px, 4vw, 72px);
}

/* LOGO */
.agx-brand {
  align-self: center;
  justify-self: start;
  display: flex;
  align-items: center;
  width: clamp(92px, 6vw, 116px);
}

.agx-logo {
  width: 100%;
  max-height: 88px;
  object-fit: contain;
  display: block;
}

/* NAVIGATION */
.agx-nav-links {
  position: static;
  justify-self: center;
  display: flex;
  gap: clamp(28px, 2.5vw, 56px);
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  transform: none;
}

.agx-nav-links > a, .agx-nav-dropdown > a {
  font-family: var(--agx-font-heading);
  font-size: clamp(14px, 0.95vw, 17px);
  font-weight: 500;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: var(--agx-color-navy);
  position: relative;
  transition: color 0.3s ease;
  padding: 10px 0;
  white-space: nowrap;
}

.agx-nav-dropdown { position: relative; display: flex; align-items: center; }
.agx-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: rgba(255,255,255,0.98);
  border: 1px solid rgba(23,50,77,0.05);
  box-shadow: 0 10px 30px rgba(23,50,77,0.08);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 240px;
  opacity: 0;
  visibility: hidden;
  z-index: 9999;
  transition: all 0.3s ease;
}
.agx-nav-dropdown:hover .agx-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.agx-dropdown-menu a {
  font-family: var(--agx-font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--agx-text-primary);
  transition: color 0.2s ease;
  white-space: nowrap;
}
.agx-dropdown-menu a:hover { color: var(--agx-color-gold); }

/* ACTIONS */
.agx-header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: clamp(32px, 2.5vw, 48px);
  min-width: max-content;
  white-space: nowrap;
}

.agx-header-phone {
  font-family: var(--agx-font-body);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 1;
  color: var(--agx-color-navy);
  transition: color 0.3s ease;
  white-space: nowrap;
}

.agx-header-phone:hover {
  color: var(--agx-color-gold);
}

.agx-header-cta {
  font-family: var(--agx-font-body);
  font-size: clamp(13px, 0.82vw, 15px);
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--agx-color-navy);
  border: 2px solid var(--agx-color-navy);
  border-radius: 4px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(34px, 2.5vw, 54px);
  background: transparent;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
  white-space: nowrap;
  width: clamp(240px, 20vw, 410px);
  min-width: 240px;
}

.agx-header-cta:hover {
  background: var(--agx-color-navy);
  color: #ffffff;
  border-color: var(--agx-color-navy);
}

.agx-hamburger {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 7px;
  width: 56px;
  height: 56px;
  min-width: 56px;
  min-height: 56px;
  padding: 0 4px;
  background: transparent;
  border: 0;
  color: var(--agx-color-navy);
  cursor: pointer;
  line-height: 1;
  transition: color 0.3s ease;
}

.agx-hamburger span {
  display: block;
  width: 36px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: width 0.24s ease, opacity 0.24s ease, transform 0.24s ease;
}

.agx-hamburger span:nth-child(2) {
  width: 23px;
}

.agx-hamburger:hover,
.agx-hamburger:focus-visible {
  color: var(--agx-color-gold);
}

body.agx-menu-open .agx-hamburger span:nth-child(1) {
  width: 36px;
  transform: translateY(9px) rotate(45deg);
}

body.agx-menu-open .agx-hamburger span:nth-child(2) {
  opacity: 0;
  width: 0;
}

body.agx-menu-open .agx-hamburger span:nth-child(3) {
  width: 36px;
  transform: translateY(-9px) rotate(-45deg);
}

.agx-mobile-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  max-height: calc(100svh - 96px);
  overflow: auto;
  padding: 22px clamp(20px, 4vw, 40px) 28px;
  background: rgba(220, 236, 244, 0.96);
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.48);
  box-shadow: 0 22px 54px rgba(23, 50, 77, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.agx-mobile-menu a {
  display: block;
  padding: 14px 0;
  border-bottom: 1px solid rgba(23, 50, 77, 0.08);
  font-family: var(--agx-font-heading);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  color: var(--agx-color-navy);
}

.agx-mobile-dropdown {
  border-bottom: 1px solid rgba(23, 50, 77, 0.08);
}

.agx-mobile-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--agx-color-navy);
  font-family: var(--agx-font-heading);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.7px;
  text-align: left;
  text-transform: uppercase;
}

.agx-mobile-dropdown-toggle em {
  position: relative;
  display: block;
  width: 11px;
  height: 11px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-3px) rotate(45deg);
  transition: transform 0.24s ease;
}

.agx-mobile-dropdown-toggle:hover,
.agx-mobile-dropdown-toggle:focus-visible {
  color: var(--agx-color-gold);
}

.agx-mobile-dropdown.is-open .agx-mobile-dropdown-toggle em {
  transform: translateY(3px) rotate(225deg);
}

.agx-mobile-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s ease;
}

.agx-mobile-dropdown.is-open .agx-mobile-submenu {
  max-height: 420px;
}

.agx-mobile-submenu a {
  padding: 11px 0 11px 16px;
  border-bottom: 0;
  color: rgba(23, 50, 77, 0.78);
  font-size: 12px;
  letter-spacing: 1.25px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.agx-mobile-dropdown.is-open .agx-mobile-submenu a {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.agx-mobile-menu a:hover,
.agx-mobile-menu a:focus-visible {
  color: var(--agx-color-gold);
}

.agx-mobile-menu-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.agx-mobile-menu-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid var(--agx-color-navy);
  font-family: var(--agx-font-body);
  font-size: 12px;
  letter-spacing: 1.2px;
  text-align: center;
}

.agx-mobile-menu-actions .agx-mobile-cta {
  background: var(--agx-color-navy);
  color: #ffffff;
}

.agx-mobile-menu-actions .agx-mobile-phone {
  color: var(--agx-color-navy);
}

.agx-mobile-action-bar {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 990;
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 58px;
  overflow: hidden;
  border: 1px solid rgba(23, 50, 77, 0.1);
  border-radius: 6px;
  background: rgba(252, 252, 250, 0.95);
  box-shadow: 0 18px 48px rgba(23, 50, 77, 0.2);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.agx-mobile-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 12px;
  font-family: var(--agx-font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.8px;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.agx-mobile-action--call {
  background: rgba(255, 255, 255, 0.86);
  color: var(--agx-color-navy);
}

.agx-mobile-action--consult {
  background: var(--agx-color-navy);
  color: #ffffff;
}

.agx-mobile-action:active {
  transform: scale(0.985);
}

/* =============================================
   RESPONSIVE BREAKPOINTS (ALIGNMENT LOCK)
   ============================================= */

@media (max-width: 1365px) and (min-width: 1180px) {
  .agx-header-inner {
    width: 100%;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr) max-content;
    gap: 24px;
    padding-inline: clamp(28px, 3vw, 48px);
  }
  .agx-brand { width: clamp(88px, 6vw, 104px); }
  .agx-nav-links { gap: clamp(18px, 1.6vw, 28px); }
  .agx-nav-links > a, .agx-nav-dropdown > a { font-size: clamp(13px, 0.95vw, 15px); letter-spacing: 1.8px; }
  .agx-header-actions { gap: clamp(18px, 1.6vw, 24px); }
  .agx-header-phone { font-size: 15px; letter-spacing: 1.2px; }
  .agx-header-cta { width: auto; min-width: 240px; padding: 0 28px; font-size: 13px; letter-spacing: 2.2px; }
}

@media (max-width: 1179px) and (min-width: 1024px) {
  .agx-header-inner {
    width: 100%;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr) max-content;
    gap: 22px;
    padding-inline: clamp(24px, 3vw, 40px);
  }
  .agx-brand { width: 92px; }
  .agx-header-phone { display: none !important; }
  .agx-nav-links { gap: clamp(16px, 1.7vw, 24px); }
  .agx-nav-links > a, .agx-nav-dropdown > a { font-size: 13px; letter-spacing: 1.6px; }
  .agx-header-cta { height: 56px; width: auto; min-width: 240px; padding: 0 24px; font-size: 12px; letter-spacing: 2.2px; }
}

@media (max-width: 1023px) {
  body {
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
  }
  .agx-site-header { height: 80px; }
  .agx-header-inner {
    width: 100%;
    max-width: none;
    grid-template-columns: auto auto;
    justify-content: stretch;
    gap: 16px;
    padding-inline: clamp(20px, 4vw, 40px);
  }
  .agx-brand { width: clamp(92px, 16vw, 118px); }
  .agx-nav-links { display: none !important; }
  .agx-header-phone { display: none !important; }
  .agx-header-cta { display: none !important; }
  .agx-hamburger { display: flex; margin-left: 0; }
  .agx-header-actions { justify-self: end; gap: 0; }
  .agx-mobile-menu { display: block; }
  .agx-mobile-action-bar { display: grid; }
  body.agx-menu-open .agx-site-header { background: rgba(220, 236, 244, 0.96); }
  body.agx-menu-open .agx-mobile-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .agx-site-header { height: 85px; }
  .agx-site-header.scrolled { height: 85px; }
  .agx-header-inner {
    width: 100%;
    max-width: none;
    padding-left: 6px;
    padding-right: 14px;
  }
  .agx-brand { width: clamp(72px, 23vw, 94px); }
  .agx-header-actions { justify-self: end; }
  .agx-hamburger { margin-right: -4px; }
  .agx-mobile-menu {
    max-height: calc(100svh - 84px);
    padding: 18px 20px 24px;
  }
  .agx-mobile-menu-actions {
    grid-template-columns: 1fr;
  }
  .agx-mobile-action-bar {
    left: 14px;
    right: 14px;
    min-height: 56px;
    border-radius: 6px;
  }
  .agx-mobile-action {
    min-height: 56px;
    font-size: 11px;
    letter-spacing: 1.1px;
  }
}

:root {
  --ag-header-height: 100px;
}

@media (max-width: 1023px) {
  :root {
    --ag-header-height: 84px;
  }
}

/* =============================================
   AUTHORITATIVE FIXED HEADER OFFSET RULE
   ============================================= */
.ag-has-fixed-header-offset,
.ag-generic-page,
.ag-about-page,
.ag-services-page,
.ag-service-areas-page,
.ag-portfolio-page,
.ag-contact-page,
.ag-cost-page-main,
.agx-guide,
.agx-destination {
  padding-top: var(--ag-header-height);
}

/* =============================================
   AUTHORITATIVE GLOBAL FOOTER SYSTEM
   ============================================= */
.ag-site-footer,
.agx-site-footer,
.ag-site-footer.agx-site-footer {
  position: relative !important;
  z-index: 50 !important;
  margin: 0 !important;
  padding: clamp(56px, 6vw, 88px) 0 28px !important;
  background: linear-gradient(180deg, #eef7fb 0%, #fcfcfa 100%) !important;
  color: var(--agx-color-navy, #10293f) !important;
  border-top: 1px solid rgba(23, 50, 77, 0.1) !important;
}

.ag-site-footer .ag-container,
.agx-site-footer .ag-container,
.ag-site-footer.agx-site-footer .ag-container {
  width: min(1680px, calc(100% - clamp(32px, 6vw, 96px))) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

.ag-site-footer .ag-footer-grid,
.agx-site-footer .ag-footer-grid,
.ag-site-footer.agx-site-footer .ag-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.2fr) minmax(230px, 1fr) minmax(170px, 0.75fr) minmax(180px, 0.8fr) minmax(190px, 0.85fr) !important;
  align-items: start !important;
  gap: clamp(28px, 3.2vw, 60px) !important;
  padding-bottom: clamp(34px, 4vw, 52px) !important;
  border-bottom: 1px solid rgba(23, 50, 77, 0.1) !important;
}

.ag-site-footer .ag-footer-brand,
.agx-site-footer .ag-footer-brand,
.ag-site-footer.agx-site-footer .ag-footer-brand {
  display: grid !important;
  gap: 22px !important;
}

.ag-site-footer .ag-footer-logo,
.agx-site-footer .ag-footer-logo,
.ag-site-footer.agx-site-footer .ag-footer-logo {
  display: inline-flex !important;
  width: auto !important;
  max-width: 140px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ag-site-footer .ag-footer-logo img,
.agx-site-footer .ag-footer-logo img,
.ag-site-footer.agx-site-footer .ag-footer-logo img {
  display: block !important;
  width: 132px !important;
  height: auto !important;
}

.ag-site-footer p,
.agx-site-footer p,
.ag-site-footer.agx-site-footer p {
  margin: 0 !important;
  color: rgba(23, 50, 77, 0.7) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.ag-site-footer .ag-footer-contact,
.agx-site-footer .ag-footer-contact,
.ag-site-footer.agx-site-footer .ag-footer-contact {
  display: grid !important;
  gap: 8px !important;
}

.ag-site-footer .ag-footer-contact a,
.ag-site-footer .ag-footer-contact span,
.agx-site-footer .ag-footer-contact a,
.agx-site-footer .ag-footer-contact span,
.ag-site-footer.agx-site-footer .ag-footer-contact a,
.ag-site-footer.agx-site-footer .ag-footer-contact span {
  display: block !important;
  margin: 0 !important;
  color: var(--agx-color-gold, #c8a96b) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.ag-site-footer h2,
.agx-site-footer h2,
.ag-site-footer.agx-site-footer h2 {
  margin: 0 0 18px !important;
  color: var(--agx-color-navy, #10293f) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.18em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.ag-site-footer a,
.agx-site-footer a,
.ag-site-footer.agx-site-footer a {
  display: block !important;
  margin: 0 0 11px !important;
  color: rgba(23, 50, 77, 0.68) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  text-decoration: none !important;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
}

.ag-site-footer a:hover,
.ag-site-footer a:focus-visible,
.agx-site-footer a:hover,
.agx-site-footer a:focus-visible,
.ag-site-footer.agx-site-footer a:hover,
.ag-site-footer.agx-site-footer a:focus-visible {
  color: var(--agx-color-gold, #c8a96b) !important;
}

.ag-site-footer .ag-footer-social-heading,
.agx-site-footer .ag-footer-social-heading,
.ag-site-footer.agx-site-footer .ag-footer-social-heading {
  margin-top: 30px !important;
}

.ag-site-footer .ag-footer-social-icons,
.agx-site-footer .ag-footer-social-icons,
.ag-site-footer.agx-site-footer .ag-footer-social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 28px !important;
}

.ag-site-footer .ag-footer-social-icons a,
.agx-site-footer .ag-footer-social-icons a,
.ag-site-footer.agx-site-footer .ag-footer-social-icons a {
  display: inline-flex !important;
  width: auto !important;
  min-width: 40px !important;
  height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 11px !important;
  border: 1px solid rgba(23, 50, 77, 0.16) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--agx-color-navy, #10293f) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

.ag-site-footer .ag-footer-social-icons a:hover,
.ag-site-footer .ag-footer-social-icons a:focus-visible,
.agx-site-footer .ag-footer-social-icons a:hover,
.agx-site-footer .ag-footer-social-icons a:focus-visible,
.ag-site-footer.agx-site-footer .ag-footer-social-icons a:hover,
.ag-site-footer.agx-site-footer .ag-footer-social-icons a:focus-visible {
  border-color: var(--agx-color-gold, #c8a96b) !important;
  background: var(--agx-color-navy, #10293f) !important;
  color: #fff !important;
}

.ag-site-footer .ag-footer-bottom,
.agx-site-footer .ag-footer-bottom,
.ag-site-footer.agx-site-footer .ag-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  padding-top: 24px !important;
}

.ag-site-footer .ag-footer-bottom p,
.ag-site-footer .ag-footer-bottom nav a,
.agx-site-footer .ag-footer-bottom p,
.agx-site-footer .ag-footer-bottom nav a,
.ag-site-footer.agx-site-footer .ag-footer-bottom p,
.ag-site-footer.agx-site-footer .ag-footer-bottom nav a {
  color: rgba(23, 50, 77, 0.62) !important;
  font-size: 13px !important;
}

.ag-site-footer .ag-footer-bottom nav,
.agx-site-footer .ag-footer-bottom nav,
.ag-site-footer.agx-site-footer .ag-footer-bottom nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
}

.ag-site-footer .ag-footer-bottom nav a,
.agx-site-footer .ag-footer-bottom nav a,
.ag-site-footer.agx-site-footer .ag-footer-bottom nav a {
  margin: 0 !important;
}

@media (max-width: 1180px) {
  .ag-site-footer .ag-footer-grid,
  .agx-site-footer .ag-footer-grid,
  .ag-site-footer.agx-site-footer .ag-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .ag-site-footer,
  .agx-site-footer,
  .ag-site-footer.agx-site-footer {
    padding: 52px 0 104px !important;
  }

  .ag-site-footer .ag-container,
  .agx-site-footer .ag-container,
  .ag-site-footer.agx-site-footer .ag-container {
    width: min(100% - 28px, 680px) !important;
  }

  .ag-site-footer .ag-footer-grid,
  .agx-site-footer .ag-footer-grid,
  .ag-site-footer.agx-site-footer .ag-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .ag-site-footer .ag-footer-bottom,
  .agx-site-footer .ag-footer-bottom,
  .ag-site-footer.agx-site-footer .ag-footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* Process Rail Layout & Centering (Guaranteed 14 Steps Fit) */
.agx-process-journey {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  width: 100%;
  padding-block: 60px 100px;
}

.agx-process-rail {
  --process-rail-progress: 0%;
  position: sticky !important;
  top: var(--ag-header-height, 80px) !important;
  left: 0 !important;
  z-index: 10 !important;
  align-self: start !important;
  height: auto !important;
  max-height: calc(100vh - var(--ag-header-height, 80px) - 10px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-right: 1px solid rgba(23, 50, 77, 0.14) !important;
  background: rgba(252, 252, 250, 0.98) !important;
  box-shadow: 12px 0 28px rgba(16, 41, 63, 0.035) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
}

.agx-process-rail::before,
.agx-process-rail::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 36px !important;
  width: 1px !important;
  transform: translateX(-50%) !important;
  z-index: -1 !important;
}

.agx-process-rail::before {
  bottom: 12px !important;
  background: rgba(23, 50, 77, 0.12) !important;
}

.agx-process-rail::after {
  height: calc((100% - 48px) * var(--process-rail-progress) / 100%) !important;
  background: var(--agx-color-gold) !important;
  transition: height 220ms ease !important;
}

.agx-process-rail__label {
  margin-bottom: 2px !important;
  color: #82909c !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.agx-process-rail a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: none !important;
  color: #8b98a3 !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  margin: 1px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  transition: color 180ms ease, border-color 180ms ease, transform 180ms ease, background 180ms ease !important;
}

.agx-process-rail a:hover,
.agx-process-rail a:focus-visible {
  color: #10293f !important;
}

.agx-process-rail a.is-active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  color: #10293f !important;
  background: #fff8e9 !important;
  border: 1px solid var(--agx-color-gold, #c8a96b) !important;
  box-shadow: 0 2px 6px rgba(200, 169, 107, 0.25) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* High-End Responsive Modal Lightbox Popup */
.ag-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: rgba(8, 20, 32, 0.94) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 280ms ease, visibility 280ms ease !important;
  box-sizing: border-box !important;
}

.ag-lightbox.is-active,
.ag-lightbox:not([hidden]) {
  opacity: 1 !important;
  visibility: visible !important;
}

.ag-lightbox[hidden] {
  display: none !important;
}

.ag-lightbox-inner {
  position: relative !important;
  max-width: 92vw !important;
  max-height: 88vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.ag-lightbox-img {
  max-width: 90vw !important;
  max-height: 78vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  transition: transform 300ms ease !important;
}

.ag-lightbox-caption {
  margin-top: 14px !important;
  color: #f4f6f8 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6) !important;
}

.ag-lightbox-close {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 1000000 !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  font-size: 26px !important;
  font-weight: 300 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  line-height: 1 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
  transition: all 200ms ease !important;
}

.ag-lightbox-close:hover,
.ag-lightbox-close:focus-visible {
  background: #ffffff !important;
  color: #10293f !important;
  transform: scale(1.1) rotate(90deg) !important;
}

/* Portfolio Page Alternating 2-Images Per Row Grid */
.ag-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.ag-gallery-grid > br,
.ag-gallery-grid > p:empty {
  display: none !important;
}

.ag-gallery-grid a.ag-gallery-item {
  position: relative !important;
  display: block !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #10293f !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease !important;
}

.ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 1) {
  grid-column: span 7 !important;
  min-height: 420px !important;
  height: 420px !important;
}

.ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 2) {
  grid-column: span 5 !important;
  min-height: 420px !important;
  height: 420px !important;
}

.ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 3) {
  grid-column: span 5 !important;
  min-height: 420px !important;
  height: 420px !important;
}

.ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 4) {
  grid-column: span 7 !important;
  min-height: 420px !important;
  height: 420px !important;
}

@media (max-width: 768px) {
  .ag-gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .ag-gallery-grid a.ag-gallery-item,
  .ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 1),
  .ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 2),
  .ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 3),
  .ag-gallery-grid a.ag-gallery-item:nth-of-type(4n + 4) {
    grid-column: span 1 !important;
    min-height: 200px !important;
    height: 200px !important;
  }

  .ag-lightbox-close {
    top: 14px !important;
    right: 14px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 22px !important;
  }
}

/* Full-Width Service Page & Hero Banner Enforcement */
.ag-service-detail-page,
.ag-service-detail-page > section,
.ag-subhero,
.ag-subhero--light,
.agx-hero,
.ag-page-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ag-service-detail-page .entry-header,
.ag-service-detail-page .entry-title {
  display: none !important;
}

/* Appointment Modal Submit Button Visibility & Height Fix */
.agx-appointment-modal__panel {
  max-height: min(90svh, 840px) !important;
}

.agx-appointment-modal__form {
  overflow-y: auto !important;
  padding-bottom: 64px !important;
}

.agx-appointment-modal .ag-btn--navy,
.agx-appointment-modal .ag-lead-form button[type="submit"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 18px !important;
  margin-bottom: 12px !important;
  border-radius: 4px !important;
  background: #17324d !important;
  color: #ffffff !important;
  font-family: var(--agx-font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(23, 50, 77, 0.25) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.agx-appointment-modal .ag-btn--navy:hover,
.agx-appointment-modal .ag-lead-form button[type="submit"]:hover {
  background: #c8a96b !important;
  color: #17324d !important;
}

/* Authoritative Contact Form & White Card Reference Match */
.ag-contact-page #contact {
  padding: clamp(48px, 6vw, 84px) 0 !important;
  background: #fcfcfa !important;
}

.ag-contact-layout {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.82fr) minmax(540px, 1.18fr) !important;
  gap: clamp(36px, 5vw, 76px) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
}

.ag-contact-details h2 {
  font-family: var(--agx-font-heading, 'Satoshi', sans-serif) !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  color: #10293f !important;
  letter-spacing: -0.02em !important;
  margin: 12px 0 16px !important;
}

.ag-contact-details p {
  color: #526b80 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.ag-contact-aside {
  margin-top: 36px !important;
  padding: 22px 26px !important;
  border-left: 3px solid #c8a96b !important;
  background: #eef7fb !important;
  border-radius: 8px !important;
}

.ag-contact-aside p {
  margin: 0 0 10px !important;
  color: #10293f !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.ag-contact-aside p:last-child {
  margin-bottom: 0 !important;
}

.ag-form-shell {
  width: 100% !important;
  padding: clamp(32px, 4vw, 52px) !important;
  border: 1px solid rgba(16, 41, 63, 0.08) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 60px rgba(16, 41, 63, 0.07) !important;
  box-sizing: border-box !important;
}

.ag-lead-form .ag-form-grid,
.ag-contact-form-grid,
.ag-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ag-lead-form label:not(.ag-form-full):not(.ag-honeypot) {
  grid-column: span 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.ag-lead-form label.ag-form-full,
.ag-form-full {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 16px 0 0 !important;
  box-sizing: border-box !important;
}

.ag-lead-form span {
  color: #10293f !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
  display: block !important;
}

.ag-lead-form input,
.ag-lead-form select {
  width: 100% !important;
  min-height: 50px !important;
  height: 50px !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(16, 41, 63, 0.16) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #10293f !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 180ms ease, box-shadow 180ms ease !important;
}

.ag-lead-form textarea {
  width: 100% !important;
  min-height: 120px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(16, 41, 63, 0.16) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #10293f !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 180ms ease, box-shadow 180ms ease !important;
}

.ag-lead-form input:focus,
.ag-lead-form select:focus,
.ag-lead-form textarea:focus {
  border-color: #c8a96b !important;
  box-shadow: 0 0 0 4px rgba(200, 169, 107, 0.18) !important;
}

.ag-lead-form button[type="submit"] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 56px !important;
  margin-top: 22px !important;
  border-radius: 6px !important;
  background: #10293f !important;
  color: #ffffff !important;
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(16, 41, 63, 0.2) !important;
  transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease !important;
}

.ag-lead-form button[type="submit"]:hover {
  background: #c8a96b !important;
  color: #10293f !important;
  box-shadow: 0 6px 20px rgba(200, 169, 107, 0.3) !important;
}

/* Neutralize all wpautop injected linebreaks in forms */
.ag-lead-form br,
.ag-form-shell br,
.ag-form-grid > br,
.ag-contact-layout br:not(.ag-keep-br) {
  display: none !important;
}

.ag-form-grid > p {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 991px) {
  .ag-contact-layout {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

@media (max-width: 767px) {
  .ag-lead-form .ag-form-grid,
  .ag-contact-form-grid,
  .ag-form-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* Process Page Mobile Hero Top Margin Fix & Step Numbers Visible on Mobile & Desktop */
  .agx-process-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .agx-process-panel__number {
    display: block !important;
    margin-bottom: 16px !important;
    font-family: var(--agx-font-heading) !important;
    font-size: clamp(48px, 12vw, 64px) !important;
    font-weight: 300 !important;
    color: #c8a96b !important;
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Portfolio Page Hero Banner Display Enforcement */
.ag-portfolio-page .ag-subhero {
  display: grid !important;
  position: relative !important;
  min-height: 480px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Luxury Lightbox Popup Gallery Slider CSS */
.ag-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(7, 21, 34, 0.94) !important;
  backdrop-filter: blur(12px) !important;
  opacity: 0 !important;
  transition: opacity 220ms ease !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.ag-lightbox.is-active {
  opacity: 1 !important;
}

.ag-lightbox[hidden] {
  display: none !important;
}

.ag-lightbox-inner {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 92vw !important;
  max-height: 86vh !important;
}

.ag-lightbox-img {
  max-width: 90vw !important;
  max-height: 75vh !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6) !important;
  transition: opacity 180ms ease, transform 180ms ease !important;
}

.ag-lightbox-info {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 14px !important;
  color: #ffffff !important;
}

.ag-lightbox-counter {
  font-family: var(--agx-font-heading, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: #c8a96b !important;
  background: rgba(255, 255, 255, 0.1) !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
}

.ag-lightbox-caption {
  font-family: var(--agx-font-heading, sans-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}

.ag-lightbox-close {
  position: absolute !important;
  top: 24px !important;
  right: 28px !important;
  z-index: 10 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 200ms ease, color 200ms ease, transform 200ms ease !important;
}

.ag-lightbox-close:hover {
  background: #c8a96b !important;
  color: #10293f !important;
  transform: rotate(90deg) !important;
}

.ag-lightbox-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 24px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 200ms ease, color 200ms ease, transform 200ms ease !important;
}

.ag-lightbox-prev {
  left: 28px !important;
}

.ag-lightbox-next {
  right: 28px !important;
}

.ag-lightbox-nav:hover {
  background: #c8a96b !important;
  color: #10293f !important;
  transform: translateY(-50%) scale(1.08) !important;
}

@media (max-width: 767px) {
  .ag-lightbox-close {
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 22px !important;
  }
  .ag-lightbox-nav {
    width: 42px !important;
    height: 42px !important;
    font-size: 18px !important;
  }
  .ag-lightbox-prev { left: 10px !important; }
  .ag-lightbox-next { right: 10px !important; }
}

/* Master Location & Destination Pages Design System */
.agx-dest-hero,
.agx-hero {
  position: relative !important;
  background: #10293f !important;
  color: #ffffff !important;
  padding: clamp(70px, 7vw, 120px) 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.agx-dest-hero-content,
.agx-hero-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1100px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.agx-dest-hero-eyebrow,
.agx-hero-eyebrow {
  display: inline-block !important;
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  color: #c8a96b !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

.agx-dest-hero-headline,
.agx-hero-headline {
  font-family: var(--agx-font-heading, serif) !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  margin: 0 0 20px 0 !important;
}

.agx-dest-hero-subheadline,
.agx-hero-subheadline {
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: clamp(16px, 1.4vw, 20px) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  line-height: 1.6 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}

/* Location Section Wrappers */
.agx-section {
  padding: clamp(48px, 6vw, 84px) 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.agx-section--white {
  background: #ffffff !important;
  color: #10293f !important;
}

.agx-section--sky {
  background: #f0f7fb !important;
  color: #10293f !important;
}

.agx-section--navy {
  background: #10293f !important;
  color: #ffffff !important;
}

.agx-dest-container,
.agx-section__inner {
  max-width: 1240px !important;
  margin-inline: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.agx-heading__title {
  font-family: var(--agx-font-heading, serif) !important;
  font-size: clamp(26px, 3.5vw, 42px) !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
  color: inherit !important;
}

.agx-heading__body {
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: inherit !important;
  opacity: 0.9 !important;
}

/* Location Market Cards & Grids - Matched to Reference Spec */
.agx-location__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin-top: 36px !important;
}

@media (max-width: 1024px) {
  .agx-location__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 767px) {
  .agx-location__grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.agx-location__card {
  background: #ffffff !important;
  border: 1px solid rgba(16, 41, 63, 0.08) !important;
  border-top: 3px solid transparent !important;
  border-radius: 12px !important;
  padding: 34px 28px 28px 28px !important;
  box-shadow: 0 4px 20px rgba(16, 41, 63, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative !important;
  transition: all 220ms ease !important;
}

.agx-location__card:hover,
.agx-location__card.is-expanded {
  border-color: #c8a96b !important;
  border-top: 3px solid #c8a96b !important;
  box-shadow: 0 12px 36px rgba(16, 41, 63, 0.08) !important;
  transform: translateY(-4px) !important;
}

.agx-location__title {
  font-family: var(--agx-font-heading, serif) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #10293f !important;
  line-height: 1.3 !important;
  margin: 0 0 16px 0 !important;
}

.agx-location__card p {
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #5a6a7e !important;
  margin: 0 0 24px 0 !important;
}

.agx-location__read-more {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: #10293f !important;
  cursor: pointer !important;
  display: inline-block !important;
  align-self: flex-start !important;
  margin-top: auto !important;
  transition: color 200ms ease !important;
}

.agx-location__read-more:hover {
  color: #c8a96b !important;
}

.agx-location__services {
  color: #10293f !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 180ms ease !important;
}

.agx-location__services:hover {
  color: #c8a96b !important;
}

/* Homepage Hero Banner System - Matched to Reference Spec */
.agx-hero {
  position: relative !important;
  height: calc(100vh - 90px) !important;
  min-height: min(720px, 85vh) !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background-color: #10293f !important;
  margin-top: 90px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.agx-hero-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 0 !important;
}

.agx-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(7, 21, 34, 0.55) 0%, rgba(7, 21, 34, 0.25) 45%, rgba(7, 21, 34, 0) 100%) !important;
  z-index: 1 !important;
}

/* Master Header Banner & Subhero Alignment System */
.ag-subhero,
.ag-page-hero,
.agx-dest-hero,
body:not(.home):not(.front-page) .agx-hero {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

.ag-subhero-content,
.ag-page-hero-content,
.agx-dest-hero-content,
body:not(.home):not(.front-page) .agx-hero-content {
  text-align: center !important;
  margin-inline: auto !important;
  max-width: 1100px !important;
  width: 100% !important;
}

.ag-subhero-title,
.ag-subhero-headline,
.ag-page-hero-title,
.ag-page-hero-headline,
.agx-dest-hero-headline,
body:not(.home):not(.front-page) .agx-hero-headline {
  text-align: center !important;
  margin-inline: auto !important;
  max-width: 950px !important;
  width: 100% !important;
  display: block !important;
}

.ag-subhero-sub,
.ag-subhero-subheadline,
.ag-page-hero-sub,
.ag-page-hero-subheadline,
.agx-dest-hero-subheadline,
body:not(.home):not(.front-page) .agx-hero-subheadline {
  text-align: center !important;
  margin-inline: auto !important;
  max-width: 820px !important;
}

.ag-subhero-eyebrow,
.ag-page-hero-eyebrow,
.agx-dest-hero-eyebrow,
body:not(.home):not(.front-page) .agx-hero-eyebrow {
  text-align: center !important;
  margin-inline: auto !important;
  display: inline-block !important;
}

/* Homepage Only Left-Aligned Hero System */
body.home .agx-hero-content,
body.front-page .agx-hero-content {
  text-align: left !important;
}

body.home .agx-hero-headline,
body.front-page .agx-hero-headline {
  text-align: left !important;
  margin-inline: 0 !important;
}

body.home .agx-hero-subheadline,
body.front-page .agx-hero-subheadline {
  text-align: left !important;
  margin-inline: 0 !important;
}

body.home .agx-trust-line,
body.front-page .agx-trust-line {
  text-align: left !important;
}

/* Master FAQ Accordion System - Matched to Reference Spec */
.agx-location-faq-section,
.agx-faq-section {
  background-color: #eef7fb !important;
  padding: clamp(60px, 7vw, 96px) 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.agx-faq-accordion {
  max-width: 920px !important;
  margin: 36px auto 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}

details.agx-faq-item,
.agx-faq-item {
  background: #ffffff !important;
  border-radius: 8px !important;
  border: 1px solid rgba(16, 41, 63, 0.08) !important;
  box-shadow: 0 2px 10px rgba(16, 41, 63, 0.03) !important;
  overflow: hidden !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

details.agx-faq-item:hover,
details.agx-faq-item[open] {
  border-color: #c8a96b !important;
  box-shadow: 0 6px 20px rgba(16, 41, 63, 0.06) !important;
}

summary.agx-faq-summary,
.agx-faq-summary {
  padding: 22px 28px !important;
  font-family: var(--agx-font-heading, serif) !important;
  font-size: clamp(16px, 1.2vw, 19px) !important;
  font-weight: 500 !important;
  color: #10293f !important;
  cursor: pointer !important;
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  user-select: none !important;
  outline: none !important;
  text-align: left !important;
}

summary.agx-faq-summary::-webkit-details-marker {
  display: none !important;
}

summary.agx-faq-summary::after {
  content: "+" !important;
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  color: #c8a96b !important;
  line-height: 1 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  transition: transform 250ms ease, color 250ms ease !important;
}

details[open] summary.agx-faq-summary::after {
  content: "−" !important;
  color: #10293f !important;
  font-weight: 400 !important;
}

.agx-faq-content {
  padding: 0 28px 24px 28px !important;
  text-align: left !important;
}

.agx-faq-content p {
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #5a6a7e !important;
  margin: 0 !important;
}

/* Master Final CTA Section System - Matched to Reference Spec */
.agx-cta-final {
  background-color: #ffffff !important;
  padding: clamp(80px, 8vw, 130px) 24px !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.agx-cta-final__divider {
  width: 50px !important;
  height: 2px !important;
  background-color: #c8a96b !important;
  margin: 0 auto 36px auto !important;
}

.agx-cta-final__headline {
  font-family: var(--agx-font-heading, serif) !important;
  font-size: clamp(32px, 4.2vw, 54px) !important;
  font-weight: 300 !important;
  color: #10293f !important;
  line-height: 1.15 !important;
  margin: 0 0 18px 0 !important;
  text-align: center !important;
}

.agx-cta-final__sub {
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: clamp(15px, 1.2vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #5a6a7e !important;
  max-width: 680px !important;
  margin: 0 auto 40px auto !important;
  text-align: center !important;
}

.agx-cta-final__btns {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

.agx-cta-final .agx-btn,
.agx-cta-final .agx-btn--primary,
.agx-cta-final .agx-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--agx-font-body, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  height: 52px !important;
  min-width: 220px !important;
  padding: 0 38px !important;
  border-radius: 4px !important;
  background-color: #10293f !important;
  color: #ffffff !important;
  border: 1px solid #10293f !important;
  box-shadow: 0 4px 18px rgba(16, 41, 63, 0.12) !important;
  transition: all 250ms ease !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.agx-cta-final .agx-btn:hover,
.agx-cta-final .agx-btn--primary:hover,
.agx-cta-final .agx-btn-primary:hover {
  background-color: #c8a96b !important;
  color: #10293f !important;
  border-color: #c8a96b !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(200, 169, 107, 0.3) !important;
}

/* =============================================
   MASTER SERVICE AREAS PAGE SYSTEM (ASYMMETRIC GRID)
   ============================================= */

/* Section 2: Intro & Market Notes Panel */
.ag-service-area-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr) !important;
  gap: clamp(32px, 5vw, 64px) !important;
  align-items: start !important;
  margin-bottom: clamp(40px, 5vw, 64px) !important;
}

.ag-service-area-intro h2 {
  font-family: var(--agx-font-heading, Satoshi, "DM Sans", serif) !important;
  font-size: clamp(32px, 3.8vw, 54px) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  color: #10293f !important;
  margin-bottom: 20px !important;
}

.ag-service-area-intro p:not(.ag-service-area-label) {
  font-family: var(--agx-font-body, Inter, sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #5a6a7e !important;
}

.ag-service-area-label {
  color: #c8a96b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 12px !important;
}

.ag-market-note-panel {
  display: grid !important;
  gap: 16px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ag-market-note-panel div {
  background: #ffffff !important;
  padding: 24px 28px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(16, 41, 63, 0.08) !important;
  border-left: 4px solid #c8a96b !important;
  box-shadow: 0 10px 30px rgba(16, 41, 63, 0.04) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.ag-market-note-panel div:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(16, 41, 63, 0.08) !important;
}

.ag-market-note-panel strong {
  display: block !important;
  color: #10293f !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

.ag-market-note-panel span {
  color: #5a6a7e !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Background Images Cards Section (Asymmetric 2-Column Grid) */
.ag-service-area-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
}

/* Explicit class-based sizing for 100% immunity against WP <p> tag injections */
.ag-service-area-card.ag-card--large,
.ag-card--large {
  grid-column: span 2 !important;
}

.ag-service-area-card.ag-card--small,
.ag-card--small {
  grid-column: span 1 !important;
}

/* Fallback nth-child rules */
.ag-service-area-grid > *:nth-child(1) { grid-column: span 2 !important; }
.ag-service-area-grid > *:nth-child(2) { grid-column: span 1 !important; }
.ag-service-area-grid > *:nth-child(3) { grid-column: span 1 !important; }
.ag-service-area-grid > *:nth-child(4) { grid-column: span 2 !important; }
.ag-service-area-grid > *:nth-child(5) { grid-column: span 2 !important; }
.ag-service-area-grid > *:nth-child(6) { grid-column: span 1 !important; }

/* Card Styling */
.ag-service-area-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: 380px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 20px 48px rgba(16, 41, 63, 0.14) !important;
  text-decoration: none !important;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
}

.ag-service-area-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 28px 64px rgba(16, 41, 63, 0.22) !important;
}

.ag-service-area-card picture,
.ag-service-area-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 1 !important;
}

.ag-service-area-card img {
  transition: transform 0.8s ease, filter 0.8s ease !important;
}

.ag-service-area-card:hover img {
  transform: scale(1.06) !important;
}

.ag-service-area-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: linear-gradient(180deg, rgba(16, 41, 63, 0.15) 0%, rgba(16, 41, 63, 0.88) 100%) !important;
}

.ag-service-area-card-content {
  position: relative !important;
  z-index: 3 !important;
  padding: 32px 36px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  color: #ffffff !important;
}

.ag-service-area-card-content span {
  font-family: var(--agx-font-heading, Satoshi, serif) !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}

.ag-service-area-card-content p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  max-width: 540px !important;
}

.ag-service-area-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.ag-service-area-tags em {
  display: inline-block !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}

.ag-service-area-card-content strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #c8a96b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-top: 6px !important;
  transition: color 0.3s ease !important;
}

.ag-service-area-card:hover .ag-service-area-card-content strong {
  color: #ffffff !important;
}

@media (max-width: 991px) {
  .ag-service-area-intro {
    grid-template-columns: 1fr !important;
  }
  .ag-service-area-grid {
    grid-template-columns: 1fr !important;
  }
  .ag-service-area-grid > * {
    grid-column: span 1 !important;
  }
}

/* =============================================
   AUTHORITATIVE HOMEPAGE HERO BANNER SYSTEM
   (Matched 100% to Reference Screenshot)
   ============================================= */
body.home .agx-hero,
body.front-page .agx-hero {
  position: relative !important;
  height: calc(100vh - 90px) !important;
  min-height: min(720px, 85vh) !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background-color: #10293f !important;
  margin-top: 90px !important;
  padding: 0 clamp(32px, 7vw, 120px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

body.home .agx-hero-overlay,
body.front-page .agx-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(7, 21, 34, 0.65) 0%, rgba(7, 21, 34, 0.38) 45%, rgba(7, 21, 34, 0.05) 100%) !important;
  z-index: 1 !important;
}

body.home .agx-hero-content,
body.front-page .agx-hero-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

body.home .agx-hero-headline,
body.front-page .agx-hero-headline {
  font-family: var(--agx-font-heading, Satoshi, Inter, sans-serif) !important;
  font-size: clamp(44px, 5.8vw, 84px) !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  line-height: 1.08 !important;
  letter-spacing: -0.5px !important;
  margin: 0 0 24px 0 !important;
  text-align: left !important;
  text-shadow: none !important;
  display: block !important;
}

body.home .agx-hero-subheadline,
body.front-page .agx-hero-subheadline {
  font-family: var(--agx-font-body, Inter, sans-serif) !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.6 !important;
  max-width: 620px !important;
  margin: 0 0 36px 0 !important;
  text-align: left !important;
}

body.home .agx-hero-actions,
body.front-page .agx-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  margin-bottom: 48px !important;
}

/* Primary Button: Solid White Box with Navy Text */
body.home .agx-hero-actions .agx-btn-primary,
body.front-page .agx-hero-actions .agx-btn-primary,
body.home .agx-hero-actions .agx-btn--primary,
body.front-page .agx-hero-actions .agx-btn--primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 52px !important;
  padding: 0 36px !important;
  background-color: #ffffff !important;
  color: #10293f !important;
  border: 1px solid #ffffff !important;
  border-radius: 2px !important;
  font-family: var(--agx-font-body, Inter, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15) !important;
  transition: all 250ms ease !important;
  cursor: pointer !important;
}

body.home .agx-hero-actions .agx-btn-primary:hover,
body.front-page .agx-hero-actions .agx-btn-primary:hover,
body.home .agx-hero-actions .agx-btn--primary:hover,
body.front-page .agx-hero-actions .agx-btn--primary:hover {
  background-color: #c8a96b !important;
  color: #10293f !important;
  border-color: #c8a96b !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(200, 169, 107, 0.35) !important;
}

/* Secondary Button: Frosted Glass / Outline Box with White Text */
body.home .agx-hero-actions .agx-btn-secondary,
body.front-page .agx-hero-actions .agx-btn-secondary,
body.home .agx-hero-actions .agx-btn--secondary,
body.front-page .agx-hero-actions .agx-btn--secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 52px !important;
  padding: 0 36px !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 2px !important;
  font-family: var(--agx-font-body, Inter, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 250ms ease !important;
  cursor: pointer !important;
}

body.home .agx-hero-actions .agx-btn-secondary:hover,
body.front-page .agx-hero-actions .agx-btn-secondary:hover,
body.home .agx-hero-actions .agx-btn--secondary:hover,
body.front-page .agx-hero-actions .agx-btn--secondary:hover {
  background-color: #ffffff !important;
  color: #10293f !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.25) !important;
}

/* Micro Trust Line */
body.home .agx-trust-line,
body.front-page .agx-trust-line {
  font-family: var(--agx-font-body, Inter, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 2.2px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  text-transform: uppercase !important;
  text-align: left !important;
  margin-top: 12px !important;
}

@media (max-width: 768px) {
  body.home .agx-hero,
  body.front-page .agx-hero {
    padding: 0 24px !important;
    height: auto !important;
    min-height: 560px !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  body.home .agx-hero-actions,
  body.front-page .agx-hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.home .agx-hero-actions .agx-btn-primary,
  body.front-page .agx-hero-actions .agx-btn-primary,
  body.home .agx-hero-actions .agx-btn-secondary,
  body.front-page .agx-hero-actions .agx-btn-secondary {
    width: 100% !important;
  }
}

/* =============================================
   STRICTLY SCOPED 1-ROW TESTIMONIAL CAROUSEL SLIDER
   ============================================= */
.agx-home-testimonials {
  text-align: center !important;
}

.agx-testimonial-slider-wrapper {
  position: relative !important;
  width: 100% !important;
  margin-top: 36px !important;
  margin-inline: auto !important;
}

.agx-home-testimonials .agx-home-testimonials__grid,
.agx-home-testimonials .agx-testimonial-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important; /* Firefox */
  padding: 16px 4px 28px 4px !important;
  margin-inline: auto !important;
  max-width: 100% !important;
}

.agx-home-testimonials .agx-home-testimonials__grid::-webkit-scrollbar,
.agx-home-testimonials .agx-testimonial-track::-webkit-scrollbar {
  display: none !important; /* Chrome / Safari / Edge */
}

/* 3 Cards per row on Desktop */
.agx-home-testimonials .agx-home-review {
  opacity: 1 !important;
  visibility: visible !important;
  flex: 0 0 calc(33.333% - 16px) !important;
  min-width: calc(33.333% - 16px) !important;
  max-width: calc(33.333% - 16px) !important;
  scroll-snap-align: center !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 32px 28px !important;
  border: 1px solid rgba(16, 41, 63, 0.08) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  text-align: left !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.agx-home-testimonials .agx-home-review:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(16, 41, 63, 0.08) !important;
}

.agx-home-testimonials .agx-home-review__stars {
  color: #c8a96b !important;
  font-size: 18px !important;
  letter-spacing: 2px !important;
  margin-bottom: 16px !important;
}

.agx-home-testimonials .agx-home-review p {
  color: #2c3e50 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin-bottom: 24px !important;
  font-style: italic !important;
}

.agx-home-testimonials .agx-home-review footer {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  border-top: 1px solid rgba(16, 41, 63, 0.08) !important;
  padding-top: 16px !important;
}

.agx-home-testimonials .agx-home-review footer strong {
  color: #10293f !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.agx-home-testimonials .agx-home-review footer span {
  color: #64748b !important;
  font-size: 13px !important;
}

.agx-home-testimonials .agx-home-review footer small {
  color: #c8a96b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* Slider Controls (Prev/Next Arrows + Dots) */
.agx-home-testimonials .agx-testimonial-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin-top: 28px !important;
}

.agx-home-testimonials .agx-slider-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid rgba(16, 41, 63, 0.15) !important;
  color: #10293f !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.agx-home-testimonials .agx-slider-btn:hover {
  background: #10293f !important;
  color: #ffffff !important;
  border-color: #10293f !important;
  transform: scale(1.05) !important;
}

.agx-home-testimonials .agx-slider-dots {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.agx-home-testimonials .agx-slider-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(16, 41, 63, 0.2) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.agx-home-testimonials .agx-slider-dot.is-active {
  width: 28px !important;
  border-radius: 6px !important;
  background: #c8a96b !important;
}

/* Tablet & Mobile Responsiveness */
@media (max-width: 991px) {
  .agx-home-testimonials .agx-home-review {
    flex: 0 0 calc(50% - 12px) !important;
    min-width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
}

@media (max-width: 640px) {
  .agx-home-testimonials .agx-home-review {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

