*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#15191e;background:#fff}header{height:94px;display:flex;align-items:center;padding:8px 5%;gap:30px;position:sticky;top:0;background:#fff;z-index:10;box-shadow:0 2px 15px #0001}.brand{display:flex;align-items:center;gap:14px;color:#15191e;text-decoration:none;font-weight:900;font-size:24px;line-height:1}.brand img{width:72px;height:72px;object-fit:contain}.brand small{display:block;font-size:11px;letter-spacing:1.3px;margin-top:6px}nav{display:flex;gap:34px;margin-left:auto}nav a{text-decoration:none;color:#272c32;font-size:15px;padding:34px 0 28px;border-bottom:3px solid transparent}nav a.active,nav a:hover{color:#ed1c24;border-bottom-color:#ed1c24}.btn{display:inline-block;background:#ed1c24;color:#fff;padding:17px 26px;border-radius:7px;text-decoration:none;font-weight:800}.top{padding:15px 20px;white-space:nowrap}.menu{display:none;margin-left:auto;border:0;background:none;font-size:25px}.hero{min-height:740px;background:url('images/salon.jpeg') center/cover no-repeat;position:relative;display:flex;align-items:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,19,.96) 0%,rgba(9,14,19,.82) 37%,rgba(9,14,19,.25) 68%,rgba(9,14,19,.06) 100%)}.hero-copy{position:relative;color:white;width:min(730px,90%);margin-left:6%}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:800}.eyebrow:before{content:"";display:inline-block;width:42px;height:4px;background:#ed1c24;margin-right:14px;vertical-align:middle}.hero h1{font-size:62px;line-height:1.02;margin:24px 0}.hero h1 em,h2 em{font-style:normal;color:#ed1c24}.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:640px}.actions{display:flex;gap:18px;margin:30px 0 38px}.outline{background:transparent;border:1px solid #fff}.trust{display:flex;gap:42px;border-top:1px solid #ffffff38;padding-top:25px}.trust span{display:grid;grid-template-columns:auto 1fr;column-gap:10px;font-size:18px}.trust b{font-size:14px}.trust small{grid-column:2;color:#e7e7e7;font-size:12px;margin-top:3px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 7%;box-shadow:0 5px 22px #0000000c}.pillars>div{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 24px;border-right:1px solid #ddd}.pillars>div:last-child{border-right:0}.pillars b{font-size:31px}.pillars span{display:flex;flex-direction:column}.pillars strong{font-size:18px}.pillars small{color:#666;margin-top:5px}.section{padding:76px 5%}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.heading h2,.about h2,.contact h2{font-size:42px;margin:5px 0;text-transform:uppercase}.heading>p{color:#68707a;max-width:440px}.red{color:#444}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{border:1px solid #e7e7e7;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 10px 32px #0000000d;transition:.25s}.cards article:hover{transform:translateY(-5px);box-shadow:0 18px 42px #0002}.cards article img{width:100%;height:210px;object-fit:cover;display:block}.card-body{padding:22px;position:relative}.badge{position:absolute;right:18px;top:-22px;width:44px;height:44px;border-radius:50%;background:#ed1c24;color:#fff;display:grid;place-items:center;font-weight:800;border:4px solid white}.cards h3{margin:4px 0 9px;font-size:19px}.cards p{color:#69717a;line-height:1.5;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;background:#f5f6f7;align-items:stretch}.about-copy{padding:76px 10%}.about-copy p{line-height:1.7;color:#535b64}.about img{width:100%;height:100%;min-height:560px;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery figure{margin:0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 8px 25px #0001}.gallery img{width:100%;height:280px;object-fit:cover;display:block;transition:.25s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{padding:17px;font-weight:800}.gallery span{display:block;color:#777;font-weight:400;font-size:13px;margin-top:5px}.contact{padding:72px 6%;background:linear-gradient(#111820ed,#111820ed),url('images/bodega.jpeg') center/cover;color:#fff;display:grid;grid-template-columns:1.1fr 1fr auto;gap:45px;align-items:center}.details{display:grid;grid-template-columns:1fr 1fr;gap:10px}.details p{line-height:1.5}.wa{background:#20b956;color:#fff;text-decoration:none;padding:18px 28px;border-radius:40px;font-weight:800;white-space:nowrap}footer{background:#ed1c24;color:white;padding:22px 5%;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase}.floating{position:fixed;right:28px;bottom:28px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#20c567;color:#fff;text-decoration:none;font-size:29px;z-index:20;box-shadow:0 10px 25px #0003}@media(max-width:1050px){nav{gap:18px}.brand{font-size:19px}.top{display:none}.hero h1{font-size:54px}.pillars{padding-left:3%;padding-right:3%}}@media(max-width:900px){nav{display:none}.menu{display:block}.open nav{display:flex;position:absolute;top:94px;left:0;right:0;background:white;padding:20px;flex-direction:column;gap:0}.open nav a{padding:13px}.hero{min-height:670px}.hero h1{font-size:46px}.cards,.gallery{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.heading{align-items:start;flex-direction:column}.trust{flex-wrap:wrap}.pillars{grid-template-columns:1fr 1fr}.pillars>div:nth-child(2){border-right:0}}@media(max-width:560px){header{height:78px;padding:8px 4%}.brand{font-size:15px}.brand img{width:55px;height:55px}.open nav{top:78px}.hero{min-height:650px;background-position:58% center}.shade{background:linear-gradient(90deg,rgba(9,14,19,.96),rgba(9,14,19,.68))}.hero-copy{margin-left:5%}.hero h1{font-size:38px}.hero-copy>p:not(.eyebrow){font-size:16px}.actions{flex-direction:column;align-items:flex-start}.trust{gap:18px}.pillars{grid-template-columns:1fr;padding:18px 5%}.pillars>div{justify-content:flex-start;border-right:0;border-bottom:1px solid #eee}.pillars>div:last-child{border-bottom:0}.cards,.gallery,.details{grid-template-columns:1fr}.section{padding:58px 5%}.heading h2,.about h2,.contact h2{font-size:32px}.cards article img{height:220px}.gallery img{height:240px}.about-copy{padding:58px 6%}footer{gap:15px;flex-direction:column}.floating{right:18px;bottom:18px}}

