/* ============================================================
   AOA ARTICLE TEMPLATE v2.5 — Body-class scoped
   Rescoped from canonical aoa-article-v2.css.
   v2.5 strategy: KEEP Astra's full CSS (so header/footer stay
   properly styled), and defeat just the rules we care about via
   direct !important overrides. With wpautop disabled in the
   single template, the DOM tree is no longer corrupted, so these
   selectors actually match the elements they target — which they
   couldn't reliably do in earlier attempts.
   Generated: 2026-05-05
   ============================================================ */

/* ----------------------------------------------------------
   FONT-FAMILY OVERRIDES — direct rules on h1-h6 and body to
   beat Astra's inline CSS rules (h1, h2, h3 { font-family: 'Oswald' }
   at specificity 0,0,1, body at 0,0,1). Our specificity 0,2,2
   with !important wins.
   Inheritance from .aoa-article container is NOT enough because
   Astra's direct h1 rule beats inherited container rules.
   ---------------------------------------------------------- */

body.aoa-article-template {
  font-family: -apple-system, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

body.aoa-article-template .aoa-article,
body.aoa-article-template .aoa-article p,
body.aoa-article-template .aoa-article li,
body.aoa-article-template .aoa-article span,
body.aoa-article-template .aoa-article div {
  font-family: -apple-system, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

body.aoa-article-template .aoa-article h1,
body.aoa-article-template .aoa-article h2,
body.aoa-article-template .aoa-article h3,
body.aoa-article-template .aoa-article h4,
body.aoa-article-template .aoa-article h5,
body.aoa-article-template .aoa-article h6 {
  font-family: -apple-system, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}

/* Also override Astra's body font-size baseline so descendants without
   their own size inherit a reasonable default. Component CSS can set
   their own size; this is just the foundation. */
body.aoa-article-template .aoa-article {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #1a1a1a !important;
}

body.aoa-article-template *,
body.aoa-article-template *::before,
body.aoa-article-template *::after {
  box-sizing: border-box;
}

/* ----------------------------------------------------------
   No outer container constraint — let Astra's blog container
   control width. Article fits naturally into the existing
   blog layout. (Approach 1 — per-component constraints — is
   the future state for component-level max-widths.)
   ---------------------------------------------------------- */

/* ----------------------------------------------------------
   HIDE Astra-injected post UI not present in the design.
   These elements still render in the template chrome even
   without astra-theme-css.
   ---------------------------------------------------------- */

body.aoa-article-template .ast-archive-description,
body.aoa-article-template .ast-single-post-banner,
body.aoa-article-template .ast-single-post-featured-section,
body.aoa-article-template article.aoa-article > .post-thumbnail,
body.aoa-article-template .entry-header,
body.aoa-article-template .ast-author-meta,
body.aoa-article-template .ast-author-box,
body.aoa-article-template .ast-related-posts-sec,
body.aoa-article-template .related-posts-title-wrapper,
body.aoa-article-template .comments-area,
body.aoa-article-template .ast-comment-formwrap,
body.aoa-article-template .post-navigation,
body.aoa-article-template .nav-links {
  display: none;
}

/* ============================================================
   CANONICAL CSS (rescoped) — every .aoa-* selector now
   sits under body.aoa-article-template. Without Astra's inline
   CSS to fight, these rules apply naturally without !important.
   ============================================================ */

/* ============================================================
   AOA ARTICLE TEMPLATE — v2
   Filename: aoa-article-v2.css
   Install: Elementor Kit ID 715 → Custom CSS
   Scope: .aoa-article (article container) and all .aoa-* components
   Safe: all selectors are namespaced — zero collisions with
         Elementor, WP block editor, or existing theme CSS.
   ============================================================ */

/* ============================================================
   TOKENS
   Declared at :root so components work outside .aoa-article
   (e.g. in the component explorer). .aoa-article re-declares
   for scoped override safety inside WordPress.
   ============================================================ */

:root {
  --aoa-navy:              #000033;
  --aoa-orange:            #FF7300;
  --aoa-warm:              #FF9900;
  --aoa-white:             #FFFFFF;
  --aoa-text:              #1a1a1a;
  --aoa-text-muted:        #555555;
  --aoa-text-light:        #888888;
  --aoa-bg:                #ffffff;
  --aoa-surface-soft:      #fafafa;
  --aoa-border:            #e0e0e0;
  --aoa-border-strong:     #cccccc;
  --aoa-row-alt:           #f9f9f9;
  --aoa-navy-mid:          #0a0a4a;
  --aoa-navy-text:         rgba(255,255,255,0.85);
  --aoa-navy-text-muted:   rgba(255,255,255,0.55);
  --aoa-orange-glow:       rgba(255,115,0,0.22);
  --aoa-orange-tint:       rgba(255,115,0,0.06);
  --aoa-orange-tint-border:rgba(255,115,0,0.18);
  --aoa-orange-hover:      #e86200;
  --aoa-font:              -apple-system, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  --aoa-font-mono:         "SF Mono", Menlo, Consolas, "Courier New", monospace;
  --aoa-size-h1:           36px;
  --aoa-size-h2:           26px;
  --aoa-size-h3:           20px;
  --aoa-size-body:         17px;
  --aoa-size-meta:         15px;
  --aoa-size-sm:           13px;
  --aoa-size-label:        11px;
  --aoa-lh-body:           1.7;
  --aoa-lh-heading:        1.2;
  --aoa-weight-reg:        400;
  --aoa-weight-med:        500;
  --aoa-weight-semi:       600;
  --aoa-weight-bold:       700;
  --aoa-space-2xs:         2px;
  --aoa-space-xs:          4px;
  --aoa-space-sm:          8px;
  --aoa-space-md:          16px;
  --aoa-space-lg:          24px;
  --aoa-space-xl:          32px;
  --aoa-space-2xl:         48px;
  --aoa-space-3xl:         64px;
  --aoa-r-sm:              3px;
  --aoa-r-md:              6px;
  --aoa-r-lg:              10px;
  --aoa-r-xl:              14px;
  --aoa-shadow-sm:         0 1px 4px rgba(0,0,20,0.06);
  --aoa-shadow-card:       0 2px 12px rgba(0,0,20,0.07);
  --aoa-shadow-up:         0 8px 28px rgba(0,0,20,0.10);
  --aoa-shadow-glow:       0 8px 32px rgba(255,115,0,0.22);
  --aoa-shadow-deep:       0 16px 48px rgba(0,0,30,0.18);
  --aoa-ease:              cubic-bezier(0.4,0.0,0.2,1);
  --aoa-dur-fast:          130ms;
  --aoa-dur-base:          200ms;
}

@media (max-width: 600px) {
  :root {
    --aoa-size-h1:   26px;
    --aoa-size-h2:   21px;
    --aoa-size-h3:   18px;
    --aoa-size-body: 16px;
    --aoa-size-meta: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --aoa-dur-fast: 0ms;
    --aoa-dur-base: 0ms;
  }
}

body.aoa-article-template .aoa-article,
body.aoa-article-template .aoa-article * {
  --aoa-navy:              #000033;
  --aoa-orange:            #FF7300;
  --aoa-warm:              #FF9900;
  --aoa-white:             #FFFFFF;

  --aoa-text:              #1a1a1a;
  --aoa-text-muted:        #555555;
  --aoa-text-light:        #888888;
  --aoa-bg:                #ffffff;
  --aoa-surface-soft:      #fafafa;
  --aoa-border:            #e0e0e0;
  --aoa-border-strong:     #cccccc;
  --aoa-row-alt:           #f9f9f9;

  --aoa-navy-mid:          #0a0a4a;
  --aoa-navy-text:         rgba(255,255,255,0.85);
  --aoa-navy-text-muted:   rgba(255,255,255,0.55);
  --aoa-orange-glow:       rgba(255,115,0,0.22);
  --aoa-orange-tint:       rgba(255,115,0,0.06);
  --aoa-orange-tint-border:rgba(255,115,0,0.18);
  --aoa-orange-hover:      #e86200;

  --aoa-font:              -apple-system, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  --aoa-font-mono:         "SF Mono", Menlo, Consolas, "Courier New", monospace;

  --aoa-size-h1:           36px;
  --aoa-size-h2:           26px;
  --aoa-size-h3:           20px;
  --aoa-size-body:         17px;
  --aoa-size-meta:         15px;
  --aoa-size-sm:           13px;
  --aoa-size-label:        11px;

  --aoa-lh-body:           1.7;
  --aoa-lh-heading:        1.2;

  --aoa-weight-reg:        400;
  --aoa-weight-med:        500;
  --aoa-weight-semi:       600;
  --aoa-weight-bold:       700;

  --aoa-space-2xs:         2px;
  --aoa-space-xs:          4px;
  --aoa-space-sm:          8px;
  --aoa-space-md:          16px;
  --aoa-space-lg:          24px;
  --aoa-space-xl:          32px;
  --aoa-space-2xl:         48px;
  --aoa-space-3xl:         64px;

  --aoa-r-sm:              3px;
  --aoa-r-md:              6px;
  --aoa-r-lg:              10px;
  --aoa-r-xl:              14px;

  --aoa-shadow-sm:         0 1px 4px rgba(0,0,20,0.06);
  --aoa-shadow-card:       0 2px 12px rgba(0,0,20,0.07);
  --aoa-shadow-up:         0 8px 28px rgba(0,0,20,0.10);
  --aoa-shadow-glow:       0 8px 32px rgba(255,115,0,0.22);
  --aoa-shadow-deep:       0 16px 48px rgba(0,0,30,0.18);

  --aoa-ease:              cubic-bezier(0.4,0.0,0.2,1);
  --aoa-dur-fast:          130ms;
  --aoa-dur-base:          200ms;
}

@media (max-width: 600px) {
  body.aoa-article-template .aoa-article, .aoa-article * {
    --aoa-size-h1:   26px;
    --aoa-size-h2:   21px;
    --aoa-size-h3:   18px;
    --aoa-size-body: 16px;
    --aoa-size-meta: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.aoa-article-template .aoa-article, .aoa-article * {
    --aoa-dur-fast: 0ms;
    --aoa-dur-base: 0ms;
  }
}

body.aoa-article-template .aoa-article {
  font-family: var(--aoa-font);
  color: var(--aoa-text);
  background: var(--aoa-bg);
  line-height: var(--aoa-lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ============================================================
   HEADINGS
   ============================================================ */

body.aoa-article-template .aoa-article h1 {
  font-size: clamp(32px, 5vw, 44px);
  color: var(--aoa-navy);
  line-height: 1.08;
  font-weight: var(--aoa-weight-bold);
  margin: 0 0 var(--aoa-space-md);
  letter-spacing: -0.03em;
  text-wrap: pretty;
}

body.aoa-article-template .aoa-article h2 {
  font-size: var(--aoa-size-h2);
  color: var(--aoa-navy);
  font-weight: var(--aoa-weight-bold);
  margin-top: var(--aoa-space-2xl);
  margin-bottom: var(--aoa-space-md);
  padding-bottom: var(--aoa-space-sm);
  border-bottom: 2px solid var(--aoa-orange);
  line-height: var(--aoa-lh-heading);
  letter-spacing: -0.01em;
  text-wrap: pretty;
}

body.aoa-article-template .aoa-article h3 {
  font-size: var(--aoa-size-h3);
  color: var(--aoa-navy);
  font-weight: var(--aoa-weight-bold);
  margin-top: var(--aoa-space-xl);
  margin-bottom: 10px;
  line-height: var(--aoa-lh-heading);
  text-wrap: pretty;
}

body.aoa-article-template .aoa-article h4 {
  font-size: var(--aoa-size-body);
  color: var(--aoa-navy);
  font-weight: var(--aoa-weight-semi);
  margin-top: var(--aoa-space-lg);
  margin-bottom: var(--aoa-space-sm);
}

/* ============================================================
   BODY TEXT
   ============================================================ */

body.aoa-article-template .aoa-article p {
  margin: 0 0 var(--aoa-space-md);
  font-size: var(--aoa-size-body);
  line-height: var(--aoa-lh-body);
  text-wrap: pretty;
}

body.aoa-article-template .aoa-article em, .aoa-article i {
  color: var(--aoa-text-muted);
  font-style: italic;
}

body.aoa-article-template .aoa-article strong, .aoa-article b {
  font-weight: var(--aoa-weight-bold);
  color: inherit;
}

body.aoa-article-template .aoa-article blockquote {
  border-left: 4px solid var(--aoa-orange);
  padding: var(--aoa-space-sm) var(--aoa-space-lg);
  margin: var(--aoa-space-lg) 0;
  color: var(--aoa-text-muted);
  font-size: var(--aoa-size-body);
  background: var(--aoa-orange-tint);
  border-radius: 0 var(--aoa-r-md) var(--aoa-r-md) 0;
}

body.aoa-article-template .aoa-article blockquote p:last-child { margin-bottom: 0; }

/* ============================================================
   LINKS
   ============================================================ */

body.aoa-article-template .aoa-article a {
  color: var(--aoa-orange);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,115,0,0.3);
  transition: color var(--aoa-dur-fast) var(--aoa-ease),
              border-color var(--aoa-dur-fast) var(--aoa-ease);
}

body.aoa-article-template .aoa-article a:hover {
  color: var(--aoa-orange-hover);
  border-bottom-color: var(--aoa-orange-hover);
}

/* CFR / FAA citation links */
body.aoa-article-template .aoa-article a[href*="law.cornell.edu"],
body.aoa-article-template .aoa-article a[href*="faa.gov"] {
  font-family: var(--aoa-font-mono);
  font-size: 0.87em;
  background: #f3f3f3;
  padding: 1px 5px;
  border-radius: var(--aoa-r-sm);
  border-bottom: none;
  color: var(--aoa-text-muted);
}

body.aoa-article-template .aoa-article a[href*="law.cornell.edu"]:hover,
body.aoa-article-template .aoa-article a[href*="faa.gov"]:hover {
  background: var(--aoa-orange-tint);
  color: var(--aoa-orange);
}

/* ============================================================
   IMAGES
   ============================================================ */

body.aoa-article-template .aoa-article img {
  max-width: 100%;
  height: auto;
  border-radius: var(--aoa-r-md);
  margin: var(--aoa-space-lg) 0;
  display: block;
  box-shadow: var(--aoa-shadow-card);
}

/* ============================================================
   LISTS
   ============================================================ */

body.aoa-article-template .aoa-article ul,
body.aoa-article-template .aoa-article ol {
  padding-left: 22px;
  margin: var(--aoa-space-sm) 0 var(--aoa-space-md);
}

body.aoa-article-template .aoa-article li {
  margin: 7px 0;
  font-size: var(--aoa-size-body);
  line-height: var(--aoa-lh-body);
}

body.aoa-article-template .aoa-article ul li::marker { color: var(--aoa-orange); content: "— "; }
body.aoa-article-template .aoa-article ol li::marker { color: var(--aoa-orange); font-weight: var(--aoa-weight-semi); }

/* ============================================================
   INLINE CODE
   ============================================================ */

body.aoa-article-template .aoa-article code {
  background: #f3f3f3;
  padding: 2px 6px;
  border-radius: var(--aoa-r-sm);
  font-family: var(--aoa-font-mono);
  font-size: 0.85em;
}

/* ============================================================
   HR
   ============================================================ */

body.aoa-article-template .aoa-article hr {
  display: none;
}

/* ============================================================
   BYLINE / META
   ============================================================ */

body.aoa-article-template .aoa-byline {
  display: block;
  font-size: var(--aoa-size-meta);
  color: var(--aoa-text-muted);
  font-style: italic;
  border-left: 2px solid var(--aoa-border-strong);
  padding-left: var(--aoa-space-md);
  margin-bottom: var(--aoa-space-xl);
}

body.aoa-article-template .aoa-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px var(--aoa-space-md);
  margin-bottom: var(--aoa-space-lg);
}

body.aoa-article-template .aoa-reading-time {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--aoa-orange-tint);
  border: 1px solid var(--aoa-orange-tint-border);
  color: var(--aoa-orange);
  font-size: var(--aoa-size-sm);
  font-weight: var(--aoa-weight-semi);
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.aoa-article-template .aoa-meta-item {
  font-size: var(--aoa-size-sm);
  color: var(--aoa-text-light);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: var(--aoa-weight-med);
}


/* ============================================================
   COMPONENT: KEY TAKEAWAYS
   ============================================================ */

body.aoa-article-template .aoa-key-takeaways {
  background: var(--aoa-bg);
  border: 1px solid var(--aoa-border);
  border-top: 3px solid var(--aoa-orange);
  border-radius: 0 0 var(--aoa-r-lg) var(--aoa-r-lg);
  padding: var(--aoa-space-lg) var(--aoa-space-xl);
  margin: var(--aoa-space-xl) 0;
  box-shadow: var(--aoa-shadow-card);
}

body.aoa-article-template .aoa-key-takeaways-label {
  display: flex;
  align-items: center;
  gap: var(--aoa-space-sm);
  font-size: var(--aoa-size-label);
  font-weight: var(--aoa-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aoa-orange);
  margin-bottom: var(--aoa-space-md);
  white-space: nowrap;
}

body.aoa-article-template .aoa-key-takeaways ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.aoa-article-template .aoa-key-takeaways ul li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--aoa-size-meta);
  line-height: 1.55;
  margin: 0;
}

body.aoa-article-template .aoa-key-takeaways ul li::marker { content: ""; }

body.aoa-article-template .aoa-kt-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--aoa-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

body.aoa-article-template .aoa-kt-check svg {
  width: 10px;
  height: 10px;
  stroke: white;
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ============================================================
   COMPONENT: LEAD MAGNET
   ============================================================ */

body.aoa-article-template .aoa-lead-magnet {
  position: relative;
  background: var(--aoa-navy);
  border-radius: var(--aoa-r-xl);
  padding: var(--aoa-space-xl) 200px var(--aoa-space-xl) var(--aoa-space-xl);
  margin: var(--aoa-space-xl) 0;
  overflow: visible;
  box-shadow: var(--aoa-shadow-deep);
}

body.aoa-article-template .aoa-lead-magnet::before {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,153,0,0.20) 0%, transparent 70%);
  pointer-events: none;
}

