/*! An Energetic Journey: "Dawn to Sunrise" (Ey3). Live 8 Oct 2026; site-wide from the child theme 9 Oct 2026.
 * Generated by build-kit/build/make_css.py from css/_base.css, css/_icons.css, css/_bb.css and
 * build/site-overrides.css. Edit those and rebuild (or copy any edit made here back into the kit).
 * Fonts: ../fonts, SIL Open Font License 1.1. */
/*!
 * An Energetic Journey: "Dawn to Sunrise" design system
 * For the ey3-theme child theme (GeneratePress 3.6 + Beaver Builder 2.11 + Themer).
 * Built from Anita's Claude Design canvas (Version 2) and the handover notes, 7 Oct 2026.
 *
 * SCOPE: these sources scope base element styles to the aej-dawn body class. Since 9 Oct 2026
 * the design covers the whole site, and build/make_css.py writes those rules for plain body
 * (the specificity the pages were tested with on the live site). Component classes are all
 * prefixed .aej- and do nothing unless used.
 *
 * BEAVER BUILDER: add classes under a module/column/row's Advanced tab → Class.
 * Leave BB colour and typography settings blank where a class is used, so these rules win.
 */

/* ---------------------------------------------------------------
   1. Fonts: self-hosted, SIL Open Font License (see /fonts)
   --------------------------------------------------------------- */
