/*
Theme Name: Ample Joy ABA
Theme URI: https://amplejoyabaservices.com/
Author: Falcon Marketing
Author URI: https://falconmarketing.com/
Description: Compassionate, BCBA-led ABA therapy theme for Ample Joy ABA. Converted from the Loveable source with exact design fidelity. Bright, family-friendly palette with Fraunces + Source Sans 3 typography.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ample-joy-aba
*/

/* ==========================================================================
   Design tokens — copied verbatim from Loveable src/styles.css (OKLCH)
   ========================================================================== */
:root {
  --radius: 0.75rem;

  --cream: oklch(0.99 0.008 85);
  --ink: oklch(0.30 0.03 60);

  --background: oklch(0.995 0.006 85);
  --foreground: oklch(0.30 0.03 60);

  --card: oklch(1 0 0);
  --card-foreground: oklch(0.30 0.03 60);

  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.30 0.03 60);

  --primary: oklch(0.74 0.16 35);
  --primary-foreground: oklch(1 0 0);

  --secondary: oklch(0.98 0.015 80);
  --secondary-foreground: oklch(0.30 0.03 60);

  --muted: oklch(0.97 0.012 85);
  --muted-foreground: oklch(0.5 0.02 60);

  --accent: oklch(0.86 0.08 145);
  --accent-foreground: oklch(0.25 0.03 60);

  --mustard: oklch(0.88 0.16 92);
  --coral: oklch(0.76 0.19 30);
  --sage: oklch(0.82 0.13 150);
  --sky: oklch(0.86 0.12 230);
  --lavender: oklch(0.83 0.11 305);
  --peach: oklch(0.87 0.13 55);
  --berry: oklch(0.72 0.17 350);
  --teal: oklch(0.78 0.12 195);
  --cta: oklch(0.68 0.16 200);

  --destructive: oklch(0.6 0.2 27);
  --destructive-foreground: oklch(1 0 0);

  --border: oklch(0.93 0.012 80);
  --input: oklch(0.95 0.01 80);
  --ring: oklch(0.74 0.16 35);

  --font-serif: "Fraunces", "Cormorant Garamond", Georgia, serif;
  --font-sans: "Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; border-color: var(--border); }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 { font-family: var(--font-serif); font-weight: 500; letter-spacing: -0.01em; margin: 0; line-height: 1.15; }
h5, h6 { margin: 0; }
p { margin: 0; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }

.aja-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--foreground); color: var(--background);
  padding: .75rem 1.25rem; border-radius: 0 0 .5rem 0;
}
.aja-skip-link:focus { left: 0; }

/* ==========================================================================
   Layout primitives
   ========================================================================== */
.aja-container { width: 100%; margin-inline: auto; padding-inline: 1.5rem; }
.aja-mw-7xl { max-width: 80rem; }
.aja-mw-6xl { max-width: 72rem; }
.aja-mw-5xl { max-width: 64rem; }
.aja-mw-4xl { max-width: 56rem; }
.aja-mw-3xl { max-width: 48rem; }
.aja-mw-2xl { max-width: 42rem; }
.aja-center { text-align: center; }

.aja-section { padding-block: 5rem; }
.aja-section-lg { padding-block: 6rem; }
.aja-section-sm { padding-block: 4rem; }

/* section eyebrow / header */
.aja-eyebrow {
  display: inline-block; border-radius: 9999px;
  padding: .25rem 1rem; font-size: .75rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.18em;
}
.aja-eyebrow--coral   { background: color-mix(in oklab, var(--coral) 15%, transparent);   color: var(--coral); }
.aja-eyebrow--sage    { background: color-mix(in oklab, var(--sage) 40%, transparent);    color: var(--foreground); }
.aja-eyebrow--mustard { background: color-mix(in oklab, var(--mustard) 40%, transparent); color: var(--foreground); }
.aja-eyebrow--sky     { background: color-mix(in oklab, var(--sky) 40%, transparent);     color: var(--foreground); }

.aja-section-head { }
.aja-section-head.is-center { text-align: center; }
.aja-section-head .aja-h2 {
  margin-top: 1rem; font-family: var(--font-serif);
  font-size: 3rem; line-height: 1.15;
}
.aja-section-head .aja-intro {
  margin-top: 1.25rem; max-width: 42rem; font-size: 1rem; line-height: 1.7;
  color: var(--muted-foreground);
}
.aja-section-head.is-center .aja-intro { margin-inline: auto; }

.aja-h2 { font-family: var(--font-serif); font-size: 2.25rem; line-height: 1.15; }
.aja-lead { color: var(--muted-foreground); }
.section-title {
  font-family: var(--font-sans); text-transform: uppercase;
  letter-spacing: 0.2em; font-size: 0.8rem; font-weight: 500; color: var(--foreground);
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.aja-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  border-radius: 9999px; font-weight: 600; line-height: 1;
  transition: all .2s ease; border: 2px solid transparent; white-space: nowrap;
}
.aja-btn svg { width: 1.25rem; height: 1.25rem; }
.aja-btn--sm { padding: .625rem 1.25rem; font-size: .875rem; }
.aja-btn--md { padding: .75rem 1.5rem; font-size: .875rem; }
.aja-btn--lg { padding: .875rem 1.75rem; font-size: 1rem; }
.aja-btn--lg svg { width: 1.25rem; height: 1.25rem; }

