/* faa-2026.css: approved navy, ivory and aqua experience redesign (preview).
   Hand authored. This is NOT generated by scripts/extract_shared_css.py and is
   not part of shared.css. It loads last, and every rule is scoped to
   body.faa-2026, so pages that do not opt in keep their current styling.
   Tokens follow the approved design handoff (DESIGN.md) and the owner-approved
   prototype. Legacy tokens (--navy, --gold, --blue ...) are remapped so the
   existing per-page inline rules follow the new palette without rewriting them. */

body.faa-2026 {
  --faa-navy: #101c30;
  --faa-navy-2: #1a2a45;
  --faa-navy-ink: #eaf0f6;
  --faa-navy-muted: #b4c1d0;
  --faa-canvas: #f8f7f3;
  --faa-surface: #ffffff;
  --faa-ink: #18212c;
  --faa-muted: #536174;
  --faa-border: #d6dee5;
  --faa-hair: #e8ecef;
  --faa-aqua: #32c6df;
  --faa-aqua-press: #22b2cb;
  --faa-aqua-link: #006b80;
  --faa-sky: #dceff4;
  --faa-sky-2: #eef7f9;
  --faa-warn-ink: #854800;
  --faa-warn-bg: #fff4db;
  --faa-ok-ink: #176847;
  --faa-ok-bg: #e8f5ee;
  --faa-star: #e7a33a;
  --faa-font-display:
    "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --faa-r-ctl: 10px;
  --faa-r-sec: 14px;
  --faa-ease: cubic-bezier(0.2, 0.7, 0.2, 1);

  /* Legacy tokens, light surfaces */
  --navy: #101c30;
  --navy-light: #1a2a45;
  --blue: #006b80;
  --blue-light: #32c6df;
  --gold: #006b80;
  --gold-light: #006b80;
  --white: #ffffff;
  --off-white: #f8f7f3;
  --gray-100: #eef1f3;
  --gray-200: #d6dee5;
  --gray-400: #5e6b7e;
  --gray-600: #536174;
  --gray-800: #3b4757;
  --text: #18212c;

  background: var(--faa-canvas);
  color: var(--faa-ink);
}
html:has(> body.faa-2026) {
  background: #101c30;
}

/* Legacy tokens, navy surfaces: aqua reads well on navy, never white on aqua */
body.faa-2026 .nav,
body.faa-2026 .hero,
body.faa-2026 .fx-hero,
body.faa-2026 .cta-section,
body.faa-2026 .connect-section,
body.faa-2026 .crosssell,
body.faa-2026 .apostille-crosssell,
body.faa-2026 .partner-b2b,
body.faa-2026 .cta-band,
body.faa-2026 .footer {
  --gold: #32c6df;
  --gold-light: #32c6df;
  --blue: #7fdcec;
  --blue-light: #7fdcec;
}