@font-face { font-family: 'Figtree'; src: url('../fonts/figtree-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Figtree'; src: url('../fonts/figtree-latin-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Figtree'; src: url('../fonts/figtree-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Figtree'; src: url('../fonts/figtree-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Figtree'; src: url('../fonts/figtree-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Instrument Serif'; src: url('../fonts/instrument-serif-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Instrument Serif'; src: url('../fonts/instrument-serif-latin-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }

/* Fallbacks sized to match the web fonts (8 Oct). Until Instrument Serif and Figtree arrive, the text is
   drawn in a local font scaled to the same width and line position, so nothing jumps when they swap in
   (Instrument Serif is much narrower than Georgia; that jump was the phone layout shift, CLS 0.1).
   Generated from @capsizecss/metrics with build/fonts-fallback.mjs. */
@font-face { font-family: 'AEJ Serif Fallback'; src: local('Times New Roman'), local('TimesNewRomanPSMT'), local('Liberation Serif'), local('LiberationSerif'), local('Tinos'), local('Tinos-Regular'); size-adjust: 83.94%; ascent-override: 117.94%; descent-override: 36.93%; line-gap-override: 0.00%; }
@font-face { font-family: 'AEJ Serif Fallback'; src: local('Times New Roman Italic'), local('TimesNewRomanPS-ItalicMT'), local('Liberation Serif Italic'), local('LiberationSerif-Italic'), local('Tinos Italic'), local('Tinos-Italic'); font-style: italic; size-adjust: 83.94%; ascent-override: 117.94%; descent-override: 36.93%; line-gap-override: 0.00%; }
@font-face { font-family: 'AEJ Serif Fallback Android'; src: local('Noto Serif'), local('NotoSerif'), local('Noto Serif Regular'), local('NotoSerif-Regular'); size-adjust: 70.89%; ascent-override: 139.65%; descent-override: 43.73%; line-gap-override: 0.00%; }
@font-face { font-family: 'AEJ Serif Fallback Android'; src: local('Noto Serif Italic'), local('NotoSerif-Italic'); font-style: italic; size-adjust: 70.89%; ascent-override: 139.65%; descent-override: 43.73%; line-gap-override: 0.00%; }
@font-face { font-family: 'AEJ Sans Fallback'; src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('LiberationSans'), local('Arimo'), local('Arimo-Regular'), local('Helvetica'); size-adjust: 100.72%; ascent-override: 94.32%; descent-override: 24.82%; line-gap-override: 0.00%; }
@font-face { font-family: 'AEJ Sans Fallback Android'; src: local('Roboto'), local('Roboto Regular'), local('Roboto-Regular'); size-adjust: 100.94%; ascent-override: 94.12%; descent-override: 24.77%; line-gap-override: 0.00%; }

/* ---------------------------------------------------------------
   2. Tokens (handover 5.1)
   --------------------------------------------------------------- */
:root {
  --aej-ink: #16323F;          /* Lake ink: main text, dark sections, footer */
  --aej-deep: #00709A;         /* Deep blue: buttons and links (white text 5.55:1) */
  --aej-deep-hover: #005B7F;
  --aej-logo: #0095CC;         /* Logo blue: logo, large display type, icons. NOT small text */
  --aej-logo-text: #0089BC;    /* Logo blue, a touch deeper for italic words in headings: 3:1 on every light background */
  --aej-sky: #9ED4EC;          /* Sky: logo pale tone, outlines on secondary buttons */
  --aej-mist: #C6E8F6;         /* Mist: soft fills, text on dark sections */
  --aej-mist-pale: #EAF5FA;    /* Mist pale: healing panels, How it works */
  --aej-shell: #FAF7F2;        /* Shell: page background */
  --aej-white: #FFFFFF;
  --aej-sand: #F2EBE1;         /* Sand: About section, filter track */
  --aej-sunrise: #F2B48A;      /* Sunrise: warmth, "after", sticker, footer button (ink text) */
  --aej-peach: #FCEEE3;        /* Peach: growth panels, booking section */
  --aej-terracotta: #A4532A;   /* Terracotta: small warm text on light */
  --aej-dusk: #34465E;         /* Dusk: "The bumpy bit" */
  --aej-panel: #1E4152;        /* Panel blue: cards on dark sections */
  --aej-body: #435B67;         /* Body text (6.7:1 on Shell). Not on Sunrise */
  --aej-on-dark: #B9CBD4;      /* Secondary text on ink (8.0:1) */
  --aej-on-dark-2: #8FB3C4;    /* Tertiary text on ink (6.0:1) */
  --aej-line: #E6DDD0;
  --aej-line-2: #EDE6DC;
  --aej-input-line: #DCD2C4;

  --aej-font-display: 'Instrument Serif', 'AEJ Serif Fallback', 'AEJ Serif Fallback Android', Georgia, 'Times New Roman', serif;
  --aej-font-body: 'Figtree', 'AEJ Sans Fallback', 'AEJ Sans Fallback Android', 'Segoe UI', system-ui, -apple-system, sans-serif;

  --aej-gutter: 80px;
  --aej-section-y: 120px;
  --aej-section-y-lg: 128px;
  --aej-max: 1280px;
  --aej-radius: 28px;
  --aej-radius-lg: 32px;
  --aej-shadow: 0 24px 60px rgba(22, 50, 63, .07);
  --aej-shadow-chip: 0 14px 40px rgba(22, 50, 63, .14);
  --aej-sticky-h: 0px;
}
@media (max-width: 767px) {
  :root { --aej-gutter: 20px; --aej-section-y: 72px; --aej-section-y-lg: 72px; --aej-radius: 24px; --aej-radius-lg: 26px; }
}

/* ---------------------------------------------------------------
   3. Base (scoped to body)
   --------------------------------------------------------------- */
body {
  background: var(--aej-shell);
  color: var(--aej-ink);
  font-family: var(--aej-font-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip; /* the hero halo and sticker bleed past the edge by design; clip (not hidden) keeps sticky headers working */
}
.aej-clip, .aej-clip > .fl-row-content-wrap { overflow-x: clip; }
body .site, body .site-content, body .inside-article,
body .separate-containers .inside-article { background: transparent; }

body h1, body h2, body h3,
body .fl-heading, body .aej-display {
  font-family: var(--aej-font-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  text-wrap: balance;
  color: inherit;
  margin: 0;
}
/* Fluid scale: 390px → 1440px (handover 5.2) */
body h1, body .aej-h1 { font-size: clamp(58px, calc(43.9px + 3.62vw), 96px); line-height: .96; }
body h2, body .aej-h2 { font-size: clamp(44px, calc(36.6px + 1.9vw), 64px); line-height: 1; }
body .aej-h2-xl { font-size: clamp(50px, calc(41.8px + 2.1vw), 72px); line-height: .98; }
body .aej-h2-hero { font-size: clamp(56px, calc(44.1px + 3.05vw), 88px); line-height: .96; }
body h3, body .aej-h3 { font-size: clamp(28px, calc(22.8px + 1.33vw), 44px); line-height: 1.05; }
body .aej-h3-sm { font-size: clamp(24px, calc(21.8px + .57vw), 32px); line-height: 1.1; }
body .aej-h3-xs { font-size: clamp(23px, calc(21.1px + .48vw), 28px); line-height: 1.1; }

body p { text-wrap: pretty; }
body h1 em, body h2 em, body .fl-heading em { font-style: italic; color: var(--aej-logo-text); }
body .aej-em-warm em { color: var(--aej-terracotta); }

body a { color: var(--aej-deep); text-underline-offset: 3px; }
body a:hover { color: var(--aej-deep-hover); }
/* Links inside running text are underlined, so they don't rely on colour alone (8 Oct) */
body .fl-rich-text :is(p, li) a:not([class*="aej-btn"]), body .aej-form-note a { text-decoration: underline; text-decoration-thickness: 1px; }
body :focus-visible { outline: 3px solid var(--aej-logo); outline-offset: 3px; border-radius: 6px; }

/* Text helpers */
.aej-eyebrow, .aej-eyebrow .fl-heading, .aej-eyebrow p {
  font-family: var(--aej-font-body) !important;
  font-size: 13px; font-weight: 600; line-height: 1.3;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--aej-deep);
}
.aej-eyebrow--warm, .aej-eyebrow--warm .fl-heading, .aej-eyebrow--warm p { color: var(--aej-terracotta); }
.aej-lead, .aej-lead p { font-size: clamp(18px, calc(16.5px + .38vw), 22px); line-height: 1.55; color: var(--aej-body); }
.aej-body, .aej-body p { font-size: clamp(16px, calc(15.3px + .19vw), 18px); line-height: 1.65; color: var(--aej-body); }
.aej-strong, .aej-strong p { color: var(--aej-ink); font-weight: 500; }
.aej-small, .aej-small p { font-size: 15px; color: var(--aej-body); }
.aej-center { text-align: center; }
.aej-measure { max-width: 760px; margin-left: auto; margin-right: auto; }

/* ---------------------------------------------------------------
   4. Sections (BB rows): add to the ROW's class
   --------------------------------------------------------------- */
.aej-section > .fl-row-content-wrap { padding: var(--aej-section-y) var(--aej-gutter) !important; }
.aej-section-lg > .fl-row-content-wrap { padding: var(--aej-section-y-lg) var(--aej-gutter) !important; }
.aej-section > .fl-row-content-wrap > .fl-row-content,
.aej-section-lg > .fl-row-content-wrap > .fl-row-content { max-width: var(--aej-max); }

.aej-bg-shell > .fl-row-content-wrap, .aej-bg-shell.aej-box { background-color: var(--aej-shell); }
.aej-bg-white > .fl-row-content-wrap, .aej-bg-white.aej-box { background-color: var(--aej-white); }
.aej-bg-mist > .fl-row-content-wrap, .aej-bg-mist.aej-box { background-color: var(--aej-mist-pale); }
.aej-bg-sand > .fl-row-content-wrap, .aej-bg-sand.aej-box { background-color: var(--aej-sand); }
.aej-bg-peach > .fl-row-content-wrap, .aej-bg-peach.aej-box { background-color: var(--aej-peach); }
.aej-bg-ink > .fl-row-content-wrap, .aej-bg-ink.aej-box { background-color: var(--aej-ink); color: var(--aej-shell); }
.aej-bg-ink h1, .aej-bg-ink h2, .aej-bg-ink h3, .aej-bg-ink .fl-heading { color: var(--aej-shell); }
.aej-bg-ink p, .aej-bg-ink .aej-lead, .aej-bg-ink .aej-body { color: var(--aej-on-dark); }
.aej-bg-ink .aej-eyebrow, .aej-bg-ink .aej-eyebrow .fl-heading { color: var(--aej-sunrise); }
.aej-bg-ink a:not(.fl-button) { color: var(--aej-mist); }

/* ---------------------------------------------------------------
   5. Buttons. Native <a class="aej-btn …"> or a BB Button module with the class
   --------------------------------------------------------------- */
a.aej-btn, .fl-builder-content .aej-btn a.fl-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 60px; padding: 0 32px;
  border: 1.5px solid transparent; border-radius: 999px;
  background: var(--aej-deep); color: var(--aej-white) !important;
  font-family: var(--aej-font-body); font-size: 18px; font-weight: 600; line-height: 1.2;
  text-decoration: none; box-shadow: none; transition: background-color .15s, border-color .15s, color .15s;
}
.fl-builder-content .aej-btn a.fl-button * { color: inherit !important; font: inherit; }
a.aej-btn:hover, .fl-builder-content .aej-btn a.fl-button:hover { background: var(--aej-deep-hover); color: var(--aej-white) !important; }

a.aej-btn.aej-btn--outline, .fl-builder-content .aej-btn--outline a.fl-button { background: transparent; border-color: var(--aej-deep); color: var(--aej-deep) !important; }
a.aej-btn.aej-btn--outline:hover, .fl-builder-content .aej-btn--outline a.fl-button:hover { background: var(--aej-mist-pale); color: var(--aej-deep-hover) !important; }
a.aej-btn.aej-btn--sky, .fl-builder-content .aej-btn--sky a.fl-button { background: transparent; border-color: var(--aej-sky); color: var(--aej-ink) !important; }
a.aej-btn.aej-btn--sky:hover, .fl-builder-content .aej-btn--sky a.fl-button:hover { background: var(--aej-mist-pale); }
a.aej-btn.aej-btn--sunrise, .fl-builder-content .aej-btn--sunrise a.fl-button { background: var(--aej-sunrise); color: var(--aej-ink) !important; }
a.aej-btn.aej-btn--sunrise:hover, .fl-builder-content .aej-btn--sunrise a.fl-button:hover { background: #EEA477; color: var(--aej-ink) !important; }
a.aej-btn.aej-btn--ink, .fl-builder-content .aej-btn--ink a.fl-button { background: var(--aej-ink); color: var(--aej-white) !important; }
a.aej-btn.aej-btn--ink:hover, .fl-builder-content .aej-btn--ink a.fl-button:hover { background: #0E2530; }
a.aej-btn.aej-btn--light, .fl-builder-content .aej-btn--light a.fl-button { background: transparent; border-color: var(--aej-mist); color: var(--aej-shell) !important; }
a.aej-btn.aej-btn--light:hover, .fl-builder-content .aej-btn--light a.fl-button:hover { background: rgba(198, 232, 246, .1); }

a.aej-btn.aej-btn--md, .fl-builder-content .aej-btn--md a.fl-button { min-height: 52px; padding: 0 26px; font-size: 16px; }
a.aej-btn.aej-btn--sm, .fl-builder-content .aej-btn--sm a.fl-button { min-height: 48px; padding: 0 22px; font-size: 16px; }
a.aej-btn.aej-btn--block, .fl-builder-content .aej-btn--block a.fl-button { display: flex; width: 100%; }
@media (max-width: 767px) {
  a.aej-btn, .fl-builder-content .aej-btn a.fl-button { min-height: 56px; font-size: 17px; }
  .aej-btn-stack-mobile a.aej-btn, .fl-builder-content .aej-btn-stack-mobile a.fl-button { display: flex; width: 100%; }
}
/* Arrow after the label (add class aej-btn--arrow) */
a.aej-btn--arrow::after, .fl-builder-content .aej-btn--arrow a.fl-button::after {
  content: ''; width: 20px; height: 20px; flex: none; background: currentColor;
  -webkit-mask: var(--aej-i-arrow) center / contain no-repeat; mask: var(--aej-i-arrow) center / contain no-repeat;
}
/* Phone icon before the label (add class aej-btn--phone) */
a.aej-btn--phone::before, .fl-builder-content .aej-btn--phone a.fl-button::before {
  content: ''; width: 20px; height: 20px; flex: none; background: currentColor;
  -webkit-mask: var(--aej-i-phone) center / contain no-repeat; mask: var(--aej-i-phone) center / contain no-repeat;
}
/* Text link with arrow ("Stories of healing →") */
.aej-link-arrow a, a.aej-link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 16px; text-decoration: none; }
.aej-link-arrow a::after, a.aej-link-arrow::after { content: ''; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--aej-i-arrow) center / contain no-repeat; mask: var(--aej-i-arrow) center / contain no-repeat; }
.aej-link-arrow--warm a, a.aej-link-arrow--warm { color: var(--aej-terracotta); }

/* ---------------------------------------------------------------
   6. Chips and ticks
   --------------------------------------------------------------- */
.aej-chip { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2; background: var(--aej-mist-pale); color: var(--aej-deep); }
.aej-chip--growth { background: var(--aej-peach); color: var(--aej-terracotta); }
.aej-chip--white { background: var(--aej-white); }
.aej-chip--start { background: var(--aej-deep); color: var(--aej-white); padding: 8px 14px; font-size: 13px; }

.aej-ticks ul, ul.aej-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 15px; color: var(--aej-body); }
.aej-ticks li { display: flex; align-items: center; gap: 8px; margin: 0; }
.aej-ticks li::before { content: ''; width: 18px; height: 18px; flex: none; background: var(--aej-logo); -webkit-mask: var(--aej-i-check) center / contain no-repeat; mask: var(--aej-i-check) center / contain no-repeat; }

/* ---------------------------------------------------------------
   7. Arch frames (signature element). On a BB Photo module, or a wrapper around <img>
   --------------------------------------------------------------- */
.aej-arch img, .aej-arch .fl-photo-img, img.aej-arch {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover;
  border-radius: 50% 50% 28px 28px / 40% 40% 28px 28px;
}
.aej-arch--session img, .aej-arch--session .fl-photo-img { aspect-ratio: 460 / 560; object-position: 50% 50%; }
.aej-arch--wide img, .aej-arch--wide .fl-photo-img { aspect-ratio: auto; height: 360px; object-position: 50% 45%; border-radius: 300px 300px 28px 28px; }
.aej-arch .fl-photo-content { display: block; width: 100%; }
@media (max-width: 767px) {
  .aej-arch img, .aej-arch .fl-photo-img { border-radius: 50% 50% 24px 24px / 42% 42% 24px 24px; }
  .aej-arch--session img, .aej-arch--session .fl-photo-img { aspect-ratio: 350 / 380; }
  .aej-arch--wide img, .aej-arch--wide .fl-photo-img { height: 240px; }
}
/* Pale circle behind the hero and About arches */
.aej-halo { position: relative; isolation: isolate; }
.aej-halo::before { content: ''; position: absolute; z-index: -1; border-radius: 50%; background: var(--aej-mist-pale); width: 114%; aspect-ratio: 1; right: -27%; top: -9%; }
.aej-halo--about::before { background: var(--aej-mist); width: 60%; left: -14%; right: auto; top: auto; bottom: -6%; }

/* Hero media block (snippets/hero-media.html): arch + Warning sticker + "Hi, I'm Anita" chip */
.aej-hero-media { position: relative; width: 100%; max-width: 560px; margin-left: auto; }
.aej-sticker {
  position: absolute; left: -64px; top: 70px; width: 156px; height: 156px; border-radius: 50%;
  background: var(--aej-sunrise); color: var(--aej-ink);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  transform: rotate(-9deg); box-shadow: 0 10px 30px rgba(22, 50, 63, .12);
}
.aej-sticker b { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.aej-sticker span { font-family: var(--aej-font-display); font-style: italic; font-size: 20px; line-height: 1.1; padding: 4px 18px 0; }
.aej-hello {
  position: absolute; left: -48px; bottom: 44px; display: flex; align-items: center; gap: 16px;
  padding: 14px 24px 14px 14px; border-radius: 999px; background: var(--aej-white); box-shadow: var(--aej-shadow-chip);
}
.aej-hello img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.aej-hello strong { display: block; font-family: var(--aej-font-display); font-weight: 400; font-size: 24px; line-height: 1.1; color: var(--aej-ink); }
.aej-hello small { display: block; font-size: 14px; color: var(--aej-body); }
@media (max-width: 1100px) { .aej-sticker { left: -20px; } .aej-hello { left: -16px; } }
@media (max-width: 767px) {
  .aej-hero-media { max-width: none; margin: 18px 0 0; }
  .aej-sticker { left: auto; right: -6px; top: 20px; width: 112px; height: 112px; transform: rotate(8deg); }
  .aej-sticker b { font-size: 9px; } .aej-sticker span { font-size: 15px; padding: 3px 12px 0; }
  .aej-hello { left: 14px; bottom: 16px; gap: 12px; padding: 10px 18px 10px 10px; }
  .aej-hello img { width: 46px; height: 46px; } .aej-hello strong { font-size: 20px; } .aej-hello small { font-size: 12px; }
}

/* ---------------------------------------------------------------
   8. Cards: on a BB COLUMN (styles its content box) or any element
   --------------------------------------------------------------- */
.aej-card, .fl-col.aej-card > .fl-col-content {
  background: var(--aej-white); border-radius: var(--aej-radius); padding: 40px;
  display: flex; flex-direction: column; gap: 18px;
}
.aej-card--path, .fl-col.aej-card--path > .fl-col-content { border-radius: var(--aej-radius-lg); padding: 56px; gap: 24px; }
.aej-card--healing, .fl-col.aej-card--healing > .fl-col-content { background: var(--aej-mist-pale); }
.aej-card--growth, .fl-col.aej-card--growth > .fl-col-content { background: var(--aej-peach); }
.aej-card--featured, .fl-col.aej-card--featured > .fl-col-content { border: 2px solid var(--aej-logo); }
.aej-card--shadow, .fl-col.aej-card--shadow > .fl-col-content { box-shadow: var(--aej-shadow); }
.aej-card .fl-module, .fl-col.aej-card > .fl-col-content > .fl-module { margin: 0; }
.aej-card .fl-module-content { margin: 0; }
@media (max-width: 767px) {
  .aej-card, .fl-col.aej-card > .fl-col-content { padding: 28px; gap: 16px; }
  .aej-card--path, .fl-col.aej-card--path > .fl-col-content { padding: 28px; }
}
/* Big numerals on the journey-cards ("01", "02", "03") */
.aej-numeral, .aej-numeral .fl-heading { font-family: var(--aej-font-display) !important; font-size: 56px !important; line-height: 1 !important; color: var(--aej-logo); }
.aej-numeral--sky, .aej-numeral--sky .fl-heading { color: var(--aej-sky); }
.aej-numeral--sunrise, .aej-numeral--sunrise .fl-heading { color: var(--aej-sunrise); }
/* Price line in the Session 1 card */
.aej-price { display: flex; align-items: baseline; gap: 10px; padding-top: 16px; border-top: 1px solid var(--aej-line-2); }
.aej-price b { font-family: var(--aej-font-display); font-weight: 400; font-size: 36px; line-height: 1; color: var(--aej-ink); }
.aej-price span { font-size: 15px; color: var(--aej-body); }

/* Icon badge (72px white circle) top-left of the path cards */
.aej-badge { width: 72px; height: 72px; border-radius: 50%; background: var(--aej-white); display: inline-flex; align-items: center; justify-content: center; color: var(--aej-deep); }
.aej-badge::before { content: ''; width: 38px; height: 38px; background: currentColor; -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }
.aej-badge--warm { color: var(--aej-terracotta); }

/* ---------------------------------------------------------------
   9. Quotes and testimonials
   --------------------------------------------------------------- */
.aej-quote, .aej-quote p { font-family: var(--aej-font-display); font-style: italic; font-size: clamp(22px, calc(20.5px + .38vw), 26px); line-height: 1.25; color: var(--aej-ink); }
.aej-quote-rule { margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--aej-mist); }
.aej-quote-rule--warm { border-top-color: #F2CFB4; }
.aej-cite, .aej-cite p { font-size: 15px; color: var(--aej-body); font-style: normal; }

.aej-story, .fl-col.aej-story > .fl-col-content { background: var(--aej-white); border-radius: var(--aej-radius); padding: 36px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.aej-story p { font-size: 19px; line-height: 1.55; color: var(--aej-ink); }
.aej-story--feature, .fl-col.aej-story--feature > .fl-col-content { background: var(--aej-ink); color: var(--aej-shell); border-radius: var(--aej-radius-lg); padding: 48px; gap: 40px; }
.aej-story--feature p { font-family: var(--aej-font-display); font-size: clamp(28px, calc(24.3px + .95vw), 38px); line-height: 1.15; color: var(--aej-shell); }
.aej-story--feature::before { content: '\201C'; font-family: var(--aej-font-display); font-size: 120px; line-height: .6; height: 48px; color: var(--aej-sunrise); }
/* Client photos: about 35% bigger than the design's 48/64px (Anita, 7 Oct 2026) */
.aej-who { display: flex; align-items: center; gap: 16px; }
.aej-who img { width: 64px; height: 64px; flex: none; max-width: none; border-radius: 50%; object-fit: cover; }
.aej-who picture { flex: none; display: block; line-height: 0; } /* Imagify wraps photos in <picture> for WebP: keep it from shrinking */
.aej-story--feature .aej-who img { width: 88px; height: 88px; }
.aej-who b { display: block; font-size: 16px; font-weight: 600; color: var(--aej-ink); }
.aej-who small { display: block; font-size: 14px; color: var(--aej-body); }
.aej-story--feature .aej-who b { color: var(--aej-shell); font-size: 17px; }
.aej-story--feature .aej-who small { color: var(--aej-on-dark); }
/* Initial in a circle, for clients who chose not to share a real photo */
.aej-initial { width: 64px; height: 64px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--aej-mist-pale); color: var(--aej-deep); font-family: var(--aej-font-display); font-size: 30px; line-height: 1; }
.aej-initial--growth { background: var(--aej-peach); color: var(--aej-terracotta); }

/* Stories filter (All / Healing / Growth) */
.aej-filter { display: inline-flex; gap: 8px; padding: 6px; border-radius: 999px; background: var(--aej-sand); }
.aej-filter button { height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: transparent; color: var(--aej-ink); font: 500 15px var(--aej-font-body); cursor: pointer; }
.aej-filter button[aria-pressed="true"] { background: var(--aej-ink); color: var(--aej-shell); font-weight: 600; }

/* ---------------------------------------------------------------
   10. Journey arches (Arriving → The bumpy bit → Leaving)
   --------------------------------------------------------------- */
.aej-journey { display: flex; align-items: stretch; gap: 16px; }
.aej-journey__step { flex: 1 1 0; min-width: 0; padding: 72px 36px 40px; border-radius: 188px 188px 28px 28px; background: var(--aej-panel); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; color: var(--aej-shell); }
.aej-journey__step--along { background: var(--aej-dusk); }
.aej-journey__step--after { background: var(--aej-sunrise); color: var(--aej-ink); }
.aej-journey__face { width: 96px; height: 96px; border-radius: 50%; border: 1.5px solid var(--aej-on-dark-2); display: flex; align-items: center; justify-content: center; color: var(--aej-mist); }
.aej-journey__face::before { content: ''; width: 60px; height: 60px; background: currentColor; -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }
.aej-journey__step--along .aej-journey__face { border-style: dashed; border-color: var(--aej-sunrise); color: var(--aej-sunrise); }
.aej-journey__step--after .aej-journey__face { border: 0; background: var(--aej-peach); color: var(--aej-ink); }
.aej-journey__label { font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--aej-on-dark-2); }
.aej-journey__step--along .aej-journey__label { color: var(--aej-sunrise); }
.aej-journey__step--after .aej-journey__label { color: var(--aej-ink); }
.aej-journey__step h3 { color: inherit; font-size: 44px; line-height: 1; }
.aej-journey__step > p { font-size: 18px; line-height: 1.6; color: var(--aej-mist); max-width: 280px; }
.aej-journey__step--after > p { color: var(--aej-ink); }
.aej-journey__step figure { margin: auto 0 0; padding-top: 24px; border-top: 1px solid #2E5163; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.aej-journey__step--along figure { border-top-color: #4A5D75; }
.aej-journey__step--after figure { border-top-color: #E39A6B; }
.aej-journey__step figcaption { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--aej-on-dark-2); }
.aej-journey__step--along figcaption { color: var(--aej-sunrise); }
.aej-journey__step--after figcaption { color: var(--aej-ink); }
.aej-journey__step figure p { font-family: var(--aej-font-display); font-size: 24px; line-height: 1.25; color: inherit; }
.aej-journey__step figure span { font-size: 15px; color: var(--aej-on-dark); }
.aej-journey__step--after figure span { color: var(--aej-ink); }
.aej-journey__next { flex: none; align-self: center; width: 44px; height: 44px; border-radius: 50%; background: var(--aej-panel); color: var(--aej-sunrise); display: flex; align-items: center; justify-content: center; }
.aej-journey__next::before { content: ''; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--aej-i-arrow) center / contain no-repeat; mask: var(--aej-i-arrow) center / contain no-repeat; }
.aej-journey__next--along { background: var(--aej-dusk); }
@media (max-width: 900px) {
  .aej-journey { flex-direction: column; gap: 12px; }
  .aej-journey__step { padding: 26px 24px; border-radius: 26px; align-items: flex-start; text-align: left; gap: 14px; }
  .aej-journey__step > p { max-width: none; font-size: 17px; }
  .aej-journey__step h3 { font-size: 34px; }
  .aej-journey__face { width: 64px; height: 64px; } .aej-journey__face::before { width: 40px; height: 40px; }
  .aej-journey__next { transform: rotate(90deg); }
}

/* ---------------------------------------------------------------
   11. Session points (icon in a white circle + text)
   --------------------------------------------------------------- */
.aej-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
.aej-point { position: relative; display: flex; gap: 16px; align-items: flex-start; font-size: 17px; line-height: 1.55; color: var(--aej-body); }
.aej-point::before { content: ''; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--aej-white); }
.aej-point::after { content: ''; position: absolute; left: 12px; top: 12px; width: 24px; height: 24px; background: var(--aej-deep); -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }
.aej-point strong { color: var(--aej-ink); font-weight: 600; }
@media (max-width: 767px) { .aej-points { grid-template-columns: 1fr; gap: 14px; } .aej-point { align-items: center; } .aej-point::after { top: 50%; margin-top: -12px; } }

/* ---------------------------------------------------------------
   12. "Good to know" fact strip
   --------------------------------------------------------------- */
.aej-facts { display: grid; grid-template-columns: repeat(var(--aej-facts, 4), minmax(0, 1fr)); border-top: 1px solid var(--aej-line); border-bottom: 1px solid var(--aej-line); }
.aej-fact { padding: 36px 28px; border-left: 1px solid var(--aej-line); display: flex; flex-direction: column; gap: 14px; }
.aej-fact:first-child { padding-left: 0; border-left: 0; }
.aej-fact:last-child { padding-right: 0; }
.aej-fact::before { content: ''; width: 28px; height: 28px; background: var(--aej-logo); -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }
.aej-fact h3 { font-size: 28px; line-height: 1.1; }
.aej-fact p { font-size: 17px; line-height: 1.55; color: var(--aej-body); margin: 0; }
@media (max-width: 900px) {
  .aej-facts { grid-template-columns: 1fr; border-bottom: 0; }
  .aej-fact, .aej-fact:first-child, .aej-fact:last-child { flex-direction: row; gap: 14px; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--aej-line); }
  .aej-fact h3 { font-size: 23px; }
}

/* ---------------------------------------------------------------
   13. Utility bar, header, footer (Themer layouts)
   --------------------------------------------------------------- */
.aej-utility { min-height: 44px; padding: 0 var(--aej-gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--aej-ink); color: var(--aej-mist); font-size: 14px; }
.aej-utility span:first-of-type { display: inline-flex; align-items: center; gap: 10px; }
.aej-utility span:first-of-type::before { content: ''; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--aej-i-pin) center / contain no-repeat; mask: var(--aej-i-pin) center / contain no-repeat; }
@media (max-width: 1023px) { .aej-utility span:last-of-type { display: none; } }
@media (max-width: 767px) { .aej-utility { display: none; } }

.aej-header { min-height: 104px; padding: 0 var(--aej-gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--aej-shell); }
.aej-logo { display: inline-flex; line-height: 0; }
.aej-logo img, .aej-logo svg { height: 40px; width: auto; }
.aej-nav { display: flex; align-items: center; gap: 30px; font-size: 16px; font-weight: 500; }
.aej-nav a { color: var(--aej-ink); text-decoration: none; }
.aej-header .aej-nav > a, .aej-header .aej-header__ctas .aej-btn { white-space: nowrap; } /* never break "About Anita" etc. onto two lines */
.aej-nav a:hover, .aej-nav .current-menu-item > a { color: var(--aej-deep); }
/* BB Menu module inside the header: add class aej-nav to the module */
.fl-module.aej-nav .menu > li > a { color: var(--aej-ink); font-size: 16px; font-weight: 500; padding: 10px 15px; }
.fl-module.aej-nav .menu > li > a:hover, .fl-module.aej-nav .menu > li.current-menu-item > a { color: var(--aej-deep); }
.aej-header__ctas { display: flex; align-items: center; gap: 10px; }
.aej-icon-btn { width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 0; background: var(--aej-deep); color: var(--aej-white) !important; }
.aej-icon-btn::before { content: ''; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }
.aej-icon-btn--soft { background: var(--aej-mist-pale); color: var(--aej-ink) !important; }
@media (max-width: 767px) {
  .aej-header { min-height: 72px; }
  .aej-logo img, .aej-logo svg { height: 25px; }
  .aej-header .aej-nav, .aej-header .aej-header__ctas { display: none; }
}
/* The full menu (6 links + Call + Book) needs about 1180px with the tighter spacing below, so it shows from
   1366px wide (with room for a Windows scrollbar); on smaller laptops and tablets the header uses the
   call + menu buttons (the menu opens as a panel, see _bb.css) */
@media (min-width: 768px) and (max-width: 1599px) {
  .aej-header { gap: 16px; }
  .aej-header .aej-nav { gap: 18px; }
  .aej-header .aej-header__ctas { gap: 8px; }
  .aej-header .aej-logo img, .aej-header .aej-logo svg { height: 30px; }
}
@media (max-width: 1365px) { .aej-header .aej-nav, .aej-header .aej-header__ctas { display: none; } }
/* Wide screens (8 Oct): the utility bar and header line up with the 1280px content column below them
   instead of running out to the window edges. Up to 1440px wide this is just the normal gutter. */
.aej-utility, .aej-header {
  padding-left: max(var(--aej-gutter), calc((100% - var(--aej-max)) / 2));
  padding-right: max(var(--aej-gutter), calc((100% - var(--aej-max)) / 2));
}
/* The header sits above the hero (9 Oct, Anita): the pale circle behind the hero photo reaches up past the
   hero's top edge and was showing over the Call button on desktop; now it tucks behind the header */
.fl-builder-content .fl-module-box.aej-site-header { position: relative; z-index: 20; }
/* From 1600px the header is the 1280px column, so the full-size spacing is trimmed a little to fit */
@media (min-width: 1600px) {
  .aej-header { gap: 16px; }
  .aej-header .aej-nav { gap: 22px; }
  .aej-header .aej-logo img, .aej-header .aej-logo svg { height: 36px; }
}

.aej-footer { padding: 80px var(--aej-gutter) 48px; background: var(--aej-ink); color: var(--aej-mist); }
.aej-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 48px 56px; border-radius: var(--aej-radius-lg); background: var(--aej-panel); }
.aej-footer-cta h2 { color: var(--aej-shell); font-size: clamp(40px, calc(35.7px + 1.1vw), 56px); line-height: 1; }
.aej-footer-cta p { color: var(--aej-on-dark); font-size: 18px; }
.aej-footer-cta .aej-actions { display: flex; gap: 14px; flex: none; }
.aej-footer-cols { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 64px; }
.aej-footer-cols :is(h3, h4) { margin: 0 0 14px; font: 600 13px/1.3 var(--aej-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--aej-on-dark-2); }
.aej-footer-cols a, .aej-footer-cols li, .aej-footer-cols span { color: var(--aej-shell); text-decoration: none; font-size: 16px; }
.aej-footer-cols ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.aej-footer-tagline { font-family: var(--aej-font-display); font-style: italic; font-size: 26px; line-height: 1.3; color: var(--aej-shell); margin-top: 20px; }
.aej-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 64px; padding-top: 28px; border-top: 1px solid #2E5163; font-size: 14px; color: var(--aej-on-dark-2); }
.aej-footer-bottom a { color: var(--aej-mist); }
.aej-footer-bottom > div { display: flex; flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 1023px) { .aej-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .aej-footer { padding: 48px 20px 40px; }
  .aej-footer-cta { flex-direction: column; align-items: stretch; gap: 14px; padding: 28px 24px; border-radius: 26px; }
  .aej-footer-cta .aej-actions { flex-direction: column; }
  .aej-footer-cols { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
  .aej-footer-bottom { flex-direction: column; align-items: flex-start; margin-top: 32px; }
}

/* ---------------------------------------------------------------
   14. Mobile sticky Call / Book bar (snippets/mobile-sticky-bar.html)
   --------------------------------------------------------------- */
.aej-sticky-bar { display: none; }
@media (max-width: 767px) {
  .aej-sticky-bar {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 10px));
    background: var(--aej-white); box-shadow: 0 -8px 30px rgba(22, 50, 63, .14);
  }
  .aej-sticky-bar .aej-btn { min-height: 52px; font-size: 16px; padding: 0 12px; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 10px)); }
}

