/* Classes use the established Good Fight editorial system. */
.classes-page .classes-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--gf-gap);align-items:center;padding-block:64px 80px}
.classes-page h1{font-family:Heading,Impact,sans-serif;font-size:clamp(48px,5.3vw,80px);line-height:1.06;letter-spacing:-.02em;font-weight:400;margin:0 0 28px;text-transform:uppercase;text-wrap:balance}
.classes-opening .large{max-width:35ch}
.hero-choices{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:28px}
.classes-page .classes-photo{margin:0 14px 20px 0;background:var(--gf-photo-paper);isolation:isolate}
.classes-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:var(--gf-photo-filter);mix-blend-mode:multiply}
.class-groups{background:var(--gf-muted)}
.class-groups .section-heading{margin-bottom:48px}
.class-offers{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.class-offer{border-top:3px solid var(--gf-ink);padding-top:28px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.classes-page .class-offer h3{font-size:clamp(44px,4.5vw,60px);margin:0 0 24px}
.class-offer>p:not(.eyebrow){max-width:42ch}
.class-status{display:flex;align-items:center;gap:10px}
.class-status:before{content:'';width:10px;height:10px;background:var(--gf-yellow);display:block;flex:none}
#adults .class-status:before{background:var(--gf-ink)}
.class-facts{width:100%;margin:4px 0 20px;display:block}
.class-facts>div{display:grid;grid-template-columns:75px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--gf-rule);font-size:18px;line-height:1.5}
.class-facts dt{font-size:15px;align-self:center}.class-facts dd{margin:0;font-weight:500}.class-facts a{text-underline-offset:4px}
.training-site .class-arrival{font-size:16px;line-height:1.6;max-width:45ch;margin-bottom:28px}
.class-action{margin-top:auto;width:100%}
.classes-page .class-note{font-size:15px;line-height:1.6;margin:16px 0 0;max-width:45ch}
.joining-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gf-gap);align-items:start}
.joining-title h2{max-width:12ch}
.joining-steps{list-style:none;margin:0;padding:0}
.joining-steps li{display:grid;grid-template-columns:44px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--gf-rule)}
.joining-steps li:first-child{padding-top:0}.step-number{font-family:Heading,Impact,sans-serif;font-size:28px;line-height:1.2;padding-top:4px}
.classes-page .joining-steps h3{font-size:32px;margin:0 0 12px}.joining-steps p{font-size:18px;line-height:1.65;margin:0}
.classes-page .class-practice{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gf-gap);align-items:start;padding-top:0;padding-bottom:64px}
.class-practice h2{font-size:clamp(40px,4.5vw,60px);margin:0}.class-practice .large{margin:0}
.classes-page .core-section{border-top:1px solid var(--gf-rule)}
@media(max-width:1050px) and (min-width:761px){.classes-page .classes-hero{grid-template-columns:1fr 1fr;gap:36px}.classes-page h1{font-size:54px}.classes-opening .large{font-size:23px}.hero-choices{gap:12px}.class-offers{gap:36px}.class-facts>div{grid-template-columns:60px 1fr;font-size:17px}.joining-section{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:760px){.classes-page .classes-hero{grid-template-columns:1fr;padding-block:40px 64px;gap:40px}.classes-page h1{font-size:clamp(48px,11vw,64px);line-height:1.06}.classes-opening .large{font-size:23px}.hero-choices{gap:16px 24px}.classes-page .classes-photo{margin:0 16px 20px 0}.class-groups .section-heading{margin-bottom:36px}.class-offers{grid-template-columns:1fr;gap:56px}.classes-page .class-offer h3{font-size:48px}.class-facts>div{grid-template-columns:64px 1fr;gap:16px;font-size:17px}.classes-page .class-note{font-size:16px}.class-action{margin-top:0}.joining-section{grid-template-columns:1fr;gap:32px}.joining-title h2{max-width:none}.joining-steps li{gap:16px;grid-template-columns:36px 1fr}.classes-page .joining-steps h3{font-size:30px}.joining-steps p{font-size:19px}.classes-page .class-practice{grid-template-columns:1fr;gap:24px;padding-bottom:48px}.class-practice h2{font-size:44px}.classes-page .core-heading h2{font-size:40px}}

.classes-photo-surface{display:block;position:relative;background:var(--gf-photo-paper);isolation:isolate}

@media(min-width:761px){.classes-page .class-note{min-height:3.2em}}

.class-age-note{display:block;font-size:15px;font-weight:400;line-height:1.6;margin-top:6px;max-width:34ch}

/* Clear standard pricing and balanced adult preview. */
.class-pricing{margin:0 0 24px;width:100%}.classes-page .class-pricing>p:first-child{margin:0 0 8px;font-size:18px;line-height:1.2}.class-pricing strong{font-family:Heading,Impact,sans-serif;font-size:48px;font-weight:400}.classes-page .class-price-detail{font-size:16px;line-height:1.6;margin:0}.adult-class-photo{width:100%;height:190px;overflow:hidden;margin:0 0 20px;background:var(--gf-photo-paper);isolation:isolate}.adult-class-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:var(--gf-photo-filter);mix-blend-mode:multiply}.classes-page .class-offer>h3+p{min-height:6.6em}.classes-page .class-note{min-height:3.2em}.classes-page .class-arrival{min-height:3.2em}
@media(max-width:760px){.adult-class-photo{height:auto;aspect-ratio:8/5}.classes-page .class-offer>h3+p,.classes-page .class-note,.classes-page .class-arrival{min-height:0}.class-pricing strong{font-size:44px}}

/* Documentary images: equal frames and distinct moments for each offer. */
.class-training-photo{width:100%;aspect-ratio:3/2;margin:0 0 20px;background:var(--gf-photo-paper);isolation:isolate;overflow:hidden}
.class-training-photo img{width:100%;height:100%;object-fit:cover;filter:var(--gf-photo-filter);mix-blend-mode:multiply}
.teen-training-photo img{object-position:50% 55%}.adult-training-photo img{object-position:50% 27%}
.classes-page .classes-photo::before{z-index:1;mix-blend-mode:multiply;pointer-events:none}
.classes-photo-surface{z-index:0}
.classes-page .class-pricing{margin-top:auto}
.classes-page .class-arrival{min-height:3.2em}
.classes-page .class-action{margin-top:0}
@media(min-width:761px){.classes-page .class-action>.button{min-height:56px;max-width:100%}}
@media(max-width:760px){.class-training-photo{aspect-ratio:4/3}.classes-page .class-pricing{margin-top:0}.classes-page .class-arrival{min-height:0}.classes-page #adults .button{width:100%;max-width:100%;font-size:17px}}

/* Keep the action, faces, and hands together in each documentary crop. */
.teen-training-photo img{object-position:50% 55%}
.adult-training-photo img{object-position:50% 26%}
@media(max-width:760px){.teen-training-photo img{object-position:50% 55%}.adult-training-photo img{object-position:50% 27%}}