/* Overflow document image — replace SVG placeholder with actual PNG */
/* The inner layered-image container uses inline width:52% from the HTML;
   we override that here to a safe fixed max-width so it never covers
   the text column at any viewport. The two images inside are
   absolutely positioned within the container, so we only need to
   constrain the container's rendered width. */
body.aoa-article-template .aoa-lead-magnet-doc {
  position: absolute;
  right: -16px;
  top: -24px;
  bottom: -24px;
  /* Hard-cap the doc panel so it can never exceed 44% of the card width.
     At narrow article widths (~600-700px) this still resolves to 264-308px —
     safely within the card's 200px right padding plus card overflow. */
  width: min(52%, 200px) !important;
  height: auto;
  z-index: 3;
  pointer-events: none;
}

/* Mid breakpoint (tablet/small desktop): tighten the right padding and
   further constrain the doc image to prevent overlap with text. This is
   the band (780px–1100px) where Chris observed the overlap. */
@media (max-width: 1100px) and (min-width: 601px) {
  body.aoa-article-template .aoa-lead-magnet {
    padding-right: 160px;
  }
  body.aoa-article-template .aoa-lead-magnet-doc {
    width: min(44%, 160px) !important;
    right: -8px;
  }
}

/* Narrow (≤ 780px, tablet portrait): stack — hide doc, full width padding */
@media (max-width: 780px) {
  body.aoa-article-template .aoa-lead-magnet {
    padding-right: var(--aoa-space-xl);
  }
  body.aoa-article-template .aoa-lead-magnet-doc {
    display: none !important;
  }
}