/* ---------------------------------------------------------------
   14b. Back-to-top button (8 Oct)
   GeneratePress adds it to every page: Customizer → Layout → Footer → Back to Top Button = Enable
   (its colours there are set to the deep blue too, so the blog matches). This makes it round, with
   the design's own arrow, and on phones lifts it above the sticky Call / Book bar.
   --------------------------------------------------------------- */
body a.generate-back-to-top {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; right: 24px; bottom: 24px; z-index: 998;
  border-radius: 50%; background: var(--aej-deep); color: var(--aej-white);
  line-height: 1; box-shadow: 0 10px 28px rgba(22, 50, 63, .22);
}
body a.generate-back-to-top:hover, body a.generate-back-to-top:focus { background: var(--aej-deep-hover); color: var(--aej-white); }
body a.generate-back-to-top:focus-visible { outline: 3px solid var(--aej-sunrise); outline-offset: 3px; }
body a.generate-back-to-top .gp-icon { display: none; }
body a.generate-back-to-top::before {
  content: ''; width: 22px; height: 22px; background: currentColor; transform: rotate(-90deg);
  -webkit-mask: var(--aej-i-arrow) center / contain no-repeat; mask: var(--aej-i-arrow) center / contain no-repeat;
}
@media (max-width: 767px) {
  body a.generate-back-to-top { width: 44px; height: 44px; right: 16px; bottom: calc(92px + env(safe-area-inset-bottom, 10px)); }
}

