
:root{
  --rojo:#C51F2D;
  --rojo-profundo:#8F1722;
  --carbon:#17191D;
  --grafito:#34383F;
  --gris:#E9EBEE;
  --arena:#F4F0EA;
  --blanco:#FFFFFF;
  --verde:#25D366;
  --texto:#292D33;
  --muted:#69707A;
  --borde:#DADDE2;
  --sombra:0 18px 45px rgba(23,25,29,.10);
  --radio:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--texto);
  background:var(--blanco);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{
  font-family:Sora,Inter,sans-serif;
  color:var(--carbon);
  line-height:1.12;
  margin-top:0;
}
h1{font-size:clamp(2.45rem,6vw,4.9rem);letter-spacing:-.05em}
h2{font-size:clamp(1.85rem,4vw,3.25rem);letter-spacing:-.035em}
h3{font-size:1.16rem}
p{margin-top:0}
.contenedor{width:min(calc(100% - 36px),var(--max));margin-inline:auto}
.seccion{padding:92px 0}
.seccion-compacta{padding:64px 0}
.fondo-gris{background:#F6F7F8}
.fondo-arena{background:var(--arena)}
.fondo-carbon{background:var(--carbon);color:#fff}
.fondo-carbon h2,.fondo-carbon h3,.fondo-carbon p{color:#fff}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-weight:800;text-transform:uppercase;letter-spacing:.12em;
  font-size:.76rem;color:var(--rojo);margin-bottom:1rem;
}
.eyebrow:before{content:"";width:28px;height:3px;background:var(--rojo)}
.lead{font-size:1.12rem;color:#4D535B;max-width:760px}
.centrado{text-align:center;margin-inline:auto}
header.sitio{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(218,221,226,.85);backdrop-filter:blur(14px);
}
.barra{
  min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.marca{display:flex;align-items:center;text-decoration:none;min-width:205px}
.marca img{width:182px;height:58px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:1.2rem}
.nav a{
  text-decoration:none;font-size:.9rem;font-weight:700;color:#3A3F46;
  white-space:nowrap;
}
.nav a:hover,.nav a.activo{color:var(--rojo)}
.acciones-header{display:flex;align-items:center;gap:.65rem}
.telefono{font-size:.87rem;font-weight:800;text-decoration:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:48px;padding:.78rem 1.12rem;border-radius:10px;border:1px solid transparent;
  font-family:Sora,Inter,sans-serif;font-size:.88rem;font-weight:800;text-decoration:none;
  cursor:pointer;transition:.2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-rojo{background:var(--rojo);color:#fff;box-shadow:0 12px 26px rgba(197,31,45,.2)}
.btn-rojo:hover{background:var(--rojo-profundo)}
.btn-oscuro{background:var(--carbon);color:#fff}
.btn-claro{background:#fff;color:var(--carbon)}
.btn-outline{border-color:#BFC4CA;background:transparent;color:var(--carbon)}
.btn-wa{background:var(--verde);color:#112417}
.menu-toggle,.hamburguesa{display:none}
.hero{
  position:relative;overflow:hidden;padding:84px 0 70px;background:
  radial-gradient(circle at 82% 20%,rgba(197,31,45,.10),transparent 32%),
  linear-gradient(180deg,#fff,#FAFAFA);
}
.hero:after{
  content:"";position:absolute;right:-120px;bottom:-130px;width:430px;height:430px;
  border:55px solid rgba(197,31,45,.08);transform:rotate(45deg);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:1}
.hero h1 em{font-style:normal;color:var(--rojo)}
.hero-copy{font-size:1.18rem;color:#4A5058;max-width:720px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.2rem}
.hero-nota{font-size:.9rem;color:var(--muted)}
.hero-card{
  background:var(--carbon);border-radius:28px;min-height:485px;padding:32px;
  box-shadow:var(--sombra);position:relative;overflow:hidden;color:#fff;
}
.hero-card:before{
  content:"";position:absolute;width:290px;height:290px;border:44px solid rgba(197,31,45,.75);
  right:-95px;top:-95px;transform:rotate(45deg);
}
.hero-card:after{
  content:"RR";position:absolute;right:22px;bottom:-28px;font-family:Sora,sans-serif;
  font-weight:800;font-size:9rem;color:rgba(255,255,255,.045);letter-spacing:-.14em;
}
.hero-card img{width:170px;filter:brightness(0) invert(1);margin-bottom:55px}
.hero-card h2{font-size:2rem;color:#fff;max-width:420px}
.hero-card ul{list-style:none;padding:0;margin:1.5rem 0 0}
.hero-card li{padding:.66rem 0;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:.7rem}
.hero-card li:before{content:"✓";color:#FF5C67;font-weight:900}
.confianza{
  display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--borde);
  border-radius:var(--radio);overflow:hidden;background:#fff;margin-top:42px;
}
.confianza div{padding:20px;border-right:1px solid var(--borde)}
.confianza div:last-child{border-right:0}
.confianza strong{display:block;font-family:Sora,sans-serif;color:var(--carbon)}
.confianza span{font-size:.86rem;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.audiencia{display:flex;flex-direction:column;padding:34px}
.audiencia h3{font-size:1.5rem;margin-bottom:.4rem}
.audiencia .lista-check{margin:1.1rem 0 1.6rem}
.audiencia .btn{align-self:flex-start;margin-top:auto}
.accesos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.accesos a{
  display:block;padding:15px 17px;border:1px solid var(--borde);border-radius:12px;
  background:#fff;text-decoration:none;font-family:Sora,sans-serif;font-weight:700;
  color:var(--carbon);font-size:.94rem;transition:.15s ease;
}
.accesos a:hover{border-color:var(--rojo);color:var(--rojo);transform:translateY(-2px)}
.accesos a span{display:block;font-family:Inter,sans-serif;font-weight:500;font-size:.8rem;color:var(--muted);margin-top:3px}
.tarjeta{
  background:#fff;border:1px solid var(--borde);border-radius:var(--radio);
  padding:28px;box-shadow:0 8px 24px rgba(23,25,29,.045);
}
.tarjeta:hover{border-color:#BDC1C7}
.numero{
  width:42px;height:42px;display:grid;place-items:center;background:var(--carbon);
  color:#fff;border-radius:10px;font-family:Sora,sans-serif;font-weight:800;margin-bottom:18px;
}
.icono{
  width:48px;height:48px;display:grid;place-items:center;border-radius:12px;
  background:rgba(197,31,45,.09);color:var(--rojo);font-size:1.25rem;margin-bottom:18px;
}
.enlace{color:var(--rojo);font-weight:800;text-decoration:none}
.lista-check{list-style:none;padding:0;margin:1.3rem 0}
.lista-check li{padding:.5rem 0 .5rem 1.7rem;position:relative}
.lista-check li:before{content:"✓";position:absolute;left:0;color:var(--rojo);font-weight:900}
.bloque-problemas{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;
}
.problema{
  padding:18px 20px;background:#fff;border:1px solid var(--borde);border-radius:12px;
  display:flex;gap:.8rem;align-items:flex-start;font-weight:650;
}
.problema span{color:var(--rojo);font-weight:900}
.promo{
  border-radius:26px;background:var(--carbon);color:#fff;padding:42px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:38px;position:relative;overflow:hidden;
}
.promo h2,.promo h3{color:#fff}
.promo:after{
  content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;
  border:38px solid rgba(197,31,45,.6);transform:rotate(45deg)
}
.etiqueta{
  display:inline-block;background:var(--rojo);color:#fff;padding:.35rem .7rem;
  border-radius:999px;text-transform:uppercase;font-weight:800;font-size:.72rem;letter-spacing:.08em;
}
.pasos{counter-reset:paso}
.paso{position:relative;padding-left:74px;min-height:68px;margin-bottom:26px}
.paso:before{
  counter-increment:paso;content:counter(paso);position:absolute;left:0;top:0;
  width:50px;height:50px;display:grid;place-items:center;border-radius:50%;
  background:var(--rojo);color:#fff;font-family:Sora,sans-serif;font-weight:800;
}
.form-wrap{
  background:#fff;border:1px solid var(--borde);border-radius:22px;padding:30px;box-shadow:var(--sombra)
}
.campo{margin-bottom:15px}
.campo label{display:block;font-weight:800;font-size:.84rem;margin-bottom:6px}
.campo input,.campo select,.campo textarea{
  width:100%;min-height:48px;border:1px solid #C7CBD1;border-radius:9px;padding:.8rem .9rem;
  font:inherit;background:#fff;color:var(--texto);
}
.campo textarea{min-height:110px;resize:vertical}
.form-nota{font-size:.78rem;color:var(--muted);margin-top:12px}
.honeypot{position:absolute!important;left:-9999px!important}
.faq{max-width:900px;margin:30px auto 0}
.faq details{background:#fff;border:1px solid var(--borde);border-radius:12px;margin-bottom:10px}
.faq summary{cursor:pointer;padding:18px 20px;font-family:Sora,sans-serif;font-weight:750;color:var(--carbon)}
.faq .respuesta{padding:0 20px 18px;color:#545B64}
.page-hero{padding:70px 0;background:linear-gradient(140deg,#fff 55%,#F4F0EA)}
.page-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.page-hero h1{font-size:clamp(2.3rem,5vw,4rem)}
.visual{
  min-height:330px;border-radius:24px;background:var(--carbon);display:grid;place-items:center;
  position:relative;overflow:hidden;
}
.visual img{width:230px;filter:brightness(0) invert(1)}
.visual:before,.visual:after{content:"";position:absolute;border:36px solid var(--rojo);width:180px;height:180px;transform:rotate(45deg)}
.visual:before{right:-65px;top:-65px}.visual:after{left:-95px;bottom:-95px;opacity:.35}
/* Variante con foto real: la imagen cubre todo el recuadro y se ocultan los adornos */
.visual.foto{background:none}
.visual.foto:before,.visual.foto:after{display:none}
.visual.foto img{width:100%;height:100%;object-fit:cover;filter:none}
.hero-foto{border-radius:28px;overflow:hidden;box-shadow:var(--sombra);min-height:485px;position:relative}
.hero-foto img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.breadcrumbs{font-size:.82rem;color:var(--muted);margin-bottom:1rem}
.breadcrumbs a{text-decoration:none}
.cta-final{text-align:center;padding:76px 0;background:var(--rojo);color:#fff}
.cta-final h2,.cta-final p{color:#fff}
.cta-final p{max-width:700px;margin:0 auto 1.5rem}
.autor-box{
  display:flex;gap:18px;align-items:center;background:var(--arena);padding:22px;border-radius:16px;
}
.autor-avatar{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--carbon);color:#fff;
  font-family:Sora,sans-serif;font-weight:800;
}
.articulo{max-width:820px;margin:auto}
.articulo h2{font-size:2rem;margin-top:2.2rem}
.articulo h3{margin-top:1.8rem}
.articulo p,.articulo li{font-size:1.05rem}
.nota-legal{background:#FFF7E6;border-left:4px solid #C58A1F;padding:16px 18px;border-radius:8px}
footer.sitio{background:var(--carbon);color:#D9DCE1;padding:56px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:30px}
.footer-grid h4{color:#fff}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:.55rem 0;font-size:.88rem}
.footer-grid a{text-decoration:none}
.footer-logo img{width:220px;filter:brightness(0) invert(1);margin-bottom:16px}
.footer-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px;font-size:.8rem}
.wa-flotante{
  position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;
  display:grid;place-items:center;background:var(--verde);color:#fff;text-decoration:none;
  font-size:0;z-index:60;box-shadow:0 12px 28px rgba(0,0,0,.22);transition:transform .2s ease
}
.wa-flotante:hover{transform:scale(1.06)}
/* Glifo oficial de WhatsApp en blanco (inline SVG, sin peticiones externas) */
.wa-flotante:before{
  content:"";width:34px;height:34px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23fff'%3E%3Cpath d='M16.02 3.2c-7.06 0-12.8 5.73-12.8 12.79 0 2.25.59 4.45 1.71 6.39L3.2 28.8l6.6-1.73a12.76 12.76 0 0 0 6.21 1.58h.01c7.05 0 12.79-5.73 12.79-12.79 0-3.42-1.33-6.63-3.75-9.05a12.7 12.7 0 0 0-9.04-3.61zm0 23.42h-.01a10.6 10.6 0 0 1-5.41-1.48l-.39-.23-4.02 1.05 1.07-3.92-.25-.4a10.6 10.6 0 0 1-1.63-5.67c0-5.87 4.78-10.64 10.65-10.64 2.84 0 5.51 1.11 7.52 3.12a10.56 10.56 0 0 1 3.11 7.53c0 5.87-4.77 10.64-10.64 10.64zm5.84-7.97c-.32-.16-1.89-.93-2.19-1.04-.29-.11-.5-.16-.72.16-.21.32-.82 1.04-1.01 1.25-.19.21-.37.24-.69.08-.32-.16-1.35-.5-2.57-1.59-.95-.85-1.59-1.9-1.78-2.22-.19-.32-.02-.49.14-.65.14-.14.32-.37.48-.56.16-.19.21-.32.32-.53.11-.21.05-.4-.03-.56-.08-.16-.72-1.73-.98-2.37-.26-.62-.52-.54-.72-.55l-.61-.01c-.21 0-.56.08-.85.4-.29.32-1.11 1.09-1.11 2.66 0 1.57 1.14 3.08 1.3 3.29.16.21 2.25 3.44 5.45 4.82.76.33 1.36.53 1.82.68.77.24 1.46.21 2.01.13.61-.09 1.89-.77 2.16-1.52.27-.75.27-1.39.19-1.52-.08-.13-.29-.21-.61-.37z'/%3E%3C/svg%3E")
}
.mobile-call{display:none}
.barra-movil{display:none}
@media(max-width:1040px){
  .nav{display:none}
  .telefono{display:none}
  .hamburguesa{display:grid;gap:5px;width:42px;height:42px;place-content:center;cursor:pointer}
  .hamburguesa span{width:22px;height:2px;background:var(--carbon)}
  .menu-toggle:checked ~ .nav{
    display:flex;position:absolute;left:0;right:0;top:78px;background:#fff;padding:20px;
    flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--borde);
  }
  .mobile-call{display:inline-flex}
}
@media(max-width:820px){
  .hero-grid,.page-hero-grid,.promo,.grid-2,.diagnostico-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .hero{padding-top:55px}
  .hero-card{min-height:410px}
  .confianza{grid-template-columns:1fr 1fr}
  .confianza div:nth-child(2){border-right:0}
  .confianza div:nth-child(-n+2){border-bottom:1px solid var(--borde)}
  .bloque-problemas{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .seccion{padding:72px 0}
  .accesos{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .contenedor{width:min(calc(100% - 24px),var(--max))}
  .marca img{width:150px}
  .btn-header{display:none}
  .hero h1{font-size:2.65rem}
  .hero-card{padding:25px}
  .confianza{grid-template-columns:1fr}
  .confianza div{border-right:0;border-bottom:1px solid var(--borde)}
  .promo{padding:28px 22px}
  .footer-grid{grid-template-columns:1fr}
  .hero-ctas .btn{width:100%}
  .accesos{grid-template-columns:1fr}
}
@media(max-width:600px){
  .barra-movil{
    display:grid;grid-template-columns:1fr;
    position:fixed;left:0;right:0;bottom:0;z-index:70;
    box-shadow:0 -6px 20px rgba(0,0,0,.16);
  }
  .barra-movil a{
    display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;
    font-family:Sora,sans-serif;font-weight:800;font-size:.98rem;text-decoration:none;
  }
  .barra-movil .bm-wa{background:var(--verde);color:#0B2B18}
  .barra-movil .bm-call{background:var(--carbon);color:#fff}
  .wa-flotante{display:none}
  body{padding-bottom:56px}
}