@media (max-width: 600px) {
  body.aoa-article-template .aoa-lead-magnet {
    padding-right: var(--aoa-space-xl);
  }
  body.aoa-article-template .aoa-lead-magnet-doc {
    display: none !important;
  }
}

body.aoa-article-template .aoa-lead-magnet-eyebrow {
  display: inline-block;
  font-size: var(--aoa-size-label);
  font-weight: var(--aoa-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--aoa-warm);
  margin-bottom: var(--aoa-space-sm);
  white-space: nowrap;
}

body.aoa-article-template .aoa-lead-magnet h3 {
  margin-top: 0;
  margin-bottom: var(--aoa-space-sm);
  color: var(--aoa-white);
  font-size: 22px;
  line-height: 1.25;
  font-weight: var(--aoa-weight-bold);
}

body.aoa-article-template .aoa-lead-magnet p {
  color: var(--aoa-navy-text);
  font-size: var(--aoa-size-meta);
  margin-bottom: var(--aoa-space-md);
  max-width: 520px;
}

body.aoa-article-template .aoa-lead-magnet a.aoa-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--aoa-orange);
  color: white !important;
  padding: 12px 22px;
  border-radius: var(--aoa-r-md);
  border-bottom: none;
  font-weight: var(--aoa-weight-bold);
  font-size: var(--aoa-size-meta);
  letter-spacing: 0.03em;
  text-decoration: none;
  box-shadow: var(--aoa-shadow-glow);
  transition: background var(--aoa-dur-base) var(--aoa-ease),
              transform var(--aoa-dur-base) var(--aoa-ease),
              box-shadow var(--aoa-dur-base) var(--aoa-ease);
}