/* ---------------------------------------------------------------
   15. Gravity Forms (Form 1, modern "gravity-theme" markup)
   Field settings → Appearance → Custom CSS Class:
     pill checkbox groups: aej-pills   ·   newsletter consent: aej-consent
   --------------------------------------------------------------- */
.aej-form, .fl-module.aej-form .fl-module-content { background: var(--aej-white); border-radius: var(--aej-radius-lg); padding: 48px; box-shadow: 0 24px 60px rgba(164, 83, 42, .10); }
@media (max-width: 767px) { .aej-form, .fl-module.aej-form .fl-module-content { padding: 24px; border-radius: 26px; } }
body .gform_wrapper.gravity-theme { --gf-form-gap-y: 26px; font-family: var(--aej-font-body); color: var(--aej-ink); }
body .gform_wrapper.gravity-theme .gform_fields { row-gap: 26px; column-gap: 16px; }
body .gform_wrapper.gravity-theme .gfield_label,
body .gform_wrapper.gravity-theme legend.gfield_label { font-size: 15px; font-weight: 600; color: var(--aej-ink); margin-bottom: 8px; padding: 0; }
body .gform_wrapper.gravity-theme .gfield_required { color: var(--aej-body); font-weight: 400; }
body .gform_wrapper.gravity-theme input[type="text"],
body .gform_wrapper.gravity-theme input[type="email"],
body .gform_wrapper.gravity-theme input[type="tel"],
body .gform_wrapper.gravity-theme textarea {
  min-height: 52px; padding: 0 16px; border: 1.5px solid var(--aej-input-line); border-radius: 14px;
  background: var(--aej-shell); font: 400 17px var(--aej-font-body); color: var(--aej-ink); box-shadow: none;
}
body .gform_wrapper.gravity-theme textarea { padding: 14px 16px; min-height: 0; height: auto; resize: vertical; }
body .gform_wrapper.gravity-theme input:focus, body .gform_wrapper.gravity-theme textarea:focus { outline: 0; border-color: var(--aej-logo); box-shadow: 0 0 0 3px rgba(0, 149, 204, .2); }
/* Pill checkboxes */
body .gform_wrapper.gravity-theme .aej-pills .gfield_checkbox { display: flex; flex-wrap: wrap; gap: 10px; }
body .gform_wrapper.gravity-theme .aej-pills .gchoice {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 16px;
  border: 1.5px solid var(--aej-input-line); border-radius: 999px; background: var(--aej-white); cursor: pointer;
}
body .gform_wrapper.gravity-theme .aej-pills .gchoice:has(input:checked) { border-color: var(--aej-logo); background: var(--aej-mist-pale); }
body .gform_wrapper.gravity-theme .aej-pills .gchoice label { margin: 0; font-size: 15px; font-weight: 500; color: var(--aej-ink); cursor: pointer; max-width: none; }
body .gform_wrapper.gravity-theme input[type="checkbox"] { accent-color: var(--aej-deep); width: 16px; height: 16px; margin: 0; }
body .gform_wrapper.gravity-theme .aej-consent .gchoice { display: flex; align-items: flex-start; gap: 12px; }
body .gform_wrapper.gravity-theme .aej-consent label { font-size: 15px; line-height: 1.5; color: var(--aej-body); font-weight: 400; }
body .gform_wrapper.gravity-theme .aej-consent input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; }
/* Submit */
body .gform_wrapper.gravity-theme .gform_footer { margin: 6px 0 0; padding: 0; }
body .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
body .gform_wrapper.gravity-theme .gform_footer button {
  width: 100%; min-height: 60px; border: 0; border-radius: 999px; background: var(--aej-deep); color: var(--aej-white);
  font: 600 18px var(--aej-font-body); cursor: pointer;
}
body .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover { background: var(--aej-deep-hover); }
body .gform_wrapper.gravity-theme .gfield_validation_message, body .gform_wrapper.gravity-theme .validation_message { border-radius: 12px; font-size: 14px; }
.aej-form-note { font-size: 14px; line-height: 1.5; color: var(--aej-body); text-align: center; margin-top: 16px; }

