/* Shared responsive rules, loaded last on both pages. */
html{scroll-padding-top:24px}
.site-header,.homepage .site-header{position:relative;height:auto;min-height:104px;flex-wrap:wrap;padding:16px clamp(16px,4vw,64px);gap:16px 28px}
.homepage .site-header .brand-lockup{flex:1 1 440px;max-width:100%}
.homepage .site-header .brand-lockup-image{width:clamp(88px,12vw,168px);height:auto}
.homepage .site-header .brand-name{font-size:clamp(26px,3.4vw,48px);white-space:normal;line-height:1.15}
.homepage .site-header .brand-name span{display:block;font-size:clamp(14px,1.8vw,26px);white-space:normal;line-height:1.4}
.site-header .brand-name{white-space:normal}
.site-nav,.homepage .site-nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px}
.site-nav a{display:flex;align-items:center;min-height:44px}
.site-header .header-cta{font-size:14px;min-height:44px}
.skip{z-index:100}
img,video,iframe{max-width:100%}
.hero-compact>*,.coach-story>*,.hub-head>*,.inquiry-band>*,.library-heading>*,.library-controls>*,.inquiry-form>*,.service-grid>*,.principle-grid>*{min-width:0}
h1,h2,h3,.brand-name,.credential-row span,.button,.form-note,.library-card-content{overflow-wrap:break-word}
h1,h2{line-height:1.05}
.hero-compact h1{font-size:clamp(42px,5.4vw,88px)}
.coach-story-copy h2,.hub-head h2{font-size:clamp(38px,5.2vw,76px)}
.inquiry-band h2{font-size:clamp(42px,6vw,88px)}
.hero-actions .button{max-width:100%;text-align:left;gap:16px}
.eyebrow,.service-card strong,.principle span,.perspective-grid strong{font-size:12px}
.tab-button,.service-card .text-link,.social-card,.form-field,.form-note,.form-status,.perspective-grid span{font-size:14px}
.service-card p,.featured-videos p,.faq-list p,.library-card-content>p{font-size:16px}
.tab-button,.category-filters button,.library-pagination button,.library-result-line button,.service-card .text-link{min-height:44px}
.tab-list{flex-wrap:wrap;overflow:visible}
.category-filters{flex-wrap:wrap;overflow:visible}
.category-filters button{white-space:normal;text-align:left;font-size:14px}
.youtube-player,.youtube-player iframe{min-height:0}
.library-pagination{display:flex;flex-wrap:wrap;margin-left:0}
.library-controls input,.library-controls select{font-size:16px;min-width:0}
.library-result-line{flex-wrap:wrap}
.inquiry-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.dialog-head{gap:16px}
.dialog-head h2{font-size:clamp(32px,5vw,48px)}
.dialog-close{flex:0 0 44px;width:44px;height:44px}
.form-field input,.form-field select,.form-field textarea{min-width:0;max-width:100%}
.form-note{overflow-wrap:anywhere}
.site-footer small{font-size:12px}
@media(min-width:761px) and (max-width:1200px){
  .site-header .site-nav{flex:1 1 100%;order:3;margin-left:0}
  .homepage .site-header .brand-lockup{flex-basis:100%}
  .hero-compact{grid-template-columns:1fr}
  .hero-intro{min-height:0;padding:48px 7% 72px}
  .hero-intro:after{bottom:36px;left:7%}
  .hero-compact .hero-trailer{padding:32px 7%;border-left:0}
  .coach-story{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr);gap:32px;padding-inline:5%}
  .coach-story-photo{top:24px}
  .bio-sources{grid-template-columns:1fr}
  .service-grid,.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card:last-child,.principle:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .site-header,.homepage .site-header{padding:12px 16px;gap:12px}
  .homepage .site-header .brand-lockup{flex:1 1 100%;flex-direction:row;width:auto;text-align:left;gap:14px}
  .homepage .site-header .brand-lockup-image{width:clamp(76px,18vw,120px);height:auto}
  .homepage .site-header .brand-name{font-size:clamp(24px,5vw,36px);letter-spacing:.06em}
  .homepage .site-header .brand-name span{font-size:clamp(14px,2.8vw,20px);letter-spacing:.04em}
  .site-header .brand-lockup{flex:1 1 100%;max-width:100%}
  .site-header .brand-name span{display:block;font-size:12px}
  .site-header .site-nav{order:3;flex:1 1 100%;margin:0;gap:4px 18px}
  .site-header .header-cta{margin:0;max-width:none;width:100%}
  .hero-intro{min-height:0;padding:36px 6% 64px}
  .homepage .hero-intro>.eyebrow{font-size:clamp(20px,4.4vw,28px);margin-bottom:22px}
  .hero-intro:after{left:6%;bottom:30px}
  .hero-compact .hero-trailer{padding:24px 6%}
  .trailer-label{flex-wrap:wrap;gap:8px}
  .coach-story{padding:44px 6%;gap:32px}
  .coach-story-photo{margin-inline:auto;width:100%}
  .credential-row span{padding:10px 14px}
  .proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof-strip span{padding:16px 8px;font-size:12px;letter-spacing:.07em;overflow-wrap:anywhere}
  .content-hub,.inquiry-band,.library-heading,.library-content,.library-contact{padding-left:6%;padding-right:6%}
  .service-grid,.principle-grid{grid-template-columns:minmax(0,1fr)}
  .service-card{padding:24px}
  .inquiry-band .button{min-width:0;max-width:100%}
  .library-heading{flex-wrap:wrap;gap:24px}
  .library-heading h1{font-size:clamp(44px,8vw,64px)}
  .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer{padding:28px 6%}
  .site-footer .footer-brand{gap:12px}
  .footer-brand .secondary-brand-mark{width:76px}
  .site-footer .brand-name{font-size:16px}
  .site-footer .brand-name span{font-size:12px}
}
@media(max-width:550px){
  .bio-sources,.library-grid{grid-template-columns:minmax(0,1fr)}
  .hero-actions{align-items:stretch;gap:14px}
  .hero-actions .button{width:100%;font-size:14px}
  .library-controls{grid-template-columns:minmax(0,1fr)}
  .search-label{grid-column:auto}
  .library-stat{display:none}
  .inquiry-form{padding:18px}
  .dialog-head{padding:20px 18px}
}