body.aoa-article-template .aoa-lead-magnet a.aoa-btn:hover {
  background: var(--aoa-warm);
  transform: translateY(-1px);
  box-shadow: 0 12px 36px rgba(255,115,0,0.32);
  border-bottom: none;
}

body.aoa-article-template .aoa-lead-magnet a.aoa-btn svg {
  transition: transform var(--aoa-dur-base) var(--aoa-ease);
}

body.aoa-article-template .aoa-lead-magnet a.aoa-btn:hover svg {
  transform: translateX(3px);
}


/* ============================================================
   COMPONENT: TABLE OF CONTENTS
   ============================================================ */

body.aoa-article-template .aoa-toc {
  background: var(--aoa-bg);
  border: 1px solid var(--aoa-border);
  border-left: 4px solid var(--aoa-orange);
  border-radius: 0 var(--aoa-r-lg) var(--aoa-r-lg) 0;
  padding: var(--aoa-space-lg) var(--aoa-space-xl);
  margin: var(--aoa-space-xl) 0;
  box-shadow: var(--aoa-shadow-sm);
}

body.aoa-article-template .aoa-toc-header {
  display: flex;
  align-items: center;
  gap: var(--aoa-space-sm);
  margin-bottom: var(--aoa-space-lg);
}

body.aoa-article-template .aoa-toc-header h3 {
  margin: 0;
  font-size: var(--aoa-size-sm);
  font-weight: var(--aoa-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--aoa-navy);
  white-space: nowrap;
}