/* ---------------------------------------------------------------
   16. Staging-only placeholder (remove all .ph before launch)
   --------------------------------------------------------------- */
.ph { background: var(--aej-peach); color: var(--aej-terracotta); border: 1px dashed #E39A6B; border-radius: 6px; padding: 0 6px; font-weight: 600; white-space: nowrap; }

/* ---------------------------------------------------------------
   17. Motion
   --------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) { a.aej-btn, .fl-builder-content .aej-btn a.fl-button { transition: none; } }

/* ---------------------------------------------------------------
   18. Icons (CSS masks, colour = currentColor). Add aej-ico-NAME next to
       aej-badge / aej-point / aej-fact / aej-journey__face / aej-icon-btn
   --------------------------------------------------------------- */
:root {
  --aej-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
  --aej-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h3l1.5 4-2 1.5a11 11 0 0 0 6 6l1.5-2 4 1.5v3a2 2 0 0 1-2 2A16 16 0 0 1 4.5 5.5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --aej-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --aej-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E");
  --aej-i-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/svg%3E");
  --aej-i-cloud-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.2 9.2a3.6 3.6 0 0 1 6.6-2.1'/%3E%3Cpath d='M11.5 2.8v1.4M5.6 5l1 1M3.6 10.2H5'/%3E%3Cpath d='M7.5 20h9.2a3.6 3.6 0 0 0 .5-7.2 5.1 5.1 0 0 0-9.8 1.3A3 3 0 0 0 7.5 20z'/%3E%3C/svg%3E");
  --aej-i-sunrise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17.5h18M6.5 17.5a5.5 5.5 0 0 1 11 0M12 5v2.5M5.6 8.6l1.6 1.6M18.4 8.6l-1.6 1.6M8.5 20.5h7'/%3E%3C/svg%3E");
  --aej-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-9.5A3.8 3.8 0 0 1 12 8.3a3.8 3.8 0 0 1 7 2.2C19 15.6 12 20 12 20z'/%3E%3C/svg%3E");
  --aej-i-table: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6.5' cy='9.5' r='2'/%3E%3Cpath d='M10 11.5h8.5a2.5 2.5 0 0 1 2.5 2.5H3M5 14v5M19 14v5'/%3E%3C/svg%3E");
  --aej-i-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11V6.5a1.5 1.5 0 0 1 3 0V11M10 10V5a1.5 1.5 0 0 1 3 0v5M13 10V6a1.5 1.5 0 0 1 3 0v6M16 10.5a1.5 1.5 0 0 1 3 0V14a7 7 0 0 1-7 7h-.5A6.5 6.5 0 0 1 5 14.5V12a1.5 1.5 0 0 1 2-1.4'/%3E%3C/svg%3E");
  --aej-i-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z'/%3E%3C/svg%3E");
  --aej-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14.5' rx='2.5'/%3E%3Cpath d='M4 10h16M8.5 3.5v4M15.5 3.5v4'/%3E%3C/svg%3E");
  --aej-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
  --aej-i-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.2V5.5a2 2 0 0 1 2-2h6.7l8.3 8.3a2 2 0 0 1 0 2.8l-5.9 5.9a2 2 0 0 1-2.8 0z'/%3E%3Ccircle cx='8' cy='8' r='1.4'/%3E%3C/svg%3E");
  --aej-i-refresh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12a7.5 7.5 0 0 1 13-5.1L20 9.5M20 4.5v5h-5M19.5 12a7.5 7.5 0 0 1-13 5.1L4 14.5M4 19.5v-5h5'/%3E%3C/svg%3E");
  --aej-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2.5'/%3E%3Cpath d='M4.5 7l7.5 6 7.5-6'/%3E%3C/svg%3E");
  --aej-i-face-tired: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='19'/%3E%3Cpath d='M14.5 20.5l6 1.2M33.5 20.5l-6 1.2'/%3E%3Cpath d='M15 17l4-1.5M33 17l-4-1.5'/%3E%3Cellipse cx='24' cy='32' rx='3.2' ry='4'/%3E%3C/svg%3E");
  --aej-i-face-wobbly: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='19'/%3E%3Cpath d='M13.5 16.5l5-1.8M29.5 15.2l5 1.3'/%3E%3Ccircle cx='17.5' cy='21.5' r='1.4' fill='black' stroke='none'/%3E%3Ccircle cx='30.5' cy='21.5' r='1.4' fill='black' stroke='none'/%3E%3Cpath d='M15 31.5q3-3 6 0t6 0t6 0'/%3E%3C/svg%3E");
  --aej-i-face-smile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='19'/%3E%3Cpath d='M14.5 21.5q3-4 6 0M27.5 21.5q3-4 6 0'/%3E%3Cpath d='M15 28.5q9 9 18 0'/%3E%3C/svg%3E");
}
.aej-ico-pin { --aej-ico: var(--aej-i-pin); }
.aej-ico-phone { --aej-ico: var(--aej-i-phone); }
.aej-ico-arrow { --aej-ico: var(--aej-i-arrow); }
.aej-ico-check { --aej-ico: var(--aej-i-check); }
.aej-ico-menu { --aej-ico: var(--aej-i-menu); }
.aej-ico-cloud-sun { --aej-ico: var(--aej-i-cloud-sun); }
.aej-ico-sunrise { --aej-ico: var(--aej-i-sunrise); }
.aej-ico-heart { --aej-ico: var(--aej-i-heart); }
.aej-ico-table { --aej-ico: var(--aej-i-table); }
.aej-ico-hand { --aej-ico: var(--aej-i-hand); }
.aej-ico-moon { --aej-ico: var(--aej-i-moon); }
.aej-ico-calendar { --aej-ico: var(--aej-i-calendar); }
.aej-ico-clock { --aej-ico: var(--aej-i-clock); }
.aej-ico-tag { --aej-ico: var(--aej-i-tag); }
.aej-ico-refresh { --aej-ico: var(--aej-i-refresh); }
.aej-ico-mail { --aej-ico: var(--aej-i-mail); }
.aej-ico-face-tired { --aej-ico: var(--aej-i-face-tired); }
.aej-ico-face-wobbly { --aej-ico: var(--aej-i-face-wobbly); }
.aej-ico-face-smile { --aej-ico: var(--aej-i-face-smile); }
.aej-ico { display: inline-block; width: 1em; height: 1em; vertical-align: -0.15em; background: currentColor; -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }


/* ---------------------------------------------------------------
   18. Beaver Builder 2.11 layer
   BB 2.11 renders "lean" modules (the class sits on the module element itself, no
   .fl-module-content wrapper) and has the Box module (a flex/grid container).
   Each page section is a top-level Box; these classes go on Boxes and modules
   (Advanced tab → Class). Modules inside a Box have no margin, so spacing comes from
   the Box's own Gap setting, set per section in the editor.
   Layout classes use .fl-builder-content .fl-module-box.x (0,3,0) so they win over a
   Box's generated layout CSS (.fl-builder-content-123 .fl-node-x = 0,2,0).
   --------------------------------------------------------------- */

/* Sections + centred content wrapper */
.fl-builder-content .fl-module-box.aej-section { padding: var(--aej-section-y) var(--aej-gutter); }
.fl-builder-content .fl-module-box.aej-section-lg { padding: var(--aej-section-y-lg) var(--aej-gutter); }
.fl-builder-content .fl-module-box.aej-hero { padding: 32px var(--aej-gutter) 128px; }
.fl-builder-content .aej-wrap { width: 100%; max-width: var(--aej-max); margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { .fl-builder-content .fl-module-box.aej-hero { padding: 20px var(--aej-gutter) 72px; } }

/* Grids and splits */
.fl-builder-content .fl-module-box.aej-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 96px; align-items: center; }
.fl-builder-content .fl-module-box.aej-split { display: grid; grid-template-columns: 460px minmax(0, 1fr); gap: 96px; align-items: center; }
.fl-builder-content .fl-module-box.aej-split-about { display: grid; grid-template-columns: 500px minmax(0, 1fr); gap: 104px; align-items: center; }
.fl-builder-content .fl-module-box.aej-split-book { display: grid; grid-template-columns: minmax(0, 1fr) 600px; gap: 88px; align-items: start; }
.fl-builder-content .fl-module-box.aej-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.fl-builder-content .fl-module-box.aej-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fl-builder-content .fl-module-box.aej-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.fl-builder-content .fl-module-box.aej-stories > .aej-story--feature { grid-row: span 2; }
.fl-builder-content .fl-module-box.aej-bar { display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 40px; }
.fl-builder-content .fl-module-box.aej-bar.aej-items-center { align-items: center; }
.fl-builder-content .fl-module-box.aej-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; }
.fl-builder-content .fl-module-box.aej-facts { display: grid; gap: 0; }

/* Small helpers */
.aej-items-center { align-items: center; }
.aej-self-start { align-self: flex-start; }
.aej-grow { flex-grow: 1; }
.aej-pt-8 { padding-top: 8px; }
.aej-mt-12 { margin-top: 12px; }
.aej-maxw-560 { max-width: 560px; } .aej-maxw-620 { max-width: 620px; } .aej-maxw-640 { max-width: 640px; }
.aej-maxw-700 { max-width: 700px; } .aej-maxw-900 { max-width: 900px; }
.aej-center.aej-maxw-700, .aej-center.aej-maxw-900 { margin-left: auto; margin-right: auto; }
.aej-text-17, .aej-text-17 p { font-size: 17px; }
.aej-text-20, .aej-text-20 p { font-size: clamp(17px, calc(15.9px + .29vw), 20px); }
.aej-intro, .aej-intro p { font-size: clamp(18px, calc(16.9px + .29vw), 21px); line-height: 1.55; color: var(--aej-ink); }

/* Text Editor modules: paragraphs spaced inside, none outside */
body .fl-rich-text p { margin: 0 0 1em; }
body .fl-rich-text > :first-child { margin-top: 0; }
body .fl-rich-text > :last-child, body .fl-rich-text p:last-child { margin-bottom: 0; }
body .fl-rich-text ul { margin: 0; }

/* Buttons inside BB Button modules: keep labels inside the pill */
.fl-builder-content .aej-btn a.fl-button { max-width: 100%; text-align: center; white-space: normal; }
.fl-builder-content .aej-btn .fl-button-text { display: inline; }

/* Card header row: badge or numeral on the left, chip on the right */
.aej-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.aej-quote-rule { display: flex; flex-direction: column; gap: 8px; }
.aej-quote-figure { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; text-align: center; }
.aej-quote-figure p { margin: 0; }

/* Absolutely placed bits of the hero media (module classes) */
.fl-builder-content .fl-module-box.aej-hero-media { position: relative; }
.fl-builder-content .fl-module.aej-sticker { position: absolute; z-index: 2; }
.fl-builder-content .fl-module.aej-hello { position: absolute; z-index: 2; }

