:root{ --cfe-glow:0 8px 22px rgba(1,101,189,.28); --cfe-glow-green:0 8px 22px rgba(20,168,17,.26);
  --cfe-shadow-card:0 4px 12px rgba(29,58,95,.10),0 2px 4px rgba(29,58,95,.06); }

/* Eyebrow */
.cfe-eyebrow{ font-family:var(--wp--preset--font-family--body); font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; font-size:.8125rem;
  color:var(--wp--preset--color--cfe-blue); }

/* Headings balance */
h1,h2,h3{ text-wrap:balance; }

/* Primary button glow + hover lift (core-button fallback; cfe-ds/button ships its own hover states
   in components.css — this rule is now only load-bearing for any raw core wp:button usage left
   on non-homepage content). */
.wp-block-button__link{ box-shadow:var(--cfe-glow); transition:transform .2s cubic-bezier(.16,1,.3,1),filter .2s; }
.wp-block-button__link:hover{ transform:translateY(-2px); filter:brightness(1.07); }
.wp-block-button__link:active{ transform:scale(.97); }

/* Sticky header w/ blur */
.cfe-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--wp--preset--color--gray-100); }

/* Section vertical rhythm */
.cfe-section{ padding-block:var(--wp--preset--spacing--90); }

/* v0.2.0 QA polish */
.cfe-section + .cfe-section{ padding-top:0; }               /* collapse doubled section gaps */
.has-cfe-navy-background-color .wp-block-list{ list-style:none; padding-left:0; }  /* footer: no bullets */

/* v0.2.1 QA polish (see docs/testing/home-test-v0.2.1-side-by-side.png) */

/* #9/#11/#16 — section-heading wrapper rhythm; cfe-ds/section-heading already carries its own
   token-based internal spacing (eyebrow/title/lead), so the wrapper only needs consistent
   section padding, not the old ad hoc paragraph+heading stack spacing. */
.cfe-section-header{ padding-block:var(--wp--preset--spacing--80); }
.cfe-section-header + .cfe-section{ padding-top:0; }

/* #10 — Cash Flow Engine gears graphic: bordered, shadowed frame (was bare, undersized image) */
.cfe-engine-graphic-frame{ padding:var(--space-6,2rem); background:var(--color-surface-card,#fff);
  border:var(--effects-border-card,1px solid var(--wp--preset--color--gray-200));
  border-radius:var(--space-radius-lg,16px); box-shadow:var(--effects-shadow-md,var(--cfe-shadow-card)); }
.cfe-engine-graphic-frame .cfe-engine-graphic img{ max-width:820px; width:100%; height:auto; }
.cfe-chiprow{ margin-top:2rem; }

/* #24 (fix v2) — CTA band (cfe-navy) to footer (cfe-navy-900) trailing white-space gap.
   `.cfe-section + .cfe-footer` never matched: .cfe-footer is a <div> NESTED INSIDE the <footer>
   template-part, not a sibling of the CTA band's .cfe-section div — the CTA band lives inside
   <main>, and <main>/<footer> are the actual adjacent siblings (see templates/front-page.html).
   Target that real relationship instead. */
main + footer{ margin-top:calc(var(--wp--preset--spacing--90) * -1); }

/* #25 — footer column headings + link sizing/color (was reusing the oversized .cfe-eyebrow style) */
.cfe-footer-heading{ font-family:var(--wp--preset--font-family--display); font-weight:800;
  font-size:var(--wp--preset--font-size--2xs,.75rem); text-transform:uppercase; letter-spacing:.06em;
  color:#fff; margin:0 0 .875rem; }
.cfe-footer .wp-block-list a{ font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--gray-200);
  text-decoration:none; }
.cfe-footer .wp-block-list a:hover{ color:#fff; }
/* .cfe-footer is present regardless of which navy shade the footer background uses, so scope the
   bullet-removal here rather than to a specific .has-cfe-navy*-background-color class — the old
   rule silently stopped matching (bullets came back) when the footer was changed from cfe-navy to
   cfe-navy-900 to visually distinguish it from the CTA band (see #21-23 fix). */
.cfe-footer .wp-block-list{ display:flex; flex-direction:column; gap:.625rem; list-style:none; padding-left:0; }

/* #26 — footer legal row (copyright + Privacy/Terms/Cookies), absent before */
.cfe-footer-legal{ margin-top:2rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.12);
  color:var(--wp--preset--color--gray-200); }
.cfe-footer-legal a{ color:var(--wp--preset--color--gray-200); text-decoration:none; }
.cfe-footer-legal a:hover{ color:#fff; }
