/* RS Fitness Club: compact navigation and an openly discoverable team directory. */
.mobile-section-links{display:none}

.team-directory-intro{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:0 0 22px;color:#c4c8ca}
.team-directory-intro strong{color:#fff;font-size:1rem}
.team-directory-intro span{font-size:.86rem}
.team-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.coach-profile{min-width:0;border:1px solid #363b3d;border-radius:5px;background:#191c1e;transition:border-color .18s ease,background .18s ease}
.coach-profile[open]{border-color:#9b3a40;background:#1e2021}
.coach-profile summary{list-style:none;display:grid;grid-template-columns:26px 76px minmax(0,1fr) 28px;align-items:center;gap:14px;min-height:112px;padding:14px 18px;cursor:pointer}
.coach-profile summary::-webkit-details-marker{display:none}
.coach-profile summary:focus-visible,.mobile-section-links a:focus-visible{outline:2px solid #f0484d;outline-offset:3px}
.coach-profile summary img{width:76px;height:76px;aspect-ratio:1;object-fit:cover;border-radius:3px;border:1px solid #525657;background:#121516}
.coach-index{align-self:start;color:#e64046;font:700 14px/1.2 'Barlow Condensed',sans-serif;padding-top:4px}
.coach-identity{display:grid;gap:4px;min-width:0}
.coach-identity strong{text-transform:uppercase;font:700 clamp(24px,2.5vw,34px)/1 'Barlow Condensed',sans-serif;overflow-wrap:anywhere}
.coach-identity small{color:#b9bdc0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.coach-expand{justify-self:end;color:#ff6c71;font:400 27px/1 'Manrope',sans-serif;transition:transform .18s ease}
.coach-profile[open] .coach-expand{transform:rotate(45deg)}
.coach-profile-detail{border-top:1px solid #3c4042;padding:0 22px 20px 134px}
.coach-profile-detail p{color:#d3d6d7;margin:17px 0 16px;font-size:14px;line-height:1.7}
.coach-profile-detail a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#ff8a8f;font-size:13px;font-weight:700;text-underline-offset:4px;text-decoration:underline}
.coach-profile:hover{border-color:#ba484e}

@media (max-width:760px){
  .team-directory{grid-template-columns:1fr;gap:9px}
  .team-directory-intro{display:grid;gap:4px;margin-bottom:16px}
  .coach-profile summary{grid-template-columns:20px 64px minmax(0,1fr) 24px;gap:10px;min-height:89px;padding:9px 12px}
  .coach-profile summary img{width:64px;height:64px}
  .coach-identity strong{font-size:27px}
  .coach-profile-detail{padding:0 16px 14px 106px}
}

@media (max-width:700px){
  html{scroll-padding-top:18px}
  .hero{min-height:0}
  .hero-content{min-height:min(610px,80svh);padding-bottom:34px}
  .hero-rail{min-height:72px;padding-block:15px}
  .mobile-section-links{display:block;background:#141718;border-block:1px solid #3a3e40;padding:18px 18px 20px}
  .mobile-section-links>span{display:block;color:#ff777d;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700;margin-bottom:11px}
  .mobile-section-links>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-section-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:43px;border:1px solid #484d4f;border-radius:3px;padding:7px 11px;font-size:12px;font-weight:700}
  .mobile-section-links b{color:#ff777d;font-size:15px;font-weight:400}
  .section{padding:46px 18px}
  .section-label{padding-bottom:13px}
  .statement-content h2,.services h2,.team h2,.collaborations h2,.reviews h2,.equipment h2,.instagram-intro h2,.location h2,.gallery-head h2,.contact h2{font-size:clamp(39px,10.6vw,51px);line-height:1.03}
  .statement-grid{gap:10px;margin-top:21px}
  .statement-grid p{margin:0}
  .proof div{min-height:89px;padding:13px 10px}
  .proof strong{font-size:27px}
  .services-head,.team-head,.collaborations-head,.reviews-head{gap:11px;margin:22px 0 23px}
  .service-list article{padding:16px 0;min-height:0;gap:9px}
  .service-list h3{font-size:27px}
  .service-list article>p{font-size:13px;line-height:1.55}
  .team{padding-block:46px}
  .club-administrator{grid-template-columns:minmax(0,1fr) 96px;align-items:start;gap:8px 13px;margin-bottom:24px;padding:20px 17px}
  .club-administrator .administrator-copy{display:contents}
  .club-administrator .administrator-label{grid-column:1;grid-row:1;margin:0}
  .club-administrator h3{grid-column:1;grid-row:2;margin:0;overflow-wrap:anywhere}
  .club-administrator .administrator-role{grid-column:1;grid-row:3;margin:0}
  .club-administrator .administrator-description{grid-column:1/-1;margin:5px 0 0;font-size:13px;line-height:1.65}
  .club-administrator .administrator-portrait{grid-column:2;grid-row:1/4;width:96px;height:96px;object-fit:cover}
  .collaborations .partner-grid{grid-template-columns:1fr;gap:10px}
  .collaborations .partner-grid .partner-card{grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;gap:9px 13px;min-height:0;padding:17px 16px}
  .partner-card .partner-logo{grid-column:1;grid-row:1;width:72px;height:72px;min-width:0;padding:0}
  .partner-card .partner-logo img{width:100%;height:100%;object-fit:contain}
  .partner-card>div:nth-child(2){grid-column:2;grid-row:1;min-width:0}
  .partner-card .partner-type{font-size:10px;line-height:1.3}
  .partner-card h3{font-size:25px;line-height:1.05}
  .collaborations .partner-grid .partner-card>div:nth-child(2)>p:last-child{font-size:12px;line-height:1.55;margin:8px 0 0}
  .partner-card .partner-links{grid-column:1/-1;grid-row:2;gap:8px;padding-top:10px}
  .partner-card .partner-links a{min-height:39px;padding:7px 10px;font-size:12px}
  .equipment{min-height:0}
  .equipment-copy{padding:43px 18px 35px}
  .equipment-copy>p{margin-top:19px}
  .equipment ul{margin-top:22px}
  .equipment li{padding:11px 0}
  .equipment-image{min-height:0;height:260px}
  .club-gallery{padding-block:42px}
  .gallery-head{margin-bottom:19px}
  .reviews{padding-block:45px}
  .reviews-head{align-items:start}
  .review-track blockquote{min-height:0;padding:24px 20px}
  .instagram-intro{padding:36px 18px 26px}
  .instagram-intro>p:not(.eyebrow){margin-block:16px}
  .instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .instagram-grid figure{min-height:0;aspect-ratio:1}
  .location{gap:24px;padding:43px 18px}
  .location-copy>p:not(.eyebrow){margin-top:17px}
  .location-actions{margin-top:18px}
  .map-frame,.map-frame iframe,.map-placeholder{min-height:260px}
  .callback-preview{gap:20px;padding:42px 18px}
  .callback-intro h2{font-size:clamp(36px,10vw,50px);margin:10px 0 15px}
  .callback-preview-notice{margin-top:16px;padding:11px 14px}
  .contact{min-height:0}
  .contact-main,.contact-info{padding:38px 18px}
  .contact-main>p{margin-top:19px}
  .contact-actions{margin-top:22px}
  .contact-info{gap:20px}
  .contact-info div{padding-bottom:17px}
  .expansion-teaser{grid-template-columns:66px minmax(0,1fr);gap:16px;padding:37px 18px}
  .expansion-date{grid-column:1;grid-row:1;width:66px;height:66px;box-shadow:none}
  .expansion-date span{font-size:34px}
  .expansion-date b{font-size:9px;letter-spacing:.08em;margin-top:4px}
  .expansion-copy{grid-column:2;grid-row:1}
  .expansion-copy h2{font-size:clamp(34px,9.8vw,47px)}
  .expansion-copy .eyebrow{margin-bottom:10px;font-size:11px}
  .expansion-lead{margin-top:12px;font-size:13px;line-height:1.55}
  .expansion-cta{margin-top:15px;min-height:45px;font-size:12px}
  .expansion-equipment{grid-column:1/-1;grid-row:2;margin:0;padding:16px}
  .expansion-equipment>p{margin-bottom:8px}
  .expansion-equipment ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
  .expansion-equipment li{grid-template-columns:18px minmax(0,1fr);gap:5px;padding:9px 0;font-size:11px}
  .expansion-teaser:after{display:none}
}

@media (max-width:390px){
  .coach-profile summary{grid-template-columns:17px 54px minmax(0,1fr) 20px;gap:8px}
  .coach-profile summary img{width:54px;height:54px}
  .coach-identity strong{font-size:23px}
  .coach-identity small{font-size:11px}
  .coach-profile-detail{padding-left:15px}
  .expansion-teaser{grid-template-columns:56px minmax(0,1fr);gap:12px}
  .expansion-date{width:56px;height:56px}
}

@media (prefers-reduced-motion:reduce){.coach-profile,.coach-expand{transition:none}}

/* v5: material accents without changing the approved layout or control dimensions. */
.site-header{
  background:rgba(6,8,9,.94);
  border-bottom-color:rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.button{
  border-radius:6px;
  text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.button-primary{
  color:#fff;
  background:#d71920;
  box-shadow:0 7px 20px rgba(0,0,0,.18);
}
.button-outline{
  color:#fff;
  background:rgba(6,8,9,.28);
  border-color:#e53b42;
}
.button-light{
  color:#121415;
  background:#fff;
  box-shadow:0 7px 20px rgba(0,0,0,.12);
}
.text-link{
  color:inherit;
  text-decoration:none;
  transition:color .18s ease,border-color .18s ease;
}
.button:focus-visible,.text-link:focus-visible,.mobile-menu summary:focus-visible,
.mobile-menu nav a:focus-visible,.mobile-dock a:focus-visible,
.carousel-controls button:focus-visible,.partner-links a:focus-visible,
.cookie-settings:focus-visible{
  outline:2px solid #ff858a;
  outline-offset:3px;
}
.club-administrator{
  border-radius:9px;
  box-shadow:0 16px 38px rgba(0,0,0,.12);
}
.coach-profile{
  border-radius:8px;
  background:#1b1f21;
}
.coach-profile[open]{background:#222527;border-color:#e05a60}
.coach-profile summary img{border-radius:5px}
.coach-expand{display:grid;place-items:center}
.partner-grid .partner-card{border-radius:9px}
.callback-panel{border-radius:9px}
.callback-fields input:not([type=checkbox]),.callback-fields select{
  border-radius:6px;
  border-color:#697073;
  background:#101416;
}
.callback-fields input:not([type=checkbox]):focus,.callback-fields select:focus{
  outline:2px solid #ff858a;
  outline-offset:2px;
}
.cookie-banner{
  border-radius:9px;
  border-color:#596063;
  background:#111517;
}
.cookie-copy p{color:#d2d5d6}
.cookie-necessary{background:#252a2d;color:#fff;border-color:#808689!important}
.cookie-settings{background:#111517;border-color:#7a8082}
@media (hover:hover) and (pointer:fine){
  .button-primary:hover{background:#ed3038;box-shadow:0 10px 24px rgba(0,0,0,.25)}
  .button-outline:hover{background:#411b1e;border-color:#ff777d}
  .button-light:hover{background:#f0f1f1}
  .text-link:hover{color:#fff;border-color:#ff858a}
  .coach-profile:hover{border-color:#b45055}
}
@media (max-width:700px){
  .site-header{background:rgba(6,8,9,.97)}
  .mobile-menu nav{background:#141819;border-bottom-color:#b34046}
  .mobile-menu nav a{border-radius:4px}
  .mobile-section-links a{border-radius:6px;background:#202527;border-color:#687073}
  .mobile-dock{
    background:rgba(13,17,19,.96);
    border-color:#5d6467;
    border-radius:12px;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  .mobile-dock a{border-radius:7px}
}
@media (prefers-reduced-motion:reduce){
  .button,.text-link{transition:none}
}

/* v6: readable hero at narrow widths; balanced, authentic partner marks. */
@media (min-width:701px) and (max-width:1100px){
  .hero h1{font-size:clamp(56px,7vw,80px);line-height:.98}
  .hero-content{max-width:100%}
  .hero-actions{gap:22px}
}
.partner-grid .partner-card{
  grid-template-rows:148px 1fr auto;
  gap:23px;
}
.partner-card .partner-logo{
  height:148px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(var(--partner-rgb),.28);
  align-items:center;
}
.partner-card .partner-logo-laser img{
  width:121px;
  height:132px;
  clip-path:ellipse(48% 47% at 50% 50%);
  object-fit:contain;
}
.partner-card .partner-logo-pellati img{
  width:240px;
  height:auto;
}
.partner-card .partner-type{margin-bottom:9px}
.partner-grid .partner-card>div:nth-child(2)>p:last-child{
  margin-top:16px;
  line-height:1.65;
}
@media (max-width:700px){
  .hero-content{padding-inline:22px}
  .hero h1{
    font-size:clamp(40px,11.7vw,50px);
    line-height:1.01;
    letter-spacing:-.018em;
  }
  .hero-copy{margin-top:23px}
  .hero-actions{margin-top:26px;gap:11px;max-width:350px}
  .hero-actions .text-link{
    align-self:center;
    justify-content:center;
    min-height:46px;
  }
  .collaborations .partner-grid .partner-card{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:104px auto auto;
    gap:14px;
    padding:20px 18px;
  }
  .partner-card .partner-logo{
    grid-column:1;
    grid-row:1;
    width:100%;
    height:104px;
    justify-content:flex-start;
    padding:0;
  }
  .partner-card .partner-logo-laser img{width:90px;height:98px}
  .partner-card .partner-logo-pellati img{width:min(220px,100%);height:auto}
  .partner-card>div:nth-child(2){grid-column:1;grid-row:2}
  .partner-card .partner-links{grid-column:1;grid-row:3;padding-top:14px}
  .partner-card .partner-type{margin-bottom:5px}
  .partner-card h3{font-size:clamp(25px,7.2vw,32px)}
  .partner-grid .partner-card>div:nth-child(2)>p:last-child{margin-top:9px}
}
@media (max-width:370px){
  .hero-content{padding-inline:20px}
  .hero h1{font-size:40px}
  .hero-copy{font-size:14px}
}