/* Box pseudo-elements: BB makes Box ::before absolute; these icons sit in the flow */
.fl-builder-content .fl-module-box.aej-fact::before,
.fl-builder-content .fl-module-box.aej-story--feature::before { position: relative; }

/* Facts strip on Boxes */
@media (max-width: 900px) { .fl-builder-content .fl-module-box.aej-fact { flex-direction: row; gap: 14px; } }

/* Journey arch head (face + label + title); sits in a row on small screens */
.aej-journey__head { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.aej-journey__head > div { display: flex; flex-direction: column; align-items: center; gap: 18px; }
@media (max-width: 900px) {
  .aej-journey__head { flex-direction: row; gap: 14px; }
  .aej-journey__head > div { align-items: flex-start; gap: 4px; }
  .aej-journey__face { width: 60px; height: 60px; flex: none; }
  .aej-journey__face::before { width: 36px; height: 36px; }
  .aej-journey__next { width: 36px; height: 36px; margin: -6px 0; }
}

/* Compact header (phones, tablets and laptops below 1366px): call + menu buttons, menu opens as a panel */
.aej-header { position: relative; }
.aej-header__mobile { display: none; gap: 8px; }
.aej-icon-btn { cursor: pointer; }
@media (max-width: 1365px) {
  .aej-header__mobile { display: flex; }
  .aej-header.is-open .aej-nav {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
    padding: 4px var(--aej-gutter) 20px; background: var(--aej-shell); box-shadow: 0 24px 40px rgba(22, 50, 63, .12);
  }
  .aej-header.is-open .aej-nav > a { display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--aej-line-2); font-size: 18px; }
  .aej-header.is-open .aej-header__ctas { display: flex; flex-direction: column; gap: 10px; padding-top: 16px; }
  .aej-header.is-open .aej-header__ctas .aej-btn { width: 100%; min-height: 52px; }
}

/* Path cards on small screens */
@media (max-width: 767px) {
  .aej-badge { width: 56px; height: 56px; }
  .aej-badge::before { width: 30px; height: 30px; }
  .aej-chip { padding: 6px 14px; font-size: 13px; }
  .aej-numeral, .aej-numeral .fl-heading, .aej-numeral p { font-size: 44px !important; }
  .aej-price b { font-size: 32px; }
}

/* Footer CTA panel on a Box */
.fl-builder-content .aej-footer .aej-wrap > .aej-footer-cols:first-child { margin-top: 0; } /* pages without the CTA band (FAQ) */
.fl-builder-content .fl-module-box.aej-footer-cta { flex-direction: row; gap: 40px; }
.fl-builder-content .aej-footer-cta .fl-module-box.aej-actions { flex: none; gap: 14px; }

/* Show/hide by screen size (use on modules or Boxes) */
@media (max-width: 767px) { .fl-builder-content .aej-hide-mobile { display: none !important; } }
@media (min-width: 768px) { .fl-builder-content .aej-show-mobile { display: none !important; } }

/* Tablet and down */
@media (max-width: 1100px) {
  .fl-builder-content .fl-module-box.aej-hero-grid,
  .fl-builder-content .fl-module-box.aej-split,
  .fl-builder-content .fl-module-box.aej-split-about,
  .fl-builder-content .fl-module-box.aej-split-book { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .fl-builder-content .fl-module-box.aej-grid-3,
  .fl-builder-content .fl-module-box.aej-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-builder-content .aej-split-about > .aej-arch { max-width: 520px; }
}

/* Phone */
@media (max-width: 767px) {
  .fl-builder-content .fl-module-box.aej-hero-grid { gap: 22px; }
  .fl-builder-content .fl-module-box.aej-split,
  .fl-builder-content .fl-module-box.aej-split-about,
  .fl-builder-content .fl-module-box.aej-split-book { gap: 22px; }
  .fl-builder-content .fl-module-box.aej-grid-2,
  .fl-builder-content .fl-module-box.aej-grid-3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .fl-builder-content .fl-module-box.aej-bar { flex-direction: column; align-items: flex-start; gap: 16px; }
  .fl-builder-content .fl-module-box.aej-bar.aej-bar--keep { flex-direction: row; align-items: center; }
  .fl-builder-content .fl-module-box.aej-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .fl-builder-content .aej-actions .aej-btn a.fl-button { display: flex; width: 100%; }
  .fl-builder-content .aej-actions > .fl-rich-text { text-align: center; }
  /* "How it works": eyebrow and heading above the photo */
  .fl-builder-content .fl-module-box.aej-split.aej-interleave { display: flex; flex-direction: column; gap: 24px; }
  .fl-builder-content .aej-interleave > .fl-module-box { display: contents; }
  .fl-builder-content .aej-interleave .aej-o1 { order: 1; }
  .fl-builder-content .aej-interleave .aej-o2 { order: 2; }
  .fl-builder-content .aej-interleave .aej-o3 { order: 3; }
  .fl-builder-content .aej-interleave .aej-o4 { order: 4; }
  .fl-builder-content .aej-interleave .aej-o5 { order: 5; }
  /* Stories: a swipeable row */
  .fl-builder-content .fl-module-box.aej-stories {
    display: flex; flex-direction: row; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-right: calc(-1 * var(--aej-gutter)); padding-right: var(--aej-gutter);
  }
  .fl-builder-content .fl-module-box.aej-stories::-webkit-scrollbar { display: none; }
  .fl-builder-content .fl-module-box.aej-stories > .aej-story { flex: 0 0 300px; scroll-snap-align: start; padding: 28px; gap: 22px; border-radius: 26px; }
  .aej-story p { font-size: 17px; }
  .aej-story--feature p { font-size: 27px; }
  .aej-story--feature::before { font-size: 90px; height: 34px; }
  /* Footer CTA */
  .fl-builder-content .fl-module-box.aej-footer-cta { flex-direction: column; align-items: stretch; gap: 14px; }
}

/* Component heading sizes need the body prefix to beat the base h2/h3 scale */
body .aej-fact h3 { font-size: 28px; line-height: 1.1; }
body .aej-journey__step h3 { font-size: 44px; line-height: 1; }
body .aej-footer-cta h2 { font-size: clamp(40px, calc(35.7px + 1.1vw), 56px); line-height: 1; }
@media (max-width: 900px) {
  body .aej-fact h3 { font-size: 23px; }
  body .aej-journey__step h3 { font-size: 30px; }
}

/* Stories filter hides cards with the hidden attribute */
.fl-builder-content .aej-story[hidden] { display: none !important; }

/* Signature and footer logo (inline SVG) */
.aej-signature svg { display: block; height: 56px; width: auto; }
.aej-footer .aej-logo svg { height: 36px; width: auto; }
@media (max-width: 767px) {
  .aej-signature svg { height: 46px; }
  .aej-footer .aej-logo svg { height: 30px; }
  .aej-footer-cols ul.aej-2col-mobile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
  .aej-footer-cols ul.aej-2col-mobile li { display: flex; align-items: center; min-height: 44px; }
}

/* BB adds clearfix ::before/::after to every non-container module. On modules that are
   flex or grid containers those pseudo-elements become empty items and push content
   about, so they are switched off here (0,3,1 beats BB's 0,2,1). */
.fl-builder-content .fl-module:is(.aej-card-top, .aej-footer-cols, .aej-footer-bottom, .aej-who, .aej-utility, .aej-header,
  .aej-points, .aej-journey, .aej-filter, .aej-price, .aej-sticky-bar, .aej-hello, .aej-sticker, .aej-quote-rule,
  .aej-quote-figure)::before,
.fl-builder-content .fl-module:is(.aej-card-top, .aej-footer-cols, .aej-footer-bottom, .aej-who, .aej-utility, .aej-header,
  .aej-points, .aej-journey, .aej-filter, .aej-price, .aej-sticky-bar, .aej-hello, .aej-sticker, .aej-quote-rule,
  .aej-quote-figure)::after { content: none; }
/* The big opening quote on the featured story (a Box, whose ::before BB also uses) */
.fl-builder-content .fl-module-box.aej-story--feature::before { content: '\201C'; display: block; }

/* Link colours that have to beat the base `body a` rule */
body .aej-nav a { color: var(--aej-ink); text-decoration: none; }
body .aej-nav a:hover { color: var(--aej-deep); }
body .aej-link-arrow a, body a.aej-link-arrow { text-decoration: none; }
body .aej-link-arrow--warm a, body a.aej-link-arrow--warm { color: var(--aej-terracotta); }
body .aej-footer-cols a, body .aej-footer-cols li, body .aej-footer-cols span { color: var(--aej-shell); text-decoration: none; }
body .aej-footer-cols a:hover { color: var(--aej-mist); text-decoration: underline; }
body .aej-footer-bottom a { color: var(--aej-mist); }

/* ---------------------------------------------------------------
   19. Gravity Forms, legacy markup. Form 1 still outputs the legacy
   (pre-2.5) markup, so these rules style it to match the design. When the
   form is switched to modern markup, section 15 takes over.
   --------------------------------------------------------------- */
body .aej-form .gform_wrapper { margin: 0; max-width: none; font-family: var(--aej-font-body); color: var(--aej-ink); }
body .aej-form .gform_wrapper form { margin: 0; }
body .aej-form .gform_wrapper ul.gform_fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin: 0 !important; padding: 0 !important; list-style: none; }
body .aej-form .gform_wrapper ul.gform_fields li.gfield { grid-column: 1 / -1; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important; }
body .aej-form .gform_wrapper ul.gform_fields li.gfield.gf_left_half,
body .aej-form .gform_wrapper ul.gform_fields li.gfield.gf_right_half { grid-column: auto; }
body .aej-form .gform_wrapper .gfield_label { display: block; margin: 0 0 8px !important; padding: 0 !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.35; color: var(--aej-ink); }
body .aej-form .gform_wrapper .gfield_required { color: var(--aej-terracotta); margin-left: 2px; }
body .aej-form .gform_wrapper .ginput_container { margin: 0 !important; padding: 0 !important; }
body .aej-form .gform_wrapper input[type="text"],
body .aej-form .gform_wrapper input[type="email"],
body .aej-form .gform_wrapper input[type="tel"],
body .aej-form .gform_wrapper textarea {
  width: 100% !important; min-height: 52px; margin: 0 !important; padding: 0 16px !important;
  border: 1.5px solid var(--aej-input-line) !important; border-radius: 14px !important; background: var(--aej-shell) !important;
  font: 400 17px/1.4 var(--aej-font-body) !important; color: var(--aej-ink) !important; box-shadow: none !important;
}
body .aej-form .gform_wrapper textarea { height: 120px !important; padding: 14px 16px !important; resize: vertical; }
body .aej-form .gform_wrapper input:focus, body .aej-form .gform_wrapper textarea:focus { outline: 0; border-color: var(--aej-logo) !important; box-shadow: 0 0 0 3px rgba(0, 149, 204, .2) !important; }
/* Checkbox groups as pills */
body .aej-form .gform_wrapper .gfield_checkbox { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
body .aej-form .gform_wrapper .gfield_checkbox .gchoice {
  display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; min-height: 44px;
  margin: 0 !important; padding: 0 16px !important; float: none !important; overflow: visible !important;
  border: 1.5px solid var(--aej-input-line); border-radius: 999px; background: var(--aej-white); cursor: pointer;
}
body .aej-form .gform_wrapper .gfield_checkbox .gchoice:has(input:checked) { border-color: var(--aej-logo); background: var(--aej-mist-pale); }
body .aej-form .gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"] { flex: none; width: 16px; height: 16px; margin: 0 !important; accent-color: var(--aej-deep); }
body .aej-form .gform_wrapper .gfield_checkbox .gchoice label { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; font-size: 15px !important; font-weight: 500; line-height: 1.3 !important; color: var(--aej-ink); cursor: pointer; }
/* The newsletter consent is one plain checkbox row, not a pill */
body .aej-form .gform_wrapper li.gfield.hidden_label .gchoice { align-items: flex-start; gap: 12px; min-height: 0; padding: 0 !important; border: 0; background: none; }
body .aej-form .gform_wrapper li.gfield.hidden_label .gchoice input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px !important; }
body .aej-form .gform_wrapper li.gfield.hidden_label .gchoice label { font-weight: 400; line-height: 1.5 !important; color: var(--aej-body); }
/* Tablet and up (8 Oct, Luke): the pills sit in the same two columns as the name / email / phone
   boxes, so their edges line up with the fields above and below them */
