﻿*{margin:0;padding:0;box-sizing:border-box;}
:root{--negro:#0a0a0a;--gris-oscuro:#1c1c1c;--gris-medio:#3a3a3a;--gris-claro:#8a8a8a;--gris-fondo:#f2f2f0;--blanco:#ffffff;--amarillo:#f5c800;--amarillo-oscuro:#c9a200;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{font-family:'Barlow',sans-serif;background:var(--blanco);color:var(--negro);overflow-x:hidden;}
body.nav-open{overflow:hidden;}
a{touch-action:manipulation;}
button,input,select,textarea{font:inherit;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--amarillo);outline-offset:3px;}
section[id]{scroll-margin-top:90px;}

/* NAV */
.site-nav{position:fixed;top:0;left:0;width:100%;z-index:100;background:rgba(10,10,10,0.97);backdrop-filter:blur(8px);border-bottom:2px solid var(--amarillo);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px;position:relative;}
.nav-backdrop{display:none;}
.logo-img{height:52px;width:auto;object-fit:contain;
  mix-blend-mode:screen;
  filter:brightness(1.1) contrast(1.05);
}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid rgba(245,200,0,0.3);background:transparent;cursor:pointer;padding:0 11px;}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--amarillo);transition:transform 0.2s,opacity 0.2s;}
.nav-links{display:flex;gap:1.8rem;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:0.5px;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--amarillo);}
.nav-mobile-cta{display:none;}
.nav-mobile-cta a{background:var(--amarillo);color:var(--negro)!important;font-weight:700;text-align:center;}
.nav-cta{background:var(--amarillo);color:var(--negro);padding:9px 22px;font-weight:700;font-size:13px;text-transform:uppercase;text-decoration:none;transition:background 0.2s;}
.nav-cta:hover{background:var(--amarillo-oscuro);}

/* HERO */
.hero{min-height:100vh;background:var(--negro);display:flex;align-items:center;position:relative;overflow:hidden;padding-top:70px;}
.hero-grid-bg{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(245,200,0,0.03) 0,rgba(245,200,0,0.03) 1px,transparent 1px,transparent 80px),repeating-linear-gradient(0deg,rgba(245,200,0,0.03) 0,rgba(245,200,0,0.03) 1px,transparent 1px,transparent 80px);}
/* HERO IMAGE RIGHT SIDE */
.hero-img-panel{position:absolute;right:0;top:0;bottom:0;width:48%;overflow:hidden;}
.hero-img-panel img{width:100%;height:100%;object-fit:cover;object-position:center 18%;opacity:0.45;filter:grayscale(30%);}
.hero-img-panel::before{content:'';position:absolute;left:0;top:0;bottom:0;width:200px;background:linear-gradient(to right,var(--negro),transparent);z-index:1;}
.hero-img-panel::after{content:'';position:absolute;inset:0;background:rgba(10,10,10,0.35);z-index:0;}
.hero-content{max-width:1200px;margin:0 auto;padding:4rem 2rem;position:relative;z-index:2;width:100%;}
.hero-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--amarillo);font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;gap:12px;}
.hero-eyebrow::before{content:'';width:40px;height:2px;background:var(--amarillo);}
.hero-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,7vw,88px);font-weight:800;line-height:0.92;color:var(--blanco);text-transform:uppercase;margin-bottom:1.5rem;}
.hero-title em{color:var(--amarillo);font-style:normal;display:block;}
.hero-subtitle{font-size:17px;color:rgba(255,255,255,0.55);max-width:520px;line-height:1.7;margin-bottom:2.5rem;font-weight:300;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-primary{background:var(--amarillo);color:var(--negro);padding:14px 32px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:all 0.2s;display:inline-block;border:none;cursor:pointer;}
.btn-primary:hover{background:var(--amarillo-oscuro);}
.btn-outline{border:1px solid rgba(255,255,255,0.3);color:var(--blanco);padding:14px 32px;font-weight:500;font-size:13px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:all 0.2s;display:inline-block;}
.btn-outline:hover{border-color:var(--amarillo);color:var(--amarillo);}
.hero-stats{display:flex;gap:3rem;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1);flex-wrap:wrap;}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;color:var(--amarillo);}
.stat-label{font-size:12px;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:1px;margin-top:2px;}

