/* ==========================================================================
   AGP Landing — 200+ Words & Sentences
   Layout concept: a publisher's page set on ivory "paper", with handwriting
   guide lines (solid top, dashed midline, solid baseline) as the recurring
   motif; the colorful cover carries the color, the page stays calm.
   All rules are scoped under .agp-lp so sections can move into WordPress.
   ========================================================================== */

.agp-lp {
  /* Color — AGP logo + supporting cover accents */
  --agp-red: #FA2A00;          /* logo red-orange: identity, icons, rules */
  --agp-red-deep: #C62000;     /* purchase buttons (white text 5.8:1) */
  --agp-red-deeper: #A81B00;   /* button hover */
  --agp-purple: #540CB4;       /* cover purple: headings, links */
  --agp-pink: #C2185B;         /* cover pink, deepened: small accents */
  --agp-teal: #0E7C8C;         /* cover teal, deepened: chips */
  --agp-yellow: #FCE40C;       /* cover yellow: thin highlights only */
  --agp-ink: #2A1E36;          /* body text */
  --agp-ink-soft: #5C5068;     /* secondary text (7.3:1 on ivory) */
  --agp-ivory: #FFFBF4;        /* page ground */
  --agp-paper: #FFFFFF;        /* cards, sheets */
  --agp-lilac: #F3EEFB;        /* tinted section ground */
  --agp-line: #E4DCEC;         /* hairlines */
  --agp-guide: #C9BEDB;        /* handwriting guide lines */

  /* Type */
  --agp-display: "Fredoka", "Baloo 2", "Trebuchet MS", "Segoe UI", sans-serif;
  --agp-body: "Atkinson Hyperlegible", "Segoe UI", Roboto, Arial, sans-serif;
  --agp-school: "Andika", "Atkinson Hyperlegible", "Segoe UI", sans-serif;

  /* Scale & shape */
  --agp-radius: 14px;
  --agp-radius-sm: 8px;
  --agp-shadow: 0 1px 2px rgba(42, 30, 54, .08), 0 8px 24px rgba(42, 30, 54, .08);
  --agp-gutter: clamp(16px, 4vw, 40px);
  --agp-max: 1120px;

  color: var(--agp-ink);
  background: var(--agp-ivory);
  font-family: var(--agp-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

.agp-page { margin: 0; background: #FFFBF4; color: #2A1E36; }
.agp-lp *, .agp-lp *::before, .agp-lp *::after { box-sizing: border-box; }
.agp-lp img { max-width: 100%; height: auto; display: block; }
.agp-lp p { margin: 0; }
.agp-lp a { color: var(--agp-purple); text-underline-offset: 3px; }
.agp-lp a:hover { color: var(--agp-pink); }
.agp-lp :focus-visible { outline: 3px solid var(--agp-purple); outline-offset: 3px; border-radius: 4px; }
.agp-lp [hidden] { display: none !important; }

.agp-wrap { max-width: var(--agp-max); margin-inline: auto; padding-inline: var(--agp-gutter); }

/* ---------- Type ---------- */
.agp-h1, .agp-h2, .agp-h3 { font-family: var(--agp-display); color: var(--agp-purple); margin: 0; text-wrap: balance; font-weight: 650; }
.agp-h1 { font-size: clamp(2rem, 1.3rem + 3vw, 3.25rem); line-height: 1.08; letter-spacing: -0.01em; font-variation-settings: "opsz" 144; }
.agp-h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.35rem); line-height: 1.15; font-variation-settings: "opsz" 96; }
.agp-h2--sm { font-size: clamp(1.4rem, 1.15rem + 1vw, 1.85rem); }
.agp-h3 { font-size: 1.2rem; line-height: 1.25; font-weight: 600; color: var(--agp-ink); font-variation-settings: "opsz" 24; }
.agp-eyebrow { font-family: var(--agp-school); font-size: .95rem; font-weight: 700; color: var(--agp-pink); letter-spacing: .04em; }
.agp-lede { font-size: 1.15rem; color: var(--agp-ink); max-width: 36em; }
.agp-small { font-size: .92rem; color: var(--agp-ink-soft); }
.agp-select { user-select: all; font-weight: 700; word-break: break-word; }

/* Handwriting guide-line rule: the page's signature detail */
.agp-guides {
  height: 30px;
  background:
    linear-gradient(var(--agp-guide), var(--agp-guide)) top / 100% 1.5px no-repeat,
    repeating-linear-gradient(90deg, var(--agp-guide) 0 8px, transparent 8px 14px) center / 100% 1.5px no-repeat,
    linear-gradient(var(--agp-red), var(--agp-red)) bottom / 100% 2px no-repeat;
  opacity: .9;
}

/* ---------- Preview banner ---------- */
.agp-previewbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px;
  padding: 10px var(--agp-gutter);
  background: var(--agp-ink); color: #FFFFFF; font-size: .92rem; text-align: center;
}
.agp-previewbar__toggle {
  font: inherit; font-weight: 700; color: var(--agp-ink); background: var(--agp-yellow);
  border: 0; border-radius: 999px; padding: 6px 14px; cursor: pointer; min-height: 36px;
}
.agp-tag {
  display: inline-block; font-family: var(--agp-school); font-size: .72rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; line-height: 1;
  padding: 4px 7px; border-radius: 4px; background: var(--agp-yellow); color: var(--agp-ink);
  vertical-align: middle;
}

