:root{
  --black:#000; --bg:#0a0a0a; --panel:#0e0e0e; --border:#151515; --text:#e9e9e9;
  --red:#D62828; --white:#fff; --muted:#bdbdbd;
  --electrofit:#0A1E3F; --pilates:#E5D3B3;
  --space-1:10px; --space-2:16px; --space-3:24px; --space-4:36px; --space-5:56px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:Poppins,system-ui,Arial,sans-serif; background:var(--bg); color:var(--text); line-height:1.75}
a{color:inherit; text-decoration:none}
.container{width:min(1200px,92%); margin:0 auto}
img{max-width:100%; display:block}

header{position:sticky; top:0; z-index:50; background:rgba(0,0,0,.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--border)}
.navbar{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:42px}
.nav-links{display:flex; align-items:center; gap:18px}
.nav-links a{padding:10px 14px; border-radius:999px; transition:.2s}
.nav-links a:hover{background:#141414}
.btn-pilates{background:var(--pilates); color:#111; font-weight:800; padding:10px 14px; border-radius:999px}
.btn-electrofit{background:var(--electrofit); color:#fff; font-weight:800; padding:10px 14px; border-radius:999px}
.burger{display:none; cursor:pointer}
.burger span{display:block; width:24px; height:2px; background:#eee; margin:5px 0}

.hero{min-height:76vh; display:grid; place-items:center; text-align:center; background:#000 url('images/hero.png') center/cover no-repeat; position:relative}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.88))}
.hero .content{position:relative; z-index:1; padding:var(--space-5) 0}
.hero h1{margin:0 0 var(--space-2); font-size:clamp(30px,6vw,60px)}
.hero p{margin:0 0 var(--space-3); color:#dcdcdc; font-size:clamp(16px,2.2vw,20px)}
.hero .cta-big{display:inline-block; padding:18px 34px; border-radius:18px; background:var(--red); color:#fff; font-weight:900; font-size:clamp(16px,2.2vw,22px); box-shadow:0 12px 30px rgba(214,40,40,.35); transform:translateZ(0); transition:transform .15s, box-shadow .2s}
.hero .cta-big:hover{transform:translateY(-2px); box-shadow:0 18px 40px rgba(214,40,40,.45)}

.section{padding:var(--space-5) 0; border-top:1px solid #121212; border-bottom:1px solid #0f0f0f}
.section h2{margin:0 0 var(--space-2); font-size:clamp(22px,3.8vw,34px)}
.lead{color:#d0d0d0; max-width:860px}
.spacer{height:var(--space-3)}

.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:var(--space-3)}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:var(--space-3)}
.card{background:var(--panel); border:1px solid var(--border); border-radius:18px; padding:22px; box-shadow:0 8px 26px rgba(0,0,0,.25)}
.card h3{margin:0 0 8px}
.card p{margin:0}

.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:var(--space-2)}
.gallery img{border-radius:14px; border:1px solid #161616}

blockquote{margin:0; padding:18px 20px; border-left:4px solid var(--red); background:#0d0d0d; border-radius:10px; color:#d8d8d8}

footer{background:#000; border-top:1px solid #171717; padding:28px 0; margin-top:var(--space-5)}
.footer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.footer-small{display:flex; align-items:center; justify-content:space-between; margin-top:18px; color:#b9b9b9; font-size:14px}

input,textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid #1b1b1b; background:#0b0b0b; color:#eee}
label{display:block; margin:12px 0 6px}
.button{display:inline-block; padding:12px 18px; border-radius:12px; background:var(--red); color:#fff; font-weight:800}
.planning-wrap{background:#0b0b0b; border:1px solid #141414; border-radius:16px; padding:16px}

@media(max-width:900px){
  .grid-3{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr}
}
@media(max-width:640px){
  .nav-links{display:none}
  .burger{display:block}
  .grid-3{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}