/* SECTIONS */
section{padding:100px 0;}
.container{max-width:1200px;margin:0 auto;padding:0 2rem;}
.section-label{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--amarillo);font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:12px;}
.section-label::before{content:'';width:24px;height:2px;background:var(--amarillo);}
.section-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(34px,5vw,54px);font-weight:800;text-transform:uppercase;line-height:1;margin-bottom:1.5rem;}
.section-title.light{color:var(--blanco);}

/* NOSOTROS */
.nosotros{background:var(--gris-fondo);}
.nosotros-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
/* NOSOTROS LEFT: foto de fondo con logo encima */
.nosotros-visual{position:relative;min-height:460px;overflow:hidden;}
.nosotros-visual-bg{position:absolute;inset:0;background:var(--negro);}
.nosotros-visual-bg img{width:100%;height:100%;object-fit:cover;opacity:0.35;filter:grayscale(20%);}
.nosotros-visual-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,0.85) 0%,rgba(10,10,10,0.4) 100%);}
.nosotros-visual-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2.5rem;}
.nosotros-logo-wrap{background:transparent;padding:1.5rem 2rem;border:1px solid rgba(245,200,0,0.2);backdrop-filter:blur(4px);}
.nosotros-logo-wrap img{mix-blend-mode:screen;filter:brightness(1.15) contrast(1.05);}
.nosotros-logo-wrap img{width:200px;height:auto;}
.nosotros-badge{background:var(--amarillo);color:var(--negro);padding:8px 20px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.nosotros-text p{font-size:16px;color:var(--gris-medio);line-height:1.8;margin-bottom:1rem;font-weight:300;}
.nosotros-text strong{color:var(--negro);font-weight:600;}

/* VALORES con tooltip */
.valores-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;}
.valor-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--blanco);border-left:3px solid var(--amarillo);position:relative;cursor:default;transition:box-shadow 0.2s;}
.valor-item:hover{box-shadow:0 4px 20px rgba(0,0,0,0.12);}
.valor-ico{width:30px;height:30px;background:var(--amarillo);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
.valor-name{font-size:12px;font-weight:700;color:var(--negro);text-transform:uppercase;letter-spacing:0.5px;}
.valor-sub{font-size:11px;color:var(--gris-claro);margin-top:2px;}
/* Tooltip */
.valor-tooltip{position:absolute;bottom:calc(100% + 10px);left:0;right:0;background:var(--negro);color:var(--blanco);font-size:12px;line-height:1.5;padding:12px 14px;opacity:0;pointer-events:none;transition:opacity 0.25s;z-index:10;border-top:2px solid var(--amarillo);min-width:220px;}
.valor-tooltip::after{content:'';position:absolute;top:100%;left:20px;border:6px solid transparent;border-top-color:var(--negro);}
.valor-item:hover .valor-tooltip{opacity:1;}

/* SERVICIOS */
.servicios{background:var(--negro);}
.servicios-header{text-align:center;margin-bottom:4rem;}
.servicios-header .section-label{justify-content:center;}
.servicios-header .section-label::before{display:none;}
.servicios-intro{color:rgba(255,255,255,0.4);font-size:15px;font-weight:300;max-width:560px;margin:0 auto;}
.lineas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.linea-card{background:var(--gris-oscuro);padding:0;position:relative;overflow:hidden;transition:transform 0.3s;}
.linea-card:hover{transform:translateY(-4px);}
.linea-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--amarillo);z-index:2;}
.linea-img{width:100%;height:200px;object-fit:cover;opacity:0.6;display:block;transition:opacity 0.3s;}
.linea-card:hover .linea-img{opacity:0.8;}
.linea-body{padding:1.5rem 1.5rem 2rem;}
.linea-num{font-family:'Barlow Condensed',sans-serif;font-size:60px;font-weight:800;color:rgba(245,200,0,0.07);position:absolute;top:195px;right:12px;line-height:1;}
.linea-title{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;color:var(--blanco);text-transform:uppercase;margin-bottom:.75rem;line-height:1.1;}
.linea-desc{font-size:13px;color:rgba(255,255,255,0.5);line-height:1.6;font-weight:300;margin-bottom:1rem;}
/* Tags clicables */
.linea-tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag-btn{font-size:11px;padding:5px 11px;border:1px solid rgba(245,200,0,0.35);color:rgba(245,200,0,0.75);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;background:transparent;cursor:pointer;transition:all 0.2s;font-family:'Barlow',sans-serif;}
.tag-btn:hover,.tag-btn.active{background:var(--amarillo);color:var(--negro);border-color:var(--amarillo);}

