/* Field Capability reference, translated into the approved navy/yellow palette. */
:root { --field-display:'Archivo Black',Arial,sans-serif; --field-label:'Barlow Condensed',Arial,sans-serif; }
h1,h2,.philosophy-card h3,.training-card h3,.flagship-card h3,.course h4,.online-coaching-intro h3 {
 font-family:var(--field-display); font-weight:400; text-transform:uppercase; letter-spacing:-.045em; line-height:1.08;
}
.hero h1 { font-size:clamp(54px,6.4vw,96px); line-height:1.02; letter-spacing:-.05em; max-width:1080px; }
.hero-content { padding-block:65px 80px; }
.hero .eyebrow { color:var(--canvas); }
.site-header nav > a { font-family:var(--field-label); font-size:17px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
.site-header nav { gap:20px; }
.eyebrow,.small-index,.section-note,.status,.class-badge,.course-state,.back-top,.text-link,.discipline-list,.training-details li > span,.class-time > span,.experience-number p {
 font-family:var(--field-label); font-weight:600; letter-spacing:.14em; font-size:14px;
}
.section-note { font-size:13px; }
.button { font-family:var(--field-label); font-size:16px; letter-spacing:.09em; border-radius:2px; padding-inline:24px; }
.button:hover { transform:translateY(-1px); }
.philosophy-card,.training-card,.personal-program,.course,.online-coaching,.flagship-card,.status,.class-badge { border-radius:0; }
.section-top { border-top-width:2px; padding-top:18px; }
.section-heading h2 { font-size:clamp(38px,4.3vw,64px); }
.accent-underline { background:none; padding:0; }
.section-heading h2::after { content:''; display:block; width:58px; height:3px; background:var(--yellow); margin-top:22px; }
.philosophy-grid { gap:0; }
.philosophy-card { padding:38px 34px; }
.philosophy-card h3 { font-size:clamp(25px,2.5vw,34px); }
.philosophy-card p { line-height:1.8; }
.training-card { border-top:3px solid var(--navy); }
.training-card-dark { border-top-color:var(--yellow); }
.training-card h3 { font-size:48px; }
.location-symbol { font-size:30px; color:var(--yellow); }
.price { font-family:var(--field-display); font-weight:400; font-size:60px; }
.training-details li > span { font-size:13px; }
.training-footnote { font-size:14px; }
.venue { font-size:16px; }
.movement-strip { padding-block:19px; }
.movement-strip > div { font-family:var(--field-label); font-size:27px; font-weight:700; letter-spacing:.12em; }
.movement-strip span { font-size:21px; }
.about h2 { font-size:clamp(40px,4.5vw,66px); }
.about-copy h3,.class-main h3,.future-events h3,.coaching-option h4,.library-heading h3 { font-family:var(--heading); font-weight:700; }
.experience-number strong { font-family:var(--field-display); font-weight:400; }
.class-main .small-index,.future-events .small-index { font-size:13px; }
.class-badge,.status { font-size:13px; }
.class-time strong { font-family:var(--field-label); font-weight:600; letter-spacing:0; }
.online-coaching { border-top:3px solid var(--navy); }
.online-coaching-intro h3 { font-size:36px; }
.flagship-grid { gap:3px; }
.flagship-card { border-top:3px solid var(--yellow); padding:30px 25px; }
.flagship-card h3 { font-size:clamp(25px,2.4vw,35px); letter-spacing:-.045em; }
.flagship-card .small-index,.flagship-card .course-state { font-family:var(--field-label); font-size:14px; letter-spacing:.12em; }
.course-grid { gap:14px; }
.course { background:var(--canvas); border-top:3px solid var(--navy); }
.course h4 { font-size:30px; }
.course .small-index { font-size:13px; }
.course-number { font-family:var(--field-label); font-weight:600; }
.closing h2 { font-size:clamp(40px,5.5vw,76px); }
@media (max-width:1100px) {
 .site-header nav > a { font-size:20px; }
 .flagship-card { padding-inline:20px; }
 .hero h1 { font-size:clamp(50px,7vw,76px); }
}
@media (max-width:950px) {
 .section-heading { gap:25px; }
 .section-heading h2 { font-size:42px; }
 .philosophy-card { padding:30px; }
 .philosophy-card h3 { font-size:29px; }
 .training-card h3 { font-size:39px; }
 .training-card .button { gap:16px; font-size:15px; }
}
@media (max-width:800px) {
 .flagship-grid { gap:16px; }
 .flagship-card h3 { font-size:34px; }
}
@media (max-width:620px) {
 .hero { min-height:730px; }
 .hero h1 { font-size:clamp(30px,8.7vw,53px); letter-spacing:-.05em; }
 .hero-content { padding-top:65px; padding-bottom:75px; }
 .hero .eyebrow { font-size:13px; line-height:1.5; letter-spacing:.13em; }
 .hero-actions .button { min-width:260px; max-width:100%; font-size:15px; }
 .button { font-size:15px; gap:16px; }
 .section-heading h2 { font-size:clamp(31px,8.4vw,43px); }
 .section-heading h2::after { margin-top:18px; }
 .philosophy-card { padding:28px 24px; }
 .philosophy-card h3 { font-size:27px; }
 .philosophy-card .small-index,.eyebrow { font-size:13px; }
 .about h2 { font-size:43px; }
 .experience-number p,.discipline-list { font-size:12px; }
 .training-card h3 { font-size:38px; }
 .training-details li { flex-direction:column; gap:4px; }
 .training-details li > span { font-size:12px; }
 .training-details strong { text-align:left; font-size:14px; }
 .class-main h3 { font-size:28px; }
 .course h4 { font-size:30px; }
 .flagship-card h3 { font-size:clamp(25px,7.5vw,34px); }
 .closing h2 { font-size:clamp(30px,8vw,43px); }
 .closing .eyebrow { font-size:12px; }
 .movement-strip > div { font-size:21px; }
}
