/* =====================================================================
   Secondary pages — new design (Oct 2026): FAQ, How It Works, Results,
   Learn. Depends on home-v2.css (tokens, .hv2-wrap, .hv2-pill, .hv2-btn).
   ===================================================================== */
section[class^="pg2-"] { padding: 80px 0; color: var(--hv2-body); background: #fff; font-family: var(--hv2-font); overflow-x: clip; }
section[class^="pg2-"] :where(h1, h2, h3) { margin: 0; color: var(--hv2-ink); line-height: 1.25; font-family: var(--hv2-font); }
section[class^="pg2-"] :where(h2) { font-size: clamp(30px, 3.2vw, 40px); font-weight: 800; letter-spacing: -0.01em; }
section[class^="pg2-"] :where(h2) span { color: var(--hv2-teal); }
section[class^="pg2-"] :where(p) { margin: 0; font-size: 16px; line-height: 1.6; }
section[class^="pg2-"] :where(ul, ol) { margin: 0; padding: 0; list-style: none; }
section[class^="pg2-"] :where(a) { color: var(--hv2-teal); text-decoration: none; }
section[class^="pg2-"] :where(img) { max-width: 100%; height: auto; display: block; }
section[class^="pg2-"] .hv2-head { text-align: center; max-width: 760px; margin: 0 auto 44px; }
section[class^="pg2-"] .hv2-head .hv2-pill { margin-bottom: 18px; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; }
section[class^="pg2-"] .hv2-head h2 { margin-bottom: 14px; }
section[class^="pg2-"] .hv2-head p { font-size: 18px; line-height: 1.65; font-weight: 500; }

/* ---------- page hero (sky) ---------- */
.pg2-hero { min-height: 420px; display: flex; align-items: center; text-align: center; background: #DCEFF6 url("../../img/home-v2/hero-sky-bg.jpg") center / cover no-repeat !important; padding: 72px 0; }
.pg2-hero .hv2-pill { margin-bottom: 18px; }
.pg2-hero h1 { font-size: clamp(38px, 4.5vw, 56px); font-weight: 800; line-height: 1.2; margin-bottom: 16px; letter-spacing: -0.01em; }
.pg2-hero p { max-width: 720px; margin: 0 auto; font-size: 18px; line-height: 1.75; font-weight: 500; }
.pg2-hero p a { color: var(--hv2-teal); font-weight: 700; }

/* ---------- FAQ accordion ---------- */
.pg2-faq { background: var(--hv2-teal-pale) !important; padding: 72px 0; }
.pg2-faq__list { max-width: 820px; }
.pg2-faq__cat { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; margin: 36px 0 12px !important; }
.pg2-faq__cat:first-child, .pg2-faq--hiw .hv2-head + .pg2-faq__cat { margin-top: 0 !important; }
.pg2-acc { border: 1px solid #E5E5E5; border-radius: 12px; background: #fff; margin-bottom: 12px; scroll-margin-top: 100px; }
.pg2-acc[open] { border-color: var(--hv2-teal); }
.pg2-acc summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 21px 24px; font-size: 18px; font-weight: 700; color: var(--hv2-ink); cursor: pointer; list-style: none; line-height: 1.3; }
.pg2-acc summary::-webkit-details-marker { display: none; }
.pg2-acc summary i { flex: none; font-style: normal; font-size: 24px; font-weight: 600; color: var(--hv2-teal); transition: transform .15s ease; }
.pg2-acc[open] summary i { transform: rotate(45deg); }
.pg2-acc__body { padding: 0 24px 22px; font-size: 16px; line-height: 1.65; font-weight: 500; color: var(--hv2-body); overflow-wrap: anywhere; }
.pg2-acc__body p { margin: 0 0 12px !important; padding: 0 !important; }
.pg2-acc__body ul { padding-left: 20px; list-style: disc; margin-bottom: 12px; }
.pg2-acc__body a { color: var(--hv2-teal); font-weight: 600; text-decoration: underline; }
.pg2-acc__link { margin-top: 6px !important; }
.pg2-acc__link a { font-weight: 700; text-decoration: none !important; }

/* ---------- "still have questions" card ---------- */
.pg2-still { padding: 80px 0; }
.pg2-card { max-width: 820px; margin: 0 auto; padding: 52px 40px; border-radius: 24px; background: var(--hv2-cream-2); text-align: center; }
.pg2-card h2 { font-size: 36px; margin-bottom: 14px; }
.pg2-card p { font-size: 18px; line-height: 1.65; font-weight: 500; margin-bottom: 28px !important; }
.pg2-card__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.hv2-btn--ghost { background: #fff !important; color: var(--hv2-teal) !important; border: 1.5px solid var(--hv2-teal); }
.hv2-btn--ghost:hover { background: var(--hv2-teal-wash) !important; }
@media (max-width: 599px) { .pg2-card { padding: 36px 20px; } .pg2-card__btns .hv2-btn { width: 100%; white-space: normal; height: auto; min-height: 57px; padding: 14px 20px; text-align: center; } }

/* ---------- "better together" band (How It Works) ---------- */
.pg2-enhance { background: var(--hv2-cream-2) !important; padding: 80px 0; text-align: center; }
.pg2-enhance__inner { max-width: 900px; }
.pg2-enhance .hv2-pill { margin-bottom: 18px; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; background: #fff; }
.pg2-enhance h2 { margin-bottom: 16px; }
.pg2-enhance p { max-width: 720px; margin: 0 auto 28px !important; font-size: 18px; line-height: 1.7; font-weight: 500; }
.pg2-faq__more { text-align: center; margin-top: 28px !important; }
.pg2-faq__more a { font-weight: 700; color: var(--hv2-teal); }

/* ---------- Results page (/testimonials) ---------- */
.pg2-hero--split { text-align: left; }
.pg2-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .95fr); gap: 48px; align-items: center; }
.pg2-hero--split h1 { margin-bottom: 18px; }
.pg2-hero--split .pg2-hero__text > p { margin: 0 0 18px; max-width: 560px; }
.rs2-rating { display: flex !important; align-items: center; gap: 10px; font-weight: 600 !important; color: var(--hv2-ink) !important; }
.rs2-stats { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px !important; }
.rs2-stats li { flex: 1 1 150px; background: rgba(255,255,255,.72); border: 1px solid #fff; border-radius: 16px; padding: 16px 18px; min-width: 0; }
.rs2-stats strong { display: block; font-size: 28px; font-weight: 800; color: var(--hv2-teal-deep); line-height: 1.1; margin-bottom: 4px; }
.rs2-stats span { font-size: 14px; font-weight: 500; color: var(--hv2-body); }
.rs2-share { background: #fff; border-radius: 24px; padding: 36px 32px; box-shadow: 0 18px 50px rgba(20,33,31,.12); text-align: center; }
.rs2-share h2 { font-size: 28px !important; margin-bottom: 10px; }
.rs2-share > p { margin: 0 0 22px; font-size: 16px; }
.rs2-share .hv2-btn { width: 100%; }
.rs2-share__more { margin: 18px 0 0 !important; font-size: 14px !important; color: var(--hv2-body); }
.rs2-share__more a { font-weight: 700; color: var(--hv2-teal); }
.pg2-rs-videos { background: #fff; }
.rs2-search { display: flex; gap: 12px; max-width: 620px; margin: -12px auto 40px; }
.rs2-search input { flex: 1; min-width: 0; height: 57px; padding: 0 20px; border: 1.5px solid var(--hv2-line); border-radius: 999px; font: inherit; font-size: 16px; color: var(--hv2-ink); background: #fff; }
.rs2-search input:focus { outline: none; border-color: var(--hv2-teal); }
.rs2-search .hv2-btn { flex: none; }
.rs2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rs2-card { border-radius: 21px; background: #fff; border: 1px solid #E5E5E5; overflow: hidden; display: flex; flex-direction: column; }
.rs2-card__media { position: relative; aspect-ratio: 16 / 9; background: linear-gradient(135deg, var(--hv2-teal-deep) 0%, var(--hv2-teal) 60%, #7FD0E3 100%); cursor: pointer; overflow: hidden; }
.rs2-card__media::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 15%, rgba(255,255,255,.28), transparent 45%); }
.rs2-card__initial { position: absolute; left: 20px; top: 16px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.22); color: #fff; font-weight: 800; font-size: 18px; display: grid; place-items: center; }
.rs2-card__media .hv2-video__play { width: 64px; height: 64px; }
.rs2-card__media .hv2-video__play::after { border-left-width: 20px; border-top-width: 12px; border-bottom-width: 12px; }
.rs2-card__media.is-playing .rs2-card__initial, .rs2-card__media.is-playing .hv2-video__play, .rs2-card__media.is-playing .rs2-card__cap, .rs2-card__media.is-playing::before { display: none; }
.rs2-card__media iframe, .rs2-card__media video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.rs2-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.rs2-card__body h3 { font-size: 19px; font-weight: 700; }
.rs2-card__sub { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--hv2-teal) !important; }
.rs2-card__text { font-size: 15px !important; line-height: 1.6 !important; font-weight: 500; color: var(--hv2-body); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rs2-empty { text-align: center; padding: 30px 0; font-weight: 500; }
.pg2-rs-written { background: var(--hv2-teal-pale) !important; }
.rs2-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rs2-review { background: #fff; border-radius: 15px; padding: 26px 24px; display: flex; flex-direction: column; min-height: 240px; }
.rs2-review__stars { margin-bottom: 12px !important; }
.rs2-review h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.rs2-review__text { flex: 1; font-size: 16px !important; line-height: 1.75 !important; font-weight: 500; }
.rs2-review__who { display: flex; align-items: center; gap: 10px; margin-top: 18px !important; font-weight: 600; color: var(--hv2-ink); }
.rs2-review__who img.hv2-avatar { object-fit: cover; }
.rs2-more { text-align: center; padding: 10px 0 60px; font-family: var(--hv2-font); }
.rs2-more .hv2-btn { margin-bottom: 14px; }
.rs2-more p { margin: 0; font-size: 15px; color: var(--hv2-body); }
.rs2-disclaimer { margin-top: 18px !important; font-size: 13px !important; font-style: italic; }
@media (max-width: 991px) {
    .pg2-hero__grid { grid-template-columns: 1fr; gap: 28px; }
    .rs2-grid, .rs2-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 599px) {
    .rs2-grid, .rs2-reviews { grid-template-columns: 1fr; }
    .rs2-search { flex-direction: column; }
    .rs2-share { padding: 28px 20px; }
    .rs2-stats li { flex-basis: 100%; }
}

/* ---------- Learn page (/learn) ---------- */
.pg2-ln-hero { position: relative; min-height: 640px; display: flex; align-items: center; padding: 80px 0; background: #1F4F5C center / cover no-repeat; color: #fff; }
.pg2-ln-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,38,46,.86) 0%, rgba(12,38,46,.62) 45%, rgba(12,38,46,.05) 100%); }
.pg2-ln-hero .hv2-wrap { position: relative; }
.ln2-hero__copy { max-width: 620px; }
.ln2-hero__copy .hv2-pill { margin-bottom: 18px; }
.pg2-ln-hero h1 { color: #fff; font-size: clamp(38px, 4.6vw, 58px); font-weight: 800; line-height: 1.15; letter-spacing: -0.01em; margin-bottom: 18px; }
.pg2-ln-hero p { color: rgba(255,255,255,.92); font-size: 18px; line-height: 1.7; font-weight: 500; margin-bottom: 26px; max-width: 560px; }
.ln2-points { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 28px !important; }
.ln2-points li { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: #fff; }
.ln2-points li::before { content: "\2713"; width: 22px; height: 22px; border-radius: 50%; background: var(--hv2-green); color: #fff; font-size: 12px; display: grid; place-items: center; flex: none; }
.pg2-ln-hub { background: #fff; scroll-margin-top: 80px; }
.ln2-hub { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ln2-card { border-radius: 21px; background: #fff; border: 1px solid #E5E5E5; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .15s ease, transform .15s ease; }
.ln2-card:hover { box-shadow: 0 16px 40px rgba(20,33,31,.12); transform: translateY(-2px); }
.ln2-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.ln2-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ln2-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ln2-card__kicker { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; }
.ln2-card h3 { font-size: 20px; font-weight: 700; line-height: 1.3; }
.ln2-card h3 a { color: var(--hv2-ink); }
.ln2-card h3 a:hover { color: var(--hv2-teal); }
.ln2-card__body > p:not(.ln2-card__kicker) { font-size: 15px !important; line-height: 1.6 !important; font-weight: 500; color: var(--hv2-body); flex: 1; }
.ln2-card__cta { font-weight: 700; color: var(--hv2-teal); margin-top: 6px; }
.pg2-ln-toxins { background: var(--hv2-teal-pale) !important; }
.ln2-toxins { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ln2-toxin { background: #fff; border-radius: 18px; padding: 28px 24px; }
.ln2-toxin__num { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-weight: 800; font-size: 16px; margin-bottom: 16px; }
.ln2-toxin h3 { font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.ln2-toxin p { font-size: 15px !important; line-height: 1.65 !important; font-weight: 500; }
.ln2-center { margin-top: 40px !important; }
.pg2-ln-nano { background: var(--hv2-cream-2) !important; }
.ln2-nano { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.ln2-nano__img { width: 100%; height: auto; border-radius: 24px; display: block; }
.ln2-nano__copy .hv2-pill { margin-bottom: 18px; background: #fff; }
.ln2-nano__copy h2 { margin-bottom: 18px; }
.ln2-nano__copy p { margin: 0 0 16px !important; font-size: 17px !important; line-height: 1.7 !important; font-weight: 500; }
.ln2-link { font-weight: 700; color: var(--hv2-teal); font-size: 17px; }
.pg2-ln-articles { background: #fff; }
@media (max-width: 991px) {
    .ln2-hub, .ln2-toxins { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .ln2-nano { grid-template-columns: 1fr; gap: 28px; }
    .pg2-ln-hero { min-height: 520px; }
}
@media (max-width: 599px) {
    .ln2-hub, .ln2-toxins { grid-template-columns: 1fr; }
    .pg2-ln-hero::before { background: linear-gradient(180deg, rgba(12,38,46,.80) 0%, rgba(12,38,46,.78) 100%); }
    .pg2-ln-hero .hv2-btn { width: 100%; }
}

/* ---------- Hair Test page (/hair-test) ---------- */
.hv2-pill--solid { background: var(--hv2-teal) !important; color: #fff !important; border-color: var(--hv2-teal) !important; }
.ht2-checks { display: grid; gap: 12px; }
.ht2-checks li { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 1.45; font-weight: 500; color: var(--hv2-body); }
.ht2-checks li::before { content: "\2713"; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.ht2-checks--2col { grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.pg2-ht-hero { position: relative; min-height: 709px; display: flex; align-items: center; padding: 80px 0; background: #121A1F center / cover no-repeat; color: #fff; }
.pg2-ht-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,26,31,.92) 0%, rgba(18,26,31,.78) 35%, rgba(18,26,31,.35) 70%, rgba(18,26,31,0) 100%); }
/* The general section[class^="pg2-"] { background: #fff } outranks .pg2-ht-hero, so the photo was drawn at its own size
   from the top-left corner (magnifier circle cut off on every screen under 1920px). Fit it as Steven's frame does. */
section.pg2-ht-hero { background-color: #121A1F; background-position: center; background-size: cover; background-repeat: no-repeat; }
.pg2-ht-hero .hv2-wrap { position: relative; }
.ht2-hero__copy { max-width: 560px; }
.ht2-hero__copy .hv2-pill { margin-bottom: 18px; }
.pg2-ht-hero h1 { color: #fff; font-size: clamp(38px, 4.4vw, 52px); font-weight: 800; line-height: 1.12; letter-spacing: -0.01em; margin-bottom: 16px; }
.pg2-ht-hero > .hv2-wrap p { color: rgba(255,255,255,.92); font-size: 17px; line-height: 1.7; font-weight: 500; margin-bottom: 22px; }
.ht2-checks--hero li { color: #fff; }
.ht2-hero__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.pg2-ht-hero .hv2-btn--ghost { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.7); }
.pg2-ht-choose { background: #F4FAFB center / cover no-repeat !important; scroll-margin-top: 80px; }
.ht2-options { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.ht2-option { position: relative; background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; overflow: hidden; display: flex; flex-direction: column; }
.ht2-option--study { border: 2px solid var(--hv2-teal); }
.ht2-option__badge { position: absolute; top: 16px; right: 16px; left: auto; z-index: 2; }
.ht2-option__img { width: 100%; aspect-ratio: 928 / 880; max-height: 440px; object-fit: cover; display: block; }
.ht2-option__body { padding: 28px 28px 30px; display: flex; flex-direction: column; gap: 10px; }
.ht2-option__kicker { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; }
.ht2-option h3 { font-size: 26px; font-weight: 800; line-height: 1.2; }
.ht2-option__text { font-size: 16px !important; line-height: 1.6 !important; font-weight: 500; }
.ht2-price { display: flex; align-items: baseline; gap: 12px; margin: 10px 0 4px !important; }
.ht2-price strong { font-size: 36px; font-weight: 800; color: var(--hv2-ink); line-height: 1; }
.ht2-price del { font-size: 18px; font-weight: 600; color: #8C8C8C; }
.ht2-includes { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-ink) !important; margin-top: 6px !important; }
.ht2-order.hv2-btn { margin-top: 18px; height: 57px; line-height: 57px; padding: 0 24px; border-radius: 8px; font-size: 17px; }
.ht2-option .quantity_cart_main { margin-top: 12px; }
.ht2-option__note { font-size: 13px !important; line-height: 1.5 !important; color: #6B6B6B !important; margin-top: 8px !important; }
.ht2-ny { text-align: center; margin-top: 26px !important; font-size: 14px !important; font-weight: 600; color: var(--hv2-body); }
.pg2-ht-tests { background: #F4FAFB !important; }
.ht2-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.ht2-list { background: #fff; border-radius: 19px; padding: 32px 30px; border: 1px solid #E5E5E5; }
.ht2-list h3 { font-size: 22px; font-weight: 800; margin-bottom: 6px; }
.ht2-list > p { margin: 0 0 18px !important; font-size: 15px !important; }
.pg2-ht-how { background: #fff; scroll-margin-top: 80px; }
.ht2-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 48px; }
.ht2-step { text-align: center; padding: 28px 22px; border-radius: 19px; border: 1px solid #E5E5E5; background: #fff; }
.ht2-step__icon { position: relative; display: inline-grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--hv2-teal-pale); color: var(--hv2-teal); margin-bottom: 18px; }
.ht2-step__icon svg { width: 38px; height: 38px; }
.ht2-step__icon i { position: absolute; right: -4px; top: -4px; width: 30px; height: 30px; border-radius: 50%; background: var(--hv2-ink); color: #fff; font-style: normal; font-weight: 800; font-size: 14px; display: grid; place-items: center; }
.ht2-step h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.ht2-step p { font-size: 15px !important; line-height: 1.6 !important; font-weight: 500; }
.ht2-videos { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.ht2-vcard .hv2-video { aspect-ratio: auto; margin-bottom: 16px; }
.ht2-vcard .hv2-video::before { content: ""; display: block; padding-top: 56.2963%; pointer-events: none; }
.ht2-vcard__kicker { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 6px !important; }
.ht2-vcard h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.ht2-vcard p { font-size: 15px !important; line-height: 1.6 !important; font-weight: 500; }
.pg2-ht-why { background: #F4FAFB !important; }
.pg2-ht-expert { background: #fff; }
.ht2-split { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 60px; align-items: center; }
.ht2-split__video { aspect-ratio: auto; }
.ht2-split__video::before { content: ""; display: block; padding-top: 56.25%; pointer-events: none; }
.ht2-split__copy .hv2-pill { margin-bottom: 18px; }
.ht2-split__copy h2 { margin-bottom: 18px; }
.ht2-split__copy p { margin: 0 0 14px !important; font-size: 17px !important; line-height: 1.7 !important; font-weight: 500; }
.ht2-portrait { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; display: block; }
.ht2-quote { margin: 22px 0 0; padding: 20px 24px; border-left: 4px solid var(--hv2-teal); background: var(--hv2-teal-pale); border-radius: 0 14px 14px 0; }
.ht2-quote p { font-size: 18px !important; font-style: italic; font-weight: 600 !important; color: var(--hv2-ink) !important; margin-bottom: 8px !important; }
.ht2-quote cite { font-style: normal; font-size: 14px; font-weight: 600; color: var(--hv2-teal); }
.pg2-ht-pract { background: #1F4F5C center / cover no-repeat !important; padding: 120px 0; }
.ht2-pract { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; background: #fff; border-radius: 24px; padding: 40px 44px; box-shadow: 0 18px 50px rgba(20,33,31,.18); }
.ht2-pract__left .hv2-pill { margin-bottom: 16px; }
.ht2-pract__left h2 { margin-bottom: 14px; font-size: clamp(28px, 2.6vw, 34px); }
.ht2-pract__left p { font-size: 16px !important; line-height: 1.65 !important; font-weight: 500; }
.ht2-pract__right .hv2-btn { margin-top: 22px; }
.pg2-ht-next { background: #fff; }
.ht2-mp { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: center; max-width: 900px; margin: 0 auto; background: var(--hv2-cream-2); border-radius: 24px; padding: 32px 40px; }
.ht2-mp img { width: 100%; height: auto; max-height: 360px; object-fit: contain; }
.ht2-mp__badge { position: static !important; margin-bottom: 14px; display: inline-block; }
.ht2-mp h3 { font-size: 30px; font-weight: 800; margin-bottom: 10px; }
.ht2-mp p { margin: 0 0 20px !important; font-size: 16px !important; line-height: 1.65 !important; font-weight: 500; }
.pg2-ht-faq { background: var(--hv2-teal) !important; }
.pg2-ht-faq .hv2-head h2 { color: #fff; }
.pg2-ht-faq .pg2-acc { border-color: transparent; }
.pg2-ht-faq .pg2-acc[open] { border-color: #fff; }
.ht2-cta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 0 !important; }
.pv2-cta .ht2-cta__btns .hv2-btn--ghost { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.7); }
@media (max-width: 991px) {
    .ht2-options, .ht2-lists, .ht2-videos, .ht2-split, .ht2-pract { grid-template-columns: 1fr; }
    .ht2-steps { grid-template-columns: 1fr; gap: 16px; }
    .ht2-mp { grid-template-columns: 1fr; text-align: center; padding: 28px 22px; }
    .ht2-mp img { max-height: 260px; margin: 0 auto; }
    .pg2-ht-hero { min-height: 560px; }
    .pg2-ht-pract { padding: 80px 0; }
}
@media (max-width: 599px) {
    .pg2-ht-hero::before { background: linear-gradient(180deg, rgba(18,26,31,.84) 0%, rgba(18,26,31,.80) 100%); }
    .ht2-hero__btns .hv2-btn, .ht2-cta__btns .hv2-btn { width: 100%; }
    .ht2-checks--2col { grid-template-columns: 1fr; }
    .ht2-option__body { padding: 22px 20px 24px; }
    .ht2-pract { padding: 28px 20px; }
}

/* ---------- Toxin Assessment (/toxin-quiz) ---------- */
.ta2 { font-family: var(--hv2-font); }
.pg2-ta-intro { min-height: 620px; display: flex; align-items: center; text-align: center; background: #DCEFF6 url("../../img/home-v2/hero-sky-bg.jpg") center / cover no-repeat !important; }
.pg2-ta-intro .hv2-pill { margin-bottom: 18px; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
.pg2-ta-intro h1 { font-size: clamp(38px, 4.6vw, 56px); font-weight: 800; line-height: 1.15; letter-spacing: -0.01em; margin-bottom: 18px; }
.ta2-intro__sub { max-width: 680px; margin: 0 auto 22px !important; font-size: 18px !important; line-height: 1.7 !important; font-weight: 500; }
.ta2-meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 26px; margin-bottom: 28px !important; }
.ta2-meta li { font-size: 15px; font-weight: 600; color: var(--hv2-ink); }
.ta2-meta li::before { content: "\2713"; color: var(--hv2-green); font-weight: 800; margin-right: 8px; }
.ta2-start.hv2-btn { height: 60px; line-height: 60px; padding: 0 36px; font-size: 18px; }
.ta2-intro__note { margin: 16px 0 0 !important; font-size: 14px !important; color: var(--hv2-body); }
.pg2-ta-q { background: var(--hv2-teal-pale) !important; min-height: 640px; }
.ta2-q { max-width: 760px; }
.ta2-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ta2-bar__title { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--hv2-teal); }
.ta2-exit { border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--hv2-body); cursor: pointer; }
.ta2-progress { height: 8px; border-radius: 999px; background: #fff; overflow: hidden; margin-bottom: 28px; }
.ta2-progress i { display: block; height: 100%; width: 10%; background: var(--hv2-teal); border-radius: 999px; transition: width .3s ease; }
.ta2-q__meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--hv2-body) !important; }
.ta2-q__cat { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal); }
.pg2-ta-q h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 10px; }
.ta2-q__hint { margin: 0 0 24px !important; font-size: 16px !important; }
.ta2-options { display: grid; gap: 12px; }
.ta2-opt { display: block; width: 100%; text-align: left; padding: 18px 22px; border: 2px solid #E5E5E5; border-radius: 14px; background: #fff; font: inherit; font-size: 17px; font-weight: 600; color: var(--hv2-ink); cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.ta2-opt:hover { border-color: var(--hv2-teal); transform: translateY(-1px); }
.ta2-opt.is-selected { border-color: var(--hv2-teal); background: var(--hv2-teal); color: #fff; }
.ta2-back { margin-top: 20px; border: 0; background: transparent; font: inherit; font-weight: 700; color: var(--hv2-teal); cursor: pointer; }
.ta2-q__help { margin: 24px 0 0 !important; font-size: 13px !important; color: var(--hv2-body) !important; }
.pg2-ta-lead { background: #fff; }
.ta2-lead { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 48px; align-items: center; }
.ta2-tease { text-align: center; padding: 32px 24px; border-radius: 24px; background: var(--hv2-teal-pale); }
.ta2-tease__label { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 18px !important; }
.ta2-tease__blur { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; filter: blur(6px); user-select: none; pointer-events: none; }
.ta2-tease__ring { width: 140px; height: 140px; border-radius: 50%; border: 12px solid #F28C28; border-left-color: #E5E5E5; }
.ta2-tease__blur strong { font-size: 32px; font-weight: 800; color: var(--hv2-ink); }
.ta2-tease__blur span { font-weight: 700; color: #F28C28; }
.ta2-tease__lock { margin: 22px 0 0 !important; font-weight: 600 !important; font-size: 15px !important; color: var(--hv2-ink) !important; }
.ta2-form { max-width: 520px; }
.ta2-form__done { color: var(--hv2-green) !important; font-weight: 700 !important; margin-bottom: 10px !important; }
.ta2-form h2 { font-size: clamp(26px, 2.8vw, 34px); margin-bottom: 12px; }
.ta2-form__sub { margin: 0 0 22px !important; }
.ta2-field { display: block; margin-bottom: 14px; }
.ta2-field span { display: block; font-size: 14px; font-weight: 700; color: var(--hv2-ink); margin-bottom: 6px; }
.ta2-field input { width: 100%; height: 52px; padding: 0 16px; border: 1.5px solid #DFDFDF; border-radius: 9px; font: inherit; font-size: 16px; color: var(--hv2-ink); background: #fff; }
.ta2-field input:focus { outline: none; border-color: var(--hv2-teal); }
.ta2-captcha { margin: 6px 0 14px; }
.ta2-captcha:empty { display: none; }
.ta2-form__msg { margin: 0 0 10px !important; font-size: 13px !important; color: #c0392b !important; }
.ta2-form__fine { margin: 14px 0 0 !important; font-size: 13px !important; line-height: 1.6 !important; }
.ta2-form__fine a { text-decoration: underline; }
.pg2-ta-score { background: var(--hv2-teal-pale) !important; }
.ta2-score { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 48px; align-items: center; }
.ta2-card { background: #fff; border-radius: 24px; padding: 32px 28px; text-align: center; box-shadow: 0 18px 50px rgba(20,33,31,.10); }
.ta2-card__label { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 18px !important; }
.ta2-ring { position: relative; width: 200px; height: 200px; margin: 0 auto 18px; }
.ta2-ring svg { width: 100%; height: 100%; }
.ta2-ring circle { transition: stroke-dashoffset .8s ease; }
.ta2-ring__num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ta2-ring__num strong { font-size: 56px; font-weight: 800; line-height: 1; color: var(--hv2-ink); }
.ta2-ring__num span { font-size: 13px; font-weight: 600; color: var(--hv2-body); }
.ta2-level { display: inline-block; padding: 8px 16px; border-radius: 999px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; margin-bottom: 20px; }
.ta2-scale { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.ta2-scale span { font-size: 11px; font-weight: 700; padding: 8px 0 0; border-top: 6px solid #E5E5E5; color: var(--hv2-body); }
.ta2-scale span[data-level="low"] { border-color: #1CAE23; } .ta2-scale span[data-level="moderate"] { border-color: #ECC63D; } .ta2-scale span[data-level="elevated"] { border-color: #F28C28; } .ta2-scale span[data-level="high"] { border-color: #D55858; }
.ta2-scale span.is-active { color: var(--hv2-ink); }
.ta2-score__greet { font-weight: 700 !important; color: var(--hv2-teal) !important; margin-bottom: 8px !important; }
.ta2-score__copy h2 { margin-bottom: 14px; }
.ta2-score__copy > p:not(.ta2-score__greet) { margin: 0 0 22px !important; font-size: 17px !important; line-height: 1.7 !important; }
.ta2-score__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.pg2-ta-breakdown { background: #fff; }
.ta2-bars { max-width: 760px; margin: 0 auto; display: grid; gap: 16px; }
.ta2-bar { display: grid; grid-template-columns: 170px 1fr 90px; align-items: center; gap: 16px; }
.ta2-bar__label { font-weight: 700; color: var(--hv2-ink); }
.ta2-bar__track { height: 14px; border-radius: 999px; background: #EEF2F3; overflow: hidden; }
.ta2-bar__track i { display: block; height: 100%; border-radius: 999px; transition: width .8s ease; }
.ta2-bar__level { font-weight: 700; font-size: 14px; text-align: right; }
.pg2-ta-drivers { background: var(--hv2-cream-2) !important; }
.ta2-drivers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ta2-driver { background: #fff; border-radius: 19px; padding: 26px 24px; border: 1px solid #E5E5E5; }
.ta2-driver__icon { font-size: 30px; display: block; margin-bottom: 12px; }
.ta2-driver h3 { font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.ta2-driver p { font-size: 15px !important; line-height: 1.6 !important; margin: 0 0 12px !important; }
.ta2-driver__swap { padding: 12px 14px; border-radius: 12px; background: var(--hv2-teal-pale); font-weight: 600 !important; color: var(--hv2-ink) !important; margin: 0 !important; }
.ta2-nodrivers { text-align: center; font-weight: 500; }
.pg2-ta-plan { background: #fff; scroll-margin-top: 80px; }
.ta2-steps { display: grid; gap: 20px; max-width: 900px; margin: 0 auto; }
.ta2-step { position: relative; padding: 28px 28px 28px 90px; border-radius: 19px; border: 1px solid #E5E5E5; background: #fff; }
.ta2-step__num { position: absolute; left: 28px; top: 28px; width: 42px; height: 42px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-weight: 800; display: grid; place-items: center; }
.ta2-step h3 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.ta2-step p { font-size: 16px !important; line-height: 1.65 !important; margin: 0 0 14px !important; }
.ta2-step--mp { background: var(--hv2-cream-2); border-color: transparent; }
.ta2-offer { display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; margin-top: 16px; padding: 18px 20px; border-radius: 14px; background: #fff; }
.ta2-offer img { width: 100%; height: auto; object-fit: contain; }
.ta2-offer__badge { position: static !important; display: inline-block; margin-bottom: 8px; }
.ta2-offer h4 { font-size: 22px; font-weight: 800; margin: 0 0 4px; }
.ta2-offer__price { font-weight: 800 !important; font-size: 20px !important; color: var(--hv2-ink) !important; margin: 0 0 12px !important; }
.ta2-offer__price span { font-weight: 500; font-size: 14px; color: var(--hv2-body); }
.ta2-cta__note { margin: 16px 0 0 !important; font-size: 14px !important; opacity: .85; }
@media (max-width: 899px) {
    .ta2-lead, .ta2-score { grid-template-columns: 1fr; gap: 28px; }
    .ta2-drivers { grid-template-columns: 1fr; }
    .ta2-bar { grid-template-columns: 1fr; gap: 6px; }
    .ta2-bar__level { text-align: left; }
    .ta2-step { padding: 76px 20px 24px; }
    .ta2-step__num { left: 20px; top: 20px; }
    .ta2-offer { grid-template-columns: 1fr; text-align: center; }
    .ta2-offer img { max-width: 140px; margin: 0 auto; }
    .ta2-score__btns .hv2-btn, .ta2-start.hv2-btn { width: 100%; }
}

/* ---------- Share Your Story popup ---------- */
.ss2 { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; padding: 20px; font-family: var(--hv2-font); }
.ss2[hidden] { display: none; }
.ss2__backdrop { position: absolute; inset: 0; background: rgba(12,38,46,.62); }
.ss2__card { position: relative; width: min(640px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 24px; padding: 40px 44px; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.ss2__close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #F0FAFC; color: var(--hv2-ink); font-size: 26px; line-height: 1; cursor: pointer; }
.ss2__form .hv2-pill { margin-bottom: 14px; }
.ss2__card h2 { font-size: 28px; font-weight: 800; margin: 0 0 8px; color: var(--hv2-ink); }
.ss2__sub { margin: 0 0 22px; font-size: 15px; line-height: 1.6; color: var(--hv2-body); }
.ss2__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ss2__field { display: block; margin: 0 0 16px; border: 0; padding: 0; min-width: 0; }
.ss2__field > span, .ss2__field legend { display: block; font-size: 14px; font-weight: 700; color: var(--hv2-ink); margin-bottom: 6px; }
.ss2__label-row { display: flex; justify-content: space-between; align-items: baseline; }
.ss2__label-row em { font-style: normal; font-weight: 500; font-size: 12px; color: var(--hv2-body); }
.ss2__field input[type="text"], .ss2__field input[type="email"], .ss2__field textarea { width: 100%; padding: 13px 16px; border: 1.5px solid #DFDFDF; border-radius: 9px; font: inherit; font-size: 16px; color: var(--hv2-ink); background: #fff; }
.ss2__field textarea { resize: vertical; min-height: 120px; }
.ss2__field input:focus, .ss2__field textarea:focus { outline: none; border-color: var(--hv2-teal); }
.ss2__field small { display: block; margin-top: 6px; font-size: 12px; color: var(--hv2-body); }
.ss2__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ss2__chips legend { width: 100%; margin-bottom: 8px; }
.ss2__chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid #DFDFDF; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--hv2-ink); cursor: pointer; user-select: none; }
.ss2__chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.ss2__chip span { display: none; }
.ss2__chip:has(input:checked) { background: var(--hv2-teal); border-color: var(--hv2-teal); color: #fff; }
.ss2__chip:has(input:checked) span { display: inline; }
.ss2__upload input[type="file"] { position: absolute; opacity: 0; width: 0; height: 0; }
.ss2__drop { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px; border: 1.5px dashed #BFD9E0; border-radius: 12px; background: #F7FCFD; font-weight: 600; color: var(--hv2-teal); cursor: pointer; text-align: center; }
.ss2__drop b { font-size: 20px; }
.ss2__drop small { font-weight: 500; color: var(--hv2-body); }
.ss2__file { display: block; padding: 12px 16px; border-radius: 10px; background: var(--hv2-teal-pale); font-size: 14px; font-weight: 600; color: var(--hv2-ink); }
.ss2__radios label { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--hv2-ink); margin-bottom: 8px; cursor: pointer; }
.ss2__radios label em { font-style: normal; color: var(--hv2-body); }
.ss2__radios input { accent-color: var(--hv2-teal); width: 18px; height: 18px; }
.ss2__check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: var(--hv2-body); cursor: pointer; }
.ss2__check input { flex: none; margin-top: 2px; width: 18px; height: 18px; accent-color: var(--hv2-teal); }
.ss2__msg { margin: 8px 0 12px; font-size: 14px; font-weight: 600; color: #c0392b; }
.ss2__form .hv2-btn--block { margin-top: 10px; }
.ss2__fine { margin: 14px 0 0; font-size: 12px; color: var(--hv2-body); text-align: center; }
.ss2__thanks { text-align: center; padding: 20px 0; }
.ss2__thanks-icon { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--hv2-green); color: #fff; font-size: 34px; font-weight: 800; margin-bottom: 18px; }
.ss2__thanks p { margin: 0 0 24px; font-size: 16px; line-height: 1.65; color: var(--hv2-body); }
html.ss2-open { overflow: hidden; }
@media (max-width: 599px) { .ss2__card { padding: 30px 20px; } .ss2__row { grid-template-columns: 1fr; gap: 0; } }

/* ---------- My Back Office dashboard ---------- */
.pg2-bo { background: #F4FAFB !important; padding: 40px 0 70px; }
.bo2 { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 30px; align-items: start; }
.bo2-side__mobile { display: none; }
.bo2-side__desktop { background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; padding: 22px 16px; position: sticky; top: 90px; }
.bo2-side__profile { display: flex; align-items: center; gap: 12px; padding: 4px 8px 18px; border-bottom: 1px solid #EEF2F3; margin-bottom: 12px; }
.bo2-side__profile b { display: block; font-size: 15px; color: var(--hv2-ink); }
.bo2-side__profile small { font-size: 12px; color: var(--hv2-body); }
.bo2-side__avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-weight: 800; font-size: 18px; display: grid; place-items: center; flex: none; }
.bo2-nav { display: flex; flex-direction: column; }
.bo2-nav__group { margin: 14px 10px 6px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; color: #8C8C8C !important; }
.bo2-nav__item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--hv2-ink) !important; text-decoration: none; }
.bo2-nav__item svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; color: var(--hv2-teal); }
.bo2-nav__item:hover { background: #F4FAFB; }
.bo2-nav__item.is-active { background: var(--hv2-teal); color: #fff !important; }
.bo2-nav__item.is-active svg { color: #fff; }
.bo2-nav__item--logout { margin-top: 14px; color: #D55858 !important; }
.bo2-nav__item--logout svg { color: #D55858; }
.bo2-nav__item--cart { display: none; }
.bo2-main { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.bo2-head__eyebrow { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 6px !important; }
.bo2-head h1 { font-size: clamp(28px, 3vw, 38px); font-weight: 800; margin-bottom: 6px; }
.bo2-head > p:last-child { font-size: 16px !important; }
.bo2-chip { width: 42px; height: 42px; border-radius: 12px; background: var(--hv2-teal-pale); color: var(--hv2-teal); display: inline-grid; place-items: center; flex: none; }
.bo2-chip svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bo2-chip--green { background: #E6F7E7; color: #1CAE23; }
.bo2-chip--orange { background: #FFF1E3; color: #F28C28; }
.bo2-chip--blue { background: #E8F0FA; color: #418BCA; }
.bo2-chip--cream { background: #FFF; color: var(--hv2-teal); }
.bo2-reflink { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 420px); gap: 18px; align-items: center; background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; padding: 20px 24px; }
.bo2-reflink h2 { font-size: 18px; font-weight: 800; margin-bottom: 2px; }
.bo2-reflink p { font-size: 14px !important; }
.bo2-reflink__field { display: flex; gap: 10px; }
.bo2-reflink__field input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 1.5px solid #DFDFDF; border-radius: 9px; background: #F8FBFC; font: inherit; font-size: 14px; color: var(--hv2-ink); }
.bo2-reflink__field .hv2-btn { height: 48px; line-height: 48px; padding: 0 20px; border-radius: 9px; font-size: 15px; flex: none; }
.bo2-stats { display: grid; gap: 18px; }
.bo2-stats--2 { grid-template-columns: 1fr 1fr; }
.bo2-stats--3 { grid-template-columns: repeat(3, 1fr); }
.bo2-stat { display: flex; flex-direction: column; gap: 10px; background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; padding: 22px; color: var(--hv2-ink) !important; text-decoration: none !important; transition: box-shadow .15s ease, transform .15s ease; }
a.bo2-stat:hover { box-shadow: 0 12px 30px rgba(20,33,31,.10); transform: translateY(-1px); }
.bo2-stat__top { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; }
.bo2-stat__top i { margin-left: auto; color: var(--hv2-teal); display: inline-flex; }
.bo2-stat__value { font-size: 34px; font-weight: 800; line-height: 1.1; }
.bo2-stat__value small { font-size: 13px; font-weight: 700; color: var(--hv2-body); }
.bo2-stat__value.is-zero { color: #D55858; }
.bo2-tag { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--hv2-teal-pale); color: var(--hv2-teal-deep); font-size: 12px; font-weight: 700; }
.bo2-stat__note { font-size: 13px; color: var(--hv2-body); }
.bo2-news { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; background: var(--hv2-cream-2); border-radius: 19px; padding: 18px 22px; }
.bo2-news__label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 2px !important; }
.bo2-news__text { font-size: 16px !important; font-weight: 600 !important; color: var(--hv2-ink) !important; }
.bo2-news__link { font-weight: 700; color: var(--hv2-teal); white-space: nowrap; }
.bo2-earn { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; }
.bo2-card { background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; padding: 22px; min-width: 0; }
.bo2-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.bo2-card__top h2 { font-size: 18px; font-weight: 800; }
.bo2-card__top p { font-size: 13px !important; }
.bo2-card__top a { font-size: 14px; font-weight: 700; color: var(--hv2-teal); white-space: nowrap; }
.bo2-payouts__list { display: flex; flex-direction: column; }
.bo2-payouts__list li { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid #EEF2F3; font-size: 14px; color: var(--hv2-body); }
.bo2-payouts__list li b { color: var(--hv2-ink); }
.bo2-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 30px 10px; }
.bo2-empty p { font-size: 14px !important; }
.bo2-empty p b { display: block; color: var(--hv2-ink); margin-bottom: 4px; }
@media (max-width: 991px) {
    .bo2 { grid-template-columns: 1fr; }
    .bo2-side__desktop { display: none; }
    .bo2-side__mobile { display: block; background: #fff; border: 1px solid #E5E5E5; border-radius: 14px; }
    .bo2-side__mobile summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; color: var(--hv2-body); }
    .bo2-side__mobile summary::-webkit-details-marker { display: none; }
    .bo2-side__crumb { display: inline-flex; align-items: center; gap: 8px; }
    .bo2-side__crumb svg { width: 18px; height: 18px; fill: none; stroke: var(--hv2-teal); stroke-width: 1.8; }
    .bo2-side__crumb i { font-style: normal; color: #BBB; }
    .bo2-side__crumb b { color: var(--hv2-ink); }
    .bo2-side__panel { padding: 6px 10px 12px; border-top: 1px solid #EEF2F3; }
    .bo2-nav__item--cart { display: flex; }
    .bo2-reflink { grid-template-columns: 1fr; }
    .bo2-stats--2, .bo2-stats--3, .bo2-earn { grid-template-columns: 1fr; }
    .bo2-news { grid-template-columns: auto 1fr; }
    .bo2-news__link { grid-column: 2; }
}

/* ---------- Study Terms popup (hair test) ---------- */
#staticBackdrop.ht2-study .modal-dialog { max-width: 760px; }
#staticBackdrop.ht2-study .modal-content { border: 0; border-radius: 24px; font-family: var(--hv2-font); }
#staticBackdrop.ht2-study .modal-header { align-items: flex-start; padding: 28px 32px 18px; border-bottom: 1px solid #EEF2F3; }
#staticBackdrop.ht2-study .modal-header .hv2-pill { margin-bottom: 12px; text-transform: uppercase; letter-spacing: .06em; font-size: 12px; }
#staticBackdrop.ht2-study .modal-header .modal-title { font-size: 26px; font-weight: 800; color: var(--hv2-ink); margin: 0 0 6px; }
#staticBackdrop.ht2-study .modal-header p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--hv2-body); }
#staticBackdrop.ht2-study .modal-body { padding: 10px 32px 20px; text-align: left; }
#staticBackdrop.ht2-study .ht2-study__step { padding: 20px 0; border-bottom: 1px solid #EEF2F3; }
#staticBackdrop.ht2-study .ht2-study__step:last-child { border-bottom: 0; }
#staticBackdrop.ht2-study .modal-body h4 { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: var(--hv2-ink); margin: 0 0 14px; text-align: left; text-decoration: none; }
#staticBackdrop.ht2-study .ht2-study__num { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-size: 14px; font-weight: 800; }
#staticBackdrop.ht2-study .ht2-study__video { border-radius: 14px; overflow: hidden; background: #000; aspect-ratio: 16 / 9; }
#staticBackdrop.ht2-study .ht2-study__video iframe { display: block; width: 100%; height: 100%; }
#staticBackdrop.ht2-study .ht2-study__progress { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin: 14px 0; font-size: 13px; font-weight: 600; color: var(--hv2-body); }
#staticBackdrop.ht2-study .ht2-study__progress b { color: var(--hv2-ink); }
#staticBackdrop.ht2-study .ht2-study__track { grid-column: 1 / -1; height: 8px; border-radius: 999px; background: #EEF2F3; overflow: hidden; }
#staticBackdrop.ht2-study .ht2-study__track i { display: block; height: 100%; width: 0; background: var(--hv2-teal); border-radius: 999px; transition: width .5s linear; }
#staticBackdrop.ht2-study .ht2-study__callout { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; background: #FFF1E3; border: 1px solid #F6D7B7; }
#staticBackdrop.ht2-study .ht2-study__callout.is-done { background: #E6F7E7; border-color: #BFE8C2; }
#staticBackdrop.ht2-study .ht2-study__bang { flex: none; width: 24px; height: 24px; border-radius: 50%; background: #F28C28; color: #fff; font-weight: 800; font-size: 14px; display: grid; place-items: center; }
#staticBackdrop.ht2-study .ht2-study__callout.is-done .ht2-study__bang { background: #1CAE23; }
#staticBackdrop.ht2-study .ht2-study__callout b { display: block; font-size: 14px; color: var(--hv2-ink); margin-bottom: 2px; }
#staticBackdrop.ht2-study .ht2-study__callout #videoStatus { font-size: 13px; font-weight: 600; margin: 0; }
#staticBackdrop.ht2-study .modal-body ul.ht2-study__terms { list-style: none; margin: 0 0 14px; padding: 18px 20px; border: 1px solid #E5E5E5; border-radius: 14px; display: grid; gap: 10px; font-size: 14px; line-height: 1.55; color: var(--hv2-body); text-align: left; }
#staticBackdrop.ht2-study .modal-body ul.ht2-study__terms li { display: flex; gap: 10px; margin: 0; }
#staticBackdrop.ht2-study .modal-body ul.ht2-study__terms li i { flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--hv2-teal-pale); color: var(--hv2-teal); font-style: normal; font-size: 11px; font-weight: 800; display: grid; place-items: center; margin-top: 1px; }
#staticBackdrop.ht2-study .ht2-study__privacy { margin: 0; font-size: 13px; line-height: 1.55; color: var(--hv2-body); }
/* trial terms (19 Oct 2026): replace watching the whole study video */
#staticBackdrop.ht2-study .ht2-trial { margin: 0 0 18px; padding: 20px 22px; border: 1.5px solid #CFE7EE; border-radius: 14px; background: #F4FAFB; text-align: left; }
#staticBackdrop.ht2-study .ht2-trial__title { margin: 0 0 6px; font-size: 16px; font-weight: 800; line-height: 1.35; color: var(--hv2-ink); }
#staticBackdrop.ht2-study .ht2-trial__intro { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: var(--hv2-body); }
#staticBackdrop.ht2-study .modal-body ul.ht2-trial__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
#staticBackdrop.ht2-study .modal-body ul.ht2-trial__list li { margin: 0; padding-left: 14px; border-left: 3px solid var(--hv2-teal); font-size: 14px; line-height: 1.55; color: var(--hv2-body); }
#staticBackdrop.ht2-study .ht2-trial__list b { color: var(--hv2-ink); font-weight: 700; }
#staticBackdrop.ht2-study .ht2-trial__sub { margin: 0 0 10px; font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--hv2-teal); }
#staticBackdrop.ht2-study .modal-footer > div.ht2-trial__confirm { padding: 14px 16px; border: 1.5px solid #CFE7EE; border-radius: 12px; background: #F4FAFB; }
#staticBackdrop.ht2-study .ht2-trial__confirm input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--hv2-teal); cursor: pointer; }
#staticBackdrop.ht2-study .ht2-trial__confirm label { cursor: pointer; font-weight: 500; }
#staticBackdrop.ht2-study .ht2-trial__confirm label b { display: block; font-weight: 800; }
#staticBackdrop.ht2-study .divblock.ht2-study__count { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid #E5E5E5; border-radius: 14px; margin-bottom: 16px; }
#staticBackdrop.ht2-study .divblock.ht2-study__count label { display: block; font-size: 15px; font-weight: 700; color: var(--hv2-ink); margin: 0; }
#staticBackdrop.ht2-study .divblock.ht2-study__count small { display: block; font-size: 13px; color: var(--hv2-body); margin-top: 2px; }
#staticBackdrop.ht2-study .ht2-study__stepper { display: inline-flex; align-items: center; border: 1.5px solid #DFDFDF; border-radius: 10px; overflow: hidden; }
#staticBackdrop.ht2-study .ht2-study__stepper button { width: 42px; height: 42px; border: 0; background: #F4FAFB; color: var(--hv2-teal); font-size: 22px; font-weight: 700; cursor: pointer; }
#staticBackdrop.ht2-study .ht2-study__stepper input.form-control { width: 56px !important; height: 42px; margin: 0 !important; border: 0; border-radius: 0; text-align: center; font-weight: 800; font-size: 16px; color: var(--hv2-ink); -moz-appearance: textfield; }
#staticBackdrop.ht2-study .ht2-study__stepper input::-webkit-outer-spin-button, #staticBackdrop.ht2-study .ht2-study__stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#staticBackdrop.ht2-study .modal-body .participant_list .row { margin: 0 0 12px; padding: 16px 16px 6px; border: 1px solid #E5E5E5; border-radius: 14px; background: #F8FBFC; }
#staticBackdrop.ht2-study .modal-body .participant_list h6 { font-size: 14px; font-style: normal; font-weight: 800; color: var(--hv2-teal); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 10px; padding: 0 12px; }
#staticBackdrop.ht2-study .modal-body .participant_list label { font-size: 13px; color: var(--hv2-ink); line-height: 1.3; margin-bottom: 4px; }
#staticBackdrop.ht2-study .modal-body .participant_list .form-control { height: 44px; border: 1.5px solid #DFDFDF; border-radius: 9px; margin-bottom: 10px; }
#staticBackdrop.ht2-study .modal-footer { flex-direction: column; align-items: stretch; gap: 14px; padding: 18px 32px 26px; border-top: 1px solid #EEF2F3; }
#staticBackdrop.ht2-study .modal-footer > div:first-child { display: flex; align-items: flex-start; gap: 10px; color: var(--hv2-ink); font-size: 14px; font-weight: 600; }
#staticBackdrop.ht2-study .modal-footer > div:first-child label { margin: 0; line-height: 1.5; }
#staticBackdrop.ht2-study .ht2-study__order { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
#staticBackdrop.ht2-study #orderAnalysis.hv2-btn { width: 100%; height: 57px; line-height: 57px; border-radius: 10px; font-size: 17px; margin: 0; }
#staticBackdrop.ht2-study #orderAnalysis[disabled] { opacity: .45; cursor: not-allowed; }
#staticBackdrop.ht2-study #ht2StudyUnlock { text-align: center; font-size: 13px; color: var(--hv2-body); }
@media (max-width: 599px) {
    #staticBackdrop.ht2-study .modal-header, #staticBackdrop.ht2-study .modal-body, #staticBackdrop.ht2-study .modal-footer { padding-left: 18px; padding-right: 18px; }
    #staticBackdrop.ht2-study .divblock.ht2-study__count { flex-direction: column; align-items: flex-start; }
}

/* ---------- Our Studies ---------- */
.pg2-studies { background: #fff; padding: 70px 0 30px; }
.ps2-list { display: grid; gap: 28px; }
.ps2-study { display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 1fr); gap: 36px; align-items: center; background: #fff; border: 1px solid #E5E5E5; border-radius: 24px; padding: 26px; }
.ps2-study:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 480px); }
.ps2-study:nth-child(even) .ps2-study__img { order: 2; }
.ps2-study__img { border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid #EEF2F3; aspect-ratio: 16 / 9; }
.ps2-study__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ps2-study__kicker { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 8px !important; }
.ps2-study h2 { font-size: clamp(22px, 2.2vw, 28px); font-weight: 800; line-height: 1.25; margin-bottom: 10px; }
.ps2-study__text { font-size: 16px !important; line-height: 1.65 !important; font-weight: 500; margin-bottom: 18px !important; }
.ps2-study__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.ps2-study__btns .hv2-btn { height: 48px; line-height: 48px; padding: 0 20px; font-size: 15px; border-radius: 9px; white-space: normal; }
.ps2-study__period { font-size: 13px !important; font-weight: 600 !important; color: var(--hv2-body) !important; margin-bottom: 8px !important; }
.ps2-study__paper { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--hv2-teal); }
.ps2-study__paper::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: var(--hv2-green); flex: none; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='black'/><path d='M7 12.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='black'/><path d='M7 12.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat; }
.ps2-more { text-align: center; margin: 40px 0 30px !important; font-size: 16px !important; font-weight: 500; }
.ps2-more a { font-weight: 700; color: var(--hv2-teal); text-decoration: underline; }
@media (max-width: 899px) {
    .ps2-study, .ps2-study:nth-child(even) { grid-template-columns: 1fr; gap: 18px; padding: 16px; }
    .ps2-study:nth-child(even) .ps2-study__img { order: 0; }
    .ps2-study__btns .hv2-btn { width: 100%; height: auto; min-height: 48px; line-height: 1.3; padding: 12px 16px; text-align: center; }
}

/* ---------- Video page ---------- */
.vd2-channels { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; }
.pg2-hero .vd2-channels .hv2-btn--ghost { height: 50px; line-height: 50px; padding: 0 20px; font-size: 15px; }
.vd2-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vd2-media.is-playing img { display: none; }
.vd2-len { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 3px 8px; border-radius: 6px; background: rgba(0,0,0,.72); color: #fff; font-size: 12px; font-weight: 700; }
.vd2-media.is-playing .vd2-len { display: none; }
@media (max-width: 599px) { .pg2-hero .vd2-channels .hv2-btn--ghost { width: 100%; } }

/* ---------- Will It Light? ---------- */
.pg2-hero--wil .pg2-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); }
.wl2-kicker { font-size: 13px !important; font-weight: 800 !important; letter-spacing: .12em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 8px !important; }
.wl2-video { aspect-ratio: 16 / 9; }
.wl2-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wl2-video.is-playing img { display: none; }
.pg2-wil-buy { background: #fff; }
.wl2-buy { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; align-items: center; max-width: 900px; margin: 0 auto; padding: 32px 36px; border-radius: 24px; background: var(--hv2-cream-2); }
.wl2-buy img { width: 100%; height: auto; max-height: 300px; object-fit: contain; }
.wl2-buy h2 { font-size: 26px; font-weight: 800; margin-bottom: 8px; }
.wl2-buy__desc { font-size: 15px !important; line-height: 1.6 !important; margin-bottom: 14px !important; }
.wl2-buy .set_pvt_mem_price { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--hv2-teal-pale); color: var(--hv2-teal-deep); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
.wl2-buy .price_block { font-size: 28px; font-weight: 800; color: var(--hv2-ink); margin: 0 0 16px; }
.wl2-buy .price_block del { font-size: 18px; font-weight: 600; color: #8C8C8C; margin-right: 10px; }
.wl2-buy .quantity_cart_main { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.wl2-buy .quantity { display: inline-flex; align-items: center; border: 1.5px solid #DFDFDF; border-radius: 10px; overflow: hidden; background: #fff; }
.wl2-buy .quantity button { width: 44px; height: 48px; border: 0; background: #F4FAFB; color: var(--hv2-teal); font-size: 22px; font-weight: 700; cursor: pointer; }
.wl2-buy .quantity input { width: 56px; height: 48px; border: 0; text-align: center; font: inherit; font-weight: 800; font-size: 16px; color: var(--hv2-ink); background: #fff; }
.wl2-buy .cart_btn .add_to_cart { display: inline-block; height: 48px; line-height: 48px; padding: 0 26px; border-radius: 10px; background: var(--hv2-teal); color: #fff !important; font-weight: 700; font-size: 15px; text-decoration: none; }
.wl2-buy .cart_btn .add_to_cart:hover { background: var(--hv2-teal-deep); }
.pg2-wil-faq { background: var(--hv2-teal-pale) !important; }
.wl2-faq { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; }
.wl2-faq__photos { display: grid; gap: 16px; position: sticky; top: 100px; }
.wl2-faq__photos img { width: 100%; height: auto; border-radius: 18px; display: block; }
.pg2-wil-bottom { background: #fff; }
.wl2-collage { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 520px; margin: 0 auto 36px; }
.wl2-collage img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; display: block; aspect-ratio: 1; }
.wl2-collage img.wl2-collage__tall { grid-row: span 2; aspect-ratio: auto; background: var(--hv2-teal-pale); padding: 14px; object-fit: contain; }
@media (max-width: 991px) {
    .pg2-hero--wil .pg2-hero__grid, .wl2-faq { grid-template-columns: 1fr; }
    .wl2-faq__photos { position: static; grid-template-columns: 1fr 1fr; }
    .wl2-buy { grid-template-columns: 1fr; text-align: center; padding: 24px 20px; }
    .wl2-buy img { max-width: 220px; margin: 0 auto; }
    .wl2-buy .quantity_cart_main { justify-content: center; }
}

/* ---------- EMF Protection (partner page) ---------- */
.pg2-hero--emf .pg2-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.em2-logo { height: 80px; width: auto; margin-bottom: 16px; }
.em2-kicker { font-size: 13px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; color: var(--hv2-teal) !important; margin-bottom: 10px !important; line-height: 1.5 !important; }
.pg2-hero--emf .pg2-hero__text .hv2-btn { margin-top: 10px; }
.em2-photos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.em2-photos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; background: #fff; }
.em2-video-wrap { max-width: 860px; margin: 0 auto 36px; }
.em2-video { aspect-ratio: 16 / 9; border-radius: 18px; }
.em2-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.em2-video.is-playing img { display: none; }
.em2-iframe { aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #000; }
.em2-iframe iframe { width: 100%; height: 100%; border: 0; }
.pg2-emf-intro { background: var(--hv2-ink) !important; color: #fff; }
.pg2-emf-intro h2 { color: #fff; font-size: 24px; margin-bottom: 10px; }
.pg2-emf-intro p { color: rgba(255,255,255,.9) !important; font-size: 18px !important; line-height: 1.7 !important; }
.em2-two { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1000px; margin: 0 auto; }
.em2-two > div + div { border-left: 1px solid rgba(255,255,255,.2); padding-left: 40px; }
.em2-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.em2-split h2 { margin-bottom: 14px; }
.em2-split p { margin: 0 0 14px !important; font-size: 16px !important; line-height: 1.7 !important; }
.em2-split .hv2-btn { margin-top: 8px; }
.em2-split__img { width: 100%; height: auto; border-radius: 20px; display: block; }
.em2-split--text { margin-top: 48px; align-items: start; }
.em2-split--pics { margin-top: 36px; }
.em2-split + .em2-split, .em2-video-wrap + .em2-split { margin-top: 48px; }
.pg2-emf-bundle, .pg2-emf-founders { background: var(--hv2-cream-2) !important; }
.pg2-emf-features, .pg2-emf-about, .pg2-emf-ftw, .pg2-emf-pod, .pg2-emf-different, .pg2-emf-measure { background: #fff; }
.pg2-emf-testimonials, .pg2-emf-how, .pg2-emf-questions, .pg2-emf-crystals { background: var(--hv2-teal-pale) !important; }
.em2-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.em2-feature { background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; padding: 28px 24px; text-align: center; }
.em2-feature img { width: 90px; height: 90px; object-fit: contain; margin: 0 auto 16px; display: block; }
.em2-feature h3 { font-size: 19px; font-weight: 700; margin-bottom: 8px; }
.em2-feature p { font-size: 15px !important; line-height: 1.6 !important; }
.em2-feature--link { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; background: var(--hv2-teal-pale); border-color: transparent; }
.em2-testimonials { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.em2-testimonial { display: block; background: #fff; border-radius: 19px; padding: 28px; color: var(--hv2-body) !important; text-decoration: none !important; }
.em2-testimonial img { width: 44px; height: 44px; object-fit: contain; margin-bottom: 14px; }
.em2-testimonial p { font-size: 16px !important; line-height: 1.7 !important; margin: 0 0 14px !important; font-style: italic; }
.em2-testimonial b { color: var(--hv2-teal); }
.em2-wide { display: block; max-width: 860px; width: 100%; margin: 30px auto 60px; border-radius: 20px; }
.pg2-emf-questions .hv2-head + .hv2-center { margin-top: -20px; }
.em2-effects img { width: 100%; max-width: 420px; border-radius: 20px; margin-bottom: 20px; }
.em2-effects h2 { font-size: 24px; margin-bottom: 14px; }
.em2-effects .ht2-checks { margin-bottom: 16px; }
.em2-form { background: #fff; border: 1px solid #E5E5E5; border-radius: 19px; padding: 20px; min-width: 0; overflow: hidden; }
.em2-split--form { align-items: start; }
.em2-banner { display: block; margin-top: 40px; border-radius: 20px; overflow: hidden; }
.em2-banner img { width: 100%; height: auto; display: block; }
@media (max-width: 991px) {
    .pg2-hero--emf .pg2-hero__grid, .em2-two, .em2-split, .em2-features, .em2-testimonials { grid-template-columns: 1fr; }
    .em2-two > div + div { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding-top: 24px; }
    .em2-split { gap: 24px; }
}

/* ---------- Our Studies: interactive blood-marker panel card ---------- */
.ps2-study--panel, .ps2-study--panel:nth-child(even) { grid-template-columns: 1fr; gap: 20px; }
.ps2-study--panel .ps2-study__body { max-width: 900px; }
.ps2-study--panel .ps2-study__period { margin-bottom: 0 !important; }
.ps2-panel { min-width: 0; }
.ps2-panel blood-study-panel { display: block; width: 100%; max-width: 1000px; margin: 0 auto; font-family: var(--hv2-font); }

/* ---------- legal / policy pages ---------- */
.pg2-hero--legal { min-height: 300px; padding: 56px 0; }
.pg2-hero--legal h1 { font-size: clamp(32px, 4vw, 48px); }
.pg2-legal { background: #fff; padding: 20px 0 70px; font-family: var(--hv2-font); color: var(--hv2-body); }
.pg2-legal .pg2-legal__wrap { max-width: 1110px; }
.pg2-legal .mt-5 { margin-top: 0 !important; }

/* ---------- Articles ---------- */
.pg2-hero--articles { min-height: 0; padding: 64px 0 56px; }
.ar2-search { display: flex; gap: 12px; max-width: 620px; margin: 28px auto 0; }
.ar2-search input { flex: 1; min-width: 0; height: 57px; padding: 0 20px; border: 1.5px solid var(--hv2-line); border-radius: 999px; font: inherit; font-size: 16px; color: var(--hv2-ink); background: #fff; }
.ar2-search input:focus { outline: none; border-color: var(--hv2-teal); }
.ar2-search .hv2-btn { flex: none; }
.pg2-ar-feature { padding: 60px 0 0; }
.ar2-feature { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); background: var(--hv2-teal-wash); border: 1px solid #E5E5E5; border-radius: 24px; overflow: hidden; }
.ar2-feature__img { background: #fff; min-height: 320px; }
.ar2-feature__img img { width: 100%; height: 100%; object-fit: cover; }
.ar2-feature__body { padding: 40px 44px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.ar2-feature__body h2 { font-size: clamp(24px, 2.6vw, 32px); }
.ar2-feature__body > p:not(.ar2-kicker) { font-size: 16px !important; line-height: 1.7 !important; font-weight: 500; }
.ar2-feature .hv2-btn { align-self: flex-start; margin-top: 8px; }
.ar2-kicker { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal) !important; }
.pg2-ar-list { padding-top: 60px; }
.pg2-ar-list .hv2-head { margin-bottom: 32px; }
.ar2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ar2-card h3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ar2-pager { text-align: center; margin-top: 36px; font-family: var(--hv2-font); }
.ar2-pager .pagination { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ar2-pager .pagination li { display: inline; margin: 0; }
.ar2-pager .pagination li a { display: inline-block; min-width: 42px; padding: 10px 14px; border: 1px solid var(--hv2-line); border-radius: 999px; color: var(--hv2-ink); font-weight: 600; text-decoration: none; background: #fff; }
.ar2-pager .pagination li a:hover, .ar2-pager .pagination li.active a { background: var(--hv2-teal); border-color: var(--hv2-teal); color: #fff; }
.ar2-empty { text-align: center; font-weight: 600; padding: 20px 0; }
.pg2-hero--article .pg2-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 420px); }
.pg2-hero--article h1 { font-size: clamp(30px, 3.6vw, 44px); }
.ar2-sub { font-size: 20px !important; font-weight: 600; color: var(--hv2-ink) !important; }
.ar2-meta { font-size: 14px !important; font-weight: 700; color: var(--hv2-teal) !important; text-transform: uppercase; letter-spacing: .06em; }
.ar2-back { display: inline-block; font-weight: 700; margin-top: 4px; }
.ar2-hero__img { border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 20px 50px rgba(20,33,31,.14); aspect-ratio: 4 / 3; }
.ar2-hero__img--wide { aspect-ratio: 16 / 10; }
.ar2-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.pg2-ar-body { padding: 60px 0 40px; }
.ar2-prose { max-width: 800px; margin: 0 auto; font-size: 17px; line-height: 1.8; font-weight: 500; color: var(--hv2-body); overflow-wrap: anywhere; }
.ar2-prose :where(p, ul, ol) { margin: 0 0 18px; font-size: inherit; line-height: inherit; }
.ar2-prose h2, .ar2-prose h3, .ar2-prose h4 { font-size: 24px !important; font-weight: 800 !important; color: var(--hv2-ink) !important; margin: 32px 0 12px !important; line-height: 1.3 !important; }
.ar2-prose h4 { font-size: 21px !important; }
.ar2-prose > :first-child, .ar2-prose > div > :first-child { margin-top: 0 !important; }
.ar2-prose ul, .ar2-prose ol { padding-left: 24px !important; margin: 0 0 18px !important; }
.ar2-prose ul, .ar2-prose ul li { list-style: disc !important; }
.ar2-prose ol, .ar2-prose ol li { list-style: decimal !important; }
.ar2-prose li { margin-bottom: 8px; display: list-item !important; }
.ar2-prose img { display: block; max-width: 100%; height: auto; border-radius: 16px; margin: 28px auto; }
.ar2-prose a { color: var(--hv2-teal); font-weight: 600; text-decoration: underline; }
.ar2-prose b, .ar2-prose strong { color: var(--hv2-ink); }
.ar2-prose .screen-reader-text { position: absolute; left: -9999px; }
.pg2-ar-related { background: var(--hv2-teal-wash) !important; }
.ar2-center { margin-top: 36px; }
@media (max-width: 991px) {
    .ar2-feature, .pg2-hero--article .pg2-hero__grid { grid-template-columns: 1fr; }
    .ar2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .ar2-feature__body { padding: 28px 24px; }
    .ar2-feature__img { min-height: 0; aspect-ratio: 16 / 10; }
    .ar2-hero__img { max-width: 520px; }
}
@media (max-width: 640px) {
    .ar2-grid { grid-template-columns: 1fr; }
    .ar2-search { flex-direction: column; }
    .ar2-search .hv2-btn { width: 100%; }
    .ar2-prose { font-size: 16px; }
}

/* ---------- Our Mission ---------- */
.pg2-hero--mission { min-height: 0; padding: 64px 0 56px; }
.ms2-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 56px; align-items: center; }
.ms2-lead { font-size: 22px !important; font-weight: 800; color: var(--hv2-ink); margin-bottom: 22px !important; }
.ms2-points { display: grid; gap: 14px; }
.ms2-points li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; background: var(--hv2-teal-wash); border: 1px solid #E5E5E5; border-radius: 16px; padding: 18px 20px; }
.ms2-points li span { width: 44px; height: 44px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 17px; }
.ms2-points li p { font-size: 16px !important; line-height: 1.7 !important; font-weight: 500; }
.ms2-collage { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 28px; }
.ms2-collage__col { display: grid; gap: 18px; align-content: start; position: relative; z-index: 1; }
.ms2-collage__col--down { padding-top: 48px; }
.ms2-collage img:not(.ms2-dots) { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; box-shadow: 0 16px 40px rgba(20,33,31,.12); background: #fff; }
.ms2-dots { position: absolute; width: 90px; height: auto; opacity: .55; z-index: 0; }
.ms2-dots--a { top: 0; left: 0; }
.ms2-dots--b { bottom: 0; right: 0; }
.pg2-team { background: var(--hv2-teal-pale) !important; }
.ms2-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ms2-card { background: #fff; border-radius: 21px; overflow: hidden; border: 1px solid #E5E5E5; display: flex; flex-direction: column; }
.ms2-card__img { aspect-ratio: 1 / 1; overflow: hidden; background: var(--hv2-teal-wash); }
.ms2-card__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ms2-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.ms2-card h3 { font-size: 20px; font-weight: 800; }
.ms2-card__role { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--hv2-teal) !important; line-height: 1.5 !important; }
.ms2-card__body > p:not(.ms2-card__role) { font-size: 15px !important; line-height: 1.6 !important; font-weight: 500; }
@media (max-width: 991px) {
    .ms2-grid { grid-template-columns: 1fr; gap: 36px; }
    .ms2-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 599px) {
    .ms2-team { grid-template-columns: 1fr; }
    .ms2-collage { padding: 16px; gap: 12px; }
    .ms2-collage__col { gap: 12px; }
    .ms2-collage__col--down { padding-top: 28px; }
    .ms2-points li { grid-template-columns: 36px 1fr; gap: 12px; padding: 14px 16px; }
    .ms2-points li span { width: 36px; height: 36px; font-size: 15px; }
}

/* ---------- Our Studies: the green "peer-reviewed paper" dot pulses (Ollie, 12 Oct) ---------- */
.ps2-study__paper { position: relative; }
.ps2-study__paper::before { animation: ps2-pulse 1.6s ease-in-out infinite; transform-origin: center; }
.ps2-study__paper::after { content: ""; position: absolute; left: 0; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; pointer-events: none; animation: ps2-ring 1.6s ease-out infinite; }
@keyframes ps2-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18); } }
@keyframes ps2-ring { 0% { box-shadow: 0 0 0 0 rgba(28, 174, 35, .55); } 100% { box-shadow: 0 0 0 14px rgba(28, 174, 35, 0); } }
@media (prefers-reduced-motion: reduce) { .ps2-study__paper::before, .ps2-study__paper::after { animation: none; } }

/* Learn hero: the generic section rule (background: #fff) outranked this, so the photo tiled on wide screens. */
section.pg2-ln-hero { background-color: #1F4F5C; background-position: center; background-size: cover; background-repeat: no-repeat; }
/* ===== 13 Oct 2026: to Steven's FAQ / How It Works / Results / Learn frames ===== */
/* page hero: content starts 80px into the 420px band (pill 35, +16, H1 68, +16, copy) */
section.pg2-hero:not([class*="pg2-hero--"]) { align-items: flex-start; padding: 80px 0 40px; }
.pg2-hero:not([class*="pg2-hero--"]) .hv2-pill { margin-bottom: 16px; }
.pg2-hero:not([class*="pg2-hero--"]) h1 { line-height: 68px; margin-bottom: 16px; }
.pg2-hero:not([class*="pg2-hero--"]) p { line-height: 32px; }
.hv2-pill--cream { font-size: 16px; }
/* FAQ band 72px, still-have-questions 96px; open question shows a minus, as drawn */
section.pg2-faq { padding: 72px 0 96px; }
.pg2-acc[open] summary i { transform: none; font-size: 0; }
.pg2-acc[open] summary i::after { content: "\2212"; font-size: 24px; }
section.pg2-still { padding: 96px 0; }
.pg2-card { padding: 56px 40px; }
.pg2-card h2 { line-height: 44px; margin-bottom: 16px; }
.pg2-card p { line-height: 30px; margin-bottom: 28px !important; }
@media (max-width: 899px) {
    section.pg2-hero:not([class*="pg2-hero--"]) { padding: 48px 0 40px; min-height: 0; }
    .pg2-hero:not([class*="pg2-hero--"]) h1 { line-height: 1.2; }
    .pg2-hero:not([class*="pg2-hero--"]) p { line-height: 1.7; }
    section.pg2-faq { padding: 56px 0; }
    section.pg2-still { padding: 56px 0; }
}
@media (max-width: 899px) {
    /* phone hero (FAQ Mobile frame: 326 tall, pill at 48, H1 36/44, copy 15/25) */
    section.pg2-hero:not([class*="pg2-hero--"]) { padding: 48px 0 48px; }
    .pg2-hero:not([class*="pg2-hero--"]) h1 { font-size: 36px; line-height: 44px; }
    .pg2-hero:not([class*="pg2-hero--"]) p { font-size: 15px; line-height: 25px; }
    /* phone FAQ rows: 16/22 questions, 17px padding, 15/22 answers, 12px category labels */
    .pg2-faq__cat { font-size: 12px !important; margin: 20px 0 10px !important; }
    .pg2-acc { margin-bottom: 10px; }
    .pg2-acc summary { padding: 17px 19px; font-size: 16px; line-height: 22px; }
    .pg2-acc summary i, .pg2-acc[open] summary i::after { font-size: 22px; }
    .pg2-acc__body { padding: 0 19px 17px; font-size: 15px; line-height: 22px; }
}
.pg2-m { display: none; }
@media (max-width: 599px) {
    .pg2-d { display: none; }
    .pg2-m { display: inline; }
    /* phone 'Still have questions' (FAQ Mobile frame): card 382 wide, 32/24 padding, 24/32 title, buttons at their own width */
    section.pg2-still { padding: 0 0 56px; }
    .pg2-card { padding: 32px 24px; border-radius: 15px; }
    .pg2-card h2 { font-size: 24px; line-height: 32px; margin-bottom: 14px; }
    .pg2-card p { font-size: 15px; line-height: 25px; margin-bottom: 14px !important; }
    .pg2-card__btns { flex-direction: column; align-items: center; gap: 14px; }
    .pg2-card__btns .hv2-btn { width: auto; min-width: 225px; min-height: 56px; }
}
/* How It Works: 'Better together' band (518) and its FAQ band (88 / 44 / 88), as drawn */
section.pg2-enhance { padding: 96px 0; }
.pg2-enhance .hv2-pill { height: 39px; margin-bottom: 20px; }
.pg2-enhance h2 { font-size: 40px; line-height: 52px; margin-bottom: 20px; }
.pg2-enhance p { line-height: 30px; margin-bottom: 48px !important; }
.pg2-enhance .hv2-btn { width: 283px; height: 57px; justify-content: center; text-transform: uppercase; letter-spacing: .02em; font-size: 16px; font-weight: 600; }
section.pg2-faq.pg2-faq--hiw { padding: 88px 0; }
.pg2-faq--hiw .hv2-head { text-align: center; margin-bottom: 44px; }
.pg2-faq--hiw .hv2-head .hv2-pill { height: 39px; margin-bottom: 14px; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; }
.pg2-faq--hiw .hv2-head h2 { font-size: 40px; line-height: 52px; }
.pg2-faq--hiw .hv2-head h2 span { color: var(--hv2-teal); }
.pg2-faq--hiw .pg2-faq__more { margin-top: 32px !important; }
@media (max-width: 899px) {
    section.pg2-enhance { padding: 56px 0; }
    .pg2-enhance h2, .pg2-faq--hiw .hv2-head h2 { font-size: 28px; line-height: 36px; }
    .pg2-enhance p { font-size: 15px; line-height: 23px; margin-bottom: 24px !important; }
    .pg2-enhance .hv2-btn { width: 100%; max-width: 390px; height: 56px; }
    section.pg2-faq.pg2-faq--hiw { padding: 56px 0; }
    .pg2-faq--hiw .hv2-head { margin-bottom: 24px; }
}

/* =====================================================================
   Results (/testimonials) to Steven's Results frames (914:27 desktop, 932:28 mobile), 13 Oct 2026.
   ===================================================================== */
section.pg2-rs-hero { min-height: 520px; }
.pg2-rs-hero h1 span, .pg2-rs-videos h2 span, .pg2-rs-written h2 span, .pg2-faq--hiw h2 span { color: var(--hv2-teal); }
.pg2-rs-hero .rs2-rating { justify-content: center; margin: 20px 0 0 !important; font-size: 16px !important; font-weight: 500 !important; color: #4C4C4C !important; }
.pg2-rs-hero .rs2-stats { justify-content: center; gap: 24px; margin: 40px 0 0 !important; padding: 0; list-style: none; }
.pg2-rs-hero .rs2-stats li { flex: 0 0 240px; height: 93px; padding: 19px 12px 0; background: #fff; border: 1px solid #3FA7C2; border-radius: 16px; text-align: center; }
.pg2-rs-hero .rs2-stats strong { font-size: 28px; line-height: 34px; font-weight: 800; color: #3FA7C2; margin-bottom: 4px; }
.pg2-rs-hero .rs2-stats span { font-size: 14px; line-height: 17px; }

section.pg2-rs-videos { padding: 80px 0 60px !important; background: #fff !important; }
.pg2-rs-videos .hv2-head, .pg2-rs-written .hv2-head { text-align: center; max-width: 1110px; margin: 0 auto 45px; }
.pg2-rs-videos .hv2-head .hv2-pill, .pg2-rs-written .hv2-head .hv2-pill { margin-bottom: 15px; }
.pg2-rs-videos .hv2-head h2, .pg2-rs-written .hv2-head h2 { font-size: 40px; line-height: 55px; margin-bottom: 8px; }
.pg2-rs-videos .hv2-head p { font-size: 18px; line-height: 35px; font-weight: 500; color: #4C4C4C; }
.rs2-vgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rs2-vcard .rs2-card__media { position: relative; height: 240px; aspect-ratio: auto; border-radius: 21px; overflow: hidden; cursor: pointer; background: linear-gradient(135deg, #1d6f86, #3FA7C2); }
.rs2-vcard .rs2-card__media::before { display: none; }
.rs2-vcard .rs2-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rs2-vcard .rs2-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.6)); pointer-events: none; }
.rs2-vcard__play { position: absolute; z-index: 1; left: 50%; top: 68px; width: 64px; height: 64px; margin-left: -32px; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.rs2-vcard__play::after { content: ""; position: absolute; left: 24px; top: 20px; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent #3FA7C2; }
.rs2-vcard__cap { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 26px; font-size: 18px; line-height: 22px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rs2-vcard--plain .rs2-card__initial { left: 22px; top: 20px; }
.rs2-vcard .rs2-card__media.is-playing .rs2-vcard__play, .rs2-vcard .rs2-card__media.is-playing .rs2-vcard__cap, .rs2-vcard .rs2-card__media.is-playing img, .rs2-vcard .rs2-card__media.is-playing::after { display: none; }
.pg2-rs-videos .rs2-more { padding: 40px 0 0; margin: 0 !important; }
.pg2-rs-videos .rs2-more .hv2-btn { height: 56px; padding: 0 28px; margin: 0; }

section.pg2-rs-written { padding: 60px 0 80px !important; background: #fff !important; }
.rs2-reviews { gap: 30px; }
.rs2-review { position: relative; min-height: 396px; padding: 34px 26px 28px; border-radius: 15px; background: #FCF4EA; }
.rs2-review__q { display: block; font: 800 44px/30px Georgia, serif; color: #3FA7C2; margin-bottom: 8px; }
.rs2-review h3 { font-size: 19px; line-height: 24px; margin-bottom: 12px; color: #383838; }
.rs2-review__text { font-size: 16px !important; line-height: 26px !important; color: #4C4C4C; }
.rs2-review__who .hv2-avatar { width: 36px; height: 36px; font-size: 18px; }
.pg2-rs-written .rs2-disclaimer { margin: 40px 0 0 !important; text-align: center; font-size: 13px; color: #737373; }

section.pg2-rs-share { padding: 0 0 80px !important; background: #fff !important; }
.rs2-sharecard { display: grid; grid-template-columns: minmax(0, 1fr) 420px; align-items: center; gap: 40px; padding: 48px 56px; border-radius: 24px; background: #FCF4EA; }
.rs2-sharecard h2 { font-size: 32px; line-height: 40px; margin: 0 0 12px; }
.rs2-sharecard p { font-size: 18px; line-height: 30px; color: #4C4C4C; margin: 0 0 24px; max-width: 460px; }
.rs2-sharecard .hv2-btn { height: 56px; padding: 0 28px; }
.rs2-sharecard__collage { position: relative; height: 200px; }
.rs2-sharecard__collage img { position: absolute; border-radius: 16px; object-fit: cover; box-shadow: 0 10px 28px rgba(0,0,0,.12); border: 3px solid #fff; }
.rs2-sharecard__collage .c1 { left: 0; top: 30px; width: 120px; height: 140px; }
.rs2-sharecard__collage .c2 { left: 100px; top: 0; width: 130px; height: 160px; z-index: 2; }
.rs2-sharecard__collage .c3 { left: 210px; top: 40px; width: 110px; height: 130px; }
.rs2-sharecard__collage .c4 { left: 300px; top: 10px; width: 120px; height: 150px; z-index: 2; }

@media (max-width: 899px) {
    section.pg2-rs-hero { min-height: 0; }
    .pg2-rs-hero .rs2-stats { gap: 12px; margin-top: 24px !important; }
    .pg2-rs-hero .rs2-stats li { flex: 1 1 110px; height: auto; padding: 14px 8px; }
    .pg2-rs-hero .rs2-stats strong { font-size: 22px; line-height: 26px; }
    .pg2-rs-hero .rs2-stats span { font-size: 12px; }
    section.pg2-rs-videos { padding: 48px 0 40px !important; }
    .pg2-rs-videos .hv2-head h2, .pg2-rs-written .hv2-head h2 { font-size: 28px; line-height: 36px; }
    .pg2-rs-videos .hv2-head p { font-size: 15px; line-height: 23px; }
    .pg2-rs-videos .hv2-head, .pg2-rs-written .hv2-head { margin-bottom: 24px; }
    .rs2-vgrid, .rs2-reviews { grid-template-columns: 1fr; gap: 16px; }
    .rs2-vcard .rs2-card__media { height: 226px; border-radius: 14px; }
    .rs2-vcard__play { top: 81px; }
    .rs2-vcard__cap { font-size: 16px; bottom: 20px; }
    .rs2-review { min-height: 0; }
    .rs2-sharecard { grid-template-columns: 1fr; padding: 32px 24px; text-align: center; }
    .rs2-sharecard p { margin: 0 auto 20px; }
    .rs2-sharecard__collage { display: none; }
    section.pg2-rs-share { padding-bottom: 56px !important; }
}
.pg2-rs-hero .rs2-rating { justify-content: center !important; max-width: none !important; width: 100%; }
@media (max-width: 899px) {
    .pg2-rs-hero .rs2-stats { flex-wrap: nowrap; gap: 8px; }
    .pg2-rs-hero .rs2-stats li { flex: 1 1 0; min-width: 0; padding: 12px 4px; border-radius: 12px; }
    .pg2-rs-hero .rs2-stats strong { font-size: 18px; line-height: 22px; }
    .pg2-rs-hero .rs2-stats span { font-size: 11px; line-height: 14px; display: block; }
}
.rs2-vgrid:not(.is-open) > .rs2-vcard:nth-child(n+10) { display: none; }
/* ===== Learn to Steven's Learn frame (13 Oct) ===== */
section.pg2-ln-hero { align-items: flex-start; padding: 96px 0 40px; }
.ln2-hero__pill { height: 34px; padding: 0 17px; background: rgba(255,255,255,.14) !important; border: 1px solid #fff; color: #fff !important; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 22px !important; }
.pg2-ln-hero h1 { font-size: 58px; line-height: 70px; margin-bottom: 22px; }
.pg2-ln-hero h1 span { color: #8CD9EB; }
.pg2-ln-hero p { font-size: 19px; line-height: 31px; margin-bottom: 22px; }
.pg2-ln-hero .hv2-btn { height: 56px; margin-top: 6px; }
.ln2-points { gap: 10px 24px; margin-top: 22px !important; }
.ln2-points li::before { background: none; color: #8CD9EB; font-size: 15px; width: auto; height: auto; }
section.pg2-ln-hub, section.pg2-ln-toxins, section.pg2-ln-nano, section.pg2-ln-articles { padding: 96px 0; }
.pg2-ln-hub .hv2-head, .pg2-ln-toxins .hv2-head, .pg2-ln-articles .hv2-head { margin-bottom: 48px; }
.pg2-ln-hub .hv2-head .hv2-pill, .pg2-ln-toxins .hv2-head .hv2-pill, .pg2-ln-articles .hv2-head .hv2-pill { height: 39px; margin-bottom: 14px; }
.pg2-ln-hub .hv2-head h2, .pg2-ln-toxins .hv2-head h2, .pg2-ln-articles .hv2-head h2, .ln2-nano__copy h2 { font-size: 40px; line-height: 52px; margin-bottom: 14px; }
.pg2-ln-hub .hv2-head h2 span, .pg2-ln-toxins .hv2-head h2 span, .pg2-ln-articles .hv2-head h2 span, .ln2-nano__copy h2 span { color: var(--hv2-teal); }
.pg2-ln-hub .hv2-head p, .pg2-ln-toxins .hv2-head p, .pg2-ln-articles .hv2-head p { font-size: 18px; line-height: 30px; }
/* research hub + article cards: cream (hub) / white (articles) 350-wide cards, 16px inset photo 318 x 200 */
.ln2-card { border: 0; border-radius: 16px; background: #FCF4EA; padding: 16px 16px 28px; }
.pg2-ln-articles .ln2-card { background: #fff; }
.ln2-card:hover { transform: none; }
.ln2-card__img { aspect-ratio: auto; height: 200px; border-radius: 10px; }
.ln2-card__body { padding: 12px 8px 0; gap: 10px; }
.ln2-card h3 { font-size: 22px; line-height: 30px; font-weight: 800; }
.ln2-card__body > p:not(.ln2-card__kicker) { line-height: 24px !important; }
.ln2-card__cta { font-size: 15px; margin-top: 0; }
.ln2-hub { gap: 30px; }
/* modern toxins: white cards with a pale numbered badge */
.ln2-toxin { border: 1px solid #E6E6E6; border-radius: 16px; padding: 29px 25px; min-height: 326px; }
.ln2-toxin__num { width: 44px; height: 44px; background: rgba(63,167,194,.14) !important; color: #3FA7C2 !important; font-size: 15px !important; font-weight: 700 !important; margin-bottom: 14px; }
.ln2-toxin h3 { font-size: 20px; line-height: 28px; font-weight: 800; margin-bottom: 14px; }
.ln2-toxin p { line-height: 24px !important; }
.pg2-ln-toxins .ln2-center { margin-top: 48px !important; }
/* nano: white band (Steven), 520 x 400 photo, 64px gap */
section.pg2-ln-nano { background: #fff !important; }
.ln2-nano { grid-template-columns: 520px minmax(0, 1fr); gap: 64px; }
.ln2-nano__img { height: 400px; object-fit: cover; border-radius: 20px; }
.ln2-nano__copy p { font-size: 18px !important; line-height: 30px !important; margin-bottom: 20px !important; }
.ln2-link { font-size: 16px; }
/* featured articles: cream band (Steven) */
section.pg2-ln-articles { background: #FCF4EA !important; }
.pg2-ln-articles .ln2-center { margin-top: 48px !important; }
.pg2-ln-articles .ln2-center .hv2-btn { height: 56px; }
@media (max-width: 899px) {
    section.pg2-ln-hero { padding: 56px 0; min-height: 0; }
    .pg2-ln-hero h1 { font-size: 36px; line-height: 44px; }
    .pg2-ln-hero p { font-size: 16px; line-height: 26px; }
    section.pg2-ln-hub, section.pg2-ln-toxins, section.pg2-ln-nano, section.pg2-ln-articles { padding: 56px 0; }
    .pg2-ln-hub .hv2-head h2, .pg2-ln-toxins .hv2-head h2, .pg2-ln-articles .hv2-head h2, .ln2-nano__copy h2 { font-size: 28px; line-height: 36px; }
    .pg2-ln-hub .hv2-head p, .pg2-ln-toxins .hv2-head p, .pg2-ln-articles .hv2-head p { font-size: 15px; line-height: 23px; }
    .pg2-ln-hub .hv2-head, .pg2-ln-toxins .hv2-head, .pg2-ln-articles .hv2-head { margin-bottom: 24px; }
    .ln2-nano { grid-template-columns: 1fr; gap: 24px; }
    .ln2-nano__img { height: auto; }
    .ln2-toxin { min-height: 0; }
}
.ln2-hero__img { display: none; }
@media (max-width: 899px) {
    /* Learn Mobile frame: dark band, copy first, photo 390 x 300 below */
    section.pg2-ln-hero { background-image: none !important; background-color: #091411 !important; padding: 44px 0 24px; }
    .pg2-ln-hero::before { display: none; }
    .ln2-hero__pill { height: 31px; font-size: 12px; margin-bottom: 18px !important; }
    .pg2-ln-hero h1 { font-size: 38px; line-height: 46px; margin-bottom: 18px; }
    .pg2-ln-hero p { font-size: 16px; line-height: 26px; margin-bottom: 18px; }
    .pg2-ln-hero .hv2-btn { width: 100%; height: 56px; justify-content: center; text-transform: uppercase; }
    .ln2-points { gap: 10px 16px; margin-top: 18px !important; }
    .ln2-points li { font-size: 14px; }
    .ln2-hero__img { display: block; width: 100%; height: 300px; object-fit: cover; border-radius: 16px; margin-top: 40px; }
    section.pg2-ln-hub, section.pg2-ln-toxins { padding: 64px 0; }
    .pg2-ln-hub .hv2-head, .pg2-ln-toxins .hv2-head { margin-bottom: 28px; }
    .pg2-ln-hub .hv2-head p, .pg2-ln-toxins .hv2-head p { font-size: 16px; line-height: 26px; }
    .ln2-hub { grid-template-columns: 1fr; gap: 16px; }
    .ln2-card { padding: 12px 12px 20px; }
    .ln2-card__img { height: 180px; }
    .ln2-card__body { padding: 10px 4px 0; gap: 8px; }
    .ln2-card h3 { font-size: 20px; line-height: 26px; }
    .ln2-toxins { grid-template-columns: 1fr; gap: 12px; }
    .ln2-toxin { padding: 20px; }
    .ln2-toxin__num { width: 36px; height: 36px; margin-bottom: 10px; }
    .ln2-toxin h3 { margin-bottom: 10px; }
}

/* =====================================================================
   Hair Test to Steven's Hair Test frames (972:39 / 989:31), 13 Oct 2026.
   ===================================================================== */
/* eyebrow pills on this page: pale teal with teal type, as drawn */
[class^="pg2-ht-"] .hv2-pill--solid { background: rgba(63,167,194,.12) !important; color: var(--hv2-teal) !important; border: 1px solid var(--hv2-teal) !important; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; height: 39px; }
[class^="pg2-ht-"] .hv2-head h2 span, .ht2-pract h2 span { color: var(--hv2-teal); }
/* option cards: 540 wide, 38px inset, 464 x 440 photo, centred copy */
.pg2-ht-choose .ht2-options { gap: 30px; }
.ht2-option { overflow: visible; padding: 50px 38px 38px; border-radius: 19px; border: 0; }
.ht2-option--study { border: 2px solid var(--hv2-teal); padding: 48px 36px 36px; }
.ht2-option__badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); height: 25px; }
.ht2-option__img { width: 100%; height: 440px; max-height: none; aspect-ratio: auto; border-radius: 12px; }
.ht2-option__body { padding: 18px 0 0; gap: 18px; text-align: center; align-items: stretch; }
.ht2-option__kicker { font-size: 13px !important; font-weight: 600 !important; }
.ht2-option h3 { font-size: 28px; line-height: 34px; margin: 0; }
.ht2-option__text { font-size: 16px !important; line-height: 24px !important; }
.ht2-price { display: flex; align-items: baseline; justify-content: center; gap: 12px; margin: 0 !important; }
.ht2-price strong { font-size: 40px; line-height: 49px; font-weight: 800; color: #383838; }
.ht2-price del { font-size: 20px; font-weight: 600; color: #8C8C8C; }
.ht2-includes { text-align: left; font-size: 12px !important; font-weight: 700 !important; color: #8C8C8C !important; letter-spacing: .06em; text-transform: uppercase; margin: 0 !important; }
.ht2-option ul { text-align: left; }
.ht2-option ul li { font-size: 15px; line-height: 22px; color: #383838; margin-bottom: 12px; }
.ht2-option .ht2-order, .ht2-option .hv2-btn { height: 57px; border-radius: 8px; justify-content: center; gap: 10px; font-size: 17px; font-weight: 700; }
.ht2-studylinks { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 !important; font-size: 14px !important; font-weight: 600; color: #8C8C8C; }
.ht2-studylinks span { display: inline-grid; place-items: center; width: 18px; height: 18px; border: 1.6px solid var(--hv2-teal); border-radius: 50%; color: var(--hv2-teal); font-size: 11px; font-weight: 700; }
.ht2-studylinks a { color: var(--hv2-teal); }
.ht2-option__note { text-align: center; }
/* practitioners: 1440 x 600 photo, the white card overlapping its bottom 80px */
section.pg2-ht-pract { background: #F4FAFB !important; padding: 0 0 96px !important; }
.ht2-pract__photo { display: block; width: 100%; max-width: 1440px; height: 600px; margin: 0 auto; object-fit: cover; }
.pg2-ht-pract .ht2-pract { position: relative; margin-top: -80px; padding: 48px 56px; gap: 64px; border-radius: 24px; box-shadow: 0 18px 50px rgba(20,33,31,.10); }
.ht2-pract h2 { font-size: 40px; line-height: 47px; }
.ht2-pract p { font-size: 17px; line-height: 27px; }
/* between tests: Steven's MasterPeace buy box (photo 540 + buy column 540) */
.ht2-buybox { display: grid; grid-template-columns: 540px 540px; justify-content: space-between; align-items: start; gap: 30px; max-width: 1110px; margin: 0 auto; }
.ht2-buybox__img { width: 100%; height: 540px; object-fit: cover; border-radius: 20px; }
.ht2-buybox__body { padding-top: 16px; }
.ht2-buybox__pill { height: 31px; padding: 0 14px; background: rgba(63,167,194,.12) !important; border: 1px solid var(--hv2-teal); color: var(--hv2-teal) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px; }
.ht2-buybox h3 { font-size: 40px; line-height: 55px; font-weight: 800; margin: 0 0 10px; }
.ht2-buybox__text { font-size: 16px !important; line-height: 31px !important; color: #4C4C4C; margin: 0 0 24px !important; }
.ht2-buybox .hv2-options { max-width: 540px; }
.ht2-buybox .hv2-buy__row { margin-top: 18px; }
.ht2-buybox .ht2-add.is-busy { opacity: .6; pointer-events: none; }
@media (max-width: 1199px) { .ht2-buybox { grid-template-columns: 1fr 1fr; } .ht2-buybox__img { height: auto; aspect-ratio: 1; } }
@media (max-width: 899px) {
    .ht2-option, .ht2-option--study { padding: 36px 16px 24px; }
    .ht2-option__img { height: auto; aspect-ratio: 464 / 440; }
    .ht2-option h3 { font-size: 22px; line-height: 28px; }
    .ht2-price strong { font-size: 30px; line-height: 36px; }
    .ht2-pract__photo { height: 300px; }
    .pg2-ht-pract .ht2-pract { margin: -60px 0 0; padding: 28px 20px; gap: 24px; }
    .ht2-pract h2 { font-size: 28px; line-height: 34px; }
    section.pg2-ht-pract { padding-bottom: 56px !important; }
    .ht2-buybox { grid-template-columns: 1fr; gap: 24px; }
    .ht2-buybox h3 { font-size: 32px; line-height: 40px; }
}
section.pg2-ht-choose { background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
/* fixed-size photos must beat 'section[class^=pg2-] :where(img) { height: auto }' (0,1,1), or lazy images collapse to 0 */
section[class^="pg2-"] img.ht2-pract__photo { height: 600px; }
section[class^="pg2-"] img.ht2-option__img { height: 440px; }
section[class^="pg2-"] img.ht2-buybox__img { height: 540px; }
section[class^="pg2-"] img.ln2-nano__img { height: 400px; }
section[class^="pg2-"] .rs2-vcard img { height: 100%; }
@media (max-width: 1199px) { section[class^="pg2-"] img.ht2-buybox__img { height: auto; } }
@media (max-width: 899px) {
    section[class^="pg2-"] img.ht2-pract__photo { height: 300px; }
    section[class^="pg2-"] img.ht2-option__img { height: auto; }
    section[class^="pg2-"] img.ln2-nano__img { height: auto; }
    section[class^="pg2-"] img.ln2-hero__img { height: 300px; }
}
section[class^="pg2-"] img.ln2-hero__img { display: none; }
@media (max-width: 899px) { section[class^="pg2-"] img.ln2-hero__img { display: block; } }
/* ===== Toxin Assessment intro to Steven's frame (947:70): dark photo, copy left in white ===== */
section.pg2-ta-intro.ta2-intro--photo { position: relative; min-height: 722px; align-items: flex-start; text-align: left; padding: 110px 0 60px; background-color: #0C1A1F !important; background-size: cover !important; background-position: center right !important; }
.ta2-intro--photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,20,24,.92) 0%, rgba(8,20,24,.78) 38%, rgba(8,20,24,0) 70%); }
.ta2-intro--photo .hv2-wrap { position: relative; }
.ta2-intro--photo .hv2-pill { background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.7) !important; color: #fff !important; height: 39px; margin-bottom: 24px; }
.ta2-intro--photo h1 { color: #fff; font-size: 56px; line-height: 64px; max-width: 620px; margin-bottom: 24px; }
.ta2-intro--photo h1 span { color: #8CD9EB; }
.ta2-intro--photo .ta2-intro__sub { margin: 0 0 24px !important; max-width: 560px; font-size: 20px !important; line-height: 30px !important; color: #fff; }
.ta2-intro--photo .ta2-meta { justify-content: flex-start; gap: 10px 22px; margin-bottom: 24px !important; }
.ta2-intro--photo .ta2-meta li { color: #fff; font-size: 16px; font-weight: 600; }
.ta2-intro--photo .ta2-meta li::before { content: "\2713"; color: #fff; }
.ta2-intro--photo .ta2-start { height: 58px; min-width: 360px; justify-content: center; }
.ta2-intro--photo .ta2-intro__note { color: rgba(255,255,255,.85); }
section[class^="pg2-"] img.ta2-intro__img { display: none; }
@media (max-width: 899px) {
    section.pg2-ta-intro.ta2-intro--photo { min-height: 0; padding: 48px 0 24px; background-image: none !important; }
    .ta2-intro--photo::before { display: none; }
    .ta2-intro--photo h1 { font-size: 36px; line-height: 44px; }
    .ta2-intro--photo .ta2-intro__sub { font-size: 16px !important; line-height: 26px !important; }
    .ta2-intro--photo .ta2-start { width: 100%; min-width: 0; }
    section[class^="pg2-"] img.ta2-intro__img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: 70% 50%; border-radius: 16px; margin-top: 24px; }
}
@media (min-width: 900px) { section.pg2-ta-intro.ta2-intro--photo { background-image: url("../../img/quiz-v2/intro-hero.jpg") !important; } }

/* ===== Toxin Assessment quiz mode (Steven's Q1-Q10 + Lead Capture frames) ===== */
body.ta2-focus .hv2-announce, body.ta2-focus header.hv2-header, body.ta2-focus footer.hv2-footer, body.ta2-focus .sv2-note, body.ta2-focus .hv2-newsletter-popup { display: none !important; }
.ta2-bar__logo { display: none; }
body.ta2-focus section.pg2-ta-q, body.ta2-focus section.pg2-ta-lead { padding: 0 0 64px !important; background: #F4FAFB !important; min-height: 100vh; }
body.ta2-focus .ta2-q { display: flex; flex-direction: column; align-items: center; max-width: none; padding: 0; }
body.ta2-focus .ta2-bar { order: 0; align-self: stretch; display: flex; align-items: center; justify-content: space-between; height: 93px; margin: 0; padding: 0 80px; background: #fff; border-bottom: 1px solid #DEEBF0; position: relative; }
body.ta2-focus .ta2-bar__logo { display: block; }
body.ta2-focus .ta2-bar__logo img { height: 44px; width: auto; }
body.ta2-focus .ta2-bar__title { position: absolute; left: 50%; transform: translateX(-50%); font-size: 15px; font-weight: 600; color: #4C4C4C; white-space: nowrap; }
body.ta2-focus .ta2-exit { font-size: 15px; font-weight: 600; color: #4C4C4C; }
body.ta2-focus .ta2-q__meta { order: 1; align-self: stretch; display: flex; justify-content: space-between; margin: 20px 80px 10px !important; font-size: 13px; }
body.ta2-focus .ta2-q__cat { font-weight: 700; color: #3FA7C2; letter-spacing: .06em; text-transform: uppercase; }
body.ta2-focus .ta2-q__meta > span:last-child { font-weight: 600; color: #4C4C4C; }
body.ta2-focus .ta2-progress { order: 2; align-self: stretch; height: 8px; margin: 0 80px; border-radius: 999px; background: #DEEBF0; }
body.ta2-focus .ta2-progress i { border-radius: 999px; background: #3FA7C2; }
body.ta2-focus .ta2-q > h2, body.ta2-focus #ta2Q { order: 3; max-width: 760px; margin: 64px auto 0 !important; text-align: center; font-size: 40px; line-height: 48px; font-weight: 800; color: #383838; }
body.ta2-focus .ta2-q__hint { order: 4; margin: 28px 0 0 !important; text-align: center; font-size: 17px; font-weight: 500; color: #4C4C4C; }
body.ta2-focus .ta2-options { order: 5; width: 640px; max-width: calc(100% - 40px); margin-top: 28px; display: flex; flex-direction: column; gap: 14px; }
body.ta2-focus .ta2-opt { display: flex; align-items: center; gap: 16px; min-height: 68px; padding: 0 24px; border: 1px solid #DEEBF0; border-radius: 12px; background: #fff; text-align: left; font-size: 16px; font-weight: 600; color: #383838; }
body.ta2-focus .ta2-opt::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #C5C5C5; background: #fff; }
body.ta2-focus .ta2-opt:hover { border-color: #3FA7C2; }
body.ta2-focus .ta2-opt.is-selected { border-color: #3FA7C2; background: #F0FAFC; }
body.ta2-focus .ta2-opt.is-selected::before { border-color: #3FA7C2; box-shadow: inset 0 0 0 4px #fff; background: #3FA7C2; }
body.ta2-focus .ta2-back { order: 6; margin-top: 28px; }
body.ta2-focus .ta2-q__help { order: 7; margin: 28px 0 0 !important; text-align: center; font-size: 13px; color: #8C8C8C; }
@media (max-width: 899px) {
    body.ta2-focus .ta2-bar { height: 64px; padding: 0 16px; }
    body.ta2-focus .ta2-bar__logo img { height: 34px; }
    body.ta2-focus .ta2-bar__title { display: none; }
    body.ta2-focus .ta2-q__meta { margin: 14px 16px 8px !important; }
    body.ta2-focus .ta2-progress { margin: 0 16px; height: 6px; }
    body.ta2-focus .ta2-q > h2, body.ta2-focus #ta2Q { margin-top: 32px !important; font-size: 24px; line-height: 30px; padding: 0 16px; }
    body.ta2-focus .ta2-q__hint { margin-top: 12px !important; font-size: 14px; padding: 0 16px; }
    body.ta2-focus .ta2-options { margin-top: 20px; gap: 10px; }
    body.ta2-focus .ta2-opt { min-height: 54px; padding: 0 16px; font-size: 14px; }
}
.ta2-bar--lead { display: none; }
body.ta2-focus .ta2-bar--lead { display: flex; margin-bottom: 56px; }

/* ===== Quiz results: Steven's 3-step plan (949:167) ===== */
section.pg2-ta-plan { padding: 96px 0; }
.pg2-ta-plan .hv2-head { margin-bottom: 48px; }
.pg2-ta-plan .hv2-head h2 span { color: var(--hv2-teal); }
.pg2-ta-plan .ta2-steps { max-width: 1110px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.pg2-ta-plan .ta2-step { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 28px; align-items: center; padding: 30px 32px; border: 1px solid #DEEBF0; border-radius: 20px; background: #fff; }
.pg2-ta-plan .ta2-step__num { grid-row: 1 / span 2; width: 56px; height: 56px; font-size: 22px; }
.pg2-ta-plan .ta2-step h3 { grid-column: 2; align-self: end; margin: 0 0 6px; font-size: 21px; line-height: 27px; }
.pg2-ta-plan .ta2-step > p { grid-column: 2; align-self: start; margin: 0 !important; font-size: 15px; line-height: 24px; }
.pg2-ta-plan .ta2-step > .hv2-btn, .pg2-ta-plan .ta2-step > a.hv2-btn { grid-column: 3; grid-row: 1 / span 2; margin: 0; }
.pg2-ta-plan .ta2-step--mp { background: #F0FAFC; border: 2px solid #3FA7C2; }
.pg2-ta-plan .ta2-step--mp .ta2-offer { grid-column: 3; grid-row: 1 / span 2; display: flex; align-items: center; gap: 18px; width: 400px; margin: 0; padding: 18px 20px; border-radius: 14px; background: #fff; }
.pg2-ta-plan .ta2-offer img { width: 54px; height: auto; flex: none; }
.pg2-ta-plan .ta2-offer h4 { font-size: 22px; line-height: 28px; margin: 6px 0 4px; }
.pg2-ta-plan .ta2-offer__price { margin: 0 !important; font-size: 17px; font-weight: 700; color: #383838; }
.pg2-ta-plan .ta2-offer__sub { margin: 2px 0 12px !important; font-size: 14px; color: #4C4C4C; }
.pg2-ta-plan .ta2-offer .hv2-btn { width: 100%; height: 48px; justify-content: center; font-size: 17px; }
@media (max-width: 899px) {
    section.pg2-ta-plan { padding: 56px 0; }
    .pg2-ta-plan .ta2-step { grid-template-columns: 44px minmax(0, 1fr); padding: 20px; column-gap: 14px; }
    .pg2-ta-plan .ta2-step__num { grid-row: 1; width: 44px; height: 44px; font-size: 18px; }
    .pg2-ta-plan .ta2-step h3 { grid-column: 1 / -1; margin-top: 14px; }
    .pg2-ta-plan .ta2-step > p { grid-column: 1 / -1; }
    .pg2-ta-plan .ta2-step > .hv2-btn, .pg2-ta-plan .ta2-step > a.hv2-btn, .pg2-ta-plan .ta2-step--mp .ta2-offer { grid-column: 1 / -1; grid-row: auto; width: auto; margin-top: 16px; }
}
.pg2-ta-plan .hv2-head, [class^="pg2-ta-"] .hv2-head { max-width: 1110px; }
[class^="pg2-ta-"] .hv2-pill--solid:not(.ta2-intro--photo .hv2-pill) { background: rgba(63,167,194,.12) !important; color: var(--hv2-teal) !important; border: 1px solid var(--hv2-teal) !important; height: 39px; }
[class^="pg2-ta-"] .hv2-head h2 span { color: var(--hv2-teal); }

/* =====================================================================
   Contact Us to Steven's Contact Us frames (1041:45 / 1044:46), 13 Oct 2026.
   ===================================================================== */
.ct2-hero h1 span { color: var(--hv2-teal); }
.ct2-hero__pill { gap: 8px; }
.ct2-pill { height: 39px; padding: 0 18px; background: #fff !important; border: 1px solid var(--hv2-teal) !important; color: var(--hv2-teal) !important; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
/* quick answers band: teal at 5% */
section.pg2-ct-quick { background: rgba(63,167,194,.05) !important; padding: 88px 0 96px; }
.pg2-ct-quick .hv2-head { text-align: center; margin: 0 auto 44px; }
.pg2-ct-quick .hv2-head .hv2-pill { margin-bottom: 14px; }
.pg2-ct-quick .hv2-head h2 { font-size: 40px; line-height: 52px; margin: 0 0 14px; }
.pg2-ct-quick .hv2-head h2 span { color: var(--hv2-teal); }
.pg2-ct-quick .hv2-head p { margin: 0 !important; font-size: 18px; line-height: 22px; font-weight: 500; color: #4C4C4C; }
.ct2-search { position: relative; max-width: 820px; margin: 0 auto 44px; }
.ct2-search .search-icon { position: absolute; left: 20px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: #8C8C8C; pointer-events: none; }
.ct2-search .faq-search { width: 100%; height: 52px; padding: 0 20px 0 46px; border: 1px solid #D1D1D1; border-radius: 999px; background: #fff; font: 500 15px/1 Montserrat, sans-serif; color: #383838; outline: none; -webkit-appearance: none; }
.ct2-search .faq-search:focus { border-color: var(--hv2-teal); }
.ct2-search .faq-search::placeholder { color: #8C8C8C; }
.ct2-faq { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.ct2-faq .faq-item { border: 1px solid #E5E5E5; border-radius: 12px; background: #fff; overflow: hidden; }
.ct2-faq .faq-item.is-open { border-color: var(--hv2-teal); }
.ct2-faq .faq-item.is-hidden { display: none; }
.ct2-faq .faq-q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 71px; padding: 21px 25px; border: 0; background: none; text-align: left; font: 700 18px/22px Montserrat, sans-serif; color: #383838; cursor: pointer; }
.ct2-faq .faq-chevron { position: relative; flex: none; width: 15px; height: 15px; }
.ct2-faq .faq-chevron::before, .ct2-faq .faq-chevron::after { content: ""; position: absolute; left: 0; top: 6.5px; width: 15px; height: 2px; border-radius: 2px; background: var(--hv2-teal); transition: transform .2s; }
.ct2-faq .faq-chevron::after { transform: rotate(90deg); }
.ct2-faq .faq-item.is-open .faq-chevron::after { transform: rotate(0deg); }
.ct2-faq .faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.ct2-faq .faq-item.is-open .faq-a { max-height: 600px; }
.ct2-faq .faq-a__inner { padding: 0 25px 21px; font-size: 16px; line-height: 26px; font-weight: 500; color: #4C4C4C; }
.pg2-ct-quick .faq-no-results { display: none; max-width: 820px; margin: 16px auto 0; text-align: center; font-size: 15px; color: #4C4C4C; }
.pg2-ct-quick .faq-no-results a { color: var(--hv2-teal); font-weight: 700; }
/* contact band: form 630 + help column 440, 40 apart */
section.pg2-ct-contact { background: #fff !important; padding: 96px 0; }
.ct2-grid { display: grid; grid-template-columns: 630px 440px; gap: 40px; justify-content: center; align-items: start; }
.ct2-form { padding: 40px; border: 1px solid #E6E6E6; border-radius: 20px; background: #fff; text-align: left; }
.ct2-form h2 { margin: 0 0 6px; font-size: 28px; line-height: 36px; font-weight: 800; color: #383838; }
.ct2-form__sub { margin: 0 0 20px !important; font-size: 16px; line-height: 24px; font-weight: 500; color: #4C4C4C; }
.ct2-form form { display: flex; flex-direction: column; gap: 20px; }
.ct2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ct2-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ct2-field > label, .ct2-verify > label { margin: 0; font-size: 14px; line-height: 17px; font-weight: 600; color: #383838; }
.ct2-form input[type=text], .ct2-form input[type=email], .ct2-form input[type=tel], .ct2-form input[type=number], .ct2-form select, .ct2-form textarea { width: 100%; height: 56px; padding: 0 18px; border: 1px solid #D1D1D1; border-radius: 8px; background: #fff; font: 500 15px/1.4 Montserrat, sans-serif; color: #383838; box-shadow: none; outline: none; -webkit-appearance: none; appearance: none; }
.ct2-form textarea { height: 150px; padding: 16px 18px; resize: vertical; }
.ct2-form input:focus, .ct2-form select:focus, .ct2-form textarea:focus { border-color: var(--hv2-teal); }
.ct2-form ::placeholder { color: #9E9E9E; opacity: 1; }
.ct2-select { position: relative; display: block; }
.ct2-select::after { content: ""; position: absolute; right: 20px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid #8C8C8C; border-bottom: 2px solid #8C8C8C; transform: rotate(45deg); pointer-events: none; }
.ct2-form select { padding-right: 44px; cursor: pointer; }
.ct2-form select:invalid, .ct2-form select option[value=""] { color: #9E9E9E; }
.ct2-form select option { color: #383838; }
.ct2-form label.error { order: 3; margin: 0; font-size: 13px; font-weight: 600; color: #C0392B; }
.ct2-verify { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; min-height: 52px; padding: 0 8px 0 16px; border: 1px solid #D1D1D1; border-radius: 8px; background: #F7F7F7; flex-wrap: wrap; }
.ct2-verify > label { font-weight: 500; font-size: 15px; }
.ct2-verify .captcha-question { display: inline; margin: 0; font-weight: 700; font-size: 15px; }
.ct2-form .ct2-verify input { width: 96px; height: 38px; padding: 0 12px; }
.ct2-verify label.error { flex-basis: 100%; padding-bottom: 8px; }
.ct2-form .ct2-submit input { width: 100%; height: 56px; padding: 0 29px 0 0; border: 0; border-radius: 8px; background: var(--hv2-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='12' viewBox='0 0 17 12'%3E%3Cpath d='M0 6h15M10 1l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right calc(50% - 74px) center; font: 600 16px/1 Montserrat, sans-serif; color: #fff; cursor: pointer; transition: background-color .2s; }
.ct2-form .ct2-submit input:hover { background-color: #3596AF; }
.ct2-form .ct2-submit input:disabled { background-image: none; padding: 0; opacity: .7; cursor: default; }
.ct2-mail { margin: 0 !important; text-align: center; font-size: 15px; font-weight: 500; color: #4C4C4C; }
.ct2-mail a { color: var(--hv2-teal); font-weight: 700; }
.ct2-form .alert { margin-bottom: 16px; border-radius: 8px; font-size: 15px; }
/* help column: cream order card + tips card */
.ct2-help { display: flex; flex-direction: column; gap: 20px; }
.ct2-order { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 32px; border-radius: 20px; background: #FCF4EA; }
.ct2-order h3 { margin: 0; font-size: 22px; line-height: 30px; font-weight: 800; color: #383838; }
.ct2-order > p { margin: 0 !important; font-size: 15px; line-height: 24px; font-weight: 500; color: #4C4C4C; }
.ct2-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; align-self: stretch; }
.ct2-steps li { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 22px; font-weight: 600; color: #383838; }
.ct2-steps li strong { font-weight: 700; }
.ct2-steps .ct2-step__n { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-size: 13px; font-weight: 700; }
.ct2-order__btn { align-self: stretch; height: 56px; justify-content: center; gap: 12px; border-radius: 8px; font-size: 16px; font-weight: 600; }
.ct2-tips { display: flex; flex-direction: column; gap: 14px; padding: 29px; border: 1px solid #E6E6E6; border-radius: 20px; background: #fff; }
.ct2-tips h4 { margin: 0 0 6px; font-size: 15px; line-height: 18px; font-weight: 700; color: #383838; }
.ct2-tips p { margin: 0 !important; font-size: 14px; line-height: 22px; font-weight: 500; color: #4C4C4C; }
@media (max-width: 1199px) { .ct2-grid { grid-template-columns: minmax(0, 1.43fr) minmax(0, 1fr); } }
@media (max-width: 899px) {
    section.pg2-ct-quick { padding: 56px 0; }
    .pg2-ct-quick .hv2-head { margin-bottom: 10px; }
    .pg2-ct-quick .hv2-head .hv2-pill, .ct2-pill { height: 33px; padding: 0 14px; font-size: 12px; }
    .pg2-ct-quick .hv2-head .hv2-pill { margin-bottom: 12px; }
    .pg2-ct-quick .hv2-head h2 { font-size: 28px; line-height: 36px; margin-bottom: 12px; }
    .pg2-ct-quick .hv2-head p { font-size: 15px; line-height: 18px; }
    .ct2-search { margin-bottom: 10px; }
    .ct2-search .faq-search { height: 48px; }
    .ct2-faq { gap: 10px; }
    .ct2-faq .faq-q { min-height: 61px; padding: 17px 19px; font-size: 16px; line-height: 22px; }
    .ct2-faq .faq-a__inner { padding: 0 19px 17px; font-size: 15px; line-height: 25px; }
    section.pg2-ct-contact { padding: 56px 0; }
    .ct2-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .ct2-form { padding: 28px 20px; border-radius: 16px; }
    .ct2-form h2 { font-size: 24px; line-height: 32px; }
    .ct2-form__sub { font-size: 15px; line-height: 22px; }
    .ct2-form form { gap: 16px; }
    .ct2-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .ct2-form textarea { height: 140px; }
    .ct2-mail { font-size: 14px; }
    .ct2-order { padding: 28px 20px; border-radius: 16px; }
    .ct2-tips { padding: 28px 20px; border-radius: 16px; gap: 16px; }
}

/* Contact: accordion rows measured to Steven (71 closed / 187 open incl. border), email line 18 */
.ct2-faq .faq-q { min-height: 0; padding: 20px 24px; line-height: 29px; }
.ct2-faq .faq-item.is-open .faq-q { padding-bottom: 12px; }
.ct2-faq .faq-a__inner { padding: 0 24px 20px; }
.ct2-mail { line-height: 18px; }
.pg2-ct-quick .hv2-head h2 { max-width: none; }
@media (max-width: 899px) {
    .ct2-faq .faq-q { padding: 16px 18px; line-height: 22px; }
    .ct2-faq .faq-item.is-open .faq-q { padding-bottom: 10px; }
    .ct2-faq .faq-a__inner { padding: 0 18px 16px; }
}
section.pg2-ct-quick .hv2-head .hv2-pill { margin-bottom: 14px; }
section.pg2-ct-quick .hv2-head p { line-height: 22px; }
section.pg2-ct-contact .ct2-form p.ct2-mail { line-height: 18px; }
@media (max-width: 899px) { section.pg2-ct-quick .hv2-head .hv2-pill { margin-bottom: 12px; } section.pg2-ct-quick .hv2-head p { line-height: 18px; } }
section.pg2-ct-contact .ct2-tips h4 { margin: 0 0 6px; font-size: 15px !important; line-height: 18px !important; font-weight: 700; letter-spacing: 0; }
section.pg2-ct-contact .ct2-order h3 { font-size: 22px; line-height: 30px; letter-spacing: 0; }

/* =====================================================================
   Practitioners to Steven's Practitioners frames (1093:69 / 1093:846), 13 Oct 2026.
   ===================================================================== */
[class^="pg2-pr-"] .pr2-head { text-align: center; max-width: 780px; margin: 0 auto 48px; }
[class^="pg2-pr-"] .pr2-head .hv2-pill { margin-bottom: 14px; }
[class^="pg2-pr-"] h2 { font-size: 40px !important; line-height: 52px !important; font-weight: 800; color: #383838; margin: 0 0 14px; letter-spacing: 0; }
[class^="pg2-pr-"] h2 span { color: var(--hv2-teal); }
[class^="pg2-pr-"] .pr2-head p { max-width: 720px; margin: 0 auto !important; font-size: 18px; line-height: 30px; font-weight: 500; color: #4C4C4C; }
.pr2-pill { height: 39px; padding: 0 18px; background: #fff !important; border: 1px solid var(--hv2-teal) !important; color: var(--hv2-teal) !important; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.pr2-chk { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--hv2-teal); }
.pr2-center { text-align: center; margin: 48px 0 0 !important; }
[class^="pg2-pr-"] .hv2-btn { height: 56px; padding: 0 32px; gap: 12px; border-radius: 8px; font-size: 16px; font-weight: 700; justify-content: center; }
/* hero: full-bleed photo, dark wash from the left */
section.pg2-pr-hero { position: relative; min-height: 686px; display: flex; align-items: flex-start; padding: 49px 0 48px; background: #121A1F; overflow: hidden; }
section.pg2-pr-hero img.pr2-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
section.pg2-pr-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(18,26,31,.92) 0%, rgba(18,26,31,.78) 30%, rgba(18,26,31,.35) 50%, rgba(18,26,31,0) 66%); }
.pg2-pr-hero .hv2-wrap { position: relative; z-index: 2; width: 100%; }
.pr2-hero__copy { max-width: 650px; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.pr2-hero__pill { height: 39px; padding: 0 18px; background: rgba(13,23,28,.35) !important; border: 1px solid var(--hv2-teal) !important; color: #73CCE3 !important; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; margin: 0; }
.pg2-pr-hero h1 { max-width: 560px; margin: 0; font-size: 44px !important; line-height: 49px !important; font-weight: 800; color: #fff; letter-spacing: 0; }
.pg2-pr-hero h1 span { color: var(--hv2-teal); }
.pr2-hero__copy > p:not(.pr2-hero__btns) { max-width: 500px; margin: 0 !important; font-size: 18px; line-height: 27px; font-weight: 500; color: #fff; }
.pr2-points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pr2-points li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 23px; font-weight: 500; color: rgba(255,255,255,.92); }
.pr2-points--dark li { color: #383838; line-height: 24px; }
.pr2-points--dark .pr2-chk { width: 20px; height: 20px; margin-top: 2px; }
.pr2-hero__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 0 !important; }
.pg2-pr-hero .pr2-hero__btns .hv2-btn { height: 57px; font-size: 17px; }
.pg2-pr-hero .pr2-hero__btns .pr2-btn--glass { height: 60px; background: rgba(255,255,255,.06) !important; border: 1.5px solid #fff !important; color: #fff !important; }
.pg2-pr-hero .pr2-btn--glass:hover { background: rgba(255,255,255,.14) !important; }
/* why clinics */
section.pg2-pr-why { background: #fff !important; padding: 100px 0; }
.pr2-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.pr2-why__card { min-height: 362px; padding: 28px 26px; border-radius: 16px; background: #FCF4EA; display: flex; flex-direction: column; gap: 14px; }
.pr2-why__num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(63,167,194,.14); color: var(--hv2-teal); font-size: 18px; font-weight: 700; }
[class^="pg2-pr-"] .pr2-why__card h3 { margin: 0; font-size: 18px !important; line-height: 24px !important; font-weight: 700; color: #383838; }
.pr2-why__card p, .pr2-diff__card p { margin: 0 !important; font-size: 15px; line-height: 23px; font-weight: 400; color: #4C4C4C; }
/* what makes it different */
section.pg2-pr-diff { background: #FCF4EA !important; padding: 100px 0; }
.pr2-diff { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.pr2-diff__card { min-height: 226px; padding: 28px; border-radius: 16px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pr2-diff__card .pr2-chk { width: 28px; height: 28px; }
[class^="pg2-pr-"] .pr2-diff__card h3, [class^="pg2-pr-"] .pr2-research__list h3 { margin: 0; font-size: 19px !important; line-height: 26px !important; font-weight: 700; color: #383838; }
.pr2-formula { max-width: 1110px; margin: 48px auto 0; padding: 44px 56px; border-radius: 20px; background: #12171A; }
.pr2-formula span { display: block; margin-bottom: 14px; font-size: 12px; line-height: 15px; font-weight: 700; color: #8CD9EB; text-transform: uppercase; letter-spacing: .08em; }
.pr2-formula p { margin: 0 !important; font-size: 24px; line-height: 34px; font-weight: 600; color: #fff; }
/* partnership options */
section.pg2-pr-partner { padding: 100px 0; background-color: #EAF6F9 !important; background-size: cover !important; background-position: center !important; }
.pr2-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.pr2-option { min-height: 550px; padding: 32px 30px; border-radius: 19px; background: #fff; display: flex; flex-direction: column; gap: 18px; }
.pr2-option__kicker { display: block; text-align: center; font-size: 12px; line-height: 15px; font-weight: 700; color: var(--hv2-teal); text-transform: uppercase; letter-spacing: .08em; }
[class^="pg2-pr-"] .pr2-option h3 { min-height: 60px; margin: 0; padding-bottom: 18px; border-bottom: 1px solid #E3E0DB; text-align: center; font-size: 24px !important; line-height: 30px !important; font-weight: 800; color: #383838; display: flex; align-items: center; justify-content: center; box-sizing: content-box; }
.pr2-option ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pr2-option li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 24px; font-weight: 500; color: #383838; }
.pr2-option li .pr2-chk { width: 20px; height: 20px; margin-top: 2px; }
.pr2-option .hv2-btn { margin-top: auto; width: 100%; padding: 0 16px; }
/* clinical & research */
section.pg2-pr-research { background: #FCF4EA !important; padding: 100px 0; }
.pr2-research { display: grid; grid-template-columns: minmax(0, 634px) minmax(0, 420px); gap: 56px; justify-content: space-between; max-width: 1110px; }
.pr2-research__main .hv2-pill { margin-bottom: 14px; }
.pr2-research__main h2 { margin-bottom: 28px !important; }
.pr2-research__list { list-style: none; margin: 0; padding: 0; }
.pr2-research__list li { display: flex; align-items: flex-start; gap: 16px; padding: 28px 0; border-top: 1px solid #E3E0DB; }
.pr2-research__list li:first-child { padding-top: 0; border-top: 0; }
.pr2-research__list li:last-child { padding-bottom: 0; }
.pr2-research__list .pr2-chk { width: 24px; height: 24px; }
.pr2-research__list h3 { margin-bottom: 6px !important; }
.pr2-research__list p { margin: 0 !important; font-size: 15px; line-height: 23px; color: #4C4C4C; }
.pr2-research__side { display: flex; flex-direction: column; gap: 20px; }
.pr2-info { padding: 29px; border: 1px solid var(--hv2-teal); border-radius: 16px; background: #fff; display: flex; flex-direction: column; gap: 12px; }
.pr2-info span { font-size: 12px; line-height: 15px; font-weight: 700; color: var(--hv2-teal); text-transform: uppercase; letter-spacing: .08em; }
.pr2-info p { margin: 0 !important; font-size: 16px; line-height: 25px; font-weight: 500; color: #383838; }
.pr2-info a { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: var(--hv2-teal); }
/* ideal clinic types (dark) */
section.pg2-pr-types { background: #12171A !important; padding: 100px 0; }
.pg2-pr-types h2 { color: #fff !important; }
.pg2-pr-types h2 span { color: #8CD9EB !important; }
.pg2-pr-types .pr2-head p { color: rgba(255,255,255,.82) !important; }
.pr2-pill--dark { background: rgba(255,255,255,.12) !important; border-color: #fff !important; color: #fff !important; }
.pr2-chips { list-style: none; max-width: 900px; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.pr2-chips li { display: inline-flex; align-items: center; height: 48px; padding: 0 23px; border: 1px solid #8CD9EB; border-radius: 999px; background: rgba(63,167,194,.16); font-size: 16px; font-weight: 600; color: #fff; }
/* videos */
section.pg2-pr-videos { background: #fff !important; padding: 100px 0; }
.pr2-videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.pr2-video { padding: 16px 16px 20px; border-radius: 16px; background: #FCF4EA; }
.pr2-video__thumb, .pr2-video iframe { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 511 / 289; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: #000; cursor: pointer; }
.pr2-video__thumb { aspect-ratio: auto; }
.pr2-video__thumb::before { content: ""; display: block; padding-top: 56.5558%; pointer-events: none; }
section.pg2-pr-videos .pr2-video__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pr2-video__play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: var(--hv2-teal); box-shadow: 0 6px 20px rgba(0,0,0,.25); transition: transform .2s; }
.pr2-video__play::after { content: ""; position: absolute; left: 26px; top: 21px; border-left: 18px solid #fff; border-top: 11px solid transparent; border-bottom: 11px solid transparent; }
.pr2-video__thumb:hover .pr2-video__play { transform: scale(1.06); }
[class^="pg2-pr-"] .pr2-video h3 { margin: 14px 8px 4px; font-size: 19px !important; line-height: 26px !important; font-weight: 700; color: #383838; }
.pr2-video p { margin: 0 8px !important; font-size: 14px; line-height: 17px; color: #4C4C4C; }
/* apply */
section.pg2-pr-apply { background: #FCF4EA !important; padding: 100px 0; scroll-margin-top: 90px; }
.pr2-apply { display: grid; grid-template-columns: minmax(0, 494px) minmax(0, 560px); gap: 56px; justify-content: space-between; max-width: 1110px; align-items: start; }
.pr2-apply__intro { display: flex; flex-direction: column; align-items: flex-start; }
.pr2-apply__intro .hv2-pill { margin-bottom: 14px; }
.pr2-apply__intro h2 { white-space: normal; }
.pr2-apply__intro > p { margin: 0 0 20px !important; font-size: 18px; line-height: 30px; font-weight: 500; color: #4C4C4C; }
.pr2-apply__card { padding: 36px; border-radius: 20px; background: #fff; }
.pr2-apply__card form { display: flex; flex-direction: column; gap: 18px; }
.pr2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pr2-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pr2-field label:not(.error) { margin: 0; font-size: 13px; line-height: 16px; font-weight: 600; color: #383838; }
.pr2-field input, .pr2-field textarea { width: 100%; height: 50px; padding: 0 16px; border: 1px solid #E3E0DB; border-radius: 10px; background: #fff; font: 400 15px/1.4 Montserrat, sans-serif; color: #383838; outline: none; box-shadow: none; }
.pr2-field textarea { height: 120px; padding: 14px 16px; resize: vertical; }
.pr2-field input:focus, .pr2-field textarea:focus { border-color: var(--hv2-teal); }
.pr2-field ::placeholder { color: #8C8C8C; opacity: 1; }
.pr2-field label.error { font-size: 12px; font-weight: 600; color: #C0392B; }
.pr2-submit { height: 56px; border: 0; border-radius: 8px; background: var(--hv2-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='12' viewBox='0 0 17 12'%3E%3Cpath d='M0 6h15M10 1l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right calc(50% - 105px) center; padding: 0 29px 0 0; font: 700 16px/1 Montserrat, sans-serif; color: #fff; cursor: pointer; }
.pr2-submit:hover { background-color: #3596AF; }
.pr2-submit:disabled { background-image: none; padding: 0; opacity: .7; }
.pr2-apply__card .practitioner_apply-success, .pr2-apply__card .practitioner_apply-error { margin-bottom: 16px; padding: 14px 16px; border-radius: 10px; font-size: 15px; line-height: 22px; }
.pr2-apply__card .practitioner_apply-success { background: #E8F6EE; color: #1E6B3C; }
.pr2-apply__card .practitioner_apply-error { background: #FBEAEA; color: #9B2C2C; }
/* disclaimer */
section.pg2-pr-disclaimer { background: #fff !important; padding: 40px 0; }
.pg2-pr-disclaimer p { max-width: 940px; margin: 0 auto !important; text-align: center; font-size: 13px; line-height: 19.5px; font-weight: 500; color: #4C4C4C; }
@media (max-width: 1199px) {
    .pr2-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr2-why__card { min-height: 0; }
    .pr2-options, .pr2-diff { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr2-apply__intro h2 { white-space: normal; }
}
@media (max-width: 899px) {
    [class^="pg2-pr-"] .pr2-head { margin-bottom: 32px; }
    [class^="pg2-pr-"] .pr2-head .hv2-pill, .pr2-research__main .hv2-pill, .pr2-apply__intro .hv2-pill { margin-bottom: 12px; }
    .pr2-pill { height: 33px; padding: 0 14px; font-size: 12px; }
    [class^="pg2-pr-"] h2 { font-size: 28px !important; line-height: 36px !important; margin-bottom: 12px; }
    [class^="pg2-pr-"] .pr2-head p, .pr2-apply__intro > p { font-size: 16px; line-height: 26px; }
    section.pg2-pr-hero { display: block; min-height: 0; padding: 310px 0 48px; }
    section.pg2-pr-hero img.pr2-hero__img { bottom: auto; height: 310px; object-position: 60% center; }
    section.pg2-pr-hero::before { bottom: auto; height: 310px; background: linear-gradient(180deg, rgba(18,26,31,0) 55%, #121A1F 100%); }
    .pr2-hero__copy { max-width: none; align-items: center; text-align: center; gap: 20px; }
    .pg2-pr-hero h1 { font-size: 36px !important; line-height: 42.5px !important; }
    .pr2-hero__copy > p:not(.pr2-hero__btns) { font-size: 16px; line-height: 24px; }
    .pr2-hero__copy .pr2-points { align-self: stretch; text-align: left; }
    .pr2-hero__copy .pr2-points li { font-size: 15px; line-height: 22px; }
    .pr2-hero__btns { flex-direction: column; align-self: stretch; gap: 12px; }
    .pg2-pr-hero .pr2-hero__btns .hv2-btn { width: 100%; height: 56px; font-size: 16px; }
    .pg2-pr-hero .pr2-hero__btns .pr2-btn--glass { height: 59px; }
    section.pg2-pr-why, section.pg2-pr-diff, section.pg2-pr-partner, section.pg2-pr-research, section.pg2-pr-types, section.pg2-pr-videos, section.pg2-pr-apply { padding: 56px 0; }
    .pr2-why, .pr2-diff, .pr2-options, .pr2-videos { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .pr2-why__card { padding: 22px; }
    .pr2-diff__card { min-height: 0; padding: 22px; }
    .pr2-center { margin-top: 32px !important; }
    .pr2-center .hv2-btn { width: 100%; }
    .pr2-formula { margin-top: 32px; padding: 32px 24px; }
    .pr2-formula p { font-size: 19px; line-height: 28px; }
    .pr2-option { min-height: 0; padding: 26px 22px 22px; }
    [class^="pg2-pr-"] .pr2-option h3 { min-height: 0; }
    .pr2-option li { font-size: 15px; line-height: 22px; }
    .pr2-option .hv2-btn { margin-top: 0; }
    .pr2-research, .pr2-apply { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .pr2-research__list li { padding: 22px 0; }
    .pr2-info { padding: 26px 22px; }
    .pr2-chips li { height: auto; min-height: 44px; padding: 10px 18px; font-size: 15px; text-align: center; }
    .pr2-video { padding: 12px 12px 18px; }
    .pr2-apply__card { padding: 24px 20px; }
    .pr2-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
[class^="pg2-pr-"] .hv2-head.pr2-head { max-width: 1110px; }

/* =====================================================================
   Referral Program to Steven's Referral Program frames (1045:47 / 1048:48), 13 Oct 2026.
   ===================================================================== */
.rf2-hero__pill { gap: 8px; }
[class^="pg2-rf-"] .rf2-head { text-align: center; max-width: 1110px; margin: 0 auto 48px; }
[class^="pg2-rf-"] .rf2-head .hv2-pill { margin-bottom: 14px; }
[class^="pg2-rf-"] h2 { font-size: 40px !important; line-height: 52px !important; font-weight: 800; color: #383838; margin: 0 0 14px; letter-spacing: 0; }
[class^="pg2-rf-"] .rf2-head h2:last-child { margin-bottom: 0; }
[class^="pg2-rf-"] h2 span { color: var(--hv2-teal); }
[class^="pg2-rf-"] .rf2-head p { max-width: 760px; margin: 0 auto !important; font-size: 18px; line-height: 30px; font-weight: 500; color: #4C4C4C; }
.rf2-pill { height: 39px; padding: 0 18px; background: #fff !important; border: 1px solid var(--hv2-teal) !important; color: var(--hv2-teal) !important; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
[class^="pg2-rf-"] .hv2-btn { height: 56px; padding: 0 32px; gap: 12px; border-radius: 8px; font-size: 16px; font-weight: 600; justify-content: center; }
[class^="pg2-rf-"] h3 { letter-spacing: 0; }
.rf2-link { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; line-height: 18px; font-weight: 700; color: var(--hv2-teal); }
/* highlights */
section.pg2-rf-highlights { background: #fff !important; padding: 64px 0 80px; }
.rf2-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; max-width: 1110px; margin: 0 auto; }
.rf2-stat { min-height: 158px; padding: 29px 24px; border: 1px solid var(--hv2-teal); border-radius: 16px; background: rgba(63,167,194,.06); display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.rf2-stat strong { font-size: 40px; line-height: 48px; font-weight: 800; color: var(--hv2-teal); }
.rf2-stat span { max-width: 212px; font-size: 15px; line-height: 22px; font-weight: 600; color: #383838; }
.rf2-why { max-width: 760px; margin: 40px auto 0; text-align: center; }
[class^="pg2-rf-"] .rf2-why h2 { font-size: 28px !important; line-height: 36px !important; margin: 0 0 14px; }
.rf2-why p { margin: 0 !important; font-size: 18px; line-height: 30px; font-weight: 500; color: #4C4C4C; }
.rf2-btns { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; margin: 40px 0 0 !important; }
[class^="pg2-rf-"] .rf2-btn--outline { height: 59px; padding: 0 33px; background: transparent !important; border: 1.5px solid var(--hv2-teal) !important; color: var(--hv2-teal) !important; }
[class^="pg2-rf-"] .rf2-btn--outline:hover { background: rgba(63,167,194,.08) !important; }
/* how it works */
section.pg2-rf-how { background: #FCF4EA !important; padding: 96px 0; }
.rf2-steps { list-style: none; margin: 0 auto; padding: 0; max-width: 1110px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.rf2-step { min-height: 336px; padding: 28px 24px; border-radius: 16px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.rf2-step__num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--hv2-teal); color: #fff; font-size: 18px; font-weight: 800; }
[class^="pg2-rf-"] .rf2-step h3, [class^="pg2-rf-"] .rf2-pay__card h3, [class^="pg2-rf-"] .rf2-learn__card h3 { margin: 0; font-size: 20px !important; line-height: 28px !important; font-weight: 800; color: #383838; }
.rf2-step p, .rf2-pay__card p, .rf2-learn__card p { margin: 0 !important; font-size: 15px; line-height: 24px; font-weight: 500; color: #4C4C4C; }
/* tiers */
section.pg2-rf-tiers { background: #fff !important; padding: 96px 0; }
.rf2-tiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.rf2-tier { min-height: 259px; padding: 40px; border-radius: 20px; display: flex; flex-direction: column; gap: 12px; }
.rf2-tier span { font-size: 13px; line-height: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.rf2-tier strong { font-size: 72px; line-height: 80px; font-weight: 800; }
.rf2-tier p { max-width: 462px; margin: 0 !important; font-size: 18px; line-height: 28px; font-weight: 600; }
.rf2-tier--1 { background: var(--hv2-teal); color: #fff; }
.rf2-tier--1 span, .rf2-tier--1 strong, .rf2-tier--1 p { color: #fff; }
.rf2-tier--2 { background: #fff; border: 1.5px solid var(--hv2-teal); }
.rf2-tier--2 span, .rf2-tier--2 strong { color: var(--hv2-teal); }
.rf2-tier--2 p { color: #383838; }
.rf2-exceptions { max-width: 1110px; margin: 48px auto 0; padding: 24px 28px; border-radius: 14px; background: #FCF4EA; }
[class^="pg2-rf-"] .rf2-exceptions h3 { margin: 0 0 10px; font-size: 16px !important; line-height: 20px !important; font-weight: 700; color: #383838; }
.rf2-exceptions ul { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rf2-exceptions li { position: relative; padding-left: 18px; font-size: 15px; line-height: 24px; font-weight: 500; color: #4C4C4C; }
.rf2-exceptions li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 5px; height: 5px; border-radius: 50%; background: #4C4C4C; }
.rf2-exceptions p { margin: 0 !important; font-size: 14px; line-height: 22px; font-weight: 500; color: #8C8C8C; }
/* getting paid (teal 5%) */
section.pg2-rf-paid { background: rgba(63,167,194,.05) !important; padding: 96px 0; }
.rf2-pay { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.rf2-pay__card { min-height: 256px; padding: 29px; border: 1px solid #E6E6E6; border-radius: 16px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.rf2-pay__card > span { font-size: 13px; line-height: 16px; font-weight: 700; color: var(--hv2-teal); text-transform: uppercase; letter-spacing: .04em; }
.rf2-details { max-width: 1110px; margin: 48px auto 0; padding: 24px 32px; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.rf2-details > div { max-width: 622px; }
[class^="pg2-rf-"] .rf2-details h3 { margin: 0 0 6px; font-size: 16px !important; line-height: 20px !important; font-weight: 700; color: #383838; }
.rf2-details > div p { margin: 0 !important; font-size: 14px; line-height: 22px; font-weight: 500; color: #4C4C4C; }
.rf2-details__mail { margin: 0 !important; font-size: 15px; font-weight: 600; color: #383838; white-space: nowrap; }
.rf2-details__mail a { color: var(--hv2-teal); }
/* keep learning */
section.pg2-rf-learn { background: #fff !important; padding: 96px 0; }
.rf2-learn { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.rf2-learn__card { min-height: 170px; padding: 28px; border-radius: 16px; background: #FCF4EA; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-decoration: none !important; transition: box-shadow .2s; }
.rf2-learn__card:hover { box-shadow: 0 10px 30px rgba(20,33,31,.08); }
/* final CTA + note */
section.pg2-rf-cta { background: #383838 !important; padding: 88px 0; text-align: center; }
[class^="pg2-rf-"].pg2-rf-cta h2 { color: #fff; margin: 0 0 20px; }
.pg2-rf-cta p { margin: 0 0 20px !important; font-size: 18px; line-height: 22px; font-weight: 500; color: #D9D9D9; }
.pg2-rf-cta .hv2-btn { height: 57px; text-transform: uppercase; }
section.pg2-rf-note { background: #fff !important; padding: 24px 0; }
.pg2-rf-note p { max-width: 1110px; margin: 0 auto !important; text-align: center; font-size: 13px; line-height: 20px; font-weight: 500; color: #8C8C8C; }
.pg2-rf-note a { color: #8C8C8C; text-decoration: underline; }
@media (max-width: 1199px) {
    .rf2-stats, .rf2-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rf2-step { min-height: 0; }
    .rf2-details { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 899px) {
    [class^="pg2-rf-"] .rf2-head { margin-bottom: 24px; }
    [class^="pg2-rf-"] .rf2-head .hv2-pill { margin-bottom: 12px; }
    .rf2-pill { height: 33px; padding: 0 14px; font-size: 12px; }
    [class^="pg2-rf-"] h2 { font-size: 28px !important; line-height: 36px !important; margin-bottom: 12px; }
    [class^="pg2-rf-"] .rf2-head p { font-size: 16px; line-height: 26px; }
    section.pg2-rf-highlights { padding: 56px 0; }
    .rf2-stats { gap: 12px; }
    .rf2-stat { min-height: 0; padding: 20px 12px; border-radius: 14px; gap: 6px; }
    .rf2-stat strong { font-size: 28px; line-height: 34px; }
    .rf2-stat span { font-size: 14px; line-height: 20px; }
    .rf2-why { margin-top: 24px; }
    [class^="pg2-rf-"] .rf2-why h2 { font-size: 22px !important; line-height: 30px !important; margin-bottom: 10px; }
    .rf2-why p { font-size: 16px; line-height: 26px; }
    .rf2-btns { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 24px !important; }
    .rf2-btns .hv2-btn { width: 100%; }
    section.pg2-rf-how, section.pg2-rf-tiers, section.pg2-rf-paid, section.pg2-rf-learn { padding: 56px 0; }
    .rf2-steps, .rf2-tiers, .rf2-pay, .rf2-learn { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .rf2-step, .rf2-pay__card, .rf2-learn__card { min-height: 0; padding: 22px; gap: 10px; }
    .rf2-step__num { width: 40px; height: 40px; font-size: 17px; }
    .rf2-tier { min-height: 0; padding: 28px 24px; border-radius: 16px; gap: 10px; }
    .rf2-tier strong { font-size: 56px; line-height: 62px; }
    .rf2-tier p { font-size: 16px; line-height: 25px; }
    .rf2-exceptions { margin-top: 24px; padding: 22px; border-radius: 16px; }
    .rf2-details { margin-top: 24px; padding: 22px; border-radius: 16px; }
    .rf2-details__mail { white-space: normal; }
    section.pg2-rf-cta { padding: 56px 0; }
    .pg2-rf-cta p { font-size: 16px; line-height: 24px; }
    .pg2-rf-cta .hv2-btn { width: 100%; }
}
.rf2-link { gap: 8px; white-space: nowrap; }
section[class^="pg2-rf-"] .rf2-head .hv2-pill { margin-bottom: 14px; }
@media (max-width: 899px) { section[class^="pg2-rf-"] .rf2-head .hv2-pill { margin-bottom: 12px; } .rf2-link { white-space: normal; } }
@media (max-width: 899px) {
    .rf2-step { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; row-gap: 10px; align-items: center; }
    .rf2-step .rf2-step__num { width: 36px; height: 36px; font-size: 16px; }
    [class^="pg2-rf-"] .rf2-step h3 { font-size: 19px !important; line-height: 26px !important; }
    .rf2-step p, .rf2-step .rf2-link { grid-column: 1 / -1; justify-self: start; }
}

/* =====================================================================
   Hair Test for Practitioners to Steven's frames (992:32 / 1000:33), 13 Oct 2026.
   Hero shares the Practitioners hero (.pg2-pr-hero); the rest is .pg2-hp-*.
   ===================================================================== */
section.pg2-hp-hero { padding-top: 113px; }
.pg2-hp-hero .pr2-hero__copy { max-width: 598px; }
[class^="pg2-hp-"] .hp2-head { text-align: center; max-width: 900px; margin: 0 auto 48px; }
section[class^="pg2-hp-"] .hp2-head .hv2-pill { margin-bottom: 16px; }
[class^="pg2-hp-"] h2 { font-size: 40px !important; line-height: 48px !important; font-weight: 800; color: #383838; margin: 0 0 16px; letter-spacing: 0; }
[class^="pg2-hp-"] .hp2-head h2:last-child { margin-bottom: 0; }
[class^="pg2-hp-"] h2 span { color: var(--hv2-teal); }
[class^="pg2-hp-"] .hp2-head p { max-width: 780px; margin: 0 auto !important; font-size: 18px; line-height: 27px; font-weight: 500; color: #4C4C4C; }
[class^="pg2-hp-"] h3 { letter-spacing: 0; }
.hp2-pill { height: 39px; padding: 0 18px; background: rgba(63,167,194,.06) !important; border: 1px solid var(--hv2-teal) !important; color: var(--hv2-teal) !important; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
[class^="pg2-hp-"] .hv2-btn { height: 57px; padding: 0 32px; border-radius: 8px; font-size: 17px; font-weight: 700; justify-content: center; }
/* video facades */
.hp2-vid { position: relative; display: block; width: 100%; padding: 0; border: 0; overflow: hidden; background: #000; cursor: pointer; aspect-ratio: auto; }
.hp2-vid::before { content: ""; display: block; padding-top: 56.25%; pointer-events: none; }
section[class^="pg2-hp-"] .hp2-vid img { width: 100%; height: 100%; object-fit: cover; }
.hp2-vid--dark { background: #29333B; }
.hp2-vid--live { cursor: auto; }
.hp2-play { position: absolute; left: 50%; top: 50%; width: 60px; height: 60px; margin: -30px 0 0 -30px; border-radius: 50%; background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.25); transition: transform .2s; }
.hp2-play::after { content: ""; position: absolute; left: 24px; top: 19px; border-left: 17px solid var(--hv2-teal); border-top: 11px solid transparent; border-bottom: 11px solid transparent; }
.hp2-play--lg { width: 84px; height: 84px; margin: -42px 0 0 -42px; }
.hp2-play--lg::after { left: 34px; top: 27px; border-left-width: 23px; border-top-width: 15px; border-bottom-width: 15px; }
.hp2-play--sm { width: 56px; height: 56px; margin: -28px 0 0 -28px; }
.hp2-play--sm::after { left: 22px; top: 18px; border-left-width: 15px; border-top-width: 10px; border-bottom-width: 10px; }
.hp2-vid:hover .hp2-play { transform: scale(1.06); }
/* challenge */
section.pg2-hp-challenge { background: #fff !important; padding: 96px 0; }
.hp2-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; max-width: 1110px; margin: 0 auto; }
.hp2-compare__card { padding: 40px; border: 1px solid #DEEBF0; border-radius: 20px; background: #F4FAFB; display: flex; flex-direction: column; gap: 20px; }
.hp2-compare__card--mp { padding: 40px 41px; border: 2px solid var(--hv2-teal); background: #fff; }
.hp2-compare__label { font-size: 13px; line-height: 16px; font-weight: 600; color: #8C9499; text-transform: uppercase; letter-spacing: .06em; }
.hp2-compare__card--mp .hp2-compare__label { color: var(--hv2-teal); }
[class^="pg2-hp-"] .hp2-compare__card h3 { margin: 0; font-size: 26px !important; line-height: 31px !important; font-weight: 800; color: #383838; }
.hp2-compare ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.hp2-compare li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 23px; font-weight: 500; color: #383838; }
.hp2-compare .pr2-chk, .hp2-x { flex: none; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; }
.hp2-x { background: #D9DEE0; }
/* expert */
section.pg2-hp-expert { background: #F4FAFB !important; padding: 96px 0; }
.hp2-expert { display: grid; grid-template-columns: 560px minmax(0, 480px); gap: 72px; align-items: center; justify-content: center; }
.hp2-expert__vid { width: 560px; height: 315px; border-radius: 20px; }
.hp2-expert__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.hp2-expert__copy .hv2-pill { margin: 0; }
[class^="pg2-hp-"] .hp2-expert__copy h2 { margin: 0; line-height: 47px !important; }
.hp2-expert__copy > p { margin: 0 !important; font-size: 18px; line-height: 27px; font-weight: 500; color: #4C4C4C; }
.hp2-quote { margin: 0; padding: 25px 29px; border: 1px solid #DEEBF0; border-radius: 16px; background: #fff; }
.hp2-quote p { margin: 0 0 12px !important; font-size: 16px; line-height: 24px; font-weight: 600; color: #383838; }
.hp2-quote cite { font-style: normal; font-size: 14px; font-weight: 700; color: var(--hv2-teal); }
/* study findings */
section.pg2-hp-study { background: #fff !important; padding: 96px 0; }
.hp2-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.hp2-stat { min-height: 281px; padding: 28px 26px; border: 1px solid #DEEBF0; border-radius: 18px; background: #F4FAFB; display: flex; flex-direction: column; gap: 10px; text-align: left; }
.hp2-stat strong { font-size: 44px; line-height: 48px; font-weight: 800; color: var(--hv2-teal); }
.hp2-stat > span { font-size: 12px; line-height: 15px; font-weight: 600; color: #80878C; }
[class^="pg2-hp-"] .hp2-stat h3 { margin: 0; font-size: 18px !important; line-height: 23px !important; font-weight: 700; color: #383838; }
.hp2-stat p { margin: 0 !important; font-size: 14px; line-height: 21px; font-weight: 500; color: #4C4C4C; }
.hp2-stat--video { padding: 0 0 20px; border: 0; background: #1F2930; gap: 6px; overflow: hidden; }
.hp2-stat--video .hp2-stat__thumb { width: 100%; height: 150px; aspect-ratio: auto; margin-bottom: 8px; }
.hp2-stat--video .hp2-stat__thumb::before { display: none; }
.hp2-stat__watch { padding: 0 26px; font-size: 12px; line-height: 15px; font-weight: 600; color: #73CCE3; text-transform: uppercase; letter-spacing: .06em; }
.hp2-stat__title { padding: 0 26px; font-size: 17px; line-height: 23px; font-weight: 700; color: #fff; }
.hp2-footnote { margin: 48px 0 0 !important; text-align: center; font-size: 14px; line-height: 17px; font-weight: 500; color: #80878C; }
/* participant reports */
section.pg2-hp-reports { background: #F4FAFB !important; padding: 96px 0; }
.hp2-reports { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; max-width: 1110px; margin: 0 auto; }
.hp2-report { min-height: 316px; padding: 24px 22px 22px; border: 1px solid #DEEBF0; border-radius: 18px; background: #fff; display: flex; flex-direction: column; gap: 14px; text-decoration: none !important; transition: box-shadow .2s, border-color .2s; }
.hp2-report:hover { border-color: var(--hv2-teal); box-shadow: 0 10px 30px rgba(20,33,31,.08); }
.hp2-report__top { display: flex; align-items: center; gap: 12px; }
.hp2-report__ini { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(63,167,194,.12); font-size: 15px; font-weight: 800; color: var(--hv2-teal); }
.hp2-report__id { display: flex; flex-direction: column; gap: 2px; }
.hp2-report__id b { font-size: 15px; line-height: 18px; font-weight: 700; color: #383838; }
.hp2-report__id small { font-size: 13px; line-height: 16px; font-weight: 500; color: #80878C; }
.hp2-report__note { font-size: 14px; line-height: 21px; font-weight: 500; color: #4C4C4C; }
.hp2-report__foot { margin-top: auto; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.hp2-chip { display: inline-flex; align-items: center; height: 23px; padding: 0 10px; border-radius: 20px; background: rgba(28,174,35,.10); font-size: 10.5px; font-weight: 600; color: #14801A; white-space: nowrap; }
.hp2-report__pdf { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; line-height: 16px; font-weight: 700; color: var(--hv2-teal); }
.hp2-report__pdf svg { width: 13px; }
/* voices */
section.pg2-hp-voices { background: #fff !important; padding: 96px 0; }
.pg2-hp-voices .hp2-head { margin-bottom: 40px; }
.hp2-videos, .hp2-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; max-width: 1110px; margin: 0 auto; }
.hp2-vcard .hp2-vid { border-radius: 16px; }
[class^="pg2-hp-"] .hp2-vcard h3 { margin: 14px 0 14px; font-size: 18px !important; line-height: 22px !important; font-weight: 700; color: #383838; }
.hp2-vcard p { margin: 0 !important; font-size: 14px; line-height: 17px; font-weight: 500; color: #80878C; }
.hp2-quotes { margin-top: 40px; }
.hp2-qcard { margin: 0; min-height: 327px; padding: 32px 30px; border: 1px solid #DEEBF0; border-radius: 18px; background: #F4FAFB; display: flex; flex-direction: column; gap: 16px; }
.hp2-stars { font-size: 16px; line-height: 20px; color: #FAB826; letter-spacing: 2px; }
.hp2-qcard blockquote { margin: 0; font-size: 16px; line-height: 25px; font-weight: 500; color: #383838; }
.hp2-qcard figcaption { margin-top: auto; font-size: 14px; font-weight: 700; color: var(--hv2-teal); }
/* two ways */
section.pg2-hp-ways { padding: 96px 0; background-color: #EAF6F9 !important; background-size: cover !important; background-position: center !important; }
.hp2-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; max-width: 1110px; margin: 0 auto; }
.hp2-way { padding: 36px; border: 1px solid #DEEBF0; border-radius: 24px; background: #fff; display: flex; flex-direction: column; gap: 16px; text-align: center; }
section.pg2-hp-ways .hp2-way img { width: 100%; height: 444px; object-fit: cover; border-radius: 16px; }
.hp2-way__label { font-size: 13px; line-height: 16px; font-weight: 600; color: var(--hv2-teal); text-transform: uppercase; letter-spacing: .06em; }
[class^="pg2-hp-"] .hp2-way h3 { margin: 0; font-size: 26px !important; line-height: 31px !important; font-weight: 800; color: #383838; }
.hp2-way p { margin: 0 !important; font-size: 16px; line-height: 24px; font-weight: 500; color: #4C4C4C; }
.hp2-way .hv2-btn { margin-top: auto; width: 100%; }
/* resources */
section.pg2-hp-resources { background: #fff !important; padding: 72px 0; }
[class^="pg2-hp-"].pg2-hp-resources h2 { text-align: center; font-size: 28px !important; line-height: 34px !important; margin: 0 0 28px; }
.hp2-resources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1110px; margin: 0 auto; }
.hp2-res { display: flex; align-items: center; gap: 14px; min-height: 82px; padding: 20px 22px; border: 1px solid #DEEBF0; border-radius: 14px; background: #F4FAFB; text-decoration: none !important; transition: border-color .2s; }
.hp2-res:hover { border-color: var(--hv2-teal); }
.hp2-res__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(63,167,194,.12); font-size: 11px; font-weight: 800; color: var(--hv2-teal); }
.hp2-res > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hp2-res b { font-size: 16px; line-height: 20px; font-weight: 700; color: #383838; }
.hp2-res small { font-size: 13px; line-height: 16px; font-weight: 600; color: var(--hv2-teal); overflow-wrap: anywhere; }
@media (max-width: 1199px) {
    .hp2-expert { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
    .hp2-expert__vid { width: 100%; height: auto; aspect-ratio: auto; }
.hp2-expert__vid::before { content: ""; display: block; padding-top: 56.25%; pointer-events: none; }
    .hp2-reports { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hp2-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
    section.pg2-hp-hero { padding-top: 310px; }
    [class^="pg2-hp-"] .hp2-head { margin-bottom: 28px; }
    [class^="pg2-hp-"] h2 { font-size: 28px !important; line-height: 34px !important; margin-bottom: 12px; }
    section[class^="pg2-hp-"] .hp2-head .hv2-pill { margin-bottom: 12px; }
    [class^="pg2-hp-"] .hp2-head p { font-size: 16px; line-height: 25px; }
    section.pg2-hp-challenge, section.pg2-hp-expert, section.pg2-hp-study, section.pg2-hp-reports, section.pg2-hp-voices, section.pg2-hp-ways { padding: 56px 0; }
    section.pg2-hp-resources { padding: 56px 0; }
    .hp2-compare, .hp2-videos, .hp2-quotes, .hp2-ways, .hp2-resources { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .hp2-compare__card, .hp2-compare__card--mp { padding: 26px 22px; }
    [class^="pg2-hp-"] .hp2-compare__card h3, [class^="pg2-hp-"] .hp2-way h3 { font-size: 22px !important; line-height: 28px !important; }
    .hp2-expert { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .hp2-expert__copy { align-items: center; text-align: center; }
    [class^="pg2-hp-"] .hp2-expert__copy h2 { line-height: 34px !important; }
    .hp2-expert__copy > p { font-size: 16px; line-height: 25px; }
    .hp2-quote { text-align: left; padding: 22px; }
    .hp2-stats, .hp2-reports { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .hp2-stat { min-height: 0; padding: 20px 16px; }
    .hp2-stat strong { font-size: 36px; line-height: 40px; }
    .hp2-stat--video { padding: 0 0 18px; }
    .hp2-stat--video .hp2-stat__thumb { height: auto; aspect-ratio: auto; }
.hp2-stat--video .hp2-stat__thumb::before { content: ""; display: block; padding-top: 56.25%; pointer-events: none; }
    .hp2-stat__watch, .hp2-stat__title { padding: 0 16px; }
    .hp2-stat__title { font-size: 15px; line-height: 21px; }
    .hp2-footnote { margin-top: 28px !important; line-height: 21px; }
    .hp2-report { min-height: 0; padding: 18px 16px; }
    .hp2-chip { font-size: 10px; padding: 0 8px; white-space: normal; height: auto; min-height: 23px; }
    .pg2-hp-voices .hp2-head { margin-bottom: 28px; }
    .hp2-quotes { margin-top: 28px; gap: 16px; }
    .hp2-qcard { min-height: 0; padding: 24px 22px; }
    .hp2-way { padding: 20px; border-radius: 20px; }
    section.pg2-hp-ways .hp2-way img { height: auto; aspect-ratio: 468 / 444; }
    [class^="pg2-hp-"].pg2-hp-resources h2 { font-size: 22px !important; line-height: 28px !important; }
    .hp2-resources { gap: 12px; }
}
[class^="pg2-hp-"] .hv2-head.hp2-head { max-width: 900px; }
section.pg2-hp-study p.hp2-footnote { line-height: 17px; }
.hp2-res { padding: 20px 16px; }
@media (max-width: 899px) { section.pg2-hp-study p.hp2-footnote { line-height: 21px; } }
.hp2-stat--video > span.hp2-stat__watch { font-size: 12px; line-height: 15px; color: #73CCE3; }
.hp2-stat--video > span.hp2-stat__title { font-size: 17px; line-height: 23px; font-weight: 700; color: #fff; }
@media (max-width: 899px) { .hp2-stat--video > span.hp2-stat__title { font-size: 15px; line-height: 21px; } }

/* ===== 404 to Steven's 404 frames (1067:406 / 1068:404), 13 Oct 2026 ===== */
section.pg2-404 { min-height: 643px; align-items: flex-start; padding: 120px 0 80px; }
.pg2-404 .pg404__code { margin: 0 0 18px !important; font-size: 160px; line-height: 160px; font-weight: 800; color: var(--hv2-teal); letter-spacing: 0; }
.pg2-404 h1 { margin: 0 0 18px; font-size: 48px !important; line-height: 58px !important; }
.pg2-404 .pg404__sub { max-width: 620px; margin: 0 auto 18px !important; font-size: 19px; line-height: 31px; color: #4C4C4C; }
.pg404__btns { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; margin: 0 !important; }
.pg404__btns .hv2-btn { height: 56px; padding: 0 32px; gap: 12px; border-radius: 8px; font-size: 16px; font-weight: 600; }
.pg404__btns .pg404__ghost { height: 59px; background: #fff !important; border: 1.5px solid var(--hv2-teal) !important; color: var(--hv2-teal) !important; }
section.pg2-404-links { background: #fff !important; padding: 80px 0 96px; text-align: center; }
.pg2-404-links h2 { margin: 0 0 32px; font-size: 28px !important; line-height: 36px !important; font-weight: 800; color: #383838; }
.pg404__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; max-width: 1110px; margin: 0 auto; text-align: left; }
.pg404__card { min-height: 170px; padding: 28px 24px; border-radius: 16px; background: #FCF4EA; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-decoration: none !important; transition: box-shadow .2s; }
.pg404__card:hover { box-shadow: 0 10px 30px rgba(20,33,31,.08); }
.pg404__card h3 { margin: 0; font-size: 20px !important; line-height: 28px !important; font-weight: 800; color: #383838; }
.pg404__card p { margin: 0 !important; font-size: 15px; line-height: 24px; font-weight: 500; color: #4C4C4C; }
.pg404__card span { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--hv2-teal); }
@media (max-width: 1199px) { .pg404__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px) {
    section.pg2-404 { min-height: 0; padding: 64px 0 56px; }
    .pg2-404 .pg404__code { font-size: 104px; line-height: 104px; margin-bottom: 14px !important; }
    .pg2-404 h1 { font-size: 32px !important; line-height: 40px !important; margin-bottom: 14px; }
    .pg2-404 .pg404__sub { font-size: 16px; line-height: 26px; margin-bottom: 20px !important; }
    .pg404__btns { flex-direction: column; align-items: stretch; gap: 12px; }
    section.pg2-404-links { padding: 56px 0; }
    .pg2-404-links h2 { font-size: 24px !important; line-height: 32px !important; margin-bottom: 24px; }
    .pg404__cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .pg404__card { min-height: 0; padding: 22px; }
}
section.pg2-404 .pg404__code { display: block; width: 100%; text-align: center; line-height: 160px !important; }
@media (max-width: 899px) { section.pg2-404 .pg404__code { line-height: 104px !important; } }
section.pg2-hero.pg2-404 { padding: 120px 0 80px; }
@media (max-width: 899px) { section.pg2-hero.pg2-404 { padding: 64px 0 56px; } }

/* =====================================================================
   Account pages (Log In, Sign-in code, Sign Up, Forgot / Change Password) to Steven's frames, 13 Oct 2026:
   white card (540, r20) on the sky background.
   ===================================================================== */
section.pg2-auth { min-height: 930px; padding: 96px 0 88px; background: #DCEFF6 url("../../img/home-v2/hero-sky-bg.jpg") center / cover no-repeat !important; }
.pg2-auth__card { width: 540px; max-width: 100%; margin: 0 auto; padding: 48px 49px; border: 1px solid #E6E6E6; border-radius: 20px; background: #fff; box-shadow: 0 18px 50px rgba(20,33,31,.06); }
.pg2-auth__card[hidden] { display: none; }
.pg2-auth__card h1 { margin: 0 0 8px; font-size: 34px !important; line-height: 42px !important; font-weight: 800; color: #383838; letter-spacing: 0; }
.pg2-auth__sub { margin: 0 0 20px !important; font-size: 16px; line-height: 26px; font-weight: 500; color: #4C4C4C; }
.pg2-auth__sub a, .pg2-auth__alt a, .pg2-auth__row a, .pg2-auth__link a { color: var(--hv2-teal); font-weight: 600; }
.pg2-auth__form { display: flex; flex-direction: column; gap: 20px; }
.pg2-auth__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pg2-auth__field > label:not(.error) { margin: 0; font-size: 14px; line-height: 17px; font-weight: 600; color: #383838; }
.pg2-auth input[type=email], .pg2-auth input[type=text], .pg2-auth input[type=password], .pg2-auth input[type=tel], .pg2-auth select { width: 100%; height: 56px; padding: 0 18px; border: 1px solid #D1D1D1; border-radius: 8px; background: #fff; font: 500 15px/1.4 Montserrat, sans-serif; color: #383838; box-shadow: none; outline: none; }
.pg2-auth input:focus, .pg2-auth select:focus { border-color: var(--hv2-teal); }
.pg2-auth ::placeholder { color: #9E9E9E; opacity: 1; }
.pg2-auth__pw { position: relative; display: block; }
.pg2-auth__pw input { padding-right: 76px !important; }
.pg2-auth__show { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); height: 40px; padding: 0 12px; border: 0; background: none; font: 600 14px/1 Montserrat, sans-serif; color: var(--hv2-teal); cursor: pointer; }
.pg2-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px; }
.pg2-auth__row--small { margin-top: 20px; font-size: 14px; color: #4C4C4C; }
.pg2-auth__check { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; font-weight: 500; color: #383838; cursor: pointer; }
.pg2-auth__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--hv2-teal); }
.pg2-auth__btn, .pg2-auth__ghost { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 56px; border-radius: 8px; font: 600 16px/1 Montserrat, sans-serif; cursor: pointer; transition: background-color .2s; text-decoration: none !important; }
.pg2-auth__btn { border: 0; background: var(--hv2-teal); color: #fff !important; }
.pg2-auth__btn:hover { background: #3596AF; }
.pg2-auth__btn:disabled, .pg2-auth__ghost:disabled { opacity: .6; cursor: default; }
.pg2-auth__ghost { border: 1.5px solid var(--hv2-teal); background: #fff; color: var(--hv2-teal) !important; }
.pg2-auth__ghost:hover { background: rgba(63,167,194,.06); }
.pg2-auth__or { position: relative; margin: 20px 0 !important; text-align: center; font-size: 14px; color: #8C8C8C; }
.pg2-auth__or::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid #E6E6E6; }
.pg2-auth__or span { position: relative; padding: 0 14px; background: #fff; }
.pg2-auth__note { margin: 12px 0 0 !important; text-align: center; font-size: 13px; line-height: 16px; color: #8C8C8C; }
.pg2-auth__alt { margin: 24px 0 0 !important; text-align: center; font-size: 15px; font-weight: 500; color: #383838; }
.pg2-auth__link { margin: 20px 0 0 !important; text-align: center; font-size: 15px; font-weight: 500; color: #4C4C4C; }
.pg2-auth__code { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.pg2-auth .pg2-auth__code input { height: 64px; padding: 0; text-align: center; font: 700 24px/1 Montserrat, sans-serif; }
.pg2-auth .alert { margin-bottom: 20px; border-radius: 8px; font-size: 15px; }
.pg2-auth label.error { margin: 0; font-size: 13px; font-weight: 600; color: #C0392B; }
.pg2-auth__hint { margin: 0 !important; font-size: 13px; line-height: 18px; color: #8C8C8C; }
@media (max-width: 899px) {
    section.pg2-auth { min-height: 0; padding: 40px 0 56px; }
    .pg2-auth__card { padding: 32px 20px; border-radius: 16px; }
    .pg2-auth__card h1 { font-size: 28px !important; line-height: 36px !important; }
    .pg2-auth__sub { font-size: 15px; line-height: 24px; }
    .pg2-auth__code { gap: 6px; }
    .pg2-auth .pg2-auth__code input { height: 54px; font-size: 22px; }
}
section.pg2-auth.pg2-auth--short { padding-top: 224px; }
@media (max-width: 899px) { section.pg2-auth.pg2-auth--short { padding-top: 40px; } }
/* Sign Up extras (Steven's 'Sign Up' frame) */
section.pg2-auth.pg2-auth--signup { padding-top: 72px; }
.pg2-auth__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pg2-auth .pg2-auth__apply { font-weight: 700; }
.pg2-auth__note-box { margin: 0 0 20px; padding: 18px 20px; border-radius: 12px; background: #FCF4EA; }
.pg2-auth__note-box > b { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--hv2-teal); }
.pg2-auth__note-box p { margin: 0 0 8px !important; font-size: 14px; line-height: 21px; font-weight: 500; color: #4C4C4C; }
.pg2-auth__note-box p.pg2-auth__note-small { margin: 0 !important; font-size: 13px; line-height: 20px; }
.pg2-auth__check--terms { align-items: flex-start; margin: 0 0 20px; line-height: 17px; }
.pg2-auth__check--terms input { margin-top: 0; flex: none; }
.pg2-auth__check--terms a { color: var(--hv2-teal); font-weight: 600; }
.pg2-auth__partner { margin: 0 0 20px; text-align: center; }
.pg2-auth__partner .ref_name:first-child { margin-bottom: 8px; font-size: 14px; color: #4C4C4C; }
.pg2-auth__partner-pill { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 4px 16px 4px 4px; border: 1px solid var(--hv2-teal); border-radius: 999px; background: rgba(63,167,194,.08); }
.pg2-auth__partner-pill .ref_avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.pg2-auth__partner-pill .ref_avatar[src=""] { display: none; }
.pg2-auth__partner-pill .ref_name { font-size: 15px; font-weight: 600; color: #383838; }
.pg2-auth__why { padding: 20px 21px; border: 1px solid var(--hv2-teal); border-radius: 12px; background: rgba(63,167,194,.05); }
.pg2-auth__why > b { display: block; margin-bottom: 10px; font-size: 15px; color: #383838; }
.pg2-auth__why p { display: flex; gap: 10px; margin: 0 0 10px !important; font-size: 14px; line-height: 21px; font-weight: 500; color: #4C4C4C; }
.pg2-auth__why p:last-child { margin-bottom: 0 !important; }
.pg2-auth__why i { flex: none; font-style: normal; font-weight: 700; color: var(--hv2-teal); }
.pg2-auth__guest { width: 540px; max-width: 100%; margin: 24px auto 0; padding: 24px 32px; border-radius: 16px; background: #fff; text-align: center; }
.pg2-auth__guest h2 { margin: 0 0 8px; font-size: 18px !important; line-height: 26px !important; font-weight: 800; color: #383838; }
.pg2-auth__guest p { margin: 0 0 12px !important; font-size: 15px; line-height: 22px; color: #4C4C4C; }
.pg2-auth__guest a { font-size: 15px; font-weight: 700; color: var(--hv2-teal); }
.pg2-auth .signup-video-wrapper { margin-bottom: 20px; }
@media (max-width: 899px) { section.pg2-auth.pg2-auth--signup { padding-top: 40px; } .pg2-auth__pair { grid-template-columns: minmax(0, 1fr); gap: 20px; } .pg2-auth__guest { padding: 20px; } }
.pg2-auth__why p { display: block; position: relative; padding-left: 22px; }
.pg2-auth__why i { position: absolute; left: 0; top: 0; }
/* Ollie's ultrawide rule: the Practitioners / HTMA hero photo never grows past Steven's 1440px frame */
@media (min-width: 1441px) {
    section.pg2-pr-hero img.pr2-hero__img, section.pg2-pr-hero::before { left: 50%; right: auto; width: 1440px; transform: translateX(-50%); }
    section.pg2-pr-hero::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1440px; transform: translateX(-50%); z-index: 1; pointer-events: none; background: linear-gradient(90deg, #121A1F 0%, rgba(18,26,31,0) 6%, rgba(18,26,31,0) 92%, #121A1F 100%); }
}
/* Back Office referral link on phones = Steven's mobile frame: field on top, full-width Copy link button below (was cut off) */
@media (max-width: 899px) {
    .bo2-reflink { grid-template-columns: minmax(0, 1fr) !important; padding: 20px 21px; gap: 12px; }
    .bo2-reflink > * { min-width: 0; }
    .bo2-reflink__field { flex-direction: column; gap: 12px; }
    .bo2-reflink__field input { width: 100%; height: 44px; flex: none; }
    .bo2-reflink__field .hv2-btn { width: 100%; justify-content: center; }
}

/* Account pages, deep check vs Steven (13 Oct 2026): the generic section p rule was making these 16px */
section.pg2-auth .pg2-auth__hint { font-size: 12px !important; line-height: 18px !important; }
section.pg2-auth .pg2-auth__note { font-size: 13px !important; line-height: 16px !important; }
section.pg2-auth .pg2-auth__or, section.pg2-auth .pg2-auth__or span { font-size: 14px !important; }
@media (max-width: 899px) { section.pg2-ta-intro .hv2-btn { font-size: 16px; } section.pg2-ta-intro .ta2-intro__note, section.pg2-ta-intro small { font-size: 13px; } }

/* Results on phones = Steven's Results (Mobile): two featured videos, the rest in a swipe row of 250 x 170 cards */
@media (max-width: 899px) {
    section.pg2-rs-videos .rs2-vgrid { display: grid; grid-auto-flow: column; grid-template-rows: auto auto auto; grid-auto-columns: 250px; gap: 14px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 0 -20px; padding: 0 20px 6px; scrollbar-width: none; }
    section.pg2-rs-videos .rs2-vgrid::-webkit-scrollbar { display: none; }
    section.pg2-rs-videos { container-type: inline-size; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(1) { grid-row: 1; grid-column: 1 / span 2; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(2) { grid-row: 2; grid-column: 1 / span 2; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(-n+2) { position: sticky; left: 0; z-index: 2; width: calc(100cqw - 40px); max-width: 390px; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(-n+2) .rs2-card__media { height: 230px; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(n+3) { display: block !important; grid-row: 3; scroll-snap-align: start; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(n+3) .rs2-card__media { height: 170px; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(n+3) .rs2-vcard__play { top: 53px; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(n+3) .rs2-vcard__cap { bottom: 14px; font-size: 14px; }
    section.pg2-rs-videos .rs2-more { display: none; }
}

/* =====================================================================
   Phones, deep check vs Steven (13 Oct 2026): every phone frame uses 28px section headings
   and 15/24 intro copy; these pages were still on near-desktop sizes.
   ===================================================================== */
@media (max-width: 899px) {
    section[class*="pg2-"] .hv2-head h2 { font-size: 28px !important; line-height: 36px !important; }
    section[class*="pg2-"] .hv2-head > p { font-size: 15px !important; line-height: 24px !important; }

    /* Hair Test hero: the photo is a band on top, copy underneath on dark. The band keeps the photo's own
       shape (1920x799, 2.4:1); it used to be forced to 100% x 320px, which squashed it on phones (Ollie's
       iPhone, 17 Oct 2026). Tablets: the whole photo. Phones: see the 599px rule at the end of this file. */
    section.pg2-ht-hero { display: block; min-height: 0; padding: 41.67vw 0 48px; background-size: 100% auto !important; background-position: top center !important; background-repeat: no-repeat !important; }
    section.pg2-ht-hero::before { background: linear-gradient(180deg, rgba(18,26,31,0) 0, rgba(18,26,31,.15) calc(41.67vw - 110px), #121A1F 41.67vw, #121A1F 100%) !important; }
    .ht2-hero__copy { text-align: center; }
    .ht2-hero__copy .ht2-checks { text-align: left; }
    .pg2-ht-hero h1 { font-size: 38px; line-height: 1.12; }
    .pg2-ht-hero > .hv2-wrap p { font-size: 16px; line-height: 1.55; }
    .ht2-hero__btns { gap: 12px; margin-top: 20px; }
    /* Hair Test lists, steps, videos, split copy, option cards */
    .ht2-lists li, .ht2-includes li { font-size: 14px !important; }
    .ht2-step h3 { font-size: 16px !important; }
    .ht2-vcard__kicker { font-size: 12px !important; }
    .ht2-vcard h3 { font-size: 16px !important; }
    .ht2-split__copy > p { font-size: 15px !important; line-height: 24px !important; }
    .ht2-quote, .ht2-quote p { font-size: 15px !important; }
    .ht2-option .ht2-price b, .ht2-option .ht2-price strong { font-size: 28px !important; }
    .ht2-option .ht2-price s, .ht2-option .ht2-price del { font-size: 16px !important; }
    .ht2-option .hv2-btn { font-size: 15px !important; }
}
/* Hair Test on phones: 56px section padding like every other phone frame; both lists keep two columns */
@media (max-width: 899px) {
    section.pg2-ht-choose, section.pg2-ht-tests, section.pg2-ht-how, section.pg2-ht-why, section.pg2-ht-expert, section.pg2-ht-next, section.pg2-ht-faq { padding-top: 56px !important; padding-bottom: 56px !important; }
    .ht2-list .ht2-checks--2col { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
    .ht2-list .ht2-checks--2col li { margin: 0 !important; }
    .ht2-list { padding: 24px 20px; }
}
/* Learn on phones = Steven's Learn (Mobile): small 33px label pills, compact toxin cards with the number on the title line */
@media (max-width: 899px) {
    .pg2-ln-hub .hv2-head .hv2-pill, .pg2-ln-toxins .hv2-head .hv2-pill, .pg2-ln-articles .hv2-head .hv2-pill, .ln2-nano__copy .hv2-pill { height: 33px; padding: 0 15px; font-size: 12px !important; margin-bottom: 14px; }
    .ln2-toxins { gap: 12px; }
    .ln2-toxin { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: baseline; padding: 30px 32px; border: 1px solid #E6E6E6; border-radius: 16px; }
    .ln2-toxin__num { width: auto; height: auto; margin: 0; border: 0 !important; border-radius: 0; box-shadow: none; background: none !important; color: var(--hv2-teal) !important; font-size: 13px !important; font-weight: 700 !important; }
    .ln2-toxin h3 { margin: 0 0 10px; font-size: 18px; font-weight: 800; }
    .ln2-toxin p { grid-column: 1 / -1; }
    .ln2-nano__copy p { font-size: 16px !important; line-height: 26px !important; }
    .pg2-ln-articles .ln2-card__kicker, .pg2-ln-articles .ln2-card__meta { color: #8C8C8C !important; }
}
/* Back Office on phones = Steven's Backoffice Dashboard (Mobile): section menu bar flush under the header,
   28px to the page header, 16px between cards, the two referral tiers side by side */
@media (max-width: 899px) {
    section.pg2-bo { padding: 0 0 56px !important; }
    .pg2-bo .bo2 { gap: 0; }
    .pg2-bo .bo2-side__mobile { margin: 0 -20px; border-width: 0 0 1px; border-radius: 0; }
    .pg2-bo .bo2-side__mobile summary { min-height: 47px; padding: 0 20px; }
    .pg2-bo .bo2-main { padding-top: 28px; gap: 16px; }
    .pg2-bo .bo2-stats--3 { grid-template-columns: 1fr 1fr; gap: 12px; }
    .pg2-bo .bo2-stats--3 > :nth-child(3) { grid-column: 1 / -1; }
}
/* Phones: Steven's small section labels are 12px (Hair Test keeps its 14px); 404 card titles 18px; contact email line 14px */
@media (max-width: 899px) {
    section[class*="pg2-"]:not([class*="pg2-ht-"]) .hv2-head .hv2-pill { font-size: 12px !important; }
    .pg404__cards h3, .pg404__cards b, .pg404__cards strong { font-size: 18px !important; }
    .ct2-mail { font-size: 14px !important; }
}

/* Desktop + phones, deep check vs Steven (13 Oct 2026) */
/* Back Office: Steven's muted grey, 40px amounts in ink (no red for zero), 15px link title, green store-credit tag */
.bo2-reflink h2 { font-size: 15px; font-weight: 600; }
.bo2-reflink p, .bo2-stat__note, .bo2-stat__value small { color: #7B8A90 !important; }
.pg2-bo .bo2-stats--2 .bo2-stat__value { font-size: 40px; }
.pg2-bo .bo2-stat__value { font-size: 36px; }
.bo2-stat__value.is-zero { color: #383838; }
.bo2-tag.bo2-tag--credit { background: #E6F7EE; color: #2E9A6A; }
@media (max-width: 899px) { .pg2-bo .bo2-stats--2 .bo2-stat__value, .pg2-bo .bo2-stat__value { font-size: 34px; } }
/* Learn: article meta grey, titles 20px */
.pg2-ln-articles .ln2-card__kicker { color: #8C8C8C !important; }
.pg2-ln-articles .ln2-card h3 { font-size: 20px; }
/* Hair Test: hero intro 19px, list titles 24px, video labels 12px */
@media (min-width: 900px) { .pg2-ht-hero > .hv2-wrap p { font-size: 19px; } .ht2-list h3 { font-size: 24px; } }
.ht2-vcard__kicker { font-size: 12px !important; }
/* HTMA practitioners: study footnote 14px */
.hp2-footnote { font-size: 14px !important; }

/* Steven's batch-2 back office (C0-C7): "Copy Referral Link" button in the sidebar, plain page title */
.bo2-side__copy { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 39px; margin: 0 0 12px; padding: 0 12px; border: 1px solid #3FA7C2; border-radius: 10px; background: #EAF6F9; color: #3FA7C2; font: 600 14px/1.2 Montserrat, sans-serif; cursor: pointer; transition: background .15s; }
.bo2-side__copy:hover { background: #DDF0F5; }
.bo2-side__copy.is-done { background: #3FA7C2; color: #fff; }
.bo2-side__copy svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.bo2-side__panel .bo2-side__copy { margin: 4px 0 12px; }
.bo2-head--c0 { margin-bottom: 24px; }
.bo2-head--c0 h1 { margin: 0; font-size: 36px; line-height: 1.2; }
@media (max-width: 767px) { .bo2-head--c0 h1 { font-size: 28px; } }

/* phones: the two tier cards stay side by side inside the screen (Steven's C0 phone frame), and the chart stays in its card */
.pg2-bo .bo2-stat, .pg2-bo .bo2-card, .pg2-bo .bo2-earn > * { min-width: 0; }
.pg2-bo .bo2-chart { overflow: hidden; }
@media (max-width: 767px) {
    .pg2-bo .bo2-stats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .pg2-bo .bo2-stats--3 .bo2-stat { padding: 16px 14px; }
    .pg2-bo .bo2-stats--3 .bo2-stat__top { gap: 8px; font-size: 13px; line-height: 1.25; }
    .pg2-bo .bo2-stats--3 .bo2-stat__top i { margin-left: auto; flex: none; }
    .pg2-bo .bo2-stats--3 .bo2-stat__note { font-size: 12px; line-height: 1.4; }
}

/* News strip on narrow phones: the text column may shrink and the link may wrap (it pushed past the screen at 320px) */
.pg2-bo .bo2-news__text { overflow-wrap: anywhere; }
@media (max-width: 480px) {
    .pg2-bo .bo2-news { grid-template-columns: auto minmax(0, 1fr); padding: 16px 18px; }
    .pg2-bo .bo2-news__link { white-space: normal; }
}

/* Hair Test hero on phones: the photo shown larger and cropped to the woman, the scissors and the magnifier
   circle (right-hand 2/3 of the photo), still at its own shape, never stretched. */
@media (max-width: 599px) {
    section.pg2-ht-hero { padding-top: 62vw; background-size: 149% auto !important; background-position: 95% 0 !important; }
    section.pg2-ht-hero::before { background: linear-gradient(180deg, rgba(18,26,31,0) 0, rgba(18,26,31,.15) calc(62vw - 90px), #121A1F 62vw, #121A1F 100%) !important; }
}

/* Results on iPads (600-899px): the phone swipe layout left half the screen empty, so a plain two-column grid with
   Load More (17 Oct 2026, from Ollie's iPad check). Phones keep Steven's swipe row. */
@media (min-width: 600px) and (max-width: 899px) {
    section.pg2-rs-videos .rs2-vgrid { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-columns: auto; gap: 16px; overflow: visible; scroll-snap-type: none; margin: 0; padding: 0; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(n) { grid-row: auto; grid-column: auto; position: static; width: auto; max-width: none; }
    section.pg2-rs-videos .rs2-vgrid > .rs2-vcard:nth-child(n) .rs2-card__media { height: 220px; }
    section.pg2-rs-videos .rs2-vgrid:not(.is-open) > .rs2-vcard:nth-child(n+9) { display: none !important; }   /* 8 = four full rows of two */
    section.pg2-rs-videos .rs2-more { display: block; }
    /* Learn hero: the copy (and the photo under it) use the full width instead of a 620px column on the left */
    .ln2-hero__copy { max-width: none; }
}

/* ---------------------------------------------------------------------------------------------------------
   Robust picture boxes (17 Oct 2026, after Ollie's iPad check). The boxes below used to get their height from
   aspect-ratio while the picture inside filled them; on the iPad that let pictures spill over the next text.
   Each now gets an invisible spacer (its ::before, or ::after where ::before was taken, padding-top = the
   same shape, set right after its own rules above) and the picture sits on top of it. Same idea as the fix
   confirmed on Ollie's iPad on /sarah.
   --------------------------------------------------------------------------------------------------------- */
.ht2-vcard .hv2-video > img,
.ht2-vcard .hv2-video > picture,
.ht2-vcard .hv2-video > video,
.ht2-vcard .hv2-video > iframe,
.ht2-split__video > img,
.ht2-split__video > picture,
.ht2-split__video > video,
.ht2-split__video > iframe,
.pr2-video__thumb > img,
.pr2-video__thumb > picture,
.pr2-video__thumb > video,
.pr2-video__thumb > iframe,
.hp2-vid > img,
.hp2-vid > picture,
.hp2-vid > video,
.hp2-vid > iframe,
.hp2-expert__vid > img,
.hp2-expert__vid > picture,
.hp2-expert__vid > video,
.hp2-expert__vid > iframe,
.hp2-stat--video .hp2-stat__thumb > img,
.hp2-stat--video .hp2-stat__thumb > picture,
.hp2-stat--video .hp2-stat__thumb > video,
.hp2-stat--video .hp2-stat__thumb > iframe {
    position: absolute !important; top: 0; left: 0; right: 0; bottom: 0; width: 100% !important; height: 100% !important; max-width: none; }
.ht2-vcard .hv2-video > picture > img,
.ht2-split__video > picture > img,
.pr2-video__thumb > picture > img,
.hp2-vid > picture > img,
.hp2-expert__vid > picture > img,
.hp2-stat--video .hp2-stat__thumb > picture > img { width: 100%; height: 100%; }

/* Hair Test hero on iPads held sideways and small laptops (900-1279px): the same layout as iPad portrait, the whole photo
   as a band on top at its own shape, copy centred underneath. At these widths the photo used to be cropped (the magnifier
   circle cut off) or sat under the text (Ollie's iPad, 17 Oct 2026). */
@media (min-width: 900px) and (max-width: 1279px) {
    section.pg2-ht-hero { display: block; min-height: 0; padding: 41.67vw 0 56px; background-size: 100% auto !important; background-position: top center !important; background-repeat: no-repeat !important; }
    section.pg2-ht-hero::before { background: linear-gradient(180deg, rgba(18,26,31,0) 0, rgba(18,26,31,.15) calc(41.67vw - 110px), #121A1F 41.67vw, #121A1F 100%) !important; }
    .pg2-ht-hero .ht2-hero__copy { max-width: 720px; margin: 0 auto; text-align: center; }
    .pg2-ht-hero .ht2-hero__copy .ht2-checks { display: inline-grid; text-align: left; }
    .pg2-ht-hero .ht2-hero__btns { justify-content: center; }
}
/* 1280-1439px: the photo is cropped more at the sides than in Steven's 1440 frame (which cuts 132px off its right). Keep the
   right side cut by the same 132px as his frame, so the magnifier circle is never cut deeper; the extra crop falls on the
   blurred left of the photo, behind the copy. From 1440px Steven's frame as drawn (centred). */
@media (min-width: 1280px) and (max-width: 1439px) { section.pg2-ht-hero { background-position: calc(100% + 132px) center !important; } }


/* Password fields on phones (Log In, Reset / Change Password): the placeholder ran under the Show button ("Enter your
   current passwor"); a tighter Show button and 14px placeholders let it fit, and a very narrow phone gets a neat "..."
   instead of a cut word. "Reset it" / "Log in" links never split over two lines. (17 Oct 2026) */
.pg2-auth__link a, .pg2-auth__alt a { white-space: nowrap; }
@media (max-width: 599px) {
    .pg2-auth__pw input { padding-right: 62px !important; text-overflow: ellipsis; }
    .pg2-auth__pw input::placeholder { font-size: 14px; }
    .pg2-auth__show { right: 4px; padding: 0 10px; }
}

/* ---------- Account pages on the Log In card (Oct 2026): Set Up Your Account, Activate Account,
   sign-up "Check your email", Unsubscribe. Centered card with a round icon, small eyebrow,
   the account email in a chip, and side-by-side buttons. ---------- */
.pg2-auth__card--center { text-align: center; }
.pg2-auth__card--center .pg2-auth__form { text-align: left; }
.pg2-auth__icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: var(--hv2-teal-pale); color: var(--hv2-teal); }
.pg2-auth__icon svg { width: 30px; height: 30px; }
.pg2-auth__icon--warn { background: #FDECEA; color: #C0392B; }
.pg2-auth__eyebrow { margin: 0 0 8px !important; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hv2-teal); }
.pg2-auth__eyebrow--warn { color: #C0392B; }
.pg2-auth__email { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; margin: 0 0 24px !important; padding: 10px 16px; border: 1px solid #E6E6E6; border-radius: 999px; background: var(--hv2-teal-wash); font-size: 15px; font-weight: 600; color: #383838; }
.pg2-auth__email svg { flex: none; width: 20px; height: 20px; color: var(--hv2-teal); }
.pg2-auth__email span { min-width: 0; overflow-wrap: anywhere; }
.pg2-auth__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pg2-auth__card--center .pg2-auth__note-box { text-align: left; }
.pg2-auth__card--center .pg2-auth__note a { color: var(--hv2-teal); font-weight: 600; }
.pg2-auth #unsubscribe-message .alert { margin: 0; }
@media (max-width: 480px) { .pg2-auth__btns { grid-template-columns: 1fr; } }

/* =====================================================================================================================
   Steven's batch 4 (19 Oct 2026), section 6: F3 Set Up Your Account, F4 Sign-Up Thank-You, F5 Activation Link Expired
   (and the activation page's 'Create Your Password' state in the same card). A 540px card centred on the sky backdrop;
   on phones the card is the full width and the sky shows behind the disclaimer only.
   ===================================================================================================================== */
section.pg2-auth.pg2-auth--v4 { min-height: 0; display: block; padding: 259px 0 286px; }   /* Steven: 259px above the card, 286px below it */
section.pg2-auth--v4 > .hv2-wrap { width: 100%; }
.pg2-auth--v4 .pg2-v4 { display: flex; flex-direction: column; gap: 20px; padding: 48px; border-radius: 20px; text-align: center; box-shadow: none; }
.pg2-auth--v4 .pg2-v4 > * { margin: 0 !important; }
.pg2-v4__img { display: flex; align-items: center; justify-content: center; height: 240px; border-radius: 16px; background: #F4F9FB; }
.pg2-v4__img img { width: 330px; max-width: 100%; height: 220px; object-fit: contain; }
.pg2-v4__icon { display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; margin: 0 auto !important; border-radius: 50%; background: #EAF5F9; }
.pg2-v4__icon img { width: 60px; height: 60px; }
.pg2-auth--v4 .pg2-v4 h1 { font-size: 32px !important; line-height: 1.2 !important; font-weight: 800; color: #383838; }
.pg2-auth--v4 .pg2-v4 h1.pg2-v4__h1--long { font-size: 30px !important; }
.pg2-v4__badge { align-self: center; display: inline-flex; align-items: center; height: 28px; padding: 0 14px; border-radius: 999px; background: #FDECEC; color: #D64545; font: 800 13px/1 Montserrat, sans-serif; }
.pg2-v4__eyebrow { color: var(--hv2-teal); font: 700 19px/1.3 Montserrat, sans-serif; }
.pg2-v4__lead { font-size: 16px; line-height: 1.4; font-weight: 500; color: #383838; }
.pg2-v4__lead a, .pg2-v4__small a { color: var(--hv2-teal); font-weight: 600; text-decoration: none; }
.pg2-v4__text { font-size: 15px; line-height: 1.55; font-weight: 500; color: #6B7A82; }
.pg2-v4__text--dark { line-height: 1.6; color: #4A5358; }
.pg2-v4__small { font-size: 13px; line-height: 1.5; font-weight: 500; color: #6B7A82; }
.pg2-v4__form { display: flex; flex-direction: column; gap: 20px; text-align: left; }
.pg2-auth--v4 .pg2-v4__form input[type=email], .pg2-auth--v4 .pg2-v4__form input[type=text], .pg2-auth--v4 .pg2-v4__form input[type=password] { height: 56px; border: 1px solid #D7E3E8; border-radius: 12px; font-size: 15px; font-weight: 500; }
.pg2-auth--v4 ::placeholder { color: #8C989E; }
.pg2-v4__btn, .pg2-v4__ghost { display: flex; align-items: center; justify-content: center; width: 100%; height: 55px; padding: 0 16px; border-radius: 12px; font: 800 16px/1.2 Montserrat, sans-serif; text-decoration: none !important; cursor: pointer; }
.pg2-v4__btn { border: 0; background: var(--hv2-teal); color: #fff !important; }
.pg2-v4__btn:hover { background: #3596AF; }
.pg2-v4__btn:disabled { opacity: .6; cursor: default; }
.pg2-v4__ghost { border: 1.5px solid var(--hv2-teal); background: #fff; color: var(--hv2-teal) !important; }
.pg2-v4__ghost:hover { background: rgba(63,167,194,.06); }
.pg2-v4__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pg2-v4__btns > * { height: 54px; }
.pg2-v4 .alert { margin: 0 !important; text-align: left; }
.pg2-v4__disc { width: 540px; max-width: 100%; margin: 24px auto 0 !important; font-size: 12px; line-height: 15px; font-weight: 500; color: #4C4C4C; text-align: center; }
.pg2-v4__pw { position: relative; display: block; }
.pg2-v4__field { display: flex; flex-direction: column; gap: 8px; }
.pg2-v4__field > label:not(.error) { margin: 0; font-size: 14px; font-weight: 600; color: #383838; }
.pg2-v4 label.error { margin: 0; font-size: 13px; font-weight: 600; color: #C0392B; text-align: left; }
.pg2-v4__email { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px; font-weight: 600; color: #383838; word-break: break-all; }
@media (max-width: 599px) {
    section.pg2-auth.pg2-auth--v4 { min-height: 0; display: block; padding: 0 0 32px; }
    section.pg2-auth--v4 > .hv2-wrap { padding: 0; }
    .pg2-auth--v4 .pg2-v4 { justify-content: center; width: 100%; min-height: 810px; padding: 40px 44px; border: 0; border-radius: 0; }
    .pg2-auth--v4 .pg2-v4 h1 { font-size: 28px !important; }
    .pg2-auth--v4 .pg2-v4 h1.pg2-v4__h1--long { font-size: 26px !important; }
    .pg2-v4__img { height: 200px; }
    .pg2-v4__img img { width: 280px; height: 187px; }
    .pg2-v4__img--wide { margin: 0 -20px !important; }
    .pg2-v4__eyebrow { font-size: 17px; }
    .pg2-v4__lead { font-size: 15px; }
    .pg2-v4__text { font-size: 14px; }
    .pg2-v4__btns { grid-template-columns: 1fr; }
    .pg2-v4__disc { width: auto; padding: 0 24px; }
}
.pg2-v4__badge--ok { background: #E7F6EC; color: #1E8A4C; }
.pg2-v4__text--loose { line-height: 1.6; }
/* batch 4 cards: these must win over the older auth-card paragraph rules */
.pg2-auth--v4 .pg2-v4 .pg2-v4__icon { align-self: center; }
.pg2-auth--v4 p.pg2-v4__disc { font-size: 12px !important; line-height: 15px !important; color: #4C4C4C !important; }
.pg2-auth--v4 .pg2-v4 p.pg2-v4__small { font-size: 13px !important; line-height: 1.5 !important; }
.pg2-auth--v4 .pg2-v4 p.pg2-v4__text { font-size: 15px !important; }
.pg2-auth--v4 .pg2-v4 p.pg2-v4__lead { font-size: 16px !important; }
@media (max-width: 599px) {
    .pg2-auth--v4 .pg2-v4 p.pg2-v4__text { font-size: 14px !important; }
    .pg2-auth--v4 .pg2-v4 p.pg2-v4__lead { font-size: 15px !important; }
}

/* Steven's batch 4 G2 + G3 (19 Oct 2026): form error states on every log-in style card (Log In, Sign Up, Forgot /
   Reset / Change Password, Set Up Your Account, Activation). Banner, red fields and the message under each field. */
.pg2-auth .alert-danger { display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px !important; border: 1px solid #F5C2C2 !important; border-radius: 12px !important; background: #FDECEC !important; color: #A33030 !important; font: 600 14px/1.4 Montserrat, sans-serif !important; text-align: left; }
.pg2-auth .alert-danger::before, .pg2-auth label.error::before { content: ""; flex: none; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.2' fill='%23D64545'/%3E%3Cpath d='M8 4.4v4.4' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.4' r='1' fill='%23fff'/%3E%3C/svg%3E") center / 16px 16px no-repeat; }
.pg2-auth .alert-danger::before { margin-top: 2px; }
.pg2-auth input.error, .pg2-auth select.error, .pg2-auth input.is-invalid { border: 1.5px solid #D64545 !important; background: #FFF6F6 !important; }
.pg2-auth .pg2-auth__check input.error { outline: 1.5px solid #D64545; outline-offset: 1px; }
.pg2-auth label.error:not([style*="none"]) { display: flex !important; }
.pg2-auth label.error { align-items: flex-start; gap: 6px; margin: 0 !important; font: 600 13px/1.3 Montserrat, sans-serif !important; color: #D64545 !important; text-align: left; }
.pg2-auth label.error::before { margin-top: 0; }
.pg2-auth .pg2-auth__check + label.error { margin-top: 8px !important; }
.pg2-auth .pg2-auth__check + label.error { margin: 20px 0 20px !important; }   /* Steven G3: 20px above and below the terms message */
.pg2-auth .pg2-auth__check input[type=checkbox].error { outline: 0; box-shadow: 0 0 0 1.5px #D64545; border-radius: 3px; }

/* =====================================================================================================================
   Steven's batch 4 (19 Oct 2026), section 6: F2 Private Membership (/pma) and F2a Member Access, Step 5 (/pma-access).
   The steps sit on the sky backdrop as white cards; the page ends with "Three ways to start" (partials/hv2_ways).
   ===================================================================================================================== */
.pm3-hero { padding: 88px 0 96px; background: #DCEFF6 url("../../img/home-v2/hero-sky-bg.jpg") center / cover no-repeat; text-align: center; }
.pm3-hero .hv2-wrap { display: flex; flex-direction: column; align-items: center; gap: 28px; max-width: 1240px; padding: 0 20px; }
.pm3-badge { display: inline-flex; align-items: center; gap: 8px; height: 35px; padding: 0 18px 0 8px; border-radius: 17.5px; background: #FCF4EA; color: #000; font: 500 16px/1 Montserrat, sans-serif; }
.pm3-badge svg { flex: none; color: var(--hv2-teal); }
.pm3-hero h1 { max-width: 1000px; margin: 0; font: 800 44px/1.2 Montserrat, sans-serif !important; color: #383838; letter-spacing: 0; }
.pm3-hero h1 span { color: var(--hv2-teal); }
.pm3-lead { max-width: 860px; margin: 0; font: 600 22px/1.4 Montserrat, sans-serif; color: #383838; }
.pm3-text { max-width: 820px; margin: 0; font: 500 18px/1.55 Montserrat, sans-serif; color: #6B7A82; }
/* four cards of 282 x 315; in each, the picture, the two lines and the button are spread over the card's height */
.pm3-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 282px)); justify-content: center; gap: 24px; width: 100%; padding: 16px 0; }
.pm3-steps--one { grid-template-columns: minmax(0, 560px); padding: 0; }
.pm3-step { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 12px; min-height: 315px; padding: 14px; border-radius: 18px; background: #fff; cursor: pointer; text-align: center; }
.pm3-steps--one .pm3-step { justify-content: flex-start; min-height: 0; }
.pm3-step__thumb { position: relative; width: 100%; aspect-ratio: 254 / 143; border-radius: 12px; overflow: hidden; }
.pm3-steps--one .pm3-step__thumb { aspect-ratio: 532 / 299; }
.pm3-step__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pm3-step__play { position: absolute; top: 50%; left: 50%; width: 48px; height: 48px; margin: -24px 0 0 -24px; }
.pm3-step h3 { margin: 0; font: 800 17px/1.25 Montserrat, sans-serif !important; color: #383838; letter-spacing: 0; }
.pm3-step p { margin: 0; font: 500 15px/1.5 Montserrat, sans-serif; color: #6B7A82; }
.pm3-watch { display: inline-flex; flex: none; align-items: center; justify-content: center; gap: 8px; width: 155px; height: 41px; padding: 0; border: 0; border-radius: 999px; background: var(--hv2-teal); color: #fff; font: 800 14px/1.2 Montserrat, sans-serif; cursor: pointer; }
.pm3-watch svg { flex: none; width: 16px; height: 16px; }
.pm3-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 55px; padding: 0 36px; border: 0; border-radius: 999px; background: var(--hv2-teal); color: #fff; font: 800 16px/1.2 Montserrat, sans-serif; cursor: pointer; }
.pm3-cta svg { flex: none; width: 18px; height: 18px; }
.pm3-watch:hover, .pm3-cta:hover { background: #3596AF; }
@media (max-width: 1099px) { .pm3-steps { grid-template-columns: repeat(2, minmax(0, 282px)); } .pm3-steps.pm3-steps--one { grid-template-columns: minmax(0, 560px); } }
@media (max-width: 599px) {
    .pm3-hero { padding: 48px 0 56px; }
    .pm3-hero .hv2-wrap { gap: 20px; padding: 0 24px; }
    .pm3-hero h1 { font-size: 28px !important; }
    .pm3-lead { font-size: 17px; }
    .pm3-text { font-size: 15px; line-height: 1.5; }
    .pm3-steps, .pm3-steps.pm3-steps--one { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0; }
    .pm3-step { gap: 8px; min-height: 0; padding: 16px; }
    .pm3-steps--one .pm3-step { padding: 14px; }
    .pm3-step__thumb, .pm3-steps--one .pm3-step__thumb { aspect-ratio: 350 / 197; }
    .pm3-step h3 { margin-top: 4px; font-size: 16px !important; }
    .pm3-step p { font-size: 14px; }
    .pm3-cta { width: 100%; padding: 12px 20px; }
}

/* PMA pages (19 Oct night): the buttons are links now (to /pma-access and /sign-up); a step without its video link yet
   says so in the popup instead of playing the old placeholder clip. */
a.pm3-cta, a.pm3-cta:hover, a.pm3-cta:focus { color: #fff !important; text-decoration: none !important; }
.pm2-modal__video .pm3-soon { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; margin: 0; padding: 24px; color: #fff; font: 600 18px/1.5 Montserrat, sans-serif; text-align: center; }
.pm2-modal__video .pm3-soon[hidden], .pm2-modal__video iframe[hidden] { display: none; }