/* ---------- Header ---------- */
.agp-header { background: var(--agp-paper); border-bottom: 1px solid var(--agp-line); }
.agp-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-block: 10px; }
.agp-header__brand { display: block; flex: none; border-radius: 6px; }
.agp-header__brand img { height: 76px; width: auto; }
.agp-nav { display: flex; flex-wrap: wrap; gap: 4px 6px; }
.agp-nav a {
  font-weight: 700; text-decoration: none; color: var(--agp-ink);
  padding: 10px 12px; border-radius: 999px; min-height: 44px; display: inline-flex; align-items: center;
}
.agp-nav a:hover { background: var(--agp-lilac); color: var(--agp-purple); }

/* ---------- Buttons ---------- */
.agp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 12px 26px; border-radius: 999px;
  font-family: var(--agp-body); font-size: 1.05rem; font-weight: 700; line-height: 1.2;
  text-decoration: none; cursor: pointer; border: 2px solid transparent;
  transition: background-color .15s ease, transform .15s ease;
}
.agp-lp a.agp-btn--primary, .agp-btn--primary { background: var(--agp-red-deep); color: #FFFFFF; }
.agp-lp a.agp-btn--primary:hover, .agp-btn--primary:hover { background: var(--agp-red-deeper); color: #FFFFFF; transform: translateY(-1px); }
.agp-btn--primary:disabled, .agp-btn--primary[aria-disabled="true"] { background: #8E8496; cursor: not-allowed; transform: none; }
.agp-lp a.agp-btn--ghost, .agp-btn--ghost { background: transparent; color: var(--agp-purple); border-color: var(--agp-purple); }
.agp-lp a.agp-btn--ghost:hover { background: var(--agp-lilac); color: var(--agp-purple); }
.agp-btn--block { width: 100%; }
.agp-btn__ext { font-size: .85em; }
.agp-soon {
  display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 22px;
  border-radius: 999px; border: 2px dashed var(--agp-red-deep); color: var(--agp-red-deep);
  font-weight: 700; background: var(--agp-paper);
}
.agp-soon::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--agp-red); flex: none; }

.agp-cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.agp-price { font-size: .95rem; color: var(--agp-ink-soft); max-width: 34em; }
.agp-price b { color: var(--agp-ink); font-size: 1.15rem; }

/* ---------- Hero ---------- */
.agp-hero {
  padding-block: clamp(28px, 5vw, 64px) clamp(72px, 9vw, 120px);
  background:
    radial-gradient(circle at 8% 18%, rgba(252, 228, 12, .35) 0 90px, transparent 91px),
    radial-gradient(circle at 92% 82%, rgba(228, 12, 108, .14) 0 140px, transparent 141px),
    radial-gradient(circle at 70% 8%, rgba(12, 180, 204, .16) 0 70px, transparent 71px),
    linear-gradient(160deg, #F6EEFF 0%, #FFF4F8 55%, #FFFBF4 100%);
}
.agp-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.agp-hero__copy { display: grid; gap: 20px; min-width: 0; }
.agp-hero__book { font-family: var(--agp-school); font-weight: 700; color: var(--agp-red-deep); font-size: 1rem; }
.agp-hero__book span { display: block; font-weight: 400; color: var(--agp-ink-soft); }
.agp-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.agp-chip {
  font-family: var(--agp-school); font-weight: 700; font-size: .95rem;
  padding: 6px 14px; border-radius: 999px; background: var(--agp-teal); color: #FFFFFF;
}
.agp-chip--plain { background: transparent; color: var(--agp-ink-soft); border: 1.5px solid var(--agp-line); font-weight: 400; }

.agp-hero__cover { margin: 0; position: relative; justify-self: center; width: min(100%, 420px); }
.agp-hero__cover::before {
  /* lined-paper card behind the book */
  content: ""; position: absolute; inset: 8% -7% -5% 12%;
  border-radius: var(--agp-radius);
  background:
    repeating-linear-gradient(180deg, transparent 0 30px, var(--agp-guide) 30px 31.5px),
    var(--agp-lilac);
  transform: rotate(3deg);
}
.agp-hero__cover img {
  position: relative; border-radius: 4px 10px 10px 4px;
  box-shadow: -6px 0 0 -2px rgba(42,30,54,.18), 0 18px 40px rgba(42, 30, 54, .22), 0 3px 8px rgba(42, 30, 54, .12);
  transform: rotate(-2deg);
}

/* ---------- Sections ---------- */
.agp-section { padding-block: clamp(48px, 7vw, 88px); }
.agp-section--tight { padding-block: clamp(32px, 4vw, 48px); }
.agp-section--paper { background: var(--agp-lilac); }
.agp-section__head { display: grid; gap: 10px; max-width: 44em; margin-bottom: clamp(24px, 4vw, 40px); }
.agp-section__head::after { content: ""; display: block; width: 120px; margin-top: 6px; }
.agp-section__intro { color: var(--agp-ink-soft); font-size: 1.08rem; }
.agp-note {
  margin-top: 20px; padding: 14px 18px; border-radius: var(--agp-radius-sm);
  background: var(--agp-paper); border: 1px solid var(--agp-line); font-size: .98rem; color: var(--agp-ink-soft);
}

/* Benefits */
.agp-benefits { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 32px); }
.agp-benefit { display: grid; gap: 10px; align-content: start; min-width: 0; }
.agp-benefit__mark {
  font-family: var(--agp-school); font-weight: 700; font-size: 1.5rem; color: var(--agp-red-deep);
  height: 60px; display: flex; align-items: flex-end; padding: 0 2px 6px;
  background:
    linear-gradient(var(--agp-guide), var(--agp-guide)) top 10px left / 100% 1.5px no-repeat,
    repeating-linear-gradient(90deg, var(--agp-guide) 0 8px, transparent 8px 14px) left 0 top 33px / 100% 1.5px no-repeat,
    linear-gradient(var(--agp-red), var(--agp-red)) bottom 4px left / 100% 2px no-repeat;
}
.agp-benefit p { color: var(--agp-ink-soft); }

.agp-contents { margin-top: clamp(28px, 4vw, 40px); border-top: 1px solid var(--agp-line); padding-top: 16px; }
.agp-contents summary { font-weight: 700; color: var(--agp-purple); cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.agp-contents__list { columns: 3 220px; column-gap: 32px; margin: 12px 0 14px; padding-left: 1.4em; }
.agp-contents__list li { break-inside: avoid; padding: 3px 0; color: var(--agp-ink-soft); }
.agp-contents__list li span { color: var(--agp-ink); font-weight: 700; }
.agp-contents__list li:first-child { list-style: none; margin-left: -1.4em; }

/* Gallery */
.agp-gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); }
.agp-gallery li { min-width: 0; }
.agp-gallery__item {
  display: grid; gap: 12px; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in;
  text-align: left; font: inherit; color: inherit; border-radius: var(--agp-radius-sm);
}
.agp-gallery__item img, .agp-sheet img {
  background: var(--agp-paper); border-radius: 6px; box-shadow: var(--agp-shadow);
  border: 1px solid var(--agp-line); transition: transform .2s ease, box-shadow .2s ease;
}
.agp-gallery__item:hover img { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(42,30,54,.1), 0 14px 32px rgba(42,30,54,.14); }
.agp-gallery__cap { display: grid; gap: 2px; font-size: .95rem; color: var(--agp-ink-soft); line-height: 1.4; }
.agp-gallery__cap b { color: var(--agp-ink); font-size: 1.02rem; }
.agp-gallery__cap em { font-style: normal; font-family: var(--agp-school); font-size: .85rem; color: var(--agp-pink); }

