/* Header / navigation */


  /* ── Logo responsive swap ── */
  .nac-logo-img { display: block; height: auto; width: auto; }
  .nac-logo-img--desktop { height: 29px; }
  .nac-logo-img--mobile  { height: 25px; display: none; }
  @media (max-width: 768px) {
    .nac-logo-img--desktop { display: none; }
    .nac-logo-img--mobile  { display: block; }
  }


/* ============================================================
   HEADER SPACER (header itself is position:fixed)
   ============================================================ */
.nacg-header-spacer { height: 72px; }
@media (max-width: 767px) { .nacg-header-spacer { height: 64px; } }

/* ============================================================
   KILL ALL INHERITED COLOURS INSIDE #nac-header
   (beats .elementor-kit-X a:hover { color: ... !important })
   ============================================================ */
#nac-header,
#nac-header * {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-appearance: none;
  box-sizing: border-box;
}
#nac-header a,
#nac-header button {
  text-decoration: none !important;
  outline: none;
}

/* ============================================================
   FIXED BAR
   ============================================================ */
#nac-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  background: #ffffff !important;
  z-index: 9999;
  border-bottom: 1px solid #E5E7EB;
  transition: box-shadow 0.3s, border-color 0.3s;
}
#nac-header.nac-scrolled {
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  border-bottom-color: transparent !important;
}

/* ============================================================
   INNER CONTAINER
   ============================================================ */
#nac-header .nac-header-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  #nac-header .nac-header-inner { height: 64px; padding: 0 20px; }
}

/* ============================================================
   LOGO
   ============================================================ */
#nac-header .nac-logo {
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
  color: inherit !important;
}
#nac-header .nac-logo-icon {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, #2057C5 0%, #17ED9B 100%) !important;
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
@media (max-width: 767px) { #nac-header .nac-logo-icon { width: 36px; height: 36px; } }
#nac-header .nac-logo-text { display: flex; flex-direction: column; line-height: 1.2; }
#nac-header .nac-logo-name {
  font-family: Montserrat, sans-serif !important; font-weight: 700 !important;
  font-size: 13px !important; color: #0D0D0D !important; letter-spacing: -0.2px;
}
@media (max-width: 767px) { #nac-header .nac-logo-name { font-size: 12px !important; } }
#nac-header .nac-logo-sub { font-size: 11px !important; color: #6B7280 !important; }
@media (max-width: 767px) { #nac-header .nac-logo-sub { font-size: 10px !important; } }

/* ============================================================
   DESKTOP NAV — scoped under #nac-header for specificity
   ============================================================ */
#nac-header .nac-desktop-nav { display: none; }
@media (min-width: 768px) {
  #nac-header .nac-desktop-nav {
    display: flex; align-items: center; gap: 32px;
  }
}
#nac-header .nac-nav-links {
  display: flex; align-items: center; gap: 32px;
  list-style: none; margin: 0; padding: 0;
}

/* BASE link colour — scope to TOP-LEVEL nav only (not dropdown items)
   Using > li > a so dropdown <a> tags are excluded */
#nac-header .nac-nav-links > li > a,
#nac-header .nac-nav-btn {
  color: #374151 !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  transition: color 0.2s;
  background: transparent !important;
  border: none;
  cursor: pointer;
  padding: 0;
  display: inline-flex; align-items: center; gap: 4px;
  line-height: 1;
}

/* HOVER — top-level only */
#nac-header .nac-nav-links > li > a:hover,
#nac-header .nac-nav-links > li > a:focus,
#nac-header .nac-nav-btn:hover,
#nac-header .nac-nav-btn:focus {
  color: #2057C5 !important;
}
#nac-header .nac-nav-btn:hover svg,
#nac-header .nac-nav-btn:focus svg {
  stroke: #2057C5 !important;
}

/* ACTIVE page */
#nac-header .nac-nav-links > li > a.nac-active {
  color: #2057C5 !important;
  border-bottom: 2px solid #2057C5 !important;
  padding-bottom: 2px;
}

