/* ==========================================================================
   University page (/for-universities). Layers on home.css + platform.css (prefix pu-).
   Each block is sized to the window height on desktop; phones stack.
   Type sizes come from the shared --t-* scale in platform.css.
   ========================================================================== */
.pu-page { background: #fefcf6; }
.pu-page h1, .pu-page h2, .pu-page h3 { letter-spacing: -.035em; }
.pu-page main > section { padding-block: clamp(0.75rem, 2.4vh, 1.75rem); }
.pu-eyebrow { margin: 0 0 0.5rem; text-align: center; font-size: clamp(0.8125rem, 1.9vh, 1rem); font-weight: 900; letter-spacing: 0.28em; text-transform: uppercase; color: var(--hm-orange); }
.pu-eyebrow--lime { color: #c8f562; }
.pu-eyebrow--dark { color: var(--hm-ink); }
.pu-h { margin: 0; text-align: center; font-size: var(--t-h); line-height: 1.04; font-weight: 900; text-wrap: balance; }
.pu-h span { color: inherit; }
.pu-h--left { text-align: left; }
.pu-h--light { color: #fff; }
.pu-h--light span { color: #c8f562; }
.pu-lead { margin: 0.75rem 0 0; font-size: var(--t-lead); line-height: 1.4; color: #2a2f37; }
.pu-ck { flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #c8f562; color: #14171c; }
.pu-ck svg { width: 13px; height: 13px; }
.pu-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(0.25rem, 1vh, 0.5rem); font-size: var(--t-body); line-height: 1.3; }
.pu-checks li { display: flex; align-items: center; gap: 0.625rem; }
.pu-tag { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 999px; background: var(--hm-orange); color: #fff; font-size: 0.75rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.pu-ghost { border: 2px solid #fff; background: transparent; color: #fff; }
.pu-ghost:hover { background: #fff; color: #0c1c34; }
.pu-lime { background: #c8f562; color: #14171c; }
.pu-lime:hover { background: #c8f562; }

/* ---------- 01 Hero ---------- */
.pu-hero { padding-bottom: 0 !important; overflow: hidden; color: #fff; }
.pu-hero__stage { position: relative; container-type: inline-size; margin-inline: auto; width: min(calc(100vw - 2rem), calc((100vh - 150px) * 1.68), 1500px); }
.pu-hero__art { display: block; width: 100%; height: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.pu-hero__over { position: absolute; left: 12%; right: 12%; top: 0; padding-top: 1.6cqw; text-align: center; }
.pu-hero__eyebrow { margin: 0; font-size: 0.95cqw; font-weight: 900; letter-spacing: 0.32em; text-transform: uppercase; color: #c8f562; }
.pu-hero__over h1 { margin: 0.7cqw 0 0; font-size: var(--t-h); font-weight: 900; line-height: 1.02; color: #fff; }
.pu-hero__over h1 span { display: block; white-space: nowrap; }
.pu-hero__over h1 b { color: var(--hm-orange); }
.pu-hero__inner { max-width: 66cqw; margin-inline: auto; }
.pu-hero__lead { text-wrap: balance; margin: 0.9cqw 0 0; font-size: var(--t-lead); line-height: 1.38; color: #e8ecf3; }
.pu-hero__btns { display: flex; justify-content: center; gap: 1cqw; margin-top: 1.1cqw; }
.pu-hero__btns .hm-btn { padding: 0.8rem 1.9rem; font-size: 0.8125rem; }
.pu-hero__label { margin: 1cqw 0 0; font-size: max(0.6875rem, 0.85cqw); font-weight: 700; letter-spacing: 0.08em; color: #cdd5e2; }
.pu-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5cqw; margin: 0.5cqw 0 0; padding: 0; list-style: none; }
.pu-chips li { padding: 0.35cqw 1.1cqw; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.08); font-size: max(0.6875rem, 0.85cqw); font-weight: 700; letter-spacing: 0.04em; }

/* ---------- 02 Proof ---------- */
.pu-proof { background: #fefcf6; }
.pu-proof .pl-live { margin-top: clamp(0.5rem, 1.8vh, 1.125rem); }
.pu-trio { position: relative; display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-top: clamp(0.5rem, 1.8vh, 1.125rem); }
.pu-quote { position: relative; margin: 0; padding: clamp(0.75rem, 2vh, 1.25rem) 1.25rem; border: 1.5px solid #e6e1d2; border-radius: 18px; background: #fffefa; text-align: center; display: flex; flex-direction: column; justify-content: center; }
.pu-quote__mark { display: block; font-size: 3rem; line-height: 0.7; font-weight: 900; color: #d9d4c6; }
.pu-quote p { margin: 0.375rem 0 0; font-size: var(--t-body); font-weight: 800; line-height: 1.32; color: #0f1c3d; }
.pu-quote footer { margin-top: 0.75rem; }
.pu-quote footer b { display: block; font-size: var(--t-body); }
.pu-quote footer small { display: block; font-size: var(--t-small); color: #4a4f57; }
.pu-quote--main p { font-size: clamp(0.9375rem, 2vh, 1.125rem); font-weight: 700; line-height: 1.38; }
.pu-trio__teal, .pu-trio__orange { display: none; height: auto; }
@media (min-width: 900px) {
  .pu-trio { grid-template-columns: 0.8fr 1.45fr 0.8fr; padding-inline: clamp(40px, 4vw, 70px); align-items: stretch; }
  .pu-trio__teal { display: block; position: absolute; left: -0.5rem; bottom: -0.5rem; width: clamp(70px, 12vh, 130px); z-index: 2; }
  .pu-trio__orange { display: block; position: absolute; right: -0.5rem; bottom: -0.5rem; width: clamp(70px, 11.5vh, 125px); z-index: 2; }
}

/* ---------- 03 Problem ---------- */
.pu-prob { background: #fdf9f1; }
.pu-prob__grid { display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-top: clamp(0.625rem, 2vh, 1.25rem); }
.pu-pc { overflow: hidden; border-radius: 20px; }
.pu-pc--green { background: #e9f5d8; } .pu-pc--cream { background: #fdf6e8; } .pu-pc--peach { background: #fde4d4; }
.pu-pc__art { display: block; width: 100%; height: auto; }
.pu-pc h3 { margin: 0.5rem 1.125rem 0.25rem; font-size: var(--t-card); line-height: 1.1; font-weight: 900; }
.pu-pc p { margin: 0 1.125rem 1rem; font-size: var(--t-body); line-height: 1.38; color: #2a2f37; }
@media (min-width: 900px) {
  .pu-prob__grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .pu-pc__art { height: clamp(150px, 29vh, 300px); object-fit: cover; object-position: 50% 40%; }
}

/* ---------- 04 Solution ---------- */
.pu-sol { background: #fffaf2; }
.pu-sol__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: center; }
.pu-sol__copy .pu-eyebrow { text-align: left; }
.pu-steps { list-style: none; margin: clamp(0.5rem, 1.8vh, 1.125rem) 0 clamp(0.625rem, 2vh, 1.25rem); padding: 0; display: flex; flex-direction: column; gap: clamp(0.6rem, 2vh, 1.125rem); }
.pu-steps li { display: flex; gap: 1rem; align-items: flex-start; }
.pu-steps__n { flex: 0 0 auto; display: grid; place-items: center; width: clamp(40px, 6vh, 54px); height: clamp(40px, 6vh, 54px); border-radius: 50%; background: #fde7da; color: var(--hm-orange); font-size: 1.5rem; font-weight: 900; }
.pu-steps h3 { margin: 0; font-size: var(--t-q); font-weight: 900; line-height: 1.1; }
.pu-steps p { margin: 0.25rem 0 0; font-size: var(--t-body); line-height: 1.32; color: #2a2f37; }
.pu-sol__art { display: block; width: 100%; max-width: 560px; height: auto; margin-inline: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(180deg, transparent, #000 5%, #000 95%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent), linear-gradient(180deg, transparent, #000 5%, #000 95%, transparent); mask-composite: intersect; }
@media (min-width: 900px) {
  .pu-sol__grid { grid-template-columns: 1fr 0.95fr; gap: 2rem; }
  .pu-sol__art { max-height: calc(100vh - 170px); width: auto; max-width: 100%; margin: 0 0 0 auto; }
}

/* ---------- 05 Features ---------- */
.pu-feat { background: #fdfaf3; }
.pu-feat__cards { display: grid; grid-template-columns: 1fr; gap: 0.875rem; margin-top: clamp(0.5rem, 1.8vh, 1.125rem); }
.pu-fc { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: clamp(0.75rem, 2vh, 1.25rem) clamp(1rem, 2vw, 1.75rem) 0; border-radius: 22px; }
.pu-fc--green { background: #e3f8ae; }
.pu-fc--white { background: #fffefa; border: 1.5px solid #d6d1c2; }
.pu-fc__tag { margin: 0; font-size: clamp(0.75rem, 1.6vh, 0.875rem); font-weight: 900; letter-spacing: 0.18em; text-transform: uppercase; color: #0f1c3d; }
.pu-fc h3 { margin: 0.25rem 0 clamp(0.4rem, 1.2vh, 0.75rem); font-size: var(--t-card); line-height: 1.04; font-weight: 900; color: #0f1c3d; }
.pu-fc__art { display: block; width: calc(100% + clamp(2rem, 4vw, 3.5rem)); max-width: none; margin: clamp(0.5rem, 1.4vh, 0.875rem) calc(-1 * clamp(1rem, 2vw, 1.75rem)) 0; height: auto; }
.pu-mini { list-style: none; display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin: clamp(0.5rem, 1.8vh, 1.125rem) 0 0; padding: 0; }
.pu-mini li { display: flex; align-items: center; gap: 0.875rem; }
.pu-mini__ic { flex: 0 0 auto; width: clamp(44px, 7vh, 64px); height: auto; border-radius: 50%; }
.pu-mini h3 { margin: 0; font-size: var(--t-q); font-weight: 900; line-height: 1.1; }
.pu-mini p { margin: 0.125rem 0 0; font-size: var(--t-small); line-height: 1.3; color: #2a2f37; }
@media (min-width: 900px) {
  .pu-feat__cards { grid-template-columns: 1.05fr 1fr; gap: 1rem; }
  .pu-fc__art { height: clamp(120px, 22vh, 230px); width: calc(100% + clamp(2rem, 4vw, 3.5rem)); object-fit: cover; object-position: 50% 100%; }
  .pu-mini { grid-template-columns: repeat(4, 1fr); gap: 1rem; }
  .pu-mini li + li { padding-left: 1rem; border-left: 1.5px solid #e1ddcf; }
}

/* ---------- 06 Program stories ---------- */
.pu-case { background: #c8f562; }
.pu-case__grid { position: relative; display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-top: clamp(0.5rem, 1.8vh, 1.125rem); }
.pu-cs { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; overflow: hidden; border-radius: 22px; background: #fdf8ee; padding: clamp(0.5rem, 1.4vh, 0.875rem); }
.pu-cs__photo { position: relative; overflow: hidden; border-radius: 14px; }
.pu-cs__img { display: block; width: 100%; height: 100%; min-height: 160px; object-fit: cover; object-position: 50% 30%; }
.pu-cs__cap { position: absolute; left: 3%; bottom: 5%; padding: 0.3rem 0.8rem; border-radius: 10px; background: #14171c; color: #fff; font-size: 0.8125rem; font-weight: 700; }
.pu-cs__copy { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(0.3rem, 1vh, 0.625rem); padding: clamp(0.5rem, 1.6vh, 1rem) 0.5rem 0.25rem clamp(0.5rem, 5vw, 5.5rem); }
.pu-cs__copy h3 { margin: 0; font-size: var(--t-card); line-height: 1.04; font-weight: 900; color: #0f1c3d; }
.pu-cs__copy p { margin: 0; font-size: var(--t-body); line-height: 1.35; color: #2a2f37; }
.pu-cs__quotes { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 0.625rem; }
.pu-cq { position: relative; margin: 0; flex: 1; display: grid; grid-template-columns: auto 1fr; gap: 0.25rem 0.875rem; align-content: center; padding: clamp(0.5rem, 1.4vh, 0.875rem) 1.25rem; border-radius: 18px; background: #fdf8ee; }
.pu-av { width: clamp(40px, 7vh, 56px); height: clamp(40px, 7vh, 56px); border-radius: 50%; background: #c9ccd2; }
.pu-cq footer b { display: block; font-size: var(--t-body); }
.pu-cq footer small { display: block; font-size: var(--t-small); color: #4a4f57; }
.pu-cq p { grid-column: 1 / -1; margin: 0.25rem 0 0; font-size: var(--t-small); line-height: 1.34; color: #0f1c3d; }
.pu-case__teal, .pu-case__pink { display: none; height: auto; }
@media (min-width: 900px) {
  .pu-case__grid { grid-template-columns: 1.55fr 1fr; gap: 1rem; margin-left: clamp(0px, 4vw, 70px); }
  .pu-cs { grid-template-rows: auto 1fr; }
  .pu-cs__photo { height: clamp(150px, 27vh, 280px); }
  .pu-cs__img { min-height: 0; }
  .pu-case__teal { display: block; position: absolute; z-index: 2; left: calc(-1 * clamp(0px, 4vw, 70px) - 1.5rem); bottom: -1.25rem; width: clamp(110px, 19vh, 190px); pointer-events: none; }
  .pu-case__pink { display: block; position: absolute; z-index: 0; right: -0.5rem; top: calc(-1 * clamp(70px, 12vh, 125px)); width: clamp(150px, 26vh, 260px); pointer-events: none; }
  .pu-case .pu-h { text-align: center; white-space: nowrap; font-size: min(var(--t-h), 3.6vw); }
}

/* ---------- 07 Why Athios ---------- */
.pu-why { background: #071939; color: #fff; }
.pu-why__stage { position: relative; margin-top: clamp(1.5rem, 5vh, 3rem); }
.pu-why__duo { display: none; height: auto; }
.pu-why .pl-table-wrap { overflow-x: auto; }
.pu-why .pl-table { border: 0; border-radius: 18px; background: #fbf7ee; color: #14171c; font-size: var(--t-small); }
.pu-why .pl-table thead th { padding-top: clamp(0.5rem, 1.6vh, 0.9rem); background: #fbf7ee; font-size: var(--t-body); }
.pu-why .pl-table tbody th { background: #0b1f48; color: #fff; border-bottom-color: rgba(255,255,255,.12); white-space: nowrap; }
.pu-why .pl-table thead th:first-child { background: #0b1f48; color: #fff; }
.pu-why .pl-table .is-athios { background: #c8f562; color: #14171c; }
.pu-why .pl-table thead .is-athios { position: relative; padding-top: 2.15rem; font-size: var(--t-card); }
.pu-why .pl-table__badge { top: 0.4rem; padding: 0.3rem 0.8rem; font-size: 0.625rem; }
.pu-why .pl-table td, .pu-why .pl-table th { padding-block: clamp(0.3rem, 1.1vh, 0.65rem); }
@media (min-width: 900px) {
  .pu-why .pl-table-wrap { overflow: visible; }
  .pu-why__duo { display: block; position: absolute; right: 2%; bottom: calc(100% - 4px); width: clamp(190px, 33vh, 360px); z-index: 2; pointer-events: none; }
  .pu-why .pu-h { text-align: left; }
  .pu-why .pu-eyebrow { text-align: left; }
  .pu-why .pl-table-wrap { width: 92%; margin-inline: auto; }
}

/* ---------- 08 FAQ ---------- */
.pu-faq { background: #c8f562; }
.pu-faq__head { display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: center; padding: clamp(0.75rem, 2vh, 1.25rem) clamp(1rem, 2.5vw, 1.75rem); border: 2px solid #0f1c3d; border-radius: 22px; background: #fdf8ee; }
.pu-faq__head .pu-eyebrow { text-align: left; margin-bottom: 0.25rem; }
.pu-faq__sub { margin: 0.5rem 0 0; font-size: var(--t-lead); line-height: 1.38; color: #14171c; }
.pu-faq__body { position: relative; display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-top: clamp(0.5rem, 1.6vh, 1rem); }
.pu-faq__list { border: 2px solid #0f1c3d; border-radius: 22px; background: #fdf8ee; padding: clamp(0.25rem, 1vh, 0.625rem) clamp(1rem, 2vw, 1.5rem); }
.pu-q { display: flex; gap: 1rem; align-items: flex-start; padding: clamp(0.5rem, 1.7vh, 1rem) 0; border-top: 2px solid #0f1c3d; }
.pu-q:first-child { border-top: 0; }
.pu-q__n { flex: 0 0 auto; display: grid; place-items: center; width: clamp(34px, 5vh, 44px); height: clamp(34px, 5vh, 44px); border-radius: 50%; background: var(--hm-orange); color: #fff; font-weight: 900; font-size: 1.125rem; }
.pu-q h3 { margin: 0 0 0.25rem; font-size: var(--t-q); line-height: 1.15; font-weight: 900; color: #0f1c3d; }
.pu-q p { margin: 0; font-size: var(--t-small); line-height: 1.38; color: #14171c; }
.pu-faq__mon { display: none; }
@media (min-width: 900px) {
  .pu-faq__head { grid-template-columns: 1fr auto; }
  .pu-faq__body { grid-template-columns: 1fr clamp(190px, 26vw, 360px); gap: 1rem; align-items: stretch; }
  .pu-faq__list { display: flex; flex-direction: column; justify-content: space-around; }
  .pu-faq__mon { position: relative; display: block; }
  .pu-faq__pink { position: absolute; right: 8%; top: 0; height: 52%; width: auto; }
  .pu-faq__teal { position: absolute; right: 0; bottom: 0; height: 46%; width: auto; }
}

/* ---------- 09 Final CTA + guide ---------- */
.pu-final { background: #fefcf6; padding-bottom: 0 !important; }
.pu-final__band { position: relative; display: grid; grid-template-columns: 1fr; align-items: center; overflow: hidden; padding: clamp(1rem, 3vh, 2rem) 1.25rem; border-radius: 26px; background: #0a1b3a; color: #fff; text-align: center; }
.pu-final__teal, .pu-final__orange { display: none; height: auto; }
.pu-final__copy h2 { margin: 0; font-size: var(--t-h); line-height: 1.02; font-weight: 900; color: #fff; text-wrap: balance; }
.pu-final__copy h2 span { display: block; }
.pu-final__copy p { margin: clamp(0.5rem, 1.4vh, 0.875rem) auto 0; max-width: 560px; font-size: var(--t-lead); line-height: 1.4; color: #e3e8ef; }
.pu-final__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: clamp(0.625rem, 2vh, 1.25rem); }
@media (min-width: 900px) {
  .pu-final__band { grid-template-columns: 1fr; padding-inline: clamp(180px, 22vw, 340px); }
  .pu-final__teal { display: block; position: absolute; left: 0; bottom: 0; height: 104%; width: auto; max-width: 22%; object-fit: contain; object-position: left bottom; }
  .pu-final__orange { display: block; position: absolute; right: 0; bottom: 0; height: 80%; width: auto; max-width: 22%; object-fit: contain; object-position: right bottom; }
}
.pu-gb { background: #fefcf6; padding-top: clamp(0.5rem, 2vh, 1.25rem); }
@media (min-width: 900px) { .pu-gb .pl-gb__grid { grid-template-columns: 1fr 0.95fr; gap: 3rem; } .pu-gb .pl-gb__copy { padding-left: clamp(0px, 3vw, 3rem); } }

/* ---------- fixes after first review ---------- */
.pu-sol .pu-h { font-size: min(var(--t-h), 3.15vw); }
.pu-sol .pu-nb { display: block; white-space: nowrap; }
@media (min-width: 900px) { .pu-sol__grid { grid-template-columns: 1.15fr 0.85fr; } }
.pu-fc__art { -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
@media (min-width: 900px) {
  .pu-fc__art { width: auto; max-width: 100%; height: clamp(140px, 27vh, 300px); margin-inline: auto; object-fit: contain; align-self: center; }
  .pu-mini__ic { width: clamp(40px, 6vh, 54px); }
  .pu-mini li + li { padding-left: 0.75rem; }
  .pu-mini h3 { font-size: clamp(1rem, 2.2vh, 1.1875rem); }
  .pu-mini p { font-size: clamp(0.875rem, 1.9vh, 1rem); }
  .pu-case .pu-h { font-size: min(var(--t-h), 2.8vw); }
  .pu-case__grid { margin-top: clamp(5rem, 14vh, 8rem); }
  .pu-case__pink { width: clamp(120px, 19vh, 200px); top: calc(-0.8 * clamp(120px, 19vh, 200px) * 0.74); right: 1rem; }
  .pu-cs__cap { left: auto; right: 3%; }
  .pu-why .pu-h { max-width: 52%; }
  .pu-why__duo { bottom: 100%; }
  .pu-final__band { padding-inline: clamp(160px, 17vw, 260px); }
  .pu-final__copy h2 { font-size: min(var(--t-h), 3.4vw); }
}
.pu-why .pl-table .is-athios { border-left: 0; border-right: 0; }
.pu-why .pl-table tbody tr:last-child .is-athios { border-bottom: 0; }
.pu-fc__art { -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent), linear-gradient(180deg, transparent, #000 10%, #000 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent), linear-gradient(180deg, transparent, #000 10%, #000 100%); mask-composite: intersect; }
.pu-why .pl-table .is-athios, .pu-why .pl-table tbody tr:last-child .is-athios { box-shadow: none; }
@media (max-width: 899px) { .pu-hero__over { position: static; padding: 0.75rem 1rem 0; } .pu-hero__stage { container-type: normal; width: 100%; display: block; } .pu-hero__inner { max-width: none; } .pu-hero__over h1 span { white-space: normal; } .pu-hero__eyebrow, .pu-hero__label, .pu-chips li { font-size: 0.75rem; } .pu-chips { gap: 0.4rem; } .pu-hero__btns { flex-wrap: wrap; } .pu-hero__lead { font-size: 1rem; } .pu-hero__over h1 { font-size: 2rem; } .pu-hero__label { margin-top: 0.75rem; } .pu-chips { margin-bottom: 0.75rem; } .pu-case .pu-h { white-space: normal; } .pu-final__band { padding-inline: 1rem; } .pu-final__teal, .pu-final__orange { display: block; width: 40%; margin-inline: auto; } .pu-why .pu-h { max-width: none; } .pu-why .pu-eyebrow { text-align: left; } }

/* ---------- long quote: short pull quote with a read-more toggle ---------- */
.pu-more { margin: 0.375rem 0 0; }
.pu-more summary { list-style: none; cursor: pointer; }
.pu-more summary::-webkit-details-marker { display: none; }
.pu-more__short, .pu-more__full { display: block; margin: 0; font-size: var(--t-body); font-weight: 800; line-height: 1.34; color: #0f1c3d; }
.pu-quote--main .pu-more__full { font-size: clamp(0.9375rem, 2vh, 1.125rem); font-weight: 700; line-height: 1.38; }
.pu-more__btn { display: inline-block; margin-top: 0.625rem; padding: 0.375rem 0.875rem; border: 1.5px solid #0f1c3d; border-radius: 999px; font-size: 0.8125rem; font-weight: 900; letter-spacing: 0.04em; color: #0f1c3d; }
.pu-more summary:hover .pu-more__btn { background: #0f1c3d; color: #fff; }
.pu-more summary:focus-visible { outline: 3px solid var(--hm-orange); outline-offset: 4px; border-radius: 12px; }
.pu-more__btn--close { display: none; }
.pu-more[open] .pu-more__short, .pu-more[open] .pu-more__btn--open { display: none; }
.pu-more[open] .pu-more__btn--close { display: inline-block; margin-top: 0.625rem; order: 2; }
.pu-more[open] summary { display: flex; flex-direction: column; align-items: center; }
.pu-more[open] .pu-more__full { order: 1; }
.pu-more[open] { display: flex; flex-direction: column; align-items: center; }
.pu-more[open] summary { order: 2; }
.pu-more[open] .pu-more__full { order: 1; }

/* hero: keep the sub copy, buttons and chips in the open space between the two monsters */
@media (min-width: 900px) {
  .pu-hero__stage { padding-top: 3.2cqw; }
  .pu-hero__over { left: 8%; right: 8%; padding-top: 1.4cqw; }
  .pu-hero__inner { max-width: 44cqw; }
  .pu-hero__lead { font-size: min(var(--t-lead), 1.65cqw); margin-top: 0.8cqw; }
  .pu-hero__btns { margin-top: 1cqw; }
  .pu-hero__label { margin-top: 0.9cqw; }
}

/* headings match the shared scale: solution and final CTA use the full header size */
.pu-sol .pu-h { font-size: var(--t-h); text-wrap: balance; }
.pu-sol .pu-nb { display: inline; white-space: normal; }
@media (min-width: 900px) { .pu-final__copy h2 { font-size: var(--t-h); } }

/* ==========================================================================
   New monster crew (experiment). Monsters are separate transparent PNGs, so
   they get a white sticker outline on dark backgrounds.
   ========================================================================== */
.pu-mon { display: block; height: auto; }


/* hero: live dashboard + monsters */
.pu-hero__scene { position: relative; width: 100%; aspect-ratio: 1537 / 915; }
.pu-dash { position: absolute; left: 17%; right: 17%; bottom: 3.5%; height: 49%; display: grid; grid-template-columns: 19% 1fr; overflow: hidden; border-radius: 2.2cqw; background: #fbf7ee; color: #14171c; box-shadow: 0 1.5cqw 3cqw rgba(0,0,0,.35); font-size: 0.92cqw; }
.pu-dash__side { padding: 1.4cqw 1cqw; background: #f3eee1; }
.pu-dash__side img { display: block; height: 1.7cqw; width: auto; margin-bottom: 1.3cqw; }
.pu-dash__side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5cqw; font-weight: 700; color: #3a3f47; }
.pu-dash__side li { padding: 0.45cqw 0.7cqw; border-radius: 0.6cqw; white-space: nowrap; }
.pu-dash__side li.is-on { background: #c8f562; color: #14171c; }
.pu-dash__side li.gap { margin-top: 0.8cqw; }
.pu-dash__main { padding: 1.2cqw 1.6cqw; }
.pu-dash__title { margin: 0 0 0.9cqw; font-size: 1.5cqw; font-weight: 900; letter-spacing: -.02em; }
.pu-dash__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9cqw; }
.pu-dash__grid section { padding: 0.8cqw 1cqw; border-radius: 1cqw; background: #fff; box-shadow: 0 0 0 1px #ebe6d8; }
.pu-dash__grid h4 { margin: 0 0 0.6cqw; font-size: 1cqw; font-weight: 900; letter-spacing: 0; }
.pu-dash__row { display: flex; align-items: center; gap: 0.6cqw; margin-top: 0.5cqw; }
.pu-dash__av, .pu-dash__ck { flex: 0 0 auto; width: 1.4cqw; height: 1.4cqw; border-radius: 50%; background: #f0b27a; }
.pu-dash__ck { background: #d4d8de; }
.pu-dash__name { flex: 0 0 22%; height: 0.55cqw; border-radius: 1cqw; background: #d9dce1; }
.pu-dash__bar { flex: 1; height: 0.7cqw; border-radius: 1cqw; background: #eaede8; }
.pu-dash__bar u { display: block; height: 100%; border-radius: inherit; background: #8fd13a; }
.pu-dash__chip { position: absolute; right: 2.2cqw; bottom: 2.2cqw; width: 14cqw; padding: 0.8cqw 1cqw; border-radius: 1cqw; background: #fff; box-shadow: 0 0.6cqw 1.6cqw rgba(0,0,0,.18); font-size: 0.95cqw; line-height: 1.25; }
.pu-dash__chip i { display: block; height: 0.6cqw; margin-top: 0.6cqw; border-radius: 1cqw; background: #eaede8; }
.pu-dash__chip u { display: block; width: 62%; height: 100%; border-radius: inherit; background: #8fd13a; }
.pu-hero__coach { position: absolute; left: 1%; bottom: 3%; width: 19%; z-index: 2; }
.pu-hero__champ { position: absolute; right: 1%; bottom: 3%; width: 15.5%; z-index: 2; }
.pu-hero__over { z-index: 3; }

/* proof */
.pu-trio__teal { width: clamp(70px, 12.5vh, 130px) !important; }
.pu-trio__orange { width: clamp(70px, 12.5vh, 130px) !important; }

/* problem cards */
.pu-pc__stage { display: grid; place-items: end center; height: clamp(150px, 29vh, 300px); overflow: hidden; }
.pu-pc__mon { height: 92%; width: auto; max-width: 90%; object-fit: contain; }

/* solution: live path board */
.pu-sol__stage { position: relative; padding-bottom: 2rem; }
.pu-path { position: relative; max-width: 560px; margin: 0 auto; padding: clamp(0.75rem, 2vh, 1.25rem) clamp(0.75rem, 1.6vw, 1.25rem); border: 3px solid #0f1c3d; border-radius: 22px; background: #fbf7ee; box-shadow: 0 10px 26px rgba(15,28,61,.14); }
.pu-path__brand { display: flex; align-items: center; gap: 0.5rem; margin: 0; }
.pu-path__brand img { height: 22px; width: auto; }
.pu-path__brand small { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #5f6670; }
.pu-path__title { margin: 0.5rem 0 0.75rem; font-size: var(--t-card); line-height: 1; font-weight: 900; letter-spacing: -.03em; color: #0f1c3d; }
.pu-path__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.625rem; }
.pu-path__steps li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.25rem; padding: 0.875rem 0.375rem 0.625rem; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #e9e4d6; color: #0f1c3d; text-align: center; }
.pu-path__steps li + li::before { content: ""; position: absolute; left: -0.55rem; top: 0.9rem; width: 0.5rem; height: 2px; background: #8fd13a; }
.pu-path__steps li:nth-child(4)::before { display: none; }
.pu-path__steps b { position: absolute; left: 50%; top: -0.6rem; transform: translateX(-50%); display: grid; place-items: center; width: 1.375rem; height: 1.375rem; border-radius: 50%; background: #0f1c3d; color: #fff; font-size: 0.75rem; }
.pu-path__steps svg { width: 1.75rem; height: 1.75rem; }
.pu-path__steps span { font-size: clamp(0.8125rem, 1.7vh, 0.9375rem); font-weight: 800; line-height: 1.1; }
.pu-sol__coach { position: absolute; left: -2%; bottom: 0; width: clamp(110px, 17vh, 180px); z-index: 2; }
.pu-sol__runner { position: absolute; right: 0; bottom: 0; width: clamp(80px, 13vh, 130px); z-index: 2; }

/* features */
.pu-fc__stage { position: relative; }
.pu-fc__stage .pu-fc__art { width: 100%; max-width: 100%; margin: 0; height: auto; }
.pu-fc__mon { position: absolute; right: 0; bottom: 0; width: clamp(90px, 15vh, 150px); z-index: 2; }

/* program stories */
.pu-case__teal { width: clamp(100px, 17vh, 170px); }
.pu-case__pink { width: clamp(150px, 24vh, 240px); }

/* why athios */
.pu-why__duo { display: none; }
@media (min-width: 900px) {
  .pu-why__duo { display: flex; align-items: flex-end; gap: 0.5rem; position: absolute; right: 2%; bottom: calc(100% - 4px); z-index: 2; }
  .pu-why__duo .pu-mon { width: clamp(100px, 16vh, 170px); }
}

/* faq */
.pu-faq__pink { position: absolute; right: 12%; top: 0; width: clamp(120px, 20vh, 200px); height: auto; }
.pu-faq__teal { position: absolute; right: 0; bottom: 0; width: clamp(110px, 18vh, 190px); height: auto; }

/* final */
.pu-final__teal { height: auto !important; width: clamp(110px, 20vh, 220px); max-width: none !important; }
.pu-final__orange { height: auto !important; width: clamp(110px, 19vh, 210px); max-width: none !important; }

/* ---------- placement fixes ---------- */
.pu-dash { left: 21%; right: 21%; height: 46%; bottom: 3%; }
.pu-hero__coach { left: 2%; width: 19.5%; }
.pu-hero__champ { right: 2%; width: 15%; }
@media (min-width: 900px) { .pu-trio { padding-inline: clamp(70px, 7vw, 110px); } }
.pu-trio__teal, .pu-trio__orange { width: clamp(56px, 8.5vh, 84px) !important; }
.pu-trio__teal { left: 0 !important; bottom: 0 !important; }
.pu-trio__orange { right: 0 !important; bottom: 0 !important; }
.pu-sol__stage { padding-bottom: clamp(3.5rem, 11vh, 6rem); }
.pu-sol__coach { left: 4%; bottom: 0; }
.pu-sol__runner { right: 6%; bottom: 0; }
.pu-fc__stage { height: clamp(140px, 27vh, 290px); overflow: hidden; }
.pu-fc__stage .pu-fc__art { height: 100%; object-fit: cover; object-position: 0 0; }

.pu-sol__stage { padding-bottom: clamp(5.5rem, 15vh, 8rem); }
@media (max-width: 899px) {
  .pu-hero__scene { aspect-ratio: auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 1rem; padding-bottom: 1rem; }
  .pu-hero__over { order: -1; flex: 0 0 100%; }
  .pu-dash { display: none; }
  .pu-hero__coach, .pu-hero__champ { position: static; width: 38%; max-width: 160px; }
  .pu-sol__stage { padding-bottom: 5rem; }
  .pu-fc__stage { height: auto; }
  .pu-fc__stage .pu-fc__art { height: auto; }
  .pu-final__teal, .pu-final__orange { width: 40%; max-width: 150px; margin-inline: auto; }
}

/* ==========================================================================
   Round 2: larger monsters, wider content area, centerpieces sized to match.
   Monster files carry their own white outline, so no CSS filter is needed.
   ========================================================================== */
.pu-page main .hm-shell { max-width: min(1340px, calc(100vw - 3rem)); }
.pu-dash { left: 15%; right: 15%; height: 47%; }
.pu-hero__coach { left: 1%; width: 24%; }
.pu-hero__champ { right: 1%; width: 19%; }
.pu-hero__inner { max-width: 72cqw; }
@media (min-width: 900px) { .pu-trio { padding-inline: clamp(110px, 10vw, 150px); } }
.pu-trio__teal, .pu-trio__orange { width: clamp(90px, 15vh, 140px) !important; }
.pu-pc__stage { height: clamp(190px, 35vh, 350px); }
.pu-pc__mon { height: 100%; max-width: 96%; }
.pu-sol__coach { width: clamp(150px, 25vh, 260px); left: 2%; }
.pu-sol__runner { width: clamp(120px, 19vh, 190px); right: 4%; }
.pu-sol__stage { padding-bottom: clamp(6.5rem, 20vh, 10rem); }
.pu-fc__mon { width: clamp(130px, 22vh, 220px); }
.pu-case__teal { width: clamp(150px, 25vh, 260px); }
.pu-case__pink { width: clamp(190px, 31vh, 330px); }
@media (min-width: 900px) { .pu-why__duo .pu-mon { width: clamp(150px, 24vh, 250px); } }
.pu-faq__pink { width: clamp(170px, 28vh, 300px); right: 16%; }
.pu-faq__teal { width: clamp(190px, 31vh, 330px); }
@media (min-width: 900px) { .pu-faq__body { grid-template-columns: 1fr clamp(240px, 34vw, 520px); } }
.pu-final__teal { width: clamp(150px, 28vh, 300px); }
.pu-final__orange { width: clamp(130px, 25vh, 260px); }
.pu-why__duo { width: max-content; }
.pu-why__duo .pu-mon { flex: 0 0 auto; }

/* ---------- round 2 fixes ---------- */
.pu-pc__stage { position: relative; display: block; }
.pu-pc__mon { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); height: 100%; width: auto; max-width: 96%; object-fit: contain; object-position: 50% 100%; }
.pu-dash { left: 17%; right: 17%; height: 47%; }
.pu-dash__side { padding-left: 5.2cqw; }
.pu-dash__main { padding-right: 4.5cqw; }
.pu-dash__chip { right: 5cqw; }
.pu-hero__coach { left: 0; width: 22%; }
.pu-hero__champ { right: 0; width: 17.5%; }
@media (min-width: 900px) {
  .pu-case__grid { margin-left: clamp(150px, 14vw, 220px); }
  .pu-case__teal { left: calc(-1 * clamp(150px, 14vw, 220px) - 0.5rem); bottom: -0.5rem; width: clamp(130px, 13vw, 210px); }
}
.pu-dash { grid-template-columns: 23% 1fr; } .pu-dash__side { padding-left: 4.4cqw; }

/* ---------- solution: tall, narrow Academy card with an athlete beside it ---------- */
.pu-sol__stage { display: flex; align-items: center; justify-content: center; gap: 0; padding-bottom: 0; position: relative; }
.pu-path { flex: 0 0 auto; width: clamp(250px, 36vh, 330px); max-width: none; margin: 0; padding: clamp(0.75rem, 2vh, 1.25rem); }
.pu-path__steps { grid-template-columns: 1fr 1fr; gap: 1.1rem 0.75rem; }
.pu-path__steps li { padding-block: 1rem 0.75rem; }
.pu-path__steps li + li::before { display: none; }
.pu-path__steps li:nth-child(odd):not(:last-child)::after { content: ""; position: absolute; right: -0.6rem; top: 1.1rem; width: 0.5rem; height: 2px; background: #8fd13a; }
.pu-sol__runner { position: relative; right: auto; bottom: auto; margin-left: clamp(-3.5rem, -5vh, -2rem); align-self: flex-end; width: clamp(190px, 33vh, 340px); z-index: 2; }
@media (max-width: 899px) { .pu-sol__stage { flex-direction: column; } .pu-sol__runner { margin: -1.5rem 0 0; width: 55%; max-width: 240px; align-self: center; } }

/* ---------- features: UI fully inside the card, athlete beside it ---------- */
@media (min-width: 900px) {
  .pu-fc__stage { height: clamp(170px, 31vh, 320px); display: flex; align-items: flex-end; justify-content: center; overflow: visible; }
  .pu-fc__stage .pu-fc__art { height: 100%; width: auto; max-width: 66%; object-fit: contain; object-position: 50% 100%; margin: 0; }
  .pu-fc__mon { right: 2%; bottom: 0; width: auto; height: 90%; max-width: 30%; }
  .pu-fc--green .pu-fc__stage .pu-fc__art { margin-right: auto; margin-left: 4%; }
}
@media (min-width: 900px) {
  .pu-fc--white .pu-fc__stage .pu-fc__art { margin-left: 3%; margin-right: auto; max-width: 58%; }
  .pu-fc--white .pu-fc__mon { height: auto; width: 36%; max-width: none; right: 1%; }
}

/* ---------- hero: wider headline, more breathing room ---------- */
.pu-hero__over { left: 3%; right: 3%; padding-top: 3.2cqw; }
.pu-hero__over h1 { margin-top: 0; }
.pu-hero__over h1 span { display: inline; white-space: nowrap; }
.pu-hero__over h1 span:first-child::after { content: " "; }
.pu-hero__inner { max-width: 74cqw; margin-top: 2.4cqw; }
.pu-hero__lead { font-size: min(var(--t-lead), 1.7cqw); }
.pu-hero__btns { margin-top: 2.2cqw; gap: 1.3cqw; }
.pu-hero__label { margin-top: 2.2cqw; }
.pu-chips { margin-top: 0.9cqw; }
@media (max-width: 899px) { .pu-hero__over h1 span { display: block; } .pu-hero__over { padding-top: 0.75rem; } }
.pu-hero__over h1 span { display: block; }
.pu-hero__over h1 span:first-child::after { content: none; }
.pu-hero__over { padding-top: 2.4cqw; }
.pu-hero__inner { max-width: 84cqw; margin-top: 1.8cqw; }
.pu-hero__lead { font-size: min(var(--t-lead), 1.6cqw); max-width: 70cqw; margin-inline: auto; }
.pu-hero__btns { margin-top: 1.8cqw; }
.pu-hero__label { margin-top: 1.8cqw; }
@media (min-width: 900px) { .pu-final__orange { width: auto !important; height: 92%; max-width: 24%; bottom: 0.5rem; right: 1rem; } .pu-hero__stage { padding-top: 0; } }
@media (min-width: 900px) { .pu-final__orange { width: clamp(150px, 20vh, 240px) !important; height: auto !important; max-width: none; bottom: 0.25rem; right: 1.5rem; } }
@media (min-width: 900px) { .pu-final__orange { width: clamp(190px, 29vh, 330px) !important; right: 1rem; bottom: 0 !important; } }

/* ==========================================================================
   Hero v3: text block in flow on the full container width; scene below with
   the dashboard and two monsters at the same height.
   ========================================================================== */
.pu-hero { padding-block: 0 !important; }
.pu-hero__stage { container-type: normal; width: 100%; margin: 0; }
.pu-hero__text { text-align: center; padding-top: clamp(1.25rem, 4.5vh, 3rem); }
.pu-hero__text h1 { margin: 0; font-size: min(var(--t-h), 3.55vw); line-height: 1.04; font-weight: 900; color: #fff; }
.pu-hero__text h1 span { display: inline; white-space: nowrap; }
.pu-hero__text h1 b { color: var(--hm-orange); }
.pu-hero__lead { max-width: 62rem; margin: clamp(0.875rem, 3vh, 1.75rem) auto 0; font-size: var(--t-lead); line-height: 1.38; color: #e8ecf3; text-wrap: balance; }
.pu-hero__btns { display: flex; justify-content: center; gap: 1rem; margin-top: clamp(1rem, 3.2vh, 1.75rem); }
.pu-hero__btns .hm-btn { padding: 0.9rem 2.2rem; font-size: 0.8125rem; }
.pu-hero__label { margin: clamp(1rem, 3.2vh, 1.75rem) 0 0; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; color: #cdd5e2; }
.pu-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin: 0.625rem 0 0; padding: 0; list-style: none; }
.pu-chips li { padding: 0.35rem 1.1rem; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.08); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; color: #fff; }
.pu-hero__scene { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 0; width: min(100% - 2rem, 1340px); height: clamp(200px, calc(100vh - 500px), 460px); margin: clamp(1.25rem, 4vh, 2.5rem) auto 0; aspect-ratio: auto; container-type: size; }
.pu-hero__scene .pu-mon { position: static; flex: 0 0 auto; height: 100%; width: auto; z-index: 2; }
.pu-hero__coach { margin-right: -2.5%; }
.pu-hero__champ { margin-left: -2.5%; }
.pu-dash { position: relative; left: auto; right: auto; bottom: auto; flex: 1 1 auto; max-width: 68%; height: 100%; font-size: clamp(7px, 0.9cqw, 11px); border-radius: 18px 18px 0 0; }
.pu-dash__side { padding: 1.2em 1em; }
.pu-dash__main { padding: 1em 1.5em; overflow: hidden; }
.pu-dash__title { font-size: 1.6em; margin-bottom: 0.7em; }
.pu-dash__grid h4 { font-size: 1.05em; }
.pu-dash__chip { right: 1.5em; bottom: 1.2em; width: 15em; font-size: 1em; }
@media (max-width: 899px) {
  .pu-hero__text h1 { font-size: 2rem; } .pu-hero__text h1 span { display: block; white-space: normal; }
  .pu-hero__scene { container-type: normal; height: auto; min-height: 0; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 1rem; margin-top: 1.25rem; padding-bottom: 1rem; }
  .pu-dash { display: none; }
  .pu-hero__scene .pu-mon { height: auto; width: 40%; max-width: 170px; }
  .pu-hero__coach, .pu-hero__champ { margin: 0; }
}
@media (min-width: 900px) { .pu-trio { padding-inline: 0; } }
@media (max-width: 899px) { .pu-hero__stage { display: block !important; } .pu-hero__scene { order: 0; } }

/* solution headline: two lines; hero dashboard narrower */
.pu-sol .pu-h .pu-ln { display: block; white-space: nowrap; }
.pu-sol .pu-h { font-size: min(var(--t-h), 3.6vw); }
@media (min-width: 900px) { .pu-dash { max-width: 54%; } }
@media (max-width: 899px) { .pu-sol .pu-h .pu-ln { white-space: normal; } }
.pu-sol .pu-h { font-size: var(--t-h); }
@media (min-width: 900px) { .pu-dash { flex: 0 1 auto; width: 46%; max-width: 46%; } }

/* ==========================================================================
   Hero on phones and tablets: the whole scene (dashboard + both monsters)
   scales down together instead of dropping the dashboard.
   ========================================================================== */
@media (max-width: 899px) {
  .pu-hero__text { padding-inline: 1rem; padding-top: 1.25rem; }
  .pu-hero__text h1 { font-size: clamp(1.75rem, 7.4vw, 2.5rem); }
  .pu-hero__text h1 span { display: inline; white-space: normal; }
  .pu-hero__text h1 span:first-child { display: block; }
  .pu-hero__lead { font-size: clamp(0.9375rem, 3.9vw, 1.125rem); margin-top: 0.75rem; max-width: 34rem; }
  .pu-hero__btns { flex-wrap: nowrap; gap: 0.5rem; margin-top: 1rem; }
  .pu-hero__btns .hm-btn { padding: 0.8rem 1rem; font-size: 0.6875rem; white-space: nowrap; }
  .pu-hero__label { margin-top: 1rem; font-size: 0.75rem; }
  .pu-chips { gap: 0.375rem; margin-top: 0.5rem; }
  .pu-chips li { padding: 0.25rem 0.7rem; font-size: 0.6875rem; }
  .pu-hero__scene { display: block; position: relative; container-type: inline-size; width: calc(100% - 1.5rem); height: auto; aspect-ratio: 1.45 / 1; margin: 1.25rem auto 0; padding: 0; }
  .pu-dash { display: grid; position: absolute; left: 6%; right: 6%; top: 8%; bottom: 0; width: auto; max-width: none; height: auto; font-size: 1.7cqw; border-radius: 12px 12px 0 0; }
  .pu-hero__scene .pu-mon { position: absolute; bottom: 0; height: auto; z-index: 2; margin: 0; }
  .pu-hero__coach { left: -2%; width: 36%; max-width: none; }
  .pu-hero__champ { right: -2%; width: 30%; max-width: none; }
}
@media (max-width: 899px) {
  .pu-hero__scene { max-width: 640px; aspect-ratio: 1.5 / 1; }
  .pu-dash { grid-template-columns: 27% 1fr; font-size: 1.5cqw; }
  .pu-dash__side { overflow: hidden; padding: 1.2em 0.8em; }
  .pu-dash__side li { overflow: hidden; text-overflow: clip; }
  .pu-dash__main { padding: 1em 1.2em; }
  .pu-dash__chip { width: 13em; right: 8%; }
  .pu-hero__coach { width: 34%; } .pu-hero__champ { width: 28%; }
}
/* problem cards: struggling poses, shown whole */
.pu-pc__stage { height: clamp(190px, 34vh, 340px); padding-top: 0.5rem; }
.pu-pc__mon { height: 100%; max-width: 94%; }

/* program stories: monsters live inside the story card, nothing floats above it */
.pu-case__grid { margin-top: clamp(0.5rem, 1.8vh, 1.125rem) !important; margin-left: 0 !important; }
.pu-cs__photo--mon { display: flex; align-items: flex-end; justify-content: center; gap: 0.5rem; padding: 0.75rem 1rem 0; background: #e8f9b4; border-radius: 14px; min-height: 0; }
.pu-cs__photo--mon .pu-mon { height: 100%; width: auto; max-width: 48%; object-fit: contain; object-position: 50% 100%; }
@media (min-width: 900px) { .pu-cs__photo--mon { height: clamp(170px, 31vh, 320px); } }
@media (max-width: 899px) { .pu-cs__photo--mon { height: 210px; } }
@media (max-width: 899px) { .pu-cs__photo--mon { height: auto; padding-top: 1rem; } .pu-cs__photo--mon .pu-mon { height: auto; width: 46%; max-width: 46%; } .pu-case .pu-h { font-size: clamp(1.75rem, 8vw, 2.5rem); } }

/* ---------- Why Athios table fits phone screens without side scrolling ---------- */
@media (max-width: 899px) {
  .pu-why .pl-table-wrap { overflow: visible; }
  .pu-why .pl-table { min-width: 0; width: 100%; table-layout: fixed; font-size: 0.8125rem; line-height: 1.25; }
  .pu-why .pl-table th:nth-child(1) { width: 25%; } .pu-why .pl-table th:nth-child(2) { width: 24%; }
  .pu-why .pl-table th:nth-child(3) { width: 27%; } .pu-why .pl-table th:nth-child(4) { width: 24%; }
  .pu-why .pl-table th, .pu-why .pl-table td { padding: 0.5rem 0.375rem; vertical-align: middle; }
  .pu-why .pl-table thead th { font-size: 0.75rem; line-height: 1.15; padding-top: 0.625rem; }
  .pu-why .pl-table thead .is-athios { font-size: 0.9375rem; padding-top: 1.75rem; }
  .pu-why .pl-table__badge { font-size: 0.4375rem; padding: 0.2rem 0.4rem; white-space: normal; text-align: center; line-height: 1.1; width: 86%; letter-spacing: 0.04em; }
  .pu-why .pl-table tbody th { white-space: normal; font-size: 0.75rem; }
  .pu-why .pl-cell { flex-direction: column; align-items: flex-start; gap: 0.25rem; white-space: normal; }
  .pu-why .pl-cell span { overflow: visible; word-break: normal; overflow-wrap: anywhere; }
  .pu-why .pl-mark { width: 16px; height: 16px; font-size: 0.5625rem; }
}
@media (max-width: 899px) {
  .pu-why .pl-cell span { overflow-wrap: break-word; word-break: normal; hyphens: none; }
  .pu-why .pl-table { font-size: 0.75rem; }
  .pu-why .pl-table thead th { font-size: 0.6875rem; padding-top: 2.1rem; overflow-wrap: break-word; vertical-align: bottom; }
  .pu-why .pl-table thead th:first-child { vertical-align: bottom; }
  .pu-why .pl-table thead .is-athios { padding-top: 2.4rem; font-size: 0.875rem; }
  .pu-why .pl-table__badge { top: 0.35rem; width: 90%; }
  .pu-why .pl-table th:nth-child(1) { width: 24%; } .pu-why .pl-table th:nth-child(2) { width: 24%; }
  .pu-why .pl-table th:nth-child(3) { width: 29%; } .pu-why .pl-table th:nth-child(4) { width: 23%; }
  .pu-why .pl-table th, .pu-why .pl-table td { padding-inline: 0.3rem; }
}
@media (max-width: 899px) {
  .pu-why .pu-h { font-size: clamp(1.75rem, 8vw, 2.5rem); }
  .pu-why .pl-table th:nth-child(1) { width: 22%; } .pu-why .pl-table th:nth-child(2) { width: 24%; }
  .pu-why .pl-table th:nth-child(3) { width: 28%; } .pu-why .pl-table th:nth-child(4) { width: 26%; }
  .pu-why .pl-table thead th { font-size: 0.625rem; letter-spacing: -0.01em; }
  .pu-why .pl-table tbody th { font-size: 0.6875rem; }
}

/* ---------- FAQ monsters: bigger, kitty-corner ---------- */
@media (min-width: 900px) {
  .pu-faq__body { grid-template-columns: 1fr clamp(300px, 38vw, 580px); gap: 0.5rem; }
  .pu-faq__mon { overflow: visible; }
  .pu-faq .pu-faq__pink { left: -2.5rem; right: auto; top: -0.25rem; width: clamp(200px, 21vw, 320px); height: auto; z-index: 2; }
  .pu-faq .pu-faq__teal { right: -0.5rem; left: auto; bottom: -0.5rem; width: clamp(220px, 23vw, 350px); height: auto; z-index: 2; }
}

/* features: both monsters the same height so the two cards are symmetrical */
@media (min-width: 900px) {
  .pu-fc .pu-fc__mon { height: 92%; width: auto; max-width: none; right: 1%; bottom: 0; }
  .pu-fc--white .pu-fc__stage .pu-fc__art { max-width: 48%; margin-left: 2%; }
}
@media (min-width: 900px) {
  .pu-fc--white .pu-fc__mon { height: 90%; right: 0; }
  .pu-fc--white .pu-fc__stage .pu-fc__art { max-width: 42%; margin-left: 1%; }
  .pu-fc--green .pu-fc__mon { height: 90%; }
}

/* FAQ monsters stay visible on phones and tablets: side by side under the questions */
@media (max-width: 899px) {
  .pu-faq__mon { display: flex; align-items: flex-end; justify-content: center; gap: 0.75rem; position: static; margin-top: 0.25rem; }
  .pu-faq .pu-faq__pink, .pu-faq .pu-faq__teal { position: static; width: 44%; max-width: 230px; height: auto; margin: 0; }
}
@media (max-width: 899px) { .pu-faq__mon { padding-bottom: 0.25rem; } .pu-faq .pu-faq__pink, .pu-faq .pu-faq__teal { width: 46%; max-width: 260px; } }
/* FAQ without monsters: questions run full width, two columns on laptops */
.pu-faq__body { display: block !important; }
.pu-faq__list { display: grid !important; grid-template-columns: 1fr; padding: clamp(0.25rem, 1vh, 0.625rem) clamp(1rem, 2vw, 1.5rem); }
@media (min-width: 900px) { .pu-faq__list { grid-template-columns: 1fr 1fr; column-gap: clamp(1.5rem, 3vw, 3rem); } .pu-faq__list .pu-q:nth-child(2) { border-top: 0; } }

/* a little white space between the hero and the Maryland headline */
.pu-proof { padding-top: clamp(1.5rem, 5vh, 3rem) !important; }

/* solution: copy sits in from the left edge, art stays right */
@media (min-width: 900px) {
  .pu-sol__copy { padding-left: clamp(2rem, 6vw, 6rem); }
  .pu-sol__grid { grid-template-columns: 1.1fr 0.9fr; }
}

/* features: breathing room between the two cards and the bottom row */
.pu-mini { margin-top: clamp(1.25rem, 3.6vh, 2.25rem) !important; }
@media (min-width: 900px) { .pu-fc__stage { height: clamp(170px, 31vh, 320px); } }
@media (min-width: 900px) { .pu-sol__copy > .pu-eyebrow, .pu-sol__copy > .pu-h { margin-left: calc(-1 * clamp(2rem, 6vw, 6rem)); } }

/* space between the small card label and its headline */
.pu-fc h3 { margin-top: clamp(0.5rem, 1.4vh, 0.875rem) !important; }

/* program story monster panel: navy, like Why Athios */
.pu-cs__photo--mon { background: #071939; }
/* hero headline is slightly longer now; keep it on one line */
@media (min-width: 900px) { .pu-hero__text h1 { font-size: min(var(--t-h), 3.3vw); } }

/* features: bigger monsters and a bigger review-queue picture */
@media (min-width: 900px) {
  .pu-fc__stage { height: clamp(195px, 36vh, 370px); }
  .pu-fc .pu-fc__mon { height: 100%; }
  .pu-fc--green .pu-fc__stage .pu-fc__art { max-width: 62%; }
  .pu-fc--white .pu-fc__stage .pu-fc__art { max-width: 56%; margin-left: 1%; }
  .pu-fc--white .pu-fc__mon { right: 0; }
}
@media (min-width: 900px) {
  .pu-fc__stage { height: clamp(195px, 34vh, 350px); }
  .pu-fc .pu-fc__mon { height: 96%; }
  .pu-fc--green .pu-fc__stage .pu-fc__art { max-width: 66%; margin-left: 0; }
  .pu-fc--white .pu-fc__stage .pu-fc__art { max-width: 64%; margin-left: 0; }
  .pu-fc--white .pu-fc__mon { right: -1%; }
  .pu-fc--green .pu-fc__mon { right: -1%; }
}
@media (min-width: 900px) { .pu-sol__copy > .pu-lead { margin-left: calc(-1 * clamp(2rem, 6vw, 6rem)); } }
.pu-sol { background: #ffffff; }
/* final block: basketball player sits in from the card edge */
@media (min-width: 900px) { .pu-final__teal { left: clamp(1.25rem, 3.4vw, 3.5rem) !important; } }
@media (min-width: 900px) { .pu-final__band { padding-inline: clamp(200px, 20vw, 300px); } .pu-final__teal { width: clamp(140px, 24vh, 255px); } }
@media (min-width: 900px) {
  .pu-final__band { padding-inline: clamp(160px, 17vw, 260px); }
  .pu-final__teal { left: clamp(1rem, 2.2vw, 2.25rem) !important; width: clamp(140px, 22vh, 235px); }
}
/* final block: both monsters the same height */
@media (min-width: 900px) {
  .pu-final__teal, .pu-final__orange { width: auto !important; height: clamp(190px, 31vh, 300px) !important; max-width: none !important; }
  .pu-final__teal { bottom: 0.25rem; }
  .pu-final__orange { bottom: 0.25rem !important; }
}
@media (min-width: 900px) { .pu-final__teal, .pu-final__orange { height: clamp(180px, 29vh, 280px) !important; } .pu-final__teal { left: clamp(1rem, 2vw, 2rem) !important; } }
/* Why Athios: both monsters the same height */
@media (min-width: 900px) { .pu-why__duo .pu-mon { width: auto; height: clamp(150px, 25vh, 245px); } .pu-why__duo { align-items: flex-end; } }
@media (min-width: 900px) { .pu-why__duo .pu-mon { height: clamp(130px, 21vh, 195px); } }
/* space between the features block and Program stories */
.pu-feat { padding-bottom: clamp(1.5rem, 4.5vh, 3rem) !important; }
.pu-case { padding-top: clamp(1.5rem, 4.5vh, 3rem) !important; }
/* Academy path card: title always on one line */
.pu-path { container-type: inline-size; }
.pu-path__title { white-space: nowrap; font-size: min(var(--t-card), 8.6cqw); }
/* Why Athios: the purple social manager has empty margin in her file, so she is drawn larger to match the marketing director's visible size */
@media (min-width: 900px) { .pu-why__duo .pu-mon[src*="mon-purple"] { height: clamp(150px, 25vh, 235px); } }
@media (min-width: 900px) { .pu-why__duo .pu-mon[src*="mon-purple"] { height: clamp(140px, 22.5vh, 212px); } }
/* Why Athios: bigger monsters (soft-edge files) */
@media (min-width: 900px) {
  .pu-why__duo { bottom: calc(100% - 4px); }
  .pu-why__duo .pu-mon { height: clamp(165px, 28vh, 265px); }
  .pu-why__duo .pu-mon[src*="mon-purple"] { height: clamp(185px, 31vh, 292px); }
}
@media (min-width: 900px) {
  .pu-why { padding-top: clamp(2rem, 8vh, 4.5rem) !important; }
  .pu-why__stage { margin-top: clamp(4rem, 15vh, 8.5rem); }
  .pu-why__duo .pu-mon { height: clamp(165px, 27vh, 255px); }
  .pu-why__duo .pu-mon[src*="mon-purple"] { height: clamp(185px, 30vh, 285px); }
}
@media (min-width: 900px) {
  .pu-why { padding-top: clamp(1rem, 3vh, 2rem) !important; }
  .pu-why__stage { margin-top: clamp(3rem, 8.5vh, 5.5rem); }
}
@media (min-width: 900px) {
  .pu-why__stage { margin-top: clamp(3.5rem, 10vh, 6.5rem); }
  .pu-why__duo .pu-mon[src*="mon-purple"] { height: clamp(180px, 29vh, 272px); }
}
/* Why Athios: both monsters the same height */
@media (min-width: 900px) { .pu-why__duo .pu-mon, .pu-why__duo .pu-mon[src*="mon-purple"] { height: clamp(180px, 29vh, 272px); } }

/* Why Athios on phones and tablets: monsters sit side by side below the headline, above the table */
@media (max-width: 899px) {
  .pu-why__stage { display: flex; flex-direction: column; margin-top: 0.75rem; }
  .pu-why__duo { display: flex !important; position: static; order: -1; justify-content: center; align-items: flex-end; gap: 0.25rem; width: auto; margin: 0 0 -0.25rem; }
  .pu-why__duo .pu-mon { width: 46%; max-width: 230px; height: auto; flex: 0 1 auto; }
  .pu-why__duo .pu-mon[src*="mon-purple"] { width: 49%; max-width: 245px; }
}

/* ---------- hero dashboard on phones: no blank space ---------- */
@media (max-width: 899px) {
  .pu-hero__scene { max-width: 520px; aspect-ratio: 1.22 / 1; }
  .pu-dash { grid-template-columns: 1fr; font-size: 2.6cqw; top: 4%; left: 4%; right: 4%; align-items: start; }
  .pu-dash__side, .pu-dash__chip { display: none; }
  .pu-dash__main { padding: 4.2cqw 4cqw 14cqw; }
  .pu-dash__title { font-size: 4.6cqw; margin-bottom: 2.6cqw; }
  .pu-dash__grid { gap: 2cqw; }
  .pu-dash__grid section { padding: 2.2cqw 2.4cqw; border-radius: 2cqw; }
  .pu-dash__grid h4 { font-size: 2.9cqw; margin-bottom: 1.6cqw; }
  .pu-dash__row { gap: 1.6cqw; margin-top: 1.7cqw; }
  .pu-dash__av, .pu-dash__ck { width: 3.2cqw; height: 3.2cqw; }
  .pu-dash__name { height: 1.3cqw; }
  .pu-dash__bar { height: 1.7cqw; }
  .pu-hero__coach { width: 31%; left: -3%; }
  .pu-hero__champ { width: 25%; right: -3%; }
}
@media (max-width: 899px) {
  .pu-hero__scene { aspect-ratio: 1.12 / 1; }
  .pu-dash { bottom: 14%; border-radius: 3cqw; box-shadow: 0 2cqw 4cqw rgba(0,0,0,.35); }
  .pu-dash__main { padding-bottom: 5cqw; }
  .pu-hero__coach { width: 30%; left: -2%; bottom: 0; }
  .pu-hero__champ { width: 24%; right: -2%; bottom: 0; }
}
@media (max-width: 899px) { .pu-hero__champ { width: 21%; right: -1%; } .pu-hero__coach { width: 27%; } }

/* hero: supplied campus scene with live text over its navy sky */
.pu-hero { background: #06193a !important; }
.pu-hero__stage { position: relative; container-type: inline-size; width: min(100%, calc((100vh - 73px) * 2.0)); margin-inline: auto; }
.pu-hero__pic, .pu-hero__img { display: block; width: 100%; height: auto; }
@media (min-width: 900px) {
  .pu-hero__text { position: absolute; left: 0; right: 0; top: 0; padding-top: 1.2cqw; }
  .pu-hero__text h1 { font-size: min(var(--t-h), 3.3cqw); }
  .pu-hero__lead { margin-top: 0.9cqw; max-width: 60cqw; font-size: min(var(--t-lead), 1.5cqw); }
  .pu-hero__btns { margin-top: 1.2cqw; }
  .pu-hero__btns .hm-btn { padding: 0.7cqw 2cqw; }
  .pu-hero__label { margin-top: 1.1cqw; font-size: max(0.625rem, 0.75cqw); }
  .pu-chips { margin-top: 0.6cqw; }
  .pu-chips li { font-size: max(0.625rem, 0.75cqw); padding: 0.3cqw 1.1cqw; }
}
@media (max-width: 899px) { .pu-hero__stage { width: 100%; } .pu-hero__text { padding-bottom: 0.5rem; } }
@media (min-width: 900px) { .pu-hero__text h1 span { display: block; } .pu-hero__text h1 { font-size: min(var(--t-h), 3.4cqw); line-height: 1.08; } .pu-hero__lead { max-width: 56cqw; } }
/* hero headline: always two rows */
.pu-hero__text h1 span { display: block; white-space: nowrap; }
@media (max-width: 899px) { .pu-hero__text h1 { font-size: clamp(1.4rem, 6.4vw, 2.25rem); } }
@media (max-width: 899px) { .pu-hero__pic { display: block; margin-top: 0.5rem; } }
@media (max-width: 899px) { .pu-hero__text h1 { font-size: clamp(1.25rem, 5.7vw, 2.1rem); } }

/* guide band: headline left, monster between the headline and the form card */
@media (min-width: 900px) {
  .pu-gb .pl-gb__grid { grid-template-columns: 1fr clamp(150px, 15vw, 230px) 0.95fr; grid-template-areas: "copy art form"; gap: clamp(1rem, 2.5vw, 2.5rem); align-items: center; }
  .pu-gb .pl-gb__copy { grid-area: copy; padding-left: 0; }
  .pu-gb .pl-gb__art { grid-area: art; width: 100%; max-height: clamp(200px, 38vh, 340px); object-fit: contain; align-self: end; }
  .pu-gb .pl-gb__form { grid-area: form; }
}

/* problem cards: human + monster scenes at the top of each card */
.pu-pc__stage--scene { display: block; height: auto; padding: 0; aspect-ratio: 1.52 / 1; }
.pu-pc__scene { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) { .pu-pc__stage--scene { height: clamp(150px, 32vh, 340px); aspect-ratio: auto; } }

/* why: no monsters, headline on one row, table full width (same as the brand page) */
.pu-why__duo { display: none !important; }
@media (min-width: 900px) {
  .pu-why .pu-h { max-width: none; white-space: nowrap; font-size: min(var(--t-h), 3.9vw); }
  .pu-why__stage { margin-top: clamp(1rem, 3vh, 2rem); }
  .pu-why .pl-table-wrap { width: 100%; }
}

/* department features: supplied scenes (photo + live UI + monster), live text on top */
.pu-fc2 { position: relative; container-type: inline-size; overflow: hidden; border-radius: 22px; display: flex; flex-direction: column; }
.pu-fc2--green { background: #eaf8d4; } .pu-fc2--blue { background: #eef3fa; }
.pu-fc2__text { order: -1; padding: 1.1rem 1.1rem 0.5rem; }
.pu-fc2__img { display: block; width: 100%; height: auto; aspect-ratio: 779 / 330; object-fit: cover; object-position: 50% 100%; }
.pu-fc2 .pu-fc__tag { margin: 0; }
.pu-fc2 h3 { margin: 0.25rem 0 0.5rem; font-size: var(--t-card); line-height: 1.05; font-weight: 900; color: #0f1c3d; }
@media (min-width: 900px) {
  .pu-feat__cards { grid-template-columns: 1fr 1fr; }
  .pu-fc2__img { aspect-ratio: auto; object-fit: initial; }
  .pu-fc2__text { position: absolute; top: 4.2cqw; left: 4.5cqw; right: 30cqw; padding: 0; order: 0; }
  .pu-fc2 .pu-fc__tag { font-size: max(0.6875rem, 1.75cqw); }
  .pu-fc2 h3 { margin: 0.8cqw 0 1.6cqw; font-size: 4.3cqw; line-height: 1.03; }
  .pu-fc2 .pu-checks { gap: 1cqw; font-size: 2.7cqw; }
  .pu-fc2 .pu-ck { width: 3.4cqw; height: 3.4cqw; }
  .pu-fc2 .pu-ck svg { width: 2.1cqw; height: 2.1cqw; }
  .pu-fc2--blue .pu-fc2__text { left: 4.8cqw; right: 22cqw; }
  .pu-fc2--blue .pu-checks { font-size: 2.7cqw; }
}
.pu-fc2 .pu-checks li { align-items: center; }
.pu-fc2__img { aspect-ratio: 779 / 495; }
@media (min-width: 900px) {
  .pu-feat__cards { width: min(100%, calc((100vh - 330px) * 2.7)); margin-inline: auto; }
  .pu-fc2__text { right: 24cqw; top: 3.6cqw; }
  .pu-fc2 h3 { font-size: 3.7cqw; margin-bottom: 1.2cqw; }
  .pu-fc2 .pu-checks { font-size: 2.35cqw; gap: 0.8cqw; }
  .pu-fc2 .pu-ck { width: 3cqw; height: 3cqw; }
  .pu-fc2--blue .pu-fc2__text { right: 20cqw; }
}
@media (max-width: 899px) { .pu-fc2 .pu-checks { font-size: 1rem; gap: 0.4rem; } .pu-fc2__text { padding: 1rem 1rem 0.6rem; } .pu-fc2 h3 { font-size: 1.375rem; } }

/* ---------- final CTA + guide form: one block, photo left / copy and form right ---------- */
.pu-cta { background: #fefcf6; padding-block: clamp(0.75rem, 2.2vh, 1.5rem) !important; }
.pu-cta__band { overflow: hidden; border-radius: 26px; background: #0a1b3a; color: #fff; display: grid; grid-template-columns: 1fr; }
.pu-cta__img { display: block; width: 100%; height: auto; }
.pu-cta__side { padding: 1.25rem 1.25rem 1.5rem; }
.pu-cta__side h2 { margin: 0; font-size: clamp(1.75rem, 7.6vw, 2.375rem); line-height: 1.04; font-weight: 900; color: #fff; letter-spacing: -.035em; }
.pu-cta__side h2 span { color: var(--hm-orange); text-decoration: underline; text-decoration-thickness: 0.07em; text-underline-offset: 0.12em; }
.pu-cta__side > p { margin: 0.75rem 0 0; font-size: clamp(0.9375rem, 3.9vw, 1.125rem); line-height: 1.4; color: #e3e8ef; }
.pu-cta__form { display: grid; gap: 0.5rem; margin-top: 1rem; padding: clamp(0.75rem, 2vh, 1.25rem) clamp(0.875rem, 1.6vw, 1.5rem) clamp(0.875rem, 2.2vh, 1.5rem); border-radius: 20px; background: #fbf7ee; color: #14171c; }
.pu-cta__f { position: relative; display: block; }
.pu-cta__f > span { display: block; margin-bottom: 0.3rem; font-size: 0.9375rem; font-weight: 900; }
.pu-cta__f input, .pu-cta__f select { width: 100%; box-sizing: border-box; padding: 0.8rem 1rem 0.8rem 2.75rem; border: 1.5px solid #d9d4c6; border-radius: 12px; background: #fff; font-family: inherit; font-size: 1rem; color: #14171c; }
.pu-cta__f input:focus, .pu-cta__f select:focus { outline: none; border-color: var(--hm-orange); }
.pu-cta__ic { position: absolute; left: 0.9rem; bottom: 0.85rem; width: 1.35rem; height: 1.35rem; pointer-events: none; background: center / contain no-repeat; }
.pu-cta__ic--mail { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314171c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M4 7l8 6 8-6'/%3E%3C/svg%3E"); }
.pu-cta__ic--cap { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314171c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11.5V16c1.5 1.5 3.5 2.5 6 2.5s4.5-1 6-2.5v-4.5'/%3E%3C/svg%3E"); }
.pu-cta__submit { width: 100%; margin-top: 0.4rem; white-space: nowrap; }
@media (min-width: 900px) {
  .pu-cta__band { grid-template-columns: 0.93fr 1fr; align-items: stretch; }
  .pu-cta__img { height: 100%; width: 100%; object-fit: cover; object-position: 30% 50%; max-height: clamp(380px, 62vh, 620px); }
  .pu-cta__side { display: flex; flex-direction: column; justify-content: center; padding: clamp(0.75rem, 2vh, 1.5rem) clamp(1.25rem, 3vw, 3rem); }
  .pu-cta__side h2 { font-size: min(var(--t-h), 3.4vw); }
  .pu-cta__side > p { font-size: min(var(--t-lead), 1.45vw); }
}
@media (min-width: 900px) { .pu-fc2__img { aspect-ratio: auto; height: auto; object-fit: initial; } }

/* program stories: supplied scene (students + monsters) and portraits */
.pu-cs__photo--scene { background: #1a1a1a; padding: 0; height: auto; display: block; }
.pu-cs__scene { display: block; width: 100%; height: auto; }
.pu-av--img { object-fit: cover; background: none; }
@media (min-width: 900px) { .pu-cs__photo--scene { height: clamp(150px, 27vh, 280px); } .pu-cs__scene { height: 100%; object-fit: cover; object-position: 50% 40%; } }
.pu-cs__copy { padding-left: 0.75rem !important; }
.pu-pc__scene { object-position: 50% 12%; }
.pu-fc2__img { aspect-ratio: 926 / 627; } @media (min-width: 900px) { .pu-fc2__img { aspect-ratio: auto; } }
.pu-fc2--green { background: #edf8da; } .pu-fc2--blue { background: #e6f2fe; }
@media (min-width: 900px) { .pl-page.pl-page main .pu-trio.pu-trio { grid-template-columns: 1fr 1fr; gap: 1rem; } }
.pl-page.pl-page main .pu-quote > footer { width: 100%; align-self: stretch; text-align: center; }
