/* Gym2 sales banner: shared by the homepage and the first Gym course. */
@media(min-width:901px){.programs-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gym2-course-teaser{padding:0 24px 72px}
body.gym2-offer-in-view :is(#mobileCta,#sticky,.sticky-bar){visibility:hidden;opacity:0;pointer-events:none}
.gym2-banner{max-width:1200px;margin:40px auto 0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);isolation:isolate;overflow:hidden;border:1px solid #654353;border-radius:28px;background:#4a2a38;color:#fdf8f5;text-align:left}
.gym2-banner-copy{padding:clamp(30px,4vw,54px);align-self:center;min-width:0}
.gym2-banner .gym2-eyebrow{display:block;margin:0 0 24px;color:#e8b4c4;font:500 11px/1.5 Jost,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.gym2-banner h2{margin:0 0 22px;font:400 clamp(40px,4.7vw,64px)/1.02 'Cormorant Garamond',serif;letter-spacing:-.015em;color:#fdf8f5;text-wrap:balance}
.gym2-banner h2 em{font-weight:400;color:#e8b4c4}
.gym2-banner .gym2-banner-lead{max-width:490px;margin:0 0 14px;font:400 17px/1.65 Jost,sans-serif;color:#fdf8f5}
.gym2-banner .gym2-banner-description{max-width:490px;margin:0;color:#ead8dc;font:300 16px/1.7 Jost,sans-serif;text-wrap:pretty}
.gym2-banner-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 26px;padding:20px 0;border-block:1px solid #785463}
.gym2-banner-facts>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.gym2-banner-facts dt{font:400 12px/1.5 Jost,sans-serif;color:#ead8dc}
.gym2-banner-facts dd{order:-1;margin:0;font:400 34px/1 'Cormorant Garamond',serif;color:#fdf8f5}
.gym2-banner-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.gym2-banner a{min-height:48px;text-decoration:none;font:500 14px/1.5 Jost,sans-serif}
.gym2-banner .gym2-banner-buy{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 24px;border-radius:999px;background:#fdf8f5;color:#4a2a38;transition:background-color .2s ease}
.gym2-banner .gym2-banner-buy:hover{background:#f2e4e1}
.gym2-banner .gym2-banner-details{display:inline-flex;align-items:center;padding:10px 0;color:#fdf8f5;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b58a99}
.gym2-banner .gym2-banner-price{margin:17px 0 0;color:#ead8dc;font:400 12px/1.7 Jost,sans-serif}
.gym2-banner a:focus-visible,.gym2-banner button:focus-visible{outline:3px solid #e8b4c4;outline-offset:5px}
.gym2-banner-media{position:relative;min-width:0;min-height:640px;overflow:hidden;background:#271a20}
.gym2-banner-media .gym2-photo,.gym2-banner-media video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:62% 28%}
.gym2-banner-media video{opacity:0;transition:opacity .25s ease;pointer-events:none}
.gym2-banner-media.is-playing video{opacity:1}
.gym2-preview-toggle{position:absolute;right:20px;bottom:20px;z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:46px;max-width:calc(100% - 40px);padding:11px 18px;border:1px solid #ead8dc;border-radius:999px;background:#fdf8f5;color:#4a2a38;cursor:pointer;font:500 13px/1.4 Jost,sans-serif;box-shadow:0 3px 16px #271a2026}
.gym2-preview-toggle[hidden]{display:none}
.gym2-preview-toggle svg{flex:none;width:16px;height:16px;fill:currentColor}
.gym2-preview-toggle .gym2-pause-icon{display:none}
.is-playing .gym2-preview-toggle .gym2-play-icon{display:none}
.is-playing .gym2-preview-toggle .gym2-pause-icon{display:block}
@media(max-width:900px) and (min-width:701px){.gym2-banner-copy{padding:32px 28px}.gym2-banner-media{min-height:660px}.gym2-banner-actions{gap:8px 20px}}
@media(max-width:700px){
 .gym2-course-teaser{padding:0 20px 48px}
 .gym2-banner{grid-template-columns:minmax(0,1fr);margin-top:28px;border-radius:24px}
 .gym2-banner-copy{padding:30px 24px 32px}
 .gym2-banner-media{order:-1;min-height:0;height:auto;max-height:400px;aspect-ratio:4/5}
 .gym2-banner-media .gym2-photo,.gym2-banner-media video{object-position:62% 22%}
 .gym2-banner .gym2-eyebrow{font-size:10px;margin-bottom:18px}
 .gym2-banner h2{font-size:clamp(38px,10vw,52px);margin-bottom:20px}
 .gym2-banner .gym2-banner-lead{font-size:16px}
 .gym2-banner .gym2-banner-description{font-size:15px}
 .gym2-banner-facts{gap:10px;margin:24px 0;padding:18px 0}
 .gym2-banner-facts dd{font-size:32px}
 .gym2-banner-facts dt{font-size:11px}
 .gym2-banner-actions{gap:10px 18px}
 .gym2-banner .gym2-banner-buy{width:100%;min-height:50px}
 .gym2-banner .gym2-banner-details{justify-content:center;width:100%}
 .gym2-banner .gym2-banner-price{text-align:center;margin-top:8px}
 .gym2-preview-toggle{right:16px;bottom:16px;max-width:calc(100% - 32px)}
}
@media(prefers-reduced-motion:reduce){.gym2-banner-media video,.gym2-banner .gym2-banner-buy{transition:none}}
