/*
Theme Name: Athene Tax
Author: Don Branco
Version: 1.13.5
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.2
Text Domain: athene
Tags: full-site-editing
*/
/* Front-end + editor CSS appended below in later tasks. */

/* =============================================================
   HEADER  (Phase 5)
   ============================================================= */

/* Sticky header with subtle shadow */
/* In-page anchor links (e.g. the Tax page jump links #tax-compliance,
   #tax-advisory, #vat-refund): scroll smoothly and land BELOW the sticky
   header so the target section's title stays visible (the header is ~143px;
   the extra gives a little breathing room). */
html {
  scroll-padding-top: 160px;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

.athene-header {
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--wp--custom--shadow--sm);
  /* Solid full-bleed bar: the inner row carries its own (content-width) base
     background, which left transparent strips down each side. Paint the
     full-width template-part wrapper too so the navbar is solid edge-to-edge.
     The .scrolled rule below overrides this with the translucent blur. */
  background: var(--wp--preset--color--base);
}

/* The header template-part wrapper AND its inner group both carry the
   .athene-header class. Only the full-width wrapper should paint the bar
   chrome — neutralise the inner copy so it doesn't cast a second, inset
   box-shadow (or create a nested sticky context). */
.athene-header .athene-header {
  box-shadow: none;
  position: static;
  background: transparent;
}

/* Nav link colour + hover */
.wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  font-weight: 500;
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--accent);
}

/* Fix 1: keep every TOP-LEVEL header nav item on a single line (the demo
   never wraps "Knowledge Hub" / "About us"). Scoped to the header's direct
   top-level items via :not(...__submenu-container ...) so the Services
   submenu panel (min-width:280px) may still wrap its longer labels. */
.athene-header
  .wp-block-navigation
  > .wp-block-navigation__container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content,
.athene-header
  .wp-block-navigation
  > .wp-block-navigation__container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content
  .wp-block-navigation-item__label {
  white-space: nowrap;
}

/* Services submenu panel */
.wp-block-navigation .wp-block-navigation__submenu-container {
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--divider);
  border-radius: var(--wp--custom--border-radius--md);
  box-shadow: var(--wp--custom--shadow--md);
  padding: var(--wp--preset--spacing--20) 0;
  min-width: 280px;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--ink);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--accent);
  background: color-mix(in srgb, var(--wp--preset--color--accent) 6%, transparent);
}
/* WCAG 2.2: submenu toggle (chevron button) ≥24×24px tap target */
.wp-block-navigation .wp-block-navigation__submenu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
}
.wp-block-navigation .wp-block-navigation__submenu-icon button {
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* Fix 1: Tax sub-links shown INLINE inside the Services dropdown card.
   The "Tax" item is a nested core submenu (.athene-tax-submenu). By default
   core renders a nested submenu as a side flyout (absolutely positioned,
   single-row parent). Instead we flatten it so "Tax" reads as a heading and
   its 3 children (Tax Compliance / Indirect & Direct Tax Advisory / VAT
   refund services) sit indented within the SAME Services card — matching the
   designer demo. Scoped to the header. */

/* Don't clip the (grown) Services panel, and let it size to its content. */
.athene-header
  .wp-block-navigation
  > .wp-block-navigation__container
  .wp-block-navigation-submenu
  > .wp-block-navigation__submenu-container {
  overflow: visible;
  height: auto;
}

/* The "Tax" item becomes a full-width, vertically-stacking block so its
   nested rows flow beneath it (inside the same card) and grow the card. */
.athene-header
  .wp-block-navigation
  .athene-tax-submenu.wp-block-navigation-submenu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  height: auto;
  overflow: visible;
}
/* Render the nested panel in-flow (not an absolutely-positioned flyout). */
.athene-header
  .wp-block-navigation
  .athene-tax-submenu
  > .wp-block-navigation__submenu-container {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: auto;
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  background: transparent;
  pointer-events: auto;
  inset: auto;
}
.athene-header
  .wp-block-navigation
  .athene-tax-submenu
  > .wp-block-navigation__submenu-container::before {
  content: none;
}
/* "Tax" parent row reads as a (still-clickable) heading: hide its caret. */
.athene-header
  .wp-block-navigation
  .athene-tax-submenu
  > .wp-block-navigation__submenu-icon,
.athene-header
  .wp-block-navigation
  .athene-tax-submenu
  > .wp-block-navigation-submenu__toggle
  .wp-block-navigation__submenu-icon {
  display: none;
}
/* Indent the 3 Tax sub-links beneath the "Tax" heading. */
.athene-header
  .wp-block-navigation
  .athene-tax-submenu
  > .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
  padding-left: var(--wp--preset--spacing--60, 2rem);
  font-size: var(--wp--preset--font-size--small);
}

/* Polylang language switcher in header */
.wp-block-polylang-language-switcher,
.wp-block-polylang-navigation-language-switcher {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 500;
}
.wp-block-polylang-language-switcher a,
.wp-block-polylang-navigation-language-switcher a {
  color: var(--wp--preset--color--muted);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  /* WCAG 2.2 target size: ensure ≥24px tap height */
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding-top: 4px;
  padding-bottom: 4px;
}
.wp-block-polylang-language-switcher a:hover,
.wp-block-polylang-navigation-language-switcher a:hover {
  color: var(--wp--preset--color--accent);
}
.wp-block-polylang-language-switcher .current-lang a,
.wp-block-polylang-navigation-language-switcher .current-lang a {
  color: var(--wp--preset--color--accent);
}

/* =============================================================
   LANGUAGE SWITCHER DROPDOWN  (Fix 2)
   JS (athene-interactions.js #6) wraps the inline Polylang <ul> in
   .athene-lang-dd > [.athene-lang-dd__trigger + ul.athene-lang-dd__menu].
   The card mirrors the Services submenu panel: same background, border,
   radius, shadow + a hover "bridge", and opens on hover / click / focus.
   ============================================================= */
.athene-lang-dd {
  position: relative;
  display: flex;
  align-items: center;
}

/* Trigger: compact, shows current language + caret (matches nav links). */
.athene-lang-dd__trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: none;
  padding: 4px 2px;
  margin: 0;
  font-family: inherit;
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  cursor: pointer;
  min-height: 24px;
}
.athene-lang-dd:hover .athene-lang-dd__trigger,
.athene-lang-dd.is-open .athene-lang-dd__trigger,
.athene-lang-dd__trigger:hover,
.athene-lang-dd__trigger:focus-visible {
  color: var(--wp--preset--color--accent);
}
.athene-lang-dd__caret {
  transition: transform 0.2s ease;
  flex: 0 0 auto;
}
.athene-lang-dd:hover .athene-lang-dd__caret,
.athene-lang-dd.is-open .athene-lang-dd__caret {
  transform: rotate(180deg);
}

/* Card: reuse the Services submenu panel look (base bg, divider border,
   md radius, md shadow). Closed by default; opens on hover / focus-within
   / .is-open (JS click toggle). Right-aligned so it stays in the band. */
.athene-lang-dd__menu.wp-block-polylang-language-switcher {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  left: auto;
  z-index: 110;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-width: 160px;
  padding: var(--wp--preset--spacing--20) 0;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--divider);
  border-radius: var(--wp--custom--border-radius--md);
  box-shadow: var(--wp--custom--shadow--md);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
/* Hover "bridge" so the cursor can travel from trigger to card. */
.athene-lang-dd__menu.wp-block-polylang-language-switcher::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}
.athene-lang-dd:hover .athene-lang-dd__menu.wp-block-polylang-language-switcher,
.athene-lang-dd:focus-within .athene-lang-dd__menu.wp-block-polylang-language-switcher,
.athene-lang-dd.is-open .athene-lang-dd__menu.wp-block-polylang-language-switcher {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* The OPEN card lists ALL languages by full name (English / Suomi / Svenska),
   including the active one — the trigger shows only the short CODE (EN/FI/SV),
   so the current language must remain visible inside the card. */
.athene-lang-dd__menu.wp-block-polylang-language-switcher .current-lang {
  display: block;
}

/* Card rows: full-width tappable links, like the Services submenu items. */
.athene-lang-dd__menu.wp-block-polylang-language-switcher li {
  display: block;
  margin: 0;
}
.athene-lang-dd__menu.wp-block-polylang-language-switcher a {
  display: block;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
  min-height: 0;
  color: var(--wp--preset--color--ink);
  text-transform: none;
  letter-spacing: normal;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  white-space: nowrap;
}
.athene-lang-dd__menu.wp-block-polylang-language-switcher a:hover {
  color: var(--wp--preset--color--accent);
  background: color-mix(in srgb, var(--wp--preset--color--accent) 6%, transparent);
}

/* =============================================================
   FOOTER  (Phase 5)
   ============================================================= */

/* Footer nav links: muted, no underline */
.athene-footer .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--muted);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
}
.athene-footer .wp-block-navigation .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--accent);
}

/* Footer bottom bar: flush paragraph margins */
.athene-footer-bar p {
  margin: 0;
}

/* Responsive: footer rows stack below 600px */
@media (max-width: 599px) {
  .athene-footer > .wp-block-group:first-child {
    flex-direction: column;
    gap: var(--wp--preset--spacing--50);
  }
  .athene-footer-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--30);
  }
}

/* Logo: source SVG has a viewBox but no intrinsic width/height, so the custom-logo img collapses to 0x0 unless constrained. */
.custom-logo{display:block;max-width:100%;height:auto}
.athene-header .custom-logo{width:104px;height:auto}
.athene-footer .custom-logo{width:140px;height:auto}

/* =============================================================
   LAYOUT WIDTH BAND  (design .wrap: 1248px band, ~1056 content)
   The header + footer backgrounds stay full-bleed (alignfull), but
   their ROW CONTENT must be capped to the 1248 band and centred so
   the logo isn't jammed to the far-left and the switcher/links to the
   far-right at wide viewports. Each inner row keeps its own 96px side
   padding, giving an effective ~1056 content column to match design.
   ============================================================= */