/* ---------- Focus, motion ---------- */
body.faa-2026 [id] {
  scroll-margin-top: 80px;
}
body.faa-2026 a:focus-visible,
body.faa-2026 button:focus-visible,
body.faa-2026 summary:focus-visible,
body.faa-2026 [tabindex]:focus-visible {
  outline: 3px solid var(--faa-aqua-link);
  outline-offset: 3px;
  border-radius: 6px;
}
body.faa-2026 .nav a:focus-visible,
body.faa-2026 .hero a:focus-visible,
body.faa-2026 .fx-hero a:focus-visible,
body.faa-2026 .cta-section a:focus-visible,
body.faa-2026 .footer a:focus-visible,
body.faa-2026 .mobile-toggle:focus-visible {
  outline-color: var(--faa-aqua);
}
@media (prefers-reduced-motion: reduce) {
  html:has(> body.faa-2026) {
    scroll-behavior: auto;
  }
  body.faa-2026 *,
  body.faa-2026 *::before,
  body.faa-2026 *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ---------- Type ---------- */
body.faa-2026 .hero h1,
body.faa-2026 .fx-hero h1,
body.faa-2026 .section-title,
body.faa-2026 .cta-section h2,
body.faa-2026 .connect-section h2,
body.faa-2026 .apo-content h2,
body.faa-2026 .crosssell h2,
body.faa-2026 .diff-content h2,
body.faa-2026 .apostille-crosssell h2,
body.faa-2026 .fx-display {
  font-family: var(--faa-font-display);
  font-weight: 600;
  letter-spacing: -0.015em;
}
body.faa-2026 .section-title {
  color: var(--faa-navy);
  line-height: 1.12;
}
body.faa-2026 .section-label {
  color: var(--faa-aqua-link);
  letter-spacing: 1.6px;
  font-size: 12px;
}
body.faa-2026 .section-desc {
  color: var(--faa-muted);
}

/* ---------- Header ---------- */
body.faa-2026 .nav {
  background: var(--faa-navy);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.faa-2026 .nav-logo,
body.faa-2026 .nav-logo-text {
  color: #ffffff;
}
body.faa-2026 .nav-logo-icon img {
  border-radius: 10px;
  background: #ffffff;
}
body.faa-2026 .nav-logo-text {
  font-weight: 600;
  font-size: 17px;
}
body.faa-2026 .nav-logo-text span {
  color: var(--faa-navy-muted);
  font-size: 12px;
  font-weight: 500;
}
body.faa-2026 .nav-links {
  gap: 26px;
}
body.faa-2026 .nav-links a {
  color: var(--faa-navy-ink);
}
body.faa-2026 .nav-links a:hover {
  color: var(--faa-aqua);
}
body.faa-2026 .nav-links a.nav-cta,
body.faa-2026 .nav-links a.nav-cta-alt {
  background: transparent;
  border: 1.5px solid var(--faa-aqua);
  color: #ffffff !important;
  border-radius: 999px;
  padding: 9px 18px;
}
body.faa-2026 .nav-links a.nav-cta:hover,
body.faa-2026 .nav-links a.nav-cta-alt:hover {
  background: var(--faa-aqua) !important;
  color: var(--faa-navy) !important;
}
body.faa-2026 .mobile-toggle {
  min-width: 44px;
  min-height: 44px;
}
body.faa-2026 .mobile-toggle span {
  background: #ffffff;
}

/* Desktop dropdown panels stay light, with dark links */
body.faa-2026 .nav-dropdown {
  background: var(--faa-surface);
  border-color: var(--faa-border);
  border-radius: var(--faa-r-sec);
  box-shadow: 0 18px 48px rgba(16, 28, 48, 0.18);
}
body.faa-2026 .nav-dropdown a.nav-dd-link,
body.faa-2026 .nav-dropdown .nav-dd-info a {
  color: var(--faa-muted);
}
body.faa-2026 .nav-dropdown a.nav-dd-link:hover,
body.faa-2026 .nav-dropdown .nav-dd-info a:hover {
  color: var(--faa-navy);
}
body.faa-2026 .nav-dropdown a.nav-dd-more {
  color: var(--faa-aqua-link);
}
body.faa-2026 .nav-dd-head {
  color: var(--faa-aqua-link);
}
body.faa-2026 .nav-dropdown a.nav-dd-btn {
  background: var(--faa-navy);
  color: #ffffff !important;
  border-radius: 999px;
}
body.faa-2026 .nav-dropdown a.nav-dd-btn:hover {
  background: var(--faa-navy-2) !important;
}
body.faa-2026 .nav-dropdown-svc {
  width: 760px;
  left: 0;
}
body.faa-2026 .nav-dropdown-biz {
  width: 340px;
}
body.faa-2026 .nav-dd-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Collapsed menu (the existing pages collapse below 1320px) */
@media (max-width: 1320px) {
  body.faa-2026 .nav-links {
    background: var(--faa-navy);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.3);
    max-height: calc(100vh - 72px);
    overflow-y: auto;
  }
  body.faa-2026 .nav-links a {
    border-bottom-color: rgba(255, 255, 255, 0.08);
  }
  body.faa-2026 .nav-links > li > a:not(.nav-cta):not(.nav-cta-alt) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  body.faa-2026 .nav-dropdown {
    background: transparent;
    box-shadow: none;
    border: none;
  }
  body.faa-2026 .nav-dropdown a.nav-dd-link,
  body.faa-2026 .nav-dropdown .nav-dd-info a,
  body.faa-2026 .nav-dropdown a.nav-dd-more {
    color: var(--faa-navy-muted);
  }
  body.faa-2026 .nav-dropdown a.nav-dd-link:hover {
    color: #ffffff;
  }
  body.faa-2026 .nav-dd-head {
    color: var(--faa-aqua);
  }
  body.faa-2026 .nav-dropdown a.nav-dd-btn {
    background: var(--faa-aqua);
    color: var(--faa-navy) !important;
  }
  body.faa-2026 .nav-dd-btns {
    flex-direction: column;
    align-items: flex-start;
  }
  body.faa-2026 .nav-links a.nav-cta,
  body.faa-2026 .nav-links a.nav-cta-alt {
    border-radius: var(--faa-r-ctl);
  }
}

/* Breadcrumb */
body.faa-2026 .crumb-bar {
  background: var(--faa-canvas);
  border-bottom-color: var(--faa-hair);
}
body.faa-2026 .crumb-inner a {
  color: var(--faa-aqua-link);
}
body.faa-2026 .crumb-here {
  color: var(--faa-ink);
}

/* ---------- Buttons ---------- */
body.faa-2026 .btn {
  border-radius: 999px;
  min-height: 48px;
  justify-content: center;
}
body.faa-2026 .btn-primary,
body.faa-2026 .btn-gold {
  background: var(--faa-aqua);
  color: var(--faa-navy);
  border: none;
}
body.faa-2026 .btn-primary:hover,
body.faa-2026 .btn-gold:hover {
  background: var(--faa-aqua-press);
  color: var(--faa-navy);
}
body.faa-2026 .btn-navy {
  background: var(--faa-navy);
  color: #ffffff;
}
body.faa-2026 .hp-cta,
body.faa-2026 .cp-cta {
  background: var(--faa-aqua);
  color: var(--faa-navy);
  border-radius: 999px;
}
body.faa-2026 .hp-cta:hover,
body.faa-2026 .cp-cta:hover {
  background: var(--faa-aqua-press);
}
body.faa-2026 .btn-outline,
body.faa-2026 .btn-white-outline {
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  color: #ffffff;
  background: transparent;
}
body.faa-2026 .btn-outline:hover,
body.faa-2026 .btn-white-outline:hover {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
/* Outline buttons placed on light sections need dark ink */
body.faa-2026 .section .btn-outline,
body.faa-2026 .fx-section .btn-outline,
body.faa-2026 #apostille-picker .btn-outline {
  color: var(--faa-navy);
  border-color: var(--faa-navy);
}
body.faa-2026 .section .btn-outline:hover,
body.faa-2026 #apostille-picker .btn-outline:hover {
  background: var(--faa-navy);
  color: #ffffff;
}