/* Split layouts (alternate image/text) */
.agp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.agp-split--reverse .agp-split__media { order: 2; }
.agp-split__copy { display: grid; gap: 16px; min-width: 0; max-width: 34em; }
.agp-split__media { margin: 0; min-width: 0; }
.agp-sheet figcaption { margin-top: 10px; font-size: .88rem; color: var(--agp-ink-soft); font-family: var(--agp-school); }
.agp-sheet--narrow { max-width: 380px; justify-self: center; }
.agp-zoom { padding: 0; border: 0; background: none; cursor: zoom-in; display: block; width: 100%; border-radius: 6px; }

.agp-steps { list-style: none; counter-reset: step; margin: 4px 0 0; padding: 0; display: grid; gap: 18px; }
.agp-steps li { counter-increment: step; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; }
.agp-steps li::before {
  content: counter(step); grid-row: span 2; width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center; font-family: var(--agp-school); font-weight: 700; font-size: 1.2rem;
  color: var(--agp-red-deep); background: var(--agp-paper); border: 2px solid var(--agp-red);
}
.agp-steps p { color: var(--agp-ink-soft); }

/* Video */
.agp-video { display: grid; gap: 16px; justify-items: center; text-align: center; }
.agp-video__frame { width: min(100%, 760px); aspect-ratio: 16 / 9; border-radius: var(--agp-radius); overflow: hidden; background: var(--agp-ink); }
.agp-video__frame video, .agp-video__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.agp-video__placeholder {
  height: 100%; display: grid; place-content: center; gap: 12px; padding: 24px; justify-items: center;
  background: repeating-linear-gradient(45deg, var(--agp-lilac) 0 14px, #ECE4F7 14px 28px);
  border: 2px dashed var(--agp-guide); border-radius: var(--agp-radius); color: var(--agp-ink); max-width: 100%;
}
.agp-video__placeholder p { max-width: 34em; font-size: .98rem; }

/* At a glance */
.agp-glance {
  background: var(--agp-paper); border: 1px solid var(--agp-line); border-radius: var(--agp-radius);
  padding: clamp(22px, 4vw, 40px); display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2fr); gap: 24px 48px;
}
.agp-glance__list { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.agp-glance__list div { align-content: start; padding: 12px 0; border-bottom: 1px dashed var(--agp-guide); display: grid; gap: 2px; min-width: 0; }
.agp-glance__list dt { font-family: var(--agp-school); font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--agp-teal); }
.agp-glance__list dd { margin: 0; font-weight: 700; }