.athene-header > .wp-block-group {
  max-width: var(--wp--custom--max-band, 1248px);
  margin-inline: auto;
  width: 100%;
}
.athene-footer {
  --wp--custom--max-band: 1248px;
}
.athene-footer > .wp-block-group {
  max-width: var(--wp--custom--max-band, 1248px);
  margin-inline: auto;
  width: 100%;
}
:root { --wp--custom--max-band: 1248px; --fog: #F5F6F4; }

/* ---- Constrained SECTION content -> design 1056 column --------------
   Every full-bleed section group (alignfull + has-global-padding +
   is-layout-constrained) hard-codes contentSize:1248px in block markup, so
   WP bakes `> :where(:not(.alignfull)…){max-width:1248px}` (specificity 0,1,0)
   into per-container inline styles. Lowering theme.json contentSize cannot
   override that per-block value. We re-cap the DIRECT children of those
   top-level bands to the global content-size (1056px) here — specificity
   (0,3,0) beats the baked rule — without touching nested groups (which lack
   has-global-padding) or full-bleed backgrounds (excluded + their own 100vw).
   Children that opt into a narrower column (hero stage 880, etc.) keep it via
   their own lower max-width. */
.alignfull.has-global-padding.is-layout-constrained
  > :not(.alignfull):not(.alignleft):not(.alignright):not(.alignwide) {
  max-width: var(--wp--style--global--content-size, 1056px);
}
/* Sections that intentionally declare a narrower band keep it (the generic
   rule above would otherwise widen their direct children to 1056). The dark
   plum contact band caps content at 900px (block contentSize:900 / design
   .contact h2{max-width:900px}). Re-assert after the generic rule. */
.athene-contact.has-global-padding.is-layout-constrained
  > :not(.alignfull):not(.alignleft):not(.alignright):not(.alignwide) {
  max-width: 900px;
}





/* =============================================================
   HOMEPAGE PATTERNS  (Phase 7)
   ============================================================= */

/* ---- Shared bits ---------------------------------------------------- */
.athene-eyebrow { margin: 0; }
.athene-eyebrow--on-dark { color: rgba(255,255,255,0.6); }

/* Buttons: primary accent pill + outline ghost variants, token-driven */
.athene-btn .wp-block-button__link {
  border-radius: var(--wp--custom--border-radius--pill);
  font-weight: 500;
  line-height: 1.25;
}
.athene-btn--primary .wp-block-button__link:hover {
  background-color: color-mix(in srgb, var(--wp--preset--color--accent) 86%, #000);
}
/* Outline ghost (light surfaces): hairline border, ink text, transparent fill */
.athene-btn--ghost.is-style-outline .wp-block-button__link {
  border: 1px solid #D7DCE3;
  background: transparent;
  color: var(--wp--preset--color--ink);
}
.athene-btn--ghost.is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--accent);
}
/* Hero "Contact Us" ghost button gets a solid white fill so it reads as a
   real button against the mist hero background (scoped to the hero CTAs so
   ghost buttons on other surfaces keep their transparent fill). */
.athene-hero__ctas .athene-btn--ghost.is-style-outline .wp-block-button__link {
  background: var(--wp--preset--color--base);
}
/* Careers "Send application" ghost button gets a solid white fill so it reads
   as a real button alongside the accent "Open positions" CTA (scoped to the
   careers CTAs so ghost buttons on other surfaces keep their transparent fill). */
.athene-career__ctas .athene-btn--ghost.is-style-outline .wp-block-button__link {
  background: var(--wp--preset--color--base);
}
/* Outline ghost (dark surfaces): translucent white border, white text */
.athene-btn--ghost-dark.is-style-outline .wp-block-button__link {
  border: 1px solid rgba(255,255,255,0.28);
  background: transparent;
  color: var(--wp--preset--color--base);
}
.athene-btn--ghost-dark.is-style-outline .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--base);
  background: rgba(255,255,255,0.06);
}
/* Vertically + horizontally center the label inside every button. The brand
   font has top-heavy vertical metrics, so with the default inline-block + line
   leading the text sat low (extra space on top). Flex centering + a tight
   line-height pins the label to the optical centre regardless of padding. */
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* ---- Hero ----------------------------------------------------------- */
/* Close the gap between the sticky header and the first content section:
   WordPress applies a root-level block-gap as margin-block-start on the
   top-level <main>, leaving a visible strip below the navbar (most obvious
   where the hero's mist background meets the white header). */
.wp-site-blocks > main { margin-block-start: 0; }
.athene-hero { position: relative; overflow: clip; }
/* Interactive chevron world map (injected inline by assets/js/hero-map.js on
   the front page). The map and veil are decorative chrome behind the copy;
   the masked #heroGlow circle follows the cursor. Ported from the designer
   demo. */
