/* Páginas internas — se apoya en los tokens de styles.css */
.inner main{min-height:60vh}
.sec{padding:clamp(64px,9vw,120px) 0}
.sec--alt{background:var(--bg2);border-block:1px solid var(--line)}
.sec h2{margin-bottom:22px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center}
.split--top{align-items:start}
.split--rev>.fig{order:0}
.sticky{position:sticky;top:110px}
.fig{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;position:relative}
.fig img{width:100%;height:100%;object-fit:cover}
.chips--lg li{padding:11px 18px;font-size:15px}
.lead2{max-width:62ch;font-size:clamp(17px,1.6vw,21px);margin-bottom:48px}
.prose-wrap h2{max-width:20ch}
.prose{max-width:70ch;display:flex;flex-direction:column;gap:20px;color:#c9cacd}
.statement{max-width:900px;text-align:left}
.statement h2{max-width:22ch}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.comp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.duo{display:grid;gap:18px}
.pillar--link{display:block;background:var(--grad);border:0}
.pillar--link p{color:rgba(255,255,255,.88)}
.pillar--link .pillar__n{color:#fff;font-size:22px}
.pillar--hot{background:linear-gradient(160deg,rgba(226,59,78,.16),transparent),var(--card);border-color:rgba(226,59,78,.4)}
.pillar--hot .btn{margin-top:22px}
.pillar h3 a:hover{color:#ff6a78}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.badges li{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--mut);font-size:14.5px}
.badges b{display:block;font:700 26px/1.1 var(--f-head);color:var(--text);margin-bottom:6px}
.export--sm{padding:clamp(44px,6vw,80px) 0}

/* Subhero */
.subhero{position:relative;min-height:clamp(380px,56vh,560px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.subhero__bg{position:absolute;inset:0;width:100%;height:115%;object-fit:cover;will-change:transform}
.subhero__shade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0%,rgba(14,15,18,.72) 45%,rgba(14,15,18,.5) 100%),linear-gradient(90deg,rgba(14,15,18,.7),transparent 70%)}
.subhero__in{position:relative;padding-top:150px;padding-bottom:clamp(40px,6vw,72px)}
.subhero h1{font-size:clamp(34px,5.6vw,76px);max-width:18ch}
.subhero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.subhero .lead{max-width:56ch;margin-top:20px;color:#cfd0d3;font-size:clamp(16px,1.5vw,19px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:500 13.5px/1 var(--f-head);color:var(--mut);margin-bottom:26px}
.crumbs a:hover{color:var(--text)}
.crumbs span{opacity:.5}
.crumbs b{color:var(--text);font-weight:500}

/* CTA band */
.band{padding:clamp(56px,8vw,96px) 0;background:radial-gradient(90% 140% at 100% 0%,rgba(226,59,78,.22),transparent 60%),var(--bg2);border-top:1px solid var(--line)}
.band__in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.band h2{max-width:20ch;margin:0}
.band__btns{display:flex;gap:12px;flex-wrap:wrap}

/* Catálogo */
.catalog{padding:48px 0 clamp(70px,9vw,120px)}
.toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;position:sticky;top:64px;z-index:20;background:rgba(14,15,18,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:22px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{font:500 14px/1 var(--f-head);color:var(--mut);background:transparent;border:1px solid var(--line);border-radius:999px;padding:11px 16px;cursor:pointer;transition:all .2s;display:inline-flex;gap:8px;align-items:center}
.chip em{font-style:normal;font-size:12px;opacity:.65}
.chip:hover{color:var(--text);border-color:rgba(255,255,255,.3)}
.chip.is-on{background:var(--grad);border-color:transparent;color:#fff}
.search input{width:min(340px,100%);font:400 15px/1 var(--f-body);color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:13px 18px;transition:border-color .2s,box-shadow .2s}
.search input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(226,59,78,.18)}
.count{color:var(--mut);font-size:14px;margin:0 0 22px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.pgrid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 22px;display:flex;flex-direction:column;transition:border-color .3s,transform .35s}
.pcard:hover{border-color:rgba(226,59,78,.6);transform:translateY(-5px)}
.pcard[hidden]{display:none}
.pcard__img{background:var(--paper);border-radius:12px;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;margin-bottom:20px}
.pcard__img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .6s}
.pcard:hover .pcard__img img{transform:scale(1.07)}
.pcard small{font:600 11.5px/1 var(--f-head);letter-spacing:.16em;text-transform:uppercase;color:var(--red);padding:0 12px;margin-bottom:10px}
.pcard h3{font-size:20px;padding:0 12px;margin-bottom:8px}
.pcard p{font-size:14.5px;color:var(--mut);padding:0 12px;line-height:1.55;margin-bottom:14px}
.pcard__go{margin-top:auto;padding:12px 12px 0;font:600 14px/1 var(--f-head);color:var(--text);opacity:.7;transition:opacity .2s,color .2s}
.pcard:hover .pcard__go{opacity:1;color:#ff6a78}
.empty{padding:60px 0;text-align:center;color:var(--mut)}
.empty a{color:#ff6a78;text-decoration:underline}

/* Ficha de producto */
.pdp{padding:120px 0 clamp(60px,8vw,100px)}
.pdp .crumbs{margin-bottom:34px}
.pdp__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:start}
.gallery{position:sticky;top:100px}
.gallery__main{background:var(--paper);border-radius:var(--r);aspect-ratio:4/3.3;display:grid;place-items:center;overflow:hidden}
.gallery__main img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.gallery__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gallery__thumbs button{width:84px;height:68px;border-radius:10px;border:2px solid var(--line);background:var(--paper);padding:0;overflow:hidden;cursor:pointer;transition:border-color .2s}
.gallery__thumbs button.is-on,.gallery__thumbs button:hover{border-color:var(--red)}
.gallery__thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pdp__info h1{font-size:clamp(30px,4vw,52px);margin-bottom:22px}
.pdp__info .muted{margin-bottom:14px}
.specs{margin:0 0 30px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.specs>div{display:grid;grid-template-columns:42% 1fr;gap:14px;padding:14px 20px;border-top:1px solid var(--line)}
.specs>div:first-child{border-top:0}
.specs dt{color:var(--mut);font-size:14.5px}
.specs dd{margin:0}
.ticks{margin:0 0 30px;display:flex;flex-direction:column;gap:12px}
.ticks li{position:relative;padding-left:30px;color:#cfd0d3}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg) translateY(-3px)}
.ticks--lg li{font-size:18px;padding:18px 0 18px 36px;border-bottom:1px solid var(--line)}
.ticks--lg li::before{top:1.5em}
.pdp__cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.trust{display:flex;flex-direction:column;gap:8px;color:var(--mut);font-size:14px;border-top:1px solid var(--line);padding-top:22px}
.trust li::before{content:"✓ ";color:var(--red)}
.related{padding:20px 0 clamp(60px,8vw,100px)}
.related h2{font-size:clamp(26px,3vw,38px);margin-bottom:28px;max-width:none}

/* Obras */
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.projects article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:34px}
.projects small{display:block;font:600 12px/1 var(--f-head);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:26px}
.projects h3{font-size:21px;margin:22px 0 8px}
.projects h3:first-of-type{margin-top:0}
.projects p{color:var(--mut);font-size:15.5px}
.masonry{columns:4 220px;column-gap:14px;margin-top:38px}
.masonry__it{display:block;width:100%;margin:0 0 14px;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:var(--card);break-inside:avoid;position:relative}
.masonry__it img{width:100%;height:auto;transition:transform .6s,filter .3s}
.masonry__it:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(8,9,11,.94);display:grid;place-items:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(92vw,1200px);max-height:88vh;border-radius:12px}
.lb__x,.lb__n{position:absolute;background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;transition:background .2s}
.lb__x:hover,.lb__n:hover{background:var(--red-d)}
.lb__x{top:18px;right:18px}
.lb__n{top:50%;transform:translateY(-50%)}
.lb__n--p{left:18px}.lb__n--n{right:18px}

/* Clientes */
.logogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.logogrid li{background:var(--paper);border-radius:14px;aspect-ratio:3/2;display:grid;place-items:center;padding:22px;transition:transform .3s}
.logogrid li:hover{transform:translateY(-4px)}
.logogrid img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.logogrid--sm{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-top:34px}

/* Repuestos */
.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:44px}
.strip img{aspect-ratio:1;object-fit:cover;border-radius:14px;width:100%;background:var(--paper)}

/* Contacto */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cgrid .pillar__n{letter-spacing:.14em;text-transform:uppercase}

/* Cotizar */
.quote{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(30px,5vw,70px);align-items:start}
.wizard{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.4vw,44px)}
.wizard__steps{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;font:500 14px/1 var(--f-head);color:var(--mut)}
.wizard__steps li{display:flex;align-items:center;gap:10px;transition:color .3s}
.wizard__steps b{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;transition:all .3s}
.wizard__steps li.is-on{color:var(--text)}
.wizard__steps li.is-on b,.wizard__steps li.is-done b{background:var(--red-d);border-color:var(--red);color:#fff}
.wizard__bar{height:3px;background:var(--line);border-radius:3px;margin-bottom:30px;overflow:hidden}
.wizard__bar i{display:block;height:100%;background:var(--grad);width:33%;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.pane{display:none;border:0;padding:0;margin:0;flex-direction:column;gap:18px}
.pane.is-on{display:flex}
.pane label,.wizard label{display:flex;flex-direction:column;gap:8px;font:500 14px/1 var(--f-head);color:var(--mut)}
.pane input,.pane select{font:400 16px/1.4 var(--f-body);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 16px;width:100%;transition:border-color .2s,box-shadow .2s}
.pane input:focus,.pane select:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(226,59,78,.18)}
.pane input::placeholder{color:#6c6f76}
.pane input.is-bad,.pane select.is-bad{border-color:#ff7a86}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.review{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.review>div{display:grid;grid-template-columns:40% 1fr;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font-size:15px}
.review>div:first-child{border-top:0}
.review dt{color:var(--mut)}.review dd{margin:0}
.wizard__nav{display:flex;gap:12px;margin-top:30px;justify-content:flex-end}
.form__err{color:#ff8b96;font-size:14.5px;margin-top:18px}
.quote__aside{background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:30px;position:sticky;top:110px}
.quote__aside h3{margin-bottom:8px;font-size:22px}
.aside__row{display:block;padding:16px 0;border-top:1px solid var(--line);margin-top:16px}
.aside__row small{display:block;font:600 11px/1 var(--f-head);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
a.aside__row:hover{color:#ff6a78}

/* Footer completo */
.foot--full{padding:clamp(50px,7vw,80px) 0 26px;background:var(--bg)}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px;padding-bottom:44px}
.foot__grid h4{font:600 12px/1 var(--f-head);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0 0 18px}
.foot__grid a,.foot__grid span{display:block;padding:5px 0;font-size:15px}
.foot__brand p{margin-top:16px;max-width:30ch;font-size:15px}
.foot--full .foot__row{border-top:1px solid var(--line);padding-top:22px}

@media (max-width:1000px){
  .split,.pdp__grid,.quote{grid-template-columns:1fr}
  .sticky,.gallery,.quote__aside{position:static}
  .trio,.comp,.cgrid,.badges{grid-template-columns:1fr}
  .projects{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
  .strip{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .toolbar{top:0;position:relative;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding-top:0;border:0}
  .filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scrollbar-width:none}
  .chip{flex:none}
  .two{grid-template-columns:1fr}
  .wizard__nav{justify-content:stretch}.wizard__nav .btn{flex:1}
}
@media (max-width:520px){
  .foot__grid{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .specs>div,.review>div{grid-template-columns:1fr;gap:4px}
}

/* Correcciones */
[hidden]{display:none!important}
.foot__grid a.brand{display:flex;padding:0}
.foot__brand .brand{margin-right:0}
.sec .muted+.muted{margin-top:14px}

/* ---- Tarjetas de contacto con ilustración ---- */
.ccard{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,border-color .3s}
.ccard:hover{transform:translateY(-6px);border-color:rgba(226,59,78,.5)}
.ccard--hot{border-color:rgba(226,59,78,.4);background:linear-gradient(160deg,rgba(226,59,78,.12),transparent 55%),var(--card)}
.ccard__art{background:radial-gradient(90% 100% at 50% 0%,#20232a,#15171c);border-bottom:1px solid var(--line);aspect-ratio:16/10;overflow:hidden}
.ccard__art svg{width:100%;height:100%;display:block}
.ccard__body{padding:28px 30px 32px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.ccard__body h3{margin:10px 0 8px;font-size:clamp(22px,2vw,28px)}
.ccard__body h3 a:hover{color:#ff6a78}
.ccard__body p{color:var(--mut);margin-bottom:18px}
.ccard__body p a{color:var(--text)}
.ccard__body p a:hover{color:#ff6a78}
.ccard__body .btn{margin-top:auto}
.clink{margin-top:auto;font:600 15px/1 var(--f-head);color:var(--text);display:inline-flex;gap:10px;align-items:center;padding:12px 0;border-bottom:2px solid var(--red);transition:color .2s,gap .2s}
.clink:hover{color:#ff6a78;gap:16px}
.clink i{font-style:normal}
.exts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.exts li{padding:7px 12px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;color:var(--mut)}
.exts b{color:#ff6a78;font-family:var(--f-head);margin-right:4px}

/* Mapa */
.m-bg{fill:#1b1e24}.m-park{fill:#1c2a24}.m-water{fill:#18283a;opacity:.9}
.m-roads path{fill:none;stroke:#2c3039;stroke-width:5;stroke-linecap:round}
.m-roads .m-main{stroke:#3a3e48;stroke-width:9}
.m-route{fill:none;stroke:#E23B4E;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:3 9;animation:mroute 1.6s linear infinite}
.m-start{fill:#1b1e24;stroke:#E23B4E;stroke-width:3}
.m-shadow{fill:rgba(0,0,0,.45)}
.m-pulse{fill:none;stroke:#E23B4E;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:mpulse 2.4s ease-out infinite}
.m-pulse--2{animation-delay:1.2s}
.m-drop{fill:#E23B4E;transform-box:fill-box;transform-origin:50% 100%;animation:mdrop 3.2s cubic-bezier(.3,1.4,.5,1) infinite}
.m-drop circle{fill:#fff}
@keyframes mroute{to{stroke-dashoffset:-24}}
@keyframes mpulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes mdrop{0%,8%{transform:translateY(-26px);opacity:0}22%{transform:translateY(0);opacity:1}30%{transform:translateY(-6px)}38%,100%{transform:translateY(0);opacity:1}}

/* Teléfono */
.p-body{fill:#2a2d35;stroke:#454955;stroke-width:1.5}.p-screen{fill:#0e0f12}.p-notch{fill:#0e0f12}
.p-avatar{fill:#3a3e48}.p-person{fill:none;stroke:#9EA1A8;stroke-width:2.5;stroke-linecap:round}.p-head{fill:#9EA1A8}
.p-line{fill:#3a3e48}.p-line--s{fill:#2c3039}
.p-end{fill:#b81d38}.p-call{fill:#2fbf71;transform-box:fill-box;transform-origin:center;animation:pcall 1.2s ease-in-out infinite}
.p-handset{fill:#fff}
.p-phone{transform-box:fill-box;transform-origin:50% 60%;animation:pshake 2.8s ease-in-out infinite}
.w{fill:none;stroke:#E23B4E;stroke-width:3.5;stroke-linecap:round;opacity:0;animation:pwave 2.8s ease-out infinite}
.w2{animation-delay:.2s}.w3{animation-delay:.4s}
@keyframes pwave{0%,10%{opacity:0}25%{opacity:1}55%,100%{opacity:0}}
@keyframes pshake{0%,60%,100%{transform:rotate(0)}6%{transform:rotate(-5deg)}12%{transform:rotate(5deg)}18%{transform:rotate(-4deg)}24%{transform:rotate(4deg)}30%{transform:rotate(-2deg)}36%{transform:rotate(0)}}
@keyframes pcall{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}

/* Ascensor */
.l-bg{fill:#171a1f}
.l-shaft{fill:#101216;stroke:#3a3e48;stroke-width:2}
.l-floors path{stroke:#2c3039;stroke-width:2;stroke-dasharray:4 5;fill:none}
.l-nums text{fill:#6c6f76;font:600 12px "Space Grotesk",sans-serif}
.l-cabbody{fill:#b9bcc2;stroke:#e0e2e6;stroke-width:1.5}
.l-door{fill:#8b8e95}
.l-cab{animation:lcab 7s ease-in-out infinite}
.l-door--l{animation:ldl 7s ease-in-out infinite}.l-door--r{animation:ldr 7s ease-in-out infinite}
.l-display rect{fill:#0b0c0e;stroke:#454955}
.d{fill:#ff5566;font:700 11px "Space Grotesk",sans-serif;text-anchor:middle;opacity:0}
.d1{animation:dn1 7s infinite}.d2{animation:dn2 7s infinite}.d3{animation:dn3 7s infinite}.d4{animation:dn4 7s infinite}
.l-panel rect{fill:#2a2d35;stroke:#454955;stroke-width:1.5}
.l-btn circle{fill:#1a1d22;stroke:#E23B4E;stroke-width:2;animation:lbtn 7s infinite}
.l-btn path{fill:#E23B4E}
.l-led{fill:#E23B4E;animation:lled 7s infinite}
.l-spark{stroke:#E23B4E;stroke-width:2;stroke-linecap:round;opacity:.6;animation:lspark 3s ease-in-out infinite}
@keyframes lcab{0%,8%{transform:translateY(0)}45%,100%{transform:translateY(-123px)}}
@keyframes ldl{0%,50%{transform:translateX(0)}60%,85%{transform:translateX(-18px)}95%,100%{transform:translateX(0)}}
@keyframes ldr{0%,50%{transform:translateX(0)}60%,85%{transform:translateX(18px)}95%,100%{transform:translateX(0)}}
@keyframes dn1{0%,12%{opacity:1}13%,100%{opacity:0}}
@keyframes dn2{0%,12%{opacity:0}13%,22%{opacity:1}23%,100%{opacity:0}}
@keyframes dn3{0%,22%{opacity:0}23%,34%{opacity:1}35%,100%{opacity:0}}
@keyframes dn4{0%,34%{opacity:0}35%,95%{opacity:1}100%{opacity:0}}
@keyframes lbtn{0%,4%{fill:#1a1d22}6%,40%{fill:#E23B4E}46%,100%{fill:#1a1d22}}
@keyframes lled{0%,4%{opacity:.25}6%,45%{opacity:1}50%,100%{opacity:.25}}
@keyframes lspark{0%,100%{opacity:.15}50%{opacity:.8}}

@media (prefers-reduced-motion:reduce){
  .m-route,.m-pulse,.m-drop,.p-phone,.w,.p-call,.l-cab,.l-door,.d,.l-btn circle,.l-led,.l-spark{animation:none}
  .w{opacity:.5}.d4{opacity:1}.l-cab{transform:translateY(-123px)}
}

/* ---- Chat de WhatsApp ---- */
.wa__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,100px);align-items:center}
.wa__copy h2{max-width:16ch}
.wa__copy .muted{margin-bottom:26px;max-width:46ch}
.wa__btn{margin-top:8px;background:#1fa855;box-shadow:0 12px 30px -10px rgba(37,211,102,.55)}
.wa__btn:hover{box-shadow:0 18px 36px -10px rgba(37,211,102,.7)}
.wa__stage{display:grid;place-items:center;padding:30px 0;position:relative}
.wa__stage::before{content:"";position:absolute;inset:8% 10%;background:radial-gradient(closest-side,rgba(37,211,102,.22),transparent);filter:blur(30px)}
.chat{position:relative;width:min(380px,100%);border-radius:26px;overflow:hidden;background:#0b141a;border:1px solid #26333b;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 0 8px rgba(255,255,255,.03)}
.chat__head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#202c33;color:#e9edef}
.chat__back{font-size:30px;line-height:.6;color:#aebac1}
.chat__avatar{position:relative;overflow:hidden;width:42px;height:42px;border-radius:50%;background:#fff url(img/logo1.jpg) no-repeat;background-size:76px auto;background-position:-21px 2px;flex:none;border:2px solid #0b141a}
.chat__avatar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:#fff}
.chat__who{display:flex;flex-direction:column;line-height:1.2;flex:1}
.chat__who b{font:600 16px/1.2 var(--f-body)}
.chat__who small{color:#25d366;font-size:12.5px}
.chat__dots{display:flex;flex-direction:column;gap:3px}
.chat__dots i{width:4px;height:4px;border-radius:50%;background:#aebac1}
.chat__body{padding:16px 14px 18px;display:flex;flex-direction:column;gap:8px;height:300px;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.035) 0 2px,transparent 2px) 0 0/34px 34px,#0b141a}
.chat__day{align-self:center;background:#182229;color:#8696a0;font:600 11px/1 var(--f-body);letter-spacing:.06em;padding:6px 12px;border-radius:8px;margin-bottom:4px}
.msg{max-width:84%;padding:8px 10px 6px;border-radius:10px;color:#e9edef;font-size:14.5px;line-height:1.4;position:relative;transform-origin:left bottom}
.msg p{margin:0 0 2px}
.msg time{display:block;text-align:right;font-size:11px;color:#8696a0}
.msg time em{font-style:normal;color:#53bdeb;letter-spacing:-2px}
.msg--in{background:#202c33;border-top-left-radius:2px;align-self:flex-start}
.msg--out{background:#005c4b;border-top-right-radius:2px;align-self:flex-end;transform-origin:right bottom}
.msg--typing{background:#202c33;align-self:flex-start;display:flex;gap:5px;padding:13px 14px;border-top-left-radius:2px}
.msg--typing i{width:7px;height:7px;border-radius:50%;background:#8696a0;animation:tdot 1.1s infinite}
.msg--typing i:nth-child(2){animation-delay:.18s}.msg--typing i:nth-child(3){animation-delay:.36s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.msg.pop{animation:pop .35s cubic-bezier(.2,1.3,.4,1)}
@keyframes pop{from{opacity:0;transform:scale(.8) translateY(8px)}to{opacity:1;transform:none}}
.chat__bar{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px 14px;background:#0b141a}
.chat__input{flex:1;display:flex;align-items:center;gap:10px;min-height:46px;background:#202c33;border-radius:24px;padding:10px 16px;color:#e9edef;font-size:14.5px;overflow:hidden}
.chat__emoji{color:#8696a0;font-size:20px;line-height:1}
.chat__text{flex:1;min-width:0;white-space:nowrap;overflow:hidden}
.chat__text:empty::before{content:"Escribe un mensaje";color:#8696a0}
.chat__text.is-typing::after{content:"";display:inline-block;width:2px;height:1.1em;background:#25d366;margin-left:2px;vertical-align:text-bottom;animation:caret .7s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.chat__ph{display:none}
.chat__send{position:relative;width:46px;height:46px;border-radius:50%;background:#25d366;color:#07251a;display:grid;place-items:center;flex:none;transition:transform .2s,background .2s}
.chat__send:hover{background:#3ae07a;transform:scale(1.08)}
.chat__ring{position:absolute;inset:-2px;border-radius:50%;border:2px solid #25d366;opacity:0;pointer-events:none}
.chat.is-ready .chat__send{animation:sendpulse 1.1s ease-in-out infinite}
.chat.is-ready .chat__ring{animation:ring 1.1s ease-out infinite}
.chat.is-click .chat__send{animation:none;transform:scale(.88);background:#1fa855}
@keyframes sendpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.2)}}
.chat__tip{position:absolute;right:6px;bottom:72px;background:#fff;color:#111;font:600 12.5px/1 var(--f-head);padding:9px 12px;border-radius:10px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;white-space:nowrap;box-shadow:0 8px 20px -6px rgba(0,0,0,.5);pointer-events:none}
.chat__tip::after{content:"";position:absolute;right:18px;bottom:-5px;width:10px;height:10px;background:#fff;transform:rotate(45deg)}
.chat.is-ready .chat__tip{opacity:1;transform:none}
.chat__cursor{position:absolute;right:-6px;bottom:2px;pointer-events:none;opacity:0;transform:translate(70px,60px);transition:transform .8s cubic-bezier(.3,.9,.3,1),opacity .3s;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));z-index:3}
.chat.is-ready .chat__cursor{opacity:1;transform:translate(-2px,10px)}
.chat.is-click .chat__cursor{opacity:1;transform:translate(-2px,10px) scale(.85)}
@media (max-width:1000px){.wa__grid{grid-template-columns:1fr}.wa__copy h2{max-width:20ch}}
@media (prefers-reduced-motion:reduce){.msg--typing i,.chat.is-ready .chat__send,.chat.is-ready .chat__ring,.chat__text.is-typing::after{animation:none}.msg.pop{animation:none}}