body.aoa-article-template .aoa-toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.aoa-article-template .aoa-toc ol li {
  display: flex;
  align-items: center;
  gap: var(--aoa-space-sm);
  margin: 0;
}

body.aoa-article-template .aoa-toc ol li::marker { content: ""; }

body.aoa-article-template .aoa-toc-num {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--aoa-orange-tint);
  border: 1px solid var(--aoa-orange-tint-border);
  color: var(--aoa-orange);
  font-size: 11px;
  font-weight: var(--aoa-weight-bold);
  display: flex;
  align-items: center;
  justify-content: center;
}

body.aoa-article-template .aoa-toc ol li a {
  color: var(--aoa-text);
  border-bottom: none;
  font-size: var(--aoa-size-meta);
  font-weight: var(--aoa-weight-semi);
  line-height: 1.4;
  padding: 5px 0;
  text-decoration: none;
  transition: color var(--aoa-dur-fast) var(--aoa-ease);
  flex: 1;
}

body.aoa-article-template .aoa-toc ol li a:hover {
  color: var(--aoa-orange);
  border-bottom: none;
}


/* ============================================================
   COMPONENT: FAQ ACCORDION
   ============================================================ */

body.aoa-article-template .aoa-faq {
  margin: var(--aoa-space-lg) 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.aoa-article-template .aoa-faq-item {
  border: 1px solid var(--aoa-border);
  border-radius: var(--aoa-r-md);
  overflow: hidden;
  transition: border-color var(--aoa-dur-base) var(--aoa-ease),
              box-shadow var(--aoa-dur-base) var(--aoa-ease);
  background: var(--aoa-bg);
}

/* JS-driven exclusive accordion — open state */
body.aoa-article-template .aoa-faq-item.aoa-faq-open {
  border-left: 4px solid var(--aoa-orange);
  box-shadow: var(--aoa-shadow-card);
  border-color: rgba(255,115,0,0.2);
}

/* Native <details> fallback — open state */
body.aoa-article-template .aoa-faq-item[open] {
  border-left: 4px solid var(--aoa-orange);
  box-shadow: var(--aoa-shadow-card);
  border-color: rgba(255,115,0,0.2);
}

/* Button-based summary (JS accordion) */
body.aoa-article-template .aoa-faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--aoa-space-md);
  padding: 14px var(--aoa-space-lg);
  cursor: pointer;
  font-size: var(--aoa-size-meta);
  font-weight: var(--aoa-weight-semi);
  color: var(--aoa-navy);
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  outline: none;
  font-family: var(--aoa-font);
  transition: color var(--aoa-dur-fast) var(--aoa-ease);
}

body.aoa-article-template .aoa-faq-item.aoa-faq-open .aoa-faq-summary {
  color: var(--aoa-orange);
  border-bottom: 1px solid var(--aoa-border);
}

/* Native <details> summary */
body.aoa-article-template .aoa-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--aoa-space-md);
  padding: 14px var(--aoa-space-lg);
  cursor: pointer;
  list-style: none;
  font-size: var(--aoa-size-meta);
  font-weight: var(--aoa-weight-semi);
  color: var(--aoa-navy);
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

body.aoa-article-template .aoa-faq-item summary::-webkit-details-marker { display: none; }

body.aoa-article-template .aoa-faq-item[open] summary {
  color: var(--aoa-orange);
  border-bottom: 1px solid var(--aoa-border);
}

body.aoa-article-template .aoa-faq-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aoa-text-muted);
  transition: transform var(--aoa-dur-base) var(--aoa-ease),
              color var(--aoa-dur-base) var(--aoa-ease);
}

body.aoa-article-template .aoa-faq-item.aoa-faq-open .aoa-faq-icon,
body.aoa-article-template .aoa-faq-item[open] .aoa-faq-icon {
  transform: rotate(45deg);
  color: var(--aoa-orange);
}

body.aoa-article-template .aoa-faq-icon svg {
  width: 9px;
  height: 9px;
  stroke: currentColor;
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.aoa-article-template .aoa-faq-body {
  padding: var(--aoa-space-md) var(--aoa-space-lg) var(--aoa-space-lg);
  font-size: var(--aoa-size-meta);
  color: var(--aoa-text);
  line-height: var(--aoa-lh-body);
}

body.aoa-article-template .aoa-faq-body p { font-size: var(--aoa-size-meta); }
body.aoa-article-template .aoa-faq-body p:last-child { margin-bottom: 0; }


/* ============================================================
   COMPONENT: VIDEO EMBED
   ============================================================ */

body.aoa-article-template .aoa-video-wrap {
  margin: var(--aoa-space-xl) 0;
  border-radius: var(--aoa-r-lg);
  overflow: hidden;
  box-shadow: var(--aoa-shadow-up);
  border: 2px solid rgba(255,115,0,0.18);
  background: var(--aoa-navy);
}

body.aoa-article-template .aoa-video-label {
  padding: 10px var(--aoa-space-md);
  background: var(--aoa-orange);
  font-size: var(--aoa-size-sm);
  font-weight: var(--aoa-weight-bold);
  color: var(--aoa-white);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  display: flex;
  align-items: center;
  gap: 7px;
}

body.aoa-article-template .aoa-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

body.aoa-article-template .aoa-video-container iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}