.athene-hero .hero-bg {
  position: absolute;
  /* Break out of the section's global (96px) horizontal padding AND the
     constrained-layout 1248px content cap so the dotted map spans the FULL
     hero width edge-to-edge (full-bleed). The is-layout-constrained parent
     otherwise gives direct children max-width:1248px + margin-inline:auto. */
  top: 0;
  bottom: 0;
  left: 50%;
  right: auto;
  width: 100vw;
  max-width: 100vw !important;
  margin-inline: 0 !important;
  transform: translateX(-50%);
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.athene-hero .hero-bg svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.athene-hero .hero-veil {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  right: auto;
  width: 100vw;
  max-width: 100vw !important;
  margin-inline: 0 !important;
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(76% 66% at 50% 42%,
    rgba(245, 246, 247, 0.98) 0%,
    rgba(245, 246, 247, 0.95) 36%,
    rgba(245, 246, 247, 0.62) 58%,
    rgba(245, 246, 247, 0) 82%);
}
/* chevron map ripple — faint grey base chevrons */
.athene-hero .rchev { opacity: 0.30; }
/* cursor colour shows ONLY through the chevron shapes (vector mask) */
.athene-hero #heroGlow { transition: opacity 0.4s ease; }
@media (prefers-reduced-motion: reduce) {
  .athene-hero #heroGlow { display: none; }
}
.athene-hero > * { position: relative; z-index: 1; }
.athene-hero__headline {
  letter-spacing: var(--wp--custom--tracking--tight);
  line-height: 1.05;
  margin: 0;
}
.athene-hero__body { max-width: 640px; margin-inline: auto; line-height: 1.55; }
/* Hero copy column: cap at the design's 880px (.hero-copy), centered, even
   though the homepage post_content stage inherits the global contentSize. */
.athene-hero__stage { max-width: 880px !important; margin-inline: auto !important; }
/* Hero bullets grid is is-layout-grid (not constrained) so it does NOT pick up
   the content-size cap and would otherwise fill the section minus gutters
   (~1713px @1920). Cap it to the content band and centre it. */
.athene-hero__bullets { max-width: var(--wp--style--global--content-size, 1056px); margin-inline: auto; }
.athene-hero__num { margin: 0; }
.athene-hero__bullet p:last-child { margin: 0; line-height: 1.5; }

@media (max-width: 1024px) {
  .athene-hero__bullets { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
  .athene-hero__bullets { grid-template-columns: 1fr 1fr !important; }
}

/* ---- Services grid -------------------------------------------------- */
.athene-services__head { gap: var(--wp--preset--spacing--40); }
.athene-services__title { margin: 0; max-width: 720px; }

/* 6-col grid: row 1 = three 2-col tiles, row 2 = two 3-col tiles.
   The grid items are the <li class="wp-block-post"> wrappers, not .athene-tile. */
.athene-tiles {
  grid-template-columns: repeat(6, 1fr) !important;
  grid-auto-rows: minmax(300px, auto);
  gap: var(--wp--preset--spacing--40) !important;
  margin: 0;
  padding: 0;
  list-style: none;
}
.athene-tiles > li { grid-column: span 2; margin: 0; }
.athene-tiles > li:nth-child(4),
.athene-tiles > li:nth-child(5) { grid-column: span 3; }
/* Every tile starts identical (light grey card, ink text, white icon/arrow
   chips). Hover swaps in the dark-plum "feature" treatment — same on all
   five tiles, not just one — as the interactive/selected state. */
.athene-tile {
  position: relative;
  height: 100%;
  text-decoration: none;
  background: var(--wp--preset--color--band);
  border: 1px solid #E3E6EA;
  color: var(--wp--preset--color--ink);
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  gap: var(--wp--preset--spacing--30);
  overflow: hidden;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease,
    color 0.18s ease;
}
.athene-tile:hover {
  box-shadow: var(--wp--custom--shadow--md);
  border-color: transparent;
  background: var(--wp--preset--color--plum);
  color: var(--wp--preset--color--base);
}
.athene-tile:hover .athene-tile__title a { color: var(--wp--preset--color--base); }
.athene-tile:hover .athene-tile__excerpt { color: rgba(255,255,255,0.62); }
.athene-tile:hover .athene-tile__icon {
  background: rgba(201,169,198,0.20);
  border-color: transparent;
  color: var(--wp--preset--color--mauve);
}

.athene-tile__top {
  width: 100%;
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}
.athene-tile__icon {
  width: 52px; height: 52px; flex: 0 0 auto;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--divider);
  border-radius: 10px;
  color: var(--wp--preset--color--ink);
  display: flex; align-items: center; justify-content: center;
}
.athene-tile__bottom {
  margin-top: auto;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: var(--wp--preset--spacing--30);
}
.athene-tile__title {
  margin: 0;
  overflow-wrap: normal;
  word-break: normal;
  font-size: 26px !important;
  line-height: 1.12 !important;
}
.athene-tile__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
/* Stretched-link: make the whole tile clickable via the post-title anchor
   (replaces the former invalid Group tagName:"a" wrapper). */
.athene-tile__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.athene-tile__excerpt {
  margin: 0;
  color: var(--wp--preset--color--muted);
  line-height: 1.45;
}
/* Wider row-2 tiles can carry the larger display title */
.athene-tiles > li:nth-child(4) .athene-tile__title,
.athene-tiles > li:nth-child(5) .athene-tile__title { font-size: 30px !important; }
.athene-tile__excerpt p { margin: 0; }
.athene-tile__arrow {
  width: 44px; height: 44px; flex: 0 0 auto;
  background: var(--wp--preset--color--base);
  border: 1px solid #D7DCE3;
  color: var(--wp--preset--color--ink);
  border-radius: 50%;
  margin-top: var(--wp--preset--spacing--20);
  display: flex; align-items: center; justify-content: center;
}
.athene-tile:hover .athene-tile__arrow {
  background: var(--wp--preset--color--mauve);
  border-color: transparent;
  color: var(--wp--preset--color--plum);
}

@media (max-width: 900px) {
  .athene-tiles { grid-template-columns: 1fr 1fr !important; grid-auto-rows: minmax(280px, auto); }
  .athene-tiles > li,
  .athene-tiles > li:nth-child(4),
  .athene-tiles > li:nth-child(5) { grid-column: span 1; }
}
@media (max-width: 560px) {
  .athene-tiles { grid-template-columns: 1fr !important; grid-auto-rows: auto; }
}

/* ---- Proof points --------------------------------------------------- */
.athene-proof__title { margin: 0; }
.athene-proof-card { height: 100%; }
.athene-proof-card__title { margin: 0; }
.athene-proof-card__body { margin: 0; }
.athene-proof-card__icon {
  width: 64px; height: 64px; flex: 0 0 auto;
  border-radius: 10px;
  background: rgba(201,169,198,0.20);
}
.athene-proof-card__icon--light {
  background: #ECEEF1;
  border: 1px solid #E8EBEF;
}
.athene-proof-card--dark .athene-proof-card__body { color: rgba(255,255,255,0.82); }

@media (max-width: 900px) {
  .athene-proof__row { grid-template-columns: 1fr !important; }
}

/* ---- Trust ---------------------------------------------------------- */
.athene-logos { gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.athene-logo {
  margin: 0;
  /* WCAG AA: muted token (#5A6675) on white = ~5.9:1, up from #B7BEC8 (1.87:1). */
  color: var(--wp--preset--color--muted);
  font-size: 23px;
  line-height: 1.2;
}
.athene-testimonial__quote { margin: 0; max-width: 980px; margin-inline: auto; }
.athene-testimonial__attr p { margin: 0; }
.athene-pager { margin-top: var(--wp--preset--spacing--30); }
.athene-pager__btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid #D7DCE3;
}
.athene-pager__btn--accent { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.athene-pager__dots { display: inline-flex; align-items: center; gap: 9px; }
.athene-pager__dots i {
  display: block; width: 6px; height: 6px; border-radius: 100px;
  background: #D7DCE3;
}
.athene-pager__dots i.is-active { width: 28px; background: var(--wp--preset--color--accent); }

@media (max-width: 600px) {
  .athene-logos { justify-content: center; gap: var(--wp--preset--spacing--40); }
  .athene-logo { font-size: 18px; }
  .athene-testimonial__quote { font-size: 26px !important; }
}

/* ---- Contact strip -------------------------------------------------- */
.athene-contact__headline { margin: 0; }

/* =============================================================
   SERVICE DETAIL  (Phase 7)
   ============================================================= */

/* Card surface derived from tokens (faint cool gray) */
.athene-service {
  --athene-card: color-mix(in srgb, var(--wp--preset--color--divider) 45%, var(--wp--preset--color--base));
}

.athene-service .athene-eyebrow { margin: 0; }

/* ---- Service hero --------------------------------------------------- */
.athene-service-hero__row > .athene-service-hero__text {
  flex: 1 1 460px;
  max-width: 540px;
  min-width: 0;
}
.athene-service-hero__headline { margin: 0; }
.athene-service-hero__intro { margin-block: 0; max-width: 540px; }
.athene-service-hero__media {
  flex: 1 1 480px;
  max-width: 644px;
  margin: 0;
}
.athene-service-hero__media img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}

/* ---- For / Outcome -------------------------------------------------- */
.athene-foroutcome__row > .athene-foroutcome__col { flex: 1 1 360px; min-width: 0; }
.athene-foroutcome__row > .athene-foroutcome__col:first-child { max-width: 540px; }
.athene-foroutcome__row > .athene-foroutcome__col:last-child { max-width: 628px; }
.athene-foroutcome__lead { margin: 0; color: var(--wp--preset--color--ink); }

/* ---- What's included (jump band) ------------------------------------ */
/* Paper artboard 128-0: the "Jump to a service area" label on the plum band
   is mauve (#C9A9C6), unlike the white-60% eyebrow on the contact strip. */
.athene-included .athene-eyebrow--on-dark { color: var(--wp--preset--color--mauve); }
.athene-included__grid { align-items: stretch; }
.athene-jump {
  position: relative;
  height: 100%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(201,169,198,0.28);
  transition: background 0.18s ease, border-color 0.18s ease;
}
.athene-jump:hover { background: rgba(255,255,255,0.09); border-color: rgba(201,169,198,0.5); }
.athene-jump__anchor {
  position: absolute;
  inset: 0;
  z-index: 1;
  text-indent: -9999px;
  overflow: hidden;
}
.athene-jump__num { margin: 0; color: var(--wp--preset--color--mauve); }
.athene-jump__title { margin: 0; }
.athene-jump__icon { flex: 0 0 auto; color: var(--wp--preset--color--mauve); }

/* ---- Generic content section ---------------------------------------- */
.athene-section__head { max-width: 820px; }
.athene-section__title { margin: 0; }
.athene-section__body { margin: 0; }
.athene-section__lead { margin: 0; color: var(--wp--preset--color--ink); }
.athene-section__note { margin: 0; max-width: 820px; }

.athene-directives {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.athene-directives li {
  position: relative;
  padding-left: 22px;
  font-size: var(--wp--preset--font-size--base);
  line-height: 1.5;
}
.athene-directives li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--accent);
  font-weight: 700;
}

/* Point cards */
.athene-section__grid { align-items: stretch; }
.athene-point {
  height: 100%;
  background: var(--athene-card);
  border: 1px solid var(--wp--preset--color--divider);
}
.athene-point__title { margin: 0; color: var(--wp--preset--color--ink); }
.athene-point__body { margin: 0; }

/* Alt (tinted) section: tint the band, flip cards to white */
.athene-section--alt .athene-point {
  background: var(--wp--preset--color--base);
}

.athene-section__ctas { margin-top: var(--wp--preset--spacing--50); }

/* Pills (Designed for tags) */
.athene-pills { gap: 10px; }
.athene-pill {
  margin: 0;
  padding: 8px 16px;
  background: var(--athene-card);
  border: 1px solid var(--wp--preset--color--divider);
  border-radius: var(--wp--custom--border-radius--pill);
  color: var(--wp--preset--color--ink);
}

/* Checklist (two-column scope list) */
.athene-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.athene-checklist li {
  position: relative;
  padding-left: 30px;
  font-size: var(--wp--preset--font-size--base);
  line-height: 1.5;
  color: var(--wp--preset--color--ink);
}
.athene-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 16px;
  height: 16px;
  background-color: var(--wp--preset--color--accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M20 6L9 17l-5-5%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M20 6L9 17l-5-5%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ---- Responsive ----------------------------------------------------- */
@media (max-width: 900px) {
  .athene-service-hero__media { order: -1; }
}

/* =============================================================
   SERVICES INDEX  (Phase 7)
   ============================================================= */

/* ---- Intro header (split text + image) ------------------------------ */
.athene-services-intro__row > .athene-services-intro__text {
  flex: 1 1 420px;
  max-width: 540px;
  min-width: 0;
}
.athene-services-intro__headline { margin: 0; }
.athene-services-intro__lead { max-width: 480px; }
.athene-services-intro__media {
  flex: 1 1 480px;
  max-width: 644px;
  margin: 0;
}
.athene-services-intro__media img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}

/* ---- Index tiles: 6-col grid, row1 = three 2-col, row2 = two 3-col --- */
.athene-index__tiles {
  grid-template-columns: repeat(6, 1fr) !important;
  grid-auto-rows: minmax(300px, auto);
  gap: var(--wp--preset--spacing--40) !important;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: athene-tile;
}
.athene-index__tiles > li { grid-column: span 2; margin: 0; counter-increment: athene-tile; }
.athene-index__tiles > li:nth-child(4),
.athene-index__tiles > li:nth-child(5) { grid-column: span 3; }

