/*
Theme Name: LHR CampaignOS
Theme URI: https://lhcampaignos.com
Author: LH & R Services Corp.
Author URI: https://lhcampaignos.com
Description: Sitio oficial de LHR CampaignOS para presentación comercial, demostraciones y acceso al sistema.
Version: 2.8.5
Text Domain: lhr-campaignos
*/

:root{--lhr-navy:#082b57;--lhr-blue:#0b76d1;--lhr-cyan:#11a7df;--lhr-bg:#f6f9fc;--lhr-text:#10243e;--lhr-muted:#607086;--lhr-border:#dce5ef;--lhr-white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--lhr-text);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--lhr-border)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.brand img{width:190px;display:block}.menu{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:700}.actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:10px;font-weight:800;border:1px solid transparent;transition:.2s}.btn-primary{background:linear-gradient(135deg,var(--lhr-blue),var(--lhr-navy));color:#fff}.btn-outline{border-color:var(--lhr-navy);color:var(--lhr-navy);background:#fff}.hero{padding:78px 0;background:radial-gradient(circle at 90% 10%,#dff3ff 0,transparent 28%),linear-gradient(180deg,#fff,#f8fbff)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.eyebrow{color:var(--lhr-blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.hero h1{font-size:58px;line-height:1.03;margin:12px 0 18px;color:var(--lhr-navy)}.hero h1 span{color:var(--lhr-blue)}.hero p{font-size:20px;color:var(--lhr-muted);max-width:650px}.hero-card{background:#fff;border:1px solid var(--lhr-border);border-radius:24px;padding:24px;box-shadow:0 24px 60px rgba(8,43,87,.12)}.mock-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mock-stat,.mock-panel{border:1px solid var(--lhr-border);border-radius:14px;padding:16px;background:#fbfdff}.mock-stat strong{display:block;font-size:30px;color:var(--lhr-navy)}.mock-panel{grid-column:span 3;height:180px;position:relative;overflow:hidden}.route{position:absolute;left:8%;right:8%;top:50%;height:4px;background:linear-gradient(90deg,var(--lhr-blue),var(--lhr-cyan));transform:rotate(-8deg);border-radius:8px}.pin{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--lhr-blue);border:4px solid #fff;box-shadow:0 0 0 2px var(--lhr-blue)}.pin.p1{left:18%;top:58%}.pin.p2{left:45%;top:37%}.pin.p3{right:19%;top:54%}.feature-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.chip{padding:9px 13px;border:1px solid var(--lhr-border);border-radius:999px;background:#fff;font-weight:700;font-size:13px;color:var(--lhr-navy)}section{padding:74px 0}.section-head{text-align:center;max-width:760px;margin:0 auto 36px}.section-head h2{font-size:38px;margin:0 0 10px;color:var(--lhr-navy)}.section-head p{color:var(--lhr-muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--lhr-border);border-radius:18px;padding:24px;background:#fff}.card .icon{font-size:28px;margin-bottom:12px}.card h3{margin:0 0 8px;color:var(--lhr-navy)}.muted{color:var(--lhr-muted)}.flow{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:center}.step{border:1px solid var(--lhr-border);border-radius:16px;padding:18px 10px;text-align:center;background:#fff;min-height:130px}.step b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lhr-blue);color:#fff;margin-bottom:10px}.dark{background:linear-gradient(135deg,#062449,#0b4f8e);color:#fff}.dark .section-head h2,.dark .card h3{color:#fff}.dark .section-head p,.dark .muted{color:#d8e8f7}.dark .card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}.device-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.devices{display:flex;align-items:end;justify-content:center;gap:14px}.device{border:6px solid #173a62;background:#fff;border-radius:18px;box-shadow:0 18px 35px rgba(8,43,87,.15)}.phone{width:95px;height:190px}.tablet{width:170px;height:230px}.desktop{width:300px;height:190px;border-width:10px;border-radius:10px}.brand-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.brand-box{border:1px solid var(--lhr-border);border-radius:16px;padding:18px;text-align:center}.palette{display:flex;justify-content:center;gap:6px;margin-top:10px}.swatch{width:26px;height:8px;border-radius:20px;background:var(--lhr-blue)}.swatch:nth-child(2){opacity:.65}.swatch:nth-child(3){opacity:.35}.security{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.security .card{text-align:center}.demo{background:var(--lhr-bg)}.demo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid var(--lhr-border);border-radius:10px;font:inherit;background:#fff}.form textarea{grid-column:span 2;min-height:110px}.form .full{grid-column:span 2}.site-footer{background:#041d3a;color:#d9e6f4;padding:46px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.footer-logo{width:180px;background:#fff;border-radius:10px;padding:8px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;font-size:13px;color:#9fb6cc}.mobile-toggle{display:none}
@media(max-width:900px){.menu{display:none}.mobile-toggle{display:block}.hero-grid,.device-grid,.split,.demo-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.cards,.security{grid-template-columns:1fr 1fr}.flow{grid-template-columns:repeat(2,1fr)}.brand-options{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.actions .btn-outline{display:none}}
@media(max-width:620px){.brand img{width:145px}.hero{padding:48px 0}.hero h1{font-size:34px}.hero p{font-size:17px}.cards,.security{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.form{grid-template-columns:1fr}.form textarea,.form .full{grid-column:span 1}.footer-grid{grid-template-columns:1fr}.section-head h2{font-size:30px}.actions .btn-primary{padding:10px 12px;font-size:12px}}

/* Stage 2 - interactive module showcase */
.showcase{background:linear-gradient(180deg,#fff,#f5f9fd)}
.showcase-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}
.module-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.module-tab{border:1px solid var(--lhr-border);background:#fff;color:var(--lhr-navy);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer;transition:.2s}
.module-tab:hover,.module-tab.active{background:var(--lhr-navy);color:#fff;border-color:var(--lhr-navy)}
.module-copy h3{font-size:30px;line-height:1.15;color:var(--lhr-navy);margin:10px 0 12px}
.demo-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.demo-points span{padding:8px 11px;background:#fff;border:1px solid var(--lhr-border);border-radius:10px;font-size:13px;font-weight:700;color:var(--lhr-navy)}
.device-stage{text-align:center}.demo-device{margin:auto;background:#102f52;border:8px solid #102f52;box-shadow:0 22px 50px rgba(8,43,87,.18);position:relative}.desktop-demo{width:min(100%,560px);aspect-ratio:16/10;border-radius:20px}.device-camera{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:8px;height:8px;background:#061728;border-radius:50%;z-index:2}.device-screen{width:100%;height:100%;background:#eaf4fb;border-radius:11px;overflow:hidden;padding:14px}.video-placeholder{height:100%;border-radius:10px;background:linear-gradient(135deg,#062449,#0b76d1);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.video-placeholder:before,.video-placeholder:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.video-placeholder:before{width:260px;height:260px;right:-100px;top:-100px}.video-placeholder:after{width:180px;height:180px;left:-70px;bottom:-70px}.video-badge{position:absolute;left:16px;top:16px;border:1px solid rgba(255,255,255,.35);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.play-button{width:68px;height:68px;border-radius:50%;background:#fff;color:var(--lhr-blue);display:grid;place-items:center;padding-left:4px;font-size:25px;box-shadow:0 12px 35px rgba(0,0,0,.18);z-index:1}.video-placeholder strong{font-size:26px;z-index:1}.video-placeholder span{font-size:13px;color:#d7ebf9;z-index:1}.device-caption{font-size:13px;color:var(--lhr-muted);margin-top:12px}
@media(max-width:900px){.showcase-grid{grid-template-columns:1fr}.module-copy{text-align:center}.module-tabs,.demo-points{justify-content:center}}
@media(max-width:620px){.module-tab{font-size:12px;padding:8px 10px}.module-copy h3{font-size:25px}.desktop-demo{border-width:6px}.device-screen{padding:8px}.play-button{width:58px;height:58px}.video-placeholder strong{font-size:22px}}


/* ===== ETAPA 3: páginas internas + acceso + soporte ===== */
.inner-hero{padding:82px 0 54px;background:linear-gradient(180deg,#f4f9ff 0%,#fff 100%)}
.inner-hero h1{max-width:850px;margin:8px auto 14px;text-align:center}
.inner-hero p{max-width:760px;margin:0 auto;text-align:center;color:#5d6c7e}
.inner-hero .eyebrow{text-align:center}
.page-section{padding:72px 0}
.page-section.alt{background:#f8fbff}
.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.page-grid.two{grid-template-columns:repeat(2,1fr)}
.info-panel{background:#fff;border:1px solid #dce8f5;border-radius:22px;padding:26px}
.info-panel h3{margin-top:0}
.access-shell{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch}
.access-brand{background:#082b57;color:#fff;border-radius:26px;padding:34px;display:flex;flex-direction:column;justify-content:center}
.access-brand p{color:#d7e7f8}
.access-card{background:#fff;border:1px solid #dce8f5;border-radius:26px;padding:30px}
.access-card .btn{width:100%;text-align:center;justify-content:center;margin-top:12px}
.access-note{font-size:14px;color:#6b7a8b;margin-top:14px}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.support-icon{font-size:30px;margin-bottom:12px}
.role-line{display:flex;gap:12px;align-items:flex-start;margin:16px 0}
.role-line b{display:block}
.breadcrumbs{font-size:14px;color:#718096;margin-bottom:14px}
.site-header .menu a.current{color:#0b77e3;font-weight:700}
.mobile-nav-toggle{display:none}
@media(max-width:900px){
  .page-grid,.page-grid.two,.support-grid,.access-shell{grid-template-columns:1fr}
  .inner-hero{padding:58px 0 40px}
}


/* ===== ETAPA 4: demostración animada de Canvassing ===== */
.canvass-demo{padding:76px 0;background:#f7fbff}
.canvass-demo .section-head{max-width:760px;margin:0 auto 34px;text-align:center}
.canvass-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.canvass-map{position:relative;min-height:470px;border:1px solid #d8e7f7;border-radius:26px;background:
linear-gradient(90deg,transparent 46%,rgba(11,119,227,.08) 47%,rgba(11,119,227,.08) 53%,transparent 54%),
linear-gradient(0deg,transparent 46%,rgba(11,119,227,.08) 47%,rgba(11,119,227,.08) 53%,transparent 54%),
#eef7ff;overflow:hidden}
.canvass-map:before,.canvass-map:after{content:"";position:absolute;background:#fff;border:1px solid #e1eaf4;border-radius:14px}
.canvass-map:before{width:120px;height:76px;left:8%;top:10%;box-shadow:250px 30px 0 #fff,460px 0 0 #fff,90px 270px 0 #fff,350px 290px 0 #fff}
.canvass-map:after{width:86px;height:58px;left:25%;top:52%;box-shadow:300px -15px 0 #fff,475px 125px 0 #fff}
.route-line{position:absolute;left:12%;top:64%;width:72%;height:6px;background:#0b77e3;border-radius:999px;transform:rotate(-19deg);transform-origin:left center}
.route-line:after{content:"";position:absolute;right:-2px;top:-5px;width:16px;height:16px;border-radius:50%;background:#0b77e3}
.stop{position:absolute;width:34px;height:34px;border-radius:50%;background:#fff;border:4px solid #0b77e3;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#0b77e3;z-index:3}
.stop.done{background:#0b77e3;color:#fff}
.stop.s1{left:13%;top:62%}.stop.s2{left:31%;top:51%}.stop.s3{left:49%;top:42%}.stop.s4{left:67%;top:31%}.stop.s5{left:82%;top:23%}
.walker{position:absolute;z-index:5;left:11%;top:57%;width:46px;height:46px;border-radius:50%;background:#082b57;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 10px 24px rgba(8,43,87,.22);transition:left .8s ease,top .8s ease}
.map-label{position:absolute;left:22px;bottom:18px;background:rgba(255,255,255,.92);padding:10px 14px;border-radius:12px;font-size:13px;color:#516274;border:1px solid #dce8f5}
.canvass-phone{background:#082b57;border-radius:30px;padding:12px;max-width:390px;width:100%;margin:0 auto}
.canvass-screen{background:#fff;border-radius:22px;min-height:446px;padding:22px;display:flex;flex-direction:column}
.demo-status{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #e6edf5}
.demo-status strong{color:#082b57}
.demo-badge{font-size:12px;background:#e8f3ff;color:#0b77e3;border-radius:999px;padding:7px 10px}
.door-card{margin-top:18px;border:1px solid #dce8f5;border-radius:18px;padding:18px}
.door-visual{font-size:52px;text-align:center;margin:10px 0}
.conversation{margin-top:15px;display:grid;gap:9px}
.bubble{max-width:86%;padding:10px 12px;border-radius:14px;font-size:14px}
.bubble.worker{background:#e9f4ff;color:#143a63;justify-self:start}
.bubble.voter{background:#f1f3f6;color:#334155;justify-self:end}
.demo-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:16px}
.demo-action{border:1px solid #d7e4f1;background:#fff;border-radius:12px;padding:10px 7px;text-align:center;font-size:12px;color:#334155}
.demo-action.active{background:#0b77e3;color:#fff;border-color:#0b77e3}
.canvass-controls{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.canvass-controls button{border:0;border-radius:999px;padding:11px 16px;cursor:pointer;font-weight:700}
.canvass-controls .primary{background:#0b77e3;color:#fff}
.canvass-controls .secondary{background:#e8f3ff;color:#0b5eaf}
@media(max-width:900px){.canvass-shell{grid-template-columns:1fr}.canvass-map{min-height:400px}}


/* ===== ETAPA 4.1: Canvassing automático + recorrido más realista ===== */
.canvass-map{
  min-height:500px;
  background:#eaf4ec;
  border-color:#d7e4df;
}
.canvass-map:before,
.canvass-map:after{display:none!important}
.neighborhood{
  position:absolute;inset:0;overflow:hidden;border-radius:26px;
  background:
    linear-gradient(90deg,transparent 0 14%,#d6d9dc 14% 24%,transparent 24% 51%,#d6d9dc 51% 62%,transparent 62% 100%),
    linear-gradient(0deg,transparent 0 15%,#d6d9dc 15% 25%,transparent 25% 48%,#d6d9dc 48% 59%,transparent 59% 100%),
    #e9f3e8;
}
.neighborhood .road-v,.neighborhood .road-h{position:absolute;background:#cbd1d5;z-index:1}
.neighborhood .road-v:before,.neighborhood .road-h:before{
  content:"";position:absolute;border-color:#fff;border-style:dashed;opacity:.85
}
.neighborhood .road-v{top:0;bottom:0;width:70px}
.neighborhood .road-v:before{left:34px;top:0;bottom:0;border-left-width:2px}
.neighborhood .road-v.rv1{left:18%}.neighborhood .road-v.rv2{left:56%}
.neighborhood .road-h{left:0;right:0;height:70px}
.neighborhood .road-h:before{top:34px;left:0;right:0;border-top-width:2px}
.neighborhood .road-h.rh1{top:20%}.neighborhood .road-h.rh2{top:53%}
.house{
  position:absolute;z-index:2;width:72px;height:58px;border:1px solid #c7d5c7;border-radius:8px;
  background:#fff;box-shadow:0 4px 10px rgba(44,70,55,.08)
}
.house:before{content:"";position:absolute;left:10px;right:10px;top:-14px;height:18px;background:#7f8d95;clip-path:polygon(50% 0,100% 100%,0 100%)}
.house:after{content:"";position:absolute;width:14px;height:22px;left:29px;bottom:0;background:#d8e3e9;border-radius:3px 3px 0 0}
.house.h1{left:4%;top:8%}.house.h2{left:31%;top:8%}.house.h3{left:68%;top:8%}.house.h4{left:82%;top:36%}
.house.h5{left:4%;top:37%}.house.h6{left:33%;top:37%}.house.h7{left:69%;top:67%}.house.h8{left:84%;top:67%}
.building{position:absolute;z-index:2;width:82px;height:92px;background:#fff;border:1px solid #c7d5c7;border-radius:8px;box-shadow:0 4px 10px rgba(44,70,55,.08)}
.building:before{content:"▦";position:absolute;inset:12px;text-align:center;font-size:46px;color:#9db0ba;line-height:60px}
.building.b1{left:31%;top:66%}.building.b2{left:68%;top:35%}
.tree{position:absolute;z-index:2;font-size:27px;filter:saturate(.75)}
.tree.t1{left:9%;top:70%}.tree.t2{left:44%;top:30%}.tree.t3{left:77%;top:16%}.tree.t4{left:46%;top:73%}
.street-name{position:absolute;z-index:3;font-size:11px;color:#5a646b;background:rgba(255,255,255,.82);padding:3px 7px;border-radius:7px}
.street-name.sn1{left:19%;top:44%;transform:rotate(90deg)}
.street-name.sn2{left:57%;top:42%;transform:rotate(90deg)}
.street-name.sn3{left:38%;top:21%}
.street-name.sn4{left:37%;top:54%}
.route-path{
  position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none;
}
.route-path polyline{fill:none;stroke:#0b77e3;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 8;opacity:.86}
.stop{width:30px;height:30px;border-width:3px;z-index:4}
.stop.s1{left:10%;top:64%}.stop.s2{left:35%;top:64%}.stop.s3{left:47%;top:44%}.stop.s4{left:70%;top:28%}.stop.s5{left:82%;top:45%}
.walker{
  z-index:6;left:9%;top:60%;width:44px;height:44px;font-size:21px;
  transition:left 1.25s ease-in-out,top 1.25s ease-in-out;
}
.map-label{z-index:5}
.demo-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#18a558;margin-right:6px;animation:lhrPulse 1.4s infinite}
@keyframes lhrPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}
.canvass-controls{display:none!important}
@media(max-width:900px){
 .canvass-map{min-height:430px}
 .house{transform:scale(.9)}
 .building{transform:scale(.9)}
}


/* ETAPA 4.2 — cierre de ruta de 28 puertas */
.route-summary{display:none;position:absolute;inset:18px;z-index:10;background:rgba(255,255,255,.96);border:1px solid #d8e7f7;border-radius:22px;padding:24px;align-items:center;justify-content:center;text-align:center}
.route-summary.show{display:flex}
.route-summary-inner{max-width:470px;width:100%}
.route-summary h3{margin:8px 0 6px;color:#082b57}
.route-summary .summary-kicker{color:#13864b;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.route-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.route-summary-grid div{background:#f4f8fc;border:1px solid #e0eaf4;border-radius:14px;padding:12px 8px}
.route-summary-grid strong{display:block;font-size:24px;color:#082b57}
.route-summary-grid span{font-size:11px;color:#64748b}
.completed-route{margin:18px auto 4px;width:100%;height:115px}
.completed-route polyline{fill:none;stroke:#0b77e3;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 7}
.completed-route circle{fill:#fff;stroke:#0b77e3;stroke-width:4}
.completed-route circle.last{fill:#0b77e3}
.route-summary small{color:#64748b}
@media(max-width:600px){.route-summary-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== ETAPA 5: demostración automática de Call Center ===== */
.call-demo{padding:78px 0;background:#fff}
.call-demo .section-head{max-width:780px;margin:0 auto 34px;text-align:center}
.call-shell{display:grid;grid-template-columns:.88fr 1.12fr;gap:28px;align-items:stretch}
.call-floor{position:relative;min-height:480px;border-radius:26px;border:1px solid #dbe7f3;background:#f5f9fd;padding:22px;overflow:hidden}
.call-floor-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.call-live{font-size:13px;color:#13864b;font-weight:800}
.call-live i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#18a558;margin-right:6px;animation:lhrPulse 1.4s infinite}
.operator-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.operator{background:#fff;border:1px solid #dce8f4;border-radius:16px;padding:14px;display:flex;gap:11px;align-items:center;transition:.3s}
.operator.active{border-color:#0b77e3;box-shadow:0 0 0 3px rgba(11,119,227,.08)}
.op-avatar{width:42px;height:42px;border-radius:50%;background:#e8f3ff;display:flex;align-items:center;justify-content:center;font-size:20px}
.op-info strong{display:block;font-size:13px;color:#082b57}.op-info span{font-size:11px;color:#64748b}
.call-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.call-stat{background:#082b57;color:#fff;border-radius:15px;padding:14px;text-align:center}
.call-stat strong{display:block;font-size:23px}.call-stat span{font-size:10px;color:#d6e6f7}
.call-console{border-radius:26px;background:#082b57;padding:12px}
.call-screen{min-height:456px;background:#fff;border-radius:20px;padding:22px;display:flex;flex-direction:column}
.call-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e6edf5;padding-bottom:14px}
.call-head strong{color:#082b57}.call-status{font-size:12px;padding:7px 10px;border-radius:999px;background:#e8f3ff;color:#0b77e3;font-weight:700}
.voter-card{margin-top:17px;border:1px solid #dce8f5;border-radius:17px;padding:17px}
.voter-top{display:flex;gap:12px;align-items:center}.voter-avatar{width:48px;height:48px;border-radius:50%;background:#eef4fa;display:flex;align-items:center;justify-content:center;font-size:23px}
.voter-card h3{margin:0}.voter-card p{margin:3px 0}
.call-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:45px;margin:14px 0}
.call-wave span{width:4px;border-radius:999px;background:#0b77e3;animation:wave 1s infinite ease-in-out}
.call-wave span:nth-child(1){height:12px}.call-wave span:nth-child(2){height:25px;animation-delay:.1s}.call-wave span:nth-child(3){height:36px;animation-delay:.2s}.call-wave span:nth-child(4){height:21px;animation-delay:.3s}.call-wave span:nth-child(5){height:32px;animation-delay:.4s}.call-wave span:nth-child(6){height:15px;animation-delay:.5s}
@keyframes wave{0%,100%{transform:scaleY(.65);opacity:.6}50%{transform:scaleY(1.15);opacity:1}}
.call-dialog{display:grid;gap:8px}.call-dialog .bubble{font-size:13px}
.call-results{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto;padding-top:14px}
.call-result{border:1px solid #dce6ef;border-radius:11px;padding:9px 5px;text-align:center;font-size:11px}
.call-result.active{background:#0b77e3;color:#fff;border-color:#0b77e3}
.call-summary{display:none;position:absolute;inset:18px;z-index:8;background:rgba(255,255,255,.97);border:1px solid #d8e7f7;border-radius:22px;padding:24px;align-items:center;justify-content:center;text-align:center}
.call-summary.show{display:flex}
.call-summary-inner{width:100%;max-width:440px}.call-summary .summary-kicker{color:#13864b;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.call-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}
.call-summary-grid div{background:#f4f8fc;border:1px solid #e0eaf4;border-radius:14px;padding:12px}
.call-summary-grid strong{display:block;font-size:25px;color:#082b57}.call-summary-grid span{font-size:11px;color:#64748b}
@media(max-width:900px){.call-shell{grid-template-columns:1fr}.call-floor{min-height:auto}}


/* ===== ETAPA 6: Centro de Control / Supervisión ===== */
.control-center{padding:78px 0;background:#f7fbff}
.control-center .section-head{max-width:760px;margin:0 auto 34px;text-align:center}
.control-board{background:#fff;border:1px solid #dce8f5;border-radius:26px;padding:24px}
.control-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
.control-top h3{margin:0;color:#082b57}
.control-status{font-size:12px;background:#eaf7ef;color:#16844a;border-radius:999px;padding:8px 11px;font-weight:700}
.control-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.control-metric{border:1px solid #e0eaf4;background:#f9fbfd;border-radius:16px;padding:16px}
.control-metric strong{display:block;color:#082b57;font-size:25px;margin:4px 0}
.control-metric span{font-size:11px;color:#64748b}
.control-main{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}
.control-panel{border:1px solid #e0eaf4;border-radius:18px;padding:18px}
.control-panel h4{margin:0 0 14px;color:#082b57}
.ops-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2f7}
.ops-row:last-child{border-bottom:0}
.ops-row strong{display:block;font-size:13px}.ops-row small{color:#64748b}
.ops-value{font-weight:800;color:#0b77e3}
.route-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:13px;background:#f8fafc;margin-bottom:9px;border:1px solid #e7edf4}
.route-item:last-child{margin-bottom:0}
.route-item strong{display:block;font-size:13px}.route-item small{color:#64748b}
.route-badge{white-space:nowrap;font-size:11px;border-radius:999px;padding:7px 9px;font-weight:700}
.route-badge.done{background:#eaf7ef;color:#16844a}
.route-badge.active{background:#e8f3ff;color:#0b77e3}
.route-badge.pending{background:#fff4df;color:#9a6500}
.route-badge.reassigned{background:#eef0ff;color:#5557a7}
.supervisor-note{margin-top:16px;border-left:4px solid #0b77e3;background:#f1f7fd;padding:13px 15px;border-radius:10px;color:#42566b;font-size:13px}
.control-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid #e7edf4}
.control-foot small{color:#64748b}
.control-foot .mini-live{font-size:12px;color:#16844a;font-weight:700}
@media(max-width:900px){.control-metrics{grid-template-columns:repeat(2,1fr)}.control-main{grid-template-columns:1fr}}
@media(max-width:520px){.control-metrics{grid-template-columns:1fr}.control-top,.control-foot{align-items:flex-start;flex-direction:column}}


/* ===== v1.5.1: Dashboard + gráficos ===== */
.control-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.chart-panel{border:1px solid #e0eaf4;border-radius:18px;padding:18px;background:#fff}
.chart-panel h4{margin:0 0 4px;color:#082b57}
.chart-panel p{margin:0 0 16px;color:#64748b;font-size:12px}
.bar-chart{display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:110px 1fr 42px;gap:10px;align-items:center}
.bar-row span{font-size:12px;color:#475569}
.bar-track{height:10px;background:#edf3f8;border-radius:999px;overflow:hidden}
.bar-fill{height:100%;background:#0b77e3;border-radius:999px}
.bar-row strong{text-align:right;font-size:12px;color:#082b57}
.zone-chart{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;height:170px;padding-top:8px}
.zone-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%}
.zone-bar-wrap{height:120px;width:100%;display:flex;align-items:flex-end;justify-content:center}
.zone-bar{width:34px;background:#0b77e3;border-radius:8px 8px 3px 3px;min-height:8px}
.zone-col strong{font-size:11px;color:#082b57}
.zone-col span{font-size:10px;color:#64748b}
.chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:#64748b}
.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#0b77e3;margin-right:5px}
@media(max-width:900px){.control-charts{grid-template-columns:1fr}}
@media(max-width:560px){.bar-row{grid-template-columns:86px 1fr 36px}.zone-chart{gap:6px}.zone-bar{width:26px}}


/* ===== ETAPA 7: Digitación + Reportes ===== */
.data-reports{padding:78px 0;background:#fff}
.data-reports .section-head{max-width:790px;margin:0 auto 34px;text-align:center}
.data-flow{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:stretch}
.data-panel,.reports-panel{border:1px solid #dce8f5;border-radius:24px;padding:22px;background:#fff}
.data-panel{background:#f8fbfe}
.data-panel h3,.reports-panel h3{margin:0 0 5px;color:#082b57}
.panel-sub{font-size:12px;color:#64748b;margin-bottom:18px}
.record-list{display:grid;gap:10px}
.record{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;background:#fff;border:1px solid #e1eaf3;border-radius:14px;padding:12px}
.record-icon{width:40px;height:40px;border-radius:11px;background:#e8f3ff;display:flex;align-items:center;justify-content:center}
.record strong{display:block;font-size:13px;color:#082b57}.record small{color:#64748b}
.record-state{font-size:10px;border-radius:999px;padding:6px 8px;font-weight:700;background:#eaf7ef;color:#16844a}
.data-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.data-summary div{background:#082b57;color:#fff;border-radius:13px;padding:12px;text-align:center}
.data-summary strong{display:block;font-size:21px}.data-summary span{font-size:9px;color:#d5e5f5}
.report-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}
.report-filter{border:1px solid #dce6ef;background:#f8fafc;border-radius:10px;padding:8px 10px;font-size:11px;color:#475569}
.report-view{border:1px solid #e0eaf4;border-radius:16px;padding:15px}
.report-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.report-title strong{color:#082b57}.report-title span{font-size:10px;color:#64748b}
.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.report-kpi{background:#f6f9fc;border-radius:11px;padding:10px;text-align:center}
.report-kpi strong{display:block;color:#082b57;font-size:18px}.report-kpi span{font-size:9px;color:#64748b}
.report-bars{display:grid;gap:9px;margin-top:15px}
.report-bar-row{display:grid;grid-template-columns:92px 1fr 36px;gap:8px;align-items:center}
.report-bar-row span{font-size:10px;color:#64748b}.report-bar-row strong{font-size:10px;text-align:right;color:#082b57}
.report-track{height:8px;background:#eaf0f6;border-radius:999px;overflow:hidden}.report-fill{height:100%;background:#0b77e3;border-radius:999px}
.report-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:15px;flex-wrap:wrap}
.report-action{border:1px solid #d9e5f0;background:#fff;color:#29445f;border-radius:10px;padding:8px 11px;font-size:10px;font-weight:700}
.data-arrow{text-align:center;margin:18px 0 0;color:#0b77e3;font-weight:800;font-size:12px}
@media(max-width:900px){.data-flow{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.data-summary{grid-template-columns:1fr}.report-bar-row{grid-template-columns:75px 1fr 32px}}


/* ===== ETAPA 8: Multidispositivo + Instalación ===== */
.device-section{padding:82px 0;background:#f7fbff}
.device-section .section-head{max-width:790px;margin:0 auto 36px;text-align:center}
.device-stage{position:relative;min-height:460px;display:flex;justify-content:center;align-items:flex-end;gap:22px;padding:30px 10px 0}
.device{background:#0a2748;box-shadow:0 20px 45px rgba(8,43,87,.16);position:relative}
.device-screen{background:#f8fbfe;overflow:hidden}
.laptop{width:500px;border-radius:18px 18px 9px 9px;padding:12px 12px 20px}
.laptop:after{content:"";position:absolute;left:-55px;right:-55px;bottom:-16px;height:16px;background:#cbd5df;border-radius:3px 3px 14px 14px}
.laptop .device-screen{height:285px;border-radius:9px}
.tablet{width:220px;border-radius:24px;padding:12px}
.tablet .device-screen{height:330px;border-radius:15px}
.phone{width:132px;border-radius:26px;padding:9px}
.phone .device-screen{height:270px;border-radius:18px}
.mini-top{height:34px;background:#082b57;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:9px}
.mini-logo{font-weight:800}.mini-body{padding:12px}
.mini-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mini-card{background:#fff;border:1px solid #dce8f5;border-radius:9px;padding:10px;font-size:8px;color:#52657a}
.mini-card strong{display:block;font-size:15px;color:#082b57;margin-bottom:3px}
.mini-route{height:115px;margin-top:9px;border-radius:10px;background:#e8f2e8;position:relative;overflow:hidden}
.mini-route:before{content:"";position:absolute;left:12%;right:8%;top:52%;height:5px;background:#0b77e3;transform:rotate(-16deg);border-radius:99px}
.mini-route span{position:absolute;width:13px;height:13px;background:#fff;border:3px solid #0b77e3;border-radius:50%}
.mini-route span:nth-child(1){left:14%;top:67%}.mini-route span:nth-child(2){left:44%;top:49%}.mini-route span:nth-child(3){left:74%;top:29%}
.phone-list{display:grid;gap:7px;padding:10px}.phone-row{background:#fff;border:1px solid #dce8f5;border-radius:9px;padding:8px;font-size:7px}.phone-row strong{display:block;color:#082b57;font-size:9px}
.device-label{text-align:center;margin-top:13px;color:#52657a;font-size:12px;font-weight:700}
.install-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:46px}
.install-step{background:#fff;border:1px solid #dce8f5;border-radius:17px;padding:18px 14px;text-align:center;position:relative}
.install-step b{display:flex;width:30px;height:30px;margin:0 auto 10px;border-radius:50%;align-items:center;justify-content:center;background:#0b77e3;color:#fff}
.install-step strong{display:block;color:#082b57;font-size:13px;margin-bottom:5px}.install-step span{font-size:11px;color:#64748b}
.device-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.device-benefit{background:#082b57;color:#fff;border-radius:16px;padding:17px}
.device-benefit strong{display:block;font-size:13px;margin-bottom:5px}.device-benefit span{font-size:10px;color:#d7e7f8}
.install-note{max-width:820px;margin:22px auto 0;text-align:center;font-size:12px;color:#64748b}
@media(max-width:1000px){.device-stage{transform:scale(.9);margin:-15px -30px}.install-flow{grid-template-columns:repeat(3,1fr)}.device-benefits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.device-stage{min-height:auto;transform:none;display:grid;grid-template-columns:1fr;justify-items:center}.laptop{width:min(92vw,500px)}.tablet{width:220px}.phone{width:132px}.install-flow{grid-template-columns:1fr 1fr}.device-benefits{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.install-flow,.device-benefits{grid-template-columns:1fr}}


/* ===== v1.7.1: mejora visual real de dispositivos en el tema ===== */
.device-section{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.device-stage{
  min-height:520px;gap:18px;align-items:flex-end;padding-top:40px;
  perspective:1200px
}
.device{
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,#071b32,#123b66);
  box-shadow:0 28px 55px rgba(8,43,87,.20),0 5px 14px rgba(8,43,87,.12)
}
.device-screen{background:#f5f8fc;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.laptop{width:540px;border-radius:20px 20px 8px 8px;padding:12px 12px 18px}
.laptop:before{content:"";position:absolute;top:5px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#45617d}
.laptop:after{
  left:-48px;right:-48px;bottom:-17px;height:17px;
  background:linear-gradient(180deg,#dce5ed,#b8c5d1);border-radius:2px 2px 16px 16px;
  box-shadow:0 7px 11px rgba(8,43,87,.10)
}
.laptop .device-screen{height:310px;border-radius:10px}
.tablet{width:238px;border-radius:27px;padding:13px;transform:translateY(5px)}
.tablet:before{content:"";position:absolute;top:5px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#45617d}
.tablet .device-screen{height:356px;border-radius:17px}
.phone{width:142px;border-radius:31px;padding:9px;transform:translateY(10px)}
.phone:before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:48px;height:11px;background:#06192d;border-radius:0 0 9px 9px;z-index:3}
.phone .device-screen{height:292px;border-radius:22px}
.mini-top{height:38px;background:linear-gradient(90deg,#082b57,#0d3e72);padding:0 11px}
.mini-body{padding:13px}
.mini-card{box-shadow:0 3px 8px rgba(8,43,87,.05)}
.mini-route{
  background:
  linear-gradient(90deg,transparent 47%,rgba(150,170,160,.18) 48%,rgba(150,170,160,.18) 54%,transparent 55%),
  linear-gradient(0deg,transparent 47%,rgba(150,170,160,.18) 48%,rgba(150,170,160,.18) 54%,transparent 55%),
  #e7f1e7;
  border:1px solid #dce8df
}
.device-label{margin-top:22px;font-size:12px;color:#435b74}
.device-label:before{display:block;margin:0 auto 7px;width:34px;height:34px;border-radius:50%;background:#e8f3ff;color:#0b77e3;line-height:34px;font-size:17px}
.device-stage>div:nth-child(1) .device-label:before{content:"▣"}
.device-stage>div:nth-child(2) .device-label:before{content:"▯";background:#eaf7ef;color:#16844a}
.device-stage>div:nth-child(3) .device-label:before{content:"▯";background:#f1edff;color:#6955b5}
.install-flow{background:#fff;border:1px solid #e0eaf4;border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(8,43,87,.06)}
.install-step{border:0;background:transparent;padding:14px 12px}
.install-step:not(:last-child):after{content:"→";position:absolute;right:-10px;top:35px;color:#8fb5dd;font-size:20px}
.device-benefits{background:#082b57;border-radius:18px;padding:8px;gap:0}
.device-benefit{border-radius:12px;background:transparent;border-right:1px solid rgba(255,255,255,.14)}
.device-benefit:last-child{border-right:0}
@media(max-width:1000px){
 .device-stage{transform:scale(.86);margin:-25px -60px -10px}
}
@media(max-width:760px){
 .device-stage{transform:none;margin:0;gap:35px}
 .laptop{width:min(90vw,540px)}
 .install-step:not(:last-child):after{display:none}
 .device-benefit{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
 .device-benefit:last-child{border-bottom:0}
}


/* ===== v1.7.2: pantallas internas de dispositivos rediseñadas ===== */
.device-stage{
  gap:22px;
  align-items:flex-end;
}
.device-screen{
  color:#16324d;
}

/* Laptop UI */
.laptop-ui{
  height:100%;
  display:grid;
  grid-template-columns:92px 1fr;
  background:#f5f8fc;
}
.laptop-side{
  background:linear-gradient(180deg,#082b57,#061f3d);
  color:#fff;
  padding:10px 7px;
  display:flex;
  flex-direction:column;
}
.lhr-mini-brand{
  font-size:12px;
  font-weight:800;
  padding:4px 6px 10px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:7px;
}
.lhr-mini-brand span{font-weight:500;color:#8fc4ff}
.laptop-nav{
  display:grid;
  gap:4px;
}
.laptop-nav div{
  font-size:7px;
  padding:6px 7px;
  border-radius:6px;
  color:#d9e8f7;
}
.laptop-nav div.active{
  background:#0b77e3;
  color:#fff;
}
.laptop-user{
  margin-top:auto;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:8px;
  display:flex;
  gap:6px;
  align-items:center;
  font-size:6px;
}
.laptop-user-avatar{
  width:20px;height:20px;border-radius:50%;
  background:#d9e8f7;color:#082b57;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;
}
.laptop-main{
  padding:9px 10px;
  overflow:hidden;
}
.laptop-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:6px;
  color:#64748b;
  margin-bottom:7px;
}
.laptop-toolbar strong{color:#082b57;font-size:8px}
.laptop-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin-bottom:7px;
}
.lkpi{
  background:#fff;
  border:1px solid #dce7f2;
  border-radius:7px;
  padding:7px;
}
.lkpi strong{
  display:block;
  font-size:13px;
  color:#0b77e3;
}
.lkpi:nth-child(2) strong{color:#18a558}
.lkpi:nth-child(3) strong{color:#f59e0b}
.lkpi:nth-child(4) strong{color:#7c5ce0}
.lkpi span{font-size:5.5px;color:#64748b}
.laptop-charts{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:6px;
}
.lchart{
  background:#fff;
  border:1px solid #dce7f2;
  border-radius:7px;
  padding:7px;
  min-height:95px;
}
.lchart-title{font-size:6px;font-weight:800;color:#082b57;margin-bottom:6px}
.donut-wrap{
  display:flex;gap:8px;align-items:center;
}
.donut{
  width:52px;height:52px;border-radius:50%;
  background:conic-gradient(#0b77e3 0 46%,#18a558 46% 72%,#f59e0b 72% 83%,#aeb8c2 83% 100%);
  position:relative;
}
.donut:after{
  content:"";position:absolute;inset:13px;background:#fff;border-radius:50%;
}
.donut-legend{display:grid;gap:3px;font-size:4.8px;color:#52657a}
.donut-legend i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#0b77e3;margin-right:3px}
.zone-mini{display:grid;gap:5px}
.zone-mini-row{
  display:grid;grid-template-columns:35px 1fr 18px;gap:4px;align-items:center;
  font-size:4.8px;color:#52657a
}
.zone-mini-track{height:5px;background:#edf2f7;border-radius:999px;overflow:hidden}
.zone-mini-fill{height:100%;background:#18a558;border-radius:999px}
.laptop-footer-stats{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  margin-top:6px;
}
.lfstat{
  background:#fff;border:1px solid #dce7f2;border-radius:6px;
  padding:5px;text-align:center
}
.lfstat strong{display:block;font-size:9px;color:#082b57}
.lfstat span{font-size:4.5px;color:#64748b}
.lfstat.warn strong{color:#d98200}

/* Tablet UI */
.tablet-ui{
  height:100%;
  background:#f5f8fc;
  display:flex;
  flex-direction:column;
}
.tablet-head{
  height:40px;
  background:#082b57;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 12px;
  font-size:8px;
  font-weight:700;
}
.tablet-head .route-name{color:#7ee09f}
.tablet-body{padding:10px;display:flex;flex-direction:column;gap:8px}
.tablet-progress{
  background:#fff;border:1px solid #dce7f2;border-radius:10px;padding:9px;
  display:grid;grid-template-columns:1fr 56px;align-items:center
}
.tablet-progress strong{display:block;font-size:19px;color:#082b57}
.tablet-progress span{font-size:6px;color:#64748b}
.progress-ring{
  width:48px;height:48px;border-radius:50%;
  border:6px solid #e6f3ea;border-top-color:#18a558;border-right-color:#18a558;
  display:flex;align-items:center;justify-content:center;
  font-size:8px;font-weight:800;color:#082b57
}
.tablet-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:#fff;border:1px solid #dce7f2;border-radius:10px;overflow:hidden
}
.tstat{padding:7px 3px;text-align:center;border-right:1px solid #edf2f7}
.tstat:last-child{border-right:0}
.tstat strong{display:block;font-size:11px;color:#082b57}
.tstat span{font-size:4.8px;color:#64748b}
.tablet-map{
  height:120px;border-radius:10px;background:
    linear-gradient(90deg,transparent 45%,rgba(180,190,198,.35) 46%,rgba(180,190,198,.35) 52%,transparent 53%),
    linear-gradient(0deg,transparent 45%,rgba(180,190,198,.35) 46%,rgba(180,190,198,.35) 52%,transparent 53%),
    #eef1f3;
  position:relative;overflow:hidden;border:1px solid #e0e7ee
}
.tablet-map:before{
  content:"";position:absolute;left:12%;right:10%;top:58%;height:4px;
  background:#0b77e3;transform:rotate(-14deg);border-radius:999px
}
.map-pin{
  position:absolute;width:12px;height:12px;border-radius:50%;
  background:#fff;border:3px solid #0b77e3
}
.map-pin.p1{left:14%;top:64%}.map-pin.p2{left:36%;top:51%}.map-pin.p3{left:61%;top:37%}.map-pin.p4{left:77%;top:49%}
.map-pin.start{border-color:#18a558}
.tablet-next{
  background:#0b77e3;color:#fff;border-radius:8px;padding:9px;text-align:center;
  font-size:7px;font-weight:800
}
.tablet-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:6px
}
.tablet-actions div{
  background:#fff;border:1px solid #dce7f2;border-radius:8px;padding:7px;text-align:center;font-size:5.5px;color:#334155
}

/* Phone UI */
.phone-ui{
  height:100%;
  background:#f5f8fc;
  display:flex;
  flex-direction:column;
}
.phone-head{
  margin-top:6px;
  height:38px;
  background:#082b57;color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 10px;font-size:7px;font-weight:800
}
.phone-body{padding:10px}
.phone-title{font-size:8px;font-weight:800;color:#082b57;margin-bottom:8px}
.phone-menu{display:grid;gap:6px}
.phone-module{
  display:grid;grid-template-columns:25px 1fr;gap:7px;align-items:center;
  background:#fff;border:1px solid #dce7f2;border-radius:8px;padding:7px
}
.phone-icon{
  width:25px;height:25px;border-radius:7px;background:#0b77e3;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11px
}
.phone-module:nth-child(2) .phone-icon{background:#18a558}
.phone-module:nth-child(3) .phone-icon{background:#f59e0b}
.phone-module:nth-child(4) .phone-icon{background:#7c5ce0}
.phone-module strong{display:block;font-size:6.8px;color:#082b57}
.phone-module span{font-size:4.7px;color:#64748b}
.phone-sync{
  margin-top:8px;background:#fff;border:1px solid #dce7f2;border-radius:8px;padding:7px;
  display:flex;justify-content:space-between;align-items:center
}
.phone-sync strong{display:block;font-size:6px;color:#082b57}
.phone-sync span{font-size:4.5px;color:#64748b}
.sync-dot{width:8px;height:8px;border-radius:50%;background:#18a558}

/* supporting labels */
.device-caption{
  margin-top:20px;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:10px;
  align-items:center;
  max-width:270px
}
.device-caption-icon{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#0b77e3;color:#fff;font-size:20px
}
.device-caption.tablet-cap .device-caption-icon{background:#18a558}
.device-caption.phone-cap .device-caption-icon{background:#7c5ce0}
.device-caption .cap-type{font-size:10px;font-weight:800;color:#0b77e3;text-transform:uppercase}
.device-caption.tablet-cap .cap-type{color:#18a558}
.device-caption.phone-cap .cap-type{color:#7c5ce0}
.device-caption strong{display:block;font-size:12px;color:#082b57;margin:2px 0}
.device-caption span{font-size:9px;color:#64748b;line-height:1.4}

@media(max-width:1000px){
  .device-stage{transform:scale(.82);margin:-35px -90px -25px}
}
@media(max-width:760px){
  .device-stage{transform:none;margin:0;gap:42px}
  .device-caption{max-width:90vw}
}


/* ===== v1.7.3.1: reorganización corregida =====
   Se conserva TODO el contenido principal de v1.7.2.
   Solo se compactan espacios para mejorar continuidad visual.
*/
.call-demo,.canvass-demo,.control-center,.data-reports,.device-section{padding-top:64px;padding-bottom:64px}
.call-demo .section-head,.canvass-demo .section-head,.control-center .section-head,
.data-reports .section-head,.device-section .section-head{margin-bottom:28px}
@media(max-width:760px){
 .call-demo,.canvass-demo,.control-center,.data-reports,.device-section{padding-top:48px;padding-bottom:48px}
}

/* ===== v1.7.4 approved device presentation ===== */
.demo-device-preview{width:100%;max-width:720px;margin:20px auto;display:grid;grid-template-columns:2.3fr .8fr .55fr;gap:12px;align-items:end;overflow:hidden;padding:14px}
.demo-laptop,.demo-tablet,.demo-phone{background:#082b57;border-radius:14px;padding:7px;box-shadow:0 12px 28px rgba(8,43,87,.15)}
.demo-laptop-screen{height:220px;background:#f7f9fc;border-radius:8px;display:grid;grid-template-columns:75px 1fr;overflow:hidden}.demo-side{background:#082b57;color:white;padding:9px 6px;display:grid;align-content:start;gap:8px;font-size:7px}.demo-side b{font-size:11px}.demo-main{padding:12px}.demo-mini-title{font-weight:800;font-size:11px;margin-bottom:9px}.demo-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.demo-mini-kpis b{background:white;border:1px solid #dce7f2;border-radius:6px;padding:8px;text-align:center;color:#0b77e3}.demo-mini-kpis small{display:block;font-size:5px;color:#64748b}.demo-mini-chart{height:85px;margin-top:8px;background:white;border-radius:7px;padding:10px;display:grid;gap:6px}.demo-mini-chart i{height:6px;background:#18a558;border-radius:9px}.demo-mini-chart i:nth-child(1){width:85%}.demo-mini-chart i:nth-child(2){width:70%}.demo-mini-chart i:nth-child(3){width:62%}.demo-mini-chart i:nth-child(4){width:48%}.demo-mini-chart i:nth-child(5){width:35%}
.demo-tablet{padding:7px}.demo-tablet,.demo-phone{color:#082b57}.demo-tablet>*,.demo-phone>*{background:#f8fafc}.demo-tablet{height:185px}.demo-phone{height:155px}.demo-device-head{background:#082b57!important;color:white!important;padding:8px;border-radius:7px 7px 0 0;font-size:7px;display:flex;justify-content:space-between}.demo-device-head em{color:#7ee09f}.demo-tablet strong{display:block;font-size:17px;text-align:center;padding-top:14px}.demo-tablet small{display:block;text-align:center;font-size:5px}.demo-route-line{height:70px;margin:8px;background:#e8f1e8!important;position:relative}.demo-route-line:before{content:"";position:absolute;left:10%;right:10%;top:55%;height:3px;background:#0b77e3;transform:rotate(-12deg)}.demo-route-line i{position:relative;display:inline-block;width:8px;height:8px;border:2px solid #0b77e3;background:white;border-radius:50%;margin:34px 7px}
.demo-phone b{display:block;padding:10px 7px 5px;font-size:7px}.demo-phone span{display:block;margin:5px 7px;padding:6px;background:white;border-radius:5px;font-size:5px}
.device-section-v174{padding:76px 0;background:linear-gradient(180deg,#f8fbff,#fff)}.device-hero-grid{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center}.device-copy h2{font-size:40px;line-height:1.05;color:#082b57;margin:12px 0 18px}.device-copy h2 span{color:#0b65d8}.device-copy p{color:#42566b;line-height:1.55}.device-checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:11px}.device-checks li:before{content:"✓";display:inline-flex;width:20px;height:20px;border-radius:50%;background:#0b65d8;color:white;align-items:center;justify-content:center;margin-right:9px;font-size:11px;font-weight:800}
.device-showcase{display:grid;grid-template-columns:2.1fr 1fr .55fr;gap:16px;align-items:end;min-width:0}.showcase-laptop,.showcase-tablet,.showcase-phone{background:#071b32;border:7px solid #071b32;box-shadow:0 20px 40px rgba(8,43,87,.16)}.showcase-laptop{border-radius:14px}.showcase-screen{height:315px;background:#f5f8fc;display:grid;grid-template-columns:105px 1fr;overflow:hidden}.showcase-screen aside{background:#082b57;color:white;padding:12px 8px;display:grid;align-content:start;gap:7px;font-size:7px}.showcase-screen aside b{font-size:12px;margin-bottom:5px}.showcase-screen aside small{display:block;font-size:5px}.showcase-screen aside span{padding:6px;border-radius:5px}.showcase-screen aside .on{background:#0b65d8}.showcase-screen main{padding:11px}.sc-toolbar{font-size:6px}.showcase-screen h4{font-size:11px;margin:10px 0}.sc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.sc-kpis div{background:white;border:1px solid #dce7f2;border-radius:6px;padding:7px}.sc-kpis b{display:block;font-size:13px;color:#0b65d8}.sc-kpis small{font-size:5px;color:#64748b}.sc-panels{display:grid;grid-template-columns:1fr 1.2fr;gap:6px;margin-top:7px}.sc-panels>div{height:92px;background:white;border:1px solid #dce7f2;border-radius:6px}.sc-donut:before{content:"";display:block;width:55px;height:55px;border-radius:50%;margin:17px auto;background:conic-gradient(#0b65d8 0 46%,#18a558 46% 72%,#f59e0b 72% 83%,#aeb8c2 83%)}.sc-donut:after{content:"";position:absolute}.sc-bars{padding:12px;display:grid;gap:7px;align-content:center}.sc-bars i{height:6px;background:#18a558;border-radius:9px}.sc-bottom{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:7px}.sc-bottom span{background:white;border:1px solid #dce7f2;border-radius:5px;padding:5px;text-align:center;font-weight:800;font-size:9px}.sc-bottom small{display:block;font-size:4px;color:#64748b}
.showcase-tablet{border-radius:22px;height:335px;overflow:hidden}.st-head{height:38px;background:#082b57;color:white;padding:0 10px;display:flex;align-items:center;gap:8px;font-size:7px}.st-head em{margin-left:auto;color:#7ee09f}.st-body{background:#f5f8fc;height:calc(100% - 38px);padding:9px}.st-progress{background:white;border-radius:8px;padding:9px;display:flex;justify-content:space-between}.st-progress b{display:block;font-size:17px}.st-progress small{font-size:5px}.st-progress strong{width:43px;height:43px;border:5px solid #18a558;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px}.st-stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;margin-top:7px;border-radius:7px}.st-stats span{text-align:center;padding:6px;font-weight:800;font-size:9px}.st-stats small{display:block;font-size:4px;color:#64748b}.st-map{height:112px;background:#e9eef1;margin-top:7px;border-radius:7px;position:relative}.st-map:before{content:"";position:absolute;left:10%;right:10%;top:56%;height:3px;background:#0b65d8;transform:rotate(-13deg)}.st-map i{position:relative;display:inline-block;width:10px;height:10px;border:3px solid #0b65d8;background:white;border-radius:50%;margin:55px 13px}.st-next{margin-top:7px;background:#0b65d8;color:white;border-radius:6px;padding:8px;text-align:center;font-size:6px}
.showcase-phone{border-radius:26px;height:300px;overflow:hidden}.sp-head{height:40px;background:#082b57;color:white;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:800}.sp-head span{color:red}.sp-body{background:#f5f8fc;height:calc(100% - 40px);padding:9px}.sp-body>b{font-size:7px}.sp-body>div{background:white;border:1px solid #dce7f2;border-radius:7px;margin-top:7px;padding:7px 5px;display:grid;grid-template-columns:22px 1fr;gap:5px;align-items:center}.sp-body i{width:22px;height:22px;border-radius:5px;background:#0b65d8;color:white;display:flex;align-items:center;justify-content:center;font-size:8px}.sp-body strong{display:block;font-size:6px}.sp-body small{display:block;font-size:4px;color:#64748b}
.device-captions{margin:22px 0 32px 280px;display:grid;grid-template-columns:2.1fr 1fr .7fr;gap:20px}.device-captions>div{display:grid;grid-template-columns:42px 1fr;gap:10px}.device-captions i{width:42px;height:42px;border-radius:50%;background:#0b65d8;color:white;display:flex;align-items:center;justify-content:center;font-size:18px}.device-captions>div:nth-child(2) i{background:#18a558}.device-captions>div:nth-child(3) i{background:#7c5ce0}.device-captions b,.device-captions strong,.device-captions small{display:block}.device-captions b{font-size:9px;color:#0b65d8}.device-captions strong{font-size:10px;color:#082b57;margin:3px 0}.device-captions small{font-size:7px;color:#64748b;line-height:1.4}
.install-v174{background:white;border:1px solid #dce7f2;border-radius:16px;padding:22px;display:grid;grid-template-columns:1.15fr repeat(5,1fr);gap:12px;box-shadow:0 12px 28px rgba(8,43,87,.06)}.install-v174>div{border-left:1px solid #e4ebf2;padding-left:14px}.install-v174 .install-intro{border-left:0}.install-v174 b,.install-v174 strong,.install-v174 span{display:block}.install-v174>div>b{color:#0b65d8}.install-v174>div:not(.install-intro)>b{width:24px;height:24px;border-radius:50%;background:#0b65d8;color:white;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.install-v174 strong{font-size:9px;color:#082b57}.install-v174 span{font-size:7px;color:#64748b;line-height:1.5;margin-top:7px}.device-benefit-bar{margin-top:20px;background:#082b57;color:white;border-radius:13px;padding:17px;display:flex;justify-content:space-around;gap:10px;flex-wrap:wrap;font-size:8px}
@media(max-width:1000px){.device-hero-grid{grid-template-columns:1fr}.device-copy{max-width:620px}.device-captions{margin-left:0}.device-showcase{max-width:850px}.install-v174{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.demo-device-preview,.device-showcase{grid-template-columns:1fr;justify-items:center}.demo-laptop{width:100%}.demo-tablet{width:190px}.demo-phone{width:125px}.device-captions{grid-template-columns:1fr}.showcase-laptop{width:100%;max-width:560px}.showcase-tablet{width:230px}.showcase-phone{width:145px}.install-v174{grid-template-columns:1fr}.device-copy h2{font-size:34px}}


/* ===== ETAPA 9: Personalización por campaña / cliente ===== */
.brand-customization{padding:76px 0;background:#fff}
.brand-customization .section-head{max-width:800px;margin:0 auto 34px;text-align:center}
.client-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.client-card{border:1px solid #dce8f5;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(8,43,87,.06)}
.client-top{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.client-brand{display:flex;align-items:center;gap:10px}
.client-logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px}
.client-name strong{display:block;color:#082b57;font-size:13px}
.client-name span{font-size:10px;color:#64748b}
.client-domain{font-size:9px;color:#64748b;background:#f6f9fc;border:1px solid #e3ebf4;border-radius:999px;padding:6px 8px}
.client-screen{margin:0 14px 14px;border:1px solid #dce7f2;border-radius:15px;overflow:hidden;background:#f7f9fc}
.client-screen-head{height:34px;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:8px;font-weight:700}
.client-screen-body{display:grid;grid-template-columns:78px 1fr;min-height:180px}
.client-side{padding:8px 6px;color:#fff;display:grid;align-content:start;gap:6px;font-size:6px}
.client-side span{padding:5px;border-radius:5px}
.client-side span.active{background:rgba(255,255,255,.16)}
.client-main{padding:9px}
.client-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.client-kpi{background:#fff;border:1px solid #e0e8f1;border-radius:7px;padding:7px}
.client-kpi strong{display:block;font-size:12px}
.client-kpi span{font-size:5px;color:#64748b}
.client-bars{margin-top:8px;background:#fff;border:1px solid #e0e8f1;border-radius:8px;padding:9px;display:grid;gap:6px}
.client-bars i{display:block;height:6px;border-radius:999px}
.client-modules{padding:0 18px 18px;display:flex;flex-wrap:wrap;gap:7px}
.client-modules span{font-size:9px;background:#f6f9fc;border:1px solid #e0e8f1;border-radius:999px;padding:6px 8px;color:#475569}
.customization-points{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.custom-point{background:#082b57;color:#fff;border-radius:16px;padding:17px}
.custom-point strong{display:block;font-size:13px;margin-bottom:5px}
.custom-point span{font-size:10px;color:#d7e7f8;line-height:1.45}
.license-callout{margin-top:22px;border:1px solid #dce8f5;border-radius:18px;background:#f7fbff;padding:20px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.license-icon{width:44px;height:44px;border-radius:50%;background:#0b77e3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}
.license-callout strong{display:block;color:#082b57;margin-bottom:4px}
.license-callout p{margin:0;color:#53677c;font-size:12px;line-height:1.55}

/* Brand variants */
.client-a .client-logo,.client-a .client-screen-head,.client-a .client-side{background:#0b4fa3}
.client-a .client-kpi strong{color:#0b4fa3}.client-a .client-bars i{background:#0b4fa3}
.client-b .client-logo,.client-b .client-screen-head,.client-b .client-side{background:#17824a}
.client-b .client-kpi strong{color:#17824a}.client-b .client-bars i{background:#d1a11e}
.client-c .client-logo,.client-c .client-screen-head,.client-c .client-side{background:#6a4fb3}
.client-c .client-kpi strong{color:#6a4fb3}.client-c .client-bars i{background:#6a4fb3}

@media(max-width:900px){.client-showcase{grid-template-columns:1fr}.customization-points{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.customization-points{grid-template-columns:1fr}.license-callout{grid-template-columns:1fr}}

/* ===== v1.8.1: gráficos diferenciados en Personalización ===== */
.client-chart{margin-top:8px;background:#fff;border:1px solid #e0e8f1;border-radius:9px;padding:9px;min-height:92px}
.client-chart-title{font-size:6px;font-weight:800;color:#082b57;margin-bottom:7px}
.client-chart-donut{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto 1fr;column-gap:9px;align-items:center}
.client-chart-donut .client-chart-title{grid-column:1/-1}
.client-donut{width:58px;height:58px;border-radius:50%;background:conic-gradient(#0b4fa3 0 62%,#61a5ef 62% 85%,#dce6f2 85% 100%);position:relative}
.client-donut:after{content:"62%";position:absolute;inset:14px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:#0b4fa3}
.client-legend{display:grid;gap:5px;font-size:5px;color:#64748b}
.client-legend span{display:flex;align-items:center}.client-legend i{width:6px;height:6px;border-radius:50%;background:#0b4fa3;margin-right:4px}
.client-legend span:nth-child(2) i{background:#61a5ef}.client-legend span:nth-child(3) i{background:#dce6f2}
.client-columns{height:66px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;align-items:end;border-bottom:1px solid #e5ebf1}
.client-columns>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}
.client-columns b{width:14px;min-height:8px;background:#17824a;border-radius:4px 4px 1px 1px}
.client-columns span{font-size:5px;color:#64748b}
.client-chart-trend{color:#6a4fb3}
.trend-area{height:68px}
.trend-area svg{width:100%;height:52px;overflow:visible}
.trend-area circle{fill:#fff;stroke:currentColor;stroke-width:3}
.trend-labels{display:flex;justify-content:space-between;padding:0 2px;font-size:5px;color:#64748b}


/* ===== ETAPA 10: Contacto dinámico + SMS + logo editable ===== */
.editable-brand .custom-logo-link{display:flex;align-items:center}
.editable-brand .custom-logo{max-height:56px;width:auto}

/* Floating contact */
.lhr-contact-float{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.lhr-contact-main{border:0;border-radius:999px;background:#0b65d8;color:#fff;padding:13px 18px;display:flex;align-items:center;gap:9px;font-weight:800;box-shadow:0 12px 30px rgba(8,43,87,.25);cursor:pointer}
.lhr-contact-icon{font-size:18px}
.lhr-contact-pulse{width:9px;height:9px;border-radius:50%;background:#70e0a2;box-shadow:0 0 0 5px rgba(112,224,162,.18)}
.lhr-contact-panel{display:none;width:290px;background:#fff;border:1px solid #dce7f2;border-radius:18px;padding:14px;box-shadow:0 18px 42px rgba(8,43,87,.22)}
.lhr-contact-panel.open{display:block}
.lhr-contact-title{padding:4px 5px 11px;border-bottom:1px solid #e8eef5;margin-bottom:9px}
.lhr-contact-title strong,.lhr-contact-title span{display:block}.lhr-contact-title strong{color:#082b57}.lhr-contact-title span{font-size:11px;color:#64748b;margin-top:2px}
.lhr-contact-option{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-decoration:none;padding:10px 8px;border-radius:12px;color:#183650}
.lhr-contact-option:hover{background:#f5f9fd}
.lhr-contact-option>span{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;background:#0b65d8;font-weight:800}
.lhr-contact-option.sms>span{background:#18a558}.lhr-contact-option.email>span{background:#6a4fb3}
.lhr-contact-option strong,.lhr-contact-option small{display:block}.lhr-contact-option strong{font-size:12px}.lhr-contact-option small{font-size:10px;color:#64748b;margin-top:2px}

/* SMS public module */
.sms-module{padding:72px 0;background:linear-gradient(180deg,#fff,#f8fbff)}
.sms-grid{display:grid;grid-template-columns:1fr .8fr;gap:34px;align-items:center}
.sms-copy h2{color:#082b57;margin:10px 0 14px}
.sms-copy p{color:#53677c;line-height:1.6}
.sms-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.sms-features span{background:#fff;border:1px solid #dce8f5;border-radius:12px;padding:10px 12px;font-size:12px;color:#29445f}
.sms-note{font-size:10px!important;color:#718096!important}
.sms-preview{display:flex;justify-content:center}
.sms-phone{width:330px;background:#071b32;border-radius:28px;padding:11px;box-shadow:0 24px 45px rgba(8,43,87,.18)}
.sms-phone-top{height:42px;background:#082b57;color:#fff;border-radius:18px 18px 0 0;padding:0 14px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800}
.sms-phone-top span{color:#70e0a2}
.sms-phone-body{background:#f6f9fc;border-radius:0 0 18px 18px;padding:14px;min-height:325px}
.sms-campaign{background:#fff;border:1px solid #dce7f2;border-radius:12px;padding:11px;margin-bottom:13px}.sms-campaign strong,.sms-campaign small{display:block}.sms-campaign strong{font-size:11px;color:#082b57}.sms-campaign small{font-size:8px;color:#64748b;margin-top:3px}
.sms-message{max-width:82%;padding:10px 12px;border-radius:13px;font-size:10px;margin:9px 0}.sms-message.worker{background:#0b65d8;color:#fff}.sms-message.voter{background:#fff;border:1px solid #dce7f2;margin-left:auto;color:#334155}
.sms-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px}.sms-stats div{background:#fff;border:1px solid #dce7f2;border-radius:9px;padding:8px;text-align:center}.sms-stats strong{display:block;font-size:13px;color:#082b57}.sms-stats span{font-size:6px;color:#64748b}
.sms-progress{height:8px;background:#e5edf4;border-radius:999px;overflow:hidden;margin-top:12px}.sms-progress span{display:block;height:100%;background:#18a558;border-radius:999px}.sms-status{display:block;text-align:center;color:#64748b;font-size:7px;margin-top:6px}

@media(max-width:850px){.sms-grid{grid-template-columns:1fr}.sms-preview{justify-content:flex-start}}
@media(max-width:600px){.sms-features{grid-template-columns:1fr}.lhr-contact-float{right:14px;bottom:14px}.lhr-contact-panel{width:min(290px,calc(100vw - 28px))}.sms-phone{width:min(330px,100%)}}

/* ===== v1.9.1: SMS Premium Campaign Demo ===== */
.sms-premium{padding:82px 0;background:radial-gradient(circle at 24% 50%,rgba(11,101,216,.12),transparent 30%),linear-gradient(135deg,#061a34,#082b57);color:#fff;overflow:hidden}
.sms-premium-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.sms-visual{min-height:570px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:1200px}
.sms-orbit{position:absolute;border:1px solid rgba(53,145,255,.25);border-radius:50%}.orbit-a{width:510px;height:510px}.orbit-b{width:390px;height:390px}
.sms-demo-phone{position:relative;width:285px;height:535px;background:#07121f;border:9px solid #10243a;border-radius:42px;padding:11px;box-shadow:0 30px 55px rgba(0,0,0,.35);z-index:2;transform-style:preserve-3d;animation:smsFloat 5s ease-in-out infinite}
.sms-demo-phone.turning{animation:smsTurn .85s ease-in-out}
.sms-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:92px;height:19px;background:#07121f;border-radius:0 0 14px 14px;z-index:5}
.sms-demo-screen{height:100%;background:#f6f9fc;border-radius:27px;overflow:hidden;color:#16324d;position:relative}
.sms-demo-header{height:58px;background:#0b4fa3;color:#fff;padding:23px 15px 0;display:flex;justify-content:space-between;font-size:10px}.sms-demo-header span{font-size:8px;color:#bfe0ff}
.sms-slide{position:absolute;left:13px;right:13px;top:75px;opacity:0;transform:translateX(18px);transition:.45s ease;pointer-events:none}.sms-slide.active{opacity:1;transform:none}
.sms-list-head{background:#fff;border:1px solid #dce7f2;border-radius:12px;padding:12px;margin-bottom:15px}.sms-list-head strong,.sms-list-head small{display:block}.sms-list-head strong{font-size:12px;color:#082b57}.sms-list-head small{font-size:8px;color:#64748b;margin-top:4px}
.sms-bubble{max-width:82%;font-size:10px;line-height:1.45;padding:11px 13px;border-radius:15px;margin:11px 0}.sms-bubble.out{background:#0b65d8;color:#fff;border-bottom-right-radius:5px}.sms-bubble.in{margin-left:auto;background:#fff;border:1px solid #dce7f2;border-bottom-left-radius:5px}.sms-delivery{text-align:right;font-size:7px;color:#18a558}
.sms-phone-stats{position:absolute;left:13px;right:13px;bottom:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.sms-phone-stats div{background:#fff;border:1px solid #dce7f2;border-radius:9px;padding:8px 4px;text-align:center}.sms-phone-stats b,.sms-phone-stats small{display:block}.sms-phone-stats b{font-size:12px;color:#082b57}.sms-phone-stats small{font-size:6px;color:#64748b}
.sms-dots{display:flex;gap:7px;margin-top:22px;z-index:3}.sms-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#66809c;padding:0;cursor:pointer}.sms-dots button.active{background:#2586ff;width:22px;border-radius:10px}
.sms-floating-tag{position:absolute;z-index:4;background:rgba(255,255,255,.96);color:#082b57;border-radius:999px;padding:9px 13px;font-size:9px;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.18)}.tag-one{left:4%;top:27%}.tag-two{right:0;bottom:28%}
.sms-premium-copy .eyebrow{color:#5fa8ff}.sms-premium-copy h2{font-size:46px;line-height:1.05;margin:12px 0 18px;color:#fff}.sms-premium-copy h2 span{color:#2586ff}.sms-premium-copy>p{color:#d4e2f1;line-height:1.65;max-width:680px}
.sms-premium-features{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:26px 0}.sms-premium-features>div{background:rgba(255,255,255,.07);border:1px solid rgba(104,169,255,.22);border-radius:15px;padding:14px;display:grid;grid-template-columns:38px 1fr;gap:10px}.sms-premium-features i{width:38px;height:38px;border-radius:10px;background:#0b4fa3;display:flex;align-items:center;justify-content:center;font-style:normal}.sms-premium-features strong,.sms-premium-features small{display:block}.sms-premium-features strong{font-size:12px;color:#fff}.sms-premium-features small{font-size:9px;color:#bcd0e4;margin-top:3px;line-height:1.4}
.sms-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sms-metrics div{border-top:2px solid #2586ff;padding-top:10px}.sms-metrics strong,.sms-metrics span{display:block}.sms-metrics strong{font-size:23px}.sms-metrics span{font-size:9px;color:#bcd0e4}.sms-compliance{font-size:8px!important;color:#829bb5!important;margin-top:18px}
@keyframes smsFloat{0%,100%{transform:translateY(0) rotateY(-4deg)}50%{transform:translateY(-10px) rotateY(4deg)}}
@keyframes smsTurn{0%{transform:rotateY(0)}48%{transform:rotateY(82deg) scale(.94)}52%{transform:rotateY(-82deg) scale(.94)}100%{transform:rotateY(0)}}
@media(max-width:900px){.sms-premium-grid{grid-template-columns:1fr;gap:25px}.sms-visual{min-height:590px}.sms-premium-copy h2{font-size:38px}}
@media(max-width:560px){.sms-premium{padding:60px 0}.sms-visual{min-height:520px}.sms-demo-phone{width:250px;height:470px}.sms-orbit.orbit-a{width:390px;height:390px}.sms-orbit.orbit-b{width:310px;height:310px}.sms-floating-tag{display:none}.sms-premium-features{grid-template-columns:1fr}.sms-premium-copy h2{font-size:34px}}

/* v1.9.2 — capturas reales dentro del teléfono */
.sms-real-shot{height:325px;border-radius:13px;overflow:hidden;background:#fff;border:1px solid #dce7f2}
.sms-real-shot img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== v1.9.3 Contacto clasificado por servicio ===== */
.contact-classified{width:340px}
.contact-interest-list{display:grid;gap:7px}
.contact-interest{width:100%;border:1px solid #e0e8f1;background:#fff;border-radius:12px;padding:9px;display:grid;grid-template-columns:38px 1fr 14px;gap:9px;align-items:center;text-align:left;cursor:pointer;color:#173651}
.contact-interest:hover{background:#f5f9fd;border-color:#bcd5ef;transform:translateX(-2px)}
.contact-interest>span:nth-child(2) strong,.contact-interest>span:nth-child(2) small{display:block}
.contact-interest>span:nth-child(2) strong{font-size:11px}.contact-interest>span:nth-child(2) small{font-size:8px;color:#64748b;margin-top:2px}
.contact-interest>b{font-size:20px;color:#8ca4bb}
.interest-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}
.sms-i{background:#18a558}.call-i{background:#0b65d8}.canv-i{background:#f59e0b}.full-i{background:#6a4fb3}
.contact-methods{display:none}.contact-methods.open{display:block}
.contact-back{border:0;background:transparent;color:#0b65d8;font-size:9px;font-weight:700;padding:4px 2px 9px;cursor:pointer}
.selected-interest{background:#f3f8fd;border-radius:9px;padding:8px 10px;font-size:9px;color:#53677c;margin-bottom:6px}.selected-interest strong{color:#082b57}
#lhr-contact-data{display:none}
@media(max-width:600px){.contact-classified{width:min(340px,calc(100vw - 28px))}}

/* ===== v1.9.4 Contacto corregido + segmentación SMS geográfica ===== */
.contact-classified{width:350px}
.contact-interest-list{display:grid;gap:7px}
.contact-interest{width:100%;border:1px solid #e0e8f1;background:#fff;border-radius:12px;padding:9px;display:grid;grid-template-columns:38px 1fr 14px;gap:9px;align-items:center;text-align:left;cursor:pointer;color:#173651;transition:.2s}
.contact-interest:hover{background:#f5f9fd;border-color:#bcd5ef;transform:translateX(-2px)}
.contact-interest>span:nth-child(2) strong,.contact-interest>span:nth-child(2) small{display:block}
.contact-interest>span:nth-child(2) strong{font-size:11px}.contact-interest>span:nth-child(2) small{font-size:8px;color:#64748b;margin-top:2px;line-height:1.3}
.contact-interest>b{font-size:20px;color:#8ca4bb}
.interest-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}
.sms-i{background:#18a558}.call-i{background:#0b65d8}.canv-i{background:#f59e0b}.full-i{background:#6a4fb3}
.contact-methods{display:none}.contact-methods.open{display:block}
.contact-back{border:0;background:transparent;color:#0b65d8;font-size:9px;font-weight:700;padding:4px 2px 9px;cursor:pointer}
.selected-interest{background:#f3f8fd;border-radius:9px;padding:8px 10px;font-size:9px;color:#53677c;margin-bottom:6px}.selected-interest strong{color:#082b57}
#lhr-contact-data{display:none}

.sms-geo-tags{display:flex;gap:5px;flex-wrap:wrap;margin:-5px 0 10px}
.sms-geo-tags span{font-size:7px;background:#e8f3ff;color:#0b4fa3;border:1px solid #cfe2f7;border-radius:999px;padding:5px 7px}
.sms-geo-strategy{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.sms-geo-strategy>div{background:rgba(255,255,255,.07);border:1px solid rgba(104,169,255,.22);border-radius:13px;padding:12px}
.sms-geo-strategy strong,.sms-geo-strategy span{display:block}
.sms-geo-strategy strong{font-size:11px;color:#fff;margin-bottom:4px}.sms-geo-strategy>div>span{font-size:8px;color:#bcd0e4;line-height:1.4}
.sms-geo-strategy .zip-demo{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sms-geo-strategy .zip-demo b{font-size:8px;color:#fff;margin-right:3px}.sms-geo-strategy .zip-demo span{font-size:7px!important;color:#d9eaff!important;background:#0b4fa3;border-radius:999px;padding:5px 7px}
@media(max-width:600px){.contact-classified{width:min(350px,calc(100vw - 28px))}.sms-geo-strategy{grid-template-columns:1fr}.sms-geo-strategy .zip-demo{grid-column:1}}

/* ===== v1.9.5: fondo territorial dinámico detrás del teléfono SMS ===== */
.sms-zone-backdrop{
  position:absolute;
  width:470px;
  height:430px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-6deg);
  border-radius:34px;
  background:linear-gradient(135deg,rgba(16,63,110,.34),rgba(13,92,156,.14));
  border:1px solid rgba(88,166,255,.18);
  overflow:hidden;
  z-index:0;
  box-shadow:inset 0 0 80px rgba(12,91,164,.08)
}
.zone-grid-line{position:absolute;background:rgba(123,180,237,.10)}
.zg1,.zg2,.zg3{top:0;bottom:0;width:2px}.zg1{left:24%}.zg2{left:51%}.zg3{left:76%}
.zh1,.zh2,.zh3{left:0;right:0;height:2px}.zh1{top:25%}.zh2{top:52%}.zh3{top:76%}
.zone-node{
  position:absolute;width:14px;height:14px;border-radius:50%;
  background:#2586ff;border:3px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 7px rgba(37,134,255,.14),0 0 22px rgba(37,134,255,.55);
  animation:zonePulse 2.2s ease-in-out infinite
}
.zn1{left:17%;top:65%}.zn2{left:34%;top:43%;animation-delay:.25s}.zn3{left:53%;top:59%;animation-delay:.5s}.zn4{left:68%;top:30%;animation-delay:.75s}.zn5{left:80%;top:51%;animation-delay:1s}
.zone-route{
  position:absolute;height:4px;border-radius:99px;background:linear-gradient(90deg,#2586ff,#73b5ff);
  transform-origin:left center;opacity:.75;box-shadow:0 0 14px rgba(37,134,255,.45)
}
.zr1{left:18%;top:66%;width:54%;transform:rotate(-25deg)}
.zr2{left:53%;top:59%;width:29%;transform:rotate(-12deg)}
.zone-label{
  position:absolute;left:18px;top:18px;
  background:rgba(6,26,52,.78);color:#fff;border:1px solid rgba(110,177,255,.24);
  border-radius:999px;padding:8px 12px;font-size:9px;font-weight:800;letter-spacing:.03em
}
.zone-zip-cloud{
  position:absolute;right:16px;bottom:16px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:220px
}
.zone-zip-cloud span{
  background:rgba(255,255,255,.92);color:#0b4fa3;border-radius:999px;padding:6px 8px;
  font-size:7px;font-weight:800;box-shadow:0 6px 15px rgba(0,0,0,.12)
}
.sms-zone-backdrop.zone-change{animation:zoneShift .9s ease}
@keyframes zonePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.72}}
@keyframes zoneShift{0%{opacity:.55;transform:translate(-50%,-50%) rotate(-6deg) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) rotate(2deg) scale(1.03)}100%{opacity:1;transform:translate(-50%,-50%) rotate(-6deg) scale(1)}}
@media(max-width:560px){
  .sms-zone-backdrop{width:350px;height:360px}
  .zone-zip-cloud{max-width:170px}
}

/* ===== v1.9.6 — SMS: mapa territorial separado del teléfono ===== */
.sms-premium-grid{
  grid-template-columns:minmax(310px,.82fr) minmax(390px,1.02fr) minmax(440px,1.16fr);
  gap:30px;align-items:center
}
/* Disable the old map-behind-phone presentation if cached markup survives */
.sms-zone-backdrop{display:none!important}
.sms-visual{min-height:570px}
.sms-territory-panel{
  background:linear-gradient(160deg,rgba(13,55,101,.92),rgba(7,35,70,.96));
  border:1px solid rgba(104,169,255,.28);border-radius:22px;padding:17px;
  box-shadow:0 24px 50px rgba(0,0,0,.22);position:relative;overflow:hidden
}
.territory-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.territory-head span{display:block;color:#64aaff;font-size:7px;font-weight:800;letter-spacing:.09em}
.territory-head strong{display:block;color:#fff;font-size:16px;margin-top:3px}
.territory-live{font-size:7px;color:#bcd0e4;display:flex;align-items:center;gap:5px}
.territory-live i{width:7px;height:7px;border-radius:50%;background:#2bd576;box-shadow:0 0 0 5px rgba(43,213,118,.12);animation:mapLive 1.8s infinite}
.territory-map{
  height:355px;position:relative;border-radius:17px;overflow:hidden;
  background:
    linear-gradient(32deg,transparent 46%,rgba(110,170,230,.10) 47%,rgba(110,170,230,.10) 49%,transparent 50%),
    linear-gradient(142deg,transparent 43%,rgba(110,170,230,.08) 44%,rgba(110,170,230,.08) 46%,transparent 47%),
    linear-gradient(160deg,#0b3968,#0a2d54)
}
.map-road{position:absolute;height:2px;background:rgba(150,196,238,.20);transform-origin:left}
.road-a{left:4%;top:25%;width:95%;transform:rotate(8deg)}
.road-b{left:2%;top:66%;width:94%;transform:rotate(-12deg)}
.road-c{left:22%;top:4%;width:80%;transform:rotate(62deg)}
.road-d{left:55%;top:1%;width:80%;transform:rotate(88deg)}
.road-e{left:8%;top:48%;width:86%;transform:rotate(22deg)}
.map-zone{position:absolute;border:1px dashed rgba(103,172,244,.30);background:rgba(32,111,190,.08)}
.map-zone span{position:absolute;color:rgba(205,229,252,.48);font-size:7px;font-weight:800}
.mz-a{left:4%;top:5%;width:43%;height:42%;border-radius:42% 58% 48% 52%}.mz-a span{left:12px;top:10px}
.mz-b{right:4%;top:7%;width:43%;height:40%;border-radius:58% 42% 55% 45%}.mz-b span{right:12px;top:10px}
.mz-c{left:5%;bottom:5%;width:45%;height:43%;border-radius:45% 55% 40% 60%}.mz-c span{left:12px;bottom:10px}
.mz-d{right:4%;bottom:5%;width:44%;height:44%;border-radius:55% 45% 60% 40%}.mz-d span{right:12px;bottom:10px}
.map-pin{position:absolute;color:#fff;z-index:4;animation:mapPinFloat 3.2s ease-in-out infinite}
.map-pin i{display:block;width:13px;height:13px;border-radius:50%;background:#2586ff;border:3px solid #fff;box-shadow:0 0 0 7px rgba(37,134,255,.16),0 0 20px rgba(37,134,255,.6)}
.map-pin b,.map-pin small{display:block;margin-left:18px;white-space:nowrap}
.map-pin b{font-size:8px;margin-top:-15px}.map-pin small{font-size:6px;color:#b9d3ec;margin-top:2px}
.mp1{left:15%;top:22%}.mp2{left:38%;top:36%;animation-delay:.4s}.mp3{left:68%;top:20%;animation-delay:.8s}
.mp4{left:76%;top:62%;animation-delay:1.2s}.mp5{left:25%;top:70%;animation-delay:1.6s}.mp6{left:53%;top:58%;animation-delay:2s}
.territory-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.territory-summary>div{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.055);border:1px solid rgba(104,169,255,.13);border-radius:10px;padding:8px}
.territory-summary p{margin:0}.territory-summary b,.territory-summary small{display:block}
.territory-summary b{font-size:8px;color:#fff}.territory-summary small{font-size:6px;color:#a9c2da;margin-top:2px}
.ts-dot{width:8px;height:8px;border-radius:50%;background:#2586ff;box-shadow:0 0 0 4px rgba(37,134,255,.12)}
.z2{background:#2bd576}.z3{background:#f5a623}.z4{background:#8b6be8}
@keyframes mapPinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes mapLive{0%,100%{opacity:1}50%{opacity:.4}}
@media(max-width:1280px){
 .sms-premium-grid{grid-template-columns:.85fr 1.15fr;gap:35px}
 .sms-territory-panel{grid-column:1/2;grid-row:2}
 .sms-premium-copy{grid-column:2;grid-row:1/3}
}
@media(max-width:900px){
 .sms-premium-grid{grid-template-columns:1fr}
 .sms-visual,.sms-territory-panel,.sms-premium-copy{grid-column:1!important;grid-row:auto!important}
 .sms-territory-panel{max-width:600px;width:100%;margin:0 auto}
}

/* ===== v1.9.7 — SMS composición premium mapa + teléfono superpuesto ===== */
.sms-showcase-v197{
  background:
    radial-gradient(circle at 23% 42%,rgba(14,97,185,.16),transparent 34%),
    linear-gradient(135deg,#04152b,#082b57 62%,#061a35);
  color:#fff;padding:78px 0;overflow:hidden
}
.sms-wide-container{max-width:1500px}
.sms-showcase-v197 .sms-wide-container{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}

.sms-left-stage{min-height:720px;position:relative}
.sms-map-title{position:absolute;left:0;top:0;z-index:6}
.sms-map-title strong,.sms-map-title span{display:block}
.sms-map-title strong{font-size:13px;letter-spacing:.03em}.sms-map-title span{font-size:9px;color:#b6cce3;margin-top:4px}

.sms-zone-summary-card{
  position:absolute;left:0;top:55px;width:315px;z-index:8;
  background:rgba(4,24,49,.92);border:1px solid rgba(94,164,238,.24);border-radius:15px;padding:9px
}
.sms-zone-summary-card>div{display:grid;grid-template-columns:10px 1fr 58px 48px;gap:8px;align-items:center;padding:9px;border-bottom:1px solid rgba(255,255,255,.07)}
.sms-zone-summary-card>div:last-child{border-bottom:0}
.sms-zone-summary-card i{width:8px;height:8px;border-radius:50%;background:#2385ff}.sms-zone-summary-card i.c2{background:#34cc72}.sms-zone-summary-card i.c3{background:#8b64e8}.sms-zone-summary-card i.c4{background:#f29a34}
.sms-zone-summary-card span b,.sms-zone-summary-card span small,.sms-zone-summary-card strong,.sms-zone-summary-card strong small,.sms-zone-summary-card em,.sms-zone-summary-card em small{display:block}
.sms-zone-summary-card span b{font-size:8px}.sms-zone-summary-card span small{font-size:6px;color:#a8c0d9;margin-top:2px}
.sms-zone-summary-card strong,.sms-zone-summary-card em{font-size:11px;font-style:normal;text-align:right}.sms-zone-summary-card strong small,.sms-zone-summary-card em small{font-size:5px;color:#9fb8d1;font-weight:400}

.sms-map-canvas{
  position:absolute;left:0;top:135px;width:610px;height:485px;border-radius:26px;
  background:
    linear-gradient(135deg,rgba(15,70,122,.5),rgba(5,32,64,.88)),
    #082d58;
  overflow:hidden;border:1px solid rgba(89,159,229,.18)
}
.map-street{position:absolute;height:1px;background:rgba(138,183,226,.16);transform-origin:left}
.ms1{left:0;top:18%;width:105%;transform:rotate(8deg)}.ms2{left:2%;top:42%;width:99%;transform:rotate(-6deg)}
.ms3{left:0;top:70%;width:105%;transform:rotate(9deg)}.ms4{left:18%;top:0;width:100%;transform:rotate(69deg)}
.ms5{left:48%;top:-5%;width:100%;transform:rotate(84deg)}.ms6{left:70%;top:-10%;width:100%;transform:rotate(106deg)}
.geo-zone{position:absolute;border:1px solid currentColor;opacity:.95;filter:drop-shadow(0 0 9px currentColor)}
.geo-zone:after{content:"";position:absolute;inset:0;background:currentColor;opacity:.13}
.geo-zone span,.geo-zone b{position:absolute;z-index:3;background:rgba(5,25,51,.88);border-radius:8px;padding:5px 7px;color:#fff}
.geo-zone span{font-size:8px;font-weight:800}.geo-zone b{font-size:8px;line-height:1.4}
.gz1{left:5%;top:7%;width:42%;height:43%;color:#1787ff;clip-path:polygon(4% 10%,78% 0,100% 36%,84% 92%,20% 100%,0 64%)}.gz1 span{left:9%;top:8%}.gz1 b{left:9%;top:25%}
.gz2{right:4%;top:4%;width:41%;height:43%;color:#2bd576;clip-path:polygon(18% 0,90% 10%,100% 64%,70% 100%,0 85%,6% 28%)}.gz2 span{right:8%;top:8%}.gz2 b{right:8%;top:25%}
.gz3{left:6%;bottom:5%;width:44%;height:44%;color:#8d65ec;clip-path:polygon(0 18%,70% 0,100% 35%,82% 100%,17% 88%)}.gz3 span{left:9%;bottom:33%}.gz3 b{left:9%;bottom:10%}
.gz4{right:3%;bottom:4%;width:44%;height:45%;color:#f59a32;clip-path:polygon(12% 0,92% 15%,100% 76%,54% 100%,0 78%,0 26%)}.gz4 span{right:9%;bottom:33%}.gz4 b{right:9%;bottom:12%}
.geo-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#56aaff;box-shadow:0 0 0 4px rgba(76,165,255,.12),0 0 12px rgba(76,165,255,.75);z-index:5;animation:geoPulse 2.4s infinite}
.gd1{left:15%;top:22%}.gd2{left:24%;top:32%;animation-delay:.2s}.gd3{left:36%;top:18%;animation-delay:.4s}.gd4{left:41%;top:38%;animation-delay:.6s}
.gd5{left:63%;top:20%;animation-delay:.8s}.gd6{left:76%;top:30%;animation-delay:1s}.gd7{left:84%;top:18%;animation-delay:1.2s}.gd8{left:67%;top:40%;animation-delay:1.4s}
.gd9{left:18%;top:65%;animation-delay:.3s}.gd10{left:31%;top:75%;animation-delay:.7s}.gd11{left:42%;top:62%;animation-delay:1.1s}.gd12{left:25%;top:86%;animation-delay:1.5s}
.gd13{left:66%;top:64%;animation-delay:.5s}.gd14{left:78%;top:72%;animation-delay:.9s}.gd15{left:87%;top:60%;animation-delay:1.3s}.gd16{left:72%;top:86%;animation-delay:1.7s}

.sms-general-summary{
  position:absolute;left:0;bottom:8px;width:430px;z-index:8;background:rgba(4,24,49,.94);
  border:1px solid rgba(94,164,238,.22);border-radius:15px;padding:13px
}
.sms-general-summary>strong{font-size:10px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}
.summary-grid>div{background:rgba(255,255,255,.04);border:1px solid rgba(100,170,240,.12);border-radius:9px;padding:9px;text-align:center}
.summary-grid b,.summary-grid span{display:block}.summary-grid b{font-size:15px}.summary-grid span{font-size:5px;color:#9fb8d1;margin-top:2px}

.phone-over-map{
  position:absolute!important;right:0;top:95px;z-index:12!important;width:300px!important;height:560px!important;
  animation:smsFloat 5s ease-in-out infinite
}
.stage-dots{position:absolute;right:105px;bottom:20px;z-index:14}

.sms-right-copy .eyebrow{color:#5fa8ff}.sms-right-copy h2{font-size:54px;line-height:1.05;margin:12px 0 20px}.sms-right-copy h2 span{color:#2c86ff}
.sms-right-copy>p{font-size:15px;color:#d5e2ef;line-height:1.65}
.sms-right-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.sms-right-features>div{background:rgba(255,255,255,.065);border:1px solid rgba(101,170,240,.22);border-radius:14px;padding:13px;display:grid;grid-template-columns:38px 1fr;gap:9px}
.sms-right-features i{width:38px;height:38px;background:#0b65d8;border-radius:10px;display:flex;align-items:center;justify-content:center;font-style:normal}
.sms-right-features strong,.sms-right-features small{display:block}.sms-right-features strong{font-size:11px}.sms-right-features small{font-size:8px;color:#bad0e5;margin-top:3px;line-height:1.4}
.sms-segmentation-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.sms-segmentation-strip>div{background:rgba(255,255,255,.045);border:1px solid rgba(101,170,240,.18);border-radius:12px;padding:12px}
.sms-segmentation-strip b,.sms-segmentation-strip span{display:block}.sms-segmentation-strip b{font-size:9px}.sms-segmentation-strip span{font-size:7px;color:#afc6dc;margin-top:4px;line-height:1.4}
.sms-zip-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(101,170,240,.17);border-radius:12px;padding:10px;margin-top:10px}
.sms-zip-row b{font-size:7px;margin-right:4px}.sms-zip-row span{font-size:7px;background:#0b65d8;border-radius:999px;padding:5px 7px}
.sms-big-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.sms-big-metrics>div{border-top:2px solid #2586ff;padding-top:12px}.sms-big-metrics b,.sms-big-metrics span{display:block}.sms-big-metrics b{font-size:25px}.sms-big-metrics span{font-size:8px;color:#b5cce2}
.sms-showcase-v197 .sms-compliance{font-size:7px!important;color:#829bb5!important;margin-top:16px}
@keyframes geoPulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.55);opacity:1}}

@media(max-width:1250px){
  .sms-showcase-v197 .sms-wide-container{grid-template-columns:1fr}
  .sms-left-stage{max-width:820px;margin:0 auto;width:100%}
  .sms-right-copy{max-width:820px;margin:0 auto}
}
@media(max-width:780px){
  .sms-left-stage{min-height:auto;display:flex;flex-direction:column;gap:16px}
  .sms-map-title,.sms-zone-summary-card,.sms-map-canvas,.sms-general-summary,.phone-over-map,.stage-dots{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}
  .sms-zone-summary-card,.sms-map-canvas,.sms-general-summary{width:100%}
  .sms-map-canvas{height:430px}
  .phone-over-map{margin:0 auto}
  .stage-dots{justify-content:center}
  .sms-right-copy h2{font-size:40px}
}
@media(max-width:560px){
  .sms-showcase-v197{padding:60px 0}
  .sms-zone-summary-card>div{grid-template-columns:9px 1fr 50px 42px}
  .sms-map-canvas{height:360px}
  .phone-over-map{width:255px!important;height:480px!important}
  .sms-right-features,.sms-segmentation-strip{grid-template-columns:1fr}
}

/* ===== v1.9.8 — Ajuste visual SMS igual a composición aprobada ===== */

.sms-showcase-v197{
  padding:64px 0 70px;
  background:
    radial-gradient(circle at 30% 42%,rgba(20,93,176,.18),transparent 35%),
    linear-gradient(135deg,#031327 0%,#082b57 64%,#04172f 100%);
}
.sms-wide-container{max-width:1600px!important;padding-left:24px;padding-right:24px}
.sms-showcase-v197 .sms-wide-container{
  grid-template-columns:minmax(760px,1.05fr) minmax(560px,.95fr)!important;
  gap:46px!important;
  align-items:center!important;
}

/* LEFT STAGE */
.sms-left-stage{
  min-height:760px!important;
  position:relative;
  transform:none!important
}

/* Bigger map as true background stage */
.sms-map-canvas{
  left:58px!important;
  top:64px!important;
  width:690px!important;
  height:590px!important;
  border-radius:0!important;
  border:0!important;
  background:
    radial-gradient(circle at 55% 45%,rgba(34,117,197,.12),transparent 40%),
    linear-gradient(155deg,#06203e,#082e58 62%,#05192f)!important;
  box-shadow:none!important;
}

/* Denser "street map" feeling */
.sms-map-canvas:before,
.sms-map-canvas:after{
  content:"";
  position:absolute;
  inset:-10%;
  pointer-events:none
}
.sms-map-canvas:before{
  background:
    repeating-linear-gradient(15deg,transparent 0 28px,rgba(118,168,215,.07) 29px 30px),
    repeating-linear-gradient(92deg,transparent 0 35px,rgba(118,168,215,.05) 36px 37px);
  transform:rotate(-7deg)
}
.sms-map-canvas:after{
  background:
    radial-gradient(circle at 15% 32%,rgba(56,144,242,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 25% 43%,rgba(56,144,242,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 33% 24%,rgba(56,144,242,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 67% 22%,rgba(48,211,119,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 76% 34%,rgba(48,211,119,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 23% 73%,rgba(142,101,236,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 34% 83%,rgba(142,101,236,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 72%,rgba(245,154,50,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 83% 82%,rgba(245,154,50,.22) 0 2px,transparent 3px)
}

/* Stronger zone polygons */
.geo-zone{filter:drop-shadow(0 0 11px currentColor);opacity:1!important}
.gz1{
  left:0!important;top:22%!important;width:45%!important;height:35%!important;
  clip-path:polygon(8% 0,82% 6%,100% 48%,74% 100%,14% 90%,0 45%)!important
}
.gz2{
  right:4%!important;top:8%!important;width:43%!important;height:42%!important;
  clip-path:polygon(12% 3%,88% 0,100% 60%,68% 100%,5% 84%,0 24%)!important
}
.gz3{
  left:1%!important;bottom:4%!important;width:46%!important;height:37%!important;
  clip-path:polygon(0 18%,68% 0,100% 38%,78% 100%,16% 88%)!important
}
.gz4{
  right:2%!important;bottom:0!important;width:47%!important;height:40%!important;
  clip-path:polygon(12% 0,92% 14%,100% 75%,60% 100%,0 82%,0 24%)!important
}
.geo-zone span{
  font-size:11px!important;
  padding:7px 10px!important;
  border:1px solid currentColor!important;
  background:rgba(4,24,49,.88)!important
}
.geo-zone b{
  font-size:11px!important;
  padding:7px 10px!important;
  line-height:1.35!important;
  background:rgba(4,24,49,.88)!important
}
.gz1 span{left:8%!important;top:15%!important}.gz1 b{left:8%!important;top:34%!important}
.gz2 span{right:9%!important;top:10%!important}.gz2 b{right:9%!important;top:29%!important}
.gz3 span{left:10%!important;bottom:35%!important}.gz3 b{left:10%!important;bottom:10%!important}
.gz4 span{right:9%!important;bottom:36%!important}.gz4 b{right:9%!important;bottom:11%!important}

/* More visible glowing data points */
.geo-dot{
  width:7px!important;height:7px!important;
  box-shadow:0 0 0 5px rgba(86,170,255,.15),0 0 16px rgba(86,170,255,.9)!important
}

/* Coverage card at upper left like approved composition */
.sms-map-title{display:none!important}
.sms-zone-summary-card{
  left:0!important;top:4px!important;width:350px!important;
  padding:10px 12px!important;
  border-radius:15px!important;
  background:rgba(3,20,41,.95)!important;
  border:1px solid rgba(90,166,244,.27)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.22)!important
}
.sms-zone-summary-card:before{
  content:"COBERTURA POR ZONAS";
  display:block;
  font-size:14px;
  font-weight:800;
  color:#fff;
  padding:4px 2px 3px
}
.sms-zone-summary-card:after{
  content:"Mensajes enviados en tiempo real";
  display:block;
  font-size:7px;
  color:#9fb9d2;
  padding:0 2px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:2px
}
.sms-zone-summary-card>div{
  grid-template-columns:10px 1fr 64px 54px!important;
  padding:10px 3px!important
}
.sms-zone-summary-card span b{font-size:9px!important}
.sms-zone-summary-card span small{font-size:7px!important}
.sms-zone-summary-card strong,.sms-zone-summary-card em{font-size:14px!important}
.sms-zone-summary-card strong small,.sms-zone-summary-card em small{font-size:6px!important}

/* Phone becomes central hero, larger and tilted */
.phone-over-map{
  right:22px!important;
  top:82px!important;
  width:330px!important;
  height:610px!important;
  transform:rotateY(-9deg) rotateZ(2deg)!important;
  transform-origin:center bottom!important;
  box-shadow:
    0 30px 70px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.04)!important;
  animation:smsFloatHero 5.4s ease-in-out infinite!important
}
@keyframes smsFloatHero{
  0%,100%{transform:translateY(0) rotateY(-9deg) rotateZ(2deg)}
  50%{transform:translateY(-11px) rotateY(-4deg) rotateZ(1deg)}
}

/* Summary block lower-left */
.sms-general-summary{
  left:0!important;
  bottom:10px!important;
  width:480px!important;
  padding:15px!important;
  border-radius:15px!important;
  background:rgba(3,20,41,.95)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.2)!important
}
.sms-general-summary>strong{font-size:11px!important}
.summary-grid>div{padding:12px 7px!important}
.summary-grid b{font-size:19px!important}
.summary-grid span{font-size:6px!important}

/* Phone dots centered under phone */
.stage-dots{
  right:122px!important;
  bottom:0!important
}

/* Right side proportions */
.sms-right-copy{padding-right:6px}
.sms-right-copy .eyebrow{
  color:#3391ff!important;
  font-size:11px!important;
  letter-spacing:.03em!important;
  font-weight:800!important
}
.sms-right-copy h2{
  font-size:58px!important;
  line-height:1.03!important;
  margin:13px 0 22px!important;
  max-width:640px
}
.sms-right-copy>p{
  font-size:17px!important;
  max-width:650px;
  margin-bottom:22px
}
.sms-right-features{
  gap:12px!important;
  margin:22px 0 12px!important
}
.sms-right-features>div{
  padding:15px!important;
  min-height:88px
}
.sms-right-features i{
  width:44px!important;height:44px!important;
  font-size:18px
}
.sms-right-features strong{font-size:13px!important}
.sms-right-features small{font-size:9px!important}

.sms-segmentation-strip>div{padding:14px!important}
.sms-segmentation-strip b{font-size:10px!important}
.sms-segmentation-strip span{font-size:8px!important}
.sms-zip-row{
  padding:12px!important;
  margin-top:12px!important
}
.sms-zip-row b{font-size:8px!important}
.sms-zip-row span{font-size:8px!important;padding:6px 8px!important}

.sms-big-metrics{
  margin-top:22px!important;
  gap:18px!important
}
.sms-big-metrics b{font-size:31px!important}
.sms-big-metrics span{font-size:9px!important}
.sms-showcase-v197 .sms-compliance{font-size:8px!important}

/* Decorative neon base beneath phone */
.phone-over-map:after{
  content:"";
  position:absolute;
  left:20px;right:20px;bottom:-26px;height:18px;
  border:2px solid #0b77ff;
  border-radius:50%;
  box-shadow:0 0 24px rgba(11,119,255,.45);
  transform:rotateX(70deg)
}

@media(max-width:1350px){
  .sms-showcase-v197 .sms-wide-container{
    grid-template-columns:1fr!important
  }
  .sms-left-stage{max-width:900px!important;margin:0 auto 25px}
  .sms-right-copy{max-width:900px;margin:0 auto}
}
@media(max-width:820px){
  .sms-left-stage{
    min-height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important
  }
  .sms-zone-summary-card,.sms-map-canvas,.sms-general-summary,.phone-over-map,.stage-dots{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important
  }
  .sms-zone-summary-card,.sms-map-canvas,.sms-general-summary{width:100%!important}
  .sms-map-canvas{height:480px!important}
  .phone-over-map{
    margin:0 auto!important;
    width:285px!important;height:525px!important;
    transform:none!important
  }
  .phone-over-map:after{display:none}
  .stage-dots{justify-content:center!important}
  .sms-right-copy h2{font-size:42px!important}
}
@media(max-width:520px){
  .sms-map-canvas{height:390px!important}
  .sms-zone-summary-card>div{
    grid-template-columns:9px 1fr 52px 44px!important
  }
  .sms-zone-summary-card strong,.sms-zone-summary-card em{font-size:11px!important}
  .sms-right-copy h2{font-size:36px!important}
}

/* ===== v1.9.9 — MAPA COMO FONDO + TELÉFONO FLOTANTE ===== */

/* Wider left presentation, closer to approved reference */
.sms-showcase-v197 .sms-wide-container{
  grid-template-columns:minmax(820px,1.12fr) minmax(540px,.88fr)!important;
  gap:44px!important;
}
.sms-left-stage{
  min-height:790px!important;
  overflow:visible!important;
}

/* Map becomes the actual territorial BACKGROUND */
.sms-map-canvas{
  left:30px!important;
  top:38px!important;
  width:760px!important;
  height:650px!important;
  border-radius:28px!important;
  border:0!important;
  overflow:hidden!important;
  z-index:1!important;
  opacity:.96;
  background:
    radial-gradient(circle at 48% 42%,rgba(31,119,205,.18),transparent 42%),
    linear-gradient(155deg,#051c37 0%,#07305c 52%,#04162c 100%)!important;
  box-shadow:inset 0 0 90px rgba(0,0,0,.24)!important;
}

/* subtle urban/map grid behind zones */
.sms-map-canvas:before{
  inset:-12%!important;
  background:
    repeating-linear-gradient(15deg,transparent 0 25px,rgba(116,170,222,.08) 26px 27px),
    repeating-linear-gradient(91deg,transparent 0 32px,rgba(116,170,222,.055) 33px 34px),
    repeating-linear-gradient(145deg,transparent 0 54px,rgba(116,170,222,.04) 55px 56px)!important;
  transform:rotate(-5deg)!important;
}
.sms-map-canvas:after{
  inset:0!important;
  background:
    radial-gradient(circle at 14% 20%,rgba(44,145,255,.35) 0 2px,transparent 3px),
    radial-gradient(circle at 22% 32%,rgba(44,145,255,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 35% 24%,rgba(44,145,255,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 48% 18%,rgba(51,218,126,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 61% 26%,rgba(51,218,126,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 26% 67%,rgba(147,105,240,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 39% 80%,rgba(147,105,240,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 65% 70%,rgba(249,159,52,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 80% 78%,rgba(249,159,52,.30) 0 2px,transparent 3px)!important;
}

/* Zones enlarged and kept clearly left of phone */
.gz1{
  left:2%!important;top:18%!important;width:40%!important;height:34%!important;
  clip-path:polygon(8% 2%,82% 6%,100% 50%,74% 100%,13% 89%,0 43%)!important;
}
.gz2{
  left:43%!important;top:9%!important;width:36%!important;height:39%!important;
  clip-path:polygon(11% 3%,88% 0,100% 61%,67% 100%,4% 83%,0 23%)!important;
}
.gz3{
  left:3%!important;bottom:5%!important;width:42%!important;height:36%!important;
  clip-path:polygon(0 18%,68% 0,100% 38%,78% 100%,16% 88%)!important;
}
.gz4{
  left:43%!important;bottom:2%!important;width:38%!important;height:38%!important;
  clip-path:polygon(12% 0,92% 14%,100% 74%,60% 100%,0 82%,0 24%)!important;
}
.geo-zone span{
  font-size:12px!important;
  padding:7px 10px!important;
}
.geo-zone b{
  font-size:11px!important;
  padding:7px 10px!important;
}
.gz1 span{left:11%!important;top:13%!important}.gz1 b{left:11%!important;top:34%!important}
.gz2 span{right:10%!important;top:11%!important}.gz2 b{right:10%!important;top:31%!important}
.gz3 span{left:12%!important;bottom:36%!important}.gz3 b{left:12%!important;bottom:10%!important}
.gz4 span{right:10%!important;bottom:36%!important}.gz4 b{right:10%!important;bottom:10%!important}

/* Phone floats on right edge of map, not centered over zones */
.phone-over-map{
  right:-6px!important;
  top:88px!important;
  width:320px!important;
  height:595px!important;
  z-index:12!important;
  animation:smsPhoneFloat199 5.6s ease-in-out infinite!important;
  transform-origin:center bottom!important;
}
@keyframes smsPhoneFloat199{
  0%,100%{transform:translateY(0) rotateY(-6deg) rotateZ(1.5deg)}
  50%{transform:translateY(-15px) rotateY(1deg) rotateZ(-.5deg)}
}

/* Coverage card above map */
.sms-zone-summary-card{
  left:0!important;
  top:8px!important;
  width:345px!important;
  z-index:15!important;
}

/* Summary card stays lower left */
.sms-general-summary{
  left:0!important;
  bottom:0!important;
  width:490px!important;
  z-index:15!important;
}

/* Phone dots directly under phone */
.stage-dots{
  right:105px!important;
  bottom:0!important;
  z-index:16!important;
}

/* Keep phone readable while map stays behind */
.phone-over-map .sms-demo-screen{
  background:#f6f9fc!important;
}

/* Right copy to fill available width */
.sms-right-copy{
  align-self:center!important;
  max-width:640px!important;
}
.sms-right-copy h2{
  font-size:56px!important;
  line-height:1.02!important;
}

/* Slightly denser feature area */
.sms-right-features>div{min-height:84px!important}
.sms-big-metrics{margin-top:20px!important}

/* responsive */
@media(max-width:1380px){
  .sms-showcase-v197 .sms-wide-container{grid-template-columns:1fr!important}
  .sms-left-stage{max-width:940px!important;margin:0 auto 24px!important}
  .sms-right-copy{max-width:900px!important;margin:0 auto!important}
}
@media(max-width:860px){
  .sms-left-stage{
    min-height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
  }
  .sms-zone-summary-card,.sms-map-canvas,.sms-general-summary,.phone-over-map,.stage-dots{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  }
  .sms-map-canvas,.sms-zone-summary-card,.sms-general-summary{
    width:100%!important;
  }
  .sms-map-canvas{height:480px!important}
  .phone-over-map{
    margin:0 auto!important;
    width:285px!important;
    height:525px!important;
    animation:smsFloat 5s ease-in-out infinite!important;
  }
  .stage-dots{justify-content:center!important}
}
@media(max-width:560px){
  .sms-map-canvas{height:400px!important}
  .sms-right-copy h2{font-size:36px!important}
}

/* ===== v2.0.0 — teléfono restaurado + fondo editable de sección SMS ===== */

/* Fondo opcional cargado desde WordPress */
.sms-showcase-v197.has-custom-sms-bg{
  position:relative;
  background-image:
    linear-gradient(90deg,rgba(3,19,39,.88),rgba(8,43,87,.78) 55%,rgba(4,23,47,.90)),
    var(--lhr-sms-bg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
}
.sms-showcase-v197.has-custom-sms-bg:before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 35% 45%,rgba(15,107,207,.08),transparent 38%);
  pointer-events:none;
}
.sms-showcase-v197.has-custom-sms-bg>.container{position:relative;z-index:2}

/* Cuando hay fondo propio, ocultamos el mapa CSS para no duplicar visuales */
.sms-showcase-v197.has-custom-sms-bg .sms-map-canvas{opacity:.16!important}
.sms-showcase-v197.has-custom-sms-bg .geo-zone,
.sms-showcase-v197.has-custom-sms-bg .geo-dot{opacity:.22!important}

/* Teléfono: vuelve al comportamiento anterior, recto y flotando suavemente */
.phone-over-map{
  right:22px!important;
  top:95px!important;
  width:300px!important;
  height:560px!important;
  z-index:12!important;
  transform:none!important;
  transform-origin:center center!important;
  animation:smsPhoneOriginal 5s ease-in-out infinite!important;
}
@keyframes smsPhoneOriginal{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
.phone-over-map:after{display:none!important}
.stage-dots{
  right:105px!important;
  bottom:20px!important;
}

/* Si se usa fondo personalizado, deja todavía más limpio el teléfono */
.has-custom-sms-bg .phone-over-map{
  filter:drop-shadow(0 24px 32px rgba(0,0,0,.34))
}

@media(max-width:860px){
  .phone-over-map{
    right:auto!important;top:auto!important;
    width:285px!important;height:525px!important;
    margin:0 auto!important
  }
}


/* ===== v2.0.1 — teléfono protagonista como demo original + fondo editable ===== */

/* Custom background covers the full SMS section */
.sms-showcase-v197.has-custom-sms-bg{
  position:relative!important;
  background-image:
    linear-gradient(
      90deg,
      rgba(3,19,39,var(--lhr-sms-overlay,.70)) 0%,
      rgba(5,27,53,calc(var(--lhr-sms-overlay,.70) - .08)) 48%,
      rgba(3,20,41,var(--lhr-sms-overlay,.70)) 100%
    ),
    var(--lhr-sms-bg)!important;
  background-size:cover!important;
  background-position:var(--lhr-sms-bg-pos,center center)!important;
  background-repeat:no-repeat!important;
}
.sms-showcase-v197.has-custom-sms-bg:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 27% 48%,rgba(21,111,214,.10),transparent 34%),
    linear-gradient(115deg,rgba(0,0,0,.08),transparent 55%);
  pointer-events:none;
}
.sms-showcase-v197.has-custom-sms-bg>.container{
  position:relative;
  z-index:2;
}

/* When a real background image is selected, remove the CSS territory map visual
   so the uploaded background is what the visitor sees. */
.sms-showcase-v197.has-custom-sms-bg .sms-map-canvas{
  opacity:0!important;
  pointer-events:none!important;
}
.sms-showcase-v197.has-custom-sms-bg .sms-zone-summary-card,
.sms-showcase-v197.has-custom-sms-bg .sms-general-summary{
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  background:rgba(3,20,41,.82)!important;
}

/* Phone goes back to the original floating showcase look */
.phone-over-map{
  right:70px!important;
  top:90px!important;
  width:300px!important;
  height:560px!important;
  z-index:15!important;
  transform:none!important;
  transform-origin:50% 75%!important;
  animation:lhrSmsPhoneShowcase 6.2s ease-in-out infinite!important;
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.34));
}
@keyframes lhrSmsPhoneShowcase{
  0%{
    transform:translate3d(-10px,0,0) rotateY(-5deg) rotateZ(-1deg);
  }
  25%{
    transform:translate3d(2px,-8px,0) rotateY(0deg) rotateZ(0deg);
  }
  50%{
    transform:translate3d(13px,-3px,0) rotateY(5deg) rotateZ(1deg);
  }
  75%{
    transform:translate3d(2px,-10px,0) rotateY(0deg) rotateZ(0deg);
  }
  100%{
    transform:translate3d(-10px,0,0) rotateY(-5deg) rotateZ(-1deg);
  }
}

/* Keep the screen itself stable/readable while the body moves */
.phone-over-map .sms-demo-screen{
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* Soft glowing oval like the reference website */
.phone-over-map:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:12%!important;
  right:12%!important;
  bottom:-26px!important;
  height:24px!important;
  border:2px solid rgba(24,127,255,.95)!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:
    0 0 18px rgba(24,127,255,.38),
    inset 0 0 14px rgba(24,127,255,.14)!important;
  transform:rotateX(70deg)!important;
  opacity:.95!important;
}

/* Dots below phone */
.stage-dots{
  right:112px!important;
  bottom:4px!important;
  z-index:16!important;
}

/* In custom-background mode, give the phone more visual breathing room */
.has-custom-sms-bg .phone-over-map{
  right:86px!important;
}
.has-custom-sms-bg .sms-left-stage{
  min-height:710px!important;
}

/* If no custom background is selected, preserve the built-in presentation */
.sms-showcase-v197:not(.has-custom-sms-bg) .sms-map-canvas{
  opacity:.92;
}

/* Responsive */
@media(max-width:1380px){
  .phone-over-map,
  .has-custom-sms-bg .phone-over-map{
    right:45px!important;
  }
}
@media(max-width:860px){
  .phone-over-map,
  .has-custom-sms-bg .phone-over-map{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    width:285px!important;
    height:525px!important;
    margin:12px auto 0!important;
    animation:lhrSmsPhoneMobile 5.2s ease-in-out infinite!important;
  }
  @keyframes lhrSmsPhoneMobile{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-9px)}
  }
  .phone-over-map:after{bottom:-22px!important}
  .stage-dots{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    justify-content:center!important;
  }
}


/* ===== v2.0.2 — teléfono con giro visible tipo demo original ===== */

/* Movimiento permanente: se desplaza y gira suavemente de lado a lado */
.phone-over-map{
  perspective:1200px!important;
  transform-style:preserve-3d!important;
  animation:lhrSmsPhoneOrbit 6.8s ease-in-out infinite!important;
  will-change:transform;
}

@keyframes lhrSmsPhoneOrbit{
  0%{
    transform:translate3d(-18px,0,0) rotateY(-13deg) rotateZ(-1.5deg);
  }
  18%{
    transform:translate3d(-5px,-9px,0) rotateY(-5deg) rotateZ(-.5deg);
  }
  38%{
    transform:translate3d(15px,-13px,0) rotateY(11deg) rotateZ(1.2deg);
  }
  55%{
    transform:translate3d(22px,-5px,0) rotateY(15deg) rotateZ(1.6deg);
  }
  75%{
    transform:translate3d(2px,-11px,0) rotateY(2deg) rotateZ(0deg);
  }
  100%{
    transform:translate3d(-18px,0,0) rotateY(-13deg) rotateZ(-1.5deg);
  }
}

/* Al cambiar de una campaña SMS a otra, da una vuelta más marcada */
.phone-over-map.turning{
  animation:lhrSmsCampaignTurn .95s cubic-bezier(.55,.05,.25,1)!important;
}

@keyframes lhrSmsCampaignTurn{
  0%{
    transform:translate3d(0,-6px,0) rotateY(0deg) scale(1);
  }
  32%{
    transform:translate3d(22px,-10px,0) rotateY(72deg) scale(.96);
  }
  48%{
    transform:translate3d(28px,-8px,0) rotateY(92deg) scale(.94);
  }
  52%{
    transform:translate3d(-28px,-8px,0) rotateY(-92deg) scale(.94);
  }
  70%{
    transform:translate3d(-18px,-10px,0) rotateY(-48deg) scale(.97);
  }
  100%{
    transform:translate3d(0,0,0) rotateY(0deg) scale(1);
  }
}

/* Más profundidad visual en el cuerpo */
.phone-over-map{
  filter:
    drop-shadow(0 28px 38px rgba(0,0,0,.38))
    drop-shadow(0 0 18px rgba(20,119,255,.10))!important;
}
.phone-over-map .sms-demo-screen{
  backface-visibility:hidden!important;
  transform:translateZ(1px);
}

/* óvalo inferior acompaña el movimiento */
.phone-over-map:after{
  opacity:.95!important;
  animation:lhrSmsBasePulse 3.4s ease-in-out infinite!important;
}
@keyframes lhrSmsBasePulse{
  0%,100%{transform:rotateX(70deg) scaleX(.94);opacity:.72}
  50%{transform:rotateX(70deg) scaleX(1.08);opacity:1}
}

/* móvil: evita giro extremo, mantiene movimiento suave */
@media(max-width:860px){
  .phone-over-map{
    animation:lhrSmsPhoneMobileTurn 5.4s ease-in-out infinite!important;
  }
  @keyframes lhrSmsPhoneMobileTurn{
    0%,100%{transform:translateY(0) rotateY(-4deg)}
    50%{transform:translateY(-10px) rotateY(4deg)}
  }
  .phone-over-map.turning{
    animation:lhrSmsCampaignTurnMobile .8s ease-in-out!important;
  }
  @keyframes lhrSmsCampaignTurnMobile{
    0%{transform:rotateY(0)}
    50%{transform:rotateY(55deg) scale(.97)}
    100%{transform:rotateY(0)}
  }
}


/* =========================================================
   v2.0.3 — SMS: FONDO EDITABLE POR ZONAS + TELÉFONO DINÁMICO
   ========================================================= */

/* La sección completa acepta la imagen elegida desde el Personalizador. */
.sms-showcase-v197.has-custom-sms-bg{
  position:relative!important;
  overflow:hidden!important;
  background-image:
    linear-gradient(90deg,
      rgba(2,17,36,.34) 0%,
      rgba(2,23,48,.20) 47%,
      rgba(3,29,61,.62) 67%,
      rgba(3,29,61,.92) 100%),
    var(--lhr-sms-bg)!important;
  background-size:cover!important;
  background-position:var(--lhr-sms-bg-pos,center center)!important;
  background-repeat:no-repeat!important;
}

.sms-showcase-v197.has-custom-sms-bg:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 34% 46%,rgba(24,122,255,.10),transparent 39%),
    linear-gradient(90deg,transparent 0 54%,rgba(2,24,50,.18) 63%,rgba(2,24,50,.48) 100%)!important;
}

.sms-showcase-v197 .sms-wide-container{
  position:relative!important;
  z-index:2!important;
}

/* Con una imagen de mapa real cargada, no mostramos el mapa CSS antiguo. */
.sms-showcase-v197.has-custom-sms-bg .sms-map-canvas{
  display:none!important;
}

/* Área izquierda amplia para mostrar el mapa de fondo. */
.sms-showcase-v197 .sms-left-stage{
  min-height:720px!important;
  position:relative!important;
}

/* Cobertura y resumen siguen encima del mapa, sin formar parte de la imagen. */
.sms-showcase-v197 .sms-zone-summary-card{
  left:0!important;
  top:12px!important;
  width:350px!important;
  z-index:21!important;
  background:rgba(2,19,39,.87)!important;
  border:1px solid rgba(77,151,229,.34)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.sms-showcase-v197 .sms-general-summary{
  left:0!important;
  bottom:6px!important;
  width:500px!important;
  z-index:21!important;
  background:rgba(2,19,39,.87)!important;
  border:1px solid rgba(77,151,229,.30)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

/* TELÉFONO: conserva su contenido real y vuelve a ser el protagonista. */
.sms-showcase-v197 .phone-over-map{
  position:absolute!important;
  right:42px!important;
  top:88px!important;
  width:305px!important;
  height:570px!important;
  z-index:30!important;
  perspective:1200px!important;
  transform-style:preserve-3d!important;
  animation:lhrSmsPhoneOrbit203 6.8s ease-in-out infinite!important;
  filter:
    drop-shadow(0 30px 42px rgba(0,0,0,.42))
    drop-shadow(0 0 20px rgba(20,119,255,.12))!important;
  will-change:transform;
}

@keyframes lhrSmsPhoneOrbit203{
  0%   {transform:translate3d(-14px,0,0) rotateY(-12deg) rotateZ(-1.1deg)}
  22%  {transform:translate3d(-2px,-10px,0) rotateY(-4deg) rotateZ(-.3deg)}
  45%  {transform:translate3d(14px,-12px,0) rotateY(10deg) rotateZ(.8deg)}
  62%  {transform:translate3d(18px,-4px,0) rotateY(13deg) rotateZ(1deg)}
  82%  {transform:translate3d(1px,-10px,0) rotateY(1deg) rotateZ(0)}
  100% {transform:translate3d(-14px,0,0) rotateY(-12deg) rotateZ(-1.1deg)}
}

/* Mantiene la vuelta más marcada al cambiar de campaña. */
.sms-showcase-v197 .phone-over-map.turning{
  animation:lhrSmsCampaignTurn203 .95s cubic-bezier(.55,.05,.25,1)!important;
}
@keyframes lhrSmsCampaignTurn203{
  0%{transform:translate3d(0,-6px,0) rotateY(0deg) scale(1)}
  32%{transform:translate3d(22px,-10px,0) rotateY(72deg) scale(.96)}
  48%{transform:translate3d(28px,-8px,0) rotateY(92deg) scale(.94)}
  52%{transform:translate3d(-28px,-8px,0) rotateY(-92deg) scale(.94)}
  70%{transform:translate3d(-18px,-10px,0) rotateY(-48deg) scale(.97)}
  100%{transform:translate3d(0,0,0) rotateY(0deg) scale(1)}
}

/* Óvalo luminoso como en la referencia. */
.sms-showcase-v197 .phone-over-map:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:8%!important;
  right:8%!important;
  bottom:-27px!important;
  height:25px!important;
  border:2px solid rgba(25,129,255,.96)!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:0 0 20px rgba(25,129,255,.42),inset 0 0 13px rgba(25,129,255,.14)!important;
  transform:rotateX(70deg)!important;
}

/* Indicadores debajo del teléfono. */
.sms-showcase-v197 .stage-dots{
  right:116px!important;
  bottom:1px!important;
  z-index:31!important;
}

/* Responsive */
@media(max-width:860px){
  .sms-showcase-v197 .sms-left-stage{
    min-height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
  }
  .sms-showcase-v197 .sms-zone-summary-card,
  .sms-showcase-v197 .sms-general-summary,
  .sms-showcase-v197 .phone-over-map,
  .sms-showcase-v197 .stage-dots{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
  }
  .sms-showcase-v197 .sms-zone-summary-card,
  .sms-showcase-v197 .sms-general-summary{width:100%!important}
  .sms-showcase-v197 .phone-over-map{
    width:285px!important;
    height:525px!important;
    margin:10px auto!important;
    animation:lhrSmsPhoneMobile203 5.2s ease-in-out infinite!important;
  }
  @keyframes lhrSmsPhoneMobile203{
    0%,100%{transform:translateY(0) rotateY(-4deg)}
    50%{transform:translateY(-9px) rotateY(4deg)}
  }
  .sms-showcase-v197 .stage-dots{justify-content:center!important}
}


/* =========================================================
   v2.0.4 — LIMPIEZA GENERAL / PULIDO FINAL DE PORTADA
   ========================================================= */

/* 1) Ritmo vertical más compacto */
:root{
  --lhr-section-space:64px;
  --lhr-section-space-mobile:46px;
}
section{
  scroll-margin-top:88px;
}
.call-demo,
.canvass-demo,
.control-center,
.data-reports,
.device-section,
.brand-customization,
.sms-showcase-v197,
.sms-premium,
.sms-module{
  padding-top:var(--lhr-section-space)!important;
  padding-bottom:var(--lhr-section-space)!important;
}
.section-head{
  margin-bottom:28px!important;
}
.section-head p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* 2) Transiciones suaves entre grandes bloques */
.call-demo,
.control-center,
.device-section,
.brand-customization{
  position:relative;
}
.call-demo:after,
.canvass-demo:after,
.control-center:after,
.data-reports:after,
.device-section:after,
.brand-customization:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  width:min(1180px,88%);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(30,103,184,.16),transparent);
}

/* 3) Call Center, Canvassing y Reportes como pilares visuales */
.call-demo,
.canvass-demo,
.data-reports{
  position:relative;
  isolation:isolate;
}
.call-demo:before,
.canvass-demo:before,
.data-reports:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 50% 0,rgba(20,111,220,.055),transparent 36%);
}
.call-demo .section-head h2,
.canvass-demo .section-head h2,
.data-reports .section-head h2{
  letter-spacing:-.02em;
}

/* 4) Evitar huecos exagerados en demos / visuales */
.demo-device-preview,
.device-stage,
.client-showcase{
  margin-top:18px!important;
}
.device-section .section-head + .device-stage{
  margin-top:10px!important;
}
.control-center .section-head,
.data-reports .section-head{
  margin-bottom:24px!important;
}

/* 5) Botón de contacto flotante: menos intrusivo y más consistente */
.lhr-contact-float{
  right:20px!important;
  bottom:20px!important;
  z-index:9998!important;
}
.lhr-contact-main{
  min-height:48px;
  padding:12px 17px!important;
  box-shadow:0 12px 28px rgba(8,43,87,.22)!important;
  transition:transform .2s ease, box-shadow .2s ease;
}
.lhr-contact-main:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(8,43,87,.28)!important;
}
.lhr-contact-panel{
  max-height:min(560px,76vh);
  overflow:auto;
}

/* En pantallas grandes: no tape métricas inferiores */
@media(min-width:1100px){
  .sms-showcase-v197 .sms-right-copy{
    padding-bottom:36px;
  }
}

/* 6) Tarjetas flotantes/promos ajenas al flujo:
   Si existe una tarjeta de Firma Electrónica flotante, se oculta solo en esta web
   para que no compita con LHR CampaignOS. */
.firma-electronica-float,
.lhr-sign-float,
.floating-sign-card,
[data-floating-product="firma-electronica"]{
  display:none!important;
}

/* 7) Footer y cierre más compacto */
.site-footer,
footer.site-footer{
  margin-top:0!important;
}
.site-footer .container{
  padding-top:34px;
  padding-bottom:26px;
}

/* 8) Mejor lectura en móvil */
@media(max-width:760px){
  .call-demo,
  .canvass-demo,
  .control-center,
  .data-reports,
  .device-section,
  .brand-customization,
  .sms-showcase-v197,
  .sms-premium,
  .sms-module{
    padding-top:var(--lhr-section-space-mobile)!important;
    padding-bottom:var(--lhr-section-space-mobile)!important;
  }
  .section-head{
    margin-bottom:22px!important;
  }
  .lhr-contact-float{
    right:12px!important;
    bottom:12px!important;
  }
  .lhr-contact-main{
    min-height:44px;
    padding:10px 14px!important;
  }
}

/* 9) Reduce motion para accesibilidad */
@media(prefers-reduced-motion:reduce){
  .phone-over-map,
  .sms-demo-phone,
  .geo-dot,
  .map-pin,
  .lhr-contact-main{
    animation:none!important;
    transition:none!important;
  }
}


/* ===== v2.0.11 — Integración aislada LHR Smart Forms ===== */
.lhr-demo-shortcode-host{width:100%;min-width:0}
.lhr-demo-plugin-notice{border:1px dashed #b8cbe0;border-radius:14px;padding:18px;background:#f8fbff;color:#496176}
.lhr-demo-plugin-notice strong{display:block;color:#082e63;margin-bottom:4px}
.lhr-demo-plugin-notice p{margin:0}


/* v2.1.0 CLEAN FINAL */
html{scroll-behavior:smooth}
.site-header,.lhr-header,header.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(140%) blur(8px);
  transition:padding .22s ease,box-shadow .22s ease,background .22s ease;
}
body.admin-bar .site-header,
body.admin-bar .lhr-header,
body.admin-bar header.site-header{top:32px}
.site-header.is-compact,
.lhr-header.is-compact,
header.site-header.is-compact{
  box-shadow:0 8px 28px rgba(12,47,96,.08);
}
.lhr-campaign-flow{
  margin:54px auto 42px;
  max-width:1180px;
  padding:0 22px;
}
.lhr-campaign-flow__head{text-align:center;max-width:760px;margin:0 auto 24px}
.lhr-campaign-flow__head .eyebrow{
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0a73c9
}
.lhr-campaign-flow__head h2{margin:8px 0 8px;font-size:clamp(28px,4vw,42px);color:#092d5b}
.lhr-campaign-flow__head p{margin:0;color:#617087;line-height:1.65}
.lhr-campaign-flow__track{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.lhr-campaign-flow__step{
  position:relative;
  padding:22px 18px;
  border:1px solid #dbe6f2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 26px rgba(9,45,91,.05);
}
.lhr-campaign-flow__step:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-15px;
  top:50%;
  transform:translateY(-50%);
  width:30px;height:30px;
  border-radius:999px;
  display:grid;place-items:center;
  background:#0b6fc7;color:#fff;font-weight:800;
  z-index:2;
}
.lhr-campaign-flow__num{
  width:32px;height:32px;border-radius:10px;background:#edf6ff;color:#0b6fc7;
  display:grid;place-items:center;font-weight:800;margin-bottom:12px
}
.lhr-campaign-flow__step h3{margin:0 0 6px;color:#0b2f5f;font-size:18px}
.lhr-campaign-flow__step p{margin:0;color:#6a7688;font-size:14px;line-height:1.5}
@media(max-width:900px){
  .lhr-campaign-flow__track{grid-template-columns:1fr 1fr}
  .lhr-campaign-flow__step:nth-child(2)::after{display:none}
}
@media(max-width:600px){
  .lhr-campaign-flow__track{grid-template-columns:1fr}
  .lhr-campaign-flow__step::after{display:none!important}
  body.admin-bar .site-header,
  body.admin-bar .lhr-header,
  body.admin-bar header.site-header{top:46px}
}


/* v2.3.0 NYC COMMERCIAL SHOWCASE */
:root{
 --lhr-navy:#04142b;
 --lhr-navy2:#071f3f;
 --lhr-blue:#0a73ff;
 --lhr-cyan:#43c6ff;
 --lhr-ink:#eaf4ff;
 --lhr-muted:#9bb2ce;
}
body{background:#04142b}
.lhr-ny-hero{
 position:relative;
 overflow:hidden;
 color:#fff;
 min-height:780px;
 background:
   radial-gradient(circle at 72% 28%,rgba(18,106,255,.18),transparent 32%),
   radial-gradient(circle at 16% 45%,rgba(0,194,255,.10),transparent 34%),
   linear-gradient(180deg,#06142a 0%,#071c39 42%,#04142b 100%);
 border-bottom:1px solid rgba(102,173,255,.16);
}
.lhr-ny-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.lhr-ny-sky{
 position:absolute;inset:0;
 background:
 radial-gradient(ellipse at 78% 25%,rgba(231,104,125,.18),transparent 24%),
 linear-gradient(180deg,rgba(8,16,39,.08),rgba(2,14,31,.68));
}
.lhr-ny-skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:62%;opacity:.95}
.lhr-grid-map{
 position:absolute;left:-5%;top:5%;width:58%;height:76%;
 background-image:
 linear-gradient(rgba(36,151,255,.09) 1px,transparent 1px),
 linear-gradient(90deg,rgba(36,151,255,.09) 1px,transparent 1px);
 background-size:38px 38px;
 transform:perspective(700px) rotateX(58deg) rotateZ(-11deg);
 mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 60%,transparent 100%);
 opacity:.45;
}
.lhr-route-dot{
 position:absolute;width:8px;height:8px;border-radius:50%;
 background:#52c9ff;box-shadow:0 0 0 5px rgba(82,201,255,.12),0 0 22px #49c7ff;
 animation:lhrPulse 2.2s infinite ease-in-out;
}
.dot-a{left:21%;top:31%}.dot-b{left:38%;top:49%;animation-delay:.7s}.dot-c{left:53%;top:24%;animation-delay:1.3s}
@keyframes lhrPulse{50%{transform:scale(1.55);opacity:.65}}
.lhr-ny-wrap{position:relative;z-index:2;max-width:1440px;margin:0 auto;padding:78px 42px 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.lhr-eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;color:#46bcff;margin-bottom:12px}
.lhr-ny-copy h1{font-size:clamp(50px,6.2vw,96px);line-height:.88;margin:0 0 18px;text-transform:uppercase;letter-spacing:-.04em;color:#fff}
.lhr-ny-copy h1 span{display:block;color:#1380ff}
.lhr-ny-copy h2{font-size:clamp(22px,2.2vw,32px);margin:0 0 12px;color:#fff}
.lhr-ny-copy p{max-width:650px;font-size:18px;line-height:1.65;color:#d3e2f3;margin:0 0 24px}
.lhr-feature-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px;margin:0 0 22px}
.lhr-feature-pills span{padding:13px 14px;border:1px solid rgba(90,172,255,.25);background:rgba(4,21,45,.66);border-radius:12px;color:#e8f4ff;font-size:14px;backdrop-filter:blur(8px)}
.lhr-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.lhr-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 20px;border-radius:10px;text-decoration:none;font-weight:800;transition:.2s ease}
.lhr-btn-primary{background:linear-gradient(135deg,#0668f3,#1687ff);color:#fff;box-shadow:0 12px 28px rgba(0,103,255,.27)}
.lhr-btn-primary:hover{transform:translateY(-2px);color:#fff}
.lhr-btn-ghost{border:1px solid rgba(169,209,255,.45);color:#fff;background:rgba(3,18,38,.45)}
.lhr-live-console{border:1px solid rgba(96,164,255,.22);border-radius:22px;background:linear-gradient(180deg,rgba(4,18,39,.98),rgba(3,16,35,.98));box-shadow:0 34px 80px rgba(0,0,0,.42);transform:perspective(1100px) rotateY(-5deg) rotateX(1deg);overflow:hidden}
.lhr-console-top{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(117,169,229,.13);background:#061b38}
.lhr-console-top strong{display:block}.lhr-console-top small{display:block;color:#7993b5;font-size:10px;margin-top:2px}
.lhr-console-user{font-size:12px;color:#cce0f6}.lhr-online{display:inline-block;width:7px;height:7px;border-radius:50%;background:#19d67c;margin-right:6px;box-shadow:0 0 10px #19d67c}
.lhr-console-body{display:grid;grid-template-columns:132px 1fr;min-height:390px}
.lhr-console-menu{padding:18px 10px;border-right:1px solid rgba(117,169,229,.11);display:flex;flex-direction:column;gap:7px}
.lhr-console-menu span{padding:10px 11px;border-radius:8px;color:#8fa9c6;font-size:12px}.lhr-console-menu span.active{background:#0969e8;color:#fff}
.lhr-console-main{padding:18px}
.lhr-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lhr-kpi-grid>div{padding:13px 12px;background:#081f40;border:1px solid rgba(87,157,235,.11);border-radius:11px}
.lhr-kpi-grid small,.lhr-kpi-grid em{display:block}.lhr-kpi-grid small{color:#7f9dbc}.lhr-kpi-grid strong{display:block;font-size:24px;margin:5px 0}.lhr-kpi-grid em{color:#2ed68c;font-size:10px;font-style:normal}
.lhr-console-lower{display:grid;grid-template-columns:1.45fr .8fr;gap:12px;margin-top:12px}
.lhr-mini-map,.lhr-donut-wrap{position:relative;min-height:210px;background:#071b38;border:1px solid rgba(87,157,235,.11);border-radius:12px;overflow:hidden}
.lhr-mini-map{background-image:linear-gradient(rgba(69,139,214,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(69,139,214,.08) 1px,transparent 1px);background-size:28px 28px}
.lhr-mini-map span{position:absolute;left:14px;top:12px;color:#89a6c7;font-size:11px}
.lhr-mini-map i{position:absolute;width:9px;height:9px;border-radius:50%;background:#19c97d;box-shadow:0 0 0 4px rgba(25,201,125,.10),0 0 14px rgba(25,201,125,.8)}
.lhr-map-line{position:absolute;height:2px;background:linear-gradient(90deg,#0c75ff,#42d4ff);transform-origin:left center;opacity:.7}
.line-1{width:58%;left:16%;top:64%;transform:rotate(-24deg)}.line-2{width:45%;left:39%;top:36%;transform:rotate(22deg)}
.lhr-donut-wrap{display:flex;align-items:center;justify-content:center;gap:18px;padding:20px}
.lhr-donut{width:126px;height:126px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(#0a7dff 0 76%,#19385c 76% 100%);position:relative}
.lhr-donut:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#071b38}.lhr-donut b,.lhr-donut small{position:relative;z-index:1}.lhr-donut b{font-size:25px}.lhr-donut small{font-size:9px;color:#8da9c9}
.lhr-donut-wrap ul{margin:0;padding:0;list-style:none;color:#9fb8d6;font-size:10px}.lhr-donut-wrap li{margin:7px 0}
.lhr-hero-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:14px;background:rgba(4,19,41,.72);border:1px solid rgba(89,162,246,.20);border-radius:15px;backdrop-filter:blur(14px)}
.lhr-hero-stats>div{padding:16px 22px;border-right:1px solid rgba(111,170,235,.15)}.lhr-hero-stats>div:last-child{border-right:0}
.lhr-hero-stats small,.lhr-hero-stats em{display:block}.lhr-hero-stats small{color:#a7bdd7}.lhr-hero-stats strong{font-size:30px}.lhr-hero-stats em{font-style:normal;color:#21d887;font-size:11px}
.lhr-capabilities{background:#06182f;padding:42px 24px;border-bottom:1px solid rgba(93,154,226,.13)}
.lhr-capabilities__grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.lhr-capabilities article{padding:18px 16px;background:linear-gradient(180deg,#082044,#071a35);border:1px solid rgba(87,157,235,.15);border-radius:14px;color:#fff}
.lhr-capabilities article span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#0b6ce7;color:#fff;font-weight:800;font-size:11px;margin-bottom:10px}
.lhr-capabilities article h3{margin:0 0 7px;font-size:16px;color:#fff}.lhr-capabilities article p{margin:0;color:#9fb6d0;font-size:13px;line-height:1.5}

/* Elevate existing sections while keeping interactive demos */
main section:not(.lhr-ny-hero):not(.lhr-capabilities), .site-main section:not(.lhr-ny-hero):not(.lhr-capabilities){
 scroll-margin-top:92px;
}
.lhr-campaign-flow{background:linear-gradient(180deg,#06182f,#04142b);max-width:none!important;padding:58px max(24px,calc((100vw - 1180px)/2))!important;margin:0!important}
.lhr-campaign-flow__head h2,.lhr-campaign-flow__step h3{color:#fff!important}.lhr-campaign-flow__head p,.lhr-campaign-flow__step p{color:#9fb4cc!important}
.lhr-campaign-flow__step{background:#081f3f!important;border-color:rgba(82,155,238,.18)!important;box-shadow:none!important}
footer,.site-footer{background:#031126!important}
@media(max-width:1100px){
 .lhr-ny-wrap{grid-template-columns:1fr;padding-top:58px}
 .lhr-live-console{transform:none;max-width:900px}
 .lhr-capabilities__grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
 .lhr-ny-wrap{padding:42px 18px 20px}
 .lhr-ny-copy h1{font-size:54px}
 .lhr-feature-pills{grid-template-columns:1fr 1fr}
 .lhr-console-body{grid-template-columns:1fr}.lhr-console-menu{display:none}
 .lhr-kpi-grid{grid-template-columns:1fr 1fr}
 .lhr-console-lower{grid-template-columns:1fr}
 .lhr-hero-stats{grid-template-columns:1fr 1fr}
 .lhr-hero-stats>div:nth-child(2){border-right:0}
 .lhr-capabilities__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .lhr-feature-pills,.lhr-capabilities__grid,.lhr-hero-stats{grid-template-columns:1fr}
 .lhr-hero-stats>div{border-right:0;border-bottom:1px solid rgba(111,170,235,.12)}
 .lhr-hero-stats>div:last-child{border-bottom:0}
 .lhr-kpi-grid{grid-template-columns:1fr 1fr}
 .lhr-ny-copy p{font-size:16px}
}

/* v2.4.0 Commercial cleanup */
.flow.flow-compact{grid-template-columns:repeat(6,1fr)}
@media(max-width:900px){.flow.flow-compact{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.flow.flow-compact{grid-template-columns:repeat(2,1fr)}}

/* v2.5.0 Unique commercial experience */
.experience-nav{padding:48px 0;background:#fff;border-bottom:1px solid var(--lhr-border)}
.compact-head{margin-bottom:22px}.compact-head h2{margin-bottom:6px}
.experience-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.experience-links a,.customization-summary span,.role-strip span{border:1px solid var(--lhr-border);background:#fff;color:var(--lhr-navy);border-radius:999px;padding:10px 15px;font-size:13px;font-weight:800}
.experience-links a:hover{background:var(--lhr-navy);color:#fff;border-color:var(--lhr-navy)}
.device-section-compact{padding:64px 0}.device-section-compact .device-showcase{max-width:940px;margin:0 auto}
.role-strip,.customization-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.brand-customization{padding-top:64px;padding-bottom:64px}
.brand-customization .section-head{margin-bottom:28px}
.demo{padding-top:60px;padding-bottom:60px}
@media(max-width:620px){.experience-nav{padding:38px 0}.experience-links a{padding:9px 11px;font-size:12px}.device-section-compact{padding:48px 0}.role-strip,.customization-summary{margin-top:18px}}


/* v2.5.3 — Portada fullscreen real + header integrado + logo editable */
.site-header.front-hero-header{
 position:absolute!important;
 top:0!important;left:0!important;right:0!important;
 z-index:80!important;
 background:linear-gradient(180deg,rgba(2,15,33,.34),rgba(2,15,33,.08) 62%,rgba(2,15,33,0))!important;
 backdrop-filter:none!important;
 border-bottom:0!important;
 box-shadow:none!important;
 color:#fff!important;
}
.admin-bar .site-header.front-hero-header{top:32px!important}
.site-header.front-hero-header .nav{padding-top:16px;padding-bottom:16px}
.site-header.front-hero-header .menu a{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.48)}
.site-header.front-hero-header .menu a:hover,.site-header.front-hero-header .menu a.current{color:#63cfff!important}
.site-header.front-hero-header .btn-outline{color:#fff!important;background:rgba(3,18,39,.24)!important;border-color:rgba(255,255,255,.72)!important;backdrop-filter:blur(7px)}
.site-header.front-hero-header .btn-primary{box-shadow:0 10px 30px rgba(0,75,210,.30)}
.site-header.front-hero-header .brand{display:flex;align-items:center}
.site-header.front-hero-header .brand img{filter:none}
body .lhr-ny-hero{position:relative}
body .site-header.front-hero-header + main .lhr-ny-hero,
body .site-header.front-hero-header ~ main .lhr-ny-hero{min-height:100svh;display:flex;align-items:stretch}
body .site-header.front-hero-header + main .lhr-ny-wrap,
body .site-header.front-hero-header ~ main .lhr-ny-wrap{width:100%;min-height:100svh;padding-top:122px;padding-bottom:34px;align-content:center}
@media(max-width:900px){
 .site-header.front-hero-header{position:relative!important;top:0!important;background:#fff!important;color:var(--lhr-text)!important;border-bottom:1px solid var(--lhr-border)!important}
 .site-header.front-hero-header .menu a{color:var(--lhr-text)!important;text-shadow:none}
 .site-header.front-hero-header .btn-outline{color:var(--lhr-navy)!important;background:#fff!important;border-color:var(--lhr-navy)!important}
 body .site-header.front-hero-header + main .lhr-ny-hero,
 body .site-header.front-hero-header ~ main .lhr-ny-hero,
 body .site-header.front-hero-header + main .lhr-ny-wrap,
 body .site-header.front-hero-header ~ main .lhr-ny-wrap{min-height:auto}
 body .site-header.front-hero-header + main .lhr-ny-wrap,
 body .site-header.front-hero-header ~ main .lhr-ny-wrap{padding-top:54px}
}
@media(max-width:782px){.admin-bar .site-header.front-hero-header{top:0!important}}


/* v2.5.4 — Header realmente superpuesto sobre la portada */
@media(min-width:901px){
  body.home .site-header.front-hero-header,
  body.front-page .site-header.front-hero-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  body.admin-bar.home .site-header.front-hero-header,
  body.admin-bar.front-page .site-header.front-hero-header{top:32px!important}
  body.home .site-header.front-hero-header .nav,
  body.front-page .site-header.front-hero-header .nav{
    background:transparent!important;
  }
  body.home .site-header.front-hero-header + main,
  body.front-page .site-header.front-hero-header + main{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.home .site-header.front-hero-header + main .lhr-ny-hero,
  body.front-page .site-header.front-hero-header + main .lhr-ny-hero{
    margin-top:0!important;
    padding-top:0!important;
    min-height:100svh!important;
  }
  body.home .site-header.front-hero-header + main .lhr-ny-wrap,
  body.front-page .site-header.front-hero-header + main .lhr-ny-wrap{
    padding-top:118px!important;
  }
  body.home .site-header.front-hero-header.is-compact,
  body.front-page .site-header.front-hero-header.is-compact{
    background:rgba(3,16,35,.78)!important;
    backdrop-filter:blur(12px)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.18)!important;
  }
}


/* v2.5.5 — Header integrado definitivamente dentro del hero */
@media (min-width:901px){
  html body .site-header.front-hero-header{
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    z-index:9999!important;
    background:linear-gradient(180deg,rgba(2,14,31,.22) 0%,rgba(2,14,31,.08) 55%,rgba(2,14,31,0) 100%)!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  html body.admin-bar .site-header.front-hero-header{top:32px!important;bottom:auto!important}
  html body .site-header.front-hero-header .container.nav{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
  html body .site-header.front-hero-header + main{
    margin:0!important;
    padding:0!important;
  }
  html body .site-header.front-hero-header + main > .lhr-ny-hero:first-child{
    margin-top:0!important;
    min-height:100svh!important;
    padding-top:0!important;
  }
  html body .site-header.front-hero-header + main > .lhr-ny-hero:first-child .lhr-ny-wrap{
    min-height:100svh!important;
    padding-top:118px!important;
  }
  html body .site-header.front-hero-header .menu a{
    color:#fff!important;
    text-shadow:0 2px 12px rgba(0,0,0,.75)!important;
  }
  html body .site-header.front-hero-header .btn-outline{
    color:#fff!important;
    background:rgba(3,18,39,.28)!important;
    border-color:rgba(255,255,255,.72)!important;
  }
  html body .site-header.front-hero-header.is-compact{
    background:rgba(3,16,35,.88)!important;
    backdrop-filter:blur(12px)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.22)!important;
  }
}

/* v2.6.1 — Galería dinámica por campañas */
.campaign-portfolio{background:linear-gradient(180deg,#061b36,#08284d);color:#fff;overflow:hidden}.campaign-portfolio .section-head h2{color:#fff}.campaign-portfolio .section-head p{color:#b9cbe0}.portfolio-tabs{display:flex;gap:9px;overflow:auto;padding:0 0 18px;scrollbar-width:thin}.portfolio-tab{white-space:nowrap;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#dbe9f8;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.portfolio-tab.active,.portfolio-tab:hover{background:#0b76d1;border-color:#0b76d1;color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden;transition:.22s;cursor:pointer}.portfolio-card:hover{transform:translateY(-4px);border-color:rgba(17,167,223,.65)}.portfolio-card.is-hidden{display:none}.portfolio-cover{height:220px;position:relative;background:#03162c;overflow:hidden}.portfolio-cover img{width:100%;height:100%;object-fit:cover;transition:.35s}.portfolio-card:hover .portfolio-cover img{transform:scale(1.035)}.portfolio-placeholder{height:100%;display:grid;place-items:center;font-size:48px;font-weight:900;color:#1f8ce9}.portfolio-count,.portfolio-play{position:absolute;top:14px;background:rgba(2,16,34,.8);border:1px solid rgba(255,255,255,.16);color:#fff}.portfolio-count{left:14px;border-radius:999px;padding:6px 10px;font-size:12px}.portfolio-play{right:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.portfolio-info{padding:18px}.portfolio-info>div{display:flex;justify-content:space-between;gap:12px;align-items:start}.portfolio-info h3{margin:0;color:#fff;font-size:20px}.portfolio-info span{font-size:12px;color:#9fc5e8}.portfolio-info p{color:#b9cbe0;font-size:14px;min-height:42px}.portfolio-open{border:0;background:transparent;color:#37b8ff;padding:0;font-weight:900;cursor:pointer}.portfolio-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,10,24,.9);display:none;align-items:center;justify-content:center;padding:24px}.portfolio-modal.open{display:flex}.portfolio-modal-dialog{width:min(1120px,96vw);max-height:92vh;overflow:auto;background:#071f3c;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:22px;position:relative;color:#fff}.portfolio-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#fff;font-size:36px;cursor:pointer;z-index:2}.portfolio-modal-head span{color:#31b4ff;text-transform:uppercase;font-weight:800;font-size:12px}.portfolio-modal-head h3{font-size:28px;margin:4px 0 18px}.portfolio-stage{min-height:480px;background:#020d1b;border-radius:14px;overflow:hidden;display:grid;place-items:center}.portfolio-stage img,.portfolio-stage video,.portfolio-stage iframe{width:100%;height:68vh;max-height:620px;object-fit:contain;border:0}.portfolio-thumbs{display:flex;gap:9px;overflow:auto;padding-top:12px}.portfolio-thumb{width:92px;height:66px;flex:0 0 auto;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#0b315c;color:#fff;display:grid;place-items:center;cursor:pointer}.portfolio-thumb.active{border-color:#1ba7ff}.portfolio-thumb img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.portfolio-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.portfolio-grid{grid-template-columns:1fr}.portfolio-cover{height:210px}.portfolio-stage{min-height:260px}.portfolio-stage img,.portfolio-stage video,.portfolio-stage iframe{height:52vh}}

/* v2.6.1 — La galería siempre deja visible su ubicación */
.portfolio-empty{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:28px 30px;border:1px dashed rgba(30,126,255,.45);border-radius:20px;background:linear-gradient(135deg,rgba(7,34,69,.96),rgba(5,24,49,.96));color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.16)}
.portfolio-empty-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#0e7cff;font-size:26px;font-weight:800}
.portfolio-empty h3{margin:0 0 6px;font-size:20px}.portfolio-empty p{margin:0;color:#aac2df;line-height:1.55}.portfolio-empty-action{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;background:#0e7cff;color:#fff!important;text-decoration:none;font-weight:800;white-space:nowrap}
@media(max-width:800px){.portfolio-empty{grid-template-columns:1fr;text-align:center}.portfolio-empty-icon{margin:auto}.portfolio-empty-action{width:100%}}


/* ===== v2.6.2 — Logo ampliable + galería premium por campañas ===== */
@media(min-width:901px){
  .site-header.front-hero-header .brand{flex:0 0 auto;display:flex;align-items:center;min-width:0}
  .site-header.front-hero-header .brand>img{height:auto!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
}
.campaign-portfolio{padding:86px 0;background:radial-gradient(circle at 15% 0%,rgba(20,126,225,.22),transparent 34%),linear-gradient(145deg,#03172f 0%,#082a52 58%,#041d3a 100%)}
.portfolio-intro-row{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}
.portfolio-intro-copy{max-width:760px}.portfolio-intro-copy h2{margin:5px 0 10px;color:#fff;font-size:42px;line-height:1.08}.portfolio-intro-copy p{margin:0;color:#b9cbe0;font-size:16px}
.portfolio-total{min-width:150px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);border-radius:18px;padding:15px 18px;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.portfolio-total strong{display:block;font-size:30px;color:#fff;line-height:1}.portfolio-total span{display:block;margin-top:7px;color:#9fc5e8;font-size:12px}
.portfolio-tabs{gap:10px;padding:0 0 24px}.portfolio-tab{padding:11px 17px;background:rgba(4,24,48,.72);border-color:rgba(255,255,255,.16);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.portfolio-grid-pro{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px}
.portfolio-card-pro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);min-height:360px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045));border-color:rgba(123,190,255,.22);box-shadow:0 24px 55px rgba(0,0,0,.23);position:relative}
.portfolio-card-pro:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(0,0,0,.32);border-color:rgba(39,164,255,.7)}
.portfolio-visual{display:flex;flex-direction:column;min-width:0;background:#021327}.portfolio-card-pro .portfolio-cover{height:100%;min-height:300px;flex:1}.portfolio-card-pro .portfolio-cover img{transform:scale(1.001)}.portfolio-card-pro:hover .portfolio-cover img{transform:scale(1.045)}
.portfolio-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,13,30,.02) 20%,rgba(0,13,30,.78) 100%);pointer-events:none}
.portfolio-cover-title{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}.portfolio-cover-title small{display:block;color:#65c7ff;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.portfolio-cover-title strong{display:block;margin-top:5px;color:#fff;font-size:23px;line-height:1.15;text-shadow:0 3px 14px rgba(0,0,0,.55)}
.portfolio-count{z-index:3}.portfolio-play{z-index:3;width:46px;height:46px;background:#0e7cff;border-color:rgba(255,255,255,.45);box-shadow:0 10px 28px rgba(14,124,255,.35)}
.portfolio-preview-strip{display:grid;grid-template-columns:repeat(4,1fr);height:82px;gap:3px;padding:3px;background:#071f3c}.portfolio-preview-strip span{min-width:0;overflow:hidden;border-radius:6px;background:#0b315c}.portfolio-preview-strip img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-preview-strip .portfolio-more{display:grid;place-items:center;color:#fff;font-weight:900;font-size:17px;background:linear-gradient(135deg,#0d5eaf,#0e7cff)}
.portfolio-info-pro{padding:28px;display:flex;flex-direction:column;justify-content:center}.portfolio-title-row{display:flex!important;justify-content:space-between;gap:14px;align-items:flex-start!important}.portfolio-kicker{display:block!important;color:#5fc7ff!important;text-transform:uppercase;letter-spacing:.07em;font-size:10px!important;font-weight:900}.portfolio-info-pro h3{font-size:26px;margin:5px 0 0;line-height:1.15}.portfolio-year{flex:0 0 auto;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 10px;color:#cfe6fb!important;background:rgba(255,255,255,.05)}
.portfolio-info-pro p{min-height:0;margin:18px 0;color:#c3d5e7;font-size:14px;line-height:1.6}.portfolio-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.portfolio-stats span{padding:12px 8px;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-align:center;background:rgba(0,19,42,.4);color:#9fc5e8;font-size:11px}.portfolio-stats b{display:block;color:#fff;font-size:18px;line-height:1.1;margin-bottom:4px}
.portfolio-open{margin-top:16px;width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-radius:12px;background:linear-gradient(135deg,#0e7cff,#0755ab);color:#fff!important;box-shadow:0 12px 28px rgba(14,124,255,.22)}.portfolio-open b{font-size:20px;transition:transform .2s}.portfolio-card-pro:hover .portfolio-open b{transform:translateX(4px)}
.portfolio-modal{backdrop-filter:blur(8px)}.portfolio-modal-dialog{background:linear-gradient(145deg,#061b35,#082b52);box-shadow:0 40px 100px rgba(0,0,0,.5)}
@media(max-width:1050px){.portfolio-grid-pro{grid-template-columns:1fr}.portfolio-card-pro{grid-template-columns:1.05fr .95fr}}
@media(max-width:760px){.portfolio-intro-row{align-items:flex-start;flex-direction:column}.portfolio-total{display:none}.portfolio-intro-copy h2{font-size:34px}.portfolio-card-pro{grid-template-columns:1fr;min-height:0}.portfolio-card-pro .portfolio-cover{height:300px;min-height:300px}.portfolio-preview-strip{height:72px}.portfolio-info-pro{padding:22px}.portfolio-stats{margin-top:6px}}
@media(max-width:620px){.portfolio-grid-pro{grid-template-columns:1fr}.portfolio-card-pro .portfolio-cover{height:240px;min-height:240px}.portfolio-preview-strip{grid-template-columns:repeat(3,1fr)}.portfolio-info-pro h3{font-size:22px}.portfolio-stats span{padding:10px 5px}.portfolio-intro-copy h2{font-size:30px}}

/* ===== v2.6.3 — Galería cinematográfica automática ===== */
.campaign-portfolio{padding:78px 0 92px}
.portfolio-grid-pro{grid-template-columns:1fr;gap:30px}
.portfolio-cinematic{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);min-height:0;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:0 28px 75px rgba(0,0,0,.28);border:1px solid rgba(91,176,255,.3)}
.portfolio-cinematic:hover{transform:translateY(-3px);box-shadow:0 34px 90px rgba(0,0,0,.34)}
.portfolio-cinema{min-width:0;background:#020f20;position:relative}
.portfolio-cinema-stage{position:relative;aspect-ratio:16/8.9;min-height:430px;overflow:hidden;background:#021327}
.portfolio-cinema-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.07);transition:opacity .9s ease,transform 5.2s ease;pointer-events:none}
.portfolio-cinema-slide.active{opacity:1;transform:scale(1.015);z-index:1}
.portfolio-cinema-slide img{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-cinema-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(2,12,28,.10) 0%,rgba(2,12,28,0) 48%,rgba(2,12,28,.12) 100%),linear-gradient(180deg,rgba(1,11,26,.08) 28%,rgba(1,11,26,.82) 100%);pointer-events:none}
.portfolio-cinema-topline{position:absolute;z-index:4;left:22px;right:22px;top:20px;display:flex;align-items:center;gap:8px;color:#dcecff;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.portfolio-cinema-topline b{margin-left:auto;border:1px solid rgba(255,255,255,.22);background:rgba(1,15,34,.62);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;color:#fff;font-size:11px;letter-spacing:0;text-transform:none}
.portfolio-live-dot{width:8px;height:8px;border-radius:50%;background:#23d97a;box-shadow:0 0 0 5px rgba(35,217,122,.12),0 0 16px rgba(35,217,122,.75);animation:lhrGalleryPulse 1.8s infinite}
@keyframes lhrGalleryPulse{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.12);opacity:1}}
.portfolio-cinema-caption{position:absolute;z-index:4;left:26px;right:100px;bottom:30px;max-width:760px;color:#fff}
.portfolio-cinema-caption h3{margin:5px 0 7px;font-size:clamp(26px,3vw,40px);line-height:1.05;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.55)}
.portfolio-cinema-caption p{margin:0;max-width:680px;color:#d2e0ef;font-size:14px;line-height:1.55;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.portfolio-carousel-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.34);background:rgba(1,17,39,.62);backdrop-filter:blur(10px);color:#fff;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.75;transition:.2s}
.portfolio-carousel-nav:hover{background:#0e7cff;opacity:1;transform:translateY(-50%) scale(1.06)}
.portfolio-carousel-prev{left:18px}.portfolio-carousel-next{right:18px}
.portfolio-carousel-progress{position:absolute;z-index:5;left:26px;right:112px;bottom:14px;height:3px;background:rgba(255,255,255,.16);border-radius:999px;overflow:hidden}
.portfolio-carousel-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#18bfff,#0e7cff);border-radius:inherit}
.portfolio-carousel-counter{position:absolute;z-index:5;right:25px;bottom:24px;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(1,15,34,.7);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:11px;color:#b9cbe0}
.portfolio-carousel-counter b{color:#fff;font-size:13px}.portfolio-carousel-counter i{font-style:normal;opacity:.55}
.portfolio-cinema-rail{height:88px;padding:5px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;background:linear-gradient(180deg,#04162c,#031223);border-top:1px solid rgba(255,255,255,.07)}
.portfolio-rail-thumb,.portfolio-rail-more{position:relative;min-width:0;border:1px solid transparent;border-radius:9px;overflow:hidden;background:#082b52;color:#fff;cursor:pointer;padding:0;transition:.22s}
.portfolio-rail-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) brightness(.82);transition:.25s}
.portfolio-rail-thumb:hover img,.portfolio-rail-thumb.active img{filter:saturate(1.05) brightness(1)}
.portfolio-rail-thumb.active{border-color:#24b6ff;box-shadow:0 0 0 2px rgba(36,182,255,.16)}
.portfolio-rail-more{display:grid;place-items:center;background:linear-gradient(135deg,#0b5eb2,#0e7cff);font-size:20px;font-weight:900}
.portfolio-rail-more small{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-top:-14px;opacity:.9}
.portfolio-info-cinematic{padding:28px 26px;justify-content:flex-start;background:radial-gradient(circle at 100% 0%,rgba(34,145,245,.12),transparent 35%)}
.portfolio-info-cinematic .portfolio-title-row{margin-bottom:10px}
.portfolio-info-cinematic h3{font-size:24px}
.portfolio-info-cinematic p{margin:10px 0 18px;color:#b9cce0}
.portfolio-meta-line{display:flex!important;flex-wrap:wrap;gap:8px!important;justify-content:flex-start!important;margin-top:auto}
.portfolio-meta-line span{display:inline-flex!important;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.12);background:rgba(1,17,39,.42);border-radius:999px;padding:8px 10px;color:#a9c4df!important;font-size:11px!important}
.portfolio-meta-line b{color:#fff;font-size:13px}
.portfolio-open-cinematic{margin-top:18px;padding:14px 15px}
.portfolio-modal-dialog{width:min(1280px,96vw)}
.portfolio-stage{min-height:520px}
.portfolio-thumbs{padding-bottom:4px;scroll-behavior:smooth}
.portfolio-thumb{width:106px;height:74px}
@media(max-width:1080px){.portfolio-cinematic{grid-template-columns:1fr}.portfolio-info-cinematic{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:center}.portfolio-info-cinematic>p{grid-column:1/-1;margin:0}.portfolio-meta-line{grid-column:1/2}.portfolio-open-cinematic{grid-column:2/3;grid-row:1/3;margin:0;min-width:230px}.portfolio-cinema-stage{min-height:400px}}
@media(max-width:760px){.portfolio-cinema-stage{aspect-ratio:4/3;min-height:320px}.portfolio-cinema-caption{left:18px;right:70px;bottom:26px}.portfolio-cinema-caption p{display:none}.portfolio-cinema-topline{left:16px;right:16px;top:14px}.portfolio-cinema-topline>b{font-size:10px}.portfolio-carousel-nav{width:40px;height:40px;font-size:28px}.portfolio-carousel-prev{left:10px}.portfolio-carousel-next{right:10px}.portfolio-cinema-rail{height:70px;grid-template-columns:repeat(5,1fr)}.portfolio-rail-thumb:nth-child(n+5){display:none}.portfolio-rail-more{grid-column:auto}.portfolio-info-cinematic{display:block}.portfolio-open-cinematic{margin-top:16px;width:100%}.portfolio-meta-line{margin-top:4px}.portfolio-cinema-caption h3{font-size:28px}}
@media(max-width:520px){.campaign-portfolio{padding:62px 0}.portfolio-cinema-stage{min-height:280px}.portfolio-cinema-topline>span:not(.portfolio-live-dot){display:none}.portfolio-cinema-caption{right:48px}.portfolio-cinema-caption h3{font-size:24px}.portfolio-cinema-rail{height:62px;gap:3px}.portfolio-rail-more{font-size:16px}.portfolio-info-cinematic{padding:20px}.portfolio-modal{padding:8px}.portfolio-modal-dialog{padding:14px;border-radius:14px}.portfolio-stage{min-height:300px}.portfolio-thumb{width:84px;height:60px}}
@media(prefers-reduced-motion:reduce){.portfolio-cinema-slide{transition:opacity .2s ease,transform .2s ease}.portfolio-live-dot{animation:none}.portfolio-carousel-progress span{transition:none!important}}

/* v2.6.4 — galería panorama completa, sin panel lateral */
.portfolio-cinematic-wide{display:block!important;grid-template-columns:none!important;width:100%;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(91,176,255,.3);box-shadow:0 28px 75px rgba(0,0,0,.28)}
.portfolio-cinematic-wide .portfolio-cinema{width:100%;min-width:0}
.portfolio-cinematic-wide .portfolio-cinema-stage{aspect-ratio:16/7.4;min-height:520px}
.portfolio-cinema-overlay-light{background:linear-gradient(180deg,rgba(1,11,26,.06) 0%,rgba(1,11,26,.03) 60%,rgba(1,11,26,.34) 100%)!important}
.portfolio-cinema-topline-clean b{margin-left:auto;background:rgba(1,15,34,.52)}
.portfolio-cinema-rail-wide{height:96px;grid-template-columns:repeat(7,minmax(0,1fr));padding:6px;gap:6px}
.portfolio-actionbar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 24px;background:linear-gradient(135deg,rgba(5,31,61,.96),rgba(8,55,99,.88));border-top:1px solid rgba(255,255,255,.08)}
.portfolio-actionbar-title{display:flex;align-items:center;gap:18px;min-width:0;flex-wrap:wrap}
.portfolio-actionbar-title h3{margin:0;color:#fff;font-size:clamp(22px,2.2vw,32px);line-height:1.1}
.portfolio-actionbar-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.portfolio-actionbar-meta span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(1,17,39,.36);color:#bcd3e9;font-size:11px;white-space:nowrap}
.portfolio-actionbar-meta b{color:#fff;font-size:12px}
.portfolio-open-wide{width:auto!important;min-width:220px;margin:0!important;flex:0 0 auto;padding:13px 17px!important}
.portfolio-cinematic-wide:hover{transform:translateY(-2px);box-shadow:0 34px 90px rgba(0,0,0,.34)}
@media(max-width:980px){.portfolio-cinematic-wide .portfolio-cinema-stage{aspect-ratio:16/9;min-height:430px}.portfolio-actionbar{align-items:flex-start;flex-direction:column;gap:14px}.portfolio-open-wide{width:100%!important}.portfolio-cinema-rail-wide{height:84px}}
@media(max-width:760px){.portfolio-cinematic-wide .portfolio-cinema-stage{aspect-ratio:4/3;min-height:330px}.portfolio-cinema-rail-wide{height:72px;grid-template-columns:repeat(5,1fr)}.portfolio-cinema-rail-wide .portfolio-rail-thumb:nth-child(n+5){display:none}.portfolio-actionbar{padding:18px}.portfolio-actionbar-title{gap:10px}.portfolio-actionbar-title h3{font-size:24px}}
@media(max-width:520px){.portfolio-cinematic-wide .portfolio-cinema-stage{min-height:290px}.portfolio-cinema-rail-wide{height:64px}.portfolio-actionbar-title h3{font-size:21px}.portfolio-actionbar-meta span{padding:6px 8px}.portfolio-open-wide{min-width:0}}


/* v2.6.8 — una galería dinámica por campaña publicada */
.portfolio-switch-note{margin:10px 0 20px;color:rgba(220,235,255,.72);font-size:13px}
.portfolio-card.is-hidden{display:none!important}
.portfolio-grid-pro{grid-template-columns:minmax(0,1fr)!important}
.portfolio-tabs{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;flex-wrap:nowrap!important}
.portfolio-tab{flex:0 0 auto}
/* v2.6.8 — Campaign browser: compact, scalable portfolio inspired by category browsing */
.portfolio-showcase{padding:78px 0 72px}
.portfolio-browser-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 16px;color:#d8e9fa;font-weight:800}
.portfolio-browser-arrows{display:flex;gap:8px}.portfolio-browser-arrows button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;font-size:27px;cursor:pointer}.portfolio-browser-arrows button:hover{background:#0e7cff;border-color:#0e7cff}
.portfolio-project-browser{display:flex!important;gap:18px!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 3px 16px;scrollbar-width:thin;grid-template-columns:none!important}
.portfolio-project-card{flex:0 0 min(360px,82vw);scroll-snap-align:start;border-radius:18px;background:#0a2d55;box-shadow:0 16px 38px rgba(0,0,0,.18);transform:none!important}
.portfolio-project-card:hover{border-color:#1a9cff;box-shadow:0 20px 45px rgba(0,0,0,.28)}
.portfolio-project-cover{height:330px;position:relative;overflow:hidden;background:#03162c}.portfolio-project-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.portfolio-project-card:hover .portfolio-project-cover>img{transform:scale(1.045)}
.portfolio-project-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,13,30,.08) 30%,rgba(1,15,34,.9) 100%)}
.portfolio-project-count,.portfolio-project-year{position:absolute;top:14px;padding:7px 10px;border-radius:999px;background:rgba(1,15,34,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:11px;color:#dcecff}.portfolio-project-count{left:14px}.portfolio-project-year{right:14px}
.portfolio-project-title{position:absolute;left:18px;right:18px;bottom:18px}.portfolio-project-title small{display:block;color:#39b8ff;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.06em;margin-bottom:5px}.portfolio-project-title h3{margin:0;color:#fff;font-size:23px;line-height:1.12}
.portfolio-project-open{margin:0!important;border-radius:0!important;padding:15px 18px!important;box-shadow:none!important}.portfolio-browser-note{font-size:12px;color:#8fb0d0;margin-top:8px}
@media(min-width:1180px){.portfolio-project-card{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:760px){.portfolio-showcase{padding:55px 0}.portfolio-project-card{flex-basis:84vw}.portfolio-project-cover{height:290px}.portfolio-total{display:none}}


/* v2.6.9 — Mosaico vivo de campañas, inspirado en la experiencia visual de Faster Printing */
.portfolio-motion-wall{overflow:hidden;background:radial-gradient(circle at 12% 10%,rgba(15,126,255,.13),transparent 28%),linear-gradient(180deg,#06284d 0%,#082f58 100%)}
.portfolio-motion-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 14px;color:#d8e9fa;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.portfolio-motion-toolbar>span{display:flex;align-items:center;gap:8px}.portfolio-motion-toolbar i{width:8px;height:8px;border-radius:50%;background:#35e7a4;box-shadow:0 0 0 6px rgba(53,231,164,.10)}
.portfolio-motion-viewport{overflow:hidden;margin-inline:calc((100vw - min(1180px,92vw))/-2);padding-inline:max(calc((100vw - 1180px)/2),4vw)}
.portfolio-project-browser.portfolio-motion-track{display:flex!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:none!important;padding:4px 0 18px!important;scrollbar-width:none!important;overscroll-behavior-inline:contain}
.portfolio-motion-track::-webkit-scrollbar{display:none}
.portfolio-project-card.portfolio-motion-card{position:relative;flex:0 0 clamp(330px,34vw,510px)!important;height:360px;border:1px solid rgba(126,191,255,.22)!important;border-radius:18px!important;overflow:hidden;background:#03172d!important;box-shadow:0 18px 42px rgba(0,0,0,.22)!important;cursor:pointer;scroll-snap-align:none!important;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.portfolio-project-card.portfolio-motion-card.is-tall{flex-basis:clamp(285px,29vw,430px)!important}.portfolio-project-card.portfolio-motion-card.is-wide{flex-basis:clamp(390px,39vw,580px)!important}
.portfolio-motion-card:hover{transform:translateY(-5px)!important;border-color:#24a9ff!important;box-shadow:0 24px 58px rgba(0,0,0,.34)!important}
.portfolio-motion-collage{position:absolute;inset:0;display:grid;grid-template-columns:1.35fr .8fr;grid-template-rows:1fr 1fr;gap:3px;background:#061c36}
.portfolio-motion-collage .motion-img{width:100%;height:100%;object-fit:cover;min-width:0;min-height:0;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}.portfolio-motion-collage .motion-img-1{grid-row:1/3}.portfolio-motion-collage .motion-img-4{display:none}
.portfolio-motion-card.is-wide .portfolio-motion-collage{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}.portfolio-motion-card.is-wide .motion-img-1{grid-row:1/3}.portfolio-motion-card.is-wide .motion-img-2{grid-column:2}.portfolio-motion-card.is-wide .motion-img-3{grid-column:3}.portfolio-motion-card.is-wide .motion-img-4{display:block;grid-column:2/4}
.portfolio-motion-card:hover .motion-img{transform:scale(1.045);filter:saturate(1.08)}
.portfolio-motion-card .portfolio-project-shade{z-index:2;background:linear-gradient(180deg,rgba(1,11,27,.05) 30%,rgba(1,13,31,.9) 100%)}
.portfolio-motion-card .portfolio-project-count,.portfolio-motion-card .portfolio-project-year{z-index:4}.portfolio-motion-caption{position:absolute;z-index:4;left:20px;right:20px;bottom:18px;color:#fff}.portfolio-motion-caption small{display:block;color:#42c2ff;text-transform:uppercase;font-weight:900;font-size:10px;letter-spacing:.07em}.portfolio-motion-caption h3{margin:4px 0 9px;font-size:clamp(21px,2vw,29px);line-height:1.04;text-shadow:0 2px 15px rgba(0,0,0,.45)}.portfolio-motion-caption>span{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:900;color:#fff;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:2px}
.portfolio-motion-card:focus-visible{outline:3px solid #41baff;outline-offset:3px}
@media(max-width:760px){.portfolio-motion-viewport{margin-inline:-4vw;padding-inline:4vw}.portfolio-project-card.portfolio-motion-card,.portfolio-project-card.portfolio-motion-card.is-tall,.portfolio-project-card.portfolio-motion-card.is-wide{flex-basis:82vw!important;height:320px}.portfolio-motion-toolbar{margin-top:18px}.portfolio-motion-caption h3{font-size:22px}.portfolio-motion-collage,.portfolio-motion-card.is-wide .portfolio-motion-collage{grid-template-columns:1.35fr .8fr;grid-template-rows:1fr 1fr}.portfolio-motion-card.is-wide .motion-img-1{grid-row:1/3}.portfolio-motion-card.is-wide .motion-img-4{display:none}}
@media(prefers-reduced-motion:reduce){.portfolio-motion-card,.portfolio-motion-collage .motion-img{transition:none!important}}

/* ===== v2.7.0 — Galería viva por fotografías, estilo portfolio dinámico ===== */
.portfolio-photo-stream{padding:72px 0 76px!important;background:radial-gradient(circle at 14% 0%,rgba(15,126,255,.16),transparent 30%),linear-gradient(180deg,#05264a,#082f58)!important}
.portfolio-live-viewport{overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);padding:2px 0 10px}
.portfolio-live-track{display:grid;grid-auto-flow:column;grid-template-rows:190px 190px;grid-auto-columns:245px;gap:10px;width:max-content;padding:0 max(4vw,calc((100vw - 1180px)/2));will-change:transform;overflow-x:auto;max-width:100vw;scrollbar-width:none;overscroll-behavior-inline:contain}
.portfolio-live-track::-webkit-scrollbar{display:none}.portfolio-live-tile{position:relative;display:block;border:0;padding:0;border-radius:16px;overflow:hidden;background:#06182f;cursor:pointer;min-width:0;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2);border:1px solid rgba(121,190,255,.2)}
.portfolio-live-tile.shape-wide{grid-column:span 2}.portfolio-live-tile.shape-tall{grid-row:span 2}.portfolio-live-tile.shape-small{grid-column:auto}.portfolio-live-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}.portfolio-live-tile:hover img{transform:scale(1.055);filter:saturate(1.12) brightness(1.04)}
.portfolio-live-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,11,27,.88));opacity:.84;transition:.25s}.portfolio-live-tile:hover .portfolio-live-shade{opacity:1}
.portfolio-live-label{position:absolute;z-index:2;left:15px;right:15px;bottom:13px;text-align:left;display:flex;flex-direction:column;gap:2px;text-shadow:0 2px 12px rgba(0,0,0,.65)}.portfolio-live-label small{font-size:9px;color:#49c5ff;text-transform:uppercase;font-weight:900;letter-spacing:.07em}.portfolio-live-label b{font-size:15px;line-height:1.12;color:#fff}
.portfolio-campaign-strip{display:flex;gap:9px;overflow-x:auto;padding:14px 0 2px;scrollbar-width:thin}.portfolio-campaign-chip{display:flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid rgba(255,255,255,.16);background:rgba(4,24,48,.72);color:#fff;border-radius:999px;padding:9px 13px;cursor:pointer}.portfolio-campaign-chip span{font-weight:850;font-size:12px}.portfolio-campaign-chip small{color:#8fb8dd;font-size:10px}.portfolio-campaign-chip:hover{border-color:#29b4ff;background:#0a3764}
@media(max-width:760px){.portfolio-photo-stream{padding:55px 0 60px!important}.portfolio-live-track{grid-template-rows:145px 145px;grid-auto-columns:190px;gap:7px;padding-inline:4vw}.portfolio-live-tile{border-radius:12px}.portfolio-live-label b{font-size:13px}.portfolio-live-label{left:11px;right:11px;bottom:10px}.portfolio-campaign-strip{padding-top:10px}}


/* ===== v2.7.1 — Fondo editable + logo de esquina + galería limpia ===== */
.portfolio-photo-stream{position:relative;isolation:isolate;overflow:hidden;background-position:center;background-size:cover}
.portfolio-photo-stream:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 8%,rgba(15,126,255,.15),transparent 34%),linear-gradient(180deg,rgba(3,28,56,.06),rgba(3,31,61,.16))}
.portfolio-photo-stream>.container{position:relative;z-index:2}
.portfolio-corner-logo{position:absolute;z-index:3;top:28px;left:max(22px,calc((100vw - 1480px)/2));width:var(--gallery-logo-width,210px);max-height:150px;object-fit:contain;object-position:left top;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28));pointer-events:none}
.portfolio-photo-stream:has(.portfolio-corner-logo) .portfolio-intro-row{padding-left:min(calc(var(--gallery-logo-width,210px) + 44px),30%)}
.portfolio-live-viewport{width:100%;margin-left:0;overflow:hidden;border-radius:20px}
.portfolio-live-track{width:100%;max-width:100%;overflow-x:auto;padding:0 2px;scroll-padding-inline:2px;scrollbar-width:none}
.portfolio-live-label{opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;left:14px;right:auto;bottom:14px;padding:8px 11px;border-radius:999px;background:rgba(2,18,39,.78);backdrop-filter:blur(7px)}
.portfolio-live-label b{font-size:12px;line-height:1;color:#fff}.portfolio-live-tile:hover .portfolio-live-label,.portfolio-live-tile:focus-visible .portfolio-live-label{opacity:1;transform:none}
.portfolio-live-shade{opacity:.15;background:linear-gradient(180deg,transparent 62%,rgba(0,11,27,.52))}.portfolio-live-tile:hover .portfolio-live-shade{opacity:.65}
@media(max-width:1100px){.portfolio-corner-logo{position:relative;display:block;top:auto;left:auto;margin:0 0 22px;width:min(var(--gallery-logo-width,210px),240px);max-height:120px}.portfolio-photo-stream:has(.portfolio-corner-logo) .portfolio-intro-row{padding-left:0}}
@media(max-width:760px){.portfolio-corner-logo{width:min(var(--gallery-logo-width,210px),180px);margin-bottom:16px}.portfolio-live-viewport{border-radius:14px}.portfolio-live-label{opacity:1;transform:none}}

/* ===== v2.7.2 — movimiento restaurado de la galería ===== */
.portfolio-live-viewport{overflow:hidden!important}
.portfolio-live-track{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.portfolio-live-track::-webkit-scrollbar{display:none}

/* v2.7.4 — Minimal copyright-only footer */
.site-footer.site-footer-minimal{padding:0!important;min-height:0!important;}
.site-footer.site-footer-minimal .container{padding-top:0!important;padding-bottom:0!important;}
.site-footer.site-footer-minimal .copyright{margin-top:0!important;border-top:0!important;padding:16px 0!important;text-align:center;font-size:13px;line-height:1.45;}
@media(max-width:620px){.site-footer.site-footer-minimal .copyright{padding:14px 0!important;font-size:12px;}}


/* ===== v2.7.5 — Solicitud de demostración moderna + contacto directo ===== */
.demo-contact-modern{
  position:relative;
  overflow:hidden;
  padding:84px 0 78px!important;
  color:#fff;
  background:
    radial-gradient(circle at 78% 16%,rgba(13,126,255,.18),transparent 29%),
    radial-gradient(circle at 12% 78%,rgba(0,157,255,.13),transparent 31%),
    linear-gradient(135deg,#03162f 0%,#062b55 52%,#031a36 100%)!important;
}
.demo-contact-modern:before,
.demo-contact-modern:after{content:"";position:absolute;pointer-events:none;opacity:.28}
.demo-contact-modern:before{left:-90px;bottom:-120px;width:580px;height:420px;background:repeating-radial-gradient(circle at 50% 50%,rgba(56,170,255,.35) 0 1px,transparent 2px 14px);mask-image:linear-gradient(135deg,#000,transparent 68%)}
.demo-contact-modern:after{right:-130px;top:-160px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(37,155,255,.18);box-shadow:0 0 0 58px rgba(37,155,255,.025),0 0 0 120px rgba(37,155,255,.018)}
.demo-contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}
.demo-contact-copy{max-width:560px}
.demo-contact-copy .eyebrow{color:#32a9ff;font-size:14px;border-left:3px solid #249fff;padding-left:15px}
.demo-contact-copy h2{margin:18px 0 16px;font-size:clamp(38px,4.1vw,62px);line-height:1.04;letter-spacing:-.035em;color:#fff}
.demo-contact-copy h2 span{color:#1f8cff}
.demo-contact-lead{margin:0 0 28px;color:#c0d1e3;font-size:18px;max-width:540px}
.demo-contact-list{border-top:1px solid rgba(83,172,255,.27)}
.demo-contact-item{display:grid;grid-template-columns:68px 1fr;gap:20px;align-items:start;padding:25px 0;border-bottom:1px solid rgba(83,172,255,.20);color:#fff}
a.demo-contact-item{transition:transform .2s ease}
a.demo-contact-item:hover{transform:translateX(4px)}
.demo-contact-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;border:1px solid rgba(61,173,255,.62);background:linear-gradient(145deg,rgba(12,91,177,.38),rgba(3,31,66,.66));box-shadow:0 0 25px rgba(0,136,255,.16);font-size:26px;color:#35aaff}
.demo-contact-item strong{display:block;font-size:20px;margin:0 0 2px;color:#fff}
.demo-contact-item small{display:block;color:#adc3d9;font-size:14px;margin-bottom:8px}
.demo-contact-item b{display:inline-block;color:#31a6ff;font-size:17px;letter-spacing:.01em}
.demo-phone-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:8px}
.demo-phone-links a{color:#35a9ff;font-size:18px;font-weight:900;letter-spacing:.015em}
.demo-phone-links a:before{content:"☎";margin-right:8px;font-size:14px}
.demo-form-shell{min-width:0;padding:28px;border:1px solid rgba(55,166,255,.46);border-radius:28px;background:linear-gradient(145deg,rgba(4,35,72,.90),rgba(2,24,51,.86));box-shadow:0 30px 80px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(12px)}
.demo-form-shell .lhr-demo-shortcode-host{color:#fff}
.demo-form-shell .lhr-demo-shortcode-host :is(h1,h2,h3,h4,strong,label){color:#fff!important}
.demo-form-shell .lhr-demo-shortcode-host :is(p,small,.muted){color:#aebfd2!important}
.demo-form-shell .lhr-demo-shortcode-host :is(input,select,textarea){background:rgba(5,26,53,.78)!important;color:#fff!important;border-color:rgba(131,178,224,.28)!important;box-shadow:none!important}
.demo-form-shell .lhr-demo-shortcode-host :is(input,select,textarea):focus{border-color:#1f9eff!important;box-shadow:0 0 0 3px rgba(31,158,255,.12)!important;outline:none!important}
.demo-form-shell .lhr-demo-shortcode-host input::placeholder,
.demo-form-shell .lhr-demo-shortcode-host textarea::placeholder{color:#91a6bc!important;opacity:1}
.demo-form-shell .lhr-demo-shortcode-host select option{background:#08294f;color:#fff}
.demo-form-shell .lhr-demo-shortcode-host :is(button,input[type=submit],.button,.btn){border-radius:11px!important;background:linear-gradient(90deg,#1068f1,#108dff)!important;color:#fff!important;border:0!important;font-weight:900!important;box-shadow:0 12px 28px rgba(7,110,255,.20)!important}
.demo-form-shell .lhr-demo-plugin-notice{background:rgba(3,30,61,.72)!important;border-color:rgba(83,172,255,.35)!important;color:#c2d6e8!important}
.demo-form-shell .lhr-demo-plugin-notice strong{color:#fff!important}
@media(max-width:980px){.demo-contact-grid{grid-template-columns:1fr;gap:34px}.demo-contact-copy{max-width:none}.demo-contact-copy h2{font-size:44px}.demo-form-shell{padding:22px}}
@media(max-width:620px){.demo-contact-modern{padding:62px 0 56px!important}.demo-contact-copy h2{font-size:34px}.demo-contact-lead{font-size:16px}.demo-contact-item{grid-template-columns:52px 1fr;gap:15px;padding:20px 0}.demo-contact-icon{width:48px;height:48px;border-radius:14px;font-size:21px}.demo-contact-item strong{font-size:18px}.demo-phone-links{display:grid;gap:7px}.demo-form-shell{padding:15px;border-radius:20px}}

/* ===== v2.7.7 — Final homepage polish ===== */
.demo-contact-modern .demo-contact-item b,
.demo-contact-modern .demo-phone-number{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.demo-phone-links{display:flex!important;flex-wrap:wrap;gap:14px 22px!important;align-items:center}
.demo-phone-contact{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.demo-phone-call,.demo-phone-whatsapp{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;color:#fff!important;font-weight:900;line-height:1}
.demo-phone-call{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25)}
.demo-phone-whatsapp{background:#20b858;border:1px solid rgba(255,255,255,.55);font-size:15px}
.demo-phone-number{font-weight:800!important}
.front-hero-header .nav{min-height:92px}
.front-hero-header .menu{justify-content:center}
@media(max-width:900px){.front-hero-header .nav{min-height:74px}}


/* ===== v2.7.8 — Clean phone + WhatsApp contact icons ===== */
.demo-phone-contact a::before{content:none!important;display:none!important}
.demo-phone-contact{gap:8px!important}
.demo-phone-call,.demo-phone-whatsapp{flex:0 0 28px;width:28px;height:28px}
.demo-phone-call span{display:block;transform:translateY(-1px);font-size:15px}
.demo-phone-whatsapp{background:#20b858!important;color:#fff!important;border:1px solid rgba(255,255,255,.48)!important;padding:5px!important}
.demo-phone-whatsapp svg{display:block;width:17px;height:17px}
.demo-phone-number{color:#fff!important;font-weight:850!important;letter-spacing:.01em}
@media(max-width:620px){.demo-phone-contact{display:grid!important;grid-template-columns:28px 28px auto;align-items:center;gap:7px!important}}


/* v2.7.9 — Registro de Personal + navegación móvil/tablet */
.staff-register-link{padding:9px 12px;border-radius:9px;background:rgba(11,118,209,.10);color:var(--lhr-blue)!important;white-space:nowrap}
.front-hero-header .staff-register-link{background:rgba(255,255,255,.16);color:#fff!important;border:1px solid rgba(255,255,255,.28)}
.lhr-mobile-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--lhr-border);border-radius:11px;background:#fff;padding:10px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.lhr-mobile-menu-toggle span{display:block;width:23px;height:2px;background:var(--lhr-navy);border-radius:3px;transition:.2s}
.lhr-mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.lhr-mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.lhr-mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.lhr-mobile-menu{display:none}
@media(max-width:1050px){
 .site-header .nav{position:relative;gap:12px;flex-wrap:wrap}
 .site-header .menu{display:none!important}
 .lhr-mobile-menu-toggle{display:flex;order:2;margin-left:auto}
 .site-header .actions{order:3}
 .site-header .actions .btn-primary{display:none}
 .site-header .actions .btn-outline{display:none}
 .lhr-mobile-menu{order:4;flex-basis:100%;width:100%;background:#fff;border:1px solid var(--lhr-border);border-radius:14px;box-shadow:0 16px 40px rgba(8,43,87,.14);padding:8px;margin-top:2px}
 .lhr-mobile-menu.is-open{display:grid!important}
 .lhr-mobile-menu a{display:block;padding:13px 14px;border-radius:9px;color:var(--lhr-navy)!important;font-weight:750;font-size:15px;text-shadow:none!important}
 .lhr-mobile-menu a:hover{background:#f2f7fc}
 .lhr-mobile-menu .mobile-staff-register{background:linear-gradient(135deg,var(--lhr-blue),var(--lhr-navy));color:#fff!important;margin:4px 0;font-weight:850}
 .front-hero-header .lhr-mobile-menu-toggle{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.5)}
}
@media(max-width:620px){
 .site-header .nav{padding:10px 0}
 .lhr-mobile-menu-toggle{width:44px;height:44px}
 .lhr-mobile-menu a{padding:14px;font-size:16px}
}


/* v2.8.0 — Menú editable + selector ES/EN */
.lhr-main-menu{display:flex;align-items:center;gap:18px;margin:0;padding:0;list-style:none}
.lhr-main-menu>li{list-style:none;margin:0;padding:0}
.lhr-main-menu a{display:inline-flex;align-items:center;min-height:40px}
.lhr-main-menu .menu-item-register a,.lhr-main-menu a[href*="/registro"]{padding:9px 12px;border-radius:9px;background:rgba(11,118,209,.10);color:var(--lhr-blue)!important;white-space:nowrap}
.front-hero-header .lhr-main-menu .menu-item-register a,.front-hero-header .lhr-main-menu a[href*="/registro"]{background:rgba(255,255,255,.16);color:#fff!important;border:1px solid rgba(255,255,255,.28)}
.lhr-language-switcher{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(8,43,87,.18);border-radius:9px;background:rgba(255,255,255,.94);flex:0 0 auto}
.lhr-language-switcher button{appearance:none;border:0;background:transparent;color:var(--lhr-navy);font:inherit;font-size:11px;font-weight:850;line-height:1;padding:7px 7px;border-radius:6px;cursor:pointer;letter-spacing:.02em}
.lhr-language-switcher button.is-active{background:var(--lhr-navy);color:#fff}
.front-hero-header .lhr-language-switcher{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.94)}
.lhr-menu-hint{font-size:12px;color:#64748b;margin-top:4px}
.lhr-mobile-menu .lhr-mobile-nav-list{list-style:none;margin:0;padding:0;display:grid}
.lhr-mobile-menu .lhr-mobile-nav-list li{list-style:none;margin:0;padding:0}
.lhr-mobile-menu .lhr-mobile-nav-list a{display:block}
.lhr-mobile-language{display:flex;gap:6px;padding:10px 12px 5px;border-top:1px solid var(--lhr-border);margin-top:4px}
.lhr-mobile-language button{flex:1;border:1px solid var(--lhr-border);border-radius:9px;background:#fff;color:var(--lhr-navy);padding:11px;font-weight:850;cursor:pointer}
.lhr-mobile-language button.is-active{background:var(--lhr-navy);color:#fff;border-color:var(--lhr-navy)}
@media(max-width:1050px){.site-header .menu{display:none!important}.site-header .lhr-language-switcher.desktop-language{display:none}.lhr-mobile-menu .lhr-mobile-nav-list{display:grid}.lhr-mobile-menu .menu-item-register a,.lhr-mobile-menu a[href*="/registro"]{background:linear-gradient(135deg,var(--lhr-blue),var(--lhr-navy));color:#fff!important;margin:4px 0;font-weight:850}}
@media(min-width:1051px){.lhr-mobile-language{display:none!important}}


/* v2.8.1 — Menú alimentado por WordPress + cambio automático a hamburguesa si no cabe. */
.site-header.lhr-nav-force-mobile .nav{position:relative;gap:12px;flex-wrap:wrap}
.site-header.lhr-nav-force-mobile .menu{display:none!important}
.site-header.lhr-nav-force-mobile .lhr-language-switcher.desktop-language{display:none!important}
.site-header.lhr-nav-force-mobile .lhr-mobile-menu-toggle{display:flex;order:2;margin-left:auto}
.site-header.lhr-nav-force-mobile .lhr-mobile-menu{order:4;flex-basis:100%;width:100%;background:#fff;border:1px solid var(--lhr-border);border-radius:14px;box-shadow:0 16px 40px rgba(8,43,87,.14);padding:8px;margin-top:2px}
.site-header.lhr-nav-force-mobile .lhr-mobile-menu.is-open{display:grid!important}
.site-header.lhr-nav-force-mobile .lhr-mobile-menu a{display:block;padding:13px 14px;border-radius:9px;color:var(--lhr-navy)!important;font-weight:750;font-size:15px;text-shadow:none!important}
.site-header.lhr-nav-force-mobile .lhr-mobile-menu a:hover{background:#f2f7fc}
.site-header.lhr-nav-force-mobile .lhr-mobile-language{display:flex!important;margin:8px 10px 6px}
.site-header.lhr-nav-force-mobile.front-hero-header .lhr-mobile-menu-toggle{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.5)}
.site-header.lhr-nav-force-mobile .lhr-mobile-menu .menu-item-register a,
.site-header.lhr-nav-force-mobile .lhr-mobile-menu a[href*="/registro"]{background:linear-gradient(135deg,var(--lhr-blue),var(--lhr-navy));color:#fff!important;margin:4px 0;font-weight:850}
/* Evita que un título largo se parta en varias líneas antes de activar el menú compacto. */
.lhr-main-menu>li>a{white-space:nowrap}


/* v2.8.2 — corrección de interacción móvil/contacto */
.lhr-mobile-menu-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.lhr-contact-main{touch-action:manipulation;-webkit-tap-highlight-color:transparent}


/* v2.8.3 — escritorio con botones visibles; hamburguesa solo en teléfono/tablet */
@media(min-width:1051px){
  .site-header .nav{flex-wrap:nowrap!important;gap:14px!important}
  .site-header .menu{display:flex!important;flex:1 1 auto;min-width:0;justify-content:center}
  .site-header .lhr-main-menu{display:flex!important;align-items:center;justify-content:center;gap:12px!important;flex-wrap:nowrap}
  .site-header .lhr-main-menu>li>a{white-space:nowrap;font-size:13px}
  .site-header .lhr-mobile-menu-toggle{display:none!important}
  .site-header .lhr-mobile-menu{display:none!important}
  .site-header .lhr-language-switcher.desktop-language{display:flex!important}
  /* Si quedó una clase compacta guardada por JS/caché anterior, no oculta el menú en escritorio. */
  .site-header.lhr-nav-force-mobile .menu{display:flex!important}
  .site-header.lhr-nav-force-mobile .lhr-language-switcher.desktop-language{display:flex!important}
  .site-header.lhr-nav-force-mobile .lhr-mobile-menu-toggle{display:none!important}
  .site-header.lhr-nav-force-mobile .lhr-mobile-menu{display:none!important}
}
@media(min-width:1051px) and (max-width:1320px){
  .site-header .container{width:96%!important}
  .site-header .brand img{width:155px!important}
  .site-header .lhr-main-menu{gap:8px!important}
  .site-header .lhr-main-menu>li>a{font-size:12px!important}
  .site-header .lhr-main-menu .menu-item-register a,
  .site-header .lhr-main-menu a[href*="/registro"]{padding:7px 8px!important}
}


/* ===== v2.8.4 — Header dinámico premium / menú WordPress editable ===== */
@media(min-width:1051px){
  .front-hero-header{
    background:linear-gradient(180deg,rgba(2,20,48,.72),rgba(2,20,48,.34) 72%,rgba(2,20,48,0));
    border-bottom:0;
    backdrop-filter:none;
    box-shadow:none;
  }
  .front-hero-header .nav{
    min-height:96px;
    width:min(1320px,95%);
    padding:10px 16px;
    gap:18px!important;
  }
  .front-hero-header .brand{
    position:relative;
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:16px;
    transition:transform .28s ease,filter .28s ease;
  }
  .front-hero-header .brand:after{
    content:"";
    position:absolute;
    inset:10px 4px 4px;
    background:radial-gradient(circle,rgba(20,158,255,.25),transparent 68%);
    filter:blur(16px);
    opacity:.55;
    z-index:-1;
    transition:opacity .25s ease;
  }
  .front-hero-header .brand:hover{transform:translateY(-2px) scale(1.015);filter:drop-shadow(0 10px 18px rgba(7,139,255,.20))}
  .front-hero-header .brand:hover:after{opacity:1}

  .front-hero-header .menu{
    flex:1 1 auto;
    min-width:0;
    justify-content:center;
    padding:5px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(6,29,64,.64),rgba(10,52,101,.42));
    box-shadow:0 14px 36px rgba(0,12,34,.18),inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter:blur(16px) saturate(1.2);
  }
  .front-hero-header .lhr-main-menu{
    gap:4px!important;
    width:100%;
    justify-content:center;
  }
  .front-hero-header .lhr-main-menu>li{position:relative}
  .front-hero-header .lhr-main-menu>li>a{
    position:relative;
    min-height:42px;
    padding:0 11px;
    border-radius:12px;
    color:rgba(255,255,255,.88)!important;
    font-size:12px!important;
    font-weight:800;
    letter-spacing:-.01em;
    text-shadow:0 1px 12px rgba(0,0,0,.28);
    transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
    overflow:hidden;
  }
  .front-hero-header .lhr-main-menu>li>a:before{
    content:"";
    position:absolute;
    left:14px;right:14px;bottom:5px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,#28c7ff,#0d7bff);
    transform:scaleX(0);
    opacity:0;
    transition:transform .22s ease,opacity .22s ease;
  }
  .front-hero-header .lhr-main-menu>li>a:hover,
  .front-hero-header .lhr-main-menu>li.current-menu-item>a{
    color:#fff!important;
    background:rgba(255,255,255,.10);
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(0,13,38,.16);
  }
  .front-hero-header .lhr-main-menu>li>a:hover:before,
  .front-hero-header .lhr-main-menu>li.current-menu-item>a:before{transform:scaleX(1);opacity:1}

  /* Registro: acceso operativo destacado sin competir con el CTA comercial. */
  .front-hero-header .lhr-main-menu .menu-item-register>a,
  .front-hero-header .lhr-main-menu a[href*="/registro"]{
    padding:0 13px!important;
    border:1px solid rgba(72,203,255,.38)!important;
    background:linear-gradient(135deg,rgba(18,145,225,.22),rgba(42,110,217,.18))!important;
    color:#9fe8ff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 20px rgba(0,96,187,.08);
  }
  .front-hero-header .lhr-main-menu .menu-item-register>a:hover,
  .front-hero-header .lhr-main-menu a[href*="/registro"]:hover{
    color:#fff!important;
    border-color:rgba(100,220,255,.70)!important;
    background:linear-gradient(135deg,rgba(14,153,239,.40),rgba(31,107,222,.34))!important;
    box-shadow:0 0 0 3px rgba(38,169,255,.08),0 10px 24px rgba(0,104,214,.18);
  }

  /* Solicitar demo: CTA principal. */
  .front-hero-header .lhr-main-menu .menu-item-demo-cta>a{
    padding:0 15px!important;
    color:#fff!important;
    border:1px solid rgba(92,195,255,.42);
    background:linear-gradient(135deg,#0f8cff 0%,#0869d8 58%,#074f9f 100%)!important;
    box-shadow:0 8px 22px rgba(0,112,228,.28),inset 0 1px 0 rgba(255,255,255,.24);
  }
  .front-hero-header .lhr-main-menu .menu-item-demo-cta>a:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(0,132,255,.40),0 0 0 3px rgba(45,173,255,.10);
  }
  .front-hero-header .lhr-main-menu .menu-item-demo-cta>a:before{display:none}

  /* Login: acción secundaria elegante. */
  .front-hero-header .lhr-main-menu .menu-item-login>a{
    padding:0 13px!important;
    border:1px solid rgba(255,255,255,.26);
    background:rgba(255,255,255,.045);
  }
  .front-hero-header .lhr-main-menu .menu-item-login>a:hover{
    background:rgba(255,255,255,.13);
    border-color:rgba(255,255,255,.48);
  }

  .front-hero-header .desktop-language{
    margin-left:2px;
    padding:4px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 26px rgba(0,13,38,.15);
    backdrop-filter:blur(12px);
    transition:transform .22s ease,box-shadow .22s ease;
  }
  .front-hero-header .desktop-language:hover{transform:translateY(-1px);box-shadow:0 13px 30px rgba(0,13,38,.22)}
  .front-hero-header .desktop-language button{min-width:30px;padding:7px 8px;border-radius:8px;transition:.2s}
  .front-hero-header .desktop-language button.is-active{background:linear-gradient(135deg,#082b57,#0c4f93);box-shadow:0 4px 10px rgba(8,43,87,.20)}
}

/* Movimiento muy sutil para que el header se sienta vivo, respetando accesibilidad. */
@media(min-width:1051px) and (prefers-reduced-motion:no-preference){
  .front-hero-header .menu{animation:lhrHeaderReveal .55s cubic-bezier(.2,.75,.2,1) both}
  .front-hero-header .desktop-language{animation:lhrHeaderReveal .62s cubic-bezier(.2,.75,.2,1) both}
  @keyframes lhrHeaderReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
}

/* Conserva el móvil simple y robusto; solo añade un poco de profundidad visual. */
@media(max-width:1050px){
  .front-hero-header .lhr-mobile-menu-toggle{box-shadow:0 10px 26px rgba(0,20,54,.20)!important;border-radius:13px!important}
  .front-hero-header .lhr-mobile-menu{border-radius:18px!important;box-shadow:0 22px 54px rgba(2,27,67,.24)!important;padding:10px!important}
  .front-hero-header .lhr-mobile-menu a{transition:background .2s ease,transform .2s ease}
  .front-hero-header .lhr-mobile-menu a:active{transform:scale(.985)}
}


/* ===== v2.8.5 — Un solo botón activo en escritorio, tablet y móvil ===== */
/* Estado normal: todos los botones de navegación se ven disponibles, no seleccionados. */
.front-hero-header .lhr-main-menu>li>a,
.front-hero-header .lhr-main-menu .menu-item-register>a,
.front-hero-header .lhr-main-menu a[href*="/registro"],
.front-hero-header .lhr-main-menu .menu-item-demo-cta>a,
.front-hero-header .lhr-main-menu .menu-item-login>a{
  background:transparent!important;
  border:1px solid transparent!important;
  color:rgba(255,255,255,.90)!important;
  box-shadow:none!important;
}
.front-hero-header .lhr-main-menu>li>a:before{display:none!important}
.front-hero-header .lhr-main-menu>li>a:hover,
.front-hero-header .lhr-main-menu .menu-item-register>a:hover,
.front-hero-header .lhr-main-menu .menu-item-demo-cta>a:hover,
.front-hero-header .lhr-main-menu .menu-item-login>a:hover{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.15)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:none!important;
}
/* Solo el enlace seleccionado recibe el tratamiento azul. */
.front-hero-header .lhr-main-menu a.lhr-is-active,
.front-hero-header .lhr-main-menu>li.current-menu-item>a.lhr-is-active,
.front-hero-header .lhr-main-menu>li.current_page_item>a.lhr-is-active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(14,145,239,.94),rgba(8,88,186,.96))!important;
  border-color:rgba(118,215,255,.68)!important;
  box-shadow:0 8px 22px rgba(0,110,225,.25),inset 0 1px 0 rgba(255,255,255,.18)!important;
  transform:translateY(-1px)!important;
}
/* Evita que WordPress marque visualmente "Inicio" mientras otra sección esté seleccionada. */
.front-hero-header .lhr-main-menu>li.current-menu-item>a:not(.lhr-is-active),
.front-hero-header .lhr-main-menu>li.current_page_item>a:not(.lhr-is-active){
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Móvil/tablet: misma lógica, una sola opción activa. */
@media(max-width:1050px){
  .front-hero-header .lhr-mobile-menu a,
  .front-hero-header .lhr-mobile-menu .menu-item-register a,
  .front-hero-header .lhr-mobile-menu a[href*="/registro"]{
    background:transparent!important;
    color:var(--lhr-navy)!important;
    border:1px solid transparent!important;
    box-shadow:none!important;
    margin:2px 0!important;
  }
  .front-hero-header .lhr-mobile-menu a:hover{
    background:#f1f7fd!important;
    border-color:#dbe9f7!important;
  }
  .front-hero-header .lhr-mobile-menu a.lhr-is-active{
    color:#fff!important;
    background:linear-gradient(135deg,#0f8cff,#0757ad)!important;
    border-color:#178fe8!important;
    box-shadow:0 8px 18px rgba(7,91,181,.18)!important;
  }
}