.aja-btn--cta { background: var(--cta); color: #fff; box-shadow: 0 4px 6px -1px rgba(0,0,0,.1); }
.aja-btn--cta:hover { filter: brightness(.95); }
.aja-btn--outline { border-color: color-mix(in oklab, var(--foreground) 15%, transparent); background: var(--background); color: var(--foreground); }
.aja-btn--outline:hover { border-color: color-mix(in oklab, var(--foreground) 40%, transparent); }
.aja-btn--dark { background: var(--foreground); color: var(--background); }
.aja-btn--dark:hover { opacity: .9; }
.aja-btn--white { background: #fff; color: var(--coral); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.aja-btn--white:hover { background: rgba(255,255,255,.9); }
.aja-btn--ghost-white { border-color: rgba(255,255,255,.6); color: #fff; }
.aja-btn--ghost-white:hover { background: rgba(255,255,255,.1); }

.aja-link-arrow { display: inline-flex; align-items: center; gap: .25rem; font-size: .875rem; font-weight: 600; color: var(--coral); transition: gap .2s ease; }
.aja-link-arrow:hover { gap: .5rem; }
.aja-link-arrow svg { width: 1rem; height: 1rem; }

/* ==========================================================================
   Header
   ========================================================================== */
.aja-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--border); background: color-mix(in oklab, var(--background) 95%, transparent); backdrop-filter: blur(8px); }
.aja-topbar { background: color-mix(in oklab, var(--sage) 30%, transparent); color: color-mix(in oklab, var(--foreground) 80%, transparent); }
.aja-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .375rem 1.5rem; max-width: 80rem; margin-inline: auto; font-size: .75rem; }
.aja-topbar__phone { display: inline-flex; align-items: center; gap: .375rem; }
.aja-topbar__phone:hover { text-decoration: underline; }
.aja-topbar__phone svg { width: .75rem; height: .75rem; }
@media (max-width: 639px) { .aja-topbar__msg { display: none; } }

.aja-header__bar { max-width: 80rem; margin-inline: auto; padding: 1.25rem 1.5rem; }
.aja-header__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.aja-brand { display: inline-flex; align-items: center; gap: .75rem; flex-shrink: 0; }
.aja-brand__mark { height: 2.5rem; width: auto; }
.aja-brand__text { display: flex; flex-direction: column; line-height: 1; }
.aja-brand__name { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 600; color: var(--foreground); }
.aja-brand__tag { margin-top: .25rem; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--coral); }

.aja-nav { display: none; }
.aja-nav ul { display: flex; align-items: center; gap: .25rem; font-size: .875rem; font-weight: 500; }
.aja-nav a { border-radius: 9999px; padding: .5rem .75rem; transition: background .2s ease; }
.aja-nav a:hover { background: color-mix(in oklab, var(--sage) 30%, transparent); }
.aja-nav .current-menu-item > a,
.aja-nav a.is-active { background: color-mix(in oklab, var(--sage) 40%, transparent); color: var(--foreground); }

.aja-header__actions { display: flex; align-items: center; gap: .5rem; }
.aja-header__cta { display: none; }
.aja-nav-toggle { display: inline-flex; border-radius: 9999px; border: 1px solid var(--border); padding: .5rem; background: transparent; }
.aja-nav-toggle svg { width: 1.25rem; height: 1.25rem; }
.aja-nav-toggle .aja-icon-close { display: none; }
.aja-nav-toggle.is-open .aja-icon-menu { display: none; }
.aja-nav-toggle.is-open .aja-icon-close { display: block; }