/* The tile shell — light grey card by default */
.athene-index-tile {
  position: relative;
  height: 100%;
  text-decoration: none;
  background: #ECEEF1;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  overflow: hidden;
  color: var(--wp--preset--color--ink);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.athene-index-tile:hover { box-shadow: var(--wp--custom--shadow--md); }

.athene-index-tile__body {
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
.athene-index-tile__top {
  width: 100%;
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}
.athene-index-tile__icon {
  width: 52px; height: 52px; flex: 0 0 auto;
  background: var(--wp--preset--color--base);
  border: 1px solid #E4E7EC;
  border-radius: 10px;
  color: var(--wp--preset--color--ink);
}
.athene-index-tile__num {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1;
  color: #A6AEBA;
}
.athene-index-tile__num::before { content: "0" counter(athene-tile); }
.athene-index-tile__title {
  margin: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.athene-index-tile__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
/* Stretched-link: whole index tile clickable via the post-title anchor
   (replaces the former invalid Group tagName:"a" wrapper). */
.athene-index-tile__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.athene-index-tile__excerpt {
  margin: 0;
  color: var(--wp--preset--color--muted);
  line-height: 1.5;
}
.athene-index-tile__excerpt p { margin: 0; }
.athene-index-tile__more {
  flex: 0 0 auto;
  color: var(--wp--preset--color--accent);
}
.athene-index-tile__more p { margin: 0; color: var(--wp--preset--color--accent); }

/* First tile: dark plum highlight */
.athene-index__tiles > li:first-child .athene-index-tile {
  background: var(--wp--preset--color--plum);
  border-color: transparent;
  color: var(--wp--preset--color--base);
}
.athene-index__tiles > li:first-child .athene-index-tile__icon {
  background: rgba(201,169,198,0.20);
  border-color: transparent;
  color: var(--wp--preset--color--mauve);
}
.athene-index__tiles > li:first-child .athene-index-tile__num { color: rgba(255,255,255,0.45); }
.athene-index__tiles > li:first-child .athene-index-tile__title a { color: var(--wp--preset--color--base); }
.athene-index__tiles > li:first-child .athene-index-tile__excerpt { color: rgba(255,255,255,0.82); }
.athene-index__tiles > li:first-child .athene-index-tile__more,
.athene-index__tiles > li:first-child .athene-index-tile__more p { color: var(--wp--preset--color--mauve); }

@media (max-width: 900px) {
  .athene-index__tiles { grid-template-columns: 1fr 1fr !important; grid-auto-rows: minmax(280px, auto); }
  .athene-index__tiles > li,
  .athene-index__tiles > li:nth-child(4),
  .athene-index__tiles > li:nth-child(5) { grid-column: span 1; }
}
@media (max-width: 560px) {
  .athene-index__tiles { grid-template-columns: 1fr !important; grid-auto-rows: auto; }
}
@media (max-width: 900px) {
  .athene-services-intro__media { order: -1; }
}

/* =============================================================
   ABOUT US  (Phase 7)
   ============================================================= */

/* ---- About head (split text + image) -------------------------------- */
.athene-about-head__row > .athene-about-head__text {
  flex: 1 1 420px;
  max-width: 540px;
  min-width: 0;
}
.athene-about-head__headline { margin: 0; }
.athene-about-head__lead { max-width: 460px; }
.athene-about-head__media {
  flex: 1 1 480px;
  max-width: 644px;
  margin: 0;
}
.athene-about-head__media img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
@media (max-width: 900px) {
  .athene-about-head__media { order: -1; }
}

/* ---- Delivery: heading + five-step process -------------------------- */
.athene-delivery__title { margin: 0; }
.athene-delivery__intro { margin: 0; }
.athene-process__label { margin: 0; }
.athene-process__row { align-items: stretch; }
.athene-process__row > .athene-step {
  flex: 1 1 0;
  min-width: 180px;
}
.athene-step__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 36px;
}
.athene-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--wp--custom--border-radius--pill);
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  font-style: normal;
  line-height: 1;
}
.athene-step__line {
  flex: 1 1 auto;
  height: 2px;
  background: #E4E7EC;
}
.athene-step__title { margin: 0; }
.athene-step__label { margin: 0; }
.athene-step__body { margin: 0; }

@media (max-width: 900px) {
  .athene-process__row > .athene-step { flex: 1 1 40%; min-width: 220px; }
}
@media (max-width: 560px) {
  .athene-process__row > .athene-step { flex: 1 1 100%; }
}

/* ---- Our View (View Group band) ------------------------------------- */
.athene-vg__inner > .athene-vg__text {
  flex: 1 1 440px;
  max-width: 676px;
  min-width: 0;
}
.athene-vg__title { margin: 0; }
.athene-vg__body { margin: 0; color: rgba(255,255,255,0.82); }
.athene-vg__link { margin: 0; }
.athene-vg__link a { color: var(--wp--preset--color--mauve); text-decoration: none; }
.athene-vg__link a:hover { text-decoration: underline; }
.athene-vg__card {
  flex: 0 0 auto;
  min-width: 320px;
  min-height: 200px;
}
.athene-vg__logo {
  width: 200px;
  max-width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 900px) {
  .athene-vg__card { width: 100%; min-width: 0; }
}

/* ---- Team: discipline cards ----------------------------------------- */
.athene-team__title { margin: 0; }
.athene-team__body { margin: 0; }
.athene-team__row { align-items: stretch; }
.athene-disc {
  height: 100%;
  background: #ECEEF1;
}
.athene-disc__icon {
  width: 48px; height: 48px; flex: 0 0 auto;
  background: var(--wp--preset--color--base);
  border-radius: var(--wp--custom--border-radius--md);
}
.athene-disc__title { margin: 0; }
.athene-disc__body { margin: 0; }
@media (max-width: 900px) {
  .athene-team__row { grid-template-columns: 1fr !important; }
}

/* ---- Career callout ------------------------------------------------- */
.athene-career__inner > .athene-career__text {
  flex: 1 1 420px;
  max-width: 620px;
  min-width: 0;
}
.athene-career__title { margin: 0; }
.athene-career__body { margin: 0; }
.athene-career__ctas { flex: 0 0 auto; }

/* =============================================================
   CLIENTS  (Phase 7)
   ============================================================= */

/* ---- Clients head (split text + image) ------------------------------ */
.athene-clients-head__row > .athene-clients-head__text {
  flex: 1 1 420px;
  max-width: 540px;
  min-width: 0;
}
.athene-clients-head__headline { margin: 0; }
.athene-clients-head__lead { max-width: 500px; }
.athene-clients-head__media {
  flex: 1 1 480px;
  max-width: 644px;
  margin: 0;
}
.athene-clients-head__media img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
@media (max-width: 900px) {
  .athene-clients-head__media { order: -1; }
}

/* ---- Industries: six-card grid -------------------------------------- */
.athene-industries__title { margin: 0; }
.athene-industries__intro { margin: 0; }
.athene-industries__grid { align-items: stretch; }
.athene-industry {
  height: 100%;
  background: #ECEEF1;
}
.athene-industry__icon {
  width: 48px; height: 48px; flex: 0 0 auto;
  background: var(--wp--preset--color--base);
  border-radius: var(--wp--custom--border-radius--md);
}
.athene-industry__title { margin: 0; }
.athene-industry__body { margin: 0; }
@media (max-width: 900px) {
  .athene-industries__grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .athene-industries__grid { grid-template-columns: 1fr !important; }
}

/* ---- Clients value: four numbered columns --------------------------- */
.athene-value__title { margin: 0; }
.athene-value__row { align-items: start; }
.athene-value-item__num { margin: 0; }
.athene-value-item__title { margin: 0; }
.athene-value-item__body { margin: 0; }
@media (max-width: 900px) {
  .athene-value__row { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .athene-value__row { grid-template-columns: 1fr !important; }
}

/* ---- Mini cases: dark plum stat panel ------------------------------- */
.athene-mini__title { margin: 0; }
.athene-mini__row { align-items: start; }
.athene-stat__num { margin: 0; }
.athene-stat__body { margin: 0; color: var(--wp--preset--color--mauve); }
@media (max-width: 900px) {
  .athene-mini__row { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .athene-mini__row { grid-template-columns: 1fr !important; }
}

/* ---- Clients trust heading (above reused trust pattern) ------------- */
.athene-trust-head__title { margin: 0; }
/* Tighten the reused trust section's top padding when it follows the heading */
.athene-trust-head + .athene-trust { padding-top: var(--wp--preset--spacing--50) !important; }

/* =============================================================
   KNOWLEDGE HUB  (Phase 7 — Task 7)
   ============================================================= */

/* ---- Shared: topic tag pills + placeholder thumb -------------------- */
.athene-tag,
.athene-tag a {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 4px 12px;
  border-radius: var(--wp--custom--border-radius--pill);
  background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, transparent);
  color: var(--wp--preset--color--accent);
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.athene-tag a { padding: 0; background: transparent; }
.athene-tag--solid,
.athene-tag--solid a {
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
}
.athene-card__date { margin: 0; white-space: nowrap; }

/* Empty featured-image placeholder so cards keep their proportions */
.athene-feature__media .wp-block-post-featured-image,
.athene-card__thumb,
.athene-card .wp-block-post-featured-image {
  background: #ECEEF1;
}

/* ---- KH head -------------------------------------------------------- */
.athene-kh-head__headline { margin: 0; }
.athene-kh-head__lead { margin: 0; max-width: 540px; }

/* ---- Featured (large split card) ------------------------------------ */
.athene-kh-featured .athene-eyebrow { margin: 0; }
.athene-feature {
  background: #ECEEF1;
  border-radius: var(--wp--custom--border-radius--lg);
  overflow: hidden;
  align-items: stretch !important;
  column-gap: 0;
}
.athene-feature__media {
  flex: 0 0 45%;
  max-width: 45%;
  background: #E3E6EA;
}
.athene-feature__media .wp-block-post-featured-image,
.athene-feature__img {
  height: 100%;
  margin: 0;
}
.athene-feature__media img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: block;
}
/* Placeholder fill when no featured image is set */
.athene-feature__media:has(.wp-block-post-featured-image:empty),
.athene-feature__media .wp-block-post-featured-image:empty {
  min-height: 360px;
}
/* Child combinator raises specificity above WP's generated flex-layout
   container rule (.wp-container-*{align-items:center} from justifyContent:center),
   so the body content stays flush-left on BOTH the front-end and the editor
   canvas — not just whichever stylesheet loads last. */
.athene-feature > .athene-feature__body { flex: 1 1 0; min-width: 0; align-items: flex-start; background: var(--wp--preset--color--base); }
.athene-feature__meta { gap: var(--wp--preset--spacing--30); }
.athene-feature__title { margin: 0; }
.athene-feature__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.athene-feature__title a:hover { color: var(--wp--preset--color--accent); }
.athene-feature__excerpt { margin: 0; color: var(--wp--preset--color--muted); line-height: 1.5; max-width: 560px; }
.athene-feature__excerpt p { margin: 0; }
.athene-feature__more {
  margin: 0;
  color: var(--wp--preset--color--accent);
  font-weight: 600;
  text-decoration: none;
}
.athene-feature__more:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .athene-feature { flex-direction: column !important; row-gap: var(--wp--preset--spacing--40); }
  .athene-feature__media { flex: 1 1 auto; max-width: 100%; }
  .athene-feature__media img { min-height: 220px; }
}