/* ============================================================
   COMPONENT: CTA CONVERSION CARD
   ============================================================ */

body.aoa-article-template .aoa-cta-card {
  position: relative;
  background: var(--aoa-navy);
  border-radius: var(--aoa-r-xl);
  padding: var(--aoa-space-2xl) var(--aoa-space-xl);
  margin: var(--aoa-space-2xl) 0;
  overflow: hidden;
  box-shadow: var(--aoa-shadow-deep);
  border: 1px solid rgba(255,115,0,0.14);
}

body.aoa-article-template .aoa-cta-card::before {
  content: "";
  position: absolute;
  bottom: -60px; left: -60px;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,153,0,0.13) 0%, transparent 70%);
  pointer-events: none;
}

body.aoa-article-template .aoa-cta-card::after {
  content: "";
  position: absolute;
  top: -40px; right: -40px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,115,0,0.09) 0%, transparent 70%);
  pointer-events: none;
}

body.aoa-article-template .aoa-cta-eyebrow {
  display: inline-block;
  font-size: var(--aoa-size-label);
  font-weight: var(--aoa-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--aoa-warm);
  margin-bottom: var(--aoa-space-sm);
  white-space: nowrap;
}

body.aoa-article-template .aoa-cta-card h3 {
  color: var(--aoa-white);
  font-size: 24px;
  font-weight: var(--aoa-weight-bold);
  margin-top: 0;
  margin-bottom: var(--aoa-space-md);
  line-height: 1.2;
  max-width: 540px;
}

body.aoa-article-template .aoa-cta-card p {
  color: var(--aoa-navy-text);
  font-size: var(--aoa-size-meta);
  margin-bottom: var(--aoa-space-md);
  max-width: 520px;
  line-height: 1.65;
}

body.aoa-article-template .aoa-cta-card p strong { color: var(--aoa-warm); }

body.aoa-article-template .aoa-cta-offer-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px var(--aoa-space-md);
  margin: var(--aoa-space-md) 0 var(--aoa-space-lg);
}

body.aoa-article-template .aoa-cta-price {
  font-size: 30px;
  font-weight: var(--aoa-weight-bold);
  color: var(--aoa-white);
  line-height: 1;
}

body.aoa-article-template .aoa-cta-price-label {
  font-size: var(--aoa-size-sm);
  color: var(--aoa-navy-text-muted);
}

body.aoa-article-template .aoa-cta-price-was {
  font-size: var(--aoa-size-meta);
  color: rgba(255,255,255,0.35);
  text-decoration: line-through;
}

body.aoa-article-template .aoa-cta-card a.aoa-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--aoa-orange);
  color: white !important;
  padding: 14px 28px;
  border-radius: var(--aoa-r-md);
  border-bottom: none;
  font-weight: var(--aoa-weight-bold);
  font-size: 17px;
  letter-spacing: 0.03em;
  text-decoration: none;
  box-shadow: var(--aoa-shadow-glow);
  position: relative;
  z-index: 1;
  transition: background var(--aoa-dur-base) var(--aoa-ease),
              transform var(--aoa-dur-base) var(--aoa-ease),
              box-shadow var(--aoa-dur-base) var(--aoa-ease);
}

body.aoa-article-template .aoa-cta-card a.aoa-btn-primary:hover {
  background: var(--aoa-warm);
  transform: translateY(-1px);
  box-shadow: 0 14px 40px rgba(255,115,0,0.36);
  border-bottom: none;
}

body.aoa-article-template .aoa-cta-card a.aoa-btn-primary svg {
  transition: transform var(--aoa-dur-base) var(--aoa-ease);
}

body.aoa-article-template .aoa-cta-card a.aoa-btn-primary:hover svg {
  transform: translateX(4px);
}

body.aoa-article-template .aoa-cta-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: var(--aoa-space-lg);
  padding-top: var(--aoa-space-md);
  border-top: 1px solid rgba(255,255,255,0.07);
}