/* Signup */
.agp-signup { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.agp-signup__copy { display: grid; gap: 14px; }
.agp-signup__form {
  display: grid; gap: 16px; background: var(--agp-paper); padding: clamp(20px, 3vw, 32px);
  border-radius: var(--agp-radius); border: 1px solid var(--agp-line); box-shadow: var(--agp-shadow);
}
.agp-field { display: grid; gap: 6px; }
.agp-field label { font-weight: 700; }
.agp-req, .agp-opt { font-weight: 400; color: var(--agp-ink-soft); font-size: .9rem; }
.agp-field input {
  font: inherit; color: var(--agp-ink); background: var(--agp-paper);
  min-height: 48px; padding: 10px 14px; border-radius: var(--agp-radius-sm); border: 1.5px solid #9B8FA8; width: 100%;
}
.agp-field input:focus-visible { outline: 3px solid var(--agp-purple); outline-offset: 1px; border-color: var(--agp-purple); }
.agp-field input[aria-invalid="true"] { border-color: var(--agp-red-deep); }
.agp-field__error { color: var(--agp-red-deep); font-size: .92rem; font-weight: 700; }
.agp-consent { font-size: .88rem; color: var(--agp-ink-soft); }
.agp-signup__status { font-weight: 700; min-height: 1em; }
.agp-signup__status:empty { display: none; }
.agp-signup__status[data-state="ok"] { color: var(--agp-teal); }
.agp-signup__status[data-state="error"] { color: var(--agp-red-deep); }
.agp-signup__notice { font-size: .9rem; color: var(--agp-ink); background: #FFF8C9; border-radius: var(--agp-radius-sm); padding: 10px 12px; }

/* FAQ */
.agp-faq { max-width: 820px; display: grid; gap: 0; }
.agp-faq .agp-h2 { margin-bottom: 20px; }
.agp-faq details { border-bottom: 1px solid var(--agp-line); }
.agp-faq summary {
  cursor: pointer; font-weight: 700; font-size: 1.08rem; padding: 16px 36px 16px 0; min-height: 44px;
  list-style: none; position: relative;
}
.agp-faq summary::-webkit-details-marker { display: none; }
.agp-faq summary::after { content: "+"; position: absolute; right: 6px; top: 12px; font-size: 1.5rem; color: var(--agp-red-deep); font-weight: 400; }
.agp-faq details[open] summary::after { content: "−"; }
.agp-faq details p { padding: 0 0 18px; color: var(--agp-ink-soft); max-width: 42em; }

/* Final CTA */
.agp-final { padding-block: clamp(48px, 7vw, 88px); background: var(--agp-paper); border-top: 1px solid var(--agp-line); }
.agp-final__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.agp-final__media { margin: 0; }
.agp-final__media img { border-radius: var(--agp-radius); }
.agp-final__copy { display: grid; gap: 16px; min-width: 0; }

/* Footer */
.agp-footer { background: var(--agp-ivory); border-top: 4px solid var(--agp-red); padding-block: 32px 40px; }
.agp-footer__inner { display: flex; gap: 20px 28px; align-items: center; flex-wrap: wrap; }
.agp-lp .agp-footer__logo { height: 80px; width: auto; }
.agp-footer__text { display: grid; gap: 4px; min-width: 0; }
.agp-footer__links { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.agp-footer__links a { display: inline-flex; min-height: 44px; align-items: center; }

/* Mobile buy bar */
.agp-buybar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px var(--agp-gutter) calc(10px + env(safe-area-inset-bottom, 0px));
  background: var(--agp-paper); border-top: 1px solid var(--agp-line); box-shadow: 0 -6px 20px rgba(42,30,54,.1);
  transform: translateY(110%); transition: transform .25s ease;
}
.agp-buybar.is-visible { transform: none; }
.agp-buybar .agp-btn { min-height: 46px; padding: 10px 18px; white-space: nowrap; }
.agp-buybar__price { font-size: .9rem; color: var(--agp-ink-soft); }
.agp-buybar__price b { color: var(--agp-ink); font-size: 1.05rem; }
.agp-lp.has-buybar .agp-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }

/* Dialog */
.agp-dialog { border: 0; padding: 0; background: transparent; max-width: min(96vw, 760px); width: 100%; max-height: 96vh; }
.agp-dialog::backdrop { background: rgba(30, 20, 40, .78); }
.agp-dialog__inner { position: relative; background: var(--agp-paper); border-radius: var(--agp-radius); padding: 14px; display: grid; gap: 10px; max-height: 96vh; }
.agp-lp .agp-dialog__inner img { height: min(calc(96vh - 110px), 980px); width: auto; max-width: 100%; aspect-ratio: 1275 / 1650; object-fit: contain; margin-inline: auto; border: 1px solid var(--agp-line); border-radius: 4px; background: var(--agp-paper); }
.agp-dialog__close {
  position: absolute; top: 8px; right: 8px; z-index: 1; width: 44px; height: 44px; border-radius: 50%;
  border: 0; background: var(--agp-ink); color: #FFFFFF; font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.agp-dialog__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.agp-dialog__cap { flex: 1; text-align: center; font-size: .95rem; color: var(--agp-ink); min-width: 0; }
.agp-dialog__nav {
  font: inherit; font-weight: 700; color: var(--agp-purple); background: var(--agp-lilac);
  border: 0; border-radius: 999px; min-height: 44px; padding: 8px 14px; cursor: pointer; flex: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .agp-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agp-glance { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
  .agp-hero__grid, .agp-split, .agp-signup, .agp-final__grid { grid-template-columns: minmax(0, 1fr); }
  .agp-hero__cover { order: -1; width: min(72%, 340px); }
  .agp-split--reverse .agp-split__media { order: 0; }
  .agp-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agp-final__media { max-width: 420px; }
}
@media (max-width: 560px) {
  .agp-lp { font-size: 1rem; }
  .agp-header__inner { justify-content: center; }
  .agp-header__brand img { height: 56px; }
  .agp-nav { justify-content: center; }
  .agp-nav a { padding: 8px 10px; font-size: .95rem; }
  .agp-benefits { grid-template-columns: minmax(0, 1fr); }
  .agp-glance__list { grid-template-columns: minmax(0, 1fr); }
  .agp-cta .agp-btn, .agp-cta .agp-soon { width: 100%; justify-content: center; }
  .agp-cta > span { width: 100%; }
  .agp-gallery { gap: 14px; }
  .agp-gallery__cap { font-size: .88rem; }
}
@media (min-width: 821px) { .agp-buybar { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .agp-lp *, .agp-lp *::before, .agp-lp *::after { transition: none !important; animation: none !important; }
}
.agp-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.agp-h1__sub { display: block; margin-top: .35em; font-size: .62em; line-height: 1.2; color: var(--agp-ink); font-weight: 500; }
.agp-skip { position: absolute; left: 12px; top: -60px; z-index: 30; background: var(--agp-ink); color: #FFFFFF; padding: 10px 16px; border-radius: 8px; font-weight: 700; }
.agp-lp a.agp-skip:focus { top: 12px; color: #FFFFFF; }
#main:focus { outline: none; }
@media (max-width: 560px) { .agp-header__brand img { height: 60px; } }

/* ===== Color & graphics layer (v2) ===== */
.agp-center { text-align: center; justify-items: center; margin-inline: auto; }
.agp-h2 { text-wrap: balance; }
.agp-chip--teal { background: var(--agp-teal); }
.agp-chip--pink { background: var(--agp-pink); }
.agp-chip--purple { background: var(--agp-purple); }
.agp-chip--orange { background: var(--agp-red-deep); }
.agp-lede { font-size: 1.25rem; font-weight: 700; color: var(--agp-ink); }

.agp-section--sun   { background: linear-gradient(180deg, #FFF8D6 0%, #FFFBF4 100%); }
.agp-section--lilac { background: var(--agp-lilac); }
.agp-section--mint  { background: #E6F6F8; }
.agp-section--blush { background: #FFEAF2; }
.agp-section--purple { background: linear-gradient(135deg, #540CB4 0%, #7A1FA8 55%, #B0186E 100%); color: #FFFFFF; }
.agp-section--purple .agp-h2 { color: #FFFFFF; }
.agp-section--purple .agp-small { color: #F3E8FF; }
.agp-section--purple .agp-signup__form { color: var(--agp-ink); }

/* Promo graphics */
.agp-promo { margin: 0; min-width: 0; }
.agp-lp .agp-promo img { width: 100%; border-radius: 18px; box-shadow: 0 2px 6px rgba(42,30,54,.10), 0 18px 40px rgba(42,30,54,.14); }
.agp-banner { padding-block: clamp(28px, 4vw, 48px); }
.agp-banner--lift { margin-top: clamp(-80px, -6vw, -48px); position: relative; padding-top: 0; }
.agp-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); align-items: center; }
.agp-section .agp-duo { margin-top: clamp(28px, 4vw, 44px); }
.agp-promo--inline { margin-top: 8px; }

/* Color tiles */
.agp-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.agp-tile { border-radius: 20px; padding: 22px 20px; display: grid; gap: 6px; align-content: start; color: #FFFFFF; min-width: 0; box-shadow: 0 10px 24px rgba(42,30,54,.12); }
.agp-tile .agp-h3 { color: #FFFFFF; font-size: 1.3rem; }
.agp-tile p { color: rgba(255,255,255,.95); font-size: 1rem; }
.agp-tile__icon { width: 58px; height: 58px; border-radius: 50%; background: #FFFFFF; display: grid; place-items: center; font-family: var(--agp-school); font-weight: 700; font-size: 1.45rem; margin-bottom: 6px; }
.agp-tile--pink { background: #D81B60; } .agp-tile--pink .agp-tile__icon { color: #D81B60; }
.agp-tile--teal { background: var(--agp-teal); } .agp-tile--teal .agp-tile__icon { color: var(--agp-teal); }
.agp-tile--orange { background: var(--agp-red-deep); } .agp-tile--orange .agp-tile__icon { color: var(--agp-red-deep); }
.agp-tile--purple { background: var(--agp-purple); } .agp-tile--purple .agp-tile__icon { color: var(--agp-purple); }

/* Colored steps */
.agp-steps li::before { color: #FFFFFF; border: 0; }
.agp-steps li.agp-step--pink::before { background: #D81B60; }
.agp-steps li.agp-step--teal::before { background: var(--agp-teal); }
.agp-steps li.agp-step--orange::before { background: var(--agp-red-deep); }
.agp-steps .agp-h3 { font-size: 1.35rem; color: var(--agp-purple); }

.agp-gallery__cap { grid-auto-flow: column; justify-content: space-between; align-items: baseline; }
.agp-final { background: linear-gradient(180deg, #FFFFFF 0%, #FFF8D6 100%); }
.agp-final__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
@media (max-width: 820px) { .agp-final__grid { grid-template-columns: minmax(0, 1fr); } }

@media (max-width: 960px) { .agp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) {
  .agp-duo { grid-template-columns: minmax(0, 1fr); }
  .agp-final__media { max-width: none; }
}
@media (max-width: 560px) {
  .agp-tile { padding: 18px 16px; }
  .agp-tile .agp-h3 { font-size: 1.12rem; }
  .agp-tile__icon { width: 48px; height: 48px; font-size: 1.2rem; }
  .agp-lp .agp-promo img { border-radius: 12px; }
}

/* ===== v3: feature image, phone crops, gift strip ===== */
.agp-lp picture { display: block; }
.agp-promo--feature { max-width: 880px; margin: clamp(28px, 4vw, 44px) auto 0; }
.agp-center-text { text-align: center; }
.agp-section--gifts { background: #FFFFFF; }
.agp-gifts { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.agp-gift { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 8px; border-radius: 999px; font-weight: 700; font-size: 1.02rem; color: var(--agp-ink); background: #F7F2FC; }
.agp-gift__icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: #FFFFFF; flex: none; }
.agp-gift--pink .agp-gift__icon { background: #D81B60; }
.agp-gift--orange .agp-gift__icon { background: var(--agp-red-deep); }
.agp-gift--teal .agp-gift__icon { background: var(--agp-teal); }
.agp-gift--purple .agp-gift__icon { background: var(--agp-purple); }
@media (max-width: 560px) {
  .agp-gifts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .agp-gift { font-size: .92rem; padding-right: 10px; border-radius: 16px; }
  .agp-gift__icon { width: 38px; height: 38px; }
  .agp-gift__icon svg { width: 22px; height: 22px; }
}

.agp-final__media.agp-promo--square { max-width: 460px; justify-self: center; }
.agp-final__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 820px) { .agp-final__grid { grid-template-columns: minmax(0, 1fr); } }

/* v6: big parent-and-child photo */
.agp-practice { display: grid; gap: clamp(24px, 4vw, 40px); }
.agp-promo--hero-photo { width: 100%; }
.agp-practice__copy { display: grid; gap: 16px; text-align: center; justify-items: center; }
.agp-practice__copy .agp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; text-align: left; }
.agp-practice__copy .agp-note { margin-top: 4px; }
@media (max-width: 720px) { .agp-practice__copy .agp-steps { grid-template-columns: minmax(0, 1fr); } }

/* v8: clickable section list */
.agp-contents__hint { margin-top: 6px; }
.agp-lp .agp-contents__list { list-style: none; padding: 0; margin: 12px 0 0; columns: 3 240px; column-gap: 20px; }
.agp-lp .agp-contents__list li { break-inside: avoid; padding: 3px 0; margin: 0; }
.agp-lp .agp-contents__list li:first-child { margin-left: 0; }
.agp-sec {
  width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px;
  min-height: 44px; padding: 8px 14px; border-radius: 12px; border: 1.5px solid var(--agp-line);
  background: var(--agp-paper); font: inherit; color: var(--agp-ink); cursor: pointer; text-align: left;
}
.agp-sec:hover { border-color: var(--agp-purple); background: var(--agp-lilac); }
.agp-sec__name { font-weight: 700; }
.agp-sec__peek { font-family: var(--agp-school); font-size: .85rem; color: var(--agp-pink); white-space: nowrap; }

/* ===== v9: rounded headings, sticky header + buy, phone hero ===== */
.agp-h1, .agp-h2, .agp-h3 { font-variation-settings: normal; letter-spacing: 0; }
.agp-h1 { font-weight: 700; }
.agp-h2 { font-weight: 600; }
.agp-h3 { font-weight: 600; }
.agp-h1__sub { font-family: var(--agp-body); font-weight: 700; color: var(--agp-teal); font-size: .5em; }
.agp-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 25; box-shadow: 0 2px 10px rgba(42,30,54,.06); }
.agp-header__inner { flex-wrap: nowrap; }
.agp-nav { margin-left: auto; }
.agp-header__buy .agp-btn { min-height: 44px; padding: 8px 18px; font-size: .95rem; white-space: nowrap; }
.agp-header__buy .agp-soon { min-height: 44px; padding: 6px 14px; font-size: .9rem; }
.agp-lp section[id], .agp-lp #top { scroll-margin-top: 96px; }
.agp-section--gifts { padding-block: clamp(28px, 4vw, 44px); }
@media (max-width: 820px) {
  .agp-header__buy { display: none; }
}
@media (max-width: 560px) {
  .agp-header__inner { justify-content: space-between; gap: 8px; padding-block: 6px; }
  .agp-header__brand img { height: 46px; }
  .agp-nav { gap: 0; flex-wrap: nowrap; }
  .agp-nav a { padding: 6px 7px; font-size: .86rem; min-height: 44px; }
  .agp-lp section[id] { scroll-margin-top: 64px; }
  .agp-hero { padding-top: 18px; }
  .agp-hero__grid { gap: 14px; }
  .agp-hero__cover { width: min(48%, 200px); }
  .agp-hero__copy { gap: 12px; text-align: center; justify-items: center; }
  .agp-hero__copy > .agp-hero__book { order: 1; }
  .agp-hero__copy > .agp-h1 { order: 2; }
  .agp-hero__copy > .agp-cta { order: 3; width: 100%; }
  .agp-hero__copy > .agp-price { order: 4; }
  .agp-hero__copy > .agp-chips { order: 5; justify-content: center; }
  .agp-hero__copy > .agp-lede { order: 6; font-size: 1.05rem; }
  .agp-h1 { font-size: 2rem; }
  .agp-cta { gap: 8px; }
}

/* v10: More from AGP */
.agp-section--more { background: linear-gradient(180deg, #F6EEFF 0%, #FFFBF4 100%); }
.agp-books { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 28px); }
.agp-book { display: grid; grid-template-rows: auto 1fr; background: var(--agp-paper); border-radius: 20px; overflow: hidden; box-shadow: 0 10px 26px rgba(42,30,54,.10); min-width: 0; }
.agp-book__cover { aspect-ratio: 16 / 7; display: grid; place-items: center; color: #FFFFFF; }
.agp-book__cover img { width: 100%; height: 100%; object-fit: contain; }
.agp-book__cover svg { width: 56px; height: 56px; }
.agp-book--pink .agp-book__cover { background: #D81B60; }
.agp-book--teal .agp-book__cover { background: var(--agp-teal); }
.agp-book--purple .agp-book__cover { background: var(--agp-purple); }
.agp-book__body { display: grid; gap: 8px; align-content: start; padding: 18px 20px 22px; }
.agp-book__body p { color: var(--agp-ink-soft); font-size: .98rem; }
.agp-book__body .agp-h3 { font-size: 1.2rem; color: var(--agp-ink); }
.agp-lp a.agp-btn--book { justify-self: start; margin-top: 6px; min-height: 44px; padding: 8px 18px; font-size: .95rem; background: var(--agp-paper); color: var(--agp-purple); border-color: var(--agp-purple); }
.agp-lp a.agp-btn--book:hover { background: var(--agp-lilac); color: var(--agp-purple); }
@media (max-width: 820px) { .agp-books { grid-template-columns: minmax(0, 1fr); } .agp-book { grid-template-rows: none; grid-template-columns: 110px minmax(0, 1fr); } .agp-book__cover { aspect-ratio: auto; } }
@media (max-width: 400px) { .agp-book { grid-template-columns: 84px minmax(0, 1fr); } .agp-book__body { padding: 14px 14px 16px; } }
.agp-book--orange .agp-book__cover { background: var(--agp-red-deep); }
@media (max-width: 1060px) and (min-width: 821px) { .agp-books { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* v10b: 5 cards, version links */
.agp-lp .agp-books { display: flex; flex-wrap: wrap; justify-content: center; }
.agp-lp .agp-book { flex: 0 1 calc((100% - 2 * clamp(16px, 2.5vw, 28px)) / 3); }
.agp-booklinks__label { font-size: .85rem; font-weight: 700; color: var(--agp-ink); margin-top: 4px; }
.agp-booklinks { display: flex; flex-wrap: wrap; gap: 6px; }
.agp-lp a.agp-booklink { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid var(--agp-purple); color: var(--agp-purple); font-weight: 700; font-size: .88rem; text-decoration: none; background: var(--agp-paper); }
.agp-lp a.agp-booklink:hover { background: var(--agp-lilac); }
@media (max-width: 1060px) { .agp-lp .agp-book { flex-basis: calc((100% - clamp(16px, 2.5vw, 28px)) / 2); } }
@media (max-width: 820px) { .agp-lp .agp-book { flex-basis: 100%; } }

/* v11: two picks + catalog link */
.agp-lp .agp-book { flex: 0 1 380px; }
.agp-book__tag { font-family: var(--agp-school); font-weight: 700; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; color: var(--agp-pink); }
.agp-allbooks { text-align: center; margin-top: clamp(24px, 3vw, 36px); }
.agp-lp .agp-allbooks a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 10px 22px; border-radius: 999px; background: var(--agp-purple); color: #FFFFFF; font-weight: 700; text-decoration: none; }
.agp-lp .agp-allbooks a:hover { background: #440A93; color: #FFFFFF; }
@media (max-width: 820px) { .agp-lp .agp-book { flex-basis: 100%; } }
.agp-book__body p.agp-book__tag { color: var(--agp-pink); font-size: .82rem; }

/* v12: real covers on book cards */
.agp-lp .agp-book { flex: 0 1 320px; }
.agp-book--photo .agp-book__cover { display: block; aspect-ratio: auto; padding: 22px 22px 0; background: linear-gradient(180deg, #EDE3FA 0%, #FFFFFF 100%); }
.agp-book--photo .agp-book__cover img { width: min(100%, 220px); height: auto; margin: 0 auto; border-radius: 4px 8px 8px 4px; box-shadow: -4px 0 0 -1px rgba(42,30,54,.15), 0 12px 24px rgba(42,30,54,.20); transition: transform .2s ease; }
.agp-book--photo .agp-book__cover:hover img { transform: translateY(-3px); }
@media (max-width: 1060px) { .agp-lp .agp-book { flex-basis: calc((100% - clamp(16px, 2.5vw, 28px)) / 2); } }
@media (max-width: 820px) {
  .agp-lp .agp-book { flex-basis: 100%; }
  .agp-book--photo { grid-template-columns: 120px minmax(0, 1fr); }
  .agp-book--photo .agp-book__cover { padding: 16px 0 16px 16px; background: transparent; }
}
@media (max-width: 400px) { .agp-book--photo { grid-template-columns: 96px minmax(0, 1fr); } }
.agp-lp p.agp-allbooks { margin-top: clamp(28px, 4vw, 44px); }

/* v14: videos */
.agp-video__frame video { background: #F3EEFB; }
.agp-practice__video { margin: 8px 0 0; width: min(100%, 860px); display: grid; gap: 10px; }
.agp-practice__video video { width: 100%; height: auto; border-radius: 18px; box-shadow: 0 10px 26px rgba(42,30,54,.14); background: #F3EEFB; display: block; }
.agp-practice__video figcaption { font-size: .92rem; color: var(--agp-ink-soft); text-align: center; }

.agp-lp a.agp-email { font-weight: 700; word-break: break-word; display: inline-block; min-height: 24px; }