/* ---------- Hero (service pages keep their structure) ---------- */
body.faa-2026 .hero {
  background:
    radial-gradient(
      ellipse 60% 70% at 92% 18%,
      rgba(50, 198, 223, 0.16),
      transparent 62%
    ),
    radial-gradient(
      ellipse 40% 60% at 4% 100%,
      rgba(50, 198, 223, 0.08),
      transparent 70%
    ),
    var(--faa-navy) !important;
}
body.faa-2026 .hero::before {
  display: none;
}
body.faa-2026 .hero h1 {
  color: #ffffff;
  line-height: 1.08;
}
body.faa-2026 .hero h1 em {
  color: var(--faa-aqua);
}
body.faa-2026 .hero-sub {
  color: #c9d4e0;
}
body.faa-2026 .hero-badge {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--faa-navy-ink);
}
body.faa-2026 .hero-badge svg {
  color: var(--faa-aqua);
}
body.faa-2026 .hero-stat-number {
  font-family: var(--faa-font-display);
  font-weight: 600;
}
body.faa-2026 .hero-stat-label {
  color: var(--faa-navy-muted);
}
body.faa-2026 .hero-pricing {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.14);
  border-radius: 18px;
}

/* ---------- Sections and cards ---------- */
/* Zero specificity: a page's own dark band (.partner-b2b, cross-sells and
   the like) keeps its background; plain sections take the canvas. */
