:root{
  --green-950:#012414;
  --green-900:#003b22;
  --green-800:#075232;
  --green-600:#238a31;
  --green-400:#85cc37;
  --mint:#eff8ee;
  --cream:#f7fbf4;
  --white:#fff;
  --ink:#062b1b;
  --muted:#5d7469;
  --line:rgba(9,68,40,.14);
  --shadow:0 24px 70px rgba(0,38,19,.16);
  --radius:26px;
  --container:min(1160px, calc(100% - 42px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
.page-top{position:absolute;top:0;left:0;width:1px;height:1px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;font-weight:300;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit}
p{line-height:1.7;color:var(--muted)}
button,input,select{font:inherit}
.container{width:var(--container);margin-inline:auto}
.panel{position:relative;padding:96px 0;border-bottom:1px solid var(--line);overflow:hidden}
.cursor-dot{position:fixed;z-index:9999;width:14px;height:14px;border-radius:50%;background:var(--green-400);pointer-events:none;mix-blend-mode:multiply;opacity:.75;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s}
.cursor-dot.grow{width:42px;height:42px;opacity:.28}
.site-header{position:sticky;top:0;z-index:100;background:rgba(1,36,20,.88);backdrop-filter:blur(18px);box-shadow:0 6px 30px rgba(0,0,0,.18)}
.navbar{width:var(--container);margin:auto;min-height:86px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;text-transform:uppercase;letter-spacing:.08em}
.brand-shield{width:52px;height:52px;border:2px solid #fff;border-radius:16px 16px 24px 24px;display:grid;place-items:center;font-size:24px;transition:transform .35s ease}
.brand:hover .brand-shield{transform:rotate(-8deg) scale(1.05)}
.brand-copy strong,.brand-copy small{display:block;font-family:'Oswald',sans-serif;font-weight:400;line-height:1}
.brand-copy strong{font-size:25px}.brand-copy small{font-size:15px;letter-spacing:.12em}
.nav-menu{margin-left:auto;display:flex;gap:23px;align-items:center}
.nav-menu a{position:relative;color:#fff;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:500;letter-spacing:.1em;opacity:.85;transition:color .25s,opacity .25s}
.nav-menu a::after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:2px;background:var(--green-400);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-menu a:hover,.nav-menu a.active{color:var(--green-400);opacity:1}
.nav-menu a:hover::after,.nav-menu a.active::after{transform:scaleX(1)}
.social{display:flex;align-items:center;gap:9px;color:var(--green-400);text-transform:uppercase;font-size:11px;letter-spacing:.12em}
.social a{width:34px;height:34px;border-radius:50%;background:rgba(133,204,55,.22);border:1px solid rgba(133,204,55,.38);color:white;display:grid;place-items:center;text-decoration:none;font-weight:600;transition:transform .25s,background .25s}
.social a:hover{transform:translateY(-3px);background:var(--green-600)}.social svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.social a[aria-label='Facebook'] svg{fill:currentColor;stroke:none;width:18px;height:18px}.social a[aria-label='WhatsApp'] svg path:first-child{fill:none;stroke:currentColor}.social a[aria-label='WhatsApp'] svg path:last-child{fill:currentColor;stroke:none}
.menu-toggle{display:none;margin-left:auto;background:transparent;border:0;width:42px;height:42px;padding:8px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:#fff;margin:7px 0;transition:transform .25s,opacity .25s}
.menu-toggle.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.hero{min-height:calc(100vh - 86px);display:flex;align-items:center;color:#fff;padding:0}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,18,.92),rgba(0,45,23,.58),rgba(0,0,0,.16)),url('assets/hero.jpg') center/cover no-repeat;transform:scale(1.04);animation:heroZoom 12s ease-in-out infinite alternate}
@keyframes heroZoom{to{transform:scale(1.11) translateX(-1.5%)}}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:42px;align-items:center;padding:88px 0}
.eyebrow{margin:0 0 13px;color:var(--green-400);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.18em}
h1,h2,h3{font-family:'Oswald',Impact,sans-serif;font-weight:700;letter-spacing:.025em;text-transform:uppercase;color:inherit}
.hero h1{font-size:clamp(48px,7vw,96px);line-height:.95;margin:0;max-width:760px;text-wrap:balance}
.hero h1 span{color:var(--green-400);font-weight:700}
.hero-text{font-size:clamp(17px,2vw,21px);max-width:560px;color:rgba(255,255,255,.82);margin:24px 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 24px;background:linear-gradient(90deg,var(--green-600),var(--green-400));color:white;font-weight:600;text-transform:uppercase;text-decoration:none;cursor:pointer;letter-spacing:.08em;font-size:13px;box-shadow:0 12px 28px rgba(0,0,0,.18);transition:transform .25s,box-shadow .25s,filter .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(0,0,0,.25);filter:saturate(1.1)}.btn-ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.36);box-shadow:none}.btn-dark{background:var(--green-950);margin-top:10px}.btn-small{padding:10px 20px;font-size:12px}.hero-card{justify-self:end;width:220px;padding:28px;border-radius:28px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(16px);box-shadow:0 30px 70px rgba(0,0,0,.26)}.hero-card .mini-label{display:block;color:var(--green-400);font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:600}.hero-card strong{font-family:'Oswald';font-size:96px;line-height:.9;font-weight:300;color:#fff}.hero-card p{margin:8px 0 0;color:#fff;font-weight:500;text-transform:uppercase}.hero-card small{color:rgba(255,255,255,.7)}.scroll-down{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer;animation:bounce 1.8s infinite}@keyframes bounce{50%{transform:translateX(-50%) translateY(8px)}}
.section-head{text-align:center;max-width:760px;margin:0 auto 42px}.section-head.left{text-align:left;margin:0}.section-head h2{font-size:clamp(38px,5vw,62px);line-height:1;margin:0 0 16px;color:var(--green-900);font-weight:700}.section-head p:not(.eyebrow){font-size:17px;margin:0}.intro{background:radial-gradient(circle at top right,rgba(133,204,55,.18),transparent 35%),var(--cream)}.program-tabs{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.tab-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.tab{border:1px solid var(--line);background:var(--mint);border-radius:18px;padding:16px;color:var(--green-900);text-transform:uppercase;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:.25s}.tab:hover,.tab.active{background:var(--green-900);color:#fff;transform:translateY(-2px)}.tab-panel{display:none;grid-template-columns:1.1fr .9fr;gap:22px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#f5fbf1,#fff)}.tab-panel.active{display:grid;animation:fadeUp .4s ease}.tab-panel h3{font-size:36px;margin:0 0 8px;color:var(--green-900);font-weight:700}.tab-panel p{margin:0}.tab-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.tab-panel li{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);color:var(--green-800);font-weight:500}.announcement{padding:70px 0;background:#fff}.announcement-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.announcement-card{min-height:260px;border-radius:var(--radius);padding:36px;background:linear-gradient(135deg,var(--green-950),var(--green-800));color:#fff;box-shadow:var(--shadow)}.announcement-card.green{background:linear-gradient(135deg,var(--green-400),#5cae25);color:var(--green-950)}.announcement-card .icon{width:70px;height:70px;border-radius:22px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:34px;margin-bottom:20px}.announcement-card h2{font-size:42px;line-height:1;margin:0 0 10px;font-weight:700}.announcement-card p:not(.eyebrow){color:rgba(255,255,255,.78);margin:0}.announcement-card.green p:not(.eyebrow){color:rgba(1,36,20,.7)}
.branches{background:linear-gradient(#f6fbf3,#eef8eb)}.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;perspective:1200px}.branch-card{background:var(--green-950);color:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);text-align:center;transition:transform .25s ease,box-shadow .25s ease;transform-style:preserve-3d}.branch-card:hover{box-shadow:0 34px 80px rgba(0,38,19,.26)}.branch-card img{width:100%;height:220px;object-fit:cover;display:block;filter:saturate(.95);transition:transform .5s ease}.branch-card:hover img{transform:scale(1.08)}.branch-body{position:relative;padding:0 28px 30px}.pin{width:74px;height:74px;border-radius:24px;background:linear-gradient(var(--green-400),var(--green-600));display:grid;place-items:center;margin:-37px auto 16px;font-size:34px;box-shadow:0 12px 28px rgba(0,0,0,.24)}.branch-card h3,.service-card h3{font-size:28px;line-height:1;margin:8px 0 10px;font-weight:700}.branch-card p{min-height:58px;color:rgba(255,255,255,.76);margin:0 0 18px}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:38px 24px 30px;text-align:center;box-shadow:0 12px 34px rgba(0,38,19,.07);transition:transform .25s,background .25s}.service-card:hover{transform:translateY(-10px);background:#fff}.service-icon{width:82px;height:82px;margin:0 auto 20px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(var(--green-600),var(--green-900));font-size:34px;color:#fff}.service-card h3{color:var(--green-900);font-size:26px}.service-card p{margin:0}.team{background:radial-gradient(circle at left,rgba(133,204,55,.18),transparent 35%),var(--mint)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.coach-list{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:grid;gap:12px}.coach{border:1px solid var(--line);background:var(--cream);padding:16px;border-radius:16px;text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--green-900);cursor:pointer;font-weight:600;transition:.25s}.coach.active,.coach:hover{background:var(--green-900);color:#fff;transform:translateX(6px)}.coach-text{min-height:110px;border-radius:18px;background:linear-gradient(135deg,var(--green-950),var(--green-800));color:#fff;padding:24px;line-height:1.7}.numbers{padding:62px 0;background:var(--green-950);color:#fff}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.number-grid div{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:24px;text-align:center;background:rgba(255,255,255,.05)}.number-grid strong{display:block;font-family:'Oswald';font-size:58px;font-weight:300;color:var(--green-400);line-height:1}.number-grid span{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:rgba(255,255,255,.72)}.signup{background:linear-gradient(135deg,var(--green-950),var(--green-800));color:#fff}.signup-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.signup h2,.contact h2{font-size:clamp(40px,5vw,62px);line-height:1;margin:0 0 16px;font-weight:700}.signup p{color:rgba(255,255,255,.76)}.progress{height:10px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden;margin-top:26px}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green-400),#fff);transition:width .3s}.form{background:#fff;color:var(--ink);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);display:grid;gap:15px}.form label{font-weight:500;color:var(--green-900)}.form input,.form select{width:100%;margin-top:7px;padding:15px;border:1px solid #d9e6dc;border-radius:14px;background:#fbfdf9;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.form input:focus,.form select:focus{border-color:var(--green-400);box-shadow:0 0 0 4px rgba(133,204,55,.18)}.form-message{margin:0;color:var(--green-600);font-weight:600}.faq{background:#fff}.accordion{max-width:820px}.accordion-item{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid var(--line);background:#fff;padding:22px 0;text-align:left;color:var(--green-900);font-family:'Oswald';font-size:28px;font-weight:700;text-transform:uppercase;cursor:pointer}.accordion-item span{transition:transform .25s}.accordion-item.active span{transform:rotate(45deg)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.accordion-content.open{grid-template-rows:1fr}.accordion-content p{overflow:hidden;margin:0 0 18px}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.contact-card{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);display:grid;gap:16px}.contact-card p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0}.contact-card strong{color:var(--green-900)}.contact-card span{text-align:right}.footer{background:#031f13;color:#fff;padding:25px 0}.footer-wrap{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer p{color:rgba(255,255,255,.72);margin:0}.footer a{color:var(--green-400);font-weight:600;text-decoration:none}.modal{border:0;border-radius:24px;padding:36px;max-width:470px;box-shadow:var(--shadow);animation:fadeUp .25s ease}.modal::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(4px)}.modal h3{font-size:38px;margin:0 0 10px;color:var(--green-900);font-weight:700}.modal p{margin:0 0 12px}.modal ul{margin:0 0 20px;padding-left:18px;color:var(--green-800)}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:34px;cursor:pointer;color:var(--green-900)}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}


/* Scroll animado con deslizamiento */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:10000;background:rgba(255,255,255,.08);pointer-events:none}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green-400),#fff);box-shadow:0 0 16px rgba(133,204,55,.75);transition:width .08s linear}
main{scroll-snap-type:y proximity}
.panel{scroll-snap-align:start;scroll-margin-top:86px;will-change:transform,opacity}
.panel::before{content:"";position:absolute;inset:auto -8% -80px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(133,204,55,.16),transparent 68%);transform:translate3d(0,var(--parallax-y,0),0);pointer-events:none;transition:transform .18s linear}
.reveal{opacity:0;transform:translate3d(0,52px,0);filter:blur(8px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0ms)}
.reveal.slide-left{transform:translate3d(-72px,18px,0);}
.reveal.slide-right{transform:translate3d(72px,18px,0);}
.reveal.slide-up{transform:translate3d(0,64px,0);}
.reveal.zoom-in{transform:scale(.92) translate3d(0,24px,0);}
.reveal.visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.hero-bg{transform:translate3d(0,var(--hero-parallax,0),0) scale(1.04);will-change:transform}
.branch-card.reveal.visible,.service-card.reveal.visible,.announcement-card.reveal.visible{animation:softSlideIn .85s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay,0ms)}
@keyframes softSlideIn{0%{opacity:0;transform:translate3d(var(--slide-x,0),54px,0) scale(.96);filter:blur(8px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
.nav-menu a{scroll-behavior:smooth}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}.scroll-progress{display:none}.cursor-dot{display:none}}
@media (max-width:980px){.navbar{min-height:74px}.menu-toggle{display:block}.social{display:none}.nav-menu{position:fixed;inset:74px 0 auto 0;display:grid;gap:0;background:rgba(1,36,20,.98);padding:18px 24px;transform:translateY(-120%);transition:transform .28s ease;box-shadow:0 22px 44px rgba(0,0,0,.26)}.nav-menu.open{transform:translateY(0)}.nav-menu a{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}.nav-menu a::after{display:none}.hero-grid,.tab-panel,.announcement-grid,.branch-grid,.service-grid,.team-grid,.number-grid,.signup-wrap,.contact-grid{grid-template-columns:1fr}.hero-card{justify-self:start}.service-grid{gap:18px}.contact-card p{display:grid}.contact-card span{text-align:left}}
@media (max-width:620px){:root{--container:min(100% - 26px,1160px)}.panel{padding:74px 0}.brand-copy strong{font-size:21px}.brand-shield{width:46px;height:46px}.hero h1{font-size:44px}.hero-grid{padding:66px 0}.hero-card{width:100%}.tab-buttons{grid-template-columns:1fr}.announcement-card{padding:28px}.branch-card img{height:210px}.number-grid{grid-template-columns:1fr 1fr}.footer-wrap{flex-direction:column;text-align:center}.cursor-dot{display:none}}

/* Fix: hacer visible el texto "Inscripciones abiertas" sobre la tarjeta verde */
.announcement-card.green .eyebrow{
  color:#fff;
}