/* Modal actividad */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box{background:var(--negro);border:1px solid rgba(245,200,0,0.2);max-width:760px;width:100%;max-height:90vh;overflow-y:auto;position:relative;}
.modal-header{background:var(--amarillo);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.modal-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--negro);text-transform:uppercase;}
.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--negro);font-weight:700;line-height:1;}
.modal-body{padding:1.5rem;}
.modal-img-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1.5rem;}
.modal-img-grid img{width:100%;height:160px;object-fit:cover;}
.modal-desc{font-size:15px;color:rgba(255,255,255,0.7);line-height:1.8;font-weight:300;}
.modal-desc h4{color:var(--amarillo);font-family:'Barlow Condensed',sans-serif;font-size:18px;margin-bottom:.5rem;text-transform:uppercase;}
.modal-desc ul{list-style:none;margin-top:.5rem;}
.modal-desc ul li{padding:5px 0;padding-left:16px;position:relative;font-size:14px;color:rgba(255,255,255,0.6);}
.modal-desc ul li::before{content:'▸';position:absolute;left:0;color:var(--amarillo);}

/* SST */
.sst{background:var(--blanco);}
.sst-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.sst-visual{position:relative;overflow:hidden;}
.sst-visual-img{width:100%;height:280px;object-fit:cover;display:block;}
.sst-visual-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(10,10,10,0.8));}
.sst-items{display:flex;flex-direction:column;gap:1px;margin-top:0;}
.sst-item{background:var(--gris-oscuro);padding:.9rem 1.5rem;display:flex;align-items:center;gap:1rem;transition:background 0.2s;}
.sst-item:hover{background:#282828;}
.sst-dot{width:8px;height:8px;background:var(--amarillo);flex-shrink:0;}
.sst-item-text{font-size:14px;color:rgba(255,255,255,0.7);}
.sst-content p{font-size:16px;color:var(--gris-medio);line-height:1.8;margin-bottom:1rem;font-weight:300;}
.sst-items-tight{margin-top:2px;}
.alert-strip{background:var(--amarillo);padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;margin-top:1.5rem;}
.alert-icon{font-size:20px;}
.alert-text{font-size:12px;font-weight:700;color:var(--negro);text-transform:uppercase;letter-spacing:0.5px;}
/* SST tags */
.sst-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:1.5rem;}
.sst-tags-spaced{margin-top:1.5rem;}

/* CENTRO */
.centro{background:var(--gris-fondo);}
.centro-header{max-width:700px;margin-bottom:4rem;}
.centro-intro{font-size:16px;color:var(--gris-claro);line-height:1.7;font-weight:300;}
.centro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.curso-card{background:var(--blanco);border:1px solid rgba(0,0,0,0.08);overflow:hidden;position:relative;transition:box-shadow 0.2s;}
.curso-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.12);}
.curso-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--amarillo);}
.curso-img{width:100%;height:160px;object-fit:cover;display:block;}
.curso-body{padding:1.5rem;}
.curso-num{font-family:'Barlow Condensed',sans-serif;font-size:48px;font-weight:800;color:rgba(245,200,0,0.12);position:absolute;top:8px;right:12px;line-height:1;z-index:1;}
.curso-title{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;text-transform:uppercase;color:var(--negro);margin-bottom:.4rem;line-height:1.1;}
.curso-desc{font-size:13px;color:var(--gris-claro);line-height:1.6;margin-bottom:.75rem;}
.curso-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:.5rem;}
.curso-tag-btn{font-size:10px;padding:4px 10px;border:1px solid rgba(10,10,10,0.2);color:var(--gris-medio);background:transparent;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;font-weight:600;font-family:'Barlow',sans-serif;transition:all 0.2s;}
.curso-tag-btn:hover{background:var(--negro);color:var(--amarillo);border-color:var(--negro);}