:where(body.faa-2026 .section) {
  background-color: var(--faa-canvas);
}
body.faa-2026 .bg-light {
  background: var(--faa-surface) !important;
}
body.faa-2026 .section + .section,
body.faa-2026 .section + .cta-section,
body.faa-2026 .section + .reviews-preview,
body.faa-2026 .reviews-preview + .section,
body.faa-2026 .section + .connect-section,
body.faa-2026 .section + .apo-section,
body.faa-2026 .apo-section + .section {
  border-top-color: var(--faa-hair);
}
body.faa-2026 .feature-card,
body.faa-2026 .service-card,
body.faa-2026 .service-mini-card,
body.faa-2026 .dual-card,
body.faa-2026 .location-card,
body.faa-2026 .review-card,
body.faa-2026 .serve-card,
body.faa-2026 .audience-card,
body.faa-2026 .why-card,
body.faa-2026 .picker-card,
body.faa-2026 .faq-item {
  border-color: var(--faa-border);
  border-radius: var(--faa-r-sec);
  box-shadow: none;
}
body.faa-2026 .service-card:hover,
body.faa-2026 .location-card:hover,
body.faa-2026 .review-card:hover,
body.faa-2026 .audience-card:hover,
body.faa-2026 .why-card:hover {
  border-color: var(--faa-aqua-link);
  box-shadow: 0 10px 28px rgba(16, 28, 48, 0.08);
}
body.faa-2026 .service-icon,
body.faa-2026 .why-icon,
body.faa-2026 .audience-icon,
body.faa-2026 .service-mini-icon {
  background: var(--faa-sky-2);
  border-radius: 12px;
}
body.faa-2026 .service-icon svg,
body.faa-2026 .why-icon svg,
body.faa-2026 .audience-icon svg {
  color: var(--faa-aqua-link);
}
body.faa-2026 .service-tag {
  background: var(--faa-sky-2);
  color: var(--faa-aqua-link);
  border-radius: 999px;
}
body.faa-2026 .step-number {
  background: var(--faa-navy);
  color: var(--faa-aqua);
  font-family: var(--faa-font-display);
  font-weight: 600;
}
body.faa-2026 .trust-bar {
  --gold: #32c6df;
  --gold-light: #32c6df;
}
body.faa-2026 .location-map > div:not(.location-map-overlay) {
  background: linear-gradient(135deg, #eef7f9, #dceff4) !important;
}
body.faa-2026 .location-map svg {
  stroke: var(--faa-aqua-link);
}
body.faa-2026 .location-map-overlay {
  background: var(--faa-navy);
  border-radius: 999px;
}
body.faa-2026 .reviews-preview {
  background: var(--faa-canvas);
}
body.faa-2026 .reviews-rating-stars svg,
body.faa-2026 .review-card-stars svg {
  fill: var(--faa-star);
}
body.faa-2026 .reviews-cta {
  background: var(--faa-navy);
  border-radius: 999px;
}
body.faa-2026 .review-card-avatar {
  background: var(--faa-sky);
  color: var(--faa-navy);
}
body.faa-2026 .faq-question {
  color: var(--faa-navy);
}

/* ---------- Navy bands ---------- */
body.faa-2026 .cta-section,
body.faa-2026 .connect-section,
body.faa-2026 .crosssell,
body.faa-2026 .apostille-crosssell,
body.faa-2026 .partner-b2b {
  background: var(--faa-navy) !important;
}
/* Text inside navy bands. The light-surface heading, label and body colours
   above would otherwise turn navy or slate on navy. */
body.faa-2026
  :is(
    .cta-section,
    .connect-section,
    .crosssell,
    .apostille-crosssell,
    .partner-b2b
  )
  :is(.section-title, h2, h3) {
  color: #ffffff;
}
body.faa-2026
  :is(
    .cta-section,
    .connect-section,
    .crosssell,
    .apostille-crosssell,
    .partner-b2b
  )
  :is(.section-desc, p, li) {
  color: #c9d4e0;
}
body.faa-2026
  :is(
    .cta-section,
    .connect-section,
    .crosssell,
    .apostille-crosssell,
    .partner-b2b
  )
  .section-label {
  color: var(--faa-aqua);
}
body.faa-2026 .partner-b2b-link {
  color: #c9d4e0;
}
body.faa-2026 .partner-b2b-link:hover {
  color: #ffffff;
}
body.faa-2026 .cta-section::before,
body.faa-2026 .connect-section::before {
  background: radial-gradient(
    circle,
    rgba(50, 198, 223, 0.12) 0%,
    transparent 60%
  );
}
body.faa-2026 .cta-section h2,
body.faa-2026 .connect-section h2 {
  color: #ffffff;
}
body.faa-2026 .cta-section p,
body.faa-2026 .connect-section p {
  color: #c9d4e0;
}
body.faa-2026 .cta-section .btn-navy,
body.faa-2026 .connect-section .btn-navy {
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  color: #ffffff;
}
body.faa-2026 .cta-section .btn-outline,
body.faa-2026 .connect-section .btn-outline {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.55);
}

/* Document picker (apostille pages) */
body.faa-2026 .picker-eyebrow {
  color: var(--faa-aqua-link) !important;
}
body.faa-2026 .pick.primary {
  background: var(--faa-navy) !important;
  border-color: var(--faa-navy) !important;
}
body.faa-2026 .pick .tag {
  background: var(--faa-aqua) !important;
  color: var(--faa-navy) !important;
}
body.faa-2026 .pick .arr {
  color: var(--faa-muted);
}
body.faa-2026 .pick.primary .arr {
  color: var(--faa-aqua);
}
body.faa-2026 .pick:hover {
  border-color: var(--faa-aqua-link);
}
body.faa-2026 [style*="color:#2E75B6" i],
body.faa-2026 .tr-flag {
  color: var(--faa-aqua-link) !important;
}
body.faa-2026 .ai-table thead th {
  background: var(--faa-navy);
}
body.faa-2026 .ai-table thead th.us {
  background: var(--faa-aqua);
  color: var(--faa-navy);
}
body.faa-2026 [style*="color:#9CA3AF" i],
body.faa-2026 [style*="color: #9CA3AF" i] {
  color: var(--faa-muted) !important;
}

