/* AGE v10: an invitation led by the practice, with real people further down. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#62132766 0,transparent 59%),#101012}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 14%,#ffffff04 14%,#ffffff04 calc(14% + 1px),transparent calc(14% + 1px),transparent 86%,#ffffff04 86%,#ffffff04 calc(86% + 1px),transparent calc(86% + 1px))}
.hero .hero-grid{display:block;position:relative;width:min(1000px,calc(100% - 80px));padding:73px 0 52px;text-align:center}
.hero-intro .eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:0 0 25px;padding:0;border:0;color:#e0c8ce;font-size:11px;letter-spacing:.15em;line-height:1.8}
.hero-intro .eyebrow>span{width:6px;height:6px;border-radius:50%;background:#ff4560;box-shadow:0 0 18px #f4375d70}
.hero-intro h1{font-size:clamp(48px,5.8vw,78px);line-height:1.09;letter-spacing:-.047em;max-width:950px;margin:auto}
.hero-intro h1>span{color:#ff526c}
.hero-break{display:none}
.hero .hero-copy{max-width:650px;margin:auto;padding:0;text-align:center}
.hero .hero-lead{font-size:18px;line-height:1.8;max-width:620px;margin:27px auto 0;color:#d9d0d4;text-wrap:balance}
.hero .hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px 28px;margin:29px auto 0;max-width:590px}
.hero .hero-actions .button{min-width:290px;min-height:62px;background:#d01335;border:1px solid #ef375444;border-radius:6px;box-shadow:0 9px 34px #a50d292b}
.hero .hero-secondary{font-size:14px;line-height:1.6;padding:12px 0;border-bottom:1px solid #9f7e87;color:#eee3e8}
.hero .button-note{width:100%;margin:0;color:#b9acb2;font-size:12px;line-height:1.8}
.hero-principles{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:38px;padding-top:23px;border-top:1px solid #ffffff16;color:#c3b7bd;font-size:12px;letter-spacing:.04em}
.hero-principles span+span{position:relative}
.hero-principles span+span::before{content:"";position:absolute;left:-17px;top:50%;width:3px;height:3px;border-radius:50%;background:#c3415a}
.hero .hero-locations{background:#171518;border-top-color:#ffffff12}
.benefits{background:#f7f5f1}
.benefits .section-heading{max-width:800px}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fffdfa;border:1px solid #ded8d4;border-radius:10px;overflow:hidden}
.benefit-card{padding:34px 27px 31px;text-align:center;position:relative;min-width:0}
.benefit-card+.benefit-card{border-left:1px solid #e6ded9}
.benefit-audience{font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:#af1733;margin-bottom:19px}
.benefit-card h3{font-size:25px;line-height:1.28;letter-spacing:-.035em;min-height:64px}
.benefit-card>p:not(.benefit-audience){font-size:16px;line-height:1.8;color:#62595b;margin:18px auto 0;max-width:320px}
.benefit-card ul{padding:20px 0 0;list-style:none;margin:23px 0 0;border-top:1px solid #e9e0db;font-size:14px;line-height:1.7;color:#483e41}
.benefit-card li+li{margin-top:9px}
.benefit-card li::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#bc1c39;vertical-align:middle;margin-right:8px}
.courses{border-top:1px solid #e1dad5;background:#eeeae5}
.course-copy h3{font-size:clamp(27px,2.7vw,35px);line-height:1.25}
.age-school{color:#f6f1f3;background:radial-gradient(ellipse at 50% 28%,#3e17222b,transparent 70%),#151416}
.age-school .eyebrow{color:#f47b90}
.age-school .section-heading{max-width:830px;margin-bottom:34px}
.age-school .section-heading h2 span{color:#deced4}
.age-school .section-heading>p:last-child{color:#bfb3b9}
.team-portrait{max-width:760px;margin:0 auto;border:1px solid #ffffff24;border-radius:9px;overflow:hidden;background:#222023}
.team-portrait img{width:100%;height:auto;aspect-ratio:640 / 335;object-fit:contain}
.team-portrait figcaption{font-size:12px;color:#c9bcc3;text-align:center;line-height:1.7;padding:12px 15px}
.age-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:40px auto 0;max-width:1020px;text-align:center}
.age-facts strong{font-size:17px;line-height:1.6;color:#fff0f4}
.age-facts p{color:#bdb0b8;font-size:15px;line-height:1.8;margin-top:8px}
.teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;text-align:center;border-top:1px solid #ffffff1c;margin-top:38px;padding-top:32px}
.teacher-grid article{min-width:0}
.teacher-school{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;line-height:1.7;color:#f18ca0;margin-bottom:12px}
.teacher-grid h3{font-size:23px;line-height:1.3}
.teacher-grid article>p:last-child{max-width:300px;margin:11px auto 0;font-size:14px;line-height:1.8;color:#bfb4bc}
.first-visit{background:#8f1230}
.first-visit .eyebrow{color:#f7b3c3}
.first-visit .section-heading>p:last-child{color:#f5dce3}
.questions .questions-heading h2{max-width:450px;margin-inline:auto}
.first-class .contact-card{border-top:3px solid #de2749;padding-top:33px}
@media(max-width:1100px){
 .hero .hero-grid{padding-block:62px 45px}
 .benefit-card{padding-inline:22px}
 .benefit-card h3{font-size:23px}
 .age-facts,.teacher-grid{gap:24px}
}
@media(max-width:820px){
 .hero .hero-grid{width:min(700px,calc(100% - 64px));padding:53px 0 40px}
 .hero-intro h1{font-size:59px}
 .hero-break{display:initial}
 .hero .hero-lead{font-size:17px;max-width:550px}
 .benefit-grid{grid-template-columns:1fr;max-width:650px;margin:auto}
 .benefit-card{padding:31px 34px}
 .benefit-card+.benefit-card{border-left:0;border-top:1px solid #e6ded9}
 .benefit-card h3{font-size:28px;min-height:0}
 .benefit-card h3 br{display:none}
 .benefit-card>p:not(.benefit-audience){max-width:490px}
 .benefit-card ul{max-width:450px;margin:20px auto 0;padding-top:17px}
 .age-facts{max-width:620px;gap:24px 18px}
 .age-facts strong{font-size:15px}
 .age-facts p{font-size:14px}
 .teacher-grid{gap:22px}
 .teacher-grid h3{font-size:21px}
}
@media(max-width:600px){
 .hero .hero-grid{width:calc(100% - 40px);max-width:480px;padding:33px 0 30px}
 .hero-intro .eyebrow{font-size:9px;letter-spacing:.11em;gap:9px;margin-bottom:22px}
 .hero-intro h1{font-size:clamp(36px,10.7vw,46px);line-height:1.1;letter-spacing:-.048em}
 .hero .hero-lead{font-size:16px;line-height:1.75;margin-top:22px;max-width:365px;text-wrap:pretty}
 .hero .hero-actions{display:flex;flex-direction:column;gap:14px;margin-top:25px}
 .hero .hero-actions .button{width:100%;max-width:365px;min-width:0;min-height:60px;font-size:16px;padding:17px 13px}
 .hero .hero-secondary{font-size:13px;padding:3px 0 5px}
 .hero .button-note{max-width:290px;font-size:11px;line-height:1.7;margin-top:0}
 .hero-principles{gap:25px;margin-top:27px;padding-top:20px;font-size:10px;letter-spacing:0}
 .hero-principles span+span::before{left:-14px}
 .benefits .section-heading{margin-bottom:29px}
 .benefits .section-heading h2{font-size:32px;line-height:1.17}
 .benefit-card{padding:28px 23px}
 .benefit-audience{font-size:11px;margin-bottom:14px}
 .benefit-card h3{font-size:26px;line-height:1.25}
 .benefit-card>p:not(.benefit-audience){margin-top:16px;font-size:16px;line-height:1.8}
 .benefit-card ul{font-size:16px}
 .course-copy h3{font-size:29px;line-height:1.23}
 .age-school .section-heading h2{font-size:32px;line-height:1.2}
 .age-school .section-heading>p:last-child{font-size:16px}
 .team-portrait{border-radius:6px}
 .team-portrait figcaption{font-size:11px;padding:10px}
 .age-facts{grid-template-columns:1fr;gap:0;margin-top:26px}
 .age-facts>div{padding:20px 12px}
 .age-facts>div+div{border-top:1px solid #ffffff15}
 .age-facts strong{font-size:17px}
 .age-facts p{font-size:15px;max-width:310px;margin:7px auto 0}
 .teacher-grid{grid-template-columns:1fr;gap:26px;margin-top:16px;padding-top:30px}
 .teacher-grid h3{font-size:23px}
 .teacher-school{margin-bottom:8px}
 .teacher-grid article>p:last-child{font-size:14px;margin-top:8px;max-width:285px}
 .first-class .contact-card h2{font-size:33px}
 .first-class .contact-card .button{font-size:16px;padding-inline:15px}
}
@media(max-width:360px){
 .hero .hero-grid{width:calc(100% - 32px);padding-top:27px}
 .hero-intro h1{font-size:36px}
 .hero .hero-lead{line-height:1.7}
 .benefits .section-heading h2,.age-school .section-heading h2{font-size:29px}
 .benefit-card{padding-inline:19px}
 .benefit-card h3{font-size:24px}
 .course-copy h3{font-size:27px}
 .first-class .contact-card h2{font-size:30px}
}