/* CRI-SST ALIADO */
.aliado-banner{background:#111111;padding:2.5rem;display:flex;align-items:center;gap:2rem;margin-top:3rem;flex-wrap:wrap;border:1px solid rgba(245,200,0,0.15);}
.aliado-logo-frame{width:min(220px,100%);flex-shrink:0;background:#ffffff;padding:1rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(245,200,0,0.22);}
.cri-logo{display:block;width:100%;max-width:180px;height:auto;aspect-ratio:627 / 457;object-fit:contain;flex-shrink:0;}
.aliado-text{flex:1 1 320px;}
.aliado-text h3{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;color:var(--amarillo);text-transform:uppercase;margin-bottom:.4rem;}
.aliado-text p{font-size:14px;color:rgba(255,255,255,0.6);line-height:1.6;font-weight:300;}
.aliado-highlight{color:var(--amarillo);}
.centro-cta{margin-top:2rem;background:var(--negro);padding:2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.centro-cta-text{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;color:var(--blanco);text-transform:uppercase;}
.centro-cta-text span{color:var(--amarillo);}

/* CONTACTO */
.contacto{background:var(--negro);}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;}
.contacto-info p{font-size:16px;color:rgba(255,255,255,0.5);line-height:1.8;margin-bottom:2rem;font-weight:300;}
.contact-items{display:flex;flex-direction:column;gap:1rem;}
.contact-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--gris-oscuro);border-left:3px solid var(--amarillo);}
.contact-icon{font-size:18px;}
.contact-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,0.4);font-weight:600;}
.contact-value{font-size:14px;color:var(--blanco);font-weight:500;margin-top:2px;}
.social-row{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap;}
.social-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.5px;text-transform:uppercase;transition:all 0.2s;border:1px solid rgba(255,255,255,0.15);color:var(--blanco);}
.social-btn:hover{border-color:var(--amarillo);color:var(--amarillo);}
.social-btn.wa{background:#25D366;border-color:#25D366;color:#fff;}
.social-btn.wa:hover{background:#1ebe5d;border-color:#1ebe5d;}
.social-btn svg{width:16px;height:16px;fill:currentColor;}
.contact-form{display:flex;flex-direction:column;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,0.5);font-weight:600;}
.form-input{background:var(--gris-oscuro);border:1px solid rgba(255,255,255,0.1);color:var(--blanco);padding:12px 16px;font-size:14px;font-family:'Barlow',sans-serif;transition:border-color 0.2s;outline:none;width:100%;}
.form-input:focus{border-color:var(--amarillo);}
.form-input::placeholder{color:rgba(255,255,255,0.25);}
.form-select{cursor:pointer;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
textarea.form-input{resize:vertical;min-height:110px;}
.form-btn{background:var(--amarillo);color:var(--negro);padding:14px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.2s;font-family:'Barlow',sans-serif;width:100%;}
.form-btn:hover{background:var(--amarillo-oscuro);}

/* FOOTER */
footer{background:#060606;padding:3rem 0 1.5rem;border-top:1px solid rgba(245,200,0,0.15);}
.footer-inner{max-width:1200px;margin:0 auto;padding:0 2rem;}
.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1.5rem;}
.footer-logo-img{height:46px;width:auto;
  mix-blend-mode:screen;
  filter:brightness(1.1) contrast(1.05);
}
.footer-nav{display:flex;gap:2rem;flex-wrap:wrap;}
.footer-nav a{font-size:12px;color:rgba(255,255,255,0.6);text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:color 0.2s;}
.footer-nav a:hover{color:var(--amarillo);}
.footer-social{display:flex;gap:.75rem;}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);transition:all 0.2s;text-decoration:none;}
.footer-social a:hover{border-color:var(--amarillo);color:var(--amarillo);}
.footer-social svg{width:15px;height:15px;fill:currentColor;}
.footer-divider{height:1px;background:rgba(255,255,255,0.07);margin-bottom:1.5rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.58);}
.footer-slogan{font-size:11px;color:rgba(245,200,0,0.78);text-transform:uppercase;letter-spacing:2px;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.delay-1{transition-delay:.1s;}.delay-2{transition-delay:.2s;}.delay-3{transition-delay:.3s;}

/* WA FLOAT */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:200;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,0.4);transition:transform 0.2s;}
.wa-float:hover{transform:scale(1.1);}
.wa-float svg{width:28px;height:28px;fill:white;}