/* ---------- Footer ---------- */
body.faa-2026 .footer {
  background: var(--faa-navy);
  color: var(--faa-navy-muted);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
body.faa-2026 .footer-brand h3 {
  font-family: var(--faa-font-display);
  font-weight: 600;
  font-size: 22px;
}
body.faa-2026 .footer-brand p,
body.faa-2026 .footer-col a {
  color: var(--faa-navy-muted);
}
body.faa-2026 .footer-col a:hover,
body.faa-2026 .footer-legal a:hover {
  color: var(--faa-aqua);
}
body.faa-2026 .footer-col h4 {
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 1.4px;
}
body.faa-2026 .footer-legal a,
body.faa-2026 .footer-badge,
body.faa-2026 .footer-bottom {
  color: #a3b1c2;
}
body.faa-2026 .footer-badge {
  border-color: rgba(255, 255, 255, 0.16);
}
body.faa-2026 .footer-logo {
  background: #ffffff;
  border-radius: 12px !important;
}
body.faa-2026 .fx-independent {
  color: #a3b1c2;
  font-size: 13px;
}

/* ---------- Mobile sticky actions ---------- */
@media (max-width: 768px) {
  body.faa-2026 .sticky-cta {
    background: var(--faa-surface);
    border-top-color: var(--faa-border);
  }
  body.faa-2026 .sticky-cta a {
    border-radius: 999px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  body.faa-2026 .sticky-cta .sc-book {
    background: var(--faa-navy);
    color: #ffffff;
  }
  body.faa-2026 .sticky-cta .sc-apo {
    background: var(--faa-aqua);
    color: var(--faa-navy);
  }
}

/* =====================================================================
   Homepage composition (body.faa-2026.fx-home), after the approved image
   ===================================================================== */
body.faa-2026 .fx-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
body.faa-2026 .fx-section {
  padding: 88px 24px;
  background: var(--faa-canvas);
}
body.faa-2026 .fx-hero {
  position: relative;
  overflow: hidden;
  padding: 136px 24px 96px;
  background:
    radial-gradient(
      ellipse 55% 75% at 85% 30%,
      rgba(50, 198, 223, 0.14),
      transparent 65%
    ),
    var(--faa-navy);
  color: #ffffff;
}
body.faa-2026 .fx-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 48px;
  align-items: center;
}
body.faa-2026 .fx-hero .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: var(--faa-navy-ink);
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 24px;
}
/* Two trust pills side by side, wrapping on phones. */
body.faa-2026 .fx-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
body.faa-2026 .fx-hero-badges .hero-badge {
  margin-bottom: 0;
}
body.faa-2026 .fx-hero h1 {
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1.06;
  color: #ffffff;
  margin-bottom: 24px;
}
body.faa-2026 .fx-hero .hero-sub {
  font-size: 18px;
  line-height: 1.6;
  color: #c9d4e0;
  max-width: 560px;
  margin: 0 0 32px;
}
body.faa-2026 .fx-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
body.faa-2026 .fx-hero-art {
  position: relative;
  min-height: 360px;
}
body.faa-2026 .fx-hero-art svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Track strip */
body.faa-2026 .fx-strip {
  background: #eef1f3;
  border-bottom: 1px solid var(--faa-hair);
  padding: 16px 24px;
}
body.faa-2026 .fx-strip .fx-wrap,
body.faa-2026 .fx-inline-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 15px;
  color: var(--faa-muted);
}
body.faa-2026 .fx-sep {
  width: 1px;
  height: 18px;
  background: var(--faa-border);
}
body.faa-2026 .fx-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--faa-aqua-link);
  font-weight: 600;
  text-decoration: none;
  min-height: 44px;
}
body.faa-2026 .fx-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.faa-2026 .fx-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  transition: transform 0.2s var(--faa-ease);
}
body.faa-2026 .fx-link:hover svg {
  transform: translateX(3px);
}