/* ---- Articles bar: filters + search --------------------------------- */
.athene-kh-bar { gap: var(--wp--preset--spacing--40); }
.athene-kh-filters { gap: var(--wp--preset--spacing--20); }
.athene-filter { margin: 0; }
.athene-filter a {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  border: 1px solid #D7DCE3;
  border-radius: var(--wp--custom--border-radius--pill);
  color: var(--wp--preset--color--ink);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  text-decoration: none;
  line-height: 1.1;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.athene-filter a:hover { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
.athene-filter--active a {
  background: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
}
.athene-filter--active a:hover { color: var(--wp--preset--color--base); }

.athene-kh-search { margin: 0; }
.athene-kh-search .wp-block-search__inside-wrapper {
  border: 1px solid #D7DCE3;
  border-radius: var(--wp--custom--border-radius--pill);
  padding: 4px 6px 4px 18px;
  min-width: 260px;
  background: var(--wp--preset--color--base);
}
.athene-kh-search .wp-block-search__input {
  border: 0;
  background: transparent;
  font-size: var(--wp--preset--font-size--small);
  padding: 8px 0;
}
.athene-kh-search .wp-block-search__input:focus { outline: none; }

/* ---- Article grid (3-col cards) ------------------------------------- */
.athene-kh-grid__tpl {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--wp--preset--spacing--40) !important;
  margin: 0;
  padding: 0;
  list-style: none;
}
.athene-kh-grid__tpl > li { margin: 0; }
.athene-card {
  height: 100%;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--divider);
  border-radius: var(--wp--custom--border-radius--md);
  overflow: hidden;
  flex-wrap: nowrap !important;
  transition: box-shadow 0.18s ease, border-color 0.18s ease;
}
.athene-card:hover { box-shadow: var(--wp--custom--shadow--md); border-color: #D7DCE3; }
.athene-card__thumb { margin: 0; }
.athene-card__thumb img,
.athene-card .wp-block-post-featured-image img {
  width: 100%;
  height: 176px;
  object-fit: cover;
  display: block;
}
.athene-card .wp-block-post-featured-image:empty,
.athene-card__thumb:empty { display: block; height: 176px; background: #ECEEF1; }
.athene-card__body { flex: 1 1 auto; }
.athene-card__meta { gap: var(--wp--preset--spacing--30); }
.athene-card__title { margin: 0; }
.athene-card__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.athene-card__title a:hover { color: var(--wp--preset--color--accent); }
.athene-card__excerpt { margin: 0; color: var(--wp--preset--color--muted); line-height: 1.5; }
.athene-card__excerpt p { margin: 0; }

.athene-kh-pagination { margin-top: var(--wp--preset--spacing--50); gap: var(--wp--preset--spacing--30); }
.athene-kh-pagination a, .athene-kh-pagination .page-numbers { color: var(--wp--preset--color--muted); text-decoration: none; }
.athene-kh-pagination .current { color: var(--wp--preset--color--accent); font-weight: 700; }

@media (max-width: 900px) {
  .athene-kh-grid__tpl { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .athene-kh-grid__tpl { grid-template-columns: 1fr !important; }
  .athene-kh-search .wp-block-search__inside-wrapper { width: 100%; }
}

/* ---- Guides & downloads (4-col cards) ------------------------------- */
.athene-kh-guides__head { gap: var(--wp--preset--spacing--30); max-width: 720px; }
.athene-kh-guides__title { margin: 0; }
.athene-kh-guides__intro { margin: 0; }
.athene-kh-guides__grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--wp--preset--spacing--40) !important;
  align-items: stretch;
}
.athene-guide {
  height: 100%;
  background: #ECEEF1;
  border-radius: var(--wp--custom--border-radius--md);
  flex-wrap: nowrap !important;
}
.athene-guide__icon {
  width: 48px; height: 48px; flex: 0 0 auto;
  background: var(--wp--preset--color--base);
  border-radius: var(--wp--custom--border-radius--sm);
  color: var(--wp--preset--color--accent);
}
.athene-guide__text { gap: var(--wp--preset--spacing--10); }
.athene-guide__title { margin: 0; color: var(--wp--preset--color--ink); }
.athene-guide__type { margin: 0; }
.athene-guide__dl { margin-top: auto; }
.athene-guide__link {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--accent);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  text-decoration: none;
}
.athene-guide__link:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .athene-kh-guides__grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .athene-kh-guides__grid { grid-template-columns: 1fr !important; }
}

/* ---- Newsletter band ------------------------------------------------ */
.athene-nl__band { background: #ECEEF1; }
.athene-nl__text { gap: var(--wp--preset--spacing--40); max-width: 520px; }
.athene-nl__title { margin: 0; }
.athene-nl__sub { margin: 0; }
.athene-nl__form { flex: 0 0 auto; min-width: 420px; }
/* Fluent Forms: lay email + submit on one row, pill styling to match design */
.athene-nl__form .fluentform .ff-el-group { margin-bottom: 0; }
.athene-nl__form .fluentform .ff-el-form-control {
  border: 1px solid #D7DCE3;
  border-radius: var(--wp--custom--border-radius--pill);
  padding: 13px 20px;
  background: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--small);
}
.athene-nl__form .ff-t-container { display: flex; gap: var(--wp--preset--spacing--20); align-items: flex-start; flex-wrap: wrap; }
.athene-nl__form .ff-el-input--content input[type="email"] { min-width: 240px; }
.athene-nl__form .fluentform .ff-btn-submit {
  background: var(--wp--preset--color--accent) !important;
  border-color: var(--wp--preset--color--accent) !important;
  color: var(--wp--preset--color--base) !important;
  border-radius: var(--wp--custom--border-radius--pill) !important;
  padding: 13px 26px !important;
  font-weight: 500;
  min-width: auto !important;
}
.athene-nl__form .fluentform .ff-el-group.ff_list_check { font-size: var(--wp--preset--font-size--x-small); margin-top: var(--wp--preset--spacing--20); }
.athene-nl__form .fluentform .ff-message-success { color: var(--wp--preset--color--accent); font-weight: 500; }

@media (max-width: 900px) {
  .athene-nl__form { min-width: 0; width: 100%; }
}

/* =============================================================
   SINGLE INSIGHT
   ============================================================= */
/* Same core-default-vs-parent-constraint specificity fight as
   .athene-insight__content below — pin explicitly rather than trust
   inheritance from the parent <article>'s layout. */
.athene-insight__head {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: var(--wp--preset--spacing--30);
}
.athene-insight__meta { gap: var(--wp--preset--spacing--30); }
.athene-insight__title { margin: 0; }
/* core/post-featured-image's own default margin (~24px) wins over the
   article's intended blockGap here too — same specificity issue as the
   width fixes above. Pin explicit, more generous breathing room since
   this is the dominant visual element on the page. */
.athene-insight__hero {
  margin-top: var(--wp--preset--spacing--60) !important;
  margin-bottom: var(--wp--preset--spacing--60) !important;
}
.athene-insight__hero img {
  width: 100%;
  max-height: 440px;
  object-fit: cover;
  border-radius: var(--wp--custom--border-radius--lg);
  box-shadow: var(--wp--custom--shadow--md);
  display: block;
}
/* core/post-content ships its own `.wp-block-post-content.is-layout-constrained`
   default (2-class specificity) that overrides the local contentSize the
   parent <article> assigns to its children (1-class specificity), so the
   container itself renders at the theme's global 1056px width even though
   its own children correctly get max-width:760px — that mismatch is what
   produced the huge left/right gutters around every paragraph. Pin the
   container's own box to match. */
.athene-insight__content {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.65;
}

/* Arbitrary editor-authored post_content doesn't get the hand-tuned margin
   resets patterns rely on, so pin every direct child to the theme's spacing
   scale instead of letting core block defaults + blockGap stack up. */
.athene-insight__content > * {
  margin-top: var(--wp--preset--spacing--40) !important;
  margin-bottom: 0 !important;
}
.athene-insight__content > *:first-child { margin-top: 0 !important; }

/* Heading scale for in-article subheads. theme.json's global h1-h6 sizes are
   tuned for hero/section titles (h2 = 64px "display"), which made body
   subheads render larger than the post title itself. Scale them down to an
   article-reading hierarchy that stays under the 34-52px post title. */
.athene-insight__content h2 {
  font-size: clamp(26px, 2.4vw, 32px);
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.athene-insight__content h3 {
  font-size: clamp(21px, 2vw, 24px);
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.athene-insight__content h4 {
  font-size: clamp(19px, 1.6vw, 20px);
  line-height: 1.35;
}
.athene-insight__content h5 { font-size: var(--wp--preset--font-size--lead); line-height: 1.4; }
.athene-insight__content h6 { font-size: var(--wp--preset--font-size--base); line-height: 1.4; }

.athene-insight__content > h2,
.athene-insight__content > h3,
.athene-insight__content > h4,
.athene-insight__content > h5,
.athene-insight__content > h6 {
  margin-top: var(--wp--preset--spacing--60) !important;
}
.athene-insight__content > h2:first-child,
.athene-insight__content > h3:first-child,
.athene-insight__content > h4:first-child,
.athene-insight__content > h5:first-child,
.athene-insight__content > h6:first-child {
  margin-top: 0 !important;
}

.athene-insight__content ul,
.athene-insight__content ol { padding-left: var(--wp--preset--spacing--40); }
.athene-insight__content li + li { margin-top: var(--wp--preset--spacing--20); }

.athene-insight__content blockquote {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--wp--preset--spacing--40);
  border-left: 3px solid var(--wp--preset--color--accent);
  font-style: italic;
  color: var(--wp--preset--color--muted);
}
.athene-insight__content blockquote > p { margin-top: var(--wp--preset--spacing--20) !important; }
.athene-insight__content blockquote > p:first-child { margin-top: 0 !important; }

.athene-insight__content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--wp--custom--border-radius--lg);
  display: block;
}
.athene-insight__content figcaption {
  margin-top: var(--wp--preset--spacing--20) !important;
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--small);
}

.athene-insight__content hr {
  border: none;
  border-top: 1px solid var(--wp--preset--color--divider);
}

.athene-insight__content table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--wp--preset--font-size--small);
}
.athene-insight__content table th,
.athene-insight__content table td {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border-bottom: 1px solid var(--wp--preset--color--divider);
  text-align: left;
}

/* =============================================================
   LOCATIONS PAGE  (Phase 7)
   ============================================================= */

/* ---- Locations head ------------------------------------------------- */
.athene-locations-head__text { max-width: 600px; }
.athene-locations-head__headline { margin: 0; }
.athene-locations-head__lead { margin-bottom: 0; }