.aja-mobile-nav { display: none; margin-top: 1rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.aja-mobile-nav.is-open { display: block; }
.aja-mobile-nav ul { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; font-size: .875rem; }
.aja-mobile-nav a { display: block; border-radius: .5rem; padding: .5rem .75rem; }
.aja-mobile-nav a:hover { background: var(--secondary); }

@media (min-width: 768px) { .aja-header__cta { display: inline-flex; } .aja-brand__mark { height: 3rem; } .aja-brand__name { font-size: 1.5rem; } .aja-brand__tag { font-size: .75rem; } }
@media (min-width: 1024px) { .aja-nav { display: block; } .aja-nav-toggle { display: none; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.aja-footer { margin-top: 6rem; border-top: 1px solid var(--border); background: color-mix(in oklab, var(--sage) 20%, transparent); }
.aja-footer__grid { display: grid; gap: 2.5rem; max-width: 80rem; margin-inline: auto; padding: 4rem 1.5rem; }
.aja-footer__desc { margin-top: 1rem; font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-footer__mark { height: 3rem; width: auto; }
.aja-footer__heading { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--coral); }
.aja-footer__contact { margin-top: 1rem; display: flex; flex-direction: column; gap: .625rem; font-size: .875rem; }
.aja-footer__contact li { display: flex; align-items: center; gap: .5rem; }
.aja-footer__contact li.is-start { align-items: flex-start; }
.aja-footer__contact svg { width: 1rem; height: 1rem; flex-shrink: 0; color: var(--coral); }
.aja-footer__contact a:hover { text-decoration: underline; }
.aja-footer__links { margin-top: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1rem; font-size: .875rem; }
.aja-footer__links a:hover { text-decoration: underline; }
.aja-footer__bottom { border-top: 1px solid var(--border); padding: 1.5rem; text-align: center; font-size: .75rem; color: var(--muted-foreground); }
.aja-footer__bottom svg { display: inline; width: .75rem; height: .75rem; color: var(--coral); vertical-align: -1px; }
@media (min-width: 768px) { .aja-footer__grid { grid-template-columns: repeat(3, 1fr); } .aja-footer__mark { height: 3.5rem; } }

/* ==========================================================================
   Home — Hero
   ========================================================================== */
.aja-hero { position: relative; overflow: hidden; background-image: linear-gradient(to bottom right, color-mix(in oklab, var(--sage) 40%, transparent), color-mix(in oklab, var(--peach) 25%, transparent), color-mix(in oklab, var(--lavender) 35%, transparent)); }
.aja-blob { position: absolute; border-radius: 9999px; filter: blur(48px); pointer-events: none; }
.aja-hero__inner { position: relative; margin-inline: auto; max-width: 80rem; display: grid; align-items: center; gap: 3rem; padding: 4rem 1.5rem; }
.aja-hero__badge { display: inline-flex; align-items: center; gap: .5rem; border-radius: 9999px; background: color-mix(in oklab, var(--coral) 15%, transparent); padding: .375rem 1rem; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; color: var(--coral); }
.aja-hero__badge svg { width: .875rem; height: .875rem; }
.aja-hero__title { margin-top: 1.25rem; font-family: var(--font-serif); font-size: 3rem; line-height: 1.05; letter-spacing: -0.02em; color: var(--foreground); }
.aja-hero__tagline { margin-top: 1.25rem; font-family: var(--font-serif); font-size: 1.25rem; font-style: italic; color: color-mix(in oklab, var(--foreground) 70%, transparent); }
.aja-hero__intro { margin-top: 1.25rem; max-width: 36rem; font-size: 1.125rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-hero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.aja-hero__badges { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; max-width: 28rem; }
.aja-hero__badges > div { display: flex; flex-direction: column; align-items: center; text-align: center; font-size: .75rem; }
.aja-hero__badge-ico { display: flex; height: 2.5rem; width: 2.5rem; align-items: center; justify-content: center; border-radius: 9999px; background: color-mix(in oklab, var(--sage) 40%, transparent); color: var(--ink); }
.aja-hero__badge-ico svg { width: 1.25rem; height: 1.25rem; }
.aja-hero__badges span.aja-hero__badge-label { margin-top: .5rem; font-weight: 500; color: var(--muted-foreground); }

.aja-hero__card-wrap { position: relative; }
.aja-hero__deco { position: absolute; display: none; }
.aja-hero__deco--1 { top: -1.5rem; left: -1.5rem; height: 6rem; width: 6rem; transform: rotate(6deg); border-radius: 1.5rem; background: color-mix(in oklab, var(--mustard) 60%, transparent); }
.aja-hero__deco--2 { bottom: -1.5rem; right: -1.5rem; height: 7rem; width: 7rem; transform: rotate(-12deg); border-radius: 9999px; background: color-mix(in oklab, var(--coral) 30%, transparent); }
.aja-hero__card { position: relative; overflow: hidden; border-radius: 1.5rem; background: var(--background); box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); box-shadow: 0 20px 40px -12px rgba(0,0,0,.18); outline: 1px solid var(--border); }
.aja-hero__card img { height: 20rem; width: 100%; object-fit: cover; object-position: top; }
.aja-hero__form { padding: .5rem; }

@media (min-width: 768px) { .aja-hero__deco { display: block; } .aja-hero__form { padding: .75rem; } }
@media (min-width: 768px) { .aja-hero__title { font-size: 3.75rem; } }
@media (min-width: 1024px) {
  .aja-hero__inner { grid-template-columns: 1.1fr 1fr; padding-block: 6rem; }
  .aja-hero__title { font-size: 4.5rem; }
}

/* Trust strip */
.aja-trust { border-block: 1px solid var(--border); background: color-mix(in oklab, var(--sage) 20%, transparent); }
.aja-trust__grid { margin-inline: auto; max-width: 80rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; padding: 2.5rem 1.5rem; }
.aja-trust__num { font-family: var(--font-serif); font-size: 2.25rem; color: var(--coral); }
.aja-trust__label { margin-top: .25rem; font-size: .75rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--muted-foreground); }
@media (min-width: 768px) { .aja-trust__grid { grid-template-columns: repeat(4, 1fr); } }

/* ==========================================================================
   Service cards (home + services)
   ========================================================================== */
.aja-cards { display: grid; gap: 1.5rem; }
.aja-cards--2 { grid-template-columns: 1fr; }
.aja-cards--3 { grid-template-columns: 1fr; }
.aja-cards--4 { grid-template-columns: 1fr; }
@media (min-width: 640px) { .aja-cards--2, .aja-cards--3, .aja-cards--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .aja-cards--3 { grid-template-columns: repeat(3, 1fr); } .aja-cards--4 { grid-template-columns: repeat(4, 1fr); } }

.aja-card {
  height: 100%; border-radius: 1.5rem; border: 1px solid var(--border);
  background: var(--background); padding: 1.75rem; transition: transform .2s ease, box-shadow .2s ease;
}
.aja-card:hover { transform: translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); }
.aja-card__ico { display: inline-flex; height: 3.5rem; width: 3.5rem; align-items: center; justify-content: center; border-radius: 1rem; color: var(--foreground); }
.aja-card__ico svg { width: 1.75rem; height: 1.75rem; }
.aja-card__title { margin-top: 1.25rem; font-family: var(--font-serif); font-size: 1.25rem; }
.aja-card__body { margin-top: .75rem; font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-card__link { margin-top: 1.25rem; }

/* tint helper — set --tint inline, choose mix strength via modifier */
.aja-tile { display: inline-flex; align-items: center; justify-content: center; border-radius: 1rem; }
.aja-tile--sm { height: 3.5rem; width: 3.5rem; }
.aja-tile svg { width: 1.75rem; height: 1.75rem; }

/* ==========================================================================
   Mission (home)
   ========================================================================== */
.aja-mission { background: color-mix(in oklab, var(--sage) 15%, transparent); }
.aja-mission__grid { margin-inline: auto; max-width: 80rem; display: grid; align-items: center; gap: 3rem; padding: 6rem 1.5rem; }
.aja-mission__media { position: relative; }
.aja-mission__media::before { content: ""; position: absolute; inset: -1rem; z-index: -1; border-radius: 2rem; background: color-mix(in oklab, var(--coral) 20%, transparent); }
.aja-mission__media img { width: 100%; border-radius: 1.75rem; object-fit: cover; aspect-ratio: 1/1; }
.aja-mission__title { margin-top: 1rem; font-family: var(--font-serif); font-size: 2.25rem; line-height: 1.2; }
.aja-mission__text { margin-top: 1.5rem; font-size: 1rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-mission__feats { margin-top: 2rem; display: grid; gap: 1rem; }
.aja-mission__feat { display: flex; gap: .75rem; }
.aja-mission__feat-ico { display: flex; height: 2.5rem; width: 2.5rem; flex-shrink: 0; align-items: center; justify-content: center; border-radius: .75rem; background: var(--background); color: var(--coral); box-shadow: inset 0 0 0 1px var(--border); }
.aja-mission__feat-ico svg { width: 1.25rem; height: 1.25rem; }
.aja-mission__feat p.t { font-weight: 600; }
.aja-mission__feat p.d { font-size: .875rem; color: var(--muted-foreground); }
@media (min-width: 640px) { .aja-mission__feats { grid-template-columns: 1fr 1fr; } }
@media (min-width: 768px) { .aja-mission__title { font-size: 3rem; } }
@media (min-width: 1024px) { .aja-mission__grid { grid-template-columns: 1fr 1fr; } }

/* ==========================================================================
   Insurance logos
   ========================================================================== */
.aja-ins-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.aja-ins-card {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  height: 7rem; border-radius: 1rem; border: 1px solid var(--border); background: var(--background);
  padding: .75rem 1rem; transition: border-color .2s ease, box-shadow .2s ease;
}
.aja-ins-card:hover { border-color: color-mix(in oklab, var(--coral) 40%, transparent); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.aja-ins-card img { max-height: 3.5rem; max-width: 150px; object-fit: contain; opacity: .9; transition: opacity .2s ease; }
.aja-ins-card:hover img { opacity: 1; }
.aja-ins-card__note { margin-top: .5rem; border-radius: 9999px; background: color-mix(in oklab, var(--mustard) 30%, transparent); padding: .125rem .5rem; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: color-mix(in oklab, var(--foreground) 80%, transparent); }
@media (min-width: 640px) { .aja-ins-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .aja-ins-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .aja-ins-grid { grid-template-columns: repeat(5, 1fr); } }

/* ==========================================================================
   CTA band (home + inner pages)
   ========================================================================== */
.aja-cta { position: relative; overflow: hidden; }
.aja-cta__inner { margin-inline: auto; max-width: 80rem; padding: 6rem 1.5rem; }
.aja-cta__box {
  position: relative; overflow: hidden; border-radius: 2rem; text-align: center; color: #fff;
  padding: 3rem; background-image: linear-gradient(to bottom right, var(--coral), var(--berry), var(--mustard));
}
.aja-cta__dots { position: absolute; inset: 0; opacity: .2; pointer-events: none; }
.aja-cta__dots span { position: absolute; border-radius: 9999px; background: #fff; }
.aja-cta__dots span:nth-child(1) { left: 2.5rem; top: 2.5rem; height: 6rem; width: 6rem; }
.aja-cta__dots span:nth-child(2) { right: 3rem; bottom: 3rem; height: 8rem; width: 8rem; }
.aja-cta__ico { margin-inline: auto; width: 2.5rem; height: 2.5rem; }
.aja-cta__title { margin-top: 1rem; font-family: var(--font-serif); font-size: 2.25rem; }
.aja-cta__text { margin-inline: auto; margin-top: 1rem; max-width: 36rem; font-size: 1rem; line-height: 1.7; color: rgba(255,255,255,.9); }
.aja-cta__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; }
@media (min-width: 768px) { .aja-cta__box { padding: 5rem; } .aja-cta__title { font-size: 3rem; } }

/* ==========================================================================
   Page hero (inner pages)
   ========================================================================== */
.aja-phero { position: relative; overflow: hidden; border-bottom: 1px solid var(--border); background-image: linear-gradient(to bottom right, color-mix(in oklab, var(--sage) 25%, transparent), var(--background), color-mix(in oklab, var(--coral) 15%, transparent)); }
.aja-phero__inner { position: relative; margin-inline: auto; max-width: 56rem; padding: 5rem 1.5rem; text-align: center; }
.aja-phero__title { margin-top: 1.25rem; font-family: var(--font-serif); font-size: 3rem; line-height: 1.05; letter-spacing: -0.02em; color: var(--foreground); }
.aja-phero__intro { margin-inline: auto; margin-top: 1.5rem; max-width: 42rem; font-size: 1.125rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-phero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; }
@media (min-width: 768px) { .aja-phero__title { font-size: 3.75rem; } }

/* ==========================================================================
   ZigZag
   ========================================================================== */
.aja-zigzag { display: flex; flex-direction: column; gap: 5rem; }
.aja-zz { display: grid; align-items: center; gap: 2.5rem; }
.aja-zz__media { position: relative; }
.aja-zz__media::before { content: ""; position: absolute; inset: -0.75rem; z-index: -1; border-radius: 2rem; background: color-mix(in oklab, var(--mustard) 30%, transparent); }
.aja-zz__media img { aspect-ratio: 4/3; width: 100%; border-radius: 1.75rem; object-fit: cover; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.aja-zz__block { display: flex; aspect-ratio: 4/3; align-items: center; justify-content: center; border-radius: 1.75rem; }
.aja-zz__block > span { height: 6rem; width: 6rem; border-radius: 9999px; background: color-mix(in oklab, var(--background) 70%, transparent); backdrop-filter: blur(4px); }
.aja-zz__eyebrow { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--coral); }
.aja-zz__title { margin-top: .75rem; font-family: var(--font-serif); font-size: 1.875rem; }
.aja-zz__body { margin-top: 1rem; font-size: 1rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-zz__list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .75rem; }
.aja-zz__list li { display: flex; align-items: flex-start; gap: .75rem; font-size: .875rem; }
.aja-zz__check { margin-top: .125rem; display: flex; height: 1.5rem; width: 1.5rem; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 9999px; background: color-mix(in oklab, var(--sage) 40%, transparent); color: var(--ink); }
.aja-zz__check svg { width: .875rem; height: .875rem; }
.aja-zz__list span.txt { line-height: 1.6; color: color-mix(in oklab, var(--foreground) 90%, transparent); }
@media (min-width: 768px) {
  .aja-zigzag { gap: 7rem; }
  .aja-zz { grid-template-columns: 1fr 1fr; gap: 4rem; }
  .aja-zz.is-reversed .aja-zz__media { order: 2; }
  .aja-zz__title { font-size: 2.25rem; }
}

/* ==========================================================================
   Timeline
   ========================================================================== */
.aja-timeline { display: grid; gap: 1.5rem; }
.aja-tl { position: relative; display: flex; height: 100%; flex-direction: column; border-radius: 1.5rem; border: 1px solid var(--border); background: var(--background); padding: 1.75rem; transition: transform .2s ease, box-shadow .2s ease; }
.aja-tl:hover { transform: translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.aja-tl__num { display: flex; height: 3rem; width: 3rem; align-items: center; justify-content: center; border-radius: 1rem; font-family: var(--font-serif); font-size: 1.25rem; font-weight: 600; color: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.aja-tl__title { margin-top: 1.25rem; font-family: var(--font-serif); font-size: 1.25rem; }
.aja-tl__body { margin-top: .5rem; font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
@media (min-width: 768px) { .aja-timeline { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .aja-timeline { grid-template-columns: repeat(4, 1fr); } }

/* ==========================================================================
   Feature grid
   ========================================================================== */
.aja-fgrid { display: grid; gap: 1.5rem; }
.aja-fcard { height: 100%; border-radius: 1.5rem; border: 1px solid var(--border); padding: 1.75rem; transition: transform .2s ease, box-shadow .2s ease; background: color-mix(in oklab, var(--tint, var(--sage)) 28%, white); }
.aja-fcard:hover { transform: translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.aja-fcard__ico { display: inline-flex; height: 3rem; width: 3rem; align-items: center; justify-content: center; border-radius: 1rem; background: color-mix(in oklab, var(--background) 90%, transparent); box-shadow: 0 1px 2px rgba(0,0,0,.05); color: color-mix(in oklab, var(--tint, var(--sage)) 75%, var(--ink)); }
.aja-fcard__ico svg { width: 1.5rem; height: 1.5rem; }
.aja-fcard__title { margin-top: 1.25rem; font-family: var(--font-serif); font-size: 1.25rem; }
.aja-fcard__body { margin-top: .5rem; font-size: .875rem; line-height: 1.7; color: color-mix(in oklab, var(--foreground) 80%, transparent); }
@media (min-width: 640px) { .aja-fgrid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .aja-fgrid { grid-template-columns: repeat(3, 1fr); } }

/* ==========================================================================
   Band, StatRow, PullQuote
   ========================================================================== */
.aja-band { border-block: 1px solid var(--border); }
.aja-band--sage    { background: color-mix(in oklab, var(--sage) 25%, transparent); }
.aja-band--coral   { background: color-mix(in oklab, var(--coral) 12%, transparent); }
.aja-band--mustard { background: color-mix(in oklab, var(--mustard) 25%, transparent); }
.aja-band--sky     { background: color-mix(in oklab, var(--sky) 25%, transparent); }
.aja-band__inner { margin-inline: auto; max-width: 72rem; padding: 5rem 1.5rem; }
@media (min-width: 768px) { .aja-band__inner { padding-block: 6rem; } }

.aja-statrow { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.aja-statrow__num { font-family: var(--font-serif); font-size: 2.25rem; color: var(--coral); }
.aja-statrow__label { margin-top: .5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--muted-foreground); }
@media (min-width: 768px) { .aja-statrow { grid-template-columns: repeat(4, 1fr); } .aja-statrow__num { font-size: 3rem; } }

.aja-quote { margin-inline: auto; max-width: 48rem; text-align: center; }
.aja-quote blockquote { font-family: var(--font-serif); font-size: 1.875rem; line-height: 1.35; margin: 0; }
.aja-quote figcaption { margin-top: 1.5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--muted-foreground); }
@media (min-width: 768px) { .aja-quote blockquote { font-size: 2.25rem; } }

/* ==========================================================================
   FAQ (native details/summary)
   ========================================================================== */
.aja-faq { margin-inline: auto; max-width: 56rem; padding: 5rem 1.5rem; }
.aja-faq__list { margin-top: 2.5rem; display: flex; flex-direction: column; gap: .75rem; }
.aja-faq__item { border-radius: 1rem; border: 1px solid var(--border); background: var(--background); padding: 0 1.25rem; }
.aja-faq__item[open] { background: color-mix(in oklab, var(--sage) 15%, transparent); }
.aja-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; padding: 1.25rem 0; font-family: var(--font-serif); font-size: 1.125rem; font-weight: 500; }
.aja-faq__q::-webkit-details-marker { display: none; }
.aja-faq__q svg { width: 1rem; height: 1rem; flex-shrink: 0; transition: transform .2s ease; color: var(--muted-foreground); }
.aja-faq__item[open] .aja-faq__q svg { transform: rotate(180deg); }
.aja-faq__a { padding: 0 0 1.25rem; font-size: 1rem; line-height: 1.7; color: var(--muted-foreground); }

/* ==========================================================================
   Anchor nav
   ========================================================================== */
.aja-anchornav { position: sticky; top: 68px; z-index: 30; border-block: 1px solid var(--border); background: color-mix(in oklab, var(--background) 85%, transparent); backdrop-filter: blur(8px); padding: .75rem 1.5rem; margin-bottom: 3rem; }
.aja-anchornav ul { margin-inline: auto; max-width: 64rem; display: flex; align-items: center; gap: .25rem; overflow-x: auto; font-size: .875rem; }
.aja-anchornav li { flex-shrink: 0; }
.aja-anchornav a { display: inline-flex; align-items: center; gap: .25rem; border-radius: 9999px; padding: .375rem 1rem; color: var(--muted-foreground); transition: all .2s ease; }
.aja-anchornav a:hover { background: color-mix(in oklab, var(--sage) 30%, transparent); color: var(--foreground); }
.aja-anchornav a.is-active { background: var(--cta); color: #fff; }
@media (min-width: 768px) { .aja-anchornav { top: 119px; } }

/* ==========================================================================
   Prose
   ========================================================================== */
.aja-prose { margin-inline: auto; max-width: 48rem; padding: 5rem 1.5rem; }
.aja-prose > * + * { margin-top: 1.5rem; }
.aja-prose h2 { font-family: var(--font-serif); font-size: 1.875rem; margin-top: 3rem; margin-bottom: .5rem; }
.aja-prose h3 { font-family: var(--font-serif); font-size: 1.5rem; margin-top: 2rem; }
.aja-prose p { font-size: 1rem; line-height: 1.7; color: color-mix(in oklab, var(--foreground) 90%, transparent); }
.aja-prose ul { list-style: disc; padding-left: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.aja-prose a { text-decoration: underline; color: var(--coral); }

/* ==========================================================================
   Services page — TRICARE band
   ========================================================================== */
.aja-tricare-wrap { margin-inline: auto; max-width: 72rem; padding: 2.5rem 1.5rem; }
.aja-tricare { position: relative; overflow: hidden; border-radius: 2rem; border: 2px solid color-mix(in oklab, var(--sage) 50%, transparent); padding: 2rem; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); background-image: linear-gradient(to bottom right, color-mix(in oklab, var(--sage) 25%, transparent), var(--cream), color-mix(in oklab, var(--mustard) 20%, transparent)); }
.aja-tricare__row { position: relative; display: flex; flex-direction: column; gap: 2rem; }
.aja-tricare__logo { flex-shrink: 0; border-radius: 1.5rem; background: var(--background); border: 2px solid var(--border); padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 6px -1px rgba(0,0,0,.1); }
.aja-tricare__logo img { height: 5rem; width: auto; object-fit: contain; }
.aja-tricare__eyebrow { display: inline-block; border-radius: 9999px; background: color-mix(in oklab, var(--coral) 15%, transparent); padding: .25rem 1rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--coral); }
.aja-tricare__title { margin-top: .75rem; font-family: var(--font-serif); font-size: 1.875rem; line-height: 1.2; }
.aja-tricare__text { margin-top: 1rem; font-size: 1.125rem; line-height: 1.7; color: color-mix(in oklab, var(--foreground) 80%, transparent); }
@media (min-width: 768px) {
  .aja-tricare { padding: 3.5rem; }
  .aja-tricare__row { flex-direction: row; align-items: center; gap: 3rem; }
  .aja-tricare__logo img { height: 7rem; }
  .aja-tricare__title { font-size: 3rem; }
}

/* ==========================================================================
   Locations
   ========================================================================== */
.aja-loc-grid { margin-top: 3.5rem; display: grid; gap: 2rem; }
.aja-loc-card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border-radius: 1.5rem; border: 1px solid var(--border); background: var(--background); box-shadow: 0 1px 2px rgba(0,0,0,.05); transition: transform .2s ease, box-shadow .2s ease; }
.aja-loc-card:hover { transform: translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.aja-loc-card__map { aspect-ratio: 4/3; width: 100%; overflow: hidden; background: var(--muted); }
.aja-loc-card__map iframe { height: 100%; width: 100%; border: 0; }
.aja-loc-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.75rem; }
.aja-loc-card__tag { width: fit-content; border-radius: 9999px; padding: .25rem .75rem; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; }
.aja-loc-card__name { margin-top: .75rem; font-family: var(--font-serif); font-size: 1.5rem; }
.aja-loc-card__addr { margin-top: .75rem; display: flex; align-items: flex-start; gap: .5rem; font-size: .875rem; color: color-mix(in oklab, var(--foreground) 80%, transparent); }
.aja-loc-card__addr svg { margin-top: .125rem; width: 1rem; height: 1rem; flex-shrink: 0; color: var(--coral); }
.aja-loc-card__addr a:hover { text-decoration: underline; }
.aja-loc-card__phone { margin-top: .75rem; display: flex; align-items: center; gap: .5rem; font-size: .875rem; }
.aja-loc-card__phone svg { width: 1rem; height: 1rem; color: var(--coral); }
.aja-loc-card__phone a { font-family: var(--font-serif); font-size: 1.125rem; }
.aja-loc-card__phone a:hover { text-decoration: underline; }
.aja-loc-card__region { margin-top: .75rem; font-size: .875rem; font-style: italic; color: var(--muted-foreground); }
.aja-loc-card__dir { margin-top: 1.5rem; display: inline-flex; width: fit-content; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 600; color: var(--coral); }
.aja-loc-card__dir:hover { text-decoration: underline; }
.aja-loc-card__dir svg { width: .875rem; height: .875rem; }
@media (min-width: 1024px) { .aja-loc-grid { grid-template-columns: repeat(3, 1fr); } }

.aja-comm-grid { margin-top: 3rem; display: grid; gap: 1.5rem; }
.aja-comm { height: 100%; border-radius: 1.5rem; border: 1px solid var(--border); padding: 1.75rem; }
.aja-comm__region { font-family: var(--font-serif); font-size: 1.5rem; }
.aja-comm__cities { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.aja-comm__cities li { border-radius: 9999px; background: color-mix(in oklab, var(--background) 80%, transparent); padding: .375rem .75rem; font-size: .875rem; color: color-mix(in oklab, var(--foreground) 85%, transparent); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.aja-comm__more { margin-top: 1.25rem; font-size: .75rem; font-style: italic; color: color-mix(in oklab, var(--foreground) 70%, transparent); }
@media (min-width: 768px) { .aja-comm-grid { grid-template-columns: repeat(3, 1fr); } }

.aja-tele-wrap { margin-inline: auto; max-width: 64rem; padding: 6rem 1.5rem; }
.aja-tele { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; border-radius: 2rem; border: 1px solid var(--border); background: color-mix(in oklab, var(--sky) 25%, transparent); padding: 2.5rem; text-align: center; }
.aja-tele__ico { display: inline-flex; height: 3.5rem; width: 3.5rem; align-items: center; justify-content: center; border-radius: 1rem; background: color-mix(in oklab, var(--background) 80%, transparent); color: var(--coral); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.aja-tele__ico svg { width: 1.5rem; height: 1.5rem; }
.aja-tele__title { font-family: var(--font-serif); font-size: 1.875rem; }
.aja-tele__text { max-width: 42rem; font-size: 1rem; line-height: 1.7; color: color-mix(in oklab, var(--foreground) 80%, transparent); }
@media (min-width: 768px) { .aja-tele { padding: 3.5rem; } .aja-tele__title { font-size: 2.25rem; } }

/* ==========================================================================
   Careers
   ========================================================================== */
.aja-pos-grid { margin-top: 3rem; display: grid; gap: 1.25rem; }
.aja-pos { display: flex; height: 100%; flex-direction: column; border-radius: 1.5rem; border: 1px solid var(--border); background: var(--background); padding: 1.75rem; transition: transform .2s ease, box-shadow .2s ease; }
.aja-pos:hover { transform: translateY(-4px); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.aja-pos__tags { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.aja-chip { display: inline-flex; align-items: center; gap: .25rem; border-radius: 9999px; padding: .25rem .75rem; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; }
.aja-chip svg { width: .75rem; height: .75rem; }
.aja-chip--mustard { background: color-mix(in oklab, var(--mustard) 40%, transparent); }
.aja-chip--coral { background: color-mix(in oklab, var(--coral) 15%, transparent); color: var(--coral); }
.aja-chip--sky { background: color-mix(in oklab, var(--sky) 30%, transparent); color: color-mix(in oklab, var(--foreground) 80%, transparent); font-size: .75rem;text-transform: none;letter-spacing: 0; }
.aja-pos__title { margin-top: 1rem; font-family: var(--font-serif); font-size: 1.5rem; }
.aja-pos__blurb { margin-top: .5rem; font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
.aja-pos__loc { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.aja-pos__actions { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.aja-pos__btn-outline { display: inline-flex; align-items: center; gap: .5rem; border-radius: 9999px; border: 2px solid color-mix(in oklab, var(--foreground) 20%, transparent); background: var(--background); padding: .625rem 1.25rem; font-size: .875rem; font-weight: 600; color: var(--foreground); transition: border-color .2s ease; }
.aja-pos__btn-outline:hover { border-color: color-mix(in oklab, var(--foreground) 40%, transparent); }
@media (min-width: 768px) { .aja-pos-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .aja-pos-grid { grid-template-columns: repeat(3, 1fr); } }

/* Careers modal */
.aja-modal { position: fixed; inset: 0; z-index: 60; display: none; align-items: center; justify-content: center; padding: 1rem; }
.aja-modal.is-open { display: flex; }
.aja-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.aja-modal__panel { position: relative; z-index: 1; width: 100%; max-width: 42rem; max-height: 85vh; overflow-y: auto; border-radius: 1rem; background: var(--background); padding: 1.5rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.35); }
.aja-modal__close { position: absolute; top: 1rem; right: 1rem; display: inline-flex; height: 2rem; width: 2rem; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid var(--border); background: var(--background); }
.aja-modal__close svg { width: 1rem; height: 1rem; }
.aja-modal__title { font-family: var(--font-serif); font-size: 1.5rem; }
.aja-modal__meta { margin-top: .25rem; font-size: .875rem; color: var(--muted-foreground); }
.aja-modal__body { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1.5rem; font-size: .875rem; line-height: 1.7; }
.aja-modal__body h4 { font-family: var(--font-serif); font-size: 1.125rem; color: var(--foreground); }
.aja-modal__body ul { margin-top: .5rem; list-style: disc; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .25rem; color: var(--muted-foreground); }
.aja-modal__body p { margin-top: .5rem; color: var(--muted-foreground); }
.aja-modal__footer { margin-top: 1.5rem; display: flex; justify-content: flex-end; }

/* iframe form embeds */
.aja-form-embed { width: 100%; border: none; display: block; min-height: 520px; }
.aja-form-note { margin-top: 1rem; text-align: center; font-size: .875rem; color: var(--muted-foreground); }
.aja-form-note a { text-decoration: underline; }

/* Contact */
.aja-contact-grid { display: grid; gap: 4rem; }
.aja-contact__list { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 1rem; font-size: 1rem; }
.aja-contact__list .lbl { font-size: .75rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--muted-foreground); }
.aja-contact__list .big { font-family: var(--font-serif); font-size: 1.5rem; }
.aja-contact__list .med { font-family: var(--font-serif); font-size: 1.25rem; }
.aja-contact__hours { margin-top: 1rem; font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
@media (min-width: 1024px) { .aja-contact-grid { grid-template-columns: 1fr 1.2fr; } }

/* generic gradient section used on services */
.aja-soft-grad { background-image: linear-gradient(to bottom right, color-mix(in oklab, var(--sage) 15%, transparent), color-mix(in oklab, var(--lavender) 15%, transparent), color-mix(in oklab, var(--peach) 15%, transparent)); }

/* utility spacing helpers used in templates */
.aja-mt-10 { margin-top: 2.5rem; }
.aja-mt-12 { margin-top: 3rem; }
.aja-mt-14 { margin-top: 3.5rem; }
.aja-mt-16 { margin-top: 4rem; }
.aja-scroll-mt { scroll-margin-top: 8rem; }

/* 404 */
.aja-404 { display: flex; min-height: 70vh; align-items: center; justify-content: center; padding: 1rem; }
.aja-404__box { max-width: 28rem; text-align: center; }
.aja-404__code { font-family: var(--font-serif); font-size: 4.5rem; }
.aja-404__title { margin-top: 1rem; font-family: var(--font-serif); font-size: 1.25rem; }
.aja-404__text { margin-top: .5rem; font-size: .875rem; color: var(--muted-foreground); }
.aja-404__link { margin-top: 1.5rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--foreground); padding: .5rem 1.25rem; font-size: .75rem; text-transform: uppercase; letter-spacing: 0.2em; transition: all .2s ease; }
.aja-404__link:hover { background: var(--foreground); color: var(--background); }
.hearticon {text-align: center;display: block;}
@media(max-width:767px){
	.aja-section-head .aja-h2{font-size: 2rem;}
	.aja-hero__title{font-size: 2rem;}
	.aja-cta__box{padding:3rem 2rem;}
	.aja-cta__title{font-size: 2rem;}
}