/* What can we help you with */
body.faa-2026 .fx-h2 {
  font-family: var(--faa-font-display);
  font-weight: 600;
  letter-spacing: -0.015em;
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.1;
  color: var(--faa-navy);
  margin-bottom: 16px;
}
body.faa-2026 .fx-lede {
  font-size: 17px;
  color: var(--faa-muted);
  max-width: 640px;
  line-height: 1.65;
}
body.faa-2026 .fx-help-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 48px;
}
body.faa-2026 .fx-help-item {
  padding: 8px 40px 8px 0;
}
body.faa-2026 .fx-help-item + .fx-help-item {
  border-left: 1px solid var(--faa-border);
  padding-left: 40px;
}
body.faa-2026 .fx-tile {
  width: 84px;
  height: 84px;
  border-radius: 16px;
  background: linear-gradient(160deg, #ffffff, #f1ede4);
  border: 1px solid #e6e0d2;
  box-shadow:
    0 10px 22px rgba(16, 28, 48, 0.1),
    0 2px 4px rgba(16, 28, 48, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transform: rotate(-4deg);
}
body.faa-2026 .fx-tile svg {
  width: 42px;
  height: 42px;
  color: var(--faa-navy);
}
body.faa-2026 .fx-help-item h3 {
  font-family: var(--faa-font-display);
  font-weight: 600;
  font-size: 28px;
  line-height: 1.15;
  color: var(--faa-navy);
  margin-bottom: 10px;
}
body.faa-2026 .fx-help-item p {
  color: var(--faa-muted);
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 12px;
}
body.faa-2026 .fx-help-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body.faa-2026 .fx-help-links .fx-link + .fx-link {
  font-weight: 500;
  color: var(--faa-muted);
}
body.faa-2026 .fx-pickup {
  margin-top: 48px;
  border-top: 1px solid var(--faa-border);
  border-bottom: 1px solid var(--faa-border);
  padding: 6px 0;
  justify-content: center;
}

/* Facts row */
body.faa-2026 .fx-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 56px;
}
body.faa-2026 .fx-fact strong {
  display: block;
  font-family: var(--faa-font-display);
  font-weight: 600;
  font-size: 34px;
  line-height: 1.1;
  color: var(--faa-navy);
}
body.faa-2026 .fx-fact span {
  display: block;
  color: var(--faa-muted);
  font-size: 14px;
  margin-top: 6px;
  line-height: 1.45;
}

/* A clear next step */
body.faa-2026 .fx-next {
  background: var(--faa-canvas);
  border-top: 1px solid var(--faa-hair);
}
body.faa-2026 .fx-next-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  gap: 64px;
  align-items: center;
}
body.faa-2026 .fx-card {
  background: var(--faa-surface);
  border: 1px solid var(--faa-border);
  border-radius: var(--faa-r-sec);
  box-shadow: 0 16px 40px rgba(16, 28, 48, 0.08);
  padding: 28px 32px;
}
body.faa-2026 .fx-card-kicker {
  font-size: 12px;
  font-weight: 600;
  color: var(--faa-muted);
  margin-bottom: 14px;
}
body.faa-2026 .fx-card-head {
  display: flex;
  gap: 16px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--faa-hair);
  margin-bottom: 18px;
}
body.faa-2026 .fx-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--faa-sky);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
body.faa-2026 .fx-card-icon svg {
  width: 24px;
  height: 24px;
  color: var(--faa-navy);
}
body.faa-2026 .fx-card-title {
  font-weight: 700;
  font-size: 18px;
  color: var(--faa-navy);
}
body.faa-2026 .fx-card-sub {
  color: var(--faa-muted);
  font-size: 14px;
}
body.faa-2026 .fx-timeline {
  list-style: none;
  position: relative;
}
body.faa-2026 .fx-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 14px;
  padding-bottom: 18px;
}
body.faa-2026 .fx-timeline li:last-child {
  padding-bottom: 0;
}
body.faa-2026 .fx-timeline li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 28px;
  bottom: 0;
  width: 2px;
  background: var(--faa-border);
}
body.faa-2026 .fx-timeline li.is-done:not(:last-child)::after {
  background: var(--faa-aqua-link);
}
body.faa-2026 .fx-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--faa-control, #748294);
  background: var(--faa-surface);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.faa-2026 .is-done .fx-dot {
  background: var(--faa-ok-ink);
  border-color: var(--faa-ok-ink);
}
body.faa-2026 .is-done .fx-dot svg {
  width: 14px;
  height: 14px;
  color: #ffffff;
}
body.faa-2026 .is-current .fx-dot {
  border-color: var(--faa-aqua-link);
  box-shadow: inset 0 0 0 5px #ffffff;
  background: var(--faa-aqua-link);
}
body.faa-2026 .fx-step-name {
  font-weight: 600;
  color: var(--faa-ink);
  font-size: 15px;
  line-height: 1.3;
}
body.faa-2026 .fx-step-state {
  font-size: 13px;
  color: var(--faa-muted);
}

/* Apostille pricing band on the homepage becomes a light surface */
body.faa-2026.fx-home .apo-section {
  background: var(--faa-surface);
  border-top: 1px solid var(--faa-hair);
}
body.faa-2026.fx-home .apo-section::before {
  display: none;
}
body.faa-2026.fx-home .apo-content h2 {
  color: var(--faa-navy);
}
body.faa-2026.fx-home .apo-content p,
body.faa-2026.fx-home .apo-features li {
  color: var(--faa-muted);
}
body.faa-2026.fx-home .apo-features li svg {
  color: var(--faa-aqua-link);
}
body.faa-2026.fx-home .apo-pricing {
  background: var(--faa-canvas);
  border: 1px solid var(--faa-border);
  border-radius: var(--faa-r-sec);
  backdrop-filter: none;
}
body.faa-2026.fx-home .apo-pricing h3 {
  color: var(--faa-aqua-link);
  font-size: 14px;
}
body.faa-2026.fx-home .price-row {
  border-bottom-color: var(--faa-border);
}
body.faa-2026.fx-home .price-label {
  color: var(--faa-muted);
}
body.faa-2026.fx-home .price-value {
  color: var(--faa-navy);
}
body.faa-2026.fx-home .apo-pricing .price-note {
  color: var(--faa-muted) !important;
}

