@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#151515;--dark-surface:#151515;--accent:#7BAFD4;--paper:#F5F6F7;--muted:#545B62;--line:#D5DDE4;--white:#fff;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #327BAA;outline-offset:5px}img{display:block;width:100%;height:auto}p{margin:0 0 1.4em}h1,h2,h3{font-family:var(--display);line-height:1.02;margin:0 0 .45em;font-weight:700;letter-spacing:-.015em}h1{font-size:clamp(64px,8vw,120px);text-transform:uppercase}h2{font-size:clamp(40px,4.2vw,64px)}h3{font-size:30px}ul{padding-left:1.2em}.wrap{max-width:1320px;margin:auto;padding-left:44px;padding-right:44px}.topline{background:var(--accent);font-size:10px;letter-spacing:1.4px;font-weight:700}.topline .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.top-separator{padding:0 14px}.header{background:var(--ink);color:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.nav-row{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:30px}.brand{display:block;width:152px;flex-shrink:0}.logo{height:64px;object-fit:contain}nav{display:flex;align-items:center;gap:29px}nav>a:not(.button){font-size:13px;font-weight:600;position:relative}nav>a[aria-current],nav>a:hover{color:var(--accent)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--accent);color:var(--ink);padding:15px 22px;font-size:13px;font-weight:700;border:1px solid var(--accent);transition:background .2s,transform .2s;cursor:pointer}.button:hover{background:#A9CEE7;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button.outline{background:transparent;color:inherit;border-color:currentColor}.button.outline:hover{background:#ffffff12}.menu-toggle{display:none}.hero{position:relative;background:var(--ink);color:white;min-height:735px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 30%}.hero-photo img{height:100%;object-fit:cover;object-position:55% 45%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#151515 1%,#151515e6 25%,#15151550 61%,#15151512 100%),linear-gradient(0deg,#15151580,transparent 40%)}.hero-content{position:relative;z-index:1;padding-top:62px;padding-bottom:28px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:20px;text-transform:uppercase}.hero .eyebrow{color:var(--accent)}.hero h1{font-size:clamp(78px,8.9vw,137px);line-height:.85;letter-spacing:-.015em;margin:25px 0 30px;max-width:640px}.hero h1 em{font-style:normal;color:var(--accent)}.hero p:not(.eyebrow){color:#E8EDF3;font-size:15px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid #ffffff35;margin-top:52px;padding-top:22px;font-size:10px;letter-spacing:1.7px}.manifesto-bar{display:flex;align-items:center;justify-content:space-around;background:var(--dark-surface);color:var(--accent);font-family:var(--display);font-size:28px;letter-spacing:1px;padding:19px 25px}.manifesto-bar i{font-size:22px;font-style:normal}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;gap:60px;align-items:flex-end;justify-content:space-between;margin-bottom:42px}.section-heading>div{max-width:740px}.section-heading>p{max-width:350px;font-size:15px;color:var(--muted)}.section-heading h2{margin:0}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-card{display:block;border-bottom:1px solid var(--line)}.card-photo{position:relative;overflow:hidden}.card-photo img{height:290px;object-fit:cover;transition:transform .35s}.program-card:hover img{transform:scale(1.04)}.number{position:absolute;left:14px;top:14px;color:var(--ink);background:var(--accent);font-size:11px;padding:3px 9px;font-weight:700}.card-copy{padding:24px 0 15px}.card-copy .eyebrow{font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:10px}.card-copy h3{font-size:29px;display:flex;justify-content:space-between;gap:8px}.card-copy h3 span{font-family:var(--body);font-size:22px}.card-copy p:last-child{font-size:13px;color:var(--muted);line-height:1.75}.story-section{background:#EAF0F5;padding:95px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.image-stack{position:relative}.image-stack img{height:630px;object-fit:cover}.image-label{position:absolute;bottom:0;left:0;right:0;background:var(--dark-surface);color:var(--accent);padding:18px 23px;font-size:10px;letter-spacing:2px}.lede{font-size:18px;color:var(--muted);max-width:680px}.principle{display:flex;gap:20px;padding:20px 0;border-top:1px solid #C2CBD3}.principle>span{font-size:11px;font-weight:700;color:#536473;margin-top:5px}.principle h3{font-size:26px}.principle p{font-size:14px;color:var(--muted);margin:0}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block}.photo-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}.photo-strip img{height:350px;object-fit:cover}.cta{background:var(--accent);padding:75px 0}.cta-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.cta h2{font-size:64px}.cta .button{background:var(--ink);color:white;border-color:var(--ink)}.cta .small{margin:16px 0 0;font-size:11px;max-width:300px}.cta-inner>div:last-child{max-width:360px}footer{background:var(--ink);color:#E0E5EB;padding-top:65px;font-size:12px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;gap:45px}.footer-grid h2{font-family:var(--body);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin:20px 0}.footer-grid a:not(.brand){display:block;margin-bottom:8px}.footer-grid .brand{margin-bottom:22px}.footer-grid p{color:#ADB8C4}.email{overflow-wrap:anywhere}.footer-bottom{margin-top:50px;padding-top:22px;padding-bottom:22px;display:flex;justify-content:space-between;border-top:1px solid #ffffff20;color:#ADB8C4;font-size:10px}.page-intro{padding-top:76px;padding-bottom:65px}.page-intro .eyebrow{color:#28638C}.page-intro h1{margin-bottom:24px}.page-intro .lede{margin-bottom:0}.story-wide img{height:520px;object-fit:cover}.prose{line-height:1.85}.coach-photo{height:640px;object-fit:cover;object-position:50% 25%}.role{font-size:11px;letter-spacing:1.5px;font-weight:700}.coach-layout p:not(.eyebrow):not(.role){font-size:15px}blockquote{margin:30px 0 0;border-left:3px solid #7BAFD4;padding-left:24px;font-family:var(--display);font-size:30px;line-height:1.2}.program-tabs{display:flex;gap:30px;padding-bottom:30px;flex-wrap:wrap}.program-tabs a{font-size:12px;border-bottom:1px solid;padding-bottom:6px}.program-detail{border-top:1px solid var(--line)}.program-detail:nth-of-type(even){background:#EAF0F5}.program-detail img{height:550px;object-fit:cover}.price{font-family:var(--display);font-size:64px;line-height:1;margin:24px 0}.price span{display:block;font:12px var(--body);color:var(--muted);margin-top:8px}.check-list{padding:0;list-style:none;margin-bottom:30px}.check-list li{font-size:14px;margin:9px 0;padding-left:23px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#28638C}.small{font-size:12px;color:var(--muted)}.widget-shell{background:white;border:1px solid var(--line);padding:28px;margin-top:30px;overflow:hidden;min-height:300px}.widget-shell iframe{max-width:100%;border:0}.widget-note{font-size:11px;letter-spacing:.3px;border-bottom:1px solid var(--line);padding-bottom:15px;color:var(--muted)}.widget-shell>.small{margin-top:20px}.widget-shell a,.prose a,.inquiry .small a{ text-decoration:underline}.section-topless{padding-bottom:90px}.schedule-helper{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#EAF0F5;padding:24px 30px}.schedule-helper p{margin:0}.simple-callout{margin-top:55px;padding-top:40px;border-top:1px solid var(--line)}.simple-callout h2{font-size:36px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-bottom:50px}.steps>div{padding-top:20px;border-top:1px solid #B8C5D1}.steps span{font-size:12px;color:#28638C}.steps h2{font-size:30px;margin-top:15px}.steps p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:10px;margin-bottom:30px}.filter{cursor:pointer;border:1px solid #BEC8D2;border-radius:0;padding:10px 22px;background:transparent;color:var(--ink);font-size:13px}.filter.active{background:var(--ink);color:var(--accent);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:var(--ink)}.gallery-item img{height:330px;object-fit:cover}.gallery-item span{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:12px 0}.gallery-item:hover img{filter:brightness(1.08)}[hidden]{display:none!important}dialog{max-width:95vw;width:1000px;max-height:94vh;border:0;background:var(--ink);color:white;padding:40px 20px 10px}dialog::backdrop{background:#000c}dialog img{object-fit:contain;max-height:74vh}dialog p{text-align:center;margin:14px 0;font-size:14px}.close-lightbox{position:absolute;right:9px;top:0;font-size:30px;border:0;background:transparent;color:white;cursor:pointer;width:40px}.contact-info address{font-style:normal;font-size:24px;margin-bottom:25px}.contact-lines{margin:35px 0 25px}.contact-lines a{display:block;overflow-wrap:anywhere}.inquiry{background:#EAF0F5;padding:36px}.inquiry h2{font-size:38px}.inquiry>p{font-size:14px}.inquiry label{display:block;font-size:12px;font-weight:600;margin:18px 0 5px}.inquiry input,.inquiry select,.inquiry textarea{width:100%;padding:12px;border:1px solid #AFBCC8;background:var(--paper);border-radius:0;color:var(--ink)}.inquiry .button{margin-top:20px;background:var(--ink);color:white;border-color:var(--ink);width:100%}.inquiry .small{margin:15px 0 0}.faq{padding-top:10px;max-width:1000px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq details p{margin:18px 0 0;color:var(--muted);font-size:14px}.wide-photo{height:540px;object-fit:cover}.light-actions{margin-top:30px}.policy{max-width:900px;padding-bottom:90px}.policy h2{font-size:30px;margin-top:35px}.skip{position:absolute;left:15px;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.hero-photo{left:35%}.hero{min-height:800px}.hero-content{padding-top:85px}}
@media(max-width:1100px){.wrap{padding-left:28px;padding-right:28px}nav{gap:19px}.brand{width:125px}.program-grid{grid-template-columns:repeat(2,1fr);gap:30px}.card-photo img{height:350px}.split{gap:40px}.footer-grid{gap:25px}.gallery-item img{height:280px}.hero h1{font-size:110px}.hero{min-height:720px}}
@media(max-width:800px){.topline{font-size:9px;letter-spacing:.8px}.top-separator{padding:0 6px}.nav-row{min-height:78px}.logo{height:52px}.menu-toggle{display:flex;align-items:center;gap:14px;color:white;background:transparent;border:1px solid #73818F;font-size:12px;padding:10px 13px;cursor:pointer}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:25px 28px;border-bottom:1px solid #73818F}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav>a:not(.button){padding:14px 0;border-bottom:1px solid #ffffff20}nav>.button{margin-top:18px}.hero{min-height:740px}.hero-photo{left:0}.hero-photo img{object-position:65% center}.hero:after{background:linear-gradient(90deg,#151515e8,#15151555),linear-gradient(0deg,#151515,transparent 65%)}.hero h1{font-size:110px}.hero-content{padding-top:55px}.hero-foot{margin-top:50px}.hero-foot a{display:none}.manifesto-bar{font-size:22px;padding:17px 15px;gap:12px}.manifesto-bar i{font-size:13px}.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px;max-width:500px}.section-heading>.text-link{margin-top:20px}.split{grid-template-columns:1fr;gap:35px}.image-stack img{height:470px}.story-section{padding:60px 0}.photo-strip{gap:12px}.photo-strip img{height:240px}.cta-inner{grid-template-columns:1fr;gap:25px}.cta h2{font-size:54px}.cta{padding:55px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.page-intro{padding-top:55px;padding-bottom:45px}.page-intro h1{font-size:80px}.story-wide img{height:400px}.coach-photo{height:570px}.program-detail img{height:430px}.steps{gap:20px}.steps h2{font-size:25px}.gallery{grid-template-columns:repeat(2,1fr);gap:18px}.gallery-item img{height:310px}.widget-shell{padding:15px}.schedule-helper{align-items:flex-start;flex-direction:column}.wide-photo{height:420px}}
@media(max-width:480px){.wrap{padding-left:22px;padding-right:22px}.topline span .top-separator,.topline .wrap>span{font-size:8px}.topline .wrap{padding-left:15px;padding-right:15px;letter-spacing:.3px}.hero{min-height:715px}.hero h1{font-size:92px}.hero-content{padding-top:48px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero p:not(.eyebrow){font-size:14px}.hero-foot{font-size:9px;letter-spacing:1px;margin-top:44px}.actions .button{font-size:12px;padding:14px 16px;gap:16px}.manifesto-bar{font-size:17px;gap:7px}.manifesto-bar i{font-size:11px}.program-grid{grid-template-columns:1fr}.card-photo img{height:360px}.card-copy h3{font-size:35px}.card-copy p:last-child{font-size:14px}.image-stack img{height:370px}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip img{height:240px}.photo-strip img:first-child{grid-column:1/-1;height:310px}.footer-grid{gap:26px 16px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{gap:20px;align-items:flex-start}.page-intro h1{font-size:64px}.lede{font-size:16px}.program-tabs{gap:16px}.program-detail img{height:350px}.steps{grid-template-columns:1fr;gap:8px}.steps h2{font-size:30px}.steps>div{display:grid;grid-template-columns:28px 1fr;column-gap:15px}.steps h2{margin-top:0}.steps p{grid-column:2}.gallery{gap:15px}.gallery-item img{height:215px}.gallery-item span{font-size:11px}.filters{gap:6px}.filter{padding:9px 15px;font-size:12px}.inquiry{padding:25px}.contact-info h2{font-size:38px}.wide-photo{height:320px}.story-wide img{height:310px}.coach-photo{height:490px}.widget-shell{padding:10px}.section-topless{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:360px){.manifesto-bar{font-size:14px;letter-spacing:0;gap:4px;padding:15px 10px}.manifesto-bar i{font-size:9px}.hero h1{font-size:82px}.topline .wrap>span{max-width:205px}}

.filters{flex-wrap:wrap}.gallery-more{margin-top:28px}

.cta .small{color:var(--ink)}

.top-contacts{display:flex;align-items:center;gap:24px}.top-contacts a:hover{text-decoration:underline}@media(max-width:800px){.topline .wrap{flex-wrap:wrap;gap:6px}.top-contacts{gap:16px}}@media(max-width:480px){.topline .wrap{justify-content:center}.topline .wrap>span{max-width:none;text-align:center;width:100%}.top-contacts{justify-content:center;gap:12px;font-size:8px;letter-spacing:0}}

.program-card[href$="#adult-strength"] .card-photo img{object-position:center top}#adult-strength img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center top}

.program-card[href$="#team-training"] .card-photo img{object-fit:cover;object-position:center;background:transparent}#team-training img{object-fit:cover;object-position:center;background:transparent}

.contact-socials{display:flex;flex-wrap:wrap;gap:16px 24px}

/* Keep the athlete and hurdles in frame on the Sports Performance card. */
.program-card[href$="#sports-performance"] .card-photo img{object-position:44% center}
/* Subtle exposure treatment preserves the original documentary photograph. */
.program-card[href$="#sports-performance"] .card-photo{overflow:hidden}
.program-card[href$="#sports-performance"] .card-photo img{filter:brightness(.92);transform:scale(1.06);transform-origin:50% 100%;object-position:44% bottom}
.program-card[href$="#sports-performance"]:hover .card-photo img{transform:scale(1.09)}
#sports-performance{overflow:hidden}
#sports-performance img{filter:brightness(.92);object-position:center bottom;clip-path:inset(5% 0 0 0)}
/* Show the complete WSP Approach group photo at every screen size. */
.story-section .image-stack img{height:auto;object-fit:contain}
.story-section .image-stack .image-label{position:static;display:block}
.article-list{max-width:1200px}.article-card{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:40px}.article-card img{aspect-ratio:4/3;object-fit:cover}.article-card h2{font-size:clamp(32px,4vw,52px)}.article-page{max-width:1060px;padding-top:50px;padding-bottom:80px}.article-page header{margin:36px 0}.article-page h1{font-size:clamp(44px,6vw,78px);text-transform:none;max-width:900px}.article-hero{max-height:600px;object-fit:contain;background:#eaf0f5}.article-body{max-width:740px;margin:48px auto 0;font-size:17px;line-height:1.85}.article-body h2{font-size:34px;line-height:1.15;margin:42px 0 20px}.article-body a{text-decoration:underline;overflow-wrap:anywhere}.article-page header a{text-decoration:underline}@media(max-width:800px){.article-card{grid-template-columns:1fr;gap:26px}.article-page{padding-top:35px}.article-body{font-size:16px}.article-body h2{font-size:29px}}@media(min-width:801px) and (max-width:1100px){nav{gap:13px}nav>a:not(.button){font-size:12px}}
.article-tabs{display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:10px;padding:0;margin-bottom:30px;background:transparent;border:0;align-items:stretch}.article-tabs a.filter{color:var(--ink);border:1px solid var(--line);font-size:14px;padding:12px 18px;white-space:normal}.article-tabs a.active,.article-tabs a:hover{background:var(--accent);color:var(--ink)}.article-tabs a[aria-current]{color:var(--ink)}.article-archive{margin-bottom:30px}.article-archive summary{cursor:pointer;font-weight:600}.article-archive a{text-decoration:underline}.article-index{padding-top:0}.article-page article>header>h2{font-size:clamp(38px,5vw,64px);line-height:1.08}
.page-intro .heading-accent{color:var(--accent)}
/* Two successive 5% readability increases for the shared header and home location line. */
.header .nav-row{min-height:101.85px}
.header .brand{width:167.58px}
.header .logo{height:70.56px}
#site-nav>a:not(.button){font-size:14.33px}
.topline{font-size:11.025px}
.hero .eyebrow{font-size:12.13px}
@media(max-width:1100px){.header .brand{width:137.81px}}
@media(min-width:801px) and (max-width:1100px){#site-nav>a:not(.button){font-size:13.23px}}
@media(max-width:800px){.header .nav-row{min-height:86.1px}.header .logo{height:57.33px}#site-nav{top:86.1px}.topline{font-size:9.92px}}
@media(max-width:480px){.topline .wrap>span,.topline span .top-separator,.top-contacts{font-size:8.82px}.hero .eyebrow{font-size:9.92px}}

.hero p.trial-offer{color:var(--accent);font-weight:700;max-width:520px;margin-bottom:18px}

.member-access{padding:24px 0;margin-bottom:24px;border-bottom:1px solid var(--line)}.member-access h2{font-size:30px}.member-access p{max-width:700px}.member-access .member-app-note{margin-top:20px;margin-bottom:10px}.member-access .actions{gap:12px 24px}.member-access .small{margin-top:16px;margin-bottom:0}.member-access .small a{text-decoration:underline}
/* Compact services overview; full descriptions remain below. */
.pricing-overview .page-intro{padding-top:28px;padding-bottom:22px}.pricing-overview .page-intro h1{font-size:clamp(42px,4.5vw,64px)}.pricing-overview .eyebrow{margin-bottom:10px}.pricing-overview .lede{margin-bottom:0}.service-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-bottom:40px}.service-summary{background:white;border:1px solid var(--line);overflow:hidden}.service-summary>img{height:125px;object-fit:cover}.service-summary-copy{padding:18px;display:flex;flex-direction:column;align-items:flex-start}.service-summary h2{font-size:29px}.service-summary p{font-size:14px;line-height:1.45;margin-bottom:14px}.service-summary .summary-price{font-size:28px;font-weight:700;margin:6px 0 12px}.summary-price span{display:block;font-size:12px;font-weight:400}.service-summary .text-link{margin-top:auto}.header #site-nav{gap:20px}.header #site-nav>a{white-space:nowrap}@media(min-width:801px) and (max-width:1150px){.header .nav-row{gap:16px}.header #site-nav{gap:12px}.header #site-nav>.button{padding:12px;gap:12px}}@media(max-width:800px){.service-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-summary>img{height:90px}.service-summary-copy{padding:12px}.service-summary h2{font-size:24px}.service-summary p{font-size:12px}.service-summary .summary-price{font-size:24px}.pricing-overview .page-intro h1{font-size:42px}.pricing-overview .page-intro{padding-top:24px}.header #site-nav{gap:0}}@media(max-width:360px){.service-overview{grid-template-columns:1fr}}
