
:root{
  --ink:#162014;
  --deep:#18240f;
  --green:#8bbd22;
  --green2:#6f9e13;
  --lime:#eff7dd;
  --soft:#f8faf4;
  --line:#dfe8d4;
  --muted:#65705d;
  --wa:#25D366;
  --warn:#fff4e7;
  --orange:#db7a22;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,92%);margin:auto}

/* Header */
.header{position:sticky;top:0;z-index:9000;background:#82b81a;border-bottom:1px solid #729f16}
.disclaimer-bar{background:#ffce31;color:var(--ink);text-align:center;font-size:12.5px;font-weight:800;padding:8px 16px}
.privacy-link{color:#0758a8;text-decoration:underline}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{height:48px;max-width:300px;object-fit:contain}
.links{display:flex;gap:16px;align-items:center;font-size:13px;font-weight:850;color:#fff}
.links a{white-space:nowrap}
.links a:hover{color:#18240f}
.navcall{padding:11px 16px;border-radius:999px;background:#fff;color:var(--green2)!important;white-space:nowrap}
.menu-btn{display:none;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:11px;padding:10px 14px;font-weight:900;font:inherit;cursor:pointer}

/* Hero */
.hero{
  position:relative;overflow:hidden;padding:78px 0 86px;
  background:
    radial-gradient(circle at 84% 18%,rgba(139,189,34,.16),transparent 24%),
    linear-gradient(135deg,#fbfff6 0 58%,#eff7dd 58% 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    repeating-linear-gradient(45deg,rgba(111,158,19,.045) 0 1px,transparent 1px 20px);
}
.hero::after{
  content:"TM21 · TM31 · TM5 · TM6 · TM7";
  position:absolute;left:-30px;bottom:6px;
  font-size:78px;font-weight:950;letter-spacing:10px;
  color:transparent;-webkit-text-stroke:1px rgba(111,158,19,.08);
  white-space:nowrap;pointer-events:none
}
.hero-shape{
  position:absolute;right:-120px;top:-130px;width:430px;height:430px;
  border:66px solid rgba(139,189,34,.09);
  border-radius:50%;
}
.hero-note{
  position:absolute;right:6%;bottom:17%;
  padding:10px 17px;border-radius:999px;background:#18240f;color:#fff;
  font-weight:900;transform:rotate(-5deg)
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.16fr .84fr;gap:52px;align-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--green2);font-size:12px;font-weight:950;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px}
.eyebrow::before{content:"";width:34px;height:4px;background:var(--green);border-radius:999px}
h1{font-size:clamp(46px,5.6vw,74px);line-height:1.04;letter-spacing:-2.2px;margin:0 0 24px;max-width:800px;overflow-wrap:break-word}
.accent{color:var(--green2)}
.badges-strip{padding:30px 0}
.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}
.badge{display:flex;align-items:center;justify-content:center;text-align:center;gap:9px;padding:11px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:900}
.badge strong{color:var(--green2)}
.badge.fast{background:var(--deep);color:#fff;border-color:var(--deep)}
.badge.fast strong{color:#b8e36c}
.ctas{display:grid;grid-template-columns:1.18fr .82fr;gap:11px;max-width:790px}
.cta{min-height:62px;display:flex;align-items:center;justify-content:center;text-align:center;padding:13px 17px;border-radius:999px;font-weight:900;transition:filter .15s ease,background .15s ease,color .15s ease}
.wa:hover,.pickup:hover{filter:brightness(.88)}
.phone:hover{background:var(--deep);color:#fff}
.cta svg{width:22px;height:22px;margin-right:8px;flex:0 0 22px}
.wa{background:var(--wa);color:#fff}
.pickup{background:var(--green2);color:#fff}
.phone{grid-column:1/-1;border:2px solid var(--deep);background:#fff;color:var(--deep)}

/* Info card */
.info{background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:0 28px 70px rgba(56,85,16,.15);position:relative;overflow:hidden}
.info::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--green),#c2df7a)}
.info .label{font-size:12px;color:var(--green2);font-weight:950;letter-spacing:2px;text-transform:uppercase}
.info h2{font-size:28px;line-height:1.05;margin:10px 0 20px}
.info-row{padding:13px 0;border-top:1px solid var(--line)}
.info-row small{display:block;color:#7a8571;margin-bottom:3px}
.reference{margin-top:14px;padding:16px;border-radius:17px;background:#f3f8eb}
.reference p{margin:5px 0}
.maplink{display:inline-block;margin-top:16px;color:var(--green2);font-weight:900}

/* Generic */
section{padding:82px 0}
.kicker{color:var(--green2);font-size:12px;letter-spacing:2px;font-weight:950;text-transform:uppercase}
.title{font-size:clamp(34px,4vw,52px);letter-spacing:-1.8px;line-height:1.04;margin:10px 0 15px;overflow-wrap:break-word}
.lead{font-size:18px;color:var(--muted);max-width:820px}

/* Models */
.models{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.models::after{content:"THERMOMIX";position:absolute;right:-45px;bottom:-80px;font-size:165px;font-weight:950;color:#223015}
.model-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:32px}
.model{background:#26361a;border:1px solid #40542b;border-radius:23px;padding:24px;min-height:190px}
.model .tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#b7db66;color:#1d290f;font-weight:950}
.model h3{font-size:23px;margin:24px 0 8px}
.model p{color:#dce8cf;margin:0}
.model.special{border-color:#d6b76a;background:#332d1c}
.model.special .tag{background:#f0ce75}

/* Problems */
.problems{background:#fff}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.problem{border:1px solid var(--line);border-top:5px solid var(--green);border-radius:22px;padding:24px;min-height:190px}
.problem h3{font-size:22px;margin:8px 0}
.problem p{color:var(--muted)}

/* Fast repair */
.fast-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}
.fast-art{min-height:390px;border-radius:36px;background:linear-gradient(145deg,#18240f,#8bbd22);position:relative;overflow:hidden}
.fast-art::before{content:"2 h";position:absolute;left:35px;top:18px;font-size:160px;font-weight:950;color:#fff}
.fast-art::after{content:"SEGÚN LA AVERÍA";position:absolute;left:38px;bottom:40px;background:#fff;color:#18240f;padding:14px 19px;border-radius:999px;font-weight:950;letter-spacing:1px}
.ticks{display:grid;gap:14px;margin-top:24px}
.tick{display:flex;gap:12px}
.tick i{width:27px;height:27px;border-radius:50%;background:#eff7dd;color:var(--green2);display:grid;place-items:center;font-style:normal;font-weight:950;flex:0 0 auto}

/* Steps */
.steps{background:var(--soft)}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:30px}
.step{background:#fff;border:1px solid var(--line);border-bottom:5px solid var(--green);border-radius:20px;padding:24px;min-height:205px}
.step strong{display:block;font-size:44px;color:#dce7cc}

/* Pickup */
.pickup-panel{display:grid;grid-template-columns:1.05fr .95fr;border-radius:34px;overflow:hidden;background:#18240f;color:#fff}
.pickup-copy,.pickup-side{padding:48px}
.pickup-side{background:var(--green2)}
.pickup-side .big{font-size:58px;font-weight:950;line-height:.94;overflow-wrap:break-word}
.pickup-side a{display:block;margin-top:20px;background:#fff;color:#18240f;padding:15px 20px;border-radius:13px;font-weight:950;text-align:center}

/* Trust */
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.trust{border-radius:28px;padding:30px;color:#fff;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}
.google{background:#33422a}.youtube{background:#c9161d}
.trust h3{font-size:28px;margin:8px 0}

/* Calendar / FAQ / Contact */
.cal-frame{width:100%;height:720px;border:0;background:#fff}
.faq{background:#f6f9f2}
details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin:10px 0}
summary{font-weight:900}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.full{grid-column:1/-1}
input,textarea,select{width:100%;padding:15px;border:1px solid #cfd9c6;border-radius:11px;font:inherit;background:#fff}
textarea{min-height:145px;resize:vertical}
.submit{border:0;background:var(--green2);color:#fff;padding:16px;border-radius:12px;font-weight:950;font-size:16px;cursor:pointer}
.map{width:100%;height:390px;border:0;border-radius:22px}

/* Footer */
footer{background:#18240f;color:#fff;padding:34px 0}
.footer{display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer img{height:42px;max-width:250px}

/* Floating */
.float-wa{position:fixed;right:22px;bottom:22px;z-index:10020;width:62px;height:62px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.23)}
.float-wa svg{width:33px;height:33px;color:#fff}

/* n8n consolidated */
#n8n-chat{--chat--color-primary:#18240f;--chat--color-secondary:#8bbd22;--chat--toggle--background:#18240f;--chat--toggle--hover--background:#6f9e13;--chat--toggle--active--background:#6f9e13}
#n8n-chat .chat-window-toggle,#n8n-chat [class*="chat-window-toggle"]{position:fixed!important;right:22px!important;bottom:96px!important;z-index:10060!important;border:1px solid #fff!important}
#n8n-chat .chat-window:not([class*="toggle"]),#n8n-chat [class*="chat-window"]:not([class*="toggle"]){position:fixed!important;right:22px!important;bottom:166px!important;z-index:10100!important;max-height:calc(100vh - 190px)!important}
#n8n-chat .chat-input,#n8n-chat [class*="chat-input"],#n8n-chat .chat-footer,#n8n-chat [class*="chat-footer"]{position:sticky!important;bottom:0!important;z-index:10110!important;background:#fff!important}

@media(max-width:920px){
  .menu-btn{display:block}
  .links{display:none;position:absolute;left:0;right:0;top:78px;background:#82b81a;padding:18px 20px 22px;flex-direction:column;align-items:flex-start;border-top:1px solid #729f16}
  .links.open{display:flex}
  .hero-grid,.fast-grid,.contact-grid,.pickup-panel{grid-template-columns:1fr}
  .model-grid{grid-template-columns:repeat(2,1fr)}
  .problem-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .trust-grid{grid-template-columns:1fr}
  .models::after{font-size:100px}
  .fast-art::before{font-size:100px}
}
@media(max-width:600px){
  .wrap{width:min(100% - 28px,1180px)}
  .hero{padding-top:46px}
  h1{font-size:48px;letter-spacing:-1.5px}
  .model-grid,.problem-grid,.steps-grid,.ctas,form{grid-template-columns:1fr}
  .badges{grid-template-columns:repeat(2,1fr)}
  .phone,.full{grid-column:auto}
  .hero::after,.hero-note{display:none}
  .models::after{font-size:64px;bottom:-20px}
  .fast-art::before{font-size:64px;left:20px;top:14px}
  .cal-frame{height:760px}
  .footer{flex-direction:column;align-items:flex-start}
  .float-wa{right:16px!important;bottom:18px!important}
  #n8n-chat .chat-window-toggle,#n8n-chat [class*="chat-window-toggle"]{right:16px!important;bottom:96px!important}
  #n8n-chat .chat-window:not([class*="toggle"]),#n8n-chat [class*="chat-window"]:not([class*="toggle"]){left:12px!important;right:12px!important;width:auto!important;bottom:166px!important}
  .pickup-copy,.pickup-side{padding:32px 24px}
  .pickup-side .big{font-size:36px}
}

/* SEO content section */
.seo-content{background:#fff}
.seo-text{max-width:900px;margin-top:18px;display:grid;gap:16px}
.seo-text p{color:var(--muted);font-size:16px;line-height:1.7;margin:0}
.seo-text small{color:#8a97a8}

/* Servicios y precios (catálogo real del dashboard Kelatos) */
.servicios-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.servicio-card{background:#fff;border:1px solid var(--line);border-radius:23px;overflow:hidden;display:flex;flex-direction:column}
.servicio-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--lime)}
.servicio-img-placeholder{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--deep);color:#fff;font-weight:950;font-size:22px;letter-spacing:1px}
.servicio-body{padding:20px 22px}
.servicio-categoria{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:900;color:var(--green2)}
.servicio-nombre{font-size:18px;margin:6px 0 12px;line-height:1.3;color:var(--ink)}
.servicio-precio{font-size:22px;font-weight:950;color:var(--deep)}
.servicio-precio.consultar{font-size:15px;font-weight:800;color:var(--muted)}
.servicios-vacio{color:var(--muted);margin-top:26px}
@media(max-width:900px){.servicios-lista{grid-template-columns:1fr}}