/* For the people you serve */
body.faa-2026 .fx-serve {
  background: var(--faa-sky);
  padding: 72px 24px;
  overflow: hidden;
}
body.faa-2026 .fx-serve-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  gap: 40px;
  align-items: center;
}
body.faa-2026 .fx-serve p {
  color: #3b4757;
  font-size: 17px;
  max-width: 520px;
}
body.faa-2026 .fx-serve .fx-inline-row {
  margin-top: 16px;
}
body.faa-2026 .fx-serve-art svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Close */
body.faa-2026.fx-home .cta-section {
  text-align: left;
  padding: 80px 24px;
}
body.faa-2026.fx-home .cta-inner {
  max-width: 1200px;
}
body.faa-2026.fx-home .cta-section h2 {
  font-size: clamp(32px, 3.6vw, 48px);
}
body.faa-2026.fx-home .cta-section p {
  max-width: 640px;
}
body.faa-2026.fx-home .cta-buttons {
  justify-content: flex-start;
}

@media (max-width: 1024px) {
  body.faa-2026 .fx-hero-grid,
  body.faa-2026 .fx-next-grid,
  body.faa-2026 .fx-serve-grid {
    grid-template-columns: 1fr;
  }
  body.faa-2026 .fx-hero-art {
    min-height: 0;
    max-width: 520px;
  }
  body.faa-2026 .fx-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  body.faa-2026 .fx-hero {
    padding: 112px 16px 64px;
  }
  body.faa-2026 .fx-section,
  body.faa-2026 .fx-serve {
    padding: 64px 16px;
  }
  body.faa-2026 .fx-strip {
    padding: 8px 16px;
  }
  body.faa-2026 .fx-help-grid {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }
  body.faa-2026 .fx-help-item,
  body.faa-2026 .fx-help-item + .fx-help-item {
    border-left: none;
    padding: 28px 0;
  }
  body.faa-2026 .fx-help-item + .fx-help-item {
    border-top: 1px solid var(--faa-border);
  }
  body.faa-2026 .fx-pickup {
    justify-content: flex-start;
  }
  body.faa-2026 .fx-sep {
    display: none;
  }
  body.faa-2026 .fx-card {
    padding: 22px 20px;
  }
  body.faa-2026.fx-home .cta-section {
    padding: 64px 16px;
  }
  body.faa-2026 .fx-hero-actions .btn {
    flex: 1 1 100%;
  }
  body.faa-2026 .fx-hero-art {
    max-width: 340px;
    margin: 8px auto 0;
  }
}

/* Phones: the older pages' footers (up to six columns) and the state-page
   comparison tables ran wider than the screen. Columns may shrink, the
   footer drops to two columns then one, and wide tables scroll inside
   their own box instead of widening the page. */
body.faa-2026 .footer-grid > * {
  min-width: 0;
}
@media (max-width: 768px) {
  body.faa-2026 .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
  }
  body.faa-2026 .compare-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}
@media (max-width: 480px) {
  body.faa-2026 .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Light-section link cards on the partner pages: the cards were styled for a
   navy band but sit on a light one, so their text never showed. */
body.faa-2026 .fx-light-cards .feature-card {
  background: #ffffff;
  border: 1px solid var(--faa-border);
}
body.faa-2026 .fx-light-cards .feature-card h3 {
  color: var(--faa-navy);
}
body.faa-2026 .fx-light-cards .feature-card p {
  color: var(--faa-muted);
}

/* Order confirmation pages carry a slim logo-only header. */
body.faa-2026 .nav-inner > span,
body.faa-2026 .nav-inner > a.logo,
body.faa-2026 .nav-inner > a.call {
  color: #ffffff;
}

/* ---------- Page kit: the homepage's pieces for inner pages ----------
   November 4, 2026: the FBI apostille, fingerprinting and locations pages
   are recomposed from the same parts as the homepage. */
body.faa-2026 .fx-hero h1 em {
  color: var(--faa-aqua);
  font-style: normal;
}
body.faa-2026 .fx-crumbs {
  font-size: 14px;
  color: #aebbcb;
  margin-bottom: 20px;
}
body.faa-2026 .fx-crumbs a {
  color: #c9d4e0;
  text-decoration: none;
}
body.faa-2026 .fx-crumbs a:hover {
  color: #ffffff;
  text-decoration: underline;
}
body.faa-2026 .fx-crumbs span[aria-hidden] {
  margin: 0 8px;
}

/* White panel in the right column of a navy hero: prices, hours, address. */
body.faa-2026 .fx-panel {
  background: var(--faa-surface);
  color: var(--faa-ink);
  border-radius: var(--faa-r-sec);
  padding: 28px 30px;
  box-shadow: 0 24px 60px rgba(4, 10, 20, 0.35);
}
body.faa-2026 .fx-panel-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--faa-aqua-link);
  margin-bottom: 8px;
}
body.faa-2026 .fx-panel h2,
body.faa-2026 .fx-panel h3 {
  font-family: var(--faa-font-display);
  font-weight: 600;
  font-size: 26px;
  line-height: 1.2;
  color: var(--faa-navy);
  margin-bottom: 14px;
}
body.faa-2026 .fx-rows {
  margin: 0 0 16px;
}
body.faa-2026 .fx-rows > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--faa-hair);
}
body.faa-2026 .fx-rows dt {
  color: var(--faa-muted);
  font-size: 15px;
}
body.faa-2026 .fx-rows dd {
  margin: 0;
  text-align: right;
  font-weight: 600;
  color: var(--faa-navy);
  font-size: 15px;
}
body.faa-2026 .fx-rows dd.fx-big {
  font-family: var(--faa-font-display);
  font-size: 24px;
}
body.faa-2026 .fx-rows dd.fx-ok {
  color: var(--faa-success-ink, #176847);
}
body.faa-2026 .fx-panel p {
  color: var(--faa-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 10px;
}
body.faa-2026 .fx-panel .btn {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
}
body.faa-2026 .fx-panel a:not(.btn) {
  color: var(--faa-aqua-link);
}

/* Section header used above grids */
body.faa-2026 .fx-head {
  max-width: 760px;
  margin-bottom: 40px;
}
body.faa-2026 .fx-head.fx-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
body.faa-2026 .fx-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--faa-aqua-link);
  margin-bottom: 10px;
}
body.faa-2026 .fx-surface {
  background: var(--faa-surface);
  border-top: 1px solid var(--faa-hair);
  border-bottom: 1px solid var(--faa-hair);
}