/* ---- Offices -------------------------------------------------------- */
.athene-offices { position: relative; overflow: clip; }
/* Faint static watermark (assets/img/worldmap.svg) behind the mist
   background — unlike the hero's animated hero-map.js, this is a plain
   image so it stays quiet behind the office cards. */
.athene-offices .athene-offices__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-inline: 0;
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
}
.athene-offices .athene-offices__bg img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1400px;
}
.athene-offices > * { position: relative; z-index: 1; }
.athene-offices__head { max-width: 720px; }
.athene-offices__title { margin: 0; }
.athene-offices__intro { margin: 0; }
.athene-offices__grid { align-items: stretch; }
.athene-office {
  flex: 1 1 0;
  min-width: 0;
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--custom--shadow--sm);
}
.athene-office__country { margin: 0; }
.athene-office__city { color: var(--wp--preset--color--accent); }
.athene-office__pin { display: block; flex-shrink: 0; color: var(--wp--preset--color--accent); }
.athene-office__email a { color: var(--wp--preset--color--accent); text-decoration: none; word-break: break-word; }
.athene-office__email a:hover { text-decoration: underline; }
.athene-office__tag-wrap { margin-top: auto; }
.athene-office__tag {
  display: inline-flex;
  align-items: center;
  background: #ECEEF1;
  color: var(--wp--preset--color--accent);
  border-radius: var(--wp--custom--border-radius--pill);
  padding: 7px 13px;
}

@media (max-width: 900px) {
  .athene-office { flex: 1 1 calc(50% - var(--wp--preset--spacing--40)); }
}
@media (max-width: 560px) {
  .athene-office { flex: 1 1 100%; }
}

/* ---- Coverage ------------------------------------------------------- */
.athene-coverage__text { flex: 1 1 380px; max-width: 460px; }
.athene-coverage__title { margin: 0; }
.athene-coverage__body { margin: 0; }
.athene-coverage__legend-item p { color: var(--wp--preset--color--ink); }
.athene-coverage__dot {
  display: inline-block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 999px;
}
.athene-coverage__dot--filled { background: var(--wp--preset--color--accent); }
.athene-coverage__dot--ring { background: var(--wp--preset--color--base); border: 2px solid var(--wp--preset--color--mauve); }

.athene-coverage__map { flex: 1 1 460px; min-width: 0; }
#athene-map {
  width: 100%;
  height: 440px;
  border-radius: var(--wp--custom--border-radius--md);
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--divider);
  background: #e8e6f0;
}

@media (max-width: 900px) {
  .athene-coverage__text { max-width: none; }
  #athene-map { height: 320px; }
}
@media (max-width: 600px) {
  #athene-map { height: 260px; }
}

/* ---- Map popup (mirrors .athene-office card fields) ------------------ */
/* Google's InfoWindow chrome reserves a full header row for a title we
   never set, plus generous default padding — the cause of the dead space
   above the content and the oversized close button. Float the close
   button instead of letting it push a header row, and take over padding
   so our content owns the box edge-to-edge. */
.gm-style-iw-ch { display: none !important; }
.gm-style-iw-chr { position: absolute !important; inset: 4px 4px auto auto !important; height: auto !important; }
.gm-style .gm-style-iw-c { padding: 16px !important; }
.gm-style .gm-style-iw-d { overflow: visible !important; max-height: none !important; }
button.gm-ui-hover-effect { width: 24px !important; height: 24px !important; opacity: 0.6; }
button.gm-ui-hover-effect > span { width: 16px !important; height: 16px !important; margin: 4px !important; }

.athene-map-popup { display: flex; flex-direction: column; gap: 4px; min-width: 180px; }
.athene-map-popup__country { margin: 0; font-size: 15px; line-height: 1.3; color: var(--wp--preset--color--ink); }
.athene-map-popup__city { margin: 0; font-size: 13px; font-weight: 500; color: var(--wp--preset--color--accent); }
.athene-map-popup__addr,
.athene-map-popup__phone { margin: 0; font-size: 12px; line-height: 1.5; color: var(--wp--preset--color--muted); }
.athene-map-popup__email { margin: 0; font-size: 12px; font-weight: 500; }
.athene-map-popup__email a { color: var(--wp--preset--color--accent); text-decoration: none; }
.athene-map-popup__email a:hover { text-decoration: underline; }
.athene-map-popup__tag {
  align-self: flex-start;
  margin: 4px 0 0;
  display: inline-flex;
  align-items: center;
  background: #ECEEF1;
  color: var(--wp--preset--color--accent);
  border-radius: var(--wp--custom--border-radius--pill);
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

/* ---- Contact form --------------------------------------------------- */
.athene-cf__card { gap: var(--wp--preset--spacing--60); }
.athene-cf__text { flex: 1 1 360px; max-width: 480px; }
.athene-cf__title { margin: 0; }
.athene-cf__sub { margin: 0; }
.athene-cf__eyebrow { color: var(--wp--preset--color--mauve); }
.athene-cf__sub { color: var(--wp--preset--color--mauve); }
.athene-cf__form-wrap {
  flex: 0 1 520px;
  max-width: 520px;
  width: 100%;
}

/* Fluent Forms styling inside the contact card */
.athene-cf__form-wrap .fluentform .ff-el-group { margin-bottom: var(--wp--preset--spacing--40); }
.athene-cf__form-wrap .fluentform .ff-el-group:last-of-type { margin-bottom: 0; }
.athene-cf__form-wrap .fluentform .ff-el-input--label label {
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 500;
  color: var(--wp--preset--color--ink);
  margin-bottom: var(--wp--preset--spacing--20);
}
.athene-cf__form-wrap .fluentform .ff-el-form-control {
  border: 1px solid #D7DCE3;
  border-radius: var(--wp--custom--border-radius--md);
  padding: 13px 16px;
  background: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--ink);
}
.athene-cf__form-wrap .fluentform .ff-el-form-control:focus {
  border-color: var(--wp--preset--color--accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(93, 2, 90, 0.10);
}
.athene-cf__form-wrap .fluentform textarea.ff-el-form-control { min-height: 120px; resize: vertical; }
.athene-cf__form-wrap .fluentform .ff-el-form-control::placeholder { color: #9AA3B0; }
.athene-cf__form-wrap .fluentform .ff-el-input--content select.ff-el-form-control { appearance: auto; }

/* Name + Company two-column row */
.athene-cf__form-wrap .fluentform .ff-t-container { gap: var(--wp--preset--spacing--30); }
.athene-cf__form-wrap .fluentform .ff-t-cell { padding: 0; }

.athene-cf__form-wrap .fluentform .ff-btn-submit {
  width: 100%;
  background: var(--wp--preset--color--accent) !important;
  border-color: var(--wp--preset--color--accent) !important;
  color: var(--wp--preset--color--base) !important;
  border-radius: var(--wp--custom--border-radius--pill) !important;
  padding: 15px 26px !important;
  font-size: var(--wp--preset--font-size--small) !important;
  font-weight: 500;
  margin-top: var(--wp--preset--spacing--20);
}
.athene-cf__form-wrap .fluentform .ff-btn-submit:hover { opacity: 0.94; }
.athene-cf__form-wrap .fluentform .ff-message-success {
  color: var(--wp--preset--color--accent);
  font-weight: 500;
}

@media (max-width: 900px) {
  .athene-cf__text,
  .athene-cf__form-wrap { flex: 1 1 100%; max-width: none; }
}

/* =============================================================
   RESPONSIVE / MOBILE PASS  (Task 11)
   Pattern language derived from the homepage mobile frame 7S-0:
   - Header collapses to logo + hamburger; header CTA + lang switch hidden
   - Container gutter shrinks 96px -> 24px (token spacing|40) so content
     fills ~342px of a 390px frame (spec content width is 350px)
   - Every multi-column grid collapses to a single column
   - Vertical section rhythm tightens; hero CTAs go full-width
   ============================================================= */

/* ---- Tablet (<=768px): shrink the global container gutter ----------- */
/* body carries --wp--style--root--padding-* = container-gutter, which
   .has-global-padding sections consume. Overriding the token here cascades
   to every section + any direct var(--wp--custom--container-gutter) use. */
@media (max-width: 768px) {
  body {
    --wp--custom--container-gutter: var(--wp--preset--spacing--50); /* 40px */
  }
  /* Header padding uses spacing|80 directly, not the gutter token */
  .athene-header .is-content-justification-space-between {
    padding-left: var(--wp--preset--spacing--50) !important;  /* 24px */
    padding-right: var(--wp--preset--spacing--50) !important;
  }
}

/* ---- Mobile (<=600px): full single-column, tightest gutter --------- */
@media (max-width: 600px) {
  body {
    --wp--custom--container-gutter: var(--wp--preset--spacing--40); /* 16px */
  }
  .athene-header .is-content-justification-space-between {
    padding-left: var(--wp--preset--spacing--40) !important;  /* 16px */
    padding-right: var(--wp--preset--spacing--40) !important;
  }
}

/* ---- Header: logo + hamburger only (faithful to 7S-0) -------------- */
/* The header CTA button and language switcher are hidden on mobile; the
   nav overlay (hamburger) carries primary navigation. This stops the
   "Contact Us" pill from being crushed into vertical text and frees the
   logo to render at full width instead of collapsing to 0px. */
@media (max-width: 900px) {
  /* The right-hand group = Contact button + language switcher. It is the
     last child of the inner space-between flex row (logo, nav, this group). */
  .athene-header .is-content-justification-space-between > .wp-block-group:last-child {
    display: none !important;
  }
  /* Keep the logo from shrinking inside the nowrap flex row */
  .athene-header .wp-block-site-logo {
    flex: 0 0 auto;
  }
  .athene-header .custom-logo {
    width: 96px !important;
    height: auto !important;
  }
  /* Hamburger sits hard right */
  .athene-header .wp-block-navigation {
    margin-left: auto;
  }

  /* Force the header nav into its overlay (hamburger) mode up to 900px.
     Core's overlayMenu:"mobile" only collapses below 600px (it shows the
     open button at <600 and renders the menu inline at >=600 via
     `@media(min-width:600px)`). The handoff's primary breakpoint is 900px,
     so between 601–900px we re-assert the collapsed behaviour: show the
     "open" (hamburger) button and hide the inline menu until it is opened.
     Scoped to .athene-header so the footer navs (overlayMenu:never) are
     untouched. */
  .athene-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  .athene-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none !important;
  }
}

/* ============================================================
   MOBILE NAVIGATION OVERLAY — full-screen sheet
   Modern, left-aligned menu matching the brand: hairline-divided
   top-level rows, nested submenus shown inline with an accent rule,
   accent-coloured tap states, and the Contact CTA + language switcher
   pulled into the sheet (they're hidden in the bar on mobile). Scoped
   to the OPEN overlay so the desktop navbar is untouched, and it also
   kills the desktop floating dropdown-card styling that would
   otherwise leak into the overlay.
   ============================================================ */
.athene-header .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--wp--preset--color--base);
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  width: 100%;
  padding: 84px 28px 48px;
  text-align: left;
}

