:root{--red:#ed1c24;--black:#0a0a0a;--white:#fff;--soft:#f8f4f1;--muted:#a9a9a9;--line:#2a2a2a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.site-header{height:82px;display:flex;align-items:center;gap:32px;padding:0 max(4vw,24px);position:sticky;top:0;z-index:20;background:rgba(10,10,10,.94);border-bottom:1px solid #222}.brand img{width:105px;display:block}.main-nav{display:flex;gap:26px;margin-left:auto}.main-nav a{font:20px 'Bebas Neue';letter-spacing:.5px}.main-nav a:hover{color:var(--red)}.header-cta{margin-left:10px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}.btn{display:inline-block;padding:14px 22px;text-transform:uppercase;font:18px 'Bebas Neue';letter-spacing:.7px;border:1px solid #666}.btn-primary{background:var(--red);border-color:var(--red);color:#fff}.btn-outline:hover{border-color:var(--red);color:var(--red)}.hero{min-height:650px;position:relative;background-image:url('/assets/img/hero-fto.png');background-position:center center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.82) 28%,rgba(0,0,0,.42) 53%,rgba(0,0,0,.08) 76%,rgba(0,0,0,.18) 100%)}.hero-content{position:relative;z-index:2;padding:76px 0;text-align:left}.hero-content>*{max-width:590px}.eyebrow{color:var(--red);font:24px 'Bebas Neue';letter-spacing:1px;margin:0 0 8px}.hero h1,.section h2,.trial h2{font:clamp(52px,6vw,92px)/.9 'Bebas Neue';text-transform:uppercase;margin:0 0 22px;letter-spacing:.5px}.hero p:not(.eyebrow){max-width:500px;line-height:1.7}.actions{display:flex;gap:14px;margin-top:28px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:-42px;position:relative;background:#0d0d0d}.pillars article{padding:28px;text-align:center;border-right:1px solid var(--line)}.pillars article:last-child{border:0}.pillars span{font-size:34px;color:var(--red)}.pillars h3,.training-grid h3,.schedule-grid h3,.plan-card h3,.contact-card h3{font:28px 'Bebas Neue';text-transform:uppercase;margin:12px 0 6px}.pillars p{font-size:12px;color:#c6c6c6}.section{padding:95px 0}.section-dark{background:#0d0d0d}.section-soft{background:#111;color:#fff}.split{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.split p,.lead,.trial p{line-height:1.8;color:#d0d0d0}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.mission-grid article{border-left:2px solid var(--red);padding-left:24px}.mission-grid h3{font:32px 'Bebas Neue';margin-top:0}.values{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:55px}.values span,.facilities span{border:1px solid var(--line);padding:20px;text-align:center;font:20px 'Bebas Neue'}.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.training-grid article{min-height:260px;border:1px solid #444;padding:35px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,#191919,#090909)}.training-grid h3{font-size:42px}.schedule-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #444;margin-top:35px}.schedule-grid article{padding:18px;border-right:1px solid #333}.schedule-grid article:last-child{border:0}.schedule-grid p{font-size:13px;border-top:1px solid #292929;padding-top:9px}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.plan-card{border:1px solid #444;padding:30px;min-height:300px}.plan-card.featured{border-color:var(--red)}.price{font:42px 'Bebas Neue';margin:16px 0}.plan-card p{color:#c8c8c8;line-height:1.7;min-height:80px}.facilities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.trial{padding:65px 0;background:linear-gradient(90deg,#050505,#181818)}.trial .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.trial h2{font-size:60px}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.contact-card{border:1px solid #444;padding:30px}footer{border-top:1px solid #292929;padding:35px 0}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;color:#aaa;font-size:12px}.footer img{width:100px}@media(max-width:900px){.hero{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.82) 52%,rgba(0,0,0,.34) 100%)}.hero-content{padding:64px 0}.main-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.main-nav.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#0a0a0a;padding:25px;flex-direction:column}.hero{min-height:560px}.pillars,.values,.schedule-grid{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr}.plans-grid,.facilities{grid-template-columns:1fr}.training-grid{grid-template-columns:1fr}.trial .container,.footer{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.hero{min-height:620px;background-position:68% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.86) 64%,rgba(0,0,0,.5) 100%)}.hero-content{padding:56px 0}.pillars,.values,.schedule-grid{grid-template-columns:1fr}.hero h1{font-size:58px}.actions{flex-direction:column;align-items:flex-start}.section{padding:70px 0}}


/* =========================================================
   CONTACTO FTO
   ========================================================= */
.contact-grid{grid-template-columns:1.45fr .75fr;gap:90px;align-items:center}
.contact-location h2{max-width:720px}
.contact-address{margin-top:30px;font-size:16px;line-height:1.35}
.contact-card{border:1px solid #444;padding:34px 30px 30px;background:#101010}
.contact-card .contact-eyebrow{margin-bottom:2px}
.contact-card .contact-title{font:48px/.95 'Bebas Neue';text-transform:uppercase;margin:0 0 22px}
.contact-intro{color:#f0f0f0;line-height:1.35;margin:0 0 26px;max-width:360px}
.contact-list{display:flex;flex-direction:column;gap:17px;margin:0 0 28px}
.contact-item{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;padding:4px 0;transition:transform .2s ease,opacity .2s ease}
.contact-item:hover{transform:translateX(4px);opacity:.9}
.contact-item small{display:block;color:#a9a9a9;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}
.contact-item strong{display:block;color:#fff;font-size:15px;line-height:1.25;word-break:break-word}
.contact-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px}
.contact-icon svg{width:38px;height:38px;display:block}
.contact-icon-mail svg{fill:var(--red)}
.contact-icon-whatsapp{background:#25D366;border-radius:50%;border:2px solid #fff}
.contact-icon-whatsapp svg{width:35px;height:35px;fill:#fff}
.contact-icon-instagram{border-radius:12px;background:radial-gradient(circle at 32% 100%,#ffd600 0 14%,#ff7a00 27%,#ff0169 49%,#d300c5 68%,#7638fa 86%,#4f5bd5 100%)}
.contact-icon-instagram svg{width:34px;height:34px;fill:#fff}
.contact-cta{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;padding:16px 22px}
.contact-cta span{font-family:Montserrat,Arial,sans-serif;font-size:28px;font-weight:300;line-height:.7}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:45px}.contact-card{max-width:560px}.contact-location h2{max-width:760px}}
@media(max-width:520px){.contact-card{padding:26px 20px}.contact-card .contact-title{font-size:42px}.contact-item{grid-template-columns:46px 1fr;gap:12px}.contact-icon{width:42px;height:42px}.contact-icon svg{width:32px;height:32px}.contact-item strong{font-size:13px}}


/* Ajuste visual aprobado: iconografía de contacto en rojo FTO */
.contact-icon-whatsapp{
    background:transparent;
    border:0;
    border-radius:0;
}
.contact-icon-whatsapp svg{
    width:40px;
    height:40px;
    fill:var(--red);
}
.contact-icon-instagram{
    background:transparent;
    border-radius:0;
}
.contact-icon-instagram svg{
    width:40px;
    height:40px;
    fill:var(--red);
}


/* =========================================================
   PILARES FTO - iconos SVG consistentes en PC y móvil
   Evita que Unicode sea convertido en emoji por iOS/Android.
   ========================================================= */
.pillar-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    color:var(--red);
    font-family:inherit;
}
.pillar-icon svg{
    width:32px;
    height:32px;
    display:block;
    fill:none;
    stroke:var(--red);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
@media(max-width:900px){
    .pillar-icon svg{
        width:34px;
        height:34px;
    }
}


/* Corrección definitiva de los 4 iconos de pilares */
.pillars .pillar-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    margin:0 auto 10px;
    font-size:0 !important;
    line-height:0;
    color:var(--red);
}
.pillars .pillar-icon svg{
    display:block;
    width:34px;
    height:34px;
    fill:none;
    stroke:var(--red);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