/* Service and location cards */
body.faa-2026 .fx-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 20px;
}
body.faa-2026 .fx-cards.fx-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.faa-2026 .fx-svc {
  display: flex;
  flex-direction: column;
  background: var(--faa-surface);
  border: 1px solid var(--faa-border);
  border-radius: var(--faa-r-sec);
  padding: 26px 26px 22px;
  text-decoration: none;
  color: inherit;
  transition:
    border-color 0.2s var(--faa-ease),
    box-shadow 0.2s var(--faa-ease),
    transform 0.2s var(--faa-ease);
}
body.faa-2026 a.fx-svc:hover {
  border-color: #9fdcea;
  box-shadow: 0 14px 32px rgba(16, 28, 48, 0.08);
  transform: translateY(-2px);
}
body.faa-2026 .fx-svc .fx-tile {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  margin-bottom: 18px;
}
body.faa-2026 .fx-svc .fx-tile svg {
  width: 28px;
  height: 28px;
}
body.faa-2026 .fx-svc h3 {
  font-family: var(--faa-font-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 1.2;
  color: var(--faa-navy);
  margin-bottom: 6px;
}
body.faa-2026 .fx-price {
  font-family: var(--faa-font-display);
  font-weight: 600;
  font-size: 24px;
  color: var(--faa-aqua-link);
  margin-bottom: 10px;
}
body.faa-2026 .fx-price small {
  font-family: var(--faa-font-body, inherit);
  font-size: 14px;
  font-weight: 500;
  color: var(--faa-muted);
}
body.faa-2026 .fx-svc p {
  color: var(--faa-muted);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 14px;
  flex: 1;
}
body.faa-2026 .fx-svc .fx-link {
  margin-top: auto;
}
body.faa-2026 .fx-loc-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
body.faa-2026 .fx-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  background: var(--faa-sky-2, #dceff4);
  color: var(--faa-aqua-link);
  white-space: nowrap;
}
body.faa-2026 .fx-tag.fx-navy {
  background: var(--faa-navy);
  color: #ffffff;
}
body.faa-2026 .fx-loc-rows {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}
body.faa-2026 .fx-loc-rows li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  color: var(--faa-ink);
  font-size: 15px;
  line-height: 1.5;
}
body.faa-2026 .fx-loc-rows svg {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--faa-aqua-link);
}
body.faa-2026 .fx-loc-rows a {
  color: var(--faa-aqua-link);
}
body.faa-2026 .fx-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}
body.faa-2026 .fx-note {
  margin-top: 28px;
  color: var(--faa-muted);
  font-size: 15px;
}
body.faa-2026 .fx-note a {
  color: var(--faa-aqua-link);
}
@media (max-width: 1024px) {
  body.faa-2026 .fx-cards.fx-two {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  body.faa-2026 .fx-panel {
    padding: 22px 20px;
  }
  body.faa-2026 .fx-head {
    margin-bottom: 28px;
  }
}
body.faa-2026 .fx-cards > * {
  min-width: 0;
}
body.faa-2026 .fx-loc-top {
  flex-wrap: wrap;
}
body.faa-2026 .fx-loc-rows span {
  overflow-wrap: anywhere;
}
body.faa-2026 .fx-hero .hero-badge svg {
  width: 16px;
  height: 16px;
  flex: none;
}
