.apa-section {
  --apa-accent: var(--wp--preset--color--primary, #315c49);
  --apa-surface: var(--wp--preset--color--base-2, #f3f5ef);
  --apa-border: color-mix(in srgb, currentColor 16%, transparent);
  padding: clamp(3.5rem, 8vw, 7.5rem) max(1.25rem, calc((100vw - 1180px) / 2));
}

.apa-section:nth-of-type(even) { background: var(--apa-surface); }
.apa-section > * { max-width: 1180px; margin-inline: auto; }
.apa-notice { padding-block: .7rem; color: var(--wp--preset--color--base, #fff); background: #171a16 !important; text-align: center; }
.apa-notice__text { margin: 0; font-size: .78rem; opacity: .86; }
.apa-section__intro { max-width: 760px; margin: 0 auto clamp(2rem, 5vw, 4rem); text-align: center; }
.apa-section__intro h2 { text-wrap: balance; }
.apa-section__lead { opacity: .76; }
.apa-grid { gap: clamp(1rem, 2.5vw, 2rem); align-items: stretch; }
.apa-grid > .wp-block-column { display: flex; }
.apa-card,
.apa-step,
.apa-stat {
  width: 100%;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid var(--apa-border);
  border-radius: 1rem;
  background: var(--wp--preset--color--base, #fff);
  box-shadow: 0 1rem 3rem rgb(20 40 30 / .07);
}

.apa-hero {
  min-height: min(820px, 88vh);
  display: grid;
  align-content: center;
  background:
    radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--apa-accent) 22%, transparent), transparent 34%),
    var(--wp--preset--color--base, #fff);
}
.apa-hero__layout { gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.apa-hero h1 { max-width: 14ch; font-size: clamp(2.8rem, 7vw, 6.6rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.apa-hero .apa-lead { max-width: 58ch; font-size: clamp(1.1rem, 2vw, 1.35rem); opacity: .75; }
.apa-eyebrow { color: var(--apa-accent); font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.apa-hero img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 1.4rem; box-shadow: 0 2rem 5rem rgb(20 40 30 / .18); }
.apa-button .wp-block-button__link { background: var(--apa-accent); }
.apa-button-secondary .wp-block-button__link { color: currentColor; }

.apa-stat { text-align: center; box-shadow: none; }
.apa-stat__value { margin: 0; color: var(--apa-accent); font-size: clamp(2rem, 5vw, 4rem); font-weight: 800; line-height: 1; }
.apa-stat__label { margin-bottom: 0; opacity: .7; }
.apa-step__number { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--apa-accent); font-weight: 800; }
.apa-price { font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; letter-spacing: -.04em; }
.apa-price-card--featured { border: 2px solid var(--apa-accent); transform: translateY(-.75rem); }
.apa-quote { font-size: 1.15rem; line-height: 1.65; }
.apa-byline { margin-bottom: 0; font-weight: 700; }
.apa-faq__items { max-width: 860px; }
.apa-faq__item { padding: 1.25rem 0; border-bottom: 1px solid var(--apa-border); }
.apa-faq__item summary { cursor: pointer; font-size: 1.1rem; font-weight: 700; }
.apa-comparison__table { overflow-x: auto; }
.apa-comparison__table table { min-width: 680px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--apa-border); border-radius: 1rem; overflow: hidden; }
.apa-comparison__table th,
.apa-comparison__table td { padding: 1rem 1.2rem; border: 0; border-bottom: 1px solid var(--apa-border); }
.apa-comparison__table th { color: #fff; background: #171a16; text-align: left; }
.apa-comparison__table td:last-child { color: var(--apa-accent); font-weight: 800; }
.apa-cta { color: var(--wp--preset--color--base, #fff); background: var(--apa-accent) !important; text-align: center; }
.apa-cta > * { max-width: 760px; }
.apa-cta .apa-button .wp-block-button__link { color: var(--apa-accent); background: var(--wp--preset--color--base, #fff); }

@media (max-width: 781px) {
  .apa-section { padding-block: 3.5rem; }
  .apa-grid > .wp-block-column { margin-bottom: 1rem; }
  .apa-price-card--featured { transform: none; }
  .apa-hero { min-height: auto; }
}

@media (prefers-reduced-motion: no-preference) {
  .apa-card,
  .apa-step,
  .apa-price-card { transition: transform .2s ease, box-shadow .2s ease; }
  .apa-card:hover,
  .apa-step:hover,
  .apa-price-card:hover { transform: translateY(-4px); box-shadow: 0 1.5rem 4rem rgb(20 40 30 / .12); }
}