/* Close (X): comfortable tap target, accent on press. */
.athene-header .wp-block-navigation__responsive-container-close {
  width: 44px;
  height: 44px;
  color: var(--wp--preset--color--ink);
}
.athene-header .wp-block-navigation__responsive-container-close:hover,
.athene-header .wp-block-navigation__responsive-container-close:focus {
  color: var(--wp--preset--color--accent);
}

/* Menu list: left-aligned vertical stack. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

/* Top-level rows, divided by hairlines. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive > .wp-block-navigation-item {
  display: block;
  width: 100%;
  border-top: 1px solid var(--wp--preset--color--divider);
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive > .wp-block-navigation-item:first-child {
  border-top: 0;
}
/* Top-level link label. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: block;
  padding: 17px 2px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--wp--preset--color--ink);
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus {
  color: var(--wp--preset--color--accent);
}

/* Submenus: inline + nested under the parent with an accent rule. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  width: 100%;
  min-width: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  display: flex;
  flex-direction: column;
  margin: 0 0 14px 2px;
  padding: 2px 0 0 16px;
  border-left: 2px solid color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent);
}
/* Submenu child links: smaller, muted. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block;
  padding: 9px 2px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--wp--preset--color--muted);
}
/* Nested "Tax" group label reads a touch stronger above its children. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .athene-tax-submenu > .wp-block-navigation-item__content {
  font-weight: 500;
  color: var(--wp--preset--color--ink);
}
/* Submenus are shown inline, so the expand carets are redundant. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
  display: none;
}

/* ---- CTA + language switcher pulled into the sheet (JS-cloned) ---- */
.athene-mobile-extras {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid var(--wp--preset--color--divider);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
/* Contact CTA → full-width pill. */
.athene-mobile-extras .wp-block-buttons,
.athene-mobile-extras .wp-block-button {
  width: 100%;
}
.athene-mobile-extras .wp-block-button__link {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 15px 24px;
  font-size: 16px;
}
/* Language switcher → pill row, current language highlighted. */
.athene-mobile-lang {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.athene-mobile-lang li {
  margin: 0;
}
.athene-mobile-lang a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 9px 18px;
  border: 1px solid var(--wp--preset--color--divider);
  border-radius: var(--wp--custom--border-radius--pill);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--wp--preset--color--muted);
  text-decoration: none;
}
.athene-mobile-lang a:hover,
.athene-mobile-lang a:focus {
  color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
}
.athene-mobile-lang .current-lang a {
  color: var(--wp--preset--color--accent);
  border-color: var(--wp--preset--color--accent);
  background: color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent);
}

/* ---- Hero: single-column bullet stack (7S-0 shows 5 stacked) ------- */
@media (max-width: 600px) {
  .athene-hero__bullets {
    grid-template-columns: 1fr !important;
    gap: var(--wp--preset--spacing--40) !important;
  }
}

/* ---- CTAs: stack full-width on mobile (7S-0 stacks hero + contact) -- */
@media (max-width: 600px) {
  .athene-hero__ctas,
  .athene-contact__ctas {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
  }
  .athene-hero__ctas .wp-block-button,
  .athene-contact__ctas .wp-block-button {
    width: 100%;
  }
  .athene-hero__ctas .wp-block-button__link,
  .athene-contact__ctas .wp-block-button__link {
    display: block;
    text-align: center;
    width: 100%;
  }
}

/* ---- Service / split rows: stack everything below 900 (handoff bp) - */
@media (max-width: 900px) {
  .athene-foroutcome__row,
  .athene-service-hero__row {
    flex-direction: column !important;
  }
  .athene-foroutcome__row > .athene-foroutcome__col,
  .athene-foroutcome__row > .athene-foroutcome__col:first-child,
  .athene-foroutcome__row > .athene-foroutcome__col:last-child,
  .athene-service-hero__row > .athene-service-hero__text,
  .athene-service-hero__media {
    flex: 1 1 100% !important;
    max-width: none !important;
    width: 100%;
  }
  /* What's-included jump band -> single column */
  .athene-included__grid,
  .athene-section__grid {
    grid-template-columns: 1fr !important;
  }
  .athene-service-hero__media img { height: 240px; }
}

/* ---- Generic safety net: any leftover 2/3/4-col token grids -------- */
@media (max-width: 600px) {
  .athene-services-intro__row,
  .athene-about-head__row,
  .athene-clients-head__row,
  .athene-vg__inner,
  .athene-career__inner,
  .athene-cf__card,
  .athene-nl__band > .wp-block-group,
  .athene-coverage__row {
    flex-direction: column !important;
  }
  /* Coverage map / contact / split media full-width on mobile */
  .athene-coverage__text,
  .athene-coverage__map,
  .athene-services-intro__media,
  .athene-about-head__media,
  .athene-clients-head__media {
    flex: 1 1 100% !important;
    max-width: none !important;
    width: 100%;
  }
}

/* ---- Long words / emails should never force overflow -------------- */
@media (max-width: 900px) {
  .athene-hero__headline,
  .athene-service-hero__headline,
  .athene-section__title,
  h1, h2, h3 {
    overflow-wrap: break-word;
    word-break: normal;
  }
}

/* ---- Tighten vertical rhythm a touch on mobile -------------------- */
@media (max-width: 600px) {
  .athene-feature__media img { min-height: 200px; }
  /* Logos: center + wrap (already handled), keep readable size */
  .athene-logos { row-gap: var(--wp--preset--spacing--40); }
}

/* =============================================================
   FIDELITY FIX PASS 1 — homepage + global (non-image)
   Matches designer references (demo.html / Paper "Athene Tax").
   ============================================================= */

/* Hero-points: white band that sits below the grey hero and carries the
   five numbered bullets (demo .hero-points{background:#fff;padding:40px 0 8px}). */
.athene-hero-points { position: relative; z-index: 1; }
/* Bullets grid is is-layout-grid (not constrained) so it does NOT inherit the
   content-size cap and would fill the full padded section (~1713px @1920).
   Cap it to the content band and centre it to match the design. */
