
:root{--green:#123f31;--green2:#0a3025;--yellow:#ffc914;--ink:#10251f;--paper:#f5f6f3;--white:#fff;--gray:#66716d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}a{text-decoration:none;color:inherit}
.topbar{height:82px;background:#fff;display:flex;align-items:center;gap:34px;padding:8px 4vw;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px #00000012}.brand{margin-right:auto}.logo{width:108px;height:66px;object-fit:contain;display:block}.topbar nav{display:flex;gap:24px}.topbar nav a{font-weight:700;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:10px;font-weight:900;border:0;cursor:pointer}.btn-yellow{background:var(--yellow);color:#092b22;box-shadow:0 7px 20px #0002}.btn-dark{background:var(--green);color:#fff}.btn-outline{border:2px solid #fff;color:#fff}.btn-wide{width:100%;font-size:16px}
.hero{min-height:630px;position:relative;background:url("assets/01.jpg") center/cover no-repeat;display:flex;align-items:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#082f25f5 0%,#0a3429e8 42%,#0b30245c 72%,transparent 100%)}.hero-content{position:relative;z-index:2;width:min(700px,90%);margin-left:5vw;color:#fff;padding:70px 0}.eyebrow{color:var(--yellow);font-weight:900;letter-spacing:4px;font-size:14px}.eyebrow.dark{color:var(--green)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(48px,6vw,84px);line-height:.88;margin:14px 0 12px}.hero h1 span{color:var(--yellow);display:block}.hero h2{font-size:clamp(20px,2.2vw,30px);margin-bottom:16px}.hero p{font-size:19px;line-height:1.45;max-width:600px}.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0;font-weight:800}.price-splash{display:inline-grid;grid-template-columns:auto auto;gap:0 12px;background:var(--yellow);color:#0b3025;padding:12px 22px;transform:rotate(-1deg);margin:4px 0 24px}.price-splash small{grid-column:1/3;font-weight:900}.price-splash strong{font-size:52px;line-height:1}.price-splash b{align-self:end;padding-bottom:5px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hazard{height:18px;background:repeating-linear-gradient(135deg,var(--yellow) 0 18px,#15231f 18px 36px)}
.section{padding:90px 5vw;max-width:1400px;margin:auto}.equipment{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}.section h2,.coverage h2{font-size:clamp(34px,4vw,58px);line-height:1;margin:10px 0 20px}.section p{font-size:17px;line-height:1.6}.dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.dimensions div{background:#e7ebe7;border-left:5px solid var(--yellow);padding:20px}.dimensions strong{display:block;font-size:27px}.dimensions span{color:var(--gray)}.photo-card{position:relative}.photo-card img{width:100%;display:block;border-radius:18px;box-shadow:0 24px 60px #0003}.photo-badge{position:absolute;left:18px;bottom:18px;background:var(--yellow);padding:10px 14px;font-weight:900}.muted{color:var(--gray)}
.calc-wrap{max-width:none;background:var(--green);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-left:max(5vw,calc((100vw - 1400px)/2));padding-right:max(5vw,calc((100vw - 1400px)/2))}.calc-intro{padding-top:30px}.calculator{background:#fff;color:var(--ink);padding:28px;border-radius:18px;box-shadow:0 30px 80px #0004}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calculator label{font-weight:800;font-size:14px}.calculator input,.calculator select{width:100%;padding:14px;border:1px solid #cfd6d2;border-radius:8px;margin-top:8px;font-size:16px;background:#fff}.full{display:block;margin-top:16px}.hidden{display:none!important}.totals{margin:24px 0;border-top:1px solid #dfe4e1}.totals div{display:flex;justify-content:space-between;padding:12px 4px;border-bottom:1px solid #e4e8e6}.totals .grand{background:#e4f4e8;padding:16px 12px;font-size:20px}.notice{background:#f2f4f2;border-radius:10px;padding:15px;margin-bottom:18px}.notice p{font-size:13px;margin:5px 0 0;line-height:1.45}
.center{text-align:center;max-width:760px;margin:0 auto 45px}.delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.delivery-card{background:#fff;border-radius:18px;padding:26px;box-shadow:0 10px 40px #0001}.delivery-card h3{font-size:26px}.icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--yellow);font-size:25px;margin-bottom:16px}.map{height:260px;margin:20px 0;border-radius:12px;overflow:hidden}.map iframe{width:100%;height:100%;border:0}.coverage-mini{background:#edf1ee;border-left:5px solid var(--green);padding:16px;margin:20px 0}.coverage-mini p{margin:5px 0 0;font-size:15px}
.coverage{background:var(--green2);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:80px max(5vw,calc((100vw - 1400px)/2))}.coverage img{width:100%;max-height:420px;object-fit:cover;border-radius:18px}.faq{max-width:900px}.faq details{background:#fff;margin:12px 0;border-radius:12px;padding:18px 22px}.faq summary{font-weight:900;cursor:pointer}.faq details p{margin:14px 0 0}
footer{background:#08281f;color:#fff;padding:35px 5vw;display:flex;align-items:center;gap:25px}footer a{margin-left:auto;color:var(--yellow);font-weight:900}.footer-logo{width:90px;height:60px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}.float-wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-weight:900;z-index:60;box-shadow:0 10px 25px #0004}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.topbar nav,.desktop-cta{display:none}.topbar{height:70px}.logo{width:92px;height:56px}.hero{min-height:650px;background-position:62% center}.hero-shade{background:linear-gradient(90deg,#082f25f7 0%,#0a3429e8 62%,#0b30246e 100%)}.hero-content{margin:0 auto;padding:55px 0}.equipment,.calc-wrap,.coverage{grid-template-columns:1fr}.calc-wrap{gap:25px}.delivery-grid{grid-template-columns:1fr}.dimensions{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.section{padding:65px 6vw}.coverage{padding:65px 6vw}.price-splash strong{font-size:44px}footer{flex-wrap:wrap}footer a{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* --- V2.1 correcciones solicitadas --- */
.header-logo{
  width:150px;
  height:72px;
  object-fit:contain;
  transform:scale(1.12);
  transform-origin:left center;
}
.measure-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}
.measure-lines line{
  stroke:#0f6b52;
  stroke-width:7;
  vector-effect:non-scaling-stroke;
}
.measure-labels rect{
  fill:#0f6b52;
  stroke:#ffc914;
  stroke-width:3;
  vector-effect:non-scaling-stroke;
}
.measure-labels text{
  fill:#fff;
  font:900 38px Arial,Helvetica,sans-serif;
  text-anchor:middle;
}
.delivery-icon svg{
  width:38px;
  height:38px;
  display:block;
}
.float-wa{
  font-size:0;
  color:#fff;
}
.float-wa svg{
  width:34px;
  height:34px;
  display:block;
}
@media(max-width:900px){
  .header-logo{width:122px;height:60px;transform:scale(1.08)}
  .measure-labels text{font-size:34px}
}


/* --- V4: ajuste fino de cotas --- */
.measure-lines line{
  stroke-width:3.5 !important;
}
.measure-labels rect{
  stroke-width:2 !important;
}
.measure-labels text{
  font-size:27px !important;
  dominant-baseline:middle;
}
@media(max-width:900px){
  .measure-labels text{font-size:24px !important;}
}


/* --- V5: imagen limpia + footer actualizado --- */
.footer-logo{
  width:120px;
  height:72px;
  object-fit:contain;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
}
.footer-contact{
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
}
.footer-contact span{
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:2px;
  opacity:.72;
}
.footer-contact a{
  margin-left:0 !important;
  color:#ffc914;
  font-size:19px;
  font-weight:900;
}
@media(max-width:900px){
  .footer-contact{
    margin-left:0;
    width:100%;
    align-items:flex-start;
  }
}
\n\n/* V6 */\n.price-splash{transform:none!important;border-radius:0!important;clip-path:none!important}\n.contact-section{padding:100px max(5vw,calc((100vw - 1400px)/2));background:#f4f5f2}\n.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start;max-width:1400px;margin:auto}\n.contact-copy h2{margin:10px 0 18px;font-size:clamp(38px,5vw,64px);line-height:.98;color:var(--ink)}\n.contact-copy p{max-width:560px;font-size:18px;line-height:1.55;color:var(--gray)}\n.contact-mail{display:inline-block;margin-top:18px;color:var(--green);font-size:20px;font-weight:900;text-decoration:none;border-bottom:2px solid var(--yellow)}\n.contact-form{background:#fff;padding:32px;border-radius:18px;box-shadow:0 18px 45px #062c2314;display:grid;grid-template-columns:1fr 1fr;gap:18px}\n.contact-form label{display:flex;flex-direction:column;gap:8px;font-weight:800;color:var(--ink)}\n.contact-form .message-field{grid-column:1/-1}\n.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8dfdc;border-radius:10px;padding:14px 15px;font:inherit;background:#fafbf9;outline:none}\n.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}\n.contact-form button{border:0;cursor:pointer;justify-self:start}\n.contact-form small{grid-column:1/-1;color:#69756f;line-height:1.4}\n@media(max-width:800px){.contact-section{padding:70px 6vw}.contact-wrap{grid-template-columns:1fr;gap:36px}.contact-form{grid-template-columns:1fr;padding:24px}.contact-form .message-field{grid-column:auto}}\n
/* ===== V7 ===== */

/* Precio hero: rectángulo 100% recto, sin giro, skew ni clip */
.price-card,
.price-box,
.hero-price,
.price-tag,
[class*="price-card"],
[class*="price-box"]{
  transform: none !important;
  rotate: 0deg !important;
  skew: none !important;
  clip-path: none !important;
  border-radius: 0 !important;
}
.price-card::before,.price-card::after,
.price-box::before,.price-box::after,
.hero-price::before,.hero-price::after,
.price-tag::before,.price-tag::after{
  transform:none !important;
  clip-path:none !important;
}

/* Contacto */
.contact-v7{
  background:#f5f6f3;
  padding:96px 24px 105px;
}
.contact-v7-inner{
  max-width:1320px;
  margin:0 auto;
}
.contact-v7-heading{
  text-align:center;
  margin:0 auto 48px;
}
.contact-v7-heading .eyebrow{
  color:#0b5b47;
  letter-spacing:.28em;
  font-weight:900;
  font-size:13px;
}
.contact-v7-heading h2{
  color:#082f27;
  font-size:clamp(38px,4.4vw,62px);
  line-height:1;
  margin:12px 0 14px;
  font-weight:900;
}
.contact-v7-heading p{
  color:#5e6d67;
  font-size:17px;
  margin:0;
}
.contact-v7-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px 22px;
  max-width:1180px;
  margin:0 auto;
}
.contact-v7-form .field{
  display:flex;
  flex-direction:column;
  gap:9px;
  color:#082f27;
  font-weight:800;
  font-size:16px;
}
.contact-v7-form .field-wide{
  grid-column:1/-1;
}
.contact-v7-form input,
.contact-v7-form select,
.contact-v7-form textarea{
  width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1.5px solid #7d8d86;
  border-radius:4px;
  padding:15px 16px;
  color:#082f27;
  font:inherit;
  font-weight:500;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.contact-v7-form input,
.contact-v7-form select{
  min-height:54px;
}
.contact-v7-form textarea{
  resize:vertical;
  min-height:150px;
}
.contact-v7-form input:focus,
.contact-v7-form select:focus,
.contact-v7-form textarea:focus{
  border-color:#0b5b47;
  box-shadow:0 0 0 3px rgba(11,91,71,.10);
}
.contact-v7-form input::placeholder,
.contact-v7-form textarea::placeholder{
  color:#8a9691;
}
.contact-v7-actions{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:3px;
}
.contact-submit{
  appearance:none;
  border:0;
  border-radius:5px;
  background:#ffc414;
  color:#082f27;
  padding:17px 38px;
  min-width:170px;
  font-weight:900;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(8,47,39,.10);
}
.contact-submit:hover{
  background:#ffd13e;
}
.contact-v7-actions span{
  color:#66736e;
  font-size:14px;
}
.contact-v7-actions strong{
  color:#0b5b47;
}
@media(max-width:760px){
  .contact-v7{padding:70px 18px 80px}
  .contact-v7-form{grid-template-columns:1fr;gap:20px}
  .contact-v7-form .field-wide{grid-column:auto}
  .contact-v7-actions{flex-direction:column;align-items:flex-start}
  .contact-submit{width:100%}
}


/* =========================================================
   V9 — OPTIMIZACIÓN MÓVIL
   Solo afecta pantallas pequeñas; escritorio permanece igual.
   ========================================================= */

@media (max-width: 760px){

  html{
    scroll-behavior:smooth;
    overflow-x:hidden;
  }
  body{
    overflow-x:hidden;
  }
  .container{
    width:auto !important;
    max-width:none !important;
    margin-left:18px !important;
    margin-right:18px !important;
  }

  /* HEADER */
  header, .site-header, .navbar, .nav{
    min-height:66px;
  }
  .header-inner, .nav-inner{
    min-height:66px;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .header-logo{
    width:92px !important;
    height:52px !important;
    transform:none !important;
  }
  nav a:not(.btn):not(.nav-cta),
  .nav-links a:not(.btn):not(.nav-cta){
    display:none !important;
  }
  header .btn,
  header .nav-cta,
  header a[href*="wa.me"]{
    padding:12px 14px !important;
    font-size:13px !important;
    white-space:nowrap;
  }

  /* HERO */
  .hero{
    min-height:auto !important;
    padding-top:58px !important;
    padding-bottom:62px !important;
    background-position:center center !important;
  }
  .hero .container,
  .hero-inner,
  .hero-content{
    display:block !important;
  }
  .hero h1{
    font-size:clamp(48px,15vw,68px) !important;
    line-height:.88 !important;
    letter-spacing:-.035em;
    max-width:100% !important;
  }
  .hero h2,
  .hero .subtitle{
    font-size:22px !important;
    line-height:1.15 !important;
  }
  .hero p{
    font-size:16px !important;
    line-height:1.5 !important;
    max-width:100% !important;
  }
  .hero-features{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:7px !important;
    margin:22px 0 !important;
  }
  .price-card, .price-box, .hero-price, .price-tag{
    width:100% !important;
    max-width:345px !important;
    box-sizing:border-box;
    transform:none !important;
    rotate:0deg !important;
    clip-path:none !important;
    border-radius:0 !important;
  }
  .hero-actions,
  .cta-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    max-width:100% !important;
  }
  .hero-actions .btn,
  .cta-row .btn{
    width:100% !important;
    min-width:0 !important;
    padding:15px 10px !important;
    text-align:center;
    font-size:14px !important;
  }

  /* SECCIONES GENERALES */
  section{
    scroll-margin-top:70px;
  }
  section:not(.hero):not(.contact-v7){
    padding-top:64px;
    padding-bottom:64px;
  }
  section h2{
    font-size:clamp(34px,10vw,46px) !important;
    line-height:1.02 !important;
  }
  .eyebrow{
    font-size:11px !important;
    letter-spacing:.24em !important;
  }

  /* EL EQUIPO */
  .equipment-grid,
  .equipment-wrap,
  .two-col,
  .split,
  .about-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .photo-card{
    width:100% !important;
    max-width:100% !important;
  }
  .photo-card img{
    width:100% !important;
    height:auto !important;
    display:block;
  }
  .specs,
  .spec-grid{
    grid-template-columns:1fr 1fr 1fr !important;
    gap:7px !important;
  }
  .specs > *,
  .spec-grid > *{
    padding:14px 10px !important;
  }

  /* ENTREGA: jerárquicamente antes del simulador */
  .delivery-grid,
  .delivery-cards,
  .modes-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .delivery-card,
  .mode-card{
    padding:24px 20px !important;
    border-radius:16px !important;
  }
  .delivery-card iframe,
  .mode-card iframe{
    width:100% !important;
    min-height:250px !important;
  }

  /* SIMULADOR / PRECIOS */
  .calculator,
  .calculator-grid,
  .quote-grid,
  .pricing-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  input, select, textarea, button{
    font-size:16px; /* evita zoom automático en iPhone */
  }

  /* CONTACTO */
  .contact-v7{
    padding:68px 18px 76px !important;
  }
  .contact-v7-inner{
    margin:0 !important;
  }
  .contact-v7-heading{
    margin-bottom:34px !important;
  }
  .contact-v7-heading h2{
    font-size:clamp(40px,12vw,54px) !important;
  }
  .contact-v7-heading p{
    font-size:15px !important;
    line-height:1.45 !important;
  }
  .contact-v7-form{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .contact-v7-form .field-wide{
    grid-column:auto !important;
  }
  .contact-v7-form input,
  .contact-v7-form select{
    min-height:54px !important;
  }
  .contact-v7-form textarea{
    min-height:145px !important;
  }
  .contact-submit{
    width:100% !important;
    min-height:54px !important;
  }

  /* FOOTER */
  footer .container,
  .footer-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:20px !important;
  }
  .footer-logo{
    width:105px !important;
    height:auto !important;
  }
  .footer-contact{
    margin-left:0 !important;
    align-items:flex-start !important;
  }

  /* WHATSAPP FLOTANTE */
  .float-wa{
    width:54px !important;
    height:54px !important;
    right:16px !important;
    bottom:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:9999 !important;
  }
  .float-wa svg{
    width:29px !important;
    height:29px !important;
  }
}

/* Teléfonos muy angostos */
@media (max-width: 390px){
  .hero h1{
    font-size:45px !important;
  }
  .hero-actions,
  .cta-row{
    grid-template-columns:1fr !important;
  }
  .specs,
  .spec-grid{
    grid-template-columns:1fr !important;
  }
  header .btn,
  header .nav-cta,
  header a[href*="wa.me"]{
    font-size:12px !important;
    padding:11px 10px !important;
  }
}
