/* Omara x Soren alignment layer (Oct 29 2026) */
/* 1. Header floats down once you scroll (Soren behaviour) */
body.past-hero .header{position:fixed;top:0;left:0;width:100%;color:#2d2d2d;background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #2d2d2d14;animation:hdrin .5s var(--ease) both;z-index:50}
body.past-hero.menu-open .header{animation:none}
/* nav dropdowns */
.main-nav{align-items:center}
.nav-dd summary{font:inherit;color:inherit}
.nav-dd ul{background:#fff;border:1px solid #e1e1e1;box-shadow:0 18px 40px #2d2d2d1f}
.nav-dd ul a{color:#2d2d2d!important;white-space:nowrap}
.nav-dd ul a:hover{background:#f5f5f5}
/* 4. Category heroes: Soren photo-hero layout, Omara cut-out portraits on a tint */
.page-hero.photo-hero.cutout-photo{color:#2d2d2d;background:var(--tint,#90ddff)}
.cutout-photo::before{display:none}
.cutout-photo .ph-bg{position:absolute;inset:0;z-index:-1;display:flex;justify-content:flex-end;align-items:flex-end;padding-right:4%}
.cutout-photo .ph-bg img{position:static!important;width:auto!important;height:92%!important;max-width:56%;object-fit:contain!important;object-position:bottom right!important}
.cutout-photo h1,.cutout-photo .label,.cutout-photo .crumbs a,.cutout-photo .crumbs li{color:#2d2d2d}
.cutout-photo h1 em{color:#2d2d2d}
.cutout-photo .lead{color:#2d2d2d!important}
.cutout-photo .ticks li{color:#2d2d2d}
.photo-hero .ph-copy .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.photo-hero .button.outline{background:#ffffffb3}
@media(max-width:900px){
 .page-hero.photo-hero.cutout-photo{min-height:0;display:flex;flex-direction:column;padding-top:96px;padding-bottom:40px}
 .cutout-photo .ph-bg{position:relative;inset:auto;order:2;height:min(52svh,440px);justify-content:center;padding:0;margin:18px auto 0}
 .cutout-photo .ph-bg img{height:100%!important;max-width:100%}
 .cutout-photo .ph-copy{position:relative!important;left:auto;right:auto;bottom:auto;order:1}
 .page-hero.photo-hero h1{font-size:40px}
}
/* photo heroes using regular Omara photos */
.photo-hero:not(.cutout-photo)::before{background:linear-gradient(90deg,rgba(45,45,45,.82) 0%,rgba(45,45,45,.45) 45%,rgba(45,45,45,0) 75%)}
@media(max-width:900px){.photo-hero:not(.cutout-photo)::before{background:linear-gradient(180deg,rgba(45,45,45,.1) 0%,rgba(45,45,45,.15) 35%,rgba(45,45,45,.75) 70%,rgba(45,45,45,.92) 100%)}}
/* 5/6. product cards and buy cards */
.price-card .vial img{height:96%;mix-blend-mode:multiply}
.pep-note{font-size:14px;line-height:1.5;background:#f5f5f5;border-left:3px solid #E10086;padding:12px 14px;margin:14px 0}
.product-media img{width:100%;height:auto;object-fit:contain}
.gp-price{text-align:right}.gp-month{display:block;font-weight:600}.gp-billed,.gp-note{display:block;font-size:12px;opacity:.75}
.pc-price .gp-billed,.pc-price .gp-note{display:block;font-size:12px;opacity:.75;font-weight:400}
.glp-comp{margin-top:14px;font-size:12px;line-height:1.5}
@media(max-width:600px){.price-grid{grid-template-columns:1fr}.buy-table td,.buy-table th{font-size:14px}}
@media(max-width:900px){.photo-hero:not(.cutout-photo){display:flex;flex-direction:column;justify-content:flex-end;min-height:calc(100svh - 60px)}.photo-hero:not(.cutout-photo) .ph-copy{position:relative!important;left:auto;right:auto;bottom:auto}.photo-hero:not(.cutout-photo)::before{background:linear-gradient(180deg,rgba(45,45,45,0) 0%,rgba(45,45,45,0) 30%,rgba(45,45,45,.7) 55%,rgba(45,45,45,.94) 100%)!important}}
/* ===== C2 category hero (approved /hrt-c/ style) ===== */
.c2-hero{position:relative;overflow:hidden;isolation:isolate;color:#2d2d2d;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:0 2%;padding:120px 6% 40px;min-height:0;
 background:radial-gradient(40% 50% at 8% 85%,#90ddff24,transparent 70%),radial-gradient(30% 40% at 92% 12%,#E1008608,transparent 70%),#fbfbfa}
.c2-hero .c2-fig{order:2;display:flex;justify-content:center;align-items:flex-end;align-self:end}
.c2-hero .c2-fig img{display:block;max-height:640px;max-width:100%;width:auto;height:auto}
.c2-hero .ph-copy{order:1;position:relative;z-index:2;max-width:620px;padding:0;background:none}
.c2-hero h1{font-family:var(--serif);font-size:clamp(52px,6vw,92px);line-height:.95;margin:10px 0 18px;letter-spacing:-.01em;color:#2d2d2d}
.c2-hero h1 em{color:#E10086}
.c2-hero .lead{font-size:17px;max-width:30em;color:#2d2d2d}
.c2-hero .eyebrow{font-family:var(--mono);letter-spacing:.18em;font-size:12px;color:#2d2d2d}
.c2-hero .crumbs ol{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 18px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.c2-hero .crumbs li+li::before{content:'/';margin-right:8px;opacity:.5}
.c2-hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0;opacity:1;visibility:visible;transform:none;filter:none;flex-direction:row;align-items:center}
.c2-hero .ticks{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.c2-hero .ticks li::before{content:'✓ ';color:#E10086}
.c2-weight .c2-fig img{max-height:560px}
@media(max-width:800px){
 .c2-hero{display:flex;flex-direction:column;padding:84px 0 40px}
 .c2-hero .c2-fig{order:1;align-self:stretch;overflow:hidden;height:min(56vh,440px)}
 .c2-hero .c2-fig img{height:100%;max-height:none;max-width:none;width:auto;object-fit:contain}
 .c2-hero .ph-copy{order:2;padding:22px 22px 0;margin:0}
 .c2-hero h1{font-size:52px}
 .c2-sexual .c2-fig,.c2-treatments .c2-fig,.c2-weight .c2-fig,.c2-longevity .c2-fig{height:auto;max-height:440px}
 .c2-sexual .c2-fig img,.c2-treatments .c2-fig img,.c2-weight .c2-fig img,.c2-longevity .c2-fig img{width:100%;height:auto;max-height:440px;object-fit:contain}
}
/* C2 round 2 */
.c2-hero{background:radial-gradient(40% 50% at 8% 85%,#90ddff24,transparent 70%),radial-gradient(30% 40% at 92% 12%,#E1008608,transparent 70%),linear-gradient(180deg,#fbfbfa 0%,#fbfbfa 80%,#fff 100%)}
@media(max-width:800px){
 .c2-hero{padding:78px 0 32px}
 .c2-hero .c2-fig,.c2-sexual .c2-fig,.c2-treatments .c2-fig,.c2-weight .c2-fig,.c2-longevity .c2-fig{height:300px;max-height:300px}
 .c2-hero .c2-fig img,.c2-sexual .c2-fig img,.c2-treatments .c2-fig img,.c2-weight .c2-fig img,.c2-longevity .c2-fig img{height:300px;width:auto;max-width:100%;object-fit:contain}
 .c2-hero .ph-copy{padding:26px 22px 0}
 .c2-hero .crumbs ol{margin-bottom:10px}
 .c2-hero h1{font-size:44px;margin:6px 0 12px}
 .c2-hero .lead{font-size:15.5px;line-height:1.5;margin-bottom:0}
 .c2-hero .hero-actions{margin:16px 0;gap:8px;flex-wrap:nowrap}
 .c2-hero .hero-actions .button{padding:14px 18px;font-size:14px;white-space:nowrap;min-width:0}
}
@media(max-width:800px){.c2-hero .ph-copy{width:100%;max-width:none;box-sizing:border-box;align-self:stretch}.c2-hero .hero-actions{flex-wrap:wrap}.c2-hero .hero-actions .button{padding:13px 16px}}
@media(max-width:800px){.c2-hero .hero-actions{flex-wrap:nowrap}.c2-hero .hero-actions .button{min-width:0!important;width:auto!important;flex:0 1 auto;gap:8px;padding:12px 14px;font-size:13.5px;justify-content:center}}
/* v2 product renders: 1080x864 transparent frames, Soren framing baked in — show whole frame, no distortion */
.vial:has(img[src*="/assets/img/products/"]){background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;box-sizing:border-box}
.vial img[src*="/assets/img/products/"],.price-card .vial img[src*="/assets/img/products/"]{height:100%;width:100%;max-width:100%;object-fit:contain;mix-blend-mode:normal}
.pc-img img[src*="/assets/img/products/"]{height:100%;width:100%;object-fit:contain;mix-blend-mode:normal}
.ph-media.product-media img[src$="-hero.webp"]{position:absolute;z-index:1;left:50%;bottom:0;transform:translateX(-50%);width:auto;height:94%;max-width:96%;object-fit:contain;object-position:bottom}
/* c5: same box as the other product heroes (4/4.6, full column width) - was 4/4.3, max 520px */
.ph-media.product-media.h-photo:has(img[src$="-hero.webp"]){aspect-ratio:4/4.6;max-width:none;width:100%}

/* homepage parity with Soren (2026-10-29) */
.rx-top{background:#2d2d2d;color:#fff;font:11px/1.4 var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:7px 20px;position:relative;z-index:51}
.principles.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.principles.five{grid-template-columns:1fr 1fr}}@media(max-width:600px){.principles.five{grid-template-columns:1fr}}
.prog-intro .num{font-family:var(--mono,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.prog-intro .strong{font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip-btn{border:1px solid #e1e1e1;background:#fff;border-radius:999px;padding:8px 16px;font:600 12px var(--sans,inherit);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:#2d2d2d;min-height:44px}
.chip-btn[aria-pressed=true]{background:#502C96;color:#fff;border-color:#502C96}
.how .steps{grid-template-columns:repeat(5,1fr)}
.steps ul{padding-left:16px;margin:10px 0 0;font-size:14px}.steps ul li{margin:6px 0}
.steps h3 small{display:block;font-size:12px;font-weight:400;opacity:.75}
@media(max-width:1100px){.how .steps{grid-template-columns:1fr 1fr}}@media(max-width:600px){.how .steps{grid-template-columns:1fr}}
.meet-actions .text-button{font-weight:600;color:inherit;text-decoration:none;border-bottom:1.5px solid #B8A0DE;display:inline-flex;align-items:center;min-height:44px}
/* desktop program rows sized like Soren at 1440: lead card 32% (415px), 28px gap, 3 product cards visible (272px), 16px between cards */
@media(min-width:1001px){
 .prog-row,.prog-row:first-child{grid-template-columns:minmax(260px,32%) minmax(0,1fr);column-gap:28px}
 .prog-row>.prog-products,.prog-products{grid-column:2;justify-content:flex-end}
 .prog-products .car{flex:none}
 .prog-products .car-track{flex:none;grid-auto-columns:calc((100% - 2*16px)/3);grid-auto-rows:auto;align-items:stretch}
 .prog-products .pc-link{min-height:0!important;padding:14px 16px 16px}
 .prog-intro .service-image{aspect-ratio:1.3}
}
@media(min-width:1001px){
 .services .prog-rows{margin-left:calc((100% - min(1296px,100vw - 144px))/2);margin-right:calc((100% - min(1296px,100vw - 144px))/2)}
 .prog-intro{padding:0;border:0;background:transparent}.prog-intro:hover{transform:none}
 .prog-intro .service-image{border-radius:14px}
}
@media(min-width:1001px){.prog-products .car-track{margin:0;padding:4px 2px 14px}}
.prog-intro p.strong{flex:none;margin-bottom:4px}
.steps ul li{background:none;border-radius:0;padding:0;min-height:0;display:list-item;margin:6px 0;transform:none!important;font-size:13px;line-height:1.5;color:var(--muted)}.steps ul li:hover{background:none;color:var(--muted)}.steps>li:hover ul li{color:#f5f5f5}.steps h3{margin-top:40px}
@media(max-width:700px){.press-logos li:nth-child(n+4){display:flex}.press-logos{gap:2px 12px}.press-logos li{font-size:12.5px}}

/* 2026-10-29 c5: desktop program cards start at the same height as Soren (106px below the lead image top), stretch to the row bottom */
@media(min-width:1001px){
 .prog-products .car{flex:none;min-height:calc(100% - 102px);display:flex;flex-direction:column;justify-content:flex-end}
 .prog-products .car-track{flex:1 0 auto;align-content:stretch;grid-auto-rows:auto;align-items:stretch}
 .prog-products .car-track>.pc{display:flex}
 .prog-products .car-track>.pc>.pc-link{flex:1}
}
/* 2026-10-29 c5: mobile hero - keep the hero copy clear of "Replay the arrival" (also while the cookie bar is open); header sits below the Rx banner */
@media(max-width:900px){
 #hero-content{bottom:72px!important}
 html.cookie-open #hero-content{bottom:calc(var(--cookie-h,0px) + 70px)!important}
 body:not(.past-hero):has(.rx-top) .header{top:45px}
}
/* 2026-10-29 c5: compact Ask Omara button on mobile, as Soren (chat.css "Mobile fixes v1"): 48px icon-only, 12px from the edge, so it no longer covers purchase-area text like "Free shipping" */
@media (max-width:768px){
 .ch-fab{width:48px;height:48px;padding:0;justify-content:center;gap:0;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}
 .ch-fab .ch-fab-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* c7 2026-10-29: page parity with Soren */
.product-hero .hero-actions{opacity:1;visibility:visible;transform:none;filter:none;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 0}
@media(max-width:800px){
 .product-hero .hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin:20px 0 6px}
 .product-hero .hero-actions .button{width:100%;justify-content:center}
 .product-hero .ph-media{margin-top:20px}
}
.stats .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.stats .stat{border-top:3px solid #502C96;padding-top:18px}
.stats .stat b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,64px);line-height:1;color:var(--ink,#2d2d2d)}
.stats .stat span{display:block;margin-top:8px}
.stats .stat small{display:block;margin-top:8px;font-family:var(--mono);font-size:11px;color:#a33}
mark.ph{background:#fff3b0;color:#5a4500;padding:2px 4px;border-radius:3px;font-size:13px}
@media(max-width:800px){.stats .stat-grid{grid-template-columns:1fr}}
.contact-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.contact-grid.three{grid-template-columns:1fr}}
.talk-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin:64px 0 24px;padding-top:48px;border-top:1px solid var(--line,#e5e1da)}
.talk-copy h2{font-family:var(--serif);font-weight:400;text-transform:none;font-size:clamp(36px,4vw,56px);line-height:1.02;margin:8px 0 16px}
.talk-copy h2 em{color:#502C96}
.talk-form{display:grid;gap:14px;margin-top:18px}
.talk-form .fc-row.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.talk-form .field{display:grid;gap:6px;margin:0;font-size:13px;font-weight:600}
.talk-form input,.talk-form select,.talk-form textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid rgba(45,45,45,.3);border-radius:8px;background:#fff;color:#2d2d2d;width:100%;box-sizing:border-box}
.talk-form .fc-err{color:#b00020;min-height:1em;margin:0;font-size:14px}
.talk-form .demo-note{font-size:12.5px;color:#666;margin:0}
@media(max-width:800px){.talk-grid{grid-template-columns:1fr;gap:28px;margin-top:40px;padding-top:32px}.talk-form .fc-row.two{grid-template-columns:1fr}}
html .contact-card.primary .button.cream,html .contact-card.primary .button.cream *,html[data-theme=bright] .contact-card.primary .button.cream,html[data-theme=bright] .contact-card.primary .button.cream *{color:#2d2d2d!important}
/* c8 photo slots, Soren patterns */
.ph-media.cover img,html[data-theme=bright] .ph-media.cover img{position:absolute;inset:0;left:0;transform:none;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 35%}
.page-hero.slim-hero.has-media .ph-media{border-radius:6px}
.mv-grid .mv-img{aspect-ratio:612/420;overflow:hidden;border-radius:6px;margin-bottom:28px}.mv-grid .mv-img img{width:100%;height:100%;object-fit:cover;display:block}

/* 2026-10-30 (c10): desktop layout fixes (gen/desktop_fix.py + this block). Mobile untouched except .overview. */
@media(min-width:1001px){
 .philosophy-grid{gap:56px;padding:48px 0 0;grid-template-columns:1.1fr 1fr}
 .philosophy .principles.five{margin-top:56px}
 .philosophy-grid>div{max-width:none}
 .philosophy-grid .lead{font-size:clamp(21px,1.6vw,24px);line-height:1.4}
 .philosophy h2{font-size:clamp(44px,4.6vw,68px)}
 /* HRT + Lose Weight rows: card top sits 106px / 67px below the lead image top (as Soren at 1440), no stretch */
 .prog-row[data-id=hormone] .prog-products .car,.prog-row[data-id=weight] .prog-products .car{min-height:0;justify-content:flex-start}
 .prog-row[data-id=hormone] .prog-products .car-track,.prog-row[data-id=weight] .prog-products .car-track{flex:none}
 .prog-row[data-id=hormone] .prog-products,.prog-row[data-id=weight] .prog-products{justify-content:flex-start}
 .prog-row[data-id=hormone] .prog-products{padding-top:102px}
 .prog-row[data-id=weight] .prog-products{padding-top:63px}
 .prog-row[data-id=hormone] .prog-products .car{margin-bottom:-29px}
 .prog-row[data-id=weight] .prog-products .car{margin-bottom:-16px}
 /* How it works: heading on ~2 lines, joined 5-column step grid like Soren */
 #how .section-heading h2{font-size:clamp(44px,3.9vw,64px)}
 #how .steps{gap:0;border:1px solid var(--line);border-radius:0;overflow:hidden}
 #how .steps>li{border-radius:0;border-right:1px solid var(--line);background:#fff}
 #how .steps>li:last-child{border-right:0}
 #how .steps>li:hover{transform:none}
 #how>.text-button{margin-top:28px}
 /* final CTA: buttons on one row */
 .visit-actions{flex-wrap:nowrap;align-items:flex-start}
 .visit-actions .button{white-space:nowrap;min-width:0;padding:16px 20px;gap:14px}
 .visit-actions{gap:10px;width:max-content;max-width:none}
}
/* GLP-1 / care-includes overview (renamed from .benefits, which clashed with soren-layout.css) */
.section.overview{display:block}
@media(min-width:1001px){#contact .consult-wrap{position:relative}#contact .consult-wrap .consult-sub{position:absolute;left:0;top:100%;white-space:nowrap}#contact .visit-actions{padding-bottom:26px}}
@media(min-width:1001px) and (max-width:1200px){#contact .visit-actions{gap:8px}#contact .visit-actions .button{padding:12px 12px;font-size:12.5px;gap:6px}}

/* c14 fade option J (Mark 2026-10-30, replaces L): blue-to-pink fade behind homepage category photos; product image boxes white */
.pc-img,.pc-img img{background:#fff!important}
.prog-row .service-image{background:linear-gradient(165deg,rgba(144,221,255,0.38) 0%,rgba(144,221,255,0.12) 50%,rgba(225,0,134,0.12) 100%)}

/* c16: treatments banners with cut-outs sit on fade J, same as homepage tiles */
.section-banner.cut{background:linear-gradient(165deg,rgba(144,221,255,0.38) 0%,rgba(144,221,255,0.12) 50%,rgba(225,0,134,0.12) 100%)}
.section-banner.cut img{object-fit:contain;padding-top:14px;box-sizing:border-box}
/* c18: hair cut-out bleeds off the banner top (deliberate crop, like the HRT crown) */
.section-banner.cut img[src*="hair-cut-v3"]{padding-top:0;object-position:50% 0}
/* c18: category heroes stay on plain white (fade J only on homepage tiles + treatments banners) */
.c2-hero{background:#fff}

/* c19: shorter entrance to match Soren (hold 5.2s); caption fades in earlier so it still gets ~0.7s on screen */
.hc-caption{animation-delay:3.6s}
.arrival.open .hc-caption{animation:none}
/* c91 (Mark 2026-11-03): step-card hover was white text on white (#how bg override); readable dark text on blue hover on all pages */
html[data-theme=bright] .steps>li:hover,html[data-theme=bright] #how .steps>li:hover{background:#90ddff}
html[data-theme=bright] #how .steps>li:hover *,html[data-theme=bright] .steps>li:hover *,html[data-theme=bright] .steps>li:hover ul li{color:#2d2d2d}

/* c28 home visit-actions Get started pink */
.visit-actions .button.cream.c28-pink{background:#E10086;border-color:#E10086;color:#fff}.visit-actions .button.cream.c28-pink:hover{background:#B8006D;color:#fff}

/* c25 desktop header CTA pink */
@media(min-width:901px){html[data-theme] .header .header-cta,html .header .header-cta{background:#E10086;border-color:#E10086;color:#fff}html[data-theme] .header .header-cta:hover,html .header .header-cta:hover{background:#B8006D}}

/* c30-consult-green (c36: Columbia Blue) */
html body .consult-cta.consult-cta.consult-cta.consult-cta{background:#90DDFF!important;border-color:#90DDFF!important;color:#1f2a2a!important}
html body .consult-cta.consult-cta.consult-cta.consult-cta:hover,html body .consult-cta.consult-cta.consult-cta.consult-cta:focus-visible{background:#6FCFF5!important;border-color:#6FCFF5!important;color:#1f2a2a!important}
html body .consult-cta.consult-cta.consult-cta.consult-cta *{color:inherit!important}

/* c34 homepage product-card Get started */
.pc{position:relative}
.pc .pc-link{padding-bottom:74px}
.pc a.button.c34-pc{position:absolute;left:16px;bottom:16px;width:auto!important;min-width:0!important;z-index:2}

/* c39 View product beside card Get started */
.pc .pc-link .pc-more{position:absolute;left:152px;bottom:16px;height:44px;width:auto;margin:0!important;padding:0!important;display:inline-flex;align-items:center;white-space:nowrap;z-index:1}

/* c41 header logo: omara only, larger */
.header .wordmark>span{display:none!important}
.header .wordmark .logo{width:140px!important}
@media (max-width:760px){.header .wordmark .logo{width:128px!important}}

/* c43 contact form success line */
.talk-form .fc-ok{margin:0;color:#1f6f4a;font-size:14px;line-height:1.5}.talk-form .fc-ok:empty{display:none}.talk-form button[aria-busy]{opacity:.6;pointer-events:none}

/* c44 contact card buttons on one bottom line */
.contact-card{display:flex;flex-direction:column;align-items:flex-start}.contact-card>.button:last-child,.contact-card>.consult-wrap{margin-top:auto}

/* c45 hero captions match + consult button height */
.hero-actions .quiz-invitation{font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:.2px;line-height:1.35;color:#2d2d2d!important;letter-spacing:.2px!important;opacity:.75;text-transform:none}
.hero-actions .hero-consult .consult-cta{min-height:50px}

/* c52 gs */
.gs,a.gs,button.gs{background:#E10086!important;color:#fff!important;border:1px solid #E10086!important;border-radius:999px!important;font-family:"Hanken Grotesk",system-ui,-apple-system,Arial,sans-serif!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important;transition:background .3s,transform .3s,box-shadow .3s!important}
.gs:hover,.gs:focus-visible{background:#E10086!important;color:#fff!important;transform:translateY(-2px)}

/* c53b press */
@media(min-width:1001px){.arrival .press{top:85px}}

/* c70 promo */
.c70-promo-wrap{margin:.6rem 0 .2rem}
.c70-promo{display:inline-block;background:#FDB73E;color:#2A2F36;font-weight:700;font-size:.8rem;line-height:1.2;letter-spacing:.01em;padding:.38rem .7rem;border-radius:999px}
.pc-price .c70-promo,.gp-price .c70-promo{display:block;width:fit-content;max-width:100%;white-space:normal;margin:0 0 .35rem}

/* c72 packages */
.c72-pkg{margin:.9rem 0 .4rem;border:1px solid rgba(73,41,127,.18);border-radius:14px;padding:.7rem .9rem;background:#faf7fd}
.c72-h{margin:0 0 .4rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#49297F;font-weight:600}
.c72-pkg ul{list-style:none;margin:0;padding:0}
.c72-opt{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;padding:.4rem 0;border-top:1px solid rgba(73,41,127,.1);font-size:.92rem}
.c72-opt:first-child{border-top:0}
.c72-p{font-weight:700;color:#2A2F36;text-align:right}
.c72-p small{font-weight:400;color:#5b5f66;font-size:.8rem;white-space:nowrap}

/* c97: grid fixes for short rows, folded details, GLP-1 caption */
@media (min-width:1001px){
.price-grid:has(> article:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.price-grid:has(> article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.price-grid:has(> article:only-child){grid-template-columns:minmax(0,1fr)}
.price-grid > article.price-card:only-child{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:48px;align-content:center}
.price-grid > article.price-card:only-child > *{grid-column:2}
.price-grid > article.price-card:only-child > .vial{grid-column:1;grid-row:1 / span 8;height:auto;min-height:260px;margin:0}
.price-grid > article.price-card:only-child h3{min-height:0}
.steps:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.steps:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.glp1-media-wrap .ph-media.product-media{width:86%;margin-left:auto;margin-right:auto}
.glp1-media-wrap .glp1-img-note{max-width:440px}
}
.price-card h3{min-height:0}
.buy-notes[data-c97-fold] .c97-more{margin-top:18px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}
.buy-notes[data-c97-fold] .c97-more h4{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.buy-notes[data-c97-fold] .c97-more p,.buy-notes[data-c97-fold] .c97-more ul{margin:0;font-size:14px;line-height:1.55}
.buy-notes[data-c97-fold] .c97-more ul{padding-left:18px}

/* c104: teal safety box */
aside.notice.c104-safety{background:#eef6f6;border:1px solid rgba(0,128,128,.35);border-left:4px solid #008080;border-radius:14px;color:#3a3a3a}
aside.notice.c104-safety h3{color:#006666}