.athene-hero-points .athene-hero__bullets {
  max-width: var(--wp--style--global--content-size, 1056px);
  margin-inline: auto;
}
.athene-hero-points .athene-hero__num { margin: 0; }
.athene-hero-points .athene-hero__bullet p:last-child { margin: 0; line-height: 1.5; }
@media (max-width: 1024px) {
  .athene-hero-points .athene-hero__bullets { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
  .athene-hero-points .athene-hero__bullets {
    grid-template-columns: 1fr !important;
    gap: var(--wp--preset--spacing--40) !important;
  }
}

/* Fix 4 — Service detail H1 ~56px (was clamp(34px,4vw,48px)). Overrides the
   per-page inline font-size so every service page (EN/FI/SV) reads ~56px. */
.athene-service-hero__headline {
  font-size: clamp(40px, 4.5vw, 56px) !important;
}

/* Fix 5 — Tax/service "alt" band uses the band grey (#ECEEF1) token, not the
   bluer divider grey. Cards inside stay white (handled above). */
.athene-section--alt {
  background-color: var(--wp--preset--color--band) !important;
}

/* Fix 6 — Knowledge Hub article cards always show the 176px top thumbnail
   slot. core/post-featured-image emits nothing for posts without an image, so
   an empty placeholder div fills the slot; it is hidden when a real featured
   image is rendered in the same card. */
.athene-card__thumb--placeholder {
  display: block;
  height: 176px;
  background: var(--wp--preset--color--band);
}
.athene-card:has(.wp-block-post-featured-image img) .athene-card__thumb--placeholder {
  display: none;
}
/* Featured (split) card media placeholder -> band grey (#ECEEF1), was #E3E6EA */
.athene-feature__media { background: var(--wp--preset--color--band); }

/* Fix 7 — Clients/testimonial quote: solid 38px / line-height 50px / weight 500
   (theme fluid typography was scaling the inline 38px down toward ~26px). */
.athene-testimonial__quote {
  font-size: 38px !important;
  line-height: 50px !important;
  font-weight: 500 !important;
}
@media (max-width: 600px) {
  .athene-testimonial__quote {
    font-size: 24px !important;
    line-height: 1.32 !important;
  }
}

/* Fix 8 — Lift cramped interior section vertical rhythm toward ~120px
   (design section.block{padding:120px 0}). Contact bands keep their ~140px
   (spacing|90) and are untouched. Tasteful min via clamp, no overshoot. */
.athene-delivery,
.athene-team,
.athene-vg,
.athene-industries,
.athene-coverage,
.athene-offices {
  padding-top: clamp(80px, 9vw, 120px) !important;
  padding-bottom: clamp(80px, 9vw, 120px) !important;
}
/* Sections that intentionally continue under a preceding band keep their top
   spacing; only their (cramped) bottom is lifted toward the 120px rhythm. */
.athene-value,
.athene-career { padding-bottom: clamp(80px, 9vw, 120px) !important; }
@media (max-width: 600px) {
  .athene-delivery,
  .athene-team,
  .athene-vg,
  .athene-industries,
  .athene-coverage,
  .athene-offices,
  .athene-value,
  .athene-career {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

/* =============================================================
   PORTED INTERACTIONS  (v1.11.0)
   Sticky nav scrolled state, scroll reveals, testimonial carousel
   fade, Services dropdown polish, button hover lift.
   Ported from the designer handoff (share/index.html).
   ============================================================= */

/* ---- 1. Sticky nav: blurred translucent bg + bottom hairline ------- */
/* Base header already position:sticky (see top of file). Make it fixed-like
   translucent on scroll, matching the demo `nav.scrolled`. */
.athene-header {
  transition: background 0.3s ease, box-shadow 0.3s ease,
    border-color 0.3s ease, backdrop-filter 0.3s ease;
}
.athene-header.scrolled {
  /* Solid (opaque) on scroll too — a translucent bg let the page show through
     the full-width wrapper's side strips (outside the inner content row),
     which looked like the navbar was partly transparent. */
  background: var(--wp--preset--color--base) !important;
  border-bottom: 1px solid var(--wp--preset--color--divider);
  /* Drop the resting shadow in favour of the hairline (no new shadows). */
  box-shadow: none;
}

/* ---- 2. Scroll reveals -------------------------------------------- */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.reveal.in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ---- 3. Testimonial carousel ------------------------------------- */
/* The .athene-testimonial root fades during a quote swap (JS sets opacity +
   inline transition). Make the controls feel interactive. */
.athene-pager__btn {
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease,
    background 0.2s ease, transform 0.18s ease;
}
.athene-pager__btn:hover {
  border-color: var(--wp--preset--color--accent);
  transform: translateY(-2px);
}
.athene-pager__btn:focus-visible {
  outline: 2px solid var(--wp--preset--color--accent);
  outline-offset: 2px;
}
.athene-pager__dots i {
  transition: width 0.3s ease, background 0.3s ease;
}

/* ---- 4. Services dropdown polish (core/navigation submenu) -------- */
/* Invisible hover "bridge" spanning the gap between the Services label and the
   submenu panel, so moving the cursor down doesn't drop the hover and close
   the menu (mirrors .nav-dd-menu::before in the demo). */
.athene-header .wp-block-navigation .wp-block-navigation__submenu-container::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}
/* Keep the panel visible while open via the JS-synced class, in addition to
   core's hover/focus-within rules. */
.athene-header .wp-block-navigation .has-child.athene-dd-open
  > .wp-block-navigation__submenu-container {
  opacity: 1;
  visibility: visible;
  overflow: visible;
}

/* ---- 5. Button hover: 2px lift (no new shadows) ------------------ */
/* Apply the lift to every themed button link + the header CTA, matching the
   demo `.btn-*:hover{transform:translateY(-2px)}`. Existing hover colour
   rules elsewhere are unaffected. */
.wp-block-button__link {
  transition: transform 0.18s ease, background-color 0.18s ease,
    border-color 0.18s ease, color 0.18s ease;
}
.wp-block-button__link:hover {
  transform: translateY(-2px);
}

/* =============================================================
   SERVICE TILE ICONS  (Slack bug #6)
   The Service CPT query loop renders one static icon slot per tile,
   so every service showed the same placeholder. Paint a distinct
   line-icon per tile position via a masked ::before (currentColor so
   it inherits the dark/light tile text colour). Applies to both the
   homepage grid (.athene-tiles) and the services index (.athene-index__tiles).
   ============================================================= */
.athene-tile__icon::before,
.athene-index-tile__icon::before {
  content: "";
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: var(--svc-icon) center / contain no-repeat;
  mask: var(--svc-icon) center / contain no-repeat;
}
.athene-tile__icon,
.athene-index-tile__icon { --svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2021V5l9-2v18'/%3E%3Cpath%20d='M13%209h6a1%201%200%200%201%201%201v11'/%3E%3Cpath%20d='M3%2021h18'/%3E%3Cpath%20d='M7%208h2.4M7%2012h2.4M7%2016h2.4M16%2013h1M16%2017h1'/%3E%3C/svg%3E"); }
.athene-tiles > li:nth-child(1) .athene-tile__icon,
.athene-index__tiles > li:nth-child(1) .athene-index-tile__icon { --svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2021V5l9-2v18'/%3E%3Cpath%20d='M13%209h6a1%201%200%200%201%201%201v11'/%3E%3Cpath%20d='M3%2021h18'/%3E%3Cpath%20d='M7%208h2.4M7%2012h2.4M7%2016h2.4M16%2013h1M16%2017h1'/%3E%3C/svg%3E"); }
.athene-tiles > li:nth-child(2) .athene-tile__icon,
.athene-index__tiles > li:nth-child(2) .athene-index-tile__icon { --svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5.5%2018.5%2018.5%205.5'/%3E%3Ccircle%20cx='8'%20cy='8'%20r='2.2'/%3E%3Ccircle%20cx='16'%20cy='16'%20r='2.2'/%3E%3C/svg%3E"); }
.athene-tiles > li:nth-child(3) .athene-tile__icon,
.athene-index__tiles > li:nth-child(3) .athene-index-tile__icon { --svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='8'%20r='3'/%3E%3Cpath%20d='M3.5%2019a5.5%205.5%200%200%201%2011%200'/%3E%3Cpath%20d='M16%205.6a3%203%200%200%201%200%205.8'/%3E%3Cpath%20d='M18%2013.2a5.5%205.5%200%200%201%203%204.8'/%3E%3C/svg%3E"); }
.athene-tiles > li:nth-child(4) .athene-tile__icon,
.athene-index__tiles > li:nth-child(4) .athene-index-tile__icon { --svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%203h8l4%204v14H6z'/%3E%3Cpath%20d='M14%203v4h4'/%3E%3Cpath%20d='M9%2017v-3M12%2017v-5M15%2017v-2'/%3E%3C/svg%3E"); }
.athene-tiles > li:nth-child(5) .athene-tile__icon,
.athene-index__tiles > li:nth-child(5) .athene-index-tile__icon { --svc-icon: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%203%2019%206v5c0%204.4-3%207.6-7%209-4-1.4-7-4.6-7-9V6z'/%3E%3Cpath%20d='M9%2011.6l2.2%202.2L15%2010'/%3E%3C/svg%3E"); }

/* Force the mobile submenu rows hard-left (core's overlay rules center the
   anchor inside its flex <li> and reset our indent/border, so we win with
   scoped !important — mobile overlay only). */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  padding-left: 18px !important;
  border-left: 2px solid color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent) !important;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item {
  justify-content: flex-start !important;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

/* ---- Fixed mobile-sheet layout ----------------------------------------
   The whole sheet used to scroll as one block (big empty top gap, CTA +
   language buried at the very bottom). Lock the sheet to the viewport and
   make it a flex column: close button pinned top, the link list takes the
   remaining height with its OWN scrollbar, and the CTA + language switcher
   stay pinned and always visible at the bottom. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open {
  overflow: hidden;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 60px 28px 26px;
}
/* The link list fills the leftover height and scrolls on its own. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* CTA + language: never scroll away. */
.athene-mobile-extras {
  flex: 0 0 auto;
  margin-top: 16px;
}

/* Lift the pinned footer (CTA + language) onto its own plane: a full-width
   bar flush to the sheet's bottom edge, with a hairline and a soft upward
   shadow so it reads as separate from the scrolling link list above. */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-bottom: 0;
}
.athene-mobile-extras {
  position: relative;
  z-index: 1;
  margin: 0 -28px;
  padding: 20px 28px 26px;
  background: var(--wp--preset--color--base);
  border-top: 1px solid var(--wp--preset--color--divider);
  box-shadow: 0 -12px 26px -16px rgba(20, 12, 28, 0.22);
}

/* Footer refinements:
   1) Span the FULL sheet width (16px container padding + 28px content padding
      = 44px) so the upward shadow's side bleed clips off-screen instead of
      showing as grey bands in the container's side padding. Internal padding
      stays at 44px so the CTA/lang align with the link list above.
   2) Fade the bottom of the scrolling list so link text dissolves before it
      reaches the footer's shadow (no dark tint over moving text). */
.athene-mobile-extras {
  margin-left: -44px;
  margin-right: -44px;
  padding-left: 44px;
  padding-right: 44px;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive {
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 20px), transparent);
  mask-image: linear-gradient(to bottom, #000 calc(100% - 20px), transparent);
}

/* The cloned CTA + language extras must ONLY appear inside the OPEN mobile
   overlay. On desktop (and tablet >900px) the nav renders inline and its
   responsive-container-content is visible, so without this gate the clone
   leaked into the desktop bar. */
.athene-mobile-extras {
  display: none;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .athene-mobile-extras {
  display: flex;
}

/* ---- Consistent full-screen overlay at EVERY hamburger width -----------
   The hamburger shows up to 900px, but core's min-width:600px styles stop
   treating the overlay as a full-screen modal — they constrain the content
   and push the menu right (margin-left). Force a true full-screen, full-width,
   left-aligned modal across the whole hamburger range so it looks identical
   from 320px to 900px. (.is-menu-open only exists while the hamburger overlay
   is open, i.e. <=900px, so this never touches the desktop inline nav.) */
.athene-header .wp-block-navigation__responsive-container.is-menu-open {
  padding: 0 !important;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container.is-responsive {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-content: flex-start !important;
}
/* Side inset is now just the content's 28px padding, so the footer breaks out
   exactly 28px to sit flush to both edges at all widths. */
.athene-mobile-extras {
  margin-left: -28px !important;
  margin-right: -28px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

/* Make the overlay content stretch its children full-width (core centers them
   at >=600px, which left the footer bar narrow/centered on tablets). With
   stretch, the footer's negative side margins reach both edges (full-bleed). */
.athene-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: stretch !important;
}

/* Keep top-level nav labels on a single line. The theme's original nowrap rule
   targeted `.wp-block-navigation > .wp-block-navigation__container`, but the
   menu actually sits inside the responsive-container wrapper, so it never
   matched and long labels (Knowledge Hub / About us) wrapped on narrower
   desktops. Match the real structure. */
.athene-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.athene-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label {
  white-space: nowrap;
}
/* Button labels never wrap. */
.wp-block-button__link {
  white-space: nowrap;
}