/* Four training options in balanced rows, stacked on phones. */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-grid .service-card:last-child{grid-column:auto}
.service-card h3{line-height:1.12}
@media(max-width:760px){.service-grid{grid-template-columns:minmax(0,1fr)}}

/* Homepage introduction and the final training option. */
.homepage .hero-intro>.eyebrow{font-size:clamp(30px,3.2vw,44px);line-height:1.25;letter-spacing:.04em;margin-bottom:14px}
.homepage .hero-location{font-size:clamp(16px,1.5vw,20px);line-height:1.5;color:#fff;margin:0 0 30px}
.service-card:nth-child(7){background:var(--court-blue);color:#fff}
.service-card:nth-child(7) h3,.service-card:nth-child(7) strong{color:#fff}
@media(max-width:760px){.homepage .hero-intro>.eyebrow{font-size:clamp(28px,5.5vw,36px)}}

/* Give the expanded coaching philosophy room to read. */
.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.principle-grid .principle:last-child{grid-column:1/-1}
.principle h3{line-height:1.15}
.principle p{max-width:70ch;font-size:16px;line-height:1.7}
@media(max-width:760px){.principle-grid{grid-template-columns:minmax(0,1fr)}}

/* Visible contact action and clearly selectable training tabs. */
.homepage .site-nav .header-contact{padding:10px 22px;border-radius:999px;background:var(--lime);color:var(--green-2);font-size:16px;font-weight:700;border:2px solid var(--lime);text-decoration:underline;text-underline-offset:4px}
.homepage .site-nav .header-contact:hover{background:#fff;color:var(--blue-deep)}
.hub-head{grid-template-columns:156px minmax(0,1fr)}
.tab-instructions{margin:24px 0 14px;font-size:18px;line-height:1.5;font-weight:600;color:var(--blue-deep)}
.tab-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 0 20px;border-bottom:2px solid var(--line)}
.tab-list .tab-button{display:block;width:100%;min-height:64px;padding:16px 18px;border:2px solid var(--court-blue);border-radius:10px;background:#fff;color:var(--blue-deep);font-size:18px;font-weight:700;line-height:1.35;white-space:normal;cursor:pointer;box-shadow:0 3px 0 rgba(18,75,117,.15)}
.tab-list .tab-button:hover{background:#e3eff8}
.tab-list .tab-button[aria-selected="true"]{background:var(--court-blue);color:#fff;box-shadow:0 3px 0 var(--blue-deep)}
.tab-list .tab-button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.principle{padding:26px;border-radius:8px;background:#fff;border-top:4px solid var(--court-blue)}
.principle:is(:nth-child(2),:nth-child(3)){background:var(--court-blue);color:#fff}
.principle:is(:nth-child(2),:nth-child(3)) h3,.principle:is(:nth-child(2),:nth-child(3)) p,.principle:is(:nth-child(2),:nth-child(3))>span{color:#fff}
@media(max-width:760px){.hub-head{grid-template-columns:1fr}.tab-list{grid-template-columns:1fr}.tab-list .tab-button{min-height:56px}.principle{padding:22px}}

.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.waiver-link{display:inline-block;font-size:16px;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.inquiry-band .waiver-link{color:#fff}
.inquiry-form .waiver-link{color:var(--blue-deep)}

.social-band .social-intro{grid-column:1/-1;margin:0 0 8px;font-size:clamp(18px,2vw,24px);line-height:1.5;font-weight:600;color:var(--blue-deep)}

.hero-trailer .coach-introduction{width:100%;aspect-ratio:16/9;position:relative;background:#000}
.hero-trailer .coach-introduction iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.hero-trailer .original-coach-introduction{width:100%;margin-bottom:24px}
.hero-trailer .original-coach-introduction video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}

.site-footer .brand-name .footer-address{display:block;margin-top:12px;font-size:16px;line-height:1.5;font-weight:400;letter-spacing:normal;text-transform:none;color:#fff;white-space:normal}
