:root{
  --black:#050A14;
  --bg:#07111F;
  --panel:#0D1B2A;
  --panel-light:#12263A;
  --border:#1C334B;
  --text:#F5F7FA;
  --red:#E10600;
  --beige:#F5F1E9;
  --red-dark:#B80500;
  --white:#FFFFFF;
  --muted:#B9C4D0;
  --electrofit:#0A1E3F;
  --navy:#071A33;
  --navy-light:#12365A;
  --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(5,10,20,.94); 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(--beige); color:#333333; font-weight:800; padding:10px 14px; border-radius:999px}
.btn-electrofit{background:var(--red); 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:#07111F 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 #14283D; border-bottom:1px solid #102235}
.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:linear-gradient(145deg,var(--panel),#0A1727); 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 #1C334B}

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

footer{background:#050A14; border-top:1px solid #1A3047; 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 #1C334B; background:#0A1727; 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:#0A1727; 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}
}