body.aoa-article-template .aoa-cta-guarantee-icon {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,153,0,0.4);
  background: rgba(255,153,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

body.aoa-article-template .aoa-cta-guarantee-icon svg {
  width: 16px; height: 16px;
  stroke: var(--aoa-warm);
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.aoa-article-template .aoa-cta-guarantee-text {
  font-size: var(--aoa-size-sm);
  color: var(--aoa-navy-text-muted);
  line-height: 1.55;
}

body.aoa-article-template .aoa-cta-guarantee-text strong {
  color: var(--aoa-warm);
  font-weight: var(--aoa-weight-semi);
}


/* ============================================================
   COMPONENT: FINAL WORD / SIGN-OFF
   ============================================================ */

body.aoa-article-template .aoa-final-word {
  position: relative;
  margin: var(--aoa-space-2xl) 0 var(--aoa-space-lg);
  padding: var(--aoa-space-xl);
  background: var(--aoa-bg);
  border: 1px solid var(--aoa-border);
  border-top: 3px solid var(--aoa-navy);
  border-radius: 0 0 var(--aoa-r-lg) var(--aoa-r-lg);
  box-shadow: var(--aoa-shadow-card);
}

body.aoa-article-template .aoa-final-word-eyebrow {
  font-size: var(--aoa-size-meta);
  font-weight: var(--aoa-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aoa-navy);
  margin-bottom: var(--aoa-space-lg);
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.65;
}

/* Speech-bubble icon — CSS-driven so every future article gets it automatically
   without embedding an SVG in the post HTML.
   Inline SVG data URI (path from Lucide "message-square"):
   M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z */
body.aoa-article-template .aoa-final-word-eyebrow::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: center;
  opacity: 1; /* full opacity on the icon; the parent's 0.65 propagates */
}

body.aoa-article-template .aoa-final-word p {
  font-size: var(--aoa-size-body);
  line-height: 1.75;
  color: var(--aoa-text);
}

body.aoa-article-template .aoa-sign-off {
  margin-top: var(--aoa-space-xl);
  padding-top: var(--aoa-space-lg);
  border-top: 1px solid var(--aoa-border);
  display: flex;
  align-items: flex-start;
  gap: var(--aoa-space-md);
}

/* Anti-Binder document breathing animation */
@keyframes aoa-breathe-front {
  0%, 100% { transform: rotate(-3deg) translateY(0px); }
  50%       { transform: rotate(-3deg) translateY(-8px); }
}
@keyframes aoa-breathe-back {
  0%, 100% { transform: rotate(6deg) translateY(0px); }
  50%       { transform: rotate(6deg) translateY(-5px); }
}

body.aoa-article-template .aoa-lead-magnet-doc-front {
  animation: aoa-breathe-front 6s ease-in-out infinite;
}
body.aoa-article-template .aoa-lead-magnet-doc-back {
  animation: aoa-breathe-back 6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  body.aoa-article-template .aoa-lead-magnet-doc-front,
  body.aoa-article-template .aoa-lead-magnet-doc-back { animation: none; }
}

body.aoa-article-template .aoa-sign-off-avatar {
  flex-shrink: 0;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--aoa-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--aoa-orange);
  overflow: hidden;
}

body.aoa-article-template .aoa-sign-off-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
}

body.aoa-article-template .aoa-sign-off-initials {
  font-size: 20px;
  font-weight: var(--aoa-weight-bold);
  color: var(--aoa-orange);
}

body.aoa-article-template .aoa-throttle-on {
  font-size: 22px;
  font-weight: var(--aoa-weight-bold);
  color: var(--aoa-orange);
  letter-spacing: -0.01em;
  margin: 0 0 4px;
  line-height: 1;
}

body.aoa-article-template .aoa-sign-off-name {
  font-weight: var(--aoa-weight-bold);
  color: var(--aoa-navy);
  font-size: var(--aoa-size-meta);
  margin: 0 0 2px;
}

body.aoa-article-template .aoa-sign-off-credentials {
  font-size: var(--aoa-size-sm);
  color: var(--aoa-text-muted);
  font-style: italic;
}


/* ============================================================
   TABLES
   ============================================================ */

body.aoa-article-template .aoa-table-wrap {
  margin: var(--aoa-space-xl) 0;
  border-radius: var(--aoa-r-lg);
  overflow: hidden;
  box-shadow: var(--aoa-shadow-up);
  border: 1px solid var(--aoa-border);
}

body.aoa-article-template .aoa-table-caption {
  background: var(--aoa-navy);
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding: 10px var(--aoa-space-md) 10px var(--aoa-space-lg);
  font-size: var(--aoa-size-sm);
  font-weight: var(--aoa-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--aoa-white);
}

body.aoa-article-template .aoa-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: var(--aoa-size-meta);
  background: var(--aoa-bg);
}

