/* Approved homepage visual refinement. Loaded on the homepage only. */
:root{--ink:#202420;--dark:#141716;--panel:#202422;--paper:#f6f4ef;--yellow:#d8be62;--muted:#bec3bd;--line:rgba(255,255,255,.14)}
body{font-size:16px;line-height:1.65}
h2{font-size:clamp(26px,2.5vw,34px);line-height:1.15;letter-spacing:-.035em}
h3{letter-spacing:-.025em}
p{margin-bottom:16px}
.location-strip{background:#202420;border-color:#353a33;color:#d2d5cb;font-size:12px;letter-spacing:0}
.location-strip>.container{padding-top:8px;padding-bottom:8px}
.strip-map{color:#e3cb7e}
.site-header{background:rgba(16,19,18,.98);border-color:#30362e}
.nav-link{color:#d8dcd3}
.btn{font-size:14px;font-weight:700;line-height:1.4;min-height:44px;padding:12px 20px;border-radius:3px}
.btn-sm{padding:11px 17px}
.btn-outline-light{border-color:rgba(235,238,229,.6);background:rgba(12,15,13,.2)}
.hero-shade{background:linear-gradient(90deg,rgba(7,10,8,.93),rgba(7,10,8,.68) 49%,rgba(7,10,8,.2)),linear-gradient(0deg,rgba(7,10,8,.3),transparent 40%)}
.hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.04;letter-spacing:-.025em;max-width:850px}
.hero h1>span:last-child{color:#e0c875}
.hero-content{padding-top:40px;padding-bottom:60px}
.hero-copy{font-size:16px;color:#e0e5da;max-width:555px}
.hero-benefits{line-height:1.6}
.hero-benefits li{margin-bottom:7px;padding-left:4px}
.hero>.stats-section{background:rgba(15,20,16,.66);backdrop-filter:blur(3px);border-color:rgba(226,231,216,.2);padding:16px 0}
.stats-heading{gap:7px;border-color:rgba(226,231,216,.18)}
.stats-heading h2{font-size:12px;letter-spacing:.08em;line-height:1.45;color:#e5ce85}
.stats-heading>a{font-size:12px;color:#d1d8c8;line-height:1.5}
.stat{border-color:rgba(226,231,216,.18)}
.stat strong{font-size:clamp(24px,1.9vw,28px);font-weight:650;color:#f8f7f0;line-height:1.15}
.stat-copy>span{font-size:12px;color:#d0d6c8;line-height:1.5;margin-top:5px}
.section{padding:32px 0}
.section.home-services-section{padding:24px 0 32px}
.section.section-cream{padding:24px 0;background:var(--paper)}
.eyebrow{font-size:12px;line-height:1.4;letter-spacing:.11em;font-weight:700;margin-bottom:8px}
.home-services-section .eyebrow,.floor-preview-section .eyebrow,.team-feature .eyebrow{margin-bottom:8px}
.section-heading{margin-bottom:22px;gap:24px}
.section-heading>.text-link{margin-bottom:3px}
.text-link{font-size:14px;font-weight:650}
.explore-services-link,.gallery-view-link{font-size:16px}
.section-dark .eyebrow{color:#d8c478}
.section-cream .eyebrow,.team-feature .eyebrow{color:#686548}
.goal-card{padding:22px;background:#202422;border:1px solid #3a4036;border-radius:4px;transition:border-color .2s,background .2s}
.goal-card:hover{transform:none;background:#272d26;border-color:#c8b365}
.goal-card:focus-visible{outline:2px solid #e0c875;outline-offset:3px}
.goal-card h3{font-size:23px;line-height:1.2;margin-bottom:10px;font-weight:700}
.goal-card p{font-size:15px;line-height:1.65;color:#c3cbbd}
.card-number{font-size:11px;line-height:1.5;letter-spacing:.09em;color:#a5af99}
.goal-card .card-number{margin-bottom:17px}
.goal-card .service-symbol{top:17px;right:20px;color:#dfc878}
.team-feature{background:#eeece5}
.team-copy{padding-left:40px}
.team-copy .team-heading{font-size:28px;line-height:1.23;letter-spacing:-.03em;margin-bottom:16px}
.team-copy h2 em{color:#88702d}
.lead-copy{font-size:17px;line-height:1.6;letter-spacing:0}
.team-copy>p:not(.team-role){color:#555d52;line-height:1.65}
.athlete-frame{background:radial-gradient(ellipse at center,#454b3c,#171c16 72%);border-radius:5px}
.athlete-caption{max-width:calc(100% - 24px);padding:12px 16px;background:rgba(12,17,12,.88)}
.athlete-caption h3{font-size:25px;line-height:1.1;margin-bottom:6px}
.athlete-caption .team-role{font-size:11px;line-height:1.45;letter-spacing:.055em;color:#e1e6d8}
.achievements{gap:20px;margin:15px 0;padding:15px 0;border-color:#cdd1c3}
.achievements strong{font-size:15px;color:#30392a;line-height:1.4}
.achievements strong>.icon{color:#82713d;margin-right:5px}
.achievements span{font-size:12px;line-height:1.55;color:#646c5a;margin-top:5px}
.team-feature .action-buttons{gap:16px}
.team-feature .action-buttons .text-link{font-size:14px}
.floor-collage{border-radius:5px;outline:1px solid rgba(32,36,29,.1)}
.floor-collage-caption{left:16px;right:16px;bottom:16px}
.floor-collage-caption>div{padding:10px 13px;background:rgba(7,11,8,.82);border:1px solid rgba(242,239,220,.1);border-radius:3px}
.floor-collage-label{font-size:11px;letter-spacing:.1em;line-height:1.4;color:#e8d79c;margin-bottom:5px}
.floor-collage-caption h3{font-size:24px;line-height:1.15;letter-spacing:-.025em}
.floor-collage-arrow{border-radius:3px;width:36px;height:36px;background:rgba(7,11,8,.4)}
.location-section{background:#191e19}
.location-section .eyebrow{font-size:11px;letter-spacing:.1em;color:#d7c37d;line-height:1.5}
.location-section h2{font-size:clamp(26px,2.5vw,34px);line-height:1.15}
.location-section address{font-size:16px;color:#d1d8c8;line-height:1.75;max-width:440px;margin-bottom:16px}
.location-section p.small{font-size:14px;color:#aeb9a1;line-height:1.6;max-width:440px;margin-bottom:20px}
.map-container{height:320px;border-radius:5px;background:#293024;border-color:#4b5742}
.map-external{top:12px;right:12px;min-height:40px;padding:9px 12px;font-size:13px;border-radius:3px}
.home-faq-section .narrow{max-width:1280px}
.home-faq-section .narrow>.eyebrow{grid-column:1;grid-row:1;margin-bottom:8px}
.home-faq-section .narrow>h2{grid-column:1;grid-row:2;font-size:30px;margin-bottom:0}
.home-faq-section #gym-faq{margin-top:18px!important}
.accordion-item{border-color:#d1d6c9}
.accordion-button{padding:18px 0;font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.015em;min-height:58px}
.accordion-button:not(.collapsed){color:#645626}
.accordion-body{font-size:15px;line-height:1.7;color:#59624f;padding-bottom:20px}
.site-footer{background:#111611;color:#bac4af;padding-top:32px;font-size:14px}
.site-footer .row{--bs-gutter-y:24px}
.footer-logo{width:115px;height:62px;overflow:hidden;display:flex;align-items:center}
.site-footer .footer-logo img{height:82px;width:auto;max-width:none;flex-shrink:0;transform:translateY(2.7px)}
.footer-tagline{font-size:14px;color:#e6ebdc;margin-top:14px}
.site-footer p{line-height:1.65}
.site-footer h2{font-size:12px;line-height:1.4;letter-spacing:.07em;margin-top:10px;margin-bottom:17px}
.footer-link{font-size:14px;line-height:1.55;margin-bottom:9px;color:#c4ceba}
.site-footer .text-link{font-size:13px;line-height:1.5}
.footer-bottom{font-size:12px;line-height:1.6;margin-top:24px;padding:18px 0;color:#a9b59d}
@media(max-width:991.98px){
.team-copy{padding-left:calc(var(--bs-gutter-x)*.5)}
.hero-shade{background:linear-gradient(90deg,rgba(7,10,8,.93),rgba(7,10,8,.65)),linear-gradient(0deg,rgba(7,10,8,.3),transparent)}
.stats-heading{flex-direction:row;align-items:center;justify-content:space-between;padding:0 0 12px;gap:12px}
.stats-heading h2{max-width:none}
.stat{padding:12px 16px}
.stat:nth-child(2),.stat:nth-child(4){padding-left:0}
.stats-section .stat:nth-child(n+4){padding-bottom:0}
.home-faq-section .narrow{column-gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
}
@media(max-width:767.98px){
.home-faq-section .narrow{display:block}
.home-faq-section #gym-faq{margin-top:18px!important}
.home-faq-section .narrow>h2{font-size:27px}
}
@media(max-width:575.98px){
body{font-size:16px;padding-bottom:calc(56px + env(safe-area-inset-bottom))}
.container{padding-left:20px;padding-right:20px}
.location-strip{font-size:11px;line-height:1.45}
.location-strip>.container{gap:5px 10px;padding-top:7px;padding-bottom:7px}
.location-strip a{gap:6px}
.location-strip .icon{width:12px;height:12px}
.strip-map{margin-left:3px}
.hero h1{font-size:clamp(29px,8.25vw,36px);line-height:1.08}
.hero-content{padding-top:40px;padding-bottom:60px}
.hero-copy{font-size:15px;line-height:1.6}
.hero-benefits{padding-left:19px}
.hero .btn{font-size:13px;min-height:44px;padding:11px 13px}
.hero .action-buttons{gap:10px}
.hero>.stats-section{padding-top:16px;padding-bottom:16px}
.stats-heading h2{font-size:11px;letter-spacing:.07em;line-height:1.5}
.stats-heading>a{font-size:12px;max-width:120px;text-align:right}
.stat{gap:10px;padding:12px}
.stat strong{font-size:23px;line-height:1.2}
.stat-copy>span{font-size:12px;line-height:1.5;margin-top:3px}
.stat>.icon{width:24px;height:24px}
.section{padding:24px 0}
.section.home-services-section{padding:24px 0}
.section.section-cream{padding:24px 0}
h2{font-size:27px;line-height:1.18;letter-spacing:-.035em}
.eyebrow{font-size:11px;line-height:1.45;letter-spacing:.09em;margin-bottom:8px}
.home-services-section .eyebrow,.floor-preview-section .eyebrow,.team-feature .eyebrow{margin-bottom:8px}
.section-heading{margin-bottom:20px}
.section-heading>.text-link{margin-top:12px;margin-bottom:0}
.goal-card{padding:20px;border-radius:4px}
.goal-card h3{font-size:22px;line-height:1.2}
.goal-card p{font-size:15.5px;line-height:1.6}
.goal-card .card-number{font-size:11px;margin-bottom:16px}
.goal-card .service-symbol{top:16px;right:18px}
.team-copy .team-heading{font-size:22px;line-height:1.25}
.team-copy p{font-size:16px;line-height:1.65}
.team-copy .lead-copy{font-size:17px;line-height:1.6}
.athlete-caption{padding:11px 13px;max-width:calc(100% - 24px)}
.athlete-caption h3{font-size:23px}
.athlete-caption .team-role{font-size:11px;line-height:1.45}
.achievements{gap:18px;margin:15px 0;padding:15px 0}
.achievements strong{font-size:14px;line-height:1.45}
.achievements span{font-size:12px;line-height:1.5}
.team-feature .action-buttons{gap:15px}
.team-feature .action-buttons .btn{font-size:13px}
.team-feature .action-buttons .text-link{font-size:14px}
.floor-collage-caption{left:12px;right:12px;bottom:12px}
.floor-collage-caption>div{padding:8px 11px}
.floor-collage-label{font-size:11px;line-height:1.35;letter-spacing:.06em;margin-bottom:5px}
.floor-collage-caption h3{font-size:22px}
.floor-collage-arrow{width:32px;height:32px}
.location-section .eyebrow{font-size:11px;letter-spacing:.08em}
.location-section h2{font-size:27px}
.location-section address{font-size:16px;line-height:1.65}
.location-section p.small{font-size:14px}
.location-section .action-buttons{gap:10px}
.location-section .action-buttons .btn{font-size:13px;padding:11px 13px;min-height:44px}
.map-container{height:280px}
.map-external{font-size:12px;min-height:40px;padding:9px 11px;top:10px;right:10px}
.accordion-button{font-size:16px;line-height:1.45;padding:17px 0;min-height:58px}
.accordion-body{font-size:15px}
.site-footer{padding-top:28px;font-size:14px}
.site-footer .row{--bs-gutter-y:24px}
.site-footer h2{font-size:12px;margin:4px 0 15px}
.footer-link{font-size:14px;margin-bottom:9px}
.footer-bottom{font-size:12px;margin-top:24px;padding:18px 0}
.mobile-actions{background:#d8be62;border-color:#bba04c;min-height:56px}
.mobile-actions a{font-size:13px;font-weight:700;min-height:56px;padding:16px 5px;border-color:#bba04c}
}
@media(max-width:359.98px){.hero .action-buttons,.location-section .action-buttons{display:grid;grid-template-columns:1fr}.hero .action-buttons .btn,.location-section .action-buttons .btn{width:100%}}
/* Approved alternating ivory and charcoal homepage palette. */
:root{--ink:#23262a;--dark:#191b1e;--panel:#25282c;--paper:#f7f5f0;--yellow:#d8be62;--muted:#bdc1c6}
.location-strip{background:#202327;border-color:#363b40;color:#cfd3d8}
.site-header{background:rgba(17,19,21,.98);border-color:#33383d}
.nav-link{color:#d6d8dc}
.hero-shade{background:linear-gradient(90deg,rgba(8,10,12,.93),rgba(8,10,12,.68) 49%,rgba(8,10,12,.2)),linear-gradient(0deg,rgba(8,10,12,.3),transparent 40%)}
.hero-copy{color:#e3e5e8}
.hero>.stats-section{background:rgba(17,19,21,.66)}
.stats-heading>a{color:#c8cbd0}
.stat-copy>span{color:#d4d5d8}
.section.home-services-section{background:#f7f5f0;color:#23262a}
.home-services-section .eyebrow{color:#7b662b}
.home-services-section .goal-card{background:#fff;border-color:#dedad0;color:#23262a;box-shadow:0 2px 10px rgba(35,38,42,.025)}
.home-services-section .goal-card:hover{background:#f0ede6;border-color:#b59b4e;color:#23262a}
.home-services-section .goal-card p{color:#59606a}
.home-services-section .card-number{color:#77705d}
.home-services-section .goal-card .service-symbol{color:#8a712c}
.team-feature{background:#191b1e;color:#f7f5f0}
.team-feature .eyebrow{color:#d8be62}
.team-feature .team-copy>p{color:#c3c6cb}
.team-feature .team-copy .lead-copy{color:#e0e2e5}
.team-feature .team-copy h2 em{color:#d8be62}
.team-feature .achievements{border-color:#3c4045}
.team-feature .achievements strong{color:#f4f0e5}
.team-feature .achievements span{color:#bcc1c7}
.team-feature .achievements strong>.icon{color:#d8be62}
.team-feature .action-buttons .text-link{color:#dfcc91}
.team-feature .athlete-frame{background:radial-gradient(ellipse at center,#363a3e,#101315 72%)}
.team-feature .athlete-caption{background:rgba(10,13,16,.88)}
.team-feature .athlete-caption .team-role{color:#e1e3e8}
.section.floor-preview-section,.section.home-faq-section{background:#f7f5f0;color:#23262a}
.floor-preview-section .eyebrow,.home-faq-section .eyebrow{color:#7b662b}
.floor-collage-caption>div{background:rgba(9,11,14,.82)}
.location-section{background:#191b1e;color:#f7f5f0}
.location-section .eyebrow{color:#d8be62}
.location-section address{color:#d0d3d8}
.location-section p.small{color:#b2b7bf}
.map-container{background:#25282c;border-color:#42474e}
.accordion-item{border-color:#dedbd2}
.accordion-button{color:#23262a}
.accordion-body{color:#59606a}
.site-footer{background:#111315;color:#bec2c9}
.footer-link{color:#c4c8ce}
.footer-tagline{color:#e5e7eb}
.footer-bottom{color:#a6adb7}
@media(max-width:991.98px){.hero-shade{background:linear-gradient(90deg,rgba(8,10,12,.93),rgba(8,10,12,.65)),linear-gradient(0deg,rgba(8,10,12,.3),transparent)}}