@media (min-width: 768px) {
  .aej-form, .fl-module.aej-form .fl-module-content { padding: 36px 36px 40px !important; }
  body .aej-form .gform_wrapper .gfield_checkbox { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; width: 100% !important; }
  body .aej-form .gform_wrapper li.gfield.hidden_label .gfield_checkbox { grid-template-columns: minmax(0, 1fr); }
  body .aej-form .gform_wrapper .gfield_checkbox .gchoice { padding: 8px 12px !important; border-radius: 22px; }
  body .aej-form .gform_wrapper li.gfield.hidden_label .gchoice { padding: 0 !important; border-radius: 0; }
  body .aej-form .gform_wrapper .gfield_checkbox .gchoice label { font-size: 14px !important; }
  body .aej-form .gform_wrapper li.gfield:not(.hidden_label) .gchoice label { white-space: nowrap; }
}
/* Submit */
body .aej-form .gform_wrapper .gform_footer { margin: 28px 0 0 !important; padding: 0 !important; }
body .aej-form .gform_wrapper .gform_footer [type="submit"] {
  width: 100% !important; min-height: 60px; margin: 0 !important; padding: 0 24px !important; border: 0 !important; border-radius: 999px !important;
  background: var(--aej-deep) !important; color: var(--aej-white) !important; font: 600 18px/1.2 var(--aej-font-body) !important; cursor: pointer;
}
body .aej-form .gform_wrapper .gform_footer [type="submit"]:hover { background: var(--aej-deep-hover) !important; }
body .aej-form .gform_wrapper .validation_message, body .aej-form .gform_wrapper .gform_validation_errors { border-radius: 12px; font-size: 14px; }
body .aej-form .gform_confirmation_message { font-size: 18px; line-height: 1.6; color: var(--aej-ink); }
@media (max-width: 767px) {
  body .aej-form .gform_wrapper ul.gform_fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body .aej-form .gform_wrapper ul.gform_fields li.gfield.gf_left_half,
  body .aej-form .gform_wrapper ul.gform_fields li.gfield.gf_right_half { grid-column: 1 / -1; }
  body .aej-form .gform_wrapper .gform_footer [type="submit"] { min-height: 56px; font-size: 17px !important; }
}

/* Theme resets that leak into the new sections:
   - ey3-theme gives p/ul/figure 0.5em margins (BB Photo modules are <figure>)
   - ey3-theme fixes every <header> to the top on phones (meant for the old Themer header)
   - theme button padding squashes the round icon buttons */
:where(body .fl-builder-content) :is(p, ul, ol, figure, blockquote) { margin: 0; }
body header.aej-site-header { position: relative !important; top: auto !important; box-shadow: none !important; background: transparent !important; }
.aej-icon-btn { padding: 0 !important; }
.aej-icon-btn::before { flex: none; }
@media (max-width: 767px) {
  .aej-ticks ul, ul.aej-ticks { font-size: 14px; gap: 8px 18px; }
  .aej-ticks li { gap: 6px; }
}
.aej-fact::before { flex: none; }
@media (max-width: 767px) {
  .aej-eyebrow, .aej-eyebrow .fl-heading, .aej-eyebrow p { font-size: 12px; letter-spacing: .14em; }
}

/* ---------------------------------------------------------------
   20. Inner pages (What is it?, About Anita, Stories, FAQ, Book, Privacy)
   --------------------------------------------------------------- */
/* Text-only page hero */
.fl-builder-content .fl-module-box.aej-hero--text { padding: 72px var(--aej-gutter) 64px; }
@media (max-width: 767px) { .fl-builder-content .fl-module-box.aej-hero--text { padding: 28px var(--aej-gutter) 48px; } }

/* Narrow reading column */
.fl-builder-content .aej-narrow { width: 100%; max-width: 760px; }
.fl-builder-content .aej-narrow.aej-center, .fl-builder-content .aej-narrow.aej-mx-auto { margin-left: auto; margin-right: auto; }

/* The 12 sessions, as numbered cards (Text Editor with an <ol>) */
.aej-sessions ol { counter-reset: aej-s; list-style: none; margin: 0 !important; padding: 0 !important;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.aej-sessions li { counter-increment: aej-s; position: relative; margin: 0; padding: 26px 26px 26px 84px; border-radius: 24px;
  background: var(--aej-white); font-size: 16px; line-height: 1.55; color: var(--aej-body); }
.aej-sessions li::before { content: counter(aej-s, decimal-leading-zero); position: absolute; left: 24px; top: 20px;
  font-family: var(--aej-font-display); font-size: 40px; line-height: 1; color: var(--aej-logo); }
.aej-sessions li:nth-child(n+5)::before { color: var(--aej-sky); }
.aej-sessions li:nth-child(n+9)::before { color: var(--aej-sunrise); }
.aej-sessions li strong { display: block; margin-bottom: 4px; font-weight: 600; color: var(--aej-ink); }
.aej-sessions li em { display: block; margin-top: 6px; font-style: normal; color: var(--aej-deep); font-size: 15px; }
@media (max-width: 1100px) { .aej-sessions ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .aej-sessions ol { grid-template-columns: minmax(0, 1fr); gap: 12px; } .aej-sessions li { padding: 22px 22px 22px 72px; } .aej-sessions li::before { font-size: 34px; left: 20px; } }

/* "What clients notice": a big tick list */
.aej-benefits ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 32px; }
.aej-benefits li { display: flex; gap: 12px; align-items: flex-start; margin: 0; font-size: 18px; line-height: 1.45; color: var(--aej-ink); }
.aej-benefits li::before { content: ''; flex: none; width: 22px; height: 22px; margin-top: 2px; background: var(--aej-logo);
  -webkit-mask: var(--aej-i-check) center / contain no-repeat; mask: var(--aej-i-check) center / contain no-repeat; }
@media (max-width: 1100px) { .aej-benefits ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .aej-benefits ul { grid-template-columns: minmax(0, 1fr); gap: 14px; } .aej-benefits li { font-size: 17px; } }

/* FAQ: Beaver Builder Accordion module with class aej-faq */
.fl-builder-content .aej-faq .fl-accordion-item { margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--aej-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.fl-builder-content .aej-faq .fl-accordion-item:first-child { border-top: 1px solid var(--aej-line) !important; }
.fl-builder-content .aej-faq .fl-accordion-heading { margin: 0 !important; font: inherit !important; }
.fl-builder-content .aej-faq .fl-accordion-button { display: flex !important; align-items: center; justify-content: space-between; gap: 20px; width: 100%;
  margin: 0; padding: 22px 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer; text-align: left; }
.fl-builder-content .aej-faq .fl-accordion-button-label { font-family: var(--aej-font-display) !important; font-size: clamp(22px, calc(20.5px + .38vw), 26px) !important;
  line-height: 1.2 !important; font-weight: 400 !important; color: var(--aej-ink) !important; }
.fl-builder-content .aej-faq .fl-accordion-button-icon { flex: none; width: 36px; height: 36px; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--aej-mist-pale); color: var(--aej-deep) !important; font-size: 14px !important; }
.fl-builder-content .aej-faq .fl-accordion-content { padding: 0 56px 26px 0 !important; border: 0 !important; background: transparent !important;
  font-size: 17px; line-height: 1.65; color: var(--aej-body); }
.fl-builder-content .aej-faq .fl-accordion-content p { margin: 0 0 1em; }
.fl-builder-content .aej-faq .fl-accordion-content > :last-child, .fl-builder-content .aej-faq .fl-accordion-content p:last-child { margin-bottom: 0; }
.fl-builder-content .aej-faq .fl-accordion-content ol, .fl-builder-content .aej-faq .fl-accordion-content ul { margin: 0 0 1em !important; padding-left: 1.4em !important; }
.fl-builder-content .aej-faq .fl-accordion-content li { margin: 0 0 6px; }
@media (max-width: 767px) { .fl-builder-content .aej-faq .fl-accordion-content { padding-right: 0 !important; font-size: 16px; } .fl-builder-content .aej-faq .fl-accordion-button { padding: 18px 0 !important; } }

/* Stories wall: masonry columns of story cards */
.fl-builder-content .fl-module-box.aej-stories-wall { display: block; columns: 3 320px; column-gap: 24px; }
.fl-builder-content .aej-stories-wall > .aej-story { break-inside: avoid; margin: 0 0 24px !important; }
.aej-story .aej-story__lead, .aej-story .aej-story__lead p { font-family: var(--aej-font-display); font-size: clamp(22px, calc(20.5px + .38vw), 26px); line-height: 1.2; color: var(--aej-ink); }
.aej-story .aej-story__body, .aej-story .aej-story__body p { font-family: var(--aej-font-body); font-size: 16px !important; line-height: 1.6 !important; color: var(--aej-body) !important; }
.aej-story--feature .aej-story__body, .aej-story--feature .aej-story__body p { color: var(--aej-on-dark) !important; }
@media (max-width: 767px) { .fl-builder-content .fl-module-box.aej-stories-wall { columns: 1; } }

/* Story card colours (Anita, 7 Oct 2026: "a few different colours ... not all white").
   Add one of these to a story card's Box class (Advanced → Class) to change its colour:
   aej-story--pale-blue · aej-story--blue · aej-story--peach  (no extra class = white) */
