*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#e8e8e8;font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:82px;position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(5,5,5,.94);border-bottom:1px solid #222;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;align-items:center;gap:10px}.brand img{width:44px;height:44px;object-fit:contain}.brand span,.footer-brand div{display:flex;flex-direction:column;line-height:1}.brand strong,.footer-brand strong{font-size:18px;letter-spacing:.18em}.brand small,.footer-brand small{font-size:8px;letter-spacing:.5em;margin-top:6px;color:#aaa}.site-header nav{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.site-header nav a:hover{color:#aaa}.nav-cta,.button{border:1px solid #888;padding:12px 20px;transition:.25s}.nav-cta:hover,.button:hover{background:#bdbdbd;color:#080808}.menu{display:none;background:none;border:0;color:#ddd;font-size:28px}.hero{min-height:760px;display:flex;align-items:center;position:relative;overflow:hidden;background:#090909 url("assets/gym-01.jpg") center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.3),rgba(0,0,0,.9)),linear-gradient(0deg,#050505 0%,transparent 40%)}.hero:after{content:"";position:absolute;width:55vw;height:55vw;border:1px solid #333;border-radius:50%;right:-15vw;top:10vw;box-shadow:0 0 100px #222}.hero-content{position:relative;z-index:2;width:min(1100px,90%);margin:auto;padding-top:80px}.eyebrow,.section-label{font-size:11px;letter-spacing:.35em;color:#aaa;text-transform:uppercase}.hero h1{font-size:clamp(58px,9vw,140px);line-height:.9;margin:22px 0;font-weight:900;letter-spacing:-.06em}.hero h1 span,h2 span{color:#8f8f8f}.hero p{max-width:560px;color:#c7c7c7;font-size:18px}.hero .button{display:inline-block;margin-top:25px}.section{width:min(1200px,90%);margin:auto;padding:120px 0}.intro-grid,.philosophy-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;margin-top:30px}.section h2{font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.04em;margin:10px 0}.copy{color:#bcbcbc;font-size:16px}.copy p{margin:0 0 22px}.services{border-top:1px solid #222}.service-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-top:50px}.service-card{background:#121212;border:1px solid #292929;padding:42px;min-height:390px}.service-card.featured{background:linear-gradient(135deg,#1b1b1b,#0e0e0e)}.number{font-size:13px;color:#999;letter-spacing:.2em}.service-card h3{font-size:36px;line-height:1;margin:28px 0 14px}.service-meta{font-size:11px;letter-spacing:.16em;color:#aaa}.service-card p:last-child{color:#aaa;max-width:560px}.philosophy{background:#101010;width:100%;padding-left:5%;padding-right:5%}.destiny-word{font-size:clamp(55px,10vw,150px);font-weight:900;letter-spacing:-.08em;color:#222;line-height:1}.translation{letter-spacing:.35em;color:#777}.plans{width:min(1400px,92%)}.plan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:50px}.plan{position:relative;background:#111;border:1px solid #2c2c2c;padding:30px 22px;min-height:260px;display:flex;flex-direction:column}.plan.popular{border-color:#888}.plan span{font-size:12px;letter-spacing:.16em;color:#aaa}.plan h3{font-size:48px;margin:25px 0 0;line-height:1}.plan p{color:#aaa;font-size:14px}.plan a{margin-top:auto;border-top:1px solid #333;padding-top:14px;font-size:11px;letter-spacing:.15em}.badge{position:absolute;right:12px;top:12px;background:#bdbdbd;color:#080808;font-size:8px;padding:5px 7px;letter-spacing:.1em}.book{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center;background:#151515;max-width:none;width:100%;padding-left:7%;padding-right:7%}.closing{margin-top:40px;color:#aaa}.closing strong{color:#ddd}.store-buttons{display:flex;flex-direction:column;gap:14px}.store{border:1px solid #555;padding:18px 22px;background:#0b0b0b;transition:.2s}.store:hover{border-color:#bbb;background:#1a1a1a}.store small{display:block;color:#888;font-size:9px;letter-spacing:.12em}.store strong{font-size:22px}.contact-strip{display:flex;justify-content:space-between;align-items:center;padding:50px 7%;border-top:1px solid #292929;border-bottom:1px solid #292929}.contact-strip span{display:block;color:#999;font-size:11px;letter-spacing:.2em}.contact-strip strong{font-size:22px}footer{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:40px;padding:65px 7% 25px;color:#999;position:relative}.footer-brand{display:flex;align-items:center;gap:12px;color:#ddd}.footer-brand img{width:50px;height:50px;object-fit:contain}footer h4{font-size:10px;letter-spacing:.2em;color:#ddd;margin:0 0 18px}footer a,footer p{display:block;font-size:13px;margin:6px 0}.copyright{grid-column:1/-1;border-top:1px solid #222;margin-top:25px;padding-top:20px;text-align:center;font-size:9px;letter-spacing:.2em;color:#666}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#090909;flex-direction:column;padding:25px}.site-header nav.open{display:flex}.menu{display:block}.hero{min-height:680px}.intro-grid,.philosophy-grid,.service-grid,.book{grid-template-columns:1fr;gap:35px}.plan-grid{grid-template-columns:1fr 1fr}.section{padding:80px 0}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){.plan-grid{grid-template-columns:1fr}.hero h1{font-size:58px}.service-card{padding:28px}.contact-strip{flex-direction:column;align-items:flex-start;gap:25px}footer{grid-template-columns:1fr}.site-header{padding:0 5%}}
.gallery{border-top:1px solid #222}
.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-top:25px}
.gallery-heading p{color:#aaa;max-width:520px;margin:0 0 8px}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:50px}
.gallery-item{margin:0;background:#111;border:1px solid #2b2b2b;overflow:hidden;min-height:520px}
.gallery-item.large{min-height:620px}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(15%);transition:transform .6s ease,filter .4s ease}
.gallery-item:hover img{transform:scale(1.025);filter:grayscale(0%)}
@media(max-width:900px){.gallery-heading,.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.large{min-height:420px}}
/* Package accent — intentionally limited to membership cards/buttons. */
.plan{border-color:rgba(183,255,0,.32)}
.plan:hover,.plan.popular{border-color:#b7ff00;box-shadow:0 0 24px rgba(183,255,0,.18)}
.plan h3{color:#b7ff00}
.plan a{color:#b7ff00;border-color:rgba(183,255,0,.45)}
.badge{background:#b7ff00}
.brand img{width:52px;height:52px;object-fit:contain}
@media(max-width:900px){.brand img{width:46px;height:46px}}


.location-section{width:100%;background:#0d0d0d;border-top:1px solid #222;padding:110px 5vw}
.location-inner{width:min(1200px,100%);margin:auto}
.location-section h2{font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 30px}
.location-section h2 span{color:#8f8f8f}
.location-details{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:35px;color:#c7c7c7}
.location-details strong{font-size:18px;letter-spacing:.08em;color:#eee}
.location-details p{margin:0}
.location-details .button{display:inline-block}
.map-wrap{width:100%;height:430px;border:1px solid #2a2a2a;background:#111;overflow:hidden}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(100%) contrast(1.05)}
@media(max-width:700px){
  .location-section{padding:80px 5vw}
  .map-wrap{height:330px}
  .location-details{align-items:flex-start;flex-direction:column}
}

.single-session{margin-top:28px;padding:22px 26px;border:1px solid #2c2c2c;background:#111;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;text-align:center}.single-session strong{font-size:11px;letter-spacing:.16em;color:#ddd}.single-session span{font-size:14px;color:#aaa}.single-session b{color:#b7ff00}.cross-plan{border-color:rgba(183,255,0,.32)}
@media(max-width:1100px){.plan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.plan-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.plan-grid{grid-template-columns:1fr}.single-session{flex-direction:column;gap:8px}}

/* Combo package + new member registration */
.combo-plan{border-color:rgba(183,255,0,.65);background:linear-gradient(145deg,#151515,#0d0d0d)}
.combo-plan:hover{border-color:#b7ff00;box-shadow:0 0 30px rgba(183,255,0,.22)}
.new-member-link{display:block;margin-top:18px;border:1px solid #555;padding:16px 22px;background:#0b0b0b;text-align:center;font-size:11px;letter-spacing:.15em;color:#b7ff00;transition:.2s}
.new-member-link:hover{border-color:#b7ff00;background:#151515}

/* Expanded gym photo gallery */
.gallery-grid-expanded{
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:260px;
  align-items:stretch;
}
.gallery-grid-expanded .gallery-item,
.gallery-grid-expanded .gallery-item.gallery-featured{
  min-height:0;
  height:100%;
}
.gallery-grid-expanded .gallery-featured{
  grid-column:span 2;
  grid-row:span 2;
}
.gallery-grid-expanded .gallery-item img{
  object-position:center;
}
@media(max-width:900px){
  .gallery-grid-expanded{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:300px;
  }
  .gallery-grid-expanded .gallery-featured{
    grid-column:span 2;
    grid-row:span 1;
  }
}
@media(max-width:560px){
  .gallery-grid-expanded{
    grid-template-columns:1fr;
    grid-auto-rows:360px;
  }
  .gallery-grid-expanded .gallery-featured{
    grid-column:span 1;
    grid-row:span 1;
  }
}