#nac-header .nac-chevron {
  width: 14px; height: 14px;
  transition: transform 0.2s; flex-shrink: 0;
  stroke: currentColor;
}
#nac-header .nac-services-open .nac-chevron { transform: rotate(180deg); }

/* ============================================================
   SERVICES DROPDOWN — 4-category mega panel (13 services)
   ============================================================ */
#nac-header .nac-dropdown-wrap { position: relative; }
#nac-header .nac-dropdown-wrap::after {
  content: ""; position: absolute;
  top: 100%; left: 0; right: 0;
  height: 12px; background: transparent;
}

#nac-header .nac-dropdown-panel {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: 50%; transform: translateX(-50%);
  width: 720px;
  max-width: calc(100vw - 2rem);
  background: #ffffff !important;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
  padding: 24px;
  z-index: 10000;
}
#nac-header .nac-dropdown-panel::before {
  content: '';
  position: absolute; top: -8px; left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 16px; height: 16px;
  background: #ffffff;
  border-left: 1px solid #F3F4F6;
  border-top: 1px solid #F3F4F6;
}
#nac-header .nac-dropdown-panel.nac-dp-open { display: block; }

#nac-header .nac-dp-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 24px;
  row-gap: 8px;
}
#nac-header .nac-dp-cat-label {
  font-size: 11px !important; font-weight: 600 !important;
  color: #9CA3AF !important;
  text-transform: uppercase; letter-spacing: 0.1em;
  font-family: Inter, sans-serif !important;
  margin: 0 0 8px 0; padding: 0 8px;
  display: block;
}
#nac-header .nac-dp-cats a.nac-dp-item {
  display: flex !important; align-items: flex-start !important; gap: 10px !important;
  padding: 8px !important; border-radius: 8px !important;
  background: transparent !important;
  transition: background 0.15s, color 0.15s;
  text-decoration: none !important;
}
#nac-header .nac-dp-cats a.nac-dp-item:hover {
  background: #F4F6F9 !important;
}
#nac-header .nac-dp-cats a.nac-dp-item:hover .nac-dp-item-label {
  color: #2057C5 !important;
}
#nac-header .nac-dp-item-icon {
  flex-shrink: 0; width: 16px; height: 16px; display: flex;
  color: #2057C5; margin-top: 2px;
}
#nac-header .nac-dp-item-icon svg { width: 16px; height: 16px; display: block; stroke: #2057C5; }
#nac-header .nac-dp-item-label {
  color: #374151 !important; font-size: 13px !important; font-weight: 600 !important;
  font-family: Inter, sans-serif !important; line-height: 1.375 !important; transition: color 0.15s;
}
#nac-header .nac-dp-footer {
  border-top: 1px solid #F3F4F6;
  margin-top: 16px; padding-top: 16px; text-align: center;
}
#nac-header .nac-dp-footer a {
  color: #2057C5 !important; font-size: 14px !important; font-weight: 600 !important;
  font-family: Inter, sans-serif !important;
}
#nac-header .nac-dp-footer a:hover { text-decoration: underline !important; }

/* ============================================================
   DESKTOP CTA BUTTON
   ============================================================ */
#nac-header .nac-cta-btn { display: none; }
@media (min-width: 768px) {
  #nac-header .nac-cta-btn {
    display: inline-flex; align-items: center;
    background: #17ED9B !important; color: #0D0D0D !important;
    padding: 10px 24px; border-radius: 6px;
    font-family: Inter, sans-serif !important; font-weight: 700 !important;
    font-size: 14px !important;
    transition: background 0.2s; flex-shrink: 0; white-space: nowrap;
    border: none !important;
  }
  #nac-header .nac-cta-btn:hover,
  #nac-header .nac-cta-btn:focus {
    background: #15d489 !important; color: #0D0D0D !important;
  }
}

/* ============================================================
   MOBILE HAMBURGER
   ============================================================ */
#nac-header .nac-hamburger {
  display: flex; flex-direction: column; gap: 5px;
  width: 44px; height: 44px;
  align-items: center; justify-content: center;
  background: transparent !important; border: none !important;
  cursor: pointer; padding: 0; -webkit-appearance: none;
}
@media (min-width: 768px) { #nac-header .nac-hamburger { display: none; } }
#nac-header .nac-hamburger span {
  display: block; width: 22px; height: 2px;
  background: #2057C5 !important; border-radius: 2px;
}

