/* Wordplay GPA Elementor v2.1 — intentionally scoped to this shortcode only. */.wpgpa-root {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  overflow-x: clip;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
}.wpgpa-root, .wpgpa-root *, .wpgpa-root *::before, .wpgpa-root *::after { box-sizing: border-box; }.wpgpa-root h1, .wpgpa-root h2, .wpgpa-root h3, .wpgpa-root p, .wpgpa-root blockquote, .wpgpa-root button, .wpgpa-root a { font-family: inherit; }.wpgpa-root img { max-width: 100%; }.wpgpa-root .hero { isolation: isolate; }.wpgpa-root #program, .wpgpa-root #phases, .wpgpa-root #support, .wpgpa-root #pricing, .wpgpa-root #faq, .wpgpa-root #register { scroll-margin-top: 120px; }/* These standalone-preview elements are never emitted by the plugin. */.wpgpa-root {
  --navy: #103a78;
  --navy-deep: #082654;
  --purple: #5726a8;
  --blue: #238ac8;
  --green: #86cf16;
  --green-deep: #479b16;
  --yellow: #ffc845;
  --coral: #ff5662;
  --ink: #12213b;
  --muted: #657287;
  --cream: #fffaf1;
  --ice: #f2f8fd;
  --line: #d9e5ef;
  --white: #fff;
  --shadow: 0 24px 70px rgba(13, 48, 95, .12);
  --shadow-small: 0 12px 34px rgba(13, 48, 95, .10);
  --radius: 30px;
  --max: 1220px;
}.wpgpa-root * { box-sizing: border-box; }.wpgpa-root { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--white); line-height: 1.6; }.wpgpa-root.no-motion *, .wpgpa-root.no-motion *::before, .wpgpa-root.no-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }.wpgpa-root a { color: inherit; }.wpgpa-root button, .wpgpa-root input, .wpgpa-root textarea { font: inherit; }.wpgpa-root img { max-width: 100%; display: block; }.wpgpa-root .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }.wpgpa-root .section-shell { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }.wpgpa-root .section { padding: 104px 0; }.wpgpa-root .soft { background: linear-gradient(180deg, #f8fbff, #eff7fd); }.wpgpa-root .section-intro { max-width: 780px; }.wpgpa-root .section-intro h2, .wpgpa-root .section-intro h2, .wpgpa-root .pricing-heading h2 { margin: 8px 0 18px; font-size: clamp(2.15rem, 4.3vw, 4.25rem); line-height: 1.04; letter-spacing: -.045em; color: var(--navy); }.wpgpa-root .section-intro p { font-size: 1.15rem; color: var(--muted); }.wpgpa-root .kicker, .wpgpa-root .eyebrow { margin: 0; text-transform: uppercase; letter-spacing: .16em; font-weight: 900; font-size: .82rem; color: var(--purple); }.wpgpa-root .inverse .kicker, .wpgpa-root .support .kicker, .wpgpa-root .cta .kicker { color: var(--yellow); }.wpgpa-root .inverse h2, .wpgpa-root .support h2, .wpgpa-root .cta h2 { color: white; }.wpgpa-root .hero { min-height: calc(100vh - 104px); display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr); gap: clamp(48px, 7vw, 98px); align-items: center; padding-top: 34px; padding-bottom: 64px; position: relative; }.wpgpa-root .hero::before { content: ""; position: absolute; inset: 0 50% 0 calc(50% - 50vw); z-index: -2; background: radial-gradient(circle at 12% 22%, rgba(134,207,22,.16), transparent 35%), linear-gradient(135deg, #fbfff5, #fff); }.wpgpa-root .hero::after { content: ""; position: absolute; z-index: -1; width: 350px; height: 350px; right: calc(50% - 50vw); top: 76px; border-radius: 50%; background: rgba(255,86,98,.10); transform: translateX(45%); }.wpgpa-root .hero-copy { align-self: center; position: relative; top: -18px; }.wpgpa-root .hero-logo { width: 170px; height: auto; max-height: 92px; object-fit: contain; object-position: left center; margin-bottom: 18px; }.wpgpa-root .hero h1 { margin: 10px 0 18px; max-width: 780px; font-size: clamp(3rem, 5.9vw, 5.9rem); line-height: .94; letter-spacing: -.065em; color: var(--navy); }.wpgpa-root .tagline { display: inline-block; margin: 0 0 18px; padding: 10px 19px; background: var(--navy); color: white; border-radius: 999px; font-weight: 800; font-style: italic; }.wpgpa-root .lead { max-width: 720px; color: var(--muted); font-size: 1.2rem; }.wpgpa-root .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; align-items: center; }.wpgpa-root .button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 13px 22px; border-radius: 16px; text-decoration: none; font-weight: 850; border: 2px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }.wpgpa-root .button:hover { transform: translateY(-3px); box-shadow: var(--shadow-small); }.wpgpa-root .button.primary { color: white; background: var(--coral); }.wpgpa-root .button.secondary { color: var(--navy); border-color: var(--navy); background: white; }.wpgpa-root .button.text-button { min-height: auto; padding: 4px 7px; color: var(--purple); }.wpgpa-root .button.yellow { color: var(--navy-deep); background: var(--yellow); }.wpgpa-root .button.outline { color: white; border-color: rgba(255,255,255,.75); background: transparent; }.wpgpa-root .hero-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }.wpgpa-root .hero-trust span { padding: 8px 13px; background: #eef7e6; color: var(--green-deep); border-radius: 999px; font-size: .87rem; font-weight: 800; }.wpgpa-root .hero-visual { margin: 0; position: relative; }.wpgpa-root .image-wrap { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 42px; border: 12px solid white; box-shadow: var(--shadow); transform-style: preserve-3d; }.wpgpa-root .image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .28s ease; }.wpgpa-root .hero-visual:hover img { transform: scale(1.035); }.wpgpa-root .image-gradient { position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent, rgba(5,28,66,.68)); }.wpgpa-root .photo-badge { position: absolute; left: 24px; right: 24px; bottom: 24px; padding: 15px 18px; color: white; border-radius: 17px; background: rgba(16,58,120,.90); backdrop-filter: blur(10px); display: grid; gap: 2px; text-align: center; }.wpgpa-root .photo-badge b { color: white; font-size: 1.04rem; line-height: 1.2; letter-spacing: -.01em; }.wpgpa-root .photo-badge span { color: rgba(255,255,255,.88); font-size: .92rem; }.wpgpa-root .outcomes { background: var(--navy); color: white; }.wpgpa-root .outcome-grid { display: grid; grid-template-columns: repeat(4, 1fr); }.wpgpa-root .outcome-grid article { min-height: 170px; padding: 36px 28px; display: flex; gap: 18px; align-items: flex-start; border-right: 1px solid rgba(255,255,255,.18); }.wpgpa-root .outcome-grid article:last-child { border-right: 0; }.wpgpa-root .outcome-icon { color: var(--yellow); font-size: 2.4rem; line-height: 1; }.wpgpa-root .outcome-grid strong { font-size: 1.15rem; }.wpgpa-root .outcome-grid p { margin: 4px 0 0; color: rgba(255,255,255,.7); }.wpgpa-root .split-intro { display: grid; grid-template-columns: 1.3fr .7fr; gap: 70px; align-items: center; }.wpgpa-root .quote-card { position: relative; padding: 40px; min-height: 330px; border-radius: var(--radius); color: white; background: linear-gradient(145deg, var(--purple), var(--navy)); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: center; }.wpgpa-root .quote-mark { position: absolute; top: 12px; left: 24px; font-size: 7rem; line-height: 1; color: rgba(255,255,255,.16); }.wpgpa-root .quote-card blockquote { margin: 0; font-size: clamp(2rem, 3.4vw, 3.1rem); line-height: 1.08; font-weight: 900; letter-spacing: -.04em; }.wpgpa-root .quote-card p { margin: 24px 0 0; color: var(--yellow); font-weight: 800; }.wpgpa-root .program-grid { margin-top: 64px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }.wpgpa-root .program-card { padding: 30px; min-height: 255px; border: 1px solid var(--line); border-radius: 26px; background: white; box-shadow: var(--shadow-small); }.wpgpa-root .program-card span { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--navy); color: white; font-weight: 900; }.wpgpa-root .program-card:nth-child(2) span { background: var(--blue); }.wpgpa-root .program-card:nth-child(3) span { background: var(--yellow); color: var(--navy); }.wpgpa-root .program-card:nth-child(4) span { background: var(--coral); }.wpgpa-root .program-card h3 { color: var(--navy); font-size: 1.4rem; margin: 24px 0 8px; }.wpgpa-root .program-card p { color: var(--muted); }.wpgpa-root .phases { background: white; }.wpgpa-root .phase-selector { margin-top: 52px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }.wpgpa-root .phase-selector button { border: 1px solid var(--line); border-radius: 18px; min-height: 118px; background: #f8fbff; color: var(--navy); padding: 14px 10px; cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }.wpgpa-root .phase-selector button b { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 auto 10px; border-radius: 50%; color: white; background: var(--blue); }.wpgpa-root .phase-selector button span { display: block; font-weight: 800; line-height: 1.2; }.wpgpa-root .phase-selector button small { display: block; margin-top: 8px; font-size: .78rem; color: var(--muted); font-weight: 700; }.wpgpa-root .phase-selector button[aria-selected="true"] { background: var(--navy); color: white; transform: translateY(-6px); box-shadow: var(--shadow-small); }.wpgpa-root .phase-selector button[aria-selected="true"] b { background: var(--yellow); color: var(--navy); }.wpgpa-root .phase-selector button[aria-selected="true"] small { color: rgba(255,255,255,.8); }.wpgpa-root .phase-detail { margin-top: 24px; position: relative; overflow: hidden; min-height: 220px; padding: 38px; border-radius: var(--radius); background: linear-gradient(135deg, #eef8ff, #f5fbea); display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; border: 1px solid var(--line); }.wpgpa-root .phase-meta { margin-top: 16px; }.wpgpa-root .phase-meta span { display: inline-block; padding: 8px 14px; border-radius: 999px; background: rgba(16,58,120,.1); color: var(--navy); font-weight: 800; font-size: .92rem; }.wpgpa-root .phase-number { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 30px; background: var(--green); color: white; font-size: 3rem; font-weight: 900; }.wpgpa-root .phase-label { margin: 0; color: var(--purple); font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }.wpgpa-root .phase-detail h3 { margin: 4px 0 10px; color: var(--navy); font-size: 2.1rem; }.wpgpa-root .phase-detail p:last-of-type { margin: 0; max-width: 820px; color: var(--muted); font-size: 1.12rem; }.wpgpa-root .phase-progress { position: absolute; inset: auto 0 0; height: 6px; background: rgba(16,58,120,.08); }.wpgpa-root .phase-progress span { display: block; height: 100%; width: 16.666%; background: linear-gradient(90deg, var(--green), var(--blue)); transition: width .35s ease; }.wpgpa-root .support { color: white; background: linear-gradient(145deg, var(--navy-deep), #164c92 70%, var(--purple)); }.wpgpa-root .support-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }.wpgpa-root .support .section-intro { position: sticky; top: 120px; }.wpgpa-root .support .section-intro p { color: rgba(255,255,255,.72); }.wpgpa-root .support-list { display: grid; gap: 16px; }.wpgpa-root .support-item { display: grid; grid-template-columns: auto 1fr; gap: 22px; padding: 26px; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }.wpgpa-root .support-item span { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; background: var(--yellow); color: var(--navy); font-weight: 900; }.wpgpa-root .support-item h3 { margin: 0 0 5px; font-size: 1.25rem; }.wpgpa-root .support-item p { margin: 0; color: rgba(255,255,255,.72); }.wpgpa-root .pricing { background: var(--cream); }.wpgpa-root .pricing-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; }.wpgpa-root .price-highlight { flex: 0 0 210px; padding: 24px; border-radius: 28px; background: var(--yellow); color: var(--navy); transform: rotate(2deg); box-shadow: var(--shadow-small); }.wpgpa-root .price-highlight span, .wpgpa-root .price-highlight small { display: block; font-weight: 850; }.wpgpa-root .price-highlight strong { display: block; font-size: 3.2rem; line-height: 1; }.wpgpa-root .pricing-explorer { margin-top: 48px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; padding: 24px; border-radius: 32px; background: white; box-shadow: var(--shadow); }.wpgpa-root .pricing-controls { padding: 10px; display: grid; gap: 28px; }.wpgpa-root .pricing-controls fieldset { border: 0; padding: 0; margin: 0; }.wpgpa-root .pricing-controls legend { margin-bottom: 12px; color: var(--navy); font-weight: 900; }.wpgpa-root .segmented { display: inline-flex; flex-wrap: wrap; gap: 8px; padding: 5px; border-radius: 15px; background: #eef3f8; }.wpgpa-root .segmented button, .wpgpa-root .hour-options button { border: 0; border-radius: 11px; padding: 11px 17px; background: transparent; color: var(--navy); font-weight: 800; cursor: pointer; }.wpgpa-root .segmented button.is-active { color: white; background: var(--navy); }.wpgpa-root .hour-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.wpgpa-root .hour-options button { min-height: 84px; border: 1px solid var(--line); background: #fbfdff; }.wpgpa-root .hour-options button b, .wpgpa-root .hour-options button span { display: block; }.wpgpa-root .hour-options button b { font-size: 1.4rem; }.wpgpa-root .hour-options button span { color: var(--muted); font-size: .85rem; }.wpgpa-root .hour-options button.is-active { border-color: var(--green); box-shadow: 0 0 0 3px rgba(134,207,22,.15); background: #f6fce9; }.wpgpa-root .field-note { margin: 8px 0 0; color: var(--muted); font-size: .9rem; }.wpgpa-root .pricing-result { padding: 34px; border-radius: 26px; background: linear-gradient(145deg, var(--navy), var(--navy-deep)); color: white; display: flex; flex-direction: column; }.wpgpa-root .result-label { margin: 0; color: var(--yellow); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; font-size: .76rem; }.wpgpa-root .pricing-result > strong { display: block; margin: 10px 0 18px; font-size: clamp(2rem, 4.2vw, 3.3rem); line-height: 1.06; letter-spacing: -.04em; }.wpgpa-root .pricing-result dl { margin: 0 0 24px; }.wpgpa-root .pricing-result dl div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.16); }.wpgpa-root .pricing-result dd { margin: 0; font-weight: 900; }.wpgpa-root .pricing-result small { display: block; margin-top: auto; padding-top: 18px; color: rgba(255,255,255,.58); }.wpgpa-root .pricing-tables { margin-top: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }.wpgpa-root .pricing-card { display: grid; grid-template-columns: .58fr 1fr; overflow: hidden; border-radius: 28px; background: white; box-shadow: var(--shadow-small); border: 1px solid #f0e2bd; }.wpgpa-root .pricing-card > div { padding: 28px; background: var(--purple); color: white; }.wpgpa-root .pricing-card:nth-child(2) > div { background: var(--blue); }.wpgpa-root .pricing-card p { margin: 0; color: var(--yellow); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }.wpgpa-root .pricing-card h3 { margin: 2px 0 8px; font-size: 2.3rem; }.wpgpa-root .pricing-card span { color: rgba(255,255,255,.7); font-size: .9rem; }.wpgpa-root .pricing-card ul { margin: 0; padding: 24px 30px; list-style: none; display: grid; gap: 10px; align-content: center; }.wpgpa-root .pricing-card li { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }.wpgpa-root .pricing-card li strong { color: var(--green-deep); }.wpgpa-root .commitment-note { margin-top: 28px; display: grid; grid-template-columns: auto 1fr; gap: 20px; padding: 26px; border-radius: 24px; background: #fff3d4; border: 1px solid #f0ca68; }.wpgpa-root .commitment-note > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--yellow); color: var(--navy); font-size: 1.8rem; font-weight: 900; }.wpgpa-root .commitment-note h3 { margin: 0; color: var(--navy); }.wpgpa-root .commitment-note p { margin: 4px 0 0; color: #735d24; }.wpgpa-root .fit-section { color: white; background: linear-gradient(145deg, var(--navy-deep), var(--navy)); }.wpgpa-root .fit-grid { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }.wpgpa-root .fit-card { padding: 34px; border-radius: 28px; color: var(--ink); background: white; }.wpgpa-root .fit-card h3 { margin-top: 0; color: var(--navy); font-size: 1.6rem; }.wpgpa-root .fit-card li { margin: 14px 0; }.wpgpa-root .checks { list-style: none; padding-left: 0; }.wpgpa-root .checks li { position: relative; padding-left: 34px; }.wpgpa-root .checks li::before { content: "✓"; position: absolute; left: 0; color: var(--green-deep); font-weight: 900; }.wpgpa-root .fit-card p { color: var(--muted); }.wpgpa-root .faq { background: #f8fbff; }.wpgpa-root .faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }.wpgpa-root .faq .section-intro { position: sticky; top: 120px; }.wpgpa-root .faq-list { display: grid; gap: 14px; }.wpgpa-root details { border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 8px 20px rgba(15,52,98,.04); }.wpgpa-root summary { cursor: pointer; list-style: none; padding: 23px 26px; color: var(--navy); font-weight: 900; font-size: 1.08rem; }.wpgpa-root summary::-webkit-details-marker { display: none; }.wpgpa-root summary::after { content: "+"; float: right; color: var(--purple); font-size: 1.5rem; line-height: 1; }.wpgpa-root details[open] summary::after { content: "−"; }.wpgpa-root details p { margin: 0; padding: 0 26px 24px; color: var(--muted); }.wpgpa-root .cta { padding: 72px 0; color: white; background: linear-gradient(110deg, var(--navy), #2c5d97); }.wpgpa-root .cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }.wpgpa-root .cta img { width: 240px; height: auto; max-height: 120px; object-fit: contain; object-position: left center; margin-bottom: 12px; }.wpgpa-root .cta h2 { margin: 8px 0; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.03; letter-spacing: -.04em; }.wpgpa-root .cta p { color: rgba(255,255,255,.74); }.wpgpa-root .cta-actions { display: grid; gap: 12px; }.wpgpa-root .contact-link { color: white; font-weight: 800; text-decoration: none; text-align: center; padding: 8px; }.wpgpa-root .preview-choice-row { display: flex; gap: 8px; margin: 9px 0 12px; }.wpgpa-root .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.18,.75,.2,1); }.wpgpa-root .reveal.is-visible { opacity: 1; transform: none; }@media (max-width: 1050px) {.wpgpa-root .hero { grid-template-columns: 1fr 400px; gap: 40px; }.wpgpa-root .hero h1 { font-size: clamp(3rem, 6.8vw, 5.3rem); }.wpgpa-root .outcome-grid { grid-template-columns: 1fr 1fr; }.wpgpa-root .outcome-grid article:nth-child(2) { border-right: 0; }.wpgpa-root .outcome-grid article:nth-child(-n/**/+2) { border-bottom: 1px solid rgba(255,255,255,.18); }.wpgpa-root .program-grid { grid-template-columns: 1fr 1fr; }.wpgpa-root .phase-selector { grid-template-columns: repeat(3, 1fr); }.wpgpa-root .support-layout, .wpgpa-root .faq-layout { grid-template-columns: 1fr; }.wpgpa-root .support .section-intro, .wpgpa-root .faq .section-intro { position: static; }}@media (max-width: 820px) {.wpgpa-root .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 38px; }.wpgpa-root .hero-copy { top: 0; }.wpgpa-root .hero-visual { max-width: 560px; margin: auto; }.wpgpa-root .hero-logo { width: 150px; height: auto; max-height: 82px; }.wpgpa-root .split-intro, .wpgpa-root .pricing-explorer, .wpgpa-root .pricing-heading, .wpgpa-root .cta-grid { display: grid; grid-template-columns: 1fr; }.wpgpa-root .price-highlight { width: 210px; }.wpgpa-root .pricing-tables, .wpgpa-root .fit-grid { grid-template-columns: 1fr; }.wpgpa-root .phase-selector { grid-template-columns: 1fr 1fr; }}@media (max-width: 580px) {.wpgpa-root .hero-logo { display: none; }.wpgpa-root .section-shell { width: min(100% - 30px, var(--max)); }.wpgpa-root .section { padding: 78px 0; }.wpgpa-root .hero h1 { font-size: clamp(2.65rem, 14vw, 4.35rem); }.wpgpa-root .hero-actions .button { width: 100%; }.wpgpa-root .image-wrap { border-width: 8px; border-radius: 30px; }.wpgpa-root .photo-badge { left: 14px; right: 14px; bottom: 14px; flex-direction: column; gap: 1px; align-items: flex-start; }.wpgpa-root .outcome-grid { grid-template-columns: 1fr; }.wpgpa-root .outcome-grid article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }.wpgpa-root .program-grid { grid-template-columns: 1fr; }.wpgpa-root .phase-selector { grid-template-columns: 1fr 1fr; }.wpgpa-root .phase-selector button { min-height: 98px; }.wpgpa-root .phase-detail { grid-template-columns: 1fr; }.wpgpa-root .phase-number { width: 72px; height: 72px; border-radius: 22px; font-size: 2.2rem; }.wpgpa-root .hour-options { grid-template-columns: 1fr; }.wpgpa-root .pricing-result { padding: 25px; }.wpgpa-root .pricing-card { grid-template-columns: 1fr; }.wpgpa-root .commitment-note { grid-template-columns: 1fr; }.wpgpa-root .fit-card { padding: 26px; }}@media (prefers-reduced-motion: reduce) {.wpgpa-root *, .wpgpa-root *::before, .wpgpa-root *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }.wpgpa-root .reveal { opacity: 1; transform: none; }}
/* =========================================================
   v2.2 content hierarchy + mobile refinements
   ========================================================= */
.wpgpa-root .hero-definition-label {
  margin: 2px 0 4px;
  color: var(--purple);
  font-size: .86rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.wpgpa-root .hero-definition .lead { margin-top: 0; }
.wpgpa-root .offer-bridge {
  padding-top: 34px;
  padding-bottom: 28px;
  color: white;
}
.wpgpa-root .offer-bridge .kicker {
  color: var(--yellow);
  margin-bottom: 8px;
}
.wpgpa-root .offer-bridge > p:last-child {
  max-width: 980px;
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 1.05rem;
  line-height: 1.65;
}
.wpgpa-root .offer-bridge strong { color: white; }

@media (max-width: 580px) {
  .wpgpa-root .section-shell { width: min(100% - 28px, var(--max)); }
  .wpgpa-root .section { padding: 58px 0; }

  /* Make the purpose of the page visible sooner. */
  .wpgpa-root .hero {
    padding-top: 20px;
    padding-bottom: 34px;
    gap: 28px;
  }
  .wpgpa-root .hero h1 {
    margin: 7px 0 12px;
    font-size: clamp(2.35rem, 11.7vw, 3.25rem);
    line-height: .95;
    letter-spacing: -.055em;
  }
  .wpgpa-root .eyebrow {
    font-size: .68rem;
    letter-spacing: .12em;
    line-height: 1.35;
  }
  .wpgpa-root .tagline {
    margin-bottom: 14px;
    padding: 8px 13px;
    font-size: .82rem;
    line-height: 1.35;
  }
  .wpgpa-root .hero-definition-label {
    font-size: .7rem;
    letter-spacing: .1em;
  }
  .wpgpa-root .lead {
    font-size: .98rem;
    line-height: 1.58;
  }
  .wpgpa-root .hero-actions {
    margin-top: 20px;
    gap: 8px;
  }
  .wpgpa-root .hero-actions .button {
    min-height: 47px;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: .86rem;
  }
  .wpgpa-root .hero-trust {
    margin-top: 18px;
    gap: 7px;
  }
  .wpgpa-root .hero-trust span {
    padding: 6px 9px;
    font-size: .73rem;
  }

  /* Use the Hanoi photo as a landscape story beat instead of a tall block. */
  .wpgpa-root .hero-visual { width: 100%; }
  .wpgpa-root .image-wrap {
    aspect-ratio: 16 / 11;
    border-width: 7px;
    border-radius: 22px;
  }
  .wpgpa-root .photo-badge {
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 9px 10px;
    border-radius: 12px;
  }
  .wpgpa-root .photo-badge b { font-size: .78rem; }
  .wpgpa-root .photo-badge span { font-size: .68rem; }

  /* Wordplay-specific paragraph sits with the four outcomes. */
  .wpgpa-root .offer-bridge {
    padding-top: 26px;
    padding-bottom: 20px;
  }
  .wpgpa-root .offer-bridge > p:last-child {
    font-size: .9rem;
    line-height: 1.55;
  }

  /* Two by two avoids a very long four-card strip on phones. */
  .wpgpa-root .outcome-grid { grid-template-columns: 1fr 1fr; }
  .wpgpa-root .outcome-grid article {
    min-height: 150px;
    padding: 20px 14px;
    gap: 10px;
    border-right: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
    flex-direction: column;
  }
  .wpgpa-root .outcome-grid article:nth-child(2n) { border-right: 0; }
  .wpgpa-root .outcome-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .wpgpa-root .outcome-icon { font-size: 1.6rem; }
  .wpgpa-root .outcome-grid strong { font-size: .9rem; line-height: 1.2; }
  .wpgpa-root .outcome-grid p { font-size: .76rem; line-height: 1.45; }

  /* The detailed GPA section remains, but no longer dominates the phone page. */
  .wpgpa-root .section-intro h2,
  .wpgpa-root .pricing-heading h2 {
    margin: 6px 0 12px;
    font-size: clamp(1.9rem, 9.2vw, 2.65rem);
    line-height: 1.02;
  }
  .wpgpa-root .section-intro p { font-size: .98rem; line-height: 1.58; }
  .wpgpa-root .split-intro { gap: 30px; }
  .wpgpa-root .quote-card {
    min-height: 235px;
    padding: 26px;
  }
  .wpgpa-root .quote-mark { font-size: 5.2rem; }
  .wpgpa-root .quote-card blockquote {
    font-size: 1.8rem;
    line-height: 1.07;
  }

  /* Four ideas read well as a compact 2x2 set. */
  .wpgpa-root .program-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 34px;
  }
  .wpgpa-root .program-card {
    min-height: 190px;
    padding: 18px;
    border-radius: 20px;
  }
  .wpgpa-root .program-card span {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: .82rem;
  }
  .wpgpa-root .program-card h3 {
    margin: 16px 0 6px;
    font-size: 1.02rem;
    line-height: 1.18;
  }
  .wpgpa-root .program-card p {
    margin: 0;
    font-size: .78rem;
    line-height: 1.45;
  }

  .wpgpa-root .phase-selector { margin-top: 34px; gap: 7px; }
  .wpgpa-root .phase-selector button {
    min-height: 94px;
    padding: 10px 7px;
    border-radius: 14px;
  }
  .wpgpa-root .phase-selector button b {
    width: 36px;
    height: 36px;
    margin-bottom: 7px;
  }
  .wpgpa-root .phase-selector button span { font-size: .8rem; }
  .wpgpa-root .phase-selector button small { margin-top: 5px; font-size: .66rem; }

  .wpgpa-root .support-item { padding: 18px; gap: 12px; }
  .wpgpa-root .support-item h3 { font-size: .98rem; line-height: 1.2; }
  .wpgpa-root .support-item p { font-size: .8rem; line-height: 1.45; }

  /* Keep all three schedule choices visible at once. */
  .wpgpa-root .hour-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }
  .wpgpa-root .hour-options button {
    min-width: 0;
    padding: 12px 5px;
  }
  .wpgpa-root .hour-options button b { font-size: 1rem; }
  .wpgpa-root .hour-options button span { font-size: .62rem; line-height: 1.3; }
  .wpgpa-root .pricing-result { padding: 22px; }
  .wpgpa-root #hourly-rate-display { font-size: clamp(2rem, 10vw, 2.75rem); }
  .wpgpa-root .commitment-note { padding: 20px; }
  .wpgpa-root .commitment-note h3 { font-size: 1.15rem; }
  .wpgpa-root .commitment-note p { font-size: .84rem; line-height: 1.5; }

  .wpgpa-root .fit-card { padding: 22px; }
  .wpgpa-root .fit-card h3 { font-size: 1.15rem; }
  .wpgpa-root .fit-card li,
  .wpgpa-root .fit-card p { font-size: .88rem; line-height: 1.5; }

  .wpgpa-root details summary { padding: 18px 18px; font-size: .92rem; }
  .wpgpa-root details p { padding: 0 18px 18px; font-size: .87rem; }
  .wpgpa-root .cta { padding: 54px 0; }
}

@media (max-width: 360px) {
  .wpgpa-root .program-grid { grid-template-columns: 1fr; }
  .wpgpa-root .outcome-grid { grid-template-columns: 1fr; }
  .wpgpa-root .outcome-grid article { min-height: auto; border-right: 0; }
  .wpgpa-root .outcome-grid article:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .wpgpa-root .hour-options { grid-template-columns: 1fr; }
}

/* v2.3 — optional program video section, shown only when a video URL is supplied. */
.wpgpa-root .program-video {
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}
.wpgpa-root .video-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(34px, 5vw, 72px);
}
.wpgpa-root .video-copy {
  max-width: 520px;
}
.wpgpa-root .video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 28px;
  background: #0b376f;
  box-shadow: 0 24px 60px rgba(14, 55, 111, .14);
  border: 8px solid #fff;
}
.wpgpa-root .video-frame iframe,
.wpgpa-root .video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

@media (max-width: 760px) {
  .wpgpa-root .video-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .wpgpa-root .video-copy {
    max-width: none;
  }
  .wpgpa-root .video-frame {
    border-width: 5px;
    border-radius: 20px;
  }
}