body.aoa-article-template .aoa-table-wrap thead th {
  background: var(--aoa-bg);
  color: var(--aoa-orange);
  font-weight: var(--aoa-weight-bold);
  font-size: var(--aoa-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 12px var(--aoa-space-md);
  text-align: left;
  border: none;
  border-bottom: 2px solid var(--aoa-orange);
  white-space: nowrap;
}

body.aoa-article-template .aoa-table-wrap thead th.aoa-col-num { text-align: right; }

body.aoa-article-template .aoa-table-wrap tbody tr {
  border-bottom: 1px solid var(--aoa-border);
  transition: background var(--aoa-dur-fast) var(--aoa-ease);
}

body.aoa-article-template .aoa-table-wrap tbody tr:last-child { border-bottom: none; }

body.aoa-article-template .aoa-table-wrap tbody td {
  padding: 11px var(--aoa-space-md);
  text-align: left;
  color: var(--aoa-text);
  vertical-align: top;
  font-size: var(--aoa-size-meta);
  border: none;
}

body.aoa-article-template .aoa-table-wrap tbody td.aoa-col-num {
  text-align: right;
  font-family: var(--aoa-font-mono);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

body.aoa-article-template .aoa-table-wrap tbody tr:nth-child(even) td { background: var(--aoa-row-alt); }
body.aoa-article-template .aoa-table-wrap tbody tr:hover td { background: var(--aoa-orange-tint); }

/* Total row */
body.aoa-article-template .aoa-row-total td {
  background: var(--aoa-navy) !important;
  color: var(--aoa-white) !important;
  font-weight: var(--aoa-weight-bold);
  border-top: 2px solid var(--aoa-orange);
}

body.aoa-article-template .aoa-row-total td.aoa-col-num { color: var(--aoa-warm) !important; }

/* Highlight / recommended row */
body.aoa-article-template .aoa-row-highlight td { background: var(--aoa-orange-tint) !important; }

body.aoa-article-template .aoa-row-highlight td:first-child {
  border-left: 4px solid var(--aoa-orange);
  padding-left: 12px;
}

body.aoa-article-template .aoa-badge-rec {
  display: inline-block;
  font-size: 10px;
  font-weight: var(--aoa-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: var(--aoa-orange);
  color: white;
  padding: 1px 7px;
  border-radius: 10px;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* Mobile table stack */
@media (max-width: 560px) {
  body.aoa-article-template .aoa-table-wrap { border-radius: var(--aoa-r-md); }
  body.aoa-article-template .aoa-table-wrap thead { display: none; }
  body.aoa-article-template .aoa-table-wrap table,
  body.aoa-article-template .aoa-table-wrap tbody { display: block; }
  body.aoa-article-template .aoa-table-wrap tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: var(--aoa-space-sm);
    background: var(--aoa-surface-soft);
  }
  body.aoa-article-template .aoa-table-wrap tbody tr {
    display: block;
    border: 1px solid var(--aoa-border);
    border-radius: var(--aoa-r-md);
    overflow: hidden;
    background: white;
    box-shadow: var(--aoa-shadow-sm);
  }
  body.aoa-article-template .aoa-table-wrap tbody td {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--aoa-space-sm);
    padding: 9px var(--aoa-space-md);
    border-bottom: 1px solid var(--aoa-border);
    background: white !important;
    text-align: right;
  }
  body.aoa-article-template .aoa-table-wrap tbody td:last-child { border-bottom: none; }
  body.aoa-article-template .aoa-table-wrap tbody td[data-label]::before {
    content: attr(data-label);
    font-weight: var(--aoa-weight-semi);
    font-size: var(--aoa-size-sm);
    color: var(--aoa-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
    flex-shrink: 0;
    max-width: 55%;
  }
  body.aoa-article-template .aoa-row-total td { background: var(--aoa-navy) !important; color: white !important; }
  body.aoa-article-template .aoa-row-total td.aoa-col-num { color: var(--aoa-warm) !important; }
}

/* ============================================================
   MOBILE — COMPREHENSIVE 375px PASS
   ============================================================ */

@media (max-width: 600px) {

  /* Article meta row — wrap gracefully */
  body.aoa-article-template .aoa-article-meta {
    gap: 4px 8px;
  }

  body.aoa-article-template .aoa-reading-time {
    font-size: 10px;
    padding: 2px 8px;
  }

  /* Key Takeaways — tighter padding */
  body.aoa-article-template .aoa-key-takeaways {
    padding: var(--aoa-space-md) var(--aoa-space-md);
  }

  body.aoa-article-template .aoa-key-takeaways ul li {
    font-size: 14px;
  }

  /* Lead Magnet — already hides doc, ensure text doesn't overflow */
  body.aoa-article-template .aoa-lead-magnet {
    padding: var(--aoa-space-lg) var(--aoa-space-lg);
  }

  body.aoa-article-template .aoa-lead-magnet h3 {
    font-size: 20px;
  }

  body.aoa-article-template .aoa-lead-magnet p {
    font-size: 14px;
  }

  /* TOC — tighter */
  body.aoa-article-template .aoa-toc {
    padding: var(--aoa-space-md) var(--aoa-space-md) var(--aoa-space-md) var(--aoa-space-lg);
  }

  body.aoa-article-template .aoa-toc ol li a {
    font-size: 14px;
    padding: 4px 0;
  }

  /* FAQ — full width, no side padding cut */
  body.aoa-article-template .aoa-faq-summary,
  body.aoa-article-template .aoa-faq-item summary {
    padding: 12px var(--aoa-space-md);
    font-size: 14px;
  }

  body.aoa-article-template .aoa-faq-body {
    padding: var(--aoa-space-sm) var(--aoa-space-md) var(--aoa-space-md);
  }

  /* Video wrap — ensure full width */
  body.aoa-article-template .aoa-video-wrap {
    margin: var(--aoa-space-lg) 0;
    border-radius: var(--aoa-r-md);
  }

  body.aoa-article-template .aoa-video-label {
    font-size: 10px;
    padding: 8px var(--aoa-space-sm);
    white-space: normal;
    line-height: 1.3;
  }

  /* CTA Card — reduce padding, stack offer row */
  body.aoa-article-template .aoa-cta-card {
    padding: var(--aoa-space-xl) var(--aoa-space-lg);
    border-radius: var(--aoa-r-lg);
  }

  body.aoa-article-template .aoa-cta-card h3 {
    font-size: 20px;
  }

  body.aoa-article-template .aoa-cta-card p {
    font-size: 14px;
  }

  body.aoa-article-template .aoa-cta-offer-row {
    flex-direction: column;
    gap: 2px;
    margin: var(--aoa-space-md) 0;
  }

  body.aoa-article-template .aoa-cta-price {
    font-size: 26px;
  }

  body.aoa-article-template .aoa-cta-card a.aoa-btn-primary {
    width: 100%;
    justify-content: center;
    font-size: 16px;
    padding: 14px 20px;
  }

  body.aoa-article-template .aoa-cta-guarantee {
    flex-direction: column;
    gap: var(--aoa-space-sm);
  }

  /* Final Word */
  body.aoa-article-template .aoa-final-word {
    padding: var(--aoa-space-lg) var(--aoa-space-md);
  }

  body.aoa-article-template .aoa-sign-off {
    gap: var(--aoa-space-sm);
  }

  body.aoa-article-template .aoa-throttle-on {
    font-size: 18px;
  }

  body.aoa-article-template .aoa-sign-off-credentials {
    font-size: 11px;
  }

  /* H2 section headings — reduce top margin */
  body.aoa-article-template .aoa-article h2 {
    margin-top: var(--aoa-space-xl);
  }
}