/* ============================================================
   MOBILE BACKDROP
   ============================================================ */
.nac-mob-backdrop {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.5); z-index: 10000;
  opacity: 0; transition: opacity 0.3s;
}
.nac-mob-backdrop.nac-bdrop-show { display: block; }
.nac-mob-backdrop.nac-bdrop-vis  { opacity: 1; }

/* ============================================================
   MOBILE SLIDE PANEL — all rules under .nac-mob-panel
   ============================================================ */
.nac-mob-panel {
  position: fixed; top: 0; right: 0;
  width: 100%; max-width: 375px; height: 100%;
  background: #0D1B4B !important; z-index: 10001;
  overflow-y: auto; overflow-x: hidden;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
  display: flex; flex-direction: column;
  -webkit-overflow-scrolling: touch;
}
.nac-mob-panel * {
  -webkit-tap-highlight-color: transparent !important;
  box-sizing: border-box;
}
.nac-mob-panel.nac-panel-open { transform: translateX(0); }

/* Top bar */
.nac-mob-panel .nac-mob-topbar {
  height: 64px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.nac-mob-panel .nac-mob-logo {
  display: flex; align-items: center; gap: 10px;
  color: #fff !important;
}
.nac-mob-panel .nac-mob-logo-icon {
  width: 36px; height: 36px; background: rgba(255,255,255,0.1) !important;
  border-radius: 4px; display: flex; align-items: center; justify-content: center;
}
.nac-mob-panel .nac-mob-logo-name {
  font-family: Montserrat, sans-serif !important; font-weight: 700 !important;
  font-size: 12px !important; color: #ffffff !important; display: block;
}
.nac-mob-panel .nac-mob-logo-sub {
  font-size: 10px !important; color: rgba(255,255,255,0.7) !important; display: block;
}
.nac-mob-panel .nac-mob-close {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  background: transparent !important; border: none !important;
  cursor: pointer; padding: 0; -webkit-appearance: none;
}

/* Nav links */
.nac-mob-panel .nac-mob-link {
  position: relative;
  display: flex; align-items: center; justify-content: space-between;
  height: 64px; padding: 0 24px;
  color: #ffffff !important;
  font-family: Montserrat, sans-serif !important; font-weight: 700 !important;
  font-size: 20px !important;
  background: transparent !important;
  -webkit-appearance: none;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  cursor: pointer; width: 100%; text-align: left;
  text-decoration: none !important;
  transition: background 0.15s;
}
.nac-mob-panel .nac-mob-link:hover,
.nac-mob-panel .nac-mob-link:focus,
.nac-mob-panel .nac-mob-link:active {
  background: rgba(255,255,255,0.05) !important;
  color: #ffffff !important;
  outline: none;
}
.nac-mob-panel .nac-mob-link.nac-mob-active {
  color: #17ED9B !important;
}
.nac-mob-panel .nac-mob-link.nac-mob-active:hover,
.nac-mob-panel .nac-mob-link.nac-mob-active:focus {
  color: #17ED9B !important;
}

/* Active left bar */
.nac-mob-panel .nac-mob-active-bar {
  display: none; position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: #17ED9B !important;
}
.nac-mob-panel .nac-mob-link.nac-mob-active .nac-mob-active-bar { display: block; }

/* Chevron */
.nac-mob-panel .nac-mob-chevron {
  width: 20px; height: 20px;
  color: rgba(255,255,255,0.4) !important;
  transition: transform 0.2s; flex-shrink: 0;
  stroke: rgba(255,255,255,0.4);
}
.nac-mob-panel .nac-mob-services-btn.nac-mob-expanded .nac-mob-chevron {
  transform: rotate(90deg);
}

/* Services submenu */
.nac-mob-panel .nac-mob-submenu {
  display: none; background: #0a1535 !important;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.nac-mob-panel .nac-mob-submenu.nac-sub-open { display: block; }
.nac-mob-panel .nac-mob-sub-item {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 32px;
  color: rgba(255,255,255,0.8) !important;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  text-decoration: none !important;
  background: transparent !important;
}
.nac-mob-panel .nac-mob-sub-item:last-child { border-bottom: none; }
.nac-mob-panel .nac-mob-sub-item:hover { background: rgba(255,255,255,0.04) !important; }
.nac-mob-panel .nac-mob-sub-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #17ED9B !important; flex-shrink: 0;
}
.nac-mob-panel .nac-mob-sub-item span {
  font-family: Inter, sans-serif !important; font-weight: 600 !important;
  font-size: 16px !important; color: rgba(255,255,255,0.8) !important;
}

.nac-mob-panel .nac-mob-sub-footer {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 32px;
  border-top: 1px solid rgba(255,255,255,0.10);
  text-decoration: none !important;
  background: transparent !important;
}
.nac-mob-panel .nac-mob-sub-footer span {
  font-family: Inter, sans-serif !important; font-weight: 700 !important;
  font-size: 16px !important; color: #17ED9B !important;
}

/* CTA buttons */
.nac-mob-panel .nac-mob-ctas {
  padding: 32px 24px 24px; display: flex; flex-direction: column; gap: 12px;
}
.nac-mob-panel .nac-mob-cta-primary {
  display: flex; align-items: center; justify-content: center;
  height: 52px; background: #17ED9B !important;
  color: #0D0D0D !important; border: none !important;
  border-radius: 10px; font-family: Inter, sans-serif !important;
  font-weight: 700 !important; font-size: 16px !important;
  text-decoration: none !important; transition: background 0.2s;
  -webkit-appearance: none;
}
.nac-mob-panel .nac-mob-cta-primary:hover { background: #15d489 !important; }
.nac-mob-panel .nac-mob-cta-secondary {
  display: flex; align-items: center; justify-content: center;
  height: 52px; border: 2px solid #ffffff !important;
  color: #ffffff !important; border-radius: 10px;
  font-family: Inter, sans-serif !important; font-weight: 700 !important;
  font-size: 16px !important; text-decoration: none !important;
  background: transparent !important; transition: background 0.2s;
  -webkit-appearance: none;
}
.nac-mob-panel .nac-mob-cta-secondary:hover { background: rgba(255,255,255,0.1) !important; }

/* Bottom contact strip */
.nac-mob-panel .nac-mob-bottom {
  margin-top: auto; padding: 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.nac-mob-panel .nac-mob-contacts { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.nac-mob-panel .nac-mob-contact-row {
  display: flex; align-items: center; gap: 8px;
  color: rgba(255,255,255,0.6) !important;
  font-family: Inter, sans-serif !important; font-size: 13px !important;
  text-decoration: none !important;
}
.nac-mob-panel .nac-mob-contact-row svg { width: 16px; height: 16px; flex-shrink: 0; }
.nac-mob-panel .nac-mob-socials {
  display: flex; align-items: center; justify-content: center; gap: 16px;
}
.nac-mob-panel .nac-mob-soc-btn {
  width: 36px; height: 36px; background: #152244 !important;
  border-radius: 8px; display: flex; align-items: center; justify-content: center;
  text-decoration: none !important; transition: background 0.2s;
}
.nac-mob-panel .nac-mob-soc-btn:hover { background: #1a2b54 !important; }


/* Footer */

/* ============================================================
   FAQ ACCORDION — fix text wrapping broken by WP global
   button { white-space: nowrap } rule
   ============================================================ */
.faq-question {
  white-space: normal !important;
}
.faq-question span {
  white-space: normal !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  word-break: break-word;
}

/* ============================================================
   GLOBAL FIX — strip Elementor's 10px widget-wrap side padding
   on all pages (not header/footer locations which are handled separately)
   ============================================================ */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-wrap,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-container {
  padding: 0 !important;
}

/* ============================================================
   RESET ELEMENTOR WRAPPER PADDING — footer only
   ============================================================ */
.elementor-location-footer,
.elementor-location-footer .elementor-section-wrap,
.elementor-location-footer .elementor-section,
.elementor-location-footer .elementor-container,
.elementor-location-footer .elementor-row,
.elementor-location-footer .elementor-column,
.elementor-location-footer .elementor-column-wrap,
.elementor-location-footer .elementor-widget-wrap,
.elementor-location-footer .elementor-widget,
.elementor-location-footer .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ============================================================
   NAC FOOTER — BASE
   ============================================================ */
#nac-footer {
  background-color: #0D1B4B;
  color: #fff;
  font-family: Inter, sans-serif;
  width: 100%;
  box-sizing: border-box;
}
#nac-footer * { box-sizing: border-box; }
#nac-footer a { text-decoration: none; transition: color 0.2s; }

/* ============================================================
   MAIN GRID AREA
   ============================================================ */
.nac-ft-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 32px;
}
.nac-ft-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}
@media (max-width: 767px) {
  .nac-ft-inner { padding: 40px 20px; }
  .nac-ft-grid  { grid-template-columns: 1fr; gap: 32px; }
}

/* ============================================================
   COLUMN — LOGO & TAGLINE
   ============================================================ */
.nac-ft-logo-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  text-decoration: none;
}
.nac-ft-logo-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #2057C5 0%, #17ED9B 100%);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nac-ft-logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.nac-ft-logo-name {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  letter-spacing: -0.2px;
}
.nac-ft-logo-sub { font-size: 11px; color: #9CA3AF; }
.nac-ft-tagline {
  color: #9CA3AF;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 24px 0;
}

/* Social icons */
.nac-ft-social { display: flex; gap: 12px; }
.nac-ft-social a {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.1);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  color: #fff;
}
.nac-ft-social a:hover { background: #17ED9B !important; }
.nac-ft-social a:hover svg { color: #0D0D0D; }

/* ============================================================
   COLUMN HEADINGS
   ============================================================ */
.nac-ft-col h3 {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  margin: 0 0 16px 0;
  padding: 0;
}

/* ============================================================
   LINK LISTS
   ============================================================ */
.nac-ft-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.nac-ft-col ul li { margin-bottom: 12px; }
.nac-ft-col ul li a {
  color: #9CA3AF;
  font-size: 14px;
  font-family: Inter, sans-serif;
  transition: color 0.2s;
}
.nac-ft-col ul li a:hover { color: #17ED9B !important; }

/* ============================================================
   CONTACT LIST
   ============================================================ */
.nac-ft-contact li {
  margin-bottom: 14px;
  font-family: Inter, sans-serif;
  font-size: 14px;
}
.nac-ft-contact li strong {
  color: #fff;
  display: block;
  margin-bottom: 2px;
}
.nac-ft-contact li span {
  color: #9CA3AF;
  line-height: 1.5;
}

/* ============================================================
   BOTTOM BAR
   ============================================================ */
.nac-ft-bottom { border-top: 1px solid rgba(255,255,255,0.1); }
.nac-ft-bottom-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 32px;
  text-align: center;
}
@media (max-width: 767px) {
  .nac-ft-bottom-inner { padding: 24px 20px; }
}
.nac-ft-bottom p {
  color: #9CA3AF;
  font-size: 14px;
  font-family: Inter, sans-serif;
  margin: 0 0 6px 0;
}
.nac-ft-bottom p:last-child { margin-bottom: 0; }
.nac-ft-bottom a { color: #17ED9B; transition: color 0.2s; }
.nac-ft-bottom a:hover { color: #fff !important; }

/* ============================================================
   NAC CONTACT PAGE FORM — CF7 styled to match Figma design
   ============================================================ */
.nac-contact-form { font-family: 'Inter', sans-serif; }
.nac-cf-header { margin-bottom: 24px; }
.nac-cf-title {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 24px; color: #0D0D0D; margin: 0 0 8px 0;
}
.nac-cf-subtitle { font-size: 14px; color: #4B5563; margin: 0; font-family: 'Inter', sans-serif; }
.nac-cf-divider { height: 2px; background: #17ED9B; margin-bottom: 32px; }
.nac-cf-group { margin-bottom: 8px; }
.nac-cf-group-label {
  color: #2057C5; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  font-family: 'Inter', sans-serif; margin: 0 0 20px 0;
}
.nac-cf-field { margin-bottom: 20px; }
.nac-cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nac-cf-row .nac-cf-field { margin-bottom: 0; }
.nac-cf-label {
  display: block; font-family: 'Inter', sans-serif;
  font-size: 14px; font-weight: 600; color: #0D0D0D; margin-bottom: 6px;
}
.nac-cf-input {
  width: 100%; background: #ffffff; border: 1px solid #D1D5DB;
  padding: 12px 16px; border-radius: 8px; font-family: 'Inter', sans-serif;
  font-size: 14px; color: #0D0D0D; outline: none; box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.nac-cf-input:focus { border-color: #2057C5; box-shadow: 0 0 0 3px rgba(32,87,197,0.12); }
.nac-cf-textarea {
  width: 100%; background: #ffffff; border: 1px solid #D1D5DB;
  padding: 12px 16px; border-radius: 8px; font-family: 'Inter', sans-serif;
  font-size: 14px; color: #0D0D0D; outline: none; box-sizing: border-box;
  resize: none; min-height: 160px; transition: border-color 0.2s, box-shadow 0.2s;
}
.nac-cf-textarea:focus { border-color: #2057C5; box-shadow: 0 0 0 3px rgba(32,87,197,0.12); }
.nac-cf-submit-wrap { padding-top: 12px; }
.nac-cf-submit {
  width: 100%; background: #0D1B4B; color: #ffffff; height: 56px;
  border-radius: 8px; border: none; font-family: 'Inter', sans-serif;
  font-weight: 700; font-size: 16px; cursor: pointer;
  transition: background-color 0.2s; display: block;
}
.nac-cf-submit:hover { background: rgba(13,27,75,0.88); }
.nac-cf-trust { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.nac-cf-trust-item {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; font-size: 12px; color: #6B7280; font-family: 'Inter', sans-serif;
}
.nac-cf-success { padding: 48px 16px; text-align: center; }
.nac-cf-success-inner { display: flex; flex-direction: column; align-items: center; gap: 28px; }
.nac-cf-success-icon {
  width: 80px; height: 80px; border-radius: 50%;
  background: rgba(23,237,155,0.12);
  display: flex; align-items: center; justify-content: center;
}
.nac-cf-success-title {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 28px; color: #0D0D0D; margin: 0;
}
.nac-cf-success-body {
  font-family: 'Inter', sans-serif; font-size: 15px;
  color: #4B5563; max-width: 420px; line-height: 1.6; margin: 0;
}
.nac-cf-success-phone { font-family: 'Inter', sans-serif; font-size: 14px; color: #4B5563; margin: 0; }
.nac-cf-success-phone a { color: #2057C5; font-weight: 700; text-decoration: none; }
.nac-cf-success-btn {
  border: 2px solid #2057C5; color: #2057C5; padding: 12px 32px;
  border-radius: 8px; font-family: 'Inter', sans-serif; font-weight: 600;
  font-size: 14px; text-decoration: none; transition: background 0.2s, color 0.2s; display: inline-block;
}
.nac-cf-success-btn:hover { background: #2057C5 !important; color: #ffffff !important; }
.nac-contact-form span.wpcf7-not-valid-tip {
  color: #ef4444; font-size: 12px; font-family: 'Inter', sans-serif; margin-top: 4px; display: block;
}
.nac-contact-form .wpcf7-response-output { display: none !important; }

/* ============================================================
   NAC HOMEPAGE CONTACT FORM — CF7 styled to match Figma design
   ============================================================ */
.nac-home-form { font-family: 'Inter', sans-serif; }
.nac-hf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
.nac-hf-field { margin-bottom: 24px; }
.nac-hf-row .nac-hf-field { margin-bottom: 0; }
.nac-hf-label {
  display: block; font-family: 'Inter', sans-serif;
  font-size: 14px; font-weight: 600; color: #0D0D0D; margin-bottom: 8px;
}
.nac-hf-input {
  width: 100%; background: #F4F6F9; border: 1px solid transparent;
  padding: 12px 16px; border-radius: 8px; font-family: 'Inter', sans-serif;
  font-size: 14px; color: #0D0D0D; outline: none; box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.nac-hf-input:focus { border-color: #2057C5; box-shadow: 0 0 0 2px rgba(32,87,197,0.2); }
.nac-hf-textarea {
  width: 100%; background: #F4F6F9; border: 1px solid transparent;
  padding: 12px 16px; border-radius: 8px; font-family: 'Inter', sans-serif;
  font-size: 14px; color: #0D0D0D; outline: none; box-sizing: border-box;
  resize: none; min-height: 175px; transition: border-color 0.2s, box-shadow 0.2s;
}
.nac-hf-textarea:focus { border-color: #2057C5; box-shadow: 0 0 0 2px rgba(32,87,197,0.2); }
.nac-hf-submit {
  width: 100%; background: #2057C5; color: #ffffff; padding: 14px 32px;
  border-radius: 8px; border: none; font-family: 'Inter', sans-serif;
  font-weight: 600; font-size: 15px; cursor: pointer;
  transition: background-color 0.2s; display: block;
}
.nac-hf-submit:hover { background: #1a4aa3; }
.nac-hf-success {
  padding: 48px 16px; text-align: center; min-height: 400px;
  display: flex; align-items: center; justify-content: center;
}
.nac-hf-success-inner { display: flex; flex-direction: column; align-items: center; gap: 28px; }
.nac-hf-success-icon {
  width: 80px; height: 80px; border-radius: 50%;
  background: rgba(23,237,155,0.12);
  display: flex; align-items: center; justify-content: center;
}
.nac-hf-success-title {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 26px; color: #0D0D0D; margin: 0;
}
.nac-hf-success-body {
  font-family: 'Inter', sans-serif; font-size: 15px;
  color: #4B5563; max-width: 420px; line-height: 1.6; margin: 0;
}
.nac-hf-success-phone { font-family: 'Inter', sans-serif; font-size: 14px; color: #4B5563; margin: 0; }
.nac-hf-success-phone a { color: #2057C5; font-weight: 700; text-decoration: none; }
.nac-home-form span.wpcf7-not-valid-tip {
  color: #ef4444; font-size: 12px; font-family: 'Inter', sans-serif; margin-top: 4px; display: block;
}
.nac-home-form .wpcf7-response-output { display: none !important; }

/* Responsive — both forms */
@media (max-width: 767px) {
  .nac-cf-row { grid-template-columns: 1fr; gap: 0; }
  .nac-cf-row .nac-cf-field { margin-bottom: 20px; }
  .nac-cf-title { font-size: 20px; }
  .nac-hf-row { grid-template-columns: 1fr; gap: 0; }
  .nac-hf-row .nac-hf-field { margin-bottom: 24px; }
}
.nac-contact-form .wpcf7-form p,
.nac-home-form .wpcf7-form p { margin: 0; }

.nacg-footer-divider { height: 3px; background: #17ED9B; width: 100%; }

/* Signature camouflage — temporary, remove this block to restore visibility.
   Link stays in the DOM, clickable and crawlable. */
.nac-ft-bottom p.nacg-sig,
.nac-ft-bottom p.nacg-sig a {
  color: #0D1B4B !important;
}
.nac-ft-bottom p.nacg-sig a:hover { text-decoration: none !important; }

/* Author-profile link on the About team card */
.nac-team-card .nacg-author-link {
  display: inline-block; color: #0E9F6E; font-family: Inter, sans-serif;
  font-weight: 600; font-size: 13px; margin: 6px 0 2px; text-decoration: none;
}
.nac-team-card .nacg-author-link:hover { text-decoration: underline; }
.nac-team-photo a img { transition: box-shadow 0.2s; border-radius: inherit; }
.nac-team-photo a:hover img { box-shadow: 0 0 0 4px rgba(23, 237, 155, 0.5); }

/* Author-avatar hover ring (explicit, cascade-proof) */
a[href="/author/stephanie-lopez"] img.rounded-full { transition: border-color 0.2s; }
a[href="/author/stephanie-lopez"]:hover img.rounded-full { border-color: rgba(23, 237, 155, 0.6) !important; }
