*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#f8f8f2;color:#183d32;font:15px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button,a.primary{transition:background .18s,transform .18s}button:disabled{opacity:.6;cursor:wait}button:hover,a.primary:hover{filter:brightness(.96)}:focus-visible{outline:3px solid #476cba;outline-offset:4px}header{max-width:1480px;margin:auto;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #e0e5dc}.brand{display:flex;align-items:center;gap:10px;font-size:24px;line-height:1.1;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}.brand img{width:38px;height:auto;background:#193e32;border-radius:10px;padding:4px 7px;object-fit:contain}.brandlight{font-weight:400}.brand small{display:block;font-size:8px;font-weight:700;letter-spacing:1.65px;margin-top:9px}nav{display:flex;gap:32px;align-items:center;font-weight:600;font-size:13px}.nav-add{border:1px solid #cfd7cb;border-radius:30px;padding:12px 18px}main{max-width:1320px;padding:0 36px;margin:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-1.2px}h1{font-size:64px;font-weight:750}h2{font-size:32px}h3{font-size:20px;letter-spacing:-.5px}p{color:#51675c}.hero{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:54px 8px 40px}.hero-copy{flex:1}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;margin-bottom:20px}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#719341;margin-right:8px}.hero h1{margin-bottom:22px;letter-spacing:-3.8px}.hero h1 em{font-style:normal;color:#608045}.hero p{font-size:16px;line-height:1.65;margin-bottom:26px}.hero-proof{display:flex;gap:24px;font-size:11px;font-weight:600}.hero-art{width:380px;height:278px;position:relative;background:#eaf0df;border-radius:45% 45% 35% 45%;overflow:hidden;flex-shrink:0}.orbit{position:absolute;border:1px solid #c9d5b8;width:360px;height:360px;border-radius:50%;left:40px;top:-35px}.orbit.two{width:260px;height:260px;top:15px;left:90px}.weight{position:absolute;left:50px;top:120px;width:280px;height:40px;background:#315540;transform:rotate(-27deg);border-radius:4px;box-shadow:0 22px 34px #173e3225}.weight div{position:absolute;top:-40px;height:120px;width:38px;background:#193e32;border-radius:9px;box-shadow:inset -8px 0 #2b513d}.weight div:nth-child(1){left:5px;top:-22px;height:84px;width:24px}.weight div:nth-child(2){left:33px}.weight div:nth-child(3){left:74px;top:-52px;height:144px;background:#aecb72}.weight div:nth-child(4){right:30px;background:#aecb72;top:-52px;height:144px}.weight div:nth-child(5){right:2px;top:-22px;height:84px;width:24px}.art-note{position:absolute;bottom:23px;left:26px;font-weight:800;font-size:10px;line-height:1.3;letter-spacing:1.5px;transform:rotate(-5deg)}.art-star{position:absolute;right:30px;top:20px;font-size:44px;color:#7e9f54}.search-panel{background:#fff;border:1px solid #dce3d6;border-radius:18px;display:grid;grid-template-columns:1fr 180px 180px;padding:22px;gap:16px;box-shadow:0 8px 24px #173e3208;position:relative}.search-main label,.radius-field label{font-weight:700;font-size:11px;display:block;margin-bottom:8px}.input-row{display:flex;align-items:center;gap:10px}.input-row>span{font-size:28px;line-height:1}.input-row input{min-width:80px;width:100%;border:0;padding:10px 0;font-size:16px;outline-offset:0;background:transparent}.location{white-space:nowrap;border:0;background:#eff3e9;border-radius:8px;padding:9px 12px;font-size:12px;color:#254633}.radius-field{padding-left:20px;border-left:1px solid #e6e9e1}.radius-field select{border:0;padding:10px 0;background:transparent;font-size:16px;width:100%;color:#183d32}.primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#d6ef88;border:0;border-radius:9px;padding:14px 21px;color:#193e32;font-weight:700;text-decoration:none;font-size:13px}.search-button{background:#193e32;color:#fff;align-self:center;padding:17px}.search-button span{font-size:20px}.filter-row{grid-column:1/-1;display:flex;gap:12px;border-top:1px solid #e6e9e1;padding-top:16px;align-items:end;flex-wrap:wrap}.filter-row>label{font-size:10px;font-weight:700;flex:1;min-width:145px}.filter-row select{display:block;width:100%;color:#31513f;font-size:12px;border:1px solid #dde4d8;background:#fbfcf8;padding:10px 12px;border-radius:7px;margin-top:5px}.more-filters{position:relative;min-width:130px}.more-filters summary,.filter-apply{border:1px solid #dce3d6;border-radius:7px;padding:10px 12px;background:#fff;font-size:12px;list-style:none}.more-filters summary span{float:right;margin-left:18px}.more-filters>div{position:absolute;right:0;top:52px;background:white;box-shadow:0 10px 40px #173e3220;border:1px solid #dce3d6;z-index:20;width:300px;padding:20px;border-radius:10px;display:grid;gap:15px}.more-filters label{font-size:12px}.check{display:flex;align-items:center;gap:8px}.filter-note{grid-column:1/-1;font-size:10px;line-height:1.5;margin:0;color:#657568}.location-options{grid-column:1/-1;font-size:12px;color:#7b4c16}.location-options:empty{display:none}.location-options button{margin:5px;padding:8px;border:1px solid #dce3d6;background:#eff3e9;border-radius:7px}.results{padding:50px 0 42px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.results-heading .eyebrow{margin-bottom:12px}.results-heading h2{margin-bottom:10px}.results-heading h2>span{vertical-align:middle;font-size:13px;font-weight:600;letter-spacing:0;background:#e7eddc;padding:5px 9px;border-radius:7px}.results-heading p{font-size:12px;margin:0}.view-controls{display:flex;gap:8px}.view-controls button{background:white;border:1px solid #dce3d6;border-radius:8px;padding:10px 12px;font-size:11px;color:#31513f}#toggle-map{display:none}.result-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:26px;align-items:start}.cards{display:grid;gap:16px}.gym-card{background:#fff;border:1px solid #dce3d6;border-radius:13px;overflow:hidden;display:grid;grid-template-columns:112px 1fr;transition:box-shadow .2s}.gym-card:hover{box-shadow:0 6px 24px #173e3212}.card-art{background:#e4ebda;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:14px}.card-art:before{content:'';width:160px;height:160px;border:1px solid #234a3220;border-radius:50%;position:absolute;left:-34px;top:30px}.card-art img{width:80px;height:auto}.card-art span{font-size:7px;line-height:1.5;letter-spacing:1.8px;text-align:center;font-weight:700;margin-top:18px;z-index:1}.card-art b{position:absolute;top:10px;left:12px;font-size:10px;font-weight:500;color:#687d5b}.art-1{background:#edf0e8}.art-2{background:#e3e9e2}.art-3{background:#ede7d9}.card-body{padding:18px 19px 14px;min-width:0}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.tag{background:#f0f4e9;border:1px solid #e1e7d9;padding:4px 7px;font-size:8px;border-radius:4px;color:#526641;display:inline-block;font-weight:600}.verified{font-size:8px;color:#517346}.caution{color:#87612e}.gym-card h3{font-size:18px;line-height:1.2;margin-bottom:6px;overflow-wrap:anywhere}.address{font-size:11px;margin-bottom:13px}.facts{display:flex;gap:14px;flex-wrap:wrap;font-size:9px;color:#667567;line-height:1.5;margin-bottom:15px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #eef0e9;padding-top:12px}.price strong{display:block;font-size:17px;line-height:1.4;letter-spacing:-.5px}.price>span{display:block;font-size:9px;color:#687868}.round-link{border:1px solid #dce3d6;border-radius:50%;width:31px;height:31px;display:flex;justify-content:center;align-items:center;font-size:18px;flex-shrink:0}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.booking-text{font-size:10px;font-weight:700}.card-actions small{font-size:8px;color:#748171}.map-panel{position:sticky;top:20px}.map{height:510px;background:#e9eddf;border-radius:13px;overflow:hidden;position:relative;border:1px solid #dce3d6;z-index:1}.map-consent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px;background:repeating-linear-gradient(20deg,transparent,transparent 80px,#ffffff60 81px,#ffffff60 84px),repeating-linear-gradient(120deg,transparent,transparent 120px,#ffffff80 121px,#ffffff80 125px)}.map-consent>span{width:60px;height:60px;border:1px solid #b9c6ab;background:#f8faf2;border-radius:50%;font-size:33px;margin-bottom:20px}.map-consent h3{font-size:25px;margin-bottom:12px}.map-consent p{font-size:12px}.map-consent small{font-size:9px;max-width:260px;line-height:1.5;margin-top:16px;color:#687868}.map-caption{display:flex;align-items:center;gap:8px;font-size:10px;margin-top:13px}.map-caption small{margin-left:auto;font-size:9px;color:#697c67}.map-dot{width:7px;height:7px;background:#719341;border-radius:50%}.map-help{font-size:9px;margin-top:8px;color:#778572}.map-marker{background:#193e32;color:white;border:2px solid white;box-shadow:0 2px 6px #0003;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.leaflet-popup-content a{font-weight:700;color:#193e32}.map-error{position:absolute;bottom:10px;left:10px;right:10px;padding:12px;background:#fff5dc;border:1px solid #d8c28c;border-radius:7px;z-index:500;font-size:12px}.how-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid #dce3d6;border-bottom:1px solid #dce3d6;padding:34px 0}.how-strip span{display:block;font-size:11px;color:#6c8254;margin-bottom:14px}.how-strip h3{font-size:19px;margin-bottom:8px}.how-strip p{font-size:12px;margin:0}.submit-strip{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#edf2e4;border-radius:15px;margin:36px 0 54px;padding:32px}.submit-strip h2{font-size:26px;max-width:470px;margin-bottom:12px}.submit-strip .eyebrow{margin-bottom:15px}.submit-strip p{font-size:12px;margin:0}footer{padding:34px 5%;border-top:1px solid #dce3d6;max-width:1480px;margin:auto;display:flex;align-items:center;flex-wrap:wrap;gap:22px;font-size:11px}footer .brand{font-size:20px}footer .brand img{width:30px;height:auto}footer p{margin:0;flex:1;font-size:11px}footer>div{display:flex;gap:20px}footer>small{flex-basis:100%;color:#798675;font-size:9px}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:1000}.skip:focus{top:0}.empty{border:1px dashed #bac7ab;padding:40px 28px;border-radius:12px;background:white}.empty>span{font-size:40px}.empty h3{font-size:25px}.empty p{font-size:13px}.empty a{display:block;margin:14px 0}.detail-wrap{padding:35px 0 60px}.back{font-size:12px;display:inline-block;margin-bottom:30px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.detail-head h1{font-size:44px;margin-bottom:15px;max-width:820px}.detail-head p{font-size:14px}.detail-art{background:#e5ecd8;width:170px;height:150px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-art img{width:110px;height:auto}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:26px;align-items:start}.paper{padding:30px;background:white;border:1px solid #dce3d6;border-radius:13px;margin-bottom:20px}.paper h2{font-size:26px}.paper h3{margin:24px 0 12px}.paper p{font-size:14px}.paper dl{display:grid;grid-template-columns:1fr 1.5fr;font-size:13px;gap:10px;border-top:1px solid #e2e8dc;border-bottom:1px solid #e2e8dc;padding:20px 0}.paper dt{color:#687868}.paper dd{margin:0}.equipment{display:flex;gap:8px;flex-wrap:wrap}.equipment span{padding:6px 11px;border:1px solid #dce3d6;border-radius:7px;font-size:12px}.muted{font-size:11px!important;color:#72806a}.booking-box{position:sticky;top:20px}.detail-price strong{font-size:32px}.detail-price>span{font-size:12px}.booking-box small{font-size:10px;display:block;line-height:1.6;color:#6c7c68}.booking-box p{font-size:12px;margin-top:20px}.booking-box hr{border:0;border-top:1px solid #e2e8dc;margin-top:25px}.wide{display:flex;width:100%;margin-bottom:15px}.booking-trust{font-size:10px;border-top:1px solid #e2e8dc;padding-top:15px;margin-top:22px}.secondary{display:inline-block;border:1px solid #cbd8bd;border-radius:7px;padding:10px 14px;font-size:12px}.notice{background:#fff4dc;border:1px solid #e5d0a0;padding:16px 20px;border-radius:9px;margin-bottom:22px;font-size:13px;color:#6d5222}.sources ul{padding-left:20px}.sources li{font-size:12px;padding:8px 0}.sources li p{font-size:11px;margin:5px 0;overflow-wrap:anywhere}.narrow{max-width:760px;margin:50px auto 70px}.narrow h1{font-size:44px}.narrow h2{margin-top:24px}.narrow .paper h2:first-child{margin-top:0}.stack{display:grid;gap:18px}.stack label,.editor label{font-weight:600;font-size:12px}.stack input,.stack textarea,.editor input,.editor textarea,.editor select{width:100%;display:block;padding:11px;border:1px solid #cbd8bd;border-radius:6px;margin-top:7px;color:#193e32;background:#fcfdf9}.stack small{font-size:11px;color:#687868}.honeypot{position:absolute;left:-10000px}.admin{padding:40px 0}.admin h1{font-size:40px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.admin-nav a{border:1px solid #cbd8bd;padding:8px 12px;border-radius:8px;font-size:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.kpis div{padding:20px;border:1px solid #dce3d6;background:white;border-radius:10px}.kpis strong{display:block;font-size:32px}.kpis span{font-size:11px}.admin table{width:100%;border-collapse:collapse;font-size:11px}.admin th,.admin td{text-align:left;padding:11px 8px;border-bottom:1px solid #e2e8dc;vertical-align:top;overflow-wrap:anywhere}.table-wrap{overflow-x:auto}.admin td a{text-decoration:underline}.admin td form{display:inline}.admin button{padding:7px 11px;background:#e9efdf;border:1px solid #cbd8bd;border-radius:5px;font-size:11px}.admin .primary{padding:12px 18px}.admin details{margin:15px 0;border-top:1px solid #e2e8dc;padding-top:15px}.admin pre{white-space:pre-wrap;font:11px/1.6 monospace;background:#f3f6ed;padding:15px;max-height:340px;overflow:auto}.editor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editor .full{grid-column:1/-1}.editor .check input{width:auto;margin:0}.run-buttons{display:flex;gap:12px;flex-wrap:wrap}.error{max-width:700px;margin:70px auto;padding:35px;background:white;border:1px solid #dce3d6;border-radius:12px}.error h1{font-size:35px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2000;background:#193e32;color:white;padding:12px 20px;border-radius:8px;font-size:12px;display:none;max-width:90vw}.region-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.region-links a{padding:8px 14px;background:#e9efdf;border-radius:6px;font-size:12px}
@media(min-width:1450px){main{max-width:1370px}.hero{padding-top:62px}.hero-art{margin-right:40px}.gym-card{grid-template-columns:130px 1fr}.map{height:550px}}
@media(max-width:1000px){header{padding:22px 28px}nav{gap:18px}.hero h1{font-size:58px}.hero-art{width:300px;height:260px}.weight{left:30px;width:240px}.hero-proof{gap:15px;font-size:10px}.result-layout{grid-template-columns:1.15fr 1fr;gap:18px}.gym-card{grid-template-columns:80px 1fr}.card-art img{width:60px;height:auto}.card-body{padding:14px}.card-top{gap:5px}.verified{font-size:7px}.facts{gap:8px}.card-actions{align-items:start}.card-actions small{max-width:80px;text-align:right}.detail-layout{grid-template-columns:1fr 290px}.detail-head h1{font-size:36px}.filter-row>label{min-width:120px}.more-filters{min-width:115px}}
@media(max-width:760px){header{padding:18px 20px}.brand{font-size:21px}.brand small{font-size:7px}nav>a:first-child,nav>a:nth-child(2){display:none}.nav-add{font-size:10px;padding:9px 12px}main{padding:0 20px}.hero{padding:35px 0 25px;gap:10px;align-items:start}.hero h1{font-size:49px;letter-spacing:-2.8px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero p{font-size:13px}.hero-proof{font-size:9px;flex-direction:column;gap:4px}.hero-art{width:120px;height:180px;margin-top:35px;border-radius:40px}.weight{left:0;top:90px;width:140px;height:18px;transform:rotate(-57deg)}.weight div{width:18px;height:58px;top:-20px;border-radius:5px;box-shadow:inset -3px 0 #2b513d}.weight div:nth-child(1){left:0;width:12px;height:42px;top:-12px}.weight div:nth-child(2){left:15px}.weight div:nth-child(3){left:35px;height:72px;top:-27px}.weight div:nth-child(4){right:15px;height:72px;top:-27px}.weight div:nth-child(5){right:0;width:12px;height:42px;top:-12px}.art-note{font-size:6px;left:12px;bottom:13px}.art-star{font-size:24px;top:4px;right:9px}.search-panel{grid-template-columns:1fr 110px;padding:16px;gap:13px;border-radius:12px}.search-main{grid-column:1/-1}.input-row input{font-size:14px}.location{padding:9px;font-size:11px}.radius-field{padding:0;border:0;grid-column:1}.radius-field label{font-size:10px;margin-bottom:2px}.radius-field select{font-size:13px;padding:5px 0}.search-button{padding:12px 15px;font-size:12px;grid-row:2;grid-column:2}.search-button span{font-size:16px}.filter-row{gap:8px;padding-top:13px}.filter-row>label{min-width:135px}.filter-row select{padding:9px;font-size:11px}.filter-row>label:nth-child(3){max-width:none}.more-filters{min-width:130px;flex:1}.filter-apply{padding:10px 12px}.more-filters>div{right:0;width:270px;max-width:85vw}.filter-note{font-size:9px}.results{padding-top:32px}.results-heading{align-items:start;flex-wrap:wrap;gap:16px;margin-bottom:18px}.results-heading h2{font-size:27px;letter-spacing:-1px}.results-heading p{font-size:11px}.view-controls{width:100%}#toggle-map{display:block}.result-layout{grid-template-columns:1fr}.map-panel{display:none;position:relative;top:0;grid-row:1}.map-panel.visible{display:block}.map{height:330px}.gym-card{grid-template-columns:80px 1fr}.gym-card h3{font-size:17px}.card-art span{font-size:6px;letter-spacing:1.2px}.card-top{margin-bottom:10px}.facts{font-size:9px}.card-actions small{font-size:7px}.how-strip{grid-template-columns:1fr;gap:22px;padding:28px 0}.how-strip>div{padding-left:35px;position:relative}.how-strip span{position:absolute;left:0;top:2px}.how-strip h3{font-size:18px}.submit-strip{padding:25px;flex-direction:column;align-items:start;margin-bottom:35px}.submit-strip h2{font-size:25px}.submit-strip p{font-size:11px}footer{padding:25px 20px;gap:18px}footer p{flex-basis:100%}footer>div{gap:16px;flex-wrap:wrap}footer small{font-size:8px}.detail-wrap{padding-top:24px}.detail-head h1{font-size:32px}.detail-head{gap:15px}.detail-art{width:70px;height:100px}.detail-art img{width:60px;height:auto}.detail-head .eyebrow{font-size:9px}.detail-layout{display:flex;flex-direction:column-reverse;gap:0}.detail-layout>div,.booking-box{width:100%}.booking-box{position:static}.paper{padding:22px}.paper h2{font-size:23px}.paper p{font-size:13px}.detail-price strong{font-size:29px}.narrow{margin-top:35px}.narrow h1{font-size:35px}.kpis{grid-template-columns:1fr 1fr}.editor{grid-template-columns:1fr}.editor .full{grid-column:1}.admin h1{font-size:32px}.admin .paper{padding:18px}.notice{font-size:12px;padding:14px}.admin-nav{gap:6px}.admin-nav a{font-size:11px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.visit-fields{grid-column:1/-1;display:flex;align-items:end;gap:14px;flex-wrap:wrap;border-top:1px solid #e6e9e1;padding-top:16px}.visit-title{flex-basis:100%;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.visit-title strong{font-size:13px}.visit-title span,.visit-fields p{font-size:11px;color:#51675c}.visit-fields>label{font-size:11px;font-weight:700;flex:1;min-width:140px}.visit-fields input[type=date],.visit-fields input[type=time],.visit-fields select{display:block;width:100%;margin-top:5px;border:1px solid #dde4d8;border-radius:7px;background:#fbfcf8;color:#183d32;padding:9px 12px}.visit-fields .visit-unknown{flex-basis:100%;display:flex;gap:8px;align-items:center;font-weight:400}.visit-fields .visit-unknown input{accent-color:#193e32}.visit-fields p{flex-basis:100%;margin:0}.visit-fields .secondary{background:#fff;min-height:40px}.availability-summary{margin:20px 0 0;padding:14px 18px;background:#edf4e6;border:1px solid #cfddc0;border-radius:9px;font-size:13px}.availability-status:empty{display:none}.availability-status{padding:7px 10px;border-radius:6px;margin:8px 0 12px;font-size:12px;background:#edf4e6;color:#254633}.availability-status small{display:block;font-size:10px}.gym-card[data-availability=unknown] .availability-status{background:#fff4dc;color:#6d5222}.gym-card[hidden],[hidden]{display:none!important}@media(max-width:760px){.visit-fields{gap:10px}.visit-fields>label{min-width:120px}.visit-fields .secondary{font-size:11px;padding:9px 10px}.visit-title span{font-size:10px}.availability-summary{font-size:12px}}

/* Keep verification and price metadata readable on every viewport. */
.tag,.verified,.facts,.price>span,.card-actions small,.map-help,.map-caption,.map-caption small,.filter-note,footer>small{font-size:11px}.card-actions small{max-width:120px}.card-art span{font-size:8px}.address{font-size:12px}.booking-text{font-size:12px}.facts{gap:12px}.filter-row>label{font-size:11px}

/* Quiet, spacious visual language for planning a private training session. */
:root{--ink:#173e32;--muted:#53685d;--line:#dce4d7;--lime:#d2ec87;--paper:#fff;--canvas:#f7f8f2}
body{background:var(--canvas);color:var(--ink)}a,button,input,select,textarea{touch-action:manipulation}button,a,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:3px solid #497634!important}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.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}
header{padding-top:22px;padding-bottom:22px}nav{gap:24px}.nav-add{border-radius:100px!important}.saved-open{display:flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--ink);font-weight:650;font-size:12px;min-height:44px}.saved-open b{background:#e8eedf;border-radius:50%;min-width:21px;height:21px;display:grid;place-items:center;font-size:10px}
.hero{padding-top:40px;padding-bottom:30px;gap:32px;min-height:340px}.hero h1{font-size:clamp(52px,5.8vw,86px);line-height:1.01;letter-spacing:-4.5px;margin-top:23px;margin-bottom:24px}.hero p{font-size:16px;line-height:1.75;color:var(--muted)}.hero-proof{gap:22px;font-size:11px}.hero-art.room-art{width:460px;height:350px;background:radial-gradient(ellipse,#ecf2df 20%,#edf3e400 70%);border-radius:0;overflow:visible;position:relative;margin:0;flex-shrink:0}.room-art img{width:100%;height:auto;display:block;transform:translateY(-16px);filter:drop-shadow(0 20px 20px #264c3410)}.room-note{position:absolute;bottom:4px;left:72px;font-size:12px;line-height:1.6;color:#526945}.room-note strong{font-weight:600;color:var(--ink)}
.discovery-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 26px;font-size:12px}.discovery-strip>span:first-child{font-weight:650;margin-right:5px}.discovery-strip>a{padding:9px 15px;border:1px solid var(--line);background:white;border-radius:100px;display:flex;gap:18px;align-items:center;transition:background .15s,transform .15s}.discovery-strip>a:hover{background:#edf3e2;transform:translateY(-2px)}.discovery-strip a span{color:#66864a}.catalog-proof{margin-left:auto;color:var(--muted);font-size:11px}
.search-panel{border-radius:22px;padding:26px;box-shadow:0 12px 35px #193e3207;border-color:#d9e2d1;gap:20px}.search-button{border-radius:12px;min-height:58px}.input-row{min-height:52px}.input-row input{font-size:18px}.location{border-radius:9px;min-height:40px}.visit-fields{background:#f5f8ee;border:1px solid #e3ead9;padding:18px;border-radius:13px;gap:12px}.visit-title strong{font-size:14px}.visit-fields>label{font-size:12px}.visit-title span,.visit-fields p{font-size:12px}.visit-fields input[type=date],.visit-fields input[type=time],.visit-fields select{background:white;min-height:44px;border-radius:9px;font-size:14px}.visit-fields .secondary{min-height:44px;border-radius:9px}.visit-fields .visit-unknown{font-size:12px}.filter-row select{min-height:43px;border-radius:8px}.filter-row{border-top:0;padding-top:0}.filter-note{margin:0;color:#627263}.availability-summary{border-radius:12px;padding:17px 20px}.availability-alternatives{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.results-heading{gap:20px;align-items:end}.results-heading h2{font-size:34px;letter-spacing:-1.4px}.results-heading h2>span{font-size:17px;background:#e6eedb;min-width:34px;vertical-align:middle}.view-controls{gap:9px;align-items:center}.view-controls>button{min-height:43px;border-radius:9px;background:white}.sort-control{display:flex;flex-direction:column;font-size:10px;color:var(--muted);gap:3px}.sort-control select{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;font-size:12px;padding:9px 11px;min-height:40px}.result-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:26px}.cards{gap:17px}.gym-card{border-radius:17px;border-color:#dce5d6;box-shadow:0 3px 8px #173e3203;transition:box-shadow .18s,border-color .18s;overflow:hidden;grid-template-columns:103px minmax(0,1fr)}.gym-card:hover{box-shadow:0 10px 25px #173e320b;border-color:#b8cba6}.card-art{background-image:radial-gradient(ellipse at 0 5%,#fff7 0,transparent 65%)}.card-art img{width:74px;height:auto;filter:drop-shadow(0 8px 4px #173e3213)}.card-art b{opacity:.7}.card-body{padding:21px;position:relative;min-width:0}.card-top{padding-right:33px;flex-wrap:wrap;gap:7px;margin-bottom:13px}.tag{border-radius:5px;background:#eef3e5;padding:5px 8px;font-size:10px}.verified{font-size:10px}.gym-card h3{font-size:20px;line-height:1.35;letter-spacing:-.4px;margin-bottom:7px}.address{line-height:1.6;color:var(--muted);margin-top:9px;margin-bottom:12px}.facts{font-size:11px;margin:12px 0;line-height:1.5;flex-wrap:wrap}.card-bottom{padding-top:15px;margin-top:16px}.price strong{font-size:20px;letter-spacing:-.5px}.price>span{font-size:11px;color:var(--muted)}.card-actions{padding-top:14px;gap:12px}.booking-text{font-size:12px;font-weight:650}.card-actions small{color:#617360;line-height:1.4}.round-link{width:36px;height:36px;display:grid;place-items:center;font-size:18px}.save-gym{position:absolute;top:15px;right:15px;border:1px solid #dce4d7;background:white;width:34px;height:34px;border-radius:50%;color:#47634c;font-size:23px;display:grid;place-items:center;line-height:1}.save-gym[aria-pressed=true]{background:#edf4df;color:#4a6d30;border-color:#bed399}.rating-link{display:inline-block}.rating-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#5a6d5b;line-height:1.5}.rating-badge>span:first-child{color:#a27720;font-size:16px}.rating-badge strong{font-size:13px;color:var(--ink)}.rating-empty{font-size:11px;color:#6c7966}.rating-link:hover{text-decoration:underline}.map{border-radius:17px;background:#ebf0e5;min-height:450px}.map-consent{padding:32px}.map-consent h3{font-size:28px;letter-spacing:-.7px}.map-consent small{font-size:11px;max-width:300px;margin:auto}.map-caption{line-height:1.7}.map-help{line-height:1.6}.paper{border-radius:17px;border-color:#dce4d7;box-shadow:0 3px 10px #193e3203}.booking-box{border-top:4px solid #a4c76a}.detail-art{background:#e7efdb}.detail-badges{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.detail-badges .save-gym{position:static;width:40px;height:40px}.detail-head h1{font-size:46px;letter-spacing:-1.8px;line-height:1.12}.detail-layout{grid-template-columns:minmax(0,1fr) 320px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.section-heading h2{margin:9px 0 0;letter-spacing:-.6px}.section-heading .rating-badge{padding:12px 16px;background:#f1f5e9;border-radius:10px}.section-heading .rating-badge strong{font-size:24px}.section-heading .eyebrow{font-size:10px}
.rating-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.rating-breakdown>div{background:#f6f8f1;padding:14px;border-radius:10px;display:grid;gap:5px;font-size:12px}.rating-breakdown strong{font-size:14px}.review-item{padding:22px 0;border-top:1px solid #e1e8da}.review-author{display:flex;align-items:center;gap:10px}.avatar{background:#e9f0df;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}.review-author strong{font-size:13px}.review-author small{display:block;font-size:10px;color:#60715e;margin-top:4px}.review-stars{margin-left:auto;font-size:16px;color:#977021;white-space:nowrap}.review-stars>span{color:#9aa78c}.review-item>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.review-empty{padding:25px;background:#f6f8f1;border:1px dashed #d5e1c8;border-radius:12px;text-align:center;margin:24px 0}.review-empty>span{font-size:34px;color:#7b965d}.review-empty h3{font-size:19px;margin:8px 0!important}.review-empty p{font-size:13px;max-width:430px;margin:8px auto}.review-compose>summary{cursor:pointer;list-style:none;min-height:44px;font-weight:650}.review-form{display:grid;gap:18px;margin-top:24px}.review-form>label,.review-meta>label,.review-criteria>label{font-size:12px;font-weight:600;display:block}.review-form input:not([type=radio]):not([type=checkbox]),.review-form textarea,.review-form select{width:100%;padding:12px;border:1px solid #cddac0;border-radius:9px;background:#fdfefa;color:var(--ink);margin-top:7px;display:block;min-width:0;font:inherit}.review-form textarea{font-size:14px;font-weight:400;resize:vertical;line-height:1.65}.review-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-criteria{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-form>small{font-size:11px;line-height:1.7;color:var(--muted)}.review-form>button{justify-self:start;min-height:47px}.review-form .check{display:flex;align-items:start;gap:10px;line-height:1.6;font-weight:400}.review-form .check input{margin-top:3px;flex-shrink:0}.star-picker{border:0;padding:0;margin:0}.star-picker legend{font-size:13px;font-weight:650}.star-picker legend>span{font-size:11px;color:var(--muted);font-weight:400}.star-picker>div{display:flex;gap:8px;margin-top:10px}.star-picker label{position:relative;cursor:pointer}.star-picker input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.star-picker label>span:not(.sr-only){display:grid;place-items:center;width:43px;height:43px;background:#f5f7ee;border:1px solid #d9e2cc;border-radius:8px;font-size:26px;color:#89977a}.star-picker label.selected>span:not(.sr-only),.star-picker input:checked+span{background:#f5edcd;color:#936a14;border-color:#d3bc70}.star-picker input:focus-visible+span{outline:3px solid #497634;outline-offset:3px}.flag-review{font-size:11px;color:#60705d}.flag-review summary{cursor:pointer;padding:5px 0}.flag-review form{display:flex;gap:12px;align-items:end;margin-top:10px;flex-wrap:wrap}.flag-review label{display:grid;gap:7px}.flag-review select{padding:9px;max-width:100%;border:1px solid var(--line);border-radius:7px}.flag-review button{background:white}#review-status:empty{display:none}#review-status{padding:12px;background:#f0f5e7;border-radius:9px;font-size:13px;margin:0}
.utilization-overview{display:flex;align-items:center;gap:22px;margin:23px 0}.utilization-overview>strong{font-size:56px;letter-spacing:-3px;line-height:1}.utilization-overview>strong span{font-size:26px;margin-left:4px;color:#75914d}.utilization-overview p{font-size:13px;margin:0;line-height:1.7}.utilization-overview small{font-size:11px;color:var(--muted)}.utilization-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:25px 0}.utilization-day{text-align:center;min-width:0;display:grid;gap:7px}.utilization-day>span{font-size:12px;font-weight:650}.bar-track{height:100px;background:#edf3e4;border-radius:8px;display:flex;align-items:end;overflow:hidden}.bar-fill{width:100%;background:linear-gradient(0deg,#345b42,#91b36d);min-height:0;border-radius:8px}.utilization-day strong{font-size:10px;font-weight:500}.utilization-day small{font-size:9px;color:var(--muted)}.utilization-day.no-data .bar-track{background:repeating-linear-gradient(135deg,#f2f4ed,#f2f4ed 5px,#e7ebdf 5px,#e7ebdf 6px)}.utilization-empty{display:flex;gap:17px;align-items:center;background:#f4f7ec;padding:19px;border-radius:11px;margin:22px 0}.utilization-empty>span{font-size:34px;color:#7f995f}.utilization-empty p{margin:0;font-size:13px;line-height:1.65}.text-link{font-size:12px;font-weight:650}.saved-dialog{border:1px solid #d5e0cc;border-radius:21px;padding:28px;max-width:560px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 30px 100px #193e322b}.saved-dialog::backdrop{background:#14312570;backdrop-filter:blur(4px)}.saved-dialog h2{font-size:25px}.saved-dialog>p{font-size:13px;color:var(--muted)}.saved-row{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);padding:16px 0}.saved-row>a{flex:1;min-width:0}.saved-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.saved-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.saved-row button{background:white}.saved-empty{padding:24px;background:#f3f7e9;border-radius:12px;font-size:14px;line-height:1.7}.clear-saved{margin-top:14px;background:white}.how-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:36px;padding-bottom:36px}.submit-strip{border-radius:21px;background:#eaf1df}.submit-strip .primary{border-radius:10px}.primary{transition:background .15s,transform .15s}.primary:hover{transform:translateY(-1px)}
@media(max-width:1100px){.hero-art.room-art{width:360px;height:310px}.hero h1{font-size:65px}.room-note{left:45px;bottom:10px}.catalog-proof{flex-basis:100%;margin-top:6px}.result-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}.gym-card{grid-template-columns:76px minmax(0,1fr)}.card-body{padding:17px}.gym-card h3{font-size:18px}.card-top{display:block}.card-top .verified{display:block;margin-top:7px}.card-art img{width:58px;height:auto}.view-controls{flex-wrap:wrap}.results-heading{align-items:start}.detail-layout{grid-template-columns:minmax(0,1fr) 280px}.review-criteria{grid-template-columns:1fr}.rating-breakdown{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){header{padding:15px 18px;gap:12px}.brand{font-size:20px}.brand small{font-size:6px}.brand img{width:32px;height:auto}nav{gap:10px}.saved-open{font-size:11px}.saved-open>span{display:none}.saved-open b{font-size:9px;min-width:18px;height:18px}.nav-add{padding:9px!important;font-size:10px!important;white-space:nowrap}main{padding:0 18px}.hero{padding-top:30px;padding-bottom:23px;gap:10px;min-height:0;position:relative;align-items:start}.hero-copy{position:relative;z-index:1}.hero h1{font-size:51px;letter-spacing:-2.8px;margin-top:19px;margin-bottom:19px}.hero p{font-size:13px;line-height:1.7}.hero-art.room-art{width:120px;height:190px;align-self:center;margin-top:30px;opacity:.95}.room-art img{width:170px;max-width:none;transform:translate(-33px,0)}.room-note{display:none}.hero-proof{font-size:10px;gap:6px}.discovery-strip{gap:7px;margin-bottom:21px;font-size:11px}.discovery-strip>a{padding:8px 11px;gap:10px;min-height:36px}.discovery-strip>span:first-child{flex-basis:100%;margin-bottom:4px}.catalog-proof{font-size:10px}.search-panel{padding:16px;border-radius:17px;gap:14px}.input-row input{font-size:15px;min-width:0}.search-button{min-height:46px;border-radius:9px}.visit-fields{padding:13px;gap:11px;border-radius:10px}.visit-title strong{font-size:13px}.visit-title span,.visit-fields p{font-size:11px;line-height:1.6}.visit-fields>label{min-width:100px;font-size:11px}.visit-fields input[type=date],.visit-fields input[type=time],.visit-fields select{padding:9px 7px;font-size:13px;min-height:43px}.visit-fields>label:nth-of-type(3){flex-basis:calc(55% - 11px)}.visit-fields .secondary{font-size:10px;flex:1;min-width:100px;padding:8px}.visit-fields .visit-unknown{font-size:11px;line-height:1.5}.filter-row select{font-size:11px}.filter-note{font-size:10px;line-height:1.6}.results-heading h2{font-size:28px;letter-spacing:-1px}.results-heading{gap:14px}.view-controls{width:100%;align-items:end;gap:7px}.view-controls>button{font-size:11px;padding:9px}.sort-control{flex:1;min-width:150px}.sort-control select{width:100%;font-size:11px}.result-layout{grid-template-columns:minmax(0,1fr)}.gym-card{grid-template-columns:65px minmax(0,1fr);border-radius:14px}.card-body{padding:16px}.card-art img{width:49px;height:auto}.card-art span{font-size:7px;letter-spacing:1px;line-height:1.8}.card-art b{font-size:10px}.card-top{padding-right:27px}.gym-card h3{font-size:18px}.save-gym{width:32px;height:32px;font-size:22px;top:12px;right:12px}.facts{font-size:11px;gap:8px}.address{font-size:11px}.card-actions small{font-size:10px;max-width:100px}.price strong{font-size:19px}.card-actions{gap:9px}.booking-text{font-size:11px}.tag,.verified{font-size:10px}.map{min-height:330px}.map-consent{padding:22px}.detail-head h1{font-size:32px;letter-spacing:-1px}.detail-art{width:60px;height:90px}.detail-badges{gap:8px}.detail-layout{display:flex}.paper{padding:20px;border-radius:14px}.section-heading h2{font-size:24px}.section-heading{gap:12px}.section-heading .rating-badge{padding:8px 12px}.section-heading .rating-badge strong{font-size:20px}.rating-breakdown{gap:7px}.rating-breakdown>div{padding:10px;font-size:10px}.rating-breakdown strong{font-size:12px}.review-author{flex-wrap:wrap;gap:8px}.review-stars{font-size:15px}.review-author small{font-size:9px}.review-meta{grid-template-columns:1fr}.review-criteria{grid-template-columns:1fr}.review-form input:not([type=radio]):not([type=checkbox]),.review-form textarea,.review-form select{font-size:14px}.utilization-overview{gap:15px}.utilization-overview>strong{font-size:47px}.utilization-overview p{font-size:12px}.utilization-chart{gap:5px}.utilization-day>span{font-size:10px}.utilization-day strong{font-size:9px}.utilization-day small{font-size:8px}.bar-track{height:84px;border-radius:6px}.saved-dialog{padding:20px}.saved-dialog h2{font-size:21px}.how-strip p{font-size:12px}.submit-strip{padding:24px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.detail-art{overflow:hidden}.detail-art img{max-width:100%}@media(max-width:760px){.detail-art img{width:55px;height:auto}}
.map-pin{background:transparent;border:0;filter:drop-shadow(0 3px 3px #173e3240)}.map-pin svg{display:block;overflow:visible}.map-pin:focus-visible{outline:3px solid #759944;outline-offset:4px;border-radius:16px}.map-loading{padding:35px;text-align:center;font-size:14px;color:#53685d}.map-loading button{margin-top:15px;background:white}.map-panel{display:block}@media(max-width:760px){.map-panel{display:block;grid-row:1}.map{height:330px;min-height:330px}}
@media(max-width:760px){.hero{display:block}.hero h1{font-size:49px;max-width:none}.hero p{max-width:225px}.hero-art.room-art{position:absolute;right:0;top:150px;width:105px;height:130px;margin:0}.room-art img{width:145px;transform:translate(-25px,0)}.search-button{padding:10px 11px;font-size:12px;white-space:nowrap;gap:7px}.search-button span{margin:0}}
.breadcrumbs{font-size:12px;margin:0 0 22px;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0}.breadcrumbs li{display:flex;align-items:center;min-width:0}.breadcrumbs li+li::before{content:"›";margin:0 8px;color:#9aab9c}.breadcrumbs a{color:var(--ink);text-decoration:underline;text-decoration-color:#cbd8bd;text-underline-offset:3px;padding:6px 0}.breadcrumbs span[aria-current]{font-weight:650;overflow-wrap:anywhere}
.hero h1.area-title{font-size:clamp(34px,5.2vw,64px);line-height:1.02}
.area-intro{max-width:520px}
.city-index{margin:40px 0 0}.city-index h2{margin:6px 0 18px}.city-index ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.city-index a{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:1px solid #cbd8bd;border-radius:999px;padding:6px 14px;background:#fff;font-size:13px;color:var(--ink);text-decoration:none}.city-index a:hover,.city-index a:focus-visible{border-color:var(--ink)}.city-index a span{font-size:11px;font-weight:700;color:#53685d;background:#edf2e4;border-radius:999px;padding:2px 7px}
.nav-links{display:flex;flex-wrap:wrap;gap:8px}
.share-gym{border:1px solid #dce4d7;background:#fff;color:var(--ink);border-radius:999px;min-height:40px;padding:0 14px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.share-gym:hover,.share-gym:focus-visible{border-color:var(--ink)}
@media(max-width:760px){.hero h1.area-title{font-size:34px}.area-intro{max-width:none}.area-hero .hero-art.room-art{display:none}.hero.area-hero p.area-intro{max-width:none}.city-index{margin-top:30px}.city-index a{font-size:12px;padding:5px 12px}.breadcrumbs{margin-bottom:16px}.nav-links .secondary{flex:1 1 140px}}