.aej-story.aej-story--pale-blue { background: var(--aej-mist-pale); }
.aej-story.aej-story--blue { background: var(--aej-mist); }
.aej-story.aej-story--peach { background: var(--aej-peach); }

/* Long-form text (privacy policy, story) */
.aej-prose, .aej-prose p, .aej-prose li { font-size: 17px; line-height: 1.7; color: var(--aej-body); }
body .aej-prose h2 { font-size: clamp(28px, calc(24.3px + .95vw), 36px); line-height: 1.1; margin: 1.6em 0 .5em; color: var(--aej-ink); }
body .aej-prose h3 { font-size: 24px; line-height: 1.2; margin: 1.4em 0 .4em; color: var(--aej-ink); }
.aej-prose > :first-child { margin-top: 0 !important; }
body .aej-prose ul, body .aej-prose ol { margin: 0 0 1em !important; padding-left: 1.3em !important; }
.aej-prose li { margin: 0 0 .4em; }
.aej-prose strong { color: var(--aej-ink); }

/* Draft-only note for Anita (remove before launch) */
.aej-draft-note, .aej-draft-note p { background: var(--aej-peach); color: var(--aej-terracotta); border: 1px dashed #E39A6B; border-radius: 14px; padding: 14px 18px; font-size: 15px; font-weight: 500; }
.aej-draft-note p { padding: 0; border: 0; background: none; }

/* Two-up text cards (Between sessions / Beyond session 12) */
.aej-card .aej-body + .aej-body { margin-top: 0; }
.fl-builder-content .fl-module-box.aej-section.aej-pt-0, .fl-builder-content .fl-module-box.aej-section-lg.aej-pt-0 { padding-top: 0; }
.fl-builder-content .fl-module-box.aej-actions.aej-actions--center { justify-content: center; }
.aej-maxw-760 { max-width: 760px; }
.fl-builder-content .aej-mx-auto { margin-left: auto; margin-right: auto; }
.aej-quote--light { color: var(--aej-shell); font-size: clamp(24px, calc(21.8px + .57vw), 32px); line-height: 1.3; }
.aej-bg-ink .aej-cite, .aej-bg-ink .aej-cite p { color: var(--aej-on-dark); }
.aej-story--feature .aej-story__lead, .aej-story--feature .aej-story__lead p { font-size: clamp(28px, calc(24.3px + .95vw), 38px); line-height: 1.15; color: var(--aej-shell); }
.aej-prose .ph, .aej-draft-note .ph { white-space: normal; }
@media (max-width: 767px) { .aej-story--feature .aej-story__lead, .aej-story--feature .aej-story__lead p { font-size: 27px; } }

/* ---------------------------------------------------------------
   21. Blog: index cards, featured post, article layout
   --------------------------------------------------------------- */
.aej-cat-label, .aej-cat-label p { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--aej-deep); }
.aej-cat-label--warm, .aej-cat-label--warm p { color: var(--aej-terracotta); }
/* Post cards */
.fl-builder-content .fl-module-box.aej-post-card { background: var(--aej-white); border-radius: var(--aej-radius); padding: 14px 14px 28px; }
.fl-builder-content .aej-post-card > .fl-module:not(.aej-post-thumb) { padding: 0 14px; }
.aej-post-thumb a { display: block; line-height: 0; }
.aej-post-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 160px 160px 18px 18px; background: var(--aej-mist-pale); }
body .aej-post-card h3 { font-size: clamp(24px, calc(21.8px + .57vw), 30px); line-height: 1.12; }
body .aej-post-card h3 a, body .aej-feature-post h2 a { color: var(--aej-ink); text-decoration: none; }
body .aej-post-card h3 a:hover, body .aej-feature-post h2 a:hover { color: var(--aej-deep); }
.fl-builder-content .aej-post-card[hidden] { display: none !important; }
/* Featured post: image left, text right */
.fl-builder-content .fl-module-box.aej-feature-post { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center;
  background: var(--aej-white); border-radius: var(--aej-radius-lg); padding: 20px 56px 20px 20px; }
.aej-feature-post .aej-post-thumb img { aspect-ratio: 5 / 4; border-radius: 240px 240px 24px 24px; }
@media (max-width: 900px) { .fl-builder-content .fl-module-box.aej-feature-post { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 14px 14px 28px; }
  .fl-builder-content .aej-feature-post > .fl-module-box { padding: 0 14px; } }
/* Article */
.fl-builder-content .aej-article { width: 100%; max-width: 680px; margin-left: auto; margin-right: auto; }
.aej-article, .aej-article p, .aej-article li { font-size: 18px; line-height: 1.75; color: var(--aej-body); }
body .aej-article h2 { font-size: clamp(30px, calc(26.3px + .95vw), 40px); line-height: 1.1; margin: 1.5em 0 .45em; color: var(--aej-ink); }
.aej-article > :first-child { margin-top: 0 !important; }
.aej-article a { font-weight: 500; }
.aej-pullquote { margin: 0; padding: 4px 0 4px 28px; border-left: 3px solid var(--aej-sunrise); }
.aej-pullquote .aej-quote { font-size: clamp(24px, calc(21.8px + .57vw), 30px); line-height: 1.25; }
.aej-pullquote .aej-cite { margin-top: 10px; }
.aej-post-meta, .aej-post-meta p { font-size: 15px; color: var(--aej-body); }
.fl-builder-content .fl-module-box.aej-post-cta { background: var(--aej-peach); border-radius: var(--aej-radius-lg); padding: 40px; }
@media (max-width: 767px) {
  .aej-article, .aej-article p, .aej-article li { font-size: 17px; }
  .fl-builder-content .fl-module-box.aej-post-cta { padding: 28px 24px; }
  .aej-pullquote { padding-left: 20px; }
}
/* Blog posts (Beaver Themer post layout, 9 Oct): the title, category and body come from the post itself.
   Older posts are plain WordPress content, so their paragraphs, images and lists are styled here. */
body .aej-post-title { font-size: clamp(46px, calc(30px + 3vw), 76px); line-height: 1.02; letter-spacing: -.01em; text-wrap: balance; color: var(--aej-ink); margin: 0; }
.fl-builder-content .aej-hero--text:has(.aej-post-title) .aej-narrow { max-width: 680px; } /* title lines up with the post text */
.aej-post-h1 { line-height: 0; }
.aej-post-h1 .aej-post-title { line-height: 1.02; }
.aej-cat-label a { color: inherit; }
body .aej-post-body p { margin: 0 0 1.15em !important; }
body .aej-post-body > :last-child { margin-bottom: 0 !important; }
.aej-post-body img { display: block; max-width: 100%; height: auto; margin: 0 auto 1.4em; border-radius: var(--aej-radius); }
body .aej-post-body p:has(> img) { margin-bottom: 1.6em !important; }
body .aej-post-body ul, body .aej-post-body ol { margin: 0 0 1.15em !important; padding-left: 1.3em !important; }
.aej-post-body li { margin: 0 0 .4em; }
.aej-post-body span[style*="color"] { color: inherit !important; }
.aej-post-body strong, .aej-post-body b { color: var(--aej-ink); }
body .aej-post-body h3 { font-size: clamp(24px, calc(21.8px + .57vw), 30px); line-height: 1.15; margin: 1.4em 0 .4em; color: var(--aej-ink); }
.aej-post-body blockquote { margin: 0 0 1.15em; padding: 4px 0 4px 28px; border-left: 3px solid var(--aej-sunrise); font-family: var(--aej-font-display); font-style: italic; font-size: 24px; line-height: 1.3; color: var(--aej-ink); }
.fl-builder-content .fl-module.aej-filter { align-self: flex-start; }
.aej-filter--wrap { flex-wrap: wrap; border-radius: 28px; }
@media (max-width: 767px) { .aej-filter--wrap { display: flex; } .aej-filter--wrap button { height: 40px; padding: 0 14px; font-size: 14px; } }
/* Post image placeholders until each post has its new image */
.aej-thumb-ph { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 3; border-radius: 160px 160px 18px 18px;
  background: linear-gradient(180deg, var(--aej-mist-pale) 0%, var(--aej-sky) 100%); color: var(--aej-deep); }
.aej-thumb-ph::before { content: ''; width: 64px; height: 64px; background: currentColor; opacity: .55; -webkit-mask: var(--aej-ico) center / contain no-repeat; mask: var(--aej-ico) center / contain no-repeat; }
.aej-thumb-ph--life-changes { background: linear-gradient(180deg, var(--aej-sand) 0%, var(--aej-peach) 100%); color: var(--aej-terracotta); }
.aej-thumb-ph--growth { background: linear-gradient(180deg, var(--aej-peach) 0%, var(--aej-sunrise) 100%); color: var(--aej-terracotta); }
.aej-thumb-ph--relationships { background: linear-gradient(180deg, var(--aej-mist-pale) 0%, var(--aej-peach) 100%); }
.aej-thumb-ph--the-journey { background: linear-gradient(180deg, var(--aej-mist) 0%, var(--aej-peach) 100%); }
.aej-thumb-ph--parenting { background: linear-gradient(180deg, var(--aej-shell) 0%, var(--aej-sand) 100%); color: var(--aej-terracotta); }


/* ---------------------------------------------------------------
   21. Site-wide shell (9 Oct 2026)
   The header and footer are Beaver Themer layouts (Header 866, Footer 867) on every page,
   and this stylesheet loads from the child theme on every page.
   --------------------------------------------------------------- */
/* ey3-theme style.css was written for the old design: a mountain photo behind every page, 100px (30px on
   phones) of top padding for the old overlay header, and every <header> pinned to the top on phones.
   The Themer header is a <header> element, so it is released here. */
body { background: var(--aej-shell) !important; }
body .site-content { padding: 0 !important; }
body .site, body .site-content, body .content-area,
body .inside-article, body .entry-content { background: transparent !important; }
@media (max-width: 480px) {
  body header.fl-builder-content[data-type="header"] { position: relative !important; top: auto !important; box-shadow: none !important; background: transparent !important; }
}
/* GeneratePress's Customizer typography (Montserrat for text, Forum for headings) prints after this stylesheet
   with the same specificity, so text that inherits the body font (menu, utility bar, footer links) was showing
   in Montserrat instead of Figtree. These two rules make the design's font win (9 Oct 2026). */
html body { font-family: var(--aej-font-body); }
html body :is(button, input, select, textarea) { font-family: inherit; }
/* The footer's "Take the first step" band is left off two pages: the FAQ (791), which ends with its own
   call to action, and Book (792, /contact/), which is the booking page itself */
body.page-id-791 .aej-footer-cta, body.page-id-792 .aej-footer-cta { display: none !important; }
body.page-id-791 .aej-footer .aej-wrap > .aej-footer-cols,
body.page-id-792 .aej-footer .aej-wrap > .aej-footer-cols { margin-top: 0; }
