/* Shared page layout and program / schedule components. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.inner-page .header{position:relative;background:var(--ink)}.header nav{gap:26px}.header nav [aria-current=page]{border-bottom:1px solid currentColor;padding-bottom:5px}.page-intro{background:#e9e9df;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(52px,6vw,94px);line-height:1.06;margin:30px 0;letter-spacing:-2px}.page-description{max-width:680px;font-size:17px;line-height:1.85;color:var(--muted)}.page-intro em,.program-overview em{color:#626950}.program-grid-five{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.program-grid-five .card-visual{height:235px}.program-grid-five .visual-word{font-size:clamp(48px,5vw,83px)}.program-grid-five .card-title h3{font-size:clamp(25px,2.2vw,34px);overflow-wrap:anywhere}.program-grid-five .card-title{gap:8px}.program-grid-five .card-number{font-size:10px;letter-spacing:1.2px;left:15px}.program-grid-five .program-card{display:flex;flex-direction:column}.program-grid-five .card-visual{width:100%}.program-grid-five .card-title{width:100%}.program-grid-five .card-link{margin-top:auto;width:100%;display:flex;justify-content:space-between;gap:10px}.program-grid-five .program-card>p{font-size:15px}.visual-four{background:#4c5048}.visual-five{background:#77735e}.coaches-teaser{background:var(--ink);color:var(--cream)}.coaches-teaser h2{margin-top:25px}.coaches-teaser .text-link{border-color:var(--cream);margin-top:30px}.program-hero{background:#202921;color:var(--cream);padding-top:37px;padding-bottom:65px}.breadcrumb{display:inline-block;font-size:13px;margin-bottom:40px}.program-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;align-items:center}.program-hero h1{font-size:clamp(56px,7.2vw,116px);margin:18px 0 25px;line-height:1.04;overflow-wrap:anywhere}.program-tagline{font-family:var(--serif);font-size:clamp(29px,3vw,43px);line-height:1.18}.program-lead{font-size:16px;line-height:1.85;color:#d1d6c9;max-width:580px;margin-top:20px}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:35px}.button-row .text-link{color:var(--cream);border-color:#9da796;font-size:11px}.program-art{aspect-ratio:4/5;position:relative;overflow:hidden;background:#111}.program-art:after{content:'';position:absolute;inset:0;border:1px solid #ffffff24}.program-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.program-overview{display:grid;grid-template-columns:1fr 1fr;gap:9%}.program-overview h2{font-size:clamp(38px,4vw,62px);margin-top:25px}.program-overview p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.9}.program-overview h3{font-size:30px;margin:28px 0 12px}.program-overview .draft-note{font-size:13px!important;margin-top:20px}.focus-section{background:#e9e9df}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:40px}.focus-grid article{border-top:1px solid #bfc4b4;padding-top:23px}.focus-grid h3{font-size:34px;margin:23px 0 15px}.focus-grid p{font-size:16px;line-height:1.9;color:var(--muted)}.package-section{background:var(--ink);color:var(--cream)}.package-section .section-heading>p{color:#c3c8ba}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:25px}.package-card{padding:35px;border:1px solid #717768;max-width:740px}.package-card h3{font-size:36px;margin:20px 0}.package-card dl{margin:30px 0}.package-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #53594c;font-size:15px}.package-card dt{color:#c3c8ba}.package-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.package-card .button{background:var(--cream);color:var(--ink)}.next-programs{background:#e9e9df}.next-programs h2{font-size:45px}.next-programs nav{display:flex;flex-wrap:wrap;gap:16px;margin-top:35px}.next-programs nav a{padding:20px 25px;border:1px solid #b7beaa;display:flex;gap:30px;font-size:16px}.schedule-section h2{margin-top:18px}.schedule-toolbar{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:center}.filter-group{border:0;display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;min-width:0}.filter-button{border:1px solid #b7bdaf;background:transparent;padding:13px 17px;color:var(--ink);font-size:13px;min-height:44px}.filter-button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}.filter-button:hover:not([aria-pressed=true]){background:#e1e3d8}.day-filter{display:flex;gap:12px;align-items:center;font-size:14px}.day-filter select{background:transparent;border:1px solid #b7bdaf;border-radius:0;padding:13px 34px 13px 15px;color:var(--ink);font:inherit;min-height:44px}.schedule-mode{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:28px 0 20px;font-size:14px;color:var(--muted)}.sample-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px}.sample-toggle input{accent-color:var(--ink);width:18px;height:18px}.sample-banner{padding:17px 20px;background:#e8e1ce;border:1px solid #bbab84;margin-bottom:20px;font-size:14px;line-height:1.7;color:#554624}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.schedule-day{padding:22px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:200px}.schedule-day h3{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:25px;font-weight:500}.day-empty{font-size:14px;color:var(--muted);line-height:1.7}.class-session+.class-session{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.class-time{font-weight:600;font-size:16px;line-height:1.5}.class-time span{display:block;font-weight:400;font-size:13px;color:var(--muted)}.class-session h4{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.18;margin:12px 0}.class-session a{font-size:12px;display:flex;align-items:center;gap:7px;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.session-status{font-size:11px;letter-spacing:.5px;color:var(--muted);display:block;margin-top:16px}.class-coach{font-size:13px;line-height:1.6;margin-top:10px}.schedule-empty{padding:24px;border:1px solid var(--line);border-top:0;font-size:15px;color:var(--muted);line-height:1.8}.schedule-section>.text-link{margin-top:30px}.schedule-grid:has(.schedule-day:only-child){grid-template-columns:minmax(240px,500px);border:0}.schedule-grid:has(.schedule-day:only-child) .schedule-day{border:1px solid var(--line)}.staff-awaiting{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;align-items:center}.staff-monogram{background:#303a30;color:var(--cream);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);font-size:150px;position:relative}.staff-monogram>span{position:absolute;bottom:35px;font-family:var(--sans);font-size:11px;letter-spacing:2px}.staff-awaiting h3{font-size:clamp(40px,4.4vw,65px);line-height:1.1;margin:25px 0}.staff-awaiting p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);max-width:470px}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.staff-card img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}.staff-card .eyebrow{margin-top:25px}.staff-card h3{font-size:38px;margin:15px 0}.staff-card p:not(.eyebrow),.staff-card li{font-size:16px;line-height:1.85;color:var(--muted)}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact-section h2{margin-top:25px;font-size:clamp(40px,4.4vw,64px)}.contact-copy{font-size:16px;line-height:1.9;color:var(--muted);margin-top:25px}.contact-details{margin-top:35px}.contact-details>div{padding:23px 0;border-bottom:1px solid var(--line)}.contact-details dt{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}.contact-details dd{margin:0;font-size:16px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.contact-details a{text-decoration:underline;text-underline-offset:5px}.contact-panel{padding:42px;background:#e9e9df;align-self:start}.contact-panel h3{font-size:52px;line-height:1.12;margin-top:20px}.contact-panel ol{list-style:none;padding:0;margin:35px 0}.contact-panel li{display:flex;gap:25px;margin-top:24px}.contact-panel li>span{font-size:12px;color:var(--muted);padding-top:5px}.contact-panel h4{font-size:16px;font-weight:500;margin:0 0 7px}.contact-panel li p{font-size:15px;color:var(--muted);line-height:1.8}.contact-notice{font-size:14px;line-height:1.8;border-top:1px solid var(--line);padding-top:22px;color:var(--muted)}.contact-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.legal-layout{display:grid;grid-template-columns:260px 1fr;gap:8%;align-items:start}.legal-toc{position:sticky;top:40px}.legal-toc nav{display:flex;flex-direction:column;gap:15px;margin-top:25px}.legal-toc a{font-size:14px;line-height:1.7;color:var(--muted)}.legal-toc a:hover{text-decoration:underline}.legal-copy{max-width:750px}.legal-copy section{margin-bottom:40px;scroll-margin-top:30px}.legal-copy h2{font-size:34px;letter-spacing:-.5px;margin-bottom:18px}.legal-copy p{font-size:16px;line-height:1.95;color:var(--muted)}.legal-draft{background:#e8e1ce;padding:26px;margin-bottom:42px}.legal-draft strong{font-size:16px;font-weight:500}.legal-draft p{font-size:14px;line-height:1.8;margin-top:10px}.site-footer{display:block;padding:60px 7% 28px;background:var(--cream)}.footer-top{display:grid!important;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px!important}.footer-top>div>p{font-family:var(--serif);font-size:23px;margin-top:25px}.footer-top nav{display:flex;flex-direction:column;gap:15px;font-size:14px}.footer-top nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-top .footer-location>p{font-family:var(--sans);font-size:16px;margin:18px 0}.footer-note{font-size:13px;line-height:1.8;color:var(--muted)}.footer-bottom{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:25px!important;border-top:1px solid var(--line);padding-top:25px;margin-top:45px}.footer-bottom nav{display:flex;gap:25px;font-size:13px}.footer-bottom>a{font-size:26px;min-width:44px;min-height:44px;text-align:center}.footer-bottom small{font-size:12px}
@media(max-width:1199px){.program-grid-five{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.program-grid-five .visual-word{font-size:75px}.program-grid-five .card-title h3{font-size:31px}.schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.header nav{gap:20px}.header nav a{font-size:10px;letter-spacing:1px}.nav-cta{gap:12px;padding:15px}.footer-top{grid-template-columns:repeat(2,1fr)}}
@media(min-width:761px) and (max-width:1000px){.header{padding:25px 4%}.header .wordmark>span{font-size:18px;letter-spacing:3px}.header .wordmark small{letter-spacing:3px}.header nav{gap:15px}.header nav a{font-size:10px}.header .nav-cta{padding:13px 10px}}
@media(max-width:760px){.page-intro h1{font-size:49px;letter-spacing:-1.4px}.page-description{font-size:16px}.inner-page .header nav{z-index:6}.header nav a{font-size:13px}.program-grid-five{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.program-grid-five .card-visual{height:210px}.program-grid-five .visual-word{font-size:62px}.program-grid-five .card-title h3{font-size:28px}.program-grid-five .card-title>span{font-size:19px}.program-grid-five .program-card>p{font-size:15px}.program-hero-grid,.program-overview,.contact-section,.staff-awaiting{grid-template-columns:1fr;gap:35px}.program-hero h1{font-size:60px}.program-art{max-height:280px;aspect-ratio:auto}.program-art>span{font-size:100px;padding:60px 0}.program-art svg{width:100%}.program-overview h2{font-size:40px}.focus-grid{grid-template-columns:1fr;gap:32px}.focus-grid h3{margin-top:16px}.focus-grid p{font-size:16px}.package-card{padding:26px}.package-card dl>div{font-size:14px}.next-programs h2{font-size:38px}.next-programs nav a{padding:17px 20px}.schedule-toolbar{gap:18px}.filter-button{padding:12px 14px}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day{padding:20px 15px}.schedule-section .section-heading{margin-bottom:28px}.schedule-section h2{font-size:43px}.schedule-section .section-heading>p{max-width:none}.sample-toggle{font-size:13px}.staff-monogram{aspect-ratio:5/3;font-size:130px}.staff-monogram>span{bottom:22px}.staff-awaiting h3{font-size:43px}.staff-grid{grid-template-columns:1fr}.contact-panel{padding:28px}.contact-panel h3{font-size:45px}.legal-layout{grid-template-columns:1fr;gap:35px}.legal-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:25px}.legal-toc nav{gap:11px}.legal-copy h2{font-size:30px}.footer-top{grid-template-columns:1fr 1fr;gap:30px!important}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{gap:20px}.site-footer .footer-top,.site-footer .footer-bottom{order:initial}.footer-top .wordmark small{font-size:9px}.site-footer{padding-top:40px}.footer-top nav{font-size:14px}}

/* Location, map, and hours */
.inner-page .opening-bar{position:relative}.inner-page .header{top:0}.site-footer{padding-top:0}.footer-visit{display:grid!important;grid-template-columns:1.35fr 1fr 1fr;gap:0!important;margin:0 -7vw 60px;background:var(--ink);color:var(--cream)}.footer-map{min-height:330px}.footer-map iframe{width:100%;height:100%;min-height:330px;border:0;display:block;filter:grayscale(1) contrast(.9)}.footer-visit-copy,.footer-hours{padding:50px 12%;justify-content:center}.footer-visit-copy{border-right:1px solid #ffffff24}.footer-visit h2{font-size:clamp(35px,3.5vw,58px);line-height:1.08;margin:20px 0}.footer-visit h3{font-size:34px;margin:20px 0}.footer-visit p:not(.eyebrow){color:#c7cabf;font-size:14px;line-height:1.8}.footer-visit .text-link{color:var(--cream);border-color:#ffffff66;margin-top:22px}@media(max-width:1199px){.footer-visit{grid-template-columns:1fr 1fr}.footer-map{grid-column:1/-1}}@media(max-width:760px){.footer-visit{grid-template-columns:1fr;margin-left:-7vw;margin-right:-7vw}.footer-map{grid-column:auto;min-height:280px}.footer-visit-copy{border-right:0;border-bottom:1px solid #ffffff24}.footer-visit-copy,.footer-hours{padding:38px 7%}}
@media(max-width:450px){.program-grid-five{grid-template-columns:1fr}.program-grid-five .card-visual{height:260px}.program-grid-five .visual-word{font-size:100px}.program-grid-five .card-title h3{font-size:37px}.program-grid-five .program-card>p{font-size:16px}.schedule-grid{grid-template-columns:1fr}.schedule-day{min-height:0}.schedule-day h3{margin-bottom:17px}.class-session h4{font-size:29px}.class-time span{display:inline;margin-left:5px}.class-session a,.session-status{font-size:13px}.page-intro h1{font-size:44px}.program-hero h1{font-size:50px;letter-spacing:-1px}.package-card dl>div{flex-direction:column;gap:8px}.package-card dd{text-align:left}.footer-location{grid-column:1/-1}.footer-bottom small{flex-basis:100%}}

@media(min-width:1100px){.staff-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.inner-page .opening-bar{position:fixed}.inner-page .header{position:fixed;top:38px}
.inner-page.is-scrolled .header{top:0}

/* Structured contact and operating hours */
.footer-visit-copy address{display:flex;flex-direction:column;gap:10px;font-style:normal;font-size:17px;line-height:1.5;margin:25px 0}.footer-visit-copy address a{text-decoration:underline;text-underline-offset:4px}.footer-visit-copy .service-area-copy{border-top:1px solid #ffffff26;padding-top:24px;margin-top:24px}.footer-hours .hours-heading{font-family:var(--sans);font-size:clamp(28px,2.4vw,38px);font-weight:600;letter-spacing:-.5px;line-height:1.1;margin:0 0 24px;color:var(--cream)}.hours-list{margin:0 0 12px}.hours-list>div{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:28px;padding:7px 0;font-size:17px;font-weight:600;line-height:1.45}.hours-list dt,.hours-list dd{font-weight:600}.hours-list dd{margin:0;text-align:right;color:#d4d7ce;font-variant-numeric:tabular-nums;white-space:nowrap}.contact-details dd{max-width:520px}.contact-details dt{font-weight:600}
@media(max-width:760px){.hours-list>div{font-size:15px;gap:16px}.footer-visit-copy address{font-size:16px}.contact-details dd{font-size:15px}}

.staff-profiles{display:grid;gap:64px}.staff-profile{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:start;scroll-margin-top:120px;padding-bottom:64px;border-bottom:1px solid var(--line)}
.staff-profile:last-child{padding-bottom:0;border:0}.staff-profile>img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:grayscale(1)}
.staff-profile-copy{padding-top:12px;max-width:700px}.staff-profile h3{font-size:clamp(40px,4vw,60px);margin:14px 0 24px}.staff-profile-copy>p:not(.eyebrow),.staff-biography p,.staff-profile li{font-size:16px;line-height:1.9;color:var(--muted)}
.staff-biography{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);min-height:180px}.staff-biography h4{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;margin:0 0 18px}.staff-biography p+p{margin-top:18px}.staff-biography .bio-pending{font-style:italic;color:var(--muted)}
@media(max-width:700px){.staff-profile{grid-template-columns:1fr;gap:24px;padding-bottom:40px}.staff-profile>img{max-width:420px}.staff-profiles{gap:40px}.staff-biography{min-height:120px}}

/* Keep the heavier display face comfortably sized on content pages. */
.page-intro h1,.program-hero h1{font-size:clamp(44px,6vw,84px);line-height:1.15;letter-spacing:-.025em}
.staff-profile h3{font-size:clamp(36px,3.8vw,54px);line-height:1.2;letter-spacing:-.02em}
.footer-visit-copy h2{font-size:clamp(28px,2.5vw,38px);line-height:1.3;letter-spacing:-.02em}
.program-grid-five .card-title h3{font-size:clamp(25px,2.5vw,34px);line-height:1.25;letter-spacing:-.02em}
@media(max-width:760px){.page-intro h1,.program-hero h1{font-size:clamp(40px,9vw,60px)}.staff-profile h3{font-size:36px}}

.schedule-program-cta{display:flex;justify-content:space-between;align-items:center;gap:48px;padding-top:60px;padding-bottom:60px;background:#e9e9df;border-top:1px solid var(--line)}
.schedule-program-cta>div{max-width:690px}.schedule-program-cta .eyebrow{color:#59614e;margin-bottom:14px}
.schedule-program-cta h2{font-size:clamp(32px,3.2vw,46px);line-height:1.2;letter-spacing:-.025em;margin:0 0 18px}
.schedule-program-description{font-size:16px;line-height:1.8;color:var(--muted);max-width:540px}
.schedule-program-cta>.button{flex-shrink:0;min-width:220px;justify-content:space-between;gap:32px}
@media(max-width:760px){.schedule-program-cta{flex-direction:column;align-items:flex-start;gap:26px;padding-top:40px;padding-bottom:40px}.schedule-program-cta h2{font-size:34px}.schedule-program-description{font-size:15px}.schedule-program-cta>.button{min-width:0;width:100%;max-width:320px}}

/* Program pages: imagery, quick facts, and a compact overview. */
.program-grid-five .program-card{container-type:inline-size}
.program-grid-five .card-title{align-items:flex-start}
.program-grid-five .card-title h3{font-size:clamp(21px,12.5cqw,32px);overflow-wrap:normal;min-width:0}
.program-grid-five .card-title .ui-icon{flex-shrink:0;margin-top:5px}
.program-brand{display:block;margin-top:10px;font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#626950}
/* Extend the homepage hero composition to program detail pages. */
.program-detail-page main{padding-top:0}
.program-detail-page:not(.is-scrolled) .header{background:transparent}
.program-hero-home{display:flex;flex-direction:column;height:auto;min-height:max(760px,100svh);max-height:none;padding:0;background:#111715;color:var(--cream)}
.program-hero-home:after{background:linear-gradient(90deg,#111715 0%,#111715f2 25%,#111715b3 46%,#11171526 78%),linear-gradient(0deg,#111715eb,transparent 40%),linear-gradient(180deg,#11171599,transparent 28%)}
.program-hero-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.program-hero-photo img{display:block;width:60%;height:100%;margin-left:auto;object-fit:cover;object-position:center 25%}
.program-hero-home .hero-content{flex:1;width:100%;max-width:none;padding:205px 7% 70px}
.program-hero-copy{width:60%;max-width:700px;min-width:0}
.program-hero-home .breadcrumb{display:inline-flex;align-items:center;gap:8px;font-size:12px;margin:0 0 32px;color:#d1d3c9;min-height:24px}
.program-hero-home .breadcrumb:hover{color:var(--cream)}
.program-hero-home .program-category{display:block;margin:0;color:#d1d3c9;font-size:11px;line-height:1.8;max-width:580px}
.program-hero-home h1{font-size:clamp(48px,6.3vw,96px);line-height:1.12;letter-spacing:-.025em;margin:20px 0 24px;overflow-wrap:normal}
.program-hero-home .program-lead{font-size:17px;line-height:1.8;color:#eef0e8;margin:0 0 30px;max-width:540px}
.program-hero-home .hero-side{text-transform:uppercase}
.program-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 7% 30px;padding:24px 0 0;border-top:1px solid #ffffff35}
.program-highlights>div{border-left:1px solid #ffffff24;padding-left:32px}
.program-highlights>div:first-child{border-left:0;padding-left:0}
.program-highlights dt{font-size:10px;line-height:1.5;color:#c7c9b6;margin-bottom:8px;letter-spacing:1.2px;text-transform:uppercase}
.program-highlights dd{margin:0;font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.55;color:var(--cream)}
.program-details{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding-top:55px;padding-bottom:55px;align-items:start;scroll-margin-top:95px}
.program-details h2{font-size:clamp(30px,3.1vw,44px);line-height:1.2;letter-spacing:-.025em;margin:14px 0 20px}
.program-details-copy>p:not(.eyebrow),.program-fit p{font-size:15px;line-height:1.8;color:var(--muted)}
.program-fit{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.program-fit h3{font-family:var(--sans);font-size:13px;font-weight:600;margin-bottom:7px}
.program-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:24px 0 0;padding:0}
.program-focus li{border-top:1px solid var(--line);padding-top:14px;font-size:12px;line-height:1.7}
.program-focus strong,.program-focus span{display:block}.program-focus strong{font-weight:600;margin-bottom:5px}.program-focus span{color:var(--muted)}
.program-options-panel{background:#e9e9df;padding:28px 30px;scroll-margin-top:95px}
.program-options-panel h2{font-size:clamp(26px,2.6vw,34px);margin:10px 0 24px}
.program-options-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;list-style:none;padding:0;margin:0}
.program-options-list li{border-top:1px solid #c8cabc;padding-top:13px}
.program-options-list li:last-child:nth-child(odd){grid-column:1/-1}
.program-options-list h3{font-family:var(--sans);font-size:14px;line-height:1.6;font-weight:600}
.program-options-list p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:5px}
.program-training-details{margin:0}.program-options-list+.program-training-details{margin-top:24px}
.program-training-details>div{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;padding:15px 0;border-top:1px solid #c8cabc;font-size:13px;line-height:1.75}
.program-training-details>div:last-child{padding-bottom:0}
.program-training-details dt{font-weight:600}.program-training-details dd{margin:0;color:var(--muted)}
.program-preteam{display:grid;grid-template-columns:1fr 1.35fr;gap:7%;padding-top:40px;padding-bottom:40px;background:#e9e9df;border-top:1px solid var(--line);scroll-margin-top:95px}
.program-preteam h2{font-size:clamp(30px,3.1vw,42px);line-height:1.2;letter-spacing:-.025em;margin-top:12px}
.program-preteam p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted)}
.preteam-training-note{margin-top:16px;border-top:1px solid #c8cabc;padding-top:16px}
.program-preteam .button-row{gap:24px;margin-top:15px}.program-preteam .text-link{color:var(--ink);border-color:var(--ink)}
.program-coaching-portraits{padding-top:64px;padding-bottom:64px;background:var(--ink);color:var(--cream);scroll-margin-top:95px}
.program-coaching-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}
.program-coaching-intro{max-width:650px}
.program-coaching-intro .eyebrow{color:#c7c9b6}
.program-coaching-intro h2{font-size:clamp(34px,3.7vw,52px);line-height:1.18;letter-spacing:-.025em;margin:12px 0 12px}
.program-coaching-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#c3c8ba;max-width:580px}
.program-coaching-portraits .text-link{color:var(--cream);border-color:#ffffff66;padding:12px 0;min-height:44px;margin:0;white-space:nowrap}
.program-coaching-heading>.text-link{flex-shrink:0;margin-bottom:3px}
.program-coach-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;min-width:0;border-top:1px solid #ffffff24;padding-top:32px}
.program-coach-card{display:flex;flex-direction:column;min-width:0}
.program-coach-photo{display:block;overflow:hidden;background:#303a30}
.program-coach-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 25%;filter:grayscale(1);transition:transform .3s ease}
.program-coach-photo:hover img{transform:scale(1.025)}
.program-coach-copy{display:flex;flex-direction:column;align-items:flex-start;padding:24px 0 0;flex:1;min-width:0}
.program-coach-copy h3{font-family:var(--serif);font-size:clamp(28px,2.8vw,38px);font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px}
.program-coach-role{font-size:10px;line-height:1.7;min-height:3.4em;color:#c7c9b6;max-width:62ch;letter-spacing:1px;text-transform:uppercase}
.program-coach-bio{font-size:15px;line-height:1.85;color:#c3c8ba;max-width:58ch;margin:18px 0 22px}
.program-coach-copy .text-link{margin-top:auto}
.program-coach-list-single{grid-template-columns:1fr}
.program-coach-list-single .program-coach-card{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(32px,5vw,64px)}
.program-coach-list-single .program-coach-photo img{aspect-ratio:4/5;height:375px}
.program-coach-list-single .program-coach-copy{padding:0;justify-content:center;align-items:flex-start}
.program-coach-list-single .program-coach-copy h3{font-size:clamp(34px,3.5vw,46px)}
.program-coach-list-single .program-coach-role{min-height:0}
.program-coach-list-single .program-coach-copy .text-link{margin-top:0}
.program-faq{padding-top:55px;padding-bottom:55px;scroll-margin-top:95px}
.program-faq h2{font-size:clamp(32px,3.3vw,46px);line-height:1.2;letter-spacing:-.025em}
@media(max-width:1000px){
  .program-hero-home .hero-content{padding-top:190px}.program-hero-copy{width:65%}
  .program-hero-home h1{font-size:clamp(48px,6.3vw,70px)}
  .program-highlights{gap:24px}.program-highlights>div{padding-left:24px}
  .program-coach-list{grid-template-columns:1fr}.program-coach-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px}
  .program-coach-photo img{aspect-ratio:4/5;height:100%;min-height:325px}
  .program-coach-copy{padding:0;justify-content:center}.program-coach-copy .text-link{margin-top:0}
  .program-focus{grid-template-columns:1fr;gap:12px}.program-focus li{padding-top:10px}.program-focus strong{margin-bottom:2px}
}
@media(max-width:760px){
  .program-hero-home{min-height:max(780px,100svh)}
  .program-hero-home:after{background:linear-gradient(90deg,#111715e6,#11171566),linear-gradient(0deg,#111715 0%,#111715d9 28%,#11171533 85%)}
  .program-hero-home .hero-content{padding:185px 7% 55px}.program-hero-copy{width:100%;max-width:560px}
  .program-hero-home .breadcrumb{margin-bottom:28px}.program-hero-home h1{font-size:clamp(40px,10.8vw,72px);margin:18px 0 24px}
  .program-hero-home .program-category{font-size:10px}
  .program-hero-home .program-lead{font-size:15px;margin-bottom:28px}
  .program-hero-photo img{width:100%;object-position:center 25%}
  .program-highlights{gap:20px;margin-bottom:25px;padding-top:22px}.program-highlights>div{padding-left:0;border-left:0}
  .program-highlights dt{font-size:9px}.program-highlights dd{font-size:14px}
  .program-details{grid-template-columns:1fr;gap:28px;padding-top:35px;padding-bottom:35px}
  .program-details h2{font-size:32px}.program-focus{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .program-focus span{display:none}.program-focus strong{font-size:12px;font-weight:500}
  .program-options-panel{padding:25px}.program-options-panel h2{font-size:28px}
  .program-training-details>div{grid-template-columns:1fr 1.3fr;gap:15px}
  .program-preteam{grid-template-columns:1fr;gap:22px;padding-top:35px;padding-bottom:35px}.program-preteam h2{font-size:32px}
  .program-coaching-portraits{padding-top:40px;padding-bottom:40px}
  .program-coaching-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:25px}.program-coaching-intro h2{font-size:34px}
  .program-coach-list{gap:32px;padding-top:25px}.program-coach-card,.program-coach-list-single .program-coach-card{display:flex;flex-direction:column;gap:0}
  .program-coach-photo img,.program-coach-list-single .program-coach-photo img{aspect-ratio:6/5;min-height:0;height:auto;object-position:center 20%}
  .program-coach-copy,.program-coach-list-single .program-coach-copy{padding:24px 0 0}
  .program-coach-copy h3,.program-coach-list-single .program-coach-copy h3{font-size:30px}
  .program-coach-bio{font-size:15px;line-height:1.8;margin:16px 0 20px}
  .program-faq{padding-top:35px;padding-bottom:35px}.program-faq h2{font-size:34px}
}
@media(max-width:420px){
  .program-highlights{grid-template-columns:1fr 1fr;gap:16px 20px}.program-highlights>div:last-child:nth-child(odd){grid-column:1/-1}
  .program-highlights dd{font-size:13px}
  .program-options-panel{padding:22px}.program-options-list{gap:16px}.program-options-list h3{font-size:13px}
  .program-training-details>div{grid-template-columns:1fr;gap:4px}
  .program-coach-copy h3,.program-coach-list-single .program-coach-copy h3{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.program-coach-photo img{transition:none}}

/* Programs disclosure in the shared navigation. */
.nav-programs{position:relative;padding:10px 0;margin:-10px 0}
.nav-programs-toggle{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;line-height:1.5}
.nav-programs-toggle:hover{color:#d6c49f}
.nav-programs-toggle.nav-current{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.nav-programs-toggle .ui-icon{width:14px;height:14px;transition:transform .2s ease}
.nav-programs-toggle[aria-expanded=true] .ui-icon{transform:rotate(180deg)}
.header nav .program-menu{position:absolute;top:calc(100% + 10px);left:-24px;width:330px;padding:14px;background:var(--cream);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px #080e0a26}
.program-menu:before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.header nav .program-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;border:0;font-size:13px;letter-spacing:0;text-transform:none;line-height:1.45;transition:background .2s ease,color .2s ease}
.header nav .program-menu a:hover,.header nav .program-menu a:focus-visible{background:#e5e6db;color:var(--ink)}
.header nav .program-menu a[aria-current=page]{background:#e5e6db;box-shadow:inset 2px 0 #65715d;color:var(--ink)}
.header nav .program-menu .program-menu-overview{padding:9px 12px 15px;margin-bottom:5px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.2px;text-transform:uppercase}
.program-menu small{font-size:10px;letter-spacing:.6px;color:var(--muted);white-space:nowrap}
@media(min-width:761px) and (max-width:1199px){.nav-programs-toggle{font-size:10px;letter-spacing:1px}}
@media(max-width:760px){
  .header nav{max-height:calc(100svh - 132px);overflow-y:auto;overscroll-behavior:contain}
  .is-scrolled .header nav{max-height:calc(100svh - 72px)}
  .nav-programs{padding:0;margin:0}
  .nav-programs-toggle{width:100%;justify-content:space-between;padding:18px 0;font-size:11px;letter-spacing:1.8px}
  .nav-programs-toggle.nav-current{text-decoration:none;color:#d6c49f}
  .header nav .program-menu{position:static;width:100%;padding:5px 12px 10px;margin-bottom:12px;background:#232c24;color:var(--cream);border:1px solid #ffffff20;box-shadow:none}
  .program-menu:before{display:none}
  .header nav .program-menu a{padding:13px 8px;font-size:13px}
  .header nav .program-menu a:hover,.header nav .program-menu a:focus-visible,.header nav .program-menu a[aria-current=page]{background:#364134;color:var(--cream)}
  .header nav .program-menu a[aria-current=page]{box-shadow:inset 2px 0 #bfc5ae}
  .header nav .program-menu .program-menu-overview{padding:12px 8px;border-bottom-color:#ffffff25}
  .program-menu small{color:#c4c9bb}
}