/* Servicios vectoriales rojos */
.services{background:linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,.95)),repeating-linear-gradient(0deg,transparent 0 39px,#eef1f4 40px),repeating-linear-gradient(90deg,transparent 0 39px,#eef1f4 40px)}
.services-title{text-align:center;max-width:850px;margin:0 auto 46px}
.services-kicker{margin:0 0 14px;color:#ed1c24;font-weight:900;letter-spacing:6px;font-size:14px}
.services-title h2{margin:0;font-size:46px;line-height:1.1}.services-title h2 em{font-style:normal;color:#ed1c24}
.services-title>p:not(.services-kicker){margin:14px auto 0;color:#6b7480;font-size:18px;line-height:1.5}
.title-line{display:block;width:95px;height:4px;background:#ed1c24;margin:24px auto 0;border-radius:5px}
.service-vector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-vector-card{min-height:155px;border:1px solid #e4e7eb;border-radius:12px;background:#fff;box-shadow:0 12px 32px #0000000b;display:grid;grid-template-columns:112px 1fr 24px;align-items:center;gap:18px;padding:24px;transition:.25s}
.service-vector-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #00000017;border-color:#f3c8ca}
.service-icon{width:88px;height:88px;border-radius:50%;background:#fff0f1;display:grid;place-items:center}
.service-icon svg{width:58px;height:58px;fill:none;stroke:#ed1c24;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.service-vector-card h3{margin:0 0 8px;font-size:20px;line-height:1.25;color:#111820}
.service-vector-card p{margin:0;color:#697480;line-height:1.45;font-size:15px}
.service-arrow{font-size:38px;line-height:1;color:#ed1c24;font-weight:300;transition:.2s}.service-vector-card:hover .service-arrow{transform:translateX(4px)}
@media(max-width:900px){.service-vector-grid{grid-template-columns:1fr 1fr}.services-title h2{font-size:38px}.service-vector-card{grid-template-columns:90px 1fr 20px;padding:20px}.service-icon{width:76px;height:76px}.service-icon svg{width:50px;height:50px}}
@media(max-width:560px){.service-vector-grid{grid-template-columns:1fr}.services-title{margin-bottom:32px}.services-title h2{font-size:31px}.services-title>p:not(.services-kicker){font-size:16px}.services-kicker{letter-spacing:4px;font-size:12px}.service-vector-card{min-height:130px;grid-template-columns:76px 1fr 18px;gap:14px;padding:18px 16px}.service-icon{width:68px;height:68px}.service-icon svg{width:44px;height:44px}.service-vector-card h3{font-size:18px}.service-vector-card p{font-size:14px}}


/* CORRECCION ICONOS SERVICIOS - tamaño controlado y rojo */
.service-vector-card{
  overflow:hidden !important;
}
.service-icon{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  min-height:72px !important;
  max-width:72px !important;
  max-height:72px !important;
  border-radius:50% !important;
  background:#fff1f2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.service-icon svg{
  display:block !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  position:static !important;
  transform:none !important;
  overflow:visible !important;
  fill:none !important;
  stroke:#ed1c24 !important;
  stroke-width:3 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.service-icon svg path,
.service-icon svg rect,
.service-icon svg circle,
.service-icon svg line,
.service-icon svg polyline,
.service-icon svg polygon{
  fill:none !important;
  stroke:#ed1c24 !important;
  stroke-width:3 !important;
  vector-effect:non-scaling-stroke;
}
.service-vector-card{
  grid-template-columns:82px 1fr 20px !important;
}
@media(max-width:560px){
  .service-icon{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
  }
  .service-icon svg{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
  }
  .service-vector-card{
    grid-template-columns:66px 1fr 16px !important;
  }
}


/* AJUSTE MOVIL FINAL */
.floating{
  background:transparent !important;
  width:64px !important;
  height:64px !important;
  padding:0 !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(0,0,0,.22) !important;
}
.floating img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:contain !important;
  border-radius:50% !important;
}

@media(max-width:560px){
  header{
    height:82px;
    padding:8px 18px;
  }
  .brand{
    gap:10px;
    font-size:14px;
    line-height:1.08;
    max-width:310px;
  }
  .brand img{
    width:58px;
    height:58px;
  }
  .brand small{
    font-size:9px;
    margin-top:4px;
    letter-spacing:1px;
  }
  .menu{
    font-size:28px;
    padding:6px;
  }

  .hero{
    min-height:auto !important;
    padding:42px 0 30px;
    align-items:flex-start;
    background-position:57% center;
  }
  .hero-copy{
    width:auto;
    margin:0 20px;
  }
  .eyebrow{
    font-size:10px;
    letter-spacing:1.5px;
  }
  .eyebrow:before{
    width:28px;
    height:3px;
    margin-right:9px;
  }
  .hero h1{
    font-size:34px !important;
    line-height:1.02;
    margin:17px 0 18px;
    letter-spacing:-.6px;
  }
  .hero-copy>p:not(.eyebrow){
    font-size:16px !important;
    line-height:1.55;
    margin:0;
  }
  .actions{
    margin:24px 0 28px;
    gap:12px;
    width:100%;
  }
  .actions .btn{
    width:100%;
    text-align:center;
    padding:16px 14px;
    font-size:15px;
    border-radius:9px;
  }

  .trust{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:8px !important;
    padding-top:20px;
  }
  .trust span{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    font-size:18px;
    min-width:0;
  }
  .trust b{
    font-size:13px;
    line-height:1.15;
  }
  .trust small{
    font-size:10px !important;
    line-height:1.25;
    margin:0 !important;
    color:#f1f1f1;
  }

  .pillars{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px;
    padding:22px 18px !important;
    background:#fff;
  }
  .pillars>div{
    min-height:112px;
    border:1px solid #ececec !important;
    border-radius:12px;
    padding:16px 12px !important;
    display:flex;
    align-items:center;
    justify-content:flex-start !important;
    gap:11px;
    box-shadow:0 6px 18px rgba(0,0,0,.04);
  }
  .pillars b{
    font-size:25px;
    min-width:30px;
    text-align:center;
  }
  .pillars strong{
    font-size:17px;
    line-height:1.15;
  }
  .pillars small{
    font-size:12px;
    line-height:1.25;
    margin-top:5px;
  }

  .services{
    padding-top:48px !important;
  }
  .services-title{
    margin-bottom:26px !important;
  }
  .services-title h2{
    font-size:30px !important;
  }

  .floating{
    width:58px !important;
    height:58px !important;
    right:16px !important;
    bottom:18px !important;
  }
}


/* WHATSAPP FLOTANTE - CORRECCION DEFINITIVA */
html, body { overflow-x: hidden; }

a.floating{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  left:auto !important;
  top:auto !important;
  z-index:9999 !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  min-height:58px !important;
  max-width:58px !important;
  max-height:58px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#08ad20 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.22) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  transform:none !important;
  line-height:0 !important;
}
a.floating:hover{
  transform:scale(1.05) !important;
}
a.floating img{
  position:static !important;
  display:block !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  min-height:58px !important;
  max-width:58px !important;
  max-height:58px !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  transform:none !important;
}
@media(max-width:560px){
  a.floating{
    right:16px !important;
    bottom:18px !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
  }
  a.floating img{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
  }
}

/* Requisitos propuesta: reseñas, formulario, enlaces y mapa */
.reviews{background:#f7f7f7}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:0 auto}.review-grid article{background:#fff;border:1px solid #e9e9e9;border-radius:14px;padding:28px;box-shadow:0 8px 26px rgba(0,0,0,.04)}.review-grid b{font-size:20px}.review-grid p{color:#6d7178;line-height:1.6}.review-note{text-align:center;margin-top:26px;color:#666}.contact-wrap{background:#111;color:#fff}.contact-expanded{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-expanded .details{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.social-links a{color:#fff;border:1px solid #555;border-radius:8px;padding:10px 14px;text-decoration:none}.contact-form{background:#fff;color:#17191c;border-radius:16px;padding:28px;display:grid;gap:16px}.contact-form label{font-weight:700;font-size:14px}.contact-form input,.contact-form select,.contact-form textarea{box-sizing:border-box;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9d9d9;border-radius:8px;font:inherit;background:#fff}.contact-form textarea{resize:vertical}.contact-form .btn{border:0;cursor:pointer;width:100%}.contact-form small{color:#777}.map-box{height:360px}.map-box iframe{width:100%;height:100%;border:0;display:block}@media(max-width:800px){.review-grid{grid-template-columns:1fr}.contact-expanded{grid-template-columns:1fr;gap:30px}.contact-expanded .details{grid-template-columns:1fr}.map-box{height:300px}}

/* ===== AJUSTE VISUAL FINAL: RESEÑAS + CONTACTO + MAPA ===== */
.reviews{background:#f7f8fa !important}
.review-grid{max-width:1180px;margin:0 auto;gap:24px}
.review-grid article{position:relative;padding:34px 30px 30px;border:1px solid #eceff2;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.07);transition:.25s;overflow:hidden}
.review-grid article:before{content:'✓';display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff0f1;color:#ed1c24;font-size:21px;font-weight:900;margin-bottom:20px}
.review-grid article:after{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:#ed1c24}
.review-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(15,23,42,.11)}
.review-grid b{display:block;font-size:21px;margin-bottom:10px;color:#15191e}
.review-grid p{margin:0;color:#69727c;line-height:1.65;font-size:15px}
.review-note{max-width:1180px;margin:28px auto 0;padding:20px 24px;border-radius:12px;background:#151b22;color:#fff;text-align:center;font-size:16px}

.contact-wrap{background:#fff !important;color:#15191e}
.contact.contact-expanded{padding:76px 6%;background:linear-gradient(100deg,rgba(14,20,27,.97),rgba(14,20,27,.88)),url('images/bodega.jpeg') center/cover no-repeat !important;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:70px;align-items:start}
.contact-expanded>div:first-child{padding-top:4px}
.contact-expanded>div:first-child>p:not(.eyebrow){max-width:600px;line-height:1.65;color:#e8ebee;font-size:17px}
.contact-expanded .details{display:grid;grid-template-columns:1fr 1fr;gap:10px 34px;margin-top:28px}
.contact-expanded .details p{margin:0 0 18px;color:#f5f5f5}
.contact-expanded .details b{display:inline-block;margin-bottom:6px;color:#fff;font-size:15px}
.social-links{margin-top:8px}
.social-links a{border-color:#ffffff4a;background:#ffffff0d;transition:.2s}
.social-links a:hover{background:#ed1c24;border-color:#ed1c24}
.contact-form{background:#fff;color:#17191c;border-radius:18px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:0 20px 55px rgba(0,0,0,.24)}
.contact-form label{display:block;font-weight:800;font-size:13px;color:#252a30}
.contact-form label:nth-child(3),.contact-form label:nth-child(4),.contact-form .btn,.contact-form small{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:8px;padding:14px 15px;border:1px solid #dfe3e7;border-radius:9px;background:#f9fafb;outline:none;transition:.2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#ed1c24;background:#fff;box-shadow:0 0 0 3px rgba(237,28,36,.08)}
.contact-form textarea{min-height:120px}
.contact-form .btn{min-height:52px;font-size:15px}
.contact-form small{text-align:center;line-height:1.4}
.map-box{width:100% !important;height:430px !important;margin:0 !important;padding:0 !important;background:#eee}
.map-box iframe{width:100% !important;height:100% !important;display:block;border:0}

@media(max-width:900px){
 .contact.contact-expanded{grid-template-columns:1fr;gap:36px;padding:60px 6%}
 .contact-form{grid-template-columns:1fr}
 .contact-form label,.contact-form label:nth-child(3),.contact-form label:nth-child(4),.contact-form .btn,.contact-form small{grid-column:1}
 .map-box{height:360px !important}
}
@media(max-width:560px){
 .review-grid{gap:16px}
 .review-grid article{padding:26px 22px}
 .review-note{font-size:14px;padding:17px 18px}
 .contact.contact-expanded{padding:48px 20px !important;gap:28px}
 .contact-expanded .details{grid-template-columns:1fr;gap:0;margin-top:22px}
 .contact-form{padding:20px 17px;border-radius:14px;gap:14px}
 .contact-form textarea{min-height:105px}
 .map-box{height:320px !important}
}