@media(max-width:900px){
  html{scroll-padding-top:88px;}
  section[id]{scroll-margin-top:88px;}
  .nosotros-grid,.sst-grid,.contacto-grid{grid-template-columns:1fr;}
  .lineas-grid{grid-template-columns:1fr;}
  .site-nav{overflow:visible;}
  .nav-inner{height:70px;gap:1rem;}
  .nav-toggle{display:flex;margin-left:auto;position:relative;z-index:101;}
  .nav-cta{display:none;}
  .nav-links{position:absolute;top:calc(100% + 2px);left:1rem;right:1rem;width:auto;display:none;flex-direction:column;gap:.35rem;padding:.8rem;margin:0;background:rgba(8,8,8,0.985);border:1px solid rgba(245,200,0,0.18);box-shadow:0 18px 40px rgba(0,0,0,0.28);z-index:99;}
  .nav-links li{width:100%;}
  .nav-links a{display:block;padding:.85rem 1rem;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.02);font-size:12px;}
  .nav-mobile-cta{display:block;margin-top:.6rem;}
  .nav-mobile-cta a{background:var(--amarillo);color:var(--negro)!important;border-color:var(--amarillo);font-weight:700;text-align:center;}
  body.nav-open .nav-links{display:flex;}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0;}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .hero{padding-top:70px;}
  .hero-content{padding-top:3rem;padding-bottom:3rem;}
  .hero-img-panel{width:100%;opacity:0.15;}
  .hero-subtitle{max-width:600px;}
  .hero-stats{gap:1.5rem;margin-top:3rem;}
  .valores-grid,.centro-grid,.form-row{grid-template-columns:1fr;}
  .centro-cta,.footer-bottom{align-items:flex-start;}
  .footer-top{align-items:flex-start;}
  .modal-img-grid{grid-template-columns:1fr;}
}

@media(max-width:640px){
  section{padding:84px 0;}
  .container,.hero-content,.nav-inner,.footer-inner{padding-left:1.25rem;padding-right:1.25rem;}
  .logo-img{height:46px;}
  .nav-links{left:1.25rem;right:1.25rem;}
  .hero{min-height:auto;}
  .hero-title{font-size:clamp(42px,18vw,70px);}
  .hero-subtitle{font-size:15px;line-height:1.8;}
  .hero-btns{flex-direction:column;}
  .btn-primary,.btn-outline{width:100%;text-align:center;}
  .hero-stats{flex-direction:column;gap:1rem;}
  .section-label{letter-spacing:3px;}
  .linea-body,.curso-body,.aliado-banner,.centro-cta{padding:1.25rem;}
  .aliado-banner{gap:1.25rem;flex-direction:column;align-items:flex-start;}
  .aliado-logo-frame{width:min(240px,100%);margin:0 auto;}
  .cri-logo{max-width:170px;}
  .contact-item{padding:1rem 1.1rem;align-items:flex-start;}
  .social-row{display:grid;grid-template-columns:1fr 1fr;}
  .social-btn{justify-content:center;}
  .footer-nav{gap:1rem;}
  .footer-copy,.footer-slogan{font-size:11px;line-height:1.6;}
  .wa-float{width:52px;height:52px;right:18px;bottom:18px;}
  .wa-float svg{width:24px;height:24px;}
}

@media(max-width:480px){
  .hero-eyebrow{font-size:10px;letter-spacing:3px;}
  .hero-eyebrow::before{width:28px;}
  .hero-content{padding-top:2.5rem;padding-bottom:2.5rem;}
  .hero-subtitle{font-size:14px;}
  .stat-num{font-size:34px;}
  .section-title{font-size:clamp(30px,12vw,46px);}
  .social-row{grid-template-columns:1fr;}
  .footer-nav{flex-direction:column;gap:.65rem;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal,.delay-1,.delay-2,.delay-3{transition:none;}
  .wa-float,.linea-card,.curso-card,.tag-btn,.curso-tag-btn,.btn-primary,.btn-outline,.nav-toggle span{transition:none;}
}
