:root{
  --ink:#0a0e14; --muted:#4a5560; --soft:#8892a0; --line:#e6e9ee; --paper:#ffffff;
  --accent:#03779f; --accent-2:#1ba8d4; --accent-3:#5fd0ef; --deep:#025470;
  --ok:#0f9d6b; --warn:#d98a0b; --alert:#e0564b;
  --ease:cubic-bezier(.2,.8,.2,1);
  --shadow:0 40px 90px -30px rgba(3,64,90,.34);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; line-height:1.6; font-size:17px;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.wrap{width:min(1160px, calc(100% - 48px)); margin:0 auto;}

.btn{cursor:pointer; font-weight:700; border:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:1rem; padding:14px 24px; border-radius:12px; white-space:nowrap; transition:.2s var(--ease);}
.btn.pri{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff;}
.btn.pri:hover{box-shadow:0 14px 30px -12px rgba(3,119,159,.6); transform:translateY(-2px);}
.btn.ghost{background:#fff; color:var(--ink); border:1.5px solid var(--line);}
.btn.ghost:hover{border-color:var(--accent-3); color:var(--accent);}
.btn.dark{background:var(--ink); color:#fff;}
.btn.full{width:100%;}
.chk{color:var(--ok); font-weight:800; flex-shrink:0;}

section{padding:70px 0;}
.sec-head{text-align:center; max-width:700px; margin:0 auto 46px;}
.eyebrow{display:inline-block; color:var(--accent); font-family:ui-monospace,monospace; font-size:.8rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:12px;}
h2.sh{font-size:clamp(1.8rem,3.8vw,2.6rem); font-weight:800; letter-spacing:-.03em; line-height:1.05;}
.sub{color:var(--muted); margin-top:14px; font-size:1.08rem;}
.bg-soft{background:#f6fafb;}

/* ===== FontAwesome duotone — tono de marca ===== */
.fad, .fa-duotone{--fa-primary-color:var(--accent); --fa-secondary-color:var(--accent-3); --fa-secondary-opacity:.38;}
/* (reglas .scard .ic / .icard .ic retiradas 10-07-2026: esas tarjetas ya no usan chip .ic) */

/* ============================================================
   HEADER — H2 (pill flotante, sticky) + hamburguesa móvil
   ============================================================ */
.hdr{position:sticky; top:0; z-index:100; padding:16px 0; transition:.25s;}
.hdr .hwrap{display:flex; justify-content:center;}
.pill{display:flex; align-items:center; gap:22px; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); border:1px solid var(--line); border-radius:50px; padding:8px 8px 8px 22px; box-shadow:0 12px 34px -18px rgba(3,64,90,.4); max-width:100%;}
.pill img.logo{height:60px; display:block;}
.pill .logolink{display:flex; align-items:center; cursor:pointer;}
.pill .pay{background:#fff; border:1.5px solid var(--accent); color:var(--accent); padding:9px 16px; border-radius:50px; font-size:.86rem; font-weight:700; display:inline-flex; align-items:center; gap:7px; transition:.2s;}
.pill .pay:hover{background:var(--accent); color:#fff;}
.pill .pay .fa-duotone{--fa-primary-color:currentColor; --fa-secondary-color:currentColor; --fa-secondary-opacity:.5;}
.mpanel .mpay{color:var(--accent);}
.pill nav{display:flex; gap:22px; font-size:.92rem; font-weight:600; color:var(--muted);}
.pill nav a:hover{color:var(--accent);}
.pill nav a.on{color:var(--ink); font-weight:700;}
.pill nav .nav-soon{color:var(--muted); cursor:default; display:inline-flex; align-items:center; gap:5px; opacity:.72;}
.soon-badge{font-size:.5rem; font-weight:800; letter-spacing:.01em; text-transform:uppercase; background:linear-gradient(135deg,var(--accent-2),var(--accent)); color:#fff; padding:1px 5px; border-radius:999px; line-height:1.5; white-space:nowrap;}
.mpanel .nav-soon{display:flex; align-items:center; gap:8px; padding:13px 4px; font-size:1.05rem; font-weight:600; color:var(--muted); border-bottom:1px solid var(--line); opacity:.78;}
.pill .cta{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; padding:9px 18px; border-radius:50px; font-size:.9rem; font-weight:700;}
.pill .portal{background:#fff; border:1.5px solid var(--line); color:var(--ink); padding:9px 16px; border-radius:50px; font-size:.86rem; font-weight:700; display:inline-flex; align-items:center; gap:7px; transition:.2s;}
.pill .portal:hover{border-color:var(--accent-3); color:var(--accent);}
.pill .portal .fa-duotone{--fa-primary-color:var(--accent); --fa-secondary-color:var(--accent-3);}
.burger{display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:4px; flex-shrink:0;}
.burger span{width:18px; height:2px; background:var(--ink); border-radius:2px; transition:.25s;}
.mpanel{display:none; position:fixed; inset:74px 16px auto 16px; z-index:99; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 30px 70px -24px rgba(3,64,90,.5); padding:14px 18px 18px;}
.mpanel.open{display:block;}
.mpanel a{display:block; padding:13px 4px; font-size:1.05rem; font-weight:600; border-bottom:1px solid var(--line);}
.mpanel .mcta{margin-top:14px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; text-align:center; padding:14px; border-radius:12px; font-weight:700; border-bottom:none;}

/* ============================================================
   HERO — HE1 (split) con panel 3D "sistema real corriendo"
   ============================================================ */
.hero{padding:56px 0 76px;}
.hero .grid{display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center;}
.pills{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px;}
.pill-t{font-family:ui-monospace,monospace; font-size:.72rem; font-weight:500; color:var(--muted); border:1px solid var(--line); background:#fafcfd; padding:5px 11px; border-radius:7px; display:inline-flex; gap:6px; align-items:center;}
.pill-t .d{width:6px; height:6px; border-radius:50%; background:var(--ok);}
h1.hh{font-size:clamp(2.2rem,5vw,3.6rem); font-weight:900; letter-spacing:-.045em; line-height:.98; text-wrap:balance;}
.grad{background:linear-gradient(135deg,var(--accent) 10%,var(--accent-2) 55%,var(--accent-3) 95%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.lead{color:var(--muted); font-size:1.1rem; margin-top:18px; max-width:460px;}
.actions{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap;}
.trust{display:flex; gap:20px; margin-top:22px; flex-wrap:wrap;}
.trust .ti{font-size:.82rem; color:var(--muted); display:flex; align-items:center; gap:6px; font-weight:600;}
.hero-micro{font-size:.85rem; color:var(--soft); font-weight:600; margin-top:12px;}
.hero-gancho{display:inline-flex; align-items:center; gap:9px; margin-top:16px; max-width:100%; background:linear-gradient(135deg,#eafaf1,#d6f5e3); border:1px solid #9fe3bf; color:#0f7a4d; font-size:.9rem; font-weight:800; padding:10px 16px; border-radius:16px; line-height:1.35;}
.hero-gancho .giftsvg{flex-shrink:0; display:block;}
.hero-wa{margin-top:14px; font-size:.92rem; color:var(--muted); font-weight:600;}
.hero-wa a{color:#1faa5c; font-weight:800; display:inline-flex; align-items:center; gap:6px;}
.svc-pillars{display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:28px;}
.svc-pillars span{display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:10px 18px; font-weight:700; font-size:.95rem; box-shadow:0 8px 22px -16px rgba(3,64,90,.4);}
.svc-pillars span i{font-size:1.05rem; --fa-secondary-opacity:.45;}
/* Sección "Cámbiate sin complicaciones" */
.cambio-panel{background:linear-gradient(135deg,#f2fafc,#eaf6fb); border:1px solid #d6eef5; border-radius:24px; padding:48px 44px; text-align:center;}
@media(max-width:640px){.cambio-panel{padding:34px 22px;}}
.cbpasos{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:6px 0 26px; text-align:left;}
@media(max-width:760px){.cbpasos{grid-template-columns:1fr;}}
.cbpaso{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; display:flex; gap:14px; align-items:flex-start; box-shadow:0 14px 40px -28px rgba(3,64,90,.4);}
.cbpaso .n{flex-shrink:0; width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; font-weight:900; display:grid; place-items:center; font-size:1.05rem;}
.cbpaso p{color:var(--muted); font-size:.98rem; margin:0; align-self:center;}
.cbpaso p b{color:var(--ink);}
.cbchips{display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:760px; margin:0 auto 28px;}
.cbchips span{display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:11px 16px; font-weight:700; font-size:.9rem; color:var(--ink);}
@media(max-width:560px){.cbchips{grid-template-columns:1fr; max-width:440px;}}
.cbchips span i{--fa-secondary-opacity:.45;}
.cbchips span.hot{border-color:#9fe3bf; color:#0f7a4d;}
.cbchips span.hot i{--fa-primary-color:#0f9d6b; --fa-secondary-color:#8fe3b8; --fa-secondary-opacity:.55;}
.cbcta{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;}
.cbctx{color:var(--muted); font-size:.95rem; font-weight:600;}

/* --- Panel 3D dashboard --- */
.stage{perspective:1500px;}
.panel3d{position:relative; border-radius:20px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); overflow:hidden; transform:rotateY(-9deg) rotateX(5deg); transition:transform .6s var(--ease);}
.stage:hover .panel3d{transform:rotateY(-3deg) rotateX(2deg);}
.panel3d::before{content:""; position:absolute; inset:0; border-radius:20px; padding:1px; background:linear-gradient(135deg,rgba(3,119,159,.55),transparent 35%,rgba(95,208,239,.45) 75%,transparent); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; z-index:5;}
.p3top{display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--line); background:#fafcfd;}
.p3dots{display:flex; gap:5px;} .p3dots i{width:8px; height:8px; border-radius:50%; background:#e2e6ea;}
.p3cmd{color:var(--soft); background:#fff; border:1px solid var(--line); padding:4px 10px; border-radius:999px; font-size:.66rem; font-family:ui-monospace,monospace;}
.p3body{padding:16px;}
.p3prop{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
.p3prop .nm{font-weight:800; font-size:.98rem;} .p3prop .ad{color:var(--soft); font-size:.76rem; margin-top:1px;}
.p3tag{font-size:.66rem; font-weight:800; color:var(--ok); background:#e4f7ef; padding:5px 10px; border-radius:999px;}

.p3sec-t{font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.8px; color:var(--soft); margin:0 0 9px;}
.svc-grid{display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:14px;}
.svc{display:flex; align-items:center; justify-content:space-between; border:1px solid var(--line); border-radius:9px; padding:8px 10px; background:#fff;}
.svc .l{font-size:.76rem; font-weight:600; display:flex; align-items:center; gap:7px;}
.svc .ico{width:9px; height:9px; border-radius:3px; background:var(--accent-3);}
.svc .st{font-size:.66rem; font-weight:800; display:flex; align-items:center; gap:5px;}
.svc .st.ok{color:var(--ok);} .svc .st.pend{color:var(--warn);}
.svc .dot{width:6px; height:6px; border-radius:50%;}
.svc .st.ok .dot{background:var(--ok);} .svc .st.pend .dot{background:var(--warn); animation:blink 1.6s infinite;}
@keyframes blink{50%{opacity:.3;}}

.mini2{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:14px;}
.mcell{border:1px solid var(--line); border-radius:10px; padding:10px 12px; position:relative;}
.mcell .k{font-size:.6rem; color:var(--soft); font-weight:700; text-transform:uppercase; letter-spacing:.5px;}
.mcell .v{font-size:.92rem; font-weight:800; margin-top:3px; display:flex; align-items:center; gap:6px;}
.mcell .v .dot{width:7px; height:7px; border-radius:50%;}
.mcell .v.ok{color:var(--ok);} .mcell .v.ok .dot{background:var(--ok);}
.mcell .v.alert{color:var(--alert);} .mcell .v.alert .dot{background:var(--alert); animation:blink 1.6s infinite;}
.mcell .badge-n{position:absolute; top:9px; right:9px; background:var(--accent); color:#fff; font-size:.6rem; font-weight:800; padding:2px 7px; border-radius:999px;}

.occ-row{display:flex; justify-content:space-between; font-size:.72rem; color:var(--muted); font-weight:600;}
.meter{height:8px; border-radius:999px; background:#eef1f3; overflow:hidden; margin-top:7px;}
.meter>div{height:100%; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--accent-3)); animation:meter 4s var(--ease) infinite alternate;}
@keyframes meter{from{width:60%;}to{width:94%;}}

/* foto de la propiedad dentro del panel */
.p3photo{position:relative; height:132px; overflow:hidden;}
.p3photo img{width:100%; height:100%; object-fit:cover;}
.p3photo .ph-tag{position:absolute; top:10px; left:10px; background:rgba(255,255,255,.94); backdrop-filter:blur(6px); font-size:.66rem; font-weight:800; color:var(--ok); padding:5px 11px; border-radius:999px; display:flex; align-items:center; gap:6px;}
.p3photo .ph-tag .dot{width:7px; height:7px; border-radius:50%; background:var(--ok);}
.p3photo .ph-pr{position:absolute; bottom:10px; right:10px; background:rgba(10,14,20,.82); backdrop-filter:blur(6px); color:#fff; font-size:.74rem; font-weight:800; padding:5px 12px; border-radius:999px; font-family:ui-monospace,monospace;}

/* flotante "actividad reciente" — reubicado arriba-derecha para NO tapar la barra de ocupación */
.fp{position:absolute; top:112px; right:-14px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(16px); box-shadow:0 18px 44px -18px rgba(3,64,90,.4); padding:11px 14px; z-index:8;}
.fp .fl{color:var(--soft); font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px;}
.fp .fr{display:flex; align-items:center; gap:8px; font-size:.74rem; font-weight:700;}
.fp .fi{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; font-size:.7rem; background:#e4f7ef; color:var(--ok);}

/* ============================================================
   SERVICIOS — "Qué hacemos"
   ============================================================ */
/* "Qué hacemos" — iconos duotone grandes a color (estilo calugas) con efecto propio:
   número fantasma 01-04 de fondo + onda de color desde el icono en hover + rebote elástico. */
.svc4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.svc3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:860px){.svc3{grid-template-columns:1fr;}}
.scard{position:relative; overflow:hidden; background:#fff; border:1px solid transparent; border-radius:16px; padding:32px 26px; text-align:center; box-shadow:0 4px 24px rgba(2,6,23,.08); transition:transform .35s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);}
.scard::after{content:attr(data-n); position:absolute; top:6px; right:14px; font-size:4.4rem; font-weight:900; line-height:1; color:rgba(3,119,159,.06); letter-spacing:-2px; transition:.4s var(--ease); pointer-events:none;}
.scard:hover{transform:translateY(-6px); box-shadow:0 12px 40px rgba(2,6,23,.12); border-color:var(--accent);}
.scard:hover::after{color:rgba(3,119,159,.13); transform:translateY(4px) scale(1.08);}
.scard::before{content:""; position:absolute; top:58px; left:50%; width:220px; height:220px; margin-left:-110px; border-radius:50%; background:radial-gradient(circle, var(--wash, rgba(3,119,159,.09)) 0%, transparent 65%); transform:scale(0); opacity:0; transition:transform .5s var(--ease), opacity .4s ease; pointer-events:none;}
.scard:hover::before{transform:scale(1.6); opacity:1;}
.scard.c-teal{--wash:rgba(3,119,159,.10);}
.scard.c-gold{--wash:rgba(217,119,6,.10);}
.scard.c-green{--wash:rgba(5,150,105,.10);}
.scard.c-blue{--wash:rgba(29,78,216,.10);}
.scard .svc-icon{position:relative; font-size:52px; line-height:1; margin-bottom:20px; display:inline-block; --fa-secondary-opacity:.35; transition:transform .45s cubic-bezier(.34,1.56,.64,1);}
.scard:hover .svc-icon{transform:translateY(-6px) scale(1.1);}
.scard .svc-icon.ic-teal{--fa-primary-color:var(--accent); --fa-secondary-color:#0ea5e9;}
.scard .svc-icon.ic-gold{--fa-primary-color:#d97706; --fa-secondary-color:#fbbf24;}
.scard .svc-icon.ic-green{--fa-primary-color:#059669; --fa-secondary-color:#34d399;}
.scard .svc-icon.ic-blue{--fa-primary-color:#1d4ed8; --fa-secondary-color:#60a5fa;}
.scard h3{position:relative; font-size:1.25rem; font-weight:700; line-height:1.3;}
.scard p{position:relative; font-size:1.02rem; color:var(--muted); line-height:1.6; margin-top:8px;}

/* ============================================================
   PRECIOS
   ============================================================ */
.pr-concept{display:inline-flex; align-items:center; gap:9px; background:#f2fafc; border:1px solid #d6eef5; color:var(--accent); border-radius:999px; padding:9px 18px; font-size:.9rem; font-weight:700; margin-top:6px;}

/* "A mayor arriendo, menor tasa" — escalera de tasas interactiva + simulador (10-07-2026):
   6 barras descendentes (la forma cuenta la historia) + slider de arriendo en UF que
   ilumina el tramo activo y calcula la comisión estimada en vivo. */
.cur-switch{display:flex; flex-direction:column; align-items:center; gap:8px; margin:-8px 0 34px;}
.cur-switch .cs-row{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;}
.cur-switch .cs-pill{display:inline-flex; background:#eef4f8; border-radius:999px; padding:5px; gap:4px;}
.cs-input{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1.5px solid var(--line); border-radius:999px; padding:9px 20px; transition:.2s var(--ease);}
.cs-input:focus-within{border-color:var(--accent); box-shadow:0 0 0 3px rgba(3,119,159,.12);}
.cs-input .ci-pre{font-weight:800; color:var(--accent); font-size:1rem;}
.cs-input input{border:none; outline:none; width:120px; font-family:inherit; font-weight:700; font-size:1.1rem; color:var(--ink); background:transparent;}
.cs-input input::placeholder{color:var(--soft); font-weight:500;}
.cur-switch button{border:none; cursor:pointer; background:transparent; color:var(--muted); font-weight:700; font-size:1rem; padding:10px 26px; border-radius:999px; transition:.25s var(--ease); font-family:inherit;}
.cur-switch button:hover{color:var(--accent);}
.cur-switch button.on{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; box-shadow:0 6px 16px -6px rgba(3,119,159,.55);}
.cur-switch .cs-ref{font-size:.82rem; color:var(--soft); font-family:ui-monospace,monospace;}
.tasas-lab{display:grid; grid-template-columns:1.5fr 1fr; gap:36px; align-items:stretch;}
.stairwrap{display:flex; flex-direction:column;}
.stair{display:grid; grid-template-columns:repeat(6,1fr); gap:12px; align-items:end; height:250px; margin-bottom:58px;}
.step{position:relative; display:flex; justify-content:center; background:#edf3f7; border-radius:14px 14px 6px 6px; cursor:pointer; transition:.3s var(--ease); padding-top:14px;}
.step .spct{font-weight:900; font-size:1.3rem; color:var(--muted); letter-spacing:-.02em; transition:.3s; white-space:nowrap;}
.step .srng{position:absolute; bottom:-50px; left:0; right:0; text-align:center; font-size:.8rem; color:var(--soft); line-height:1.35; font-weight:600;}
.step .srng b{display:block; color:var(--muted); font-family:ui-monospace,monospace; font-size:.72rem; letter-spacing:1px; margin-bottom:2px;}
.step:hover{background:#dfeaf1;}
.step.on{background:linear-gradient(180deg,var(--accent),var(--deep)); box-shadow:0 14px 30px -12px rgba(3,119,159,.55); transform:translateY(-6px);}
.step.on .spct{color:#fff;}
.step.on .srng b{color:var(--accent);}
.ufslider input[type=range]{width:100%; accent-color:var(--accent); height:6px; cursor:pointer;}
.ufslider .ufscale{display:flex; justify-content:space-between; font-size:.76rem; color:var(--soft); font-family:ui-monospace,monospace; margin-top:6px;}
.ufslider .ufhint{text-align:center; font-size:.98rem; color:var(--muted); margin-top:14px;}
.tasa-out{background:#fff; border-radius:18px; box-shadow:0 4px 24px rgba(2,6,23,.08); border:1px solid var(--line); padding:32px 30px; display:flex; flex-direction:column;}
.tasa-out .t-uf{font-size:1.05rem; color:var(--muted);}
.tasa-out .t-uf b{color:var(--ink); font-size:1.4rem; font-weight:800;}
.tasa-out .t-pct{font-size:4.2rem; font-weight:900; color:var(--accent); letter-spacing:-.04em; line-height:1.05; margin:8px 0 2px;}
.tasa-out .t-pct small{font-size:1.4rem; font-weight:700; color:var(--muted); letter-spacing:0;}
.tasa-out .t-pct.bump{animation:tBump .32s var(--ease);}
@keyframes tBump{40%{transform:scale(1.07);}100%{transform:scale(1);}}
.tasa-out .t-tag{display:inline-flex; align-self:flex-start; gap:8px; align-items:center; background:#f2fafc; color:var(--accent); font-weight:700; font-size:.9rem; padding:6px 14px; border-radius:999px; margin:8px 0 14px;}
.tasa-out .t-desc{font-size:1.02rem; color:var(--muted); line-height:1.5;}
.tasa-out .t-piso{font-size:.98rem; color:var(--soft); border-top:1px solid var(--line); margin-top:14px; padding-top:14px;}
.tasa-out .t-piso b{color:var(--ink);}
.tasa-out .t-com{margin-top:16px; background:linear-gradient(135deg,#f2fafc,#e7f3f8); border-radius:14px; padding:16px 18px; font-size:1rem; color:var(--muted);}
.tasa-out .t-com b{display:block; font-size:1.5rem; font-weight:900; color:var(--accent); margin-top:2px;}
/* seleccionada (estilo featured G1: borde gradiente + escala + sombra) */
/* (reglas .tcard retiradas 10-07-2026: la grilla de tramos fue reemplazada por la escalera interactiva .tasas-lab) */

/* comisión arriendo + ejemplo destacado */
.pr-2col{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:28px; align-items:stretch;}
.arr-card{border:1px solid var(--line); border-radius:20px; padding:32px; background:#fff;}
.arr-card h3{font-size:1.25rem; font-weight:800;}
.arr-card .big{font-size:2.6rem; font-weight:900; color:var(--accent); letter-spacing:-.03em; margin:14px 0 4px; line-height:1;}
.arr-card .eq{font-size:.9rem; color:var(--soft);}
.arr-card ul{list-style:none; margin-top:18px; display:flex; flex-direction:column; gap:11px;}
.arr-card li{display:flex; gap:10px; font-size:.96rem; align-items:flex-start; color:var(--muted);}
.arr-card li strong{color:var(--ink); font-weight:700;}
.ej-card{border:2px solid var(--accent); border-radius:20px; padding:32px; background:linear-gradient(150deg,#f2fafc,#fff); position:relative;}
.ej-card .tag{position:absolute; top:-13px; left:28px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; font-size:.72rem; font-weight:800; padding:6px 15px; border-radius:999px; letter-spacing:.5px;}
.ej-card h3{font-size:1.15rem; font-weight:800; margin-bottom:4px;}
.ej-card .subej{font-size:.9rem; color:var(--muted); margin-bottom:20px;}
.ej-rows{display:flex; flex-direction:column; gap:12px;}
.ej-line{display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-radius:12px; font-size:.95rem;}
.ej-line.mkt{background:#fff; border:1px solid var(--line);}
.ej-line.pro{background:#e4f7ef; border:1px solid #bfe9d5;}
.ej-line .lbl{font-weight:600; color:var(--muted);} .ej-line.pro .lbl{color:var(--ink); font-weight:700;}
.ej-line .amt{font-family:ui-monospace,monospace; font-weight:800; font-size:1.02rem;}
.ej-line.mkt .amt{color:var(--muted); text-decoration:line-through; text-decoration-color:#cfd6dc;}
.ej-line.pro .amt{color:var(--ok);}
.ej-save{text-align:center; margin-top:18px; font-size:1.05rem; font-weight:800; color:var(--accent);}
.ej-save b{font-size:1.3rem; color:var(--ok);}

/* descuento volumen */
/* Descuento por volumen — flip cards 3D (efecto del showcase-novedades, NOVEDAD 07):
   giran en secuencia revelando un ejemplo concreto en el reverso. */
.vol{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:900px; margin:0 auto;}
.vflip{perspective:1000px; height:215px;}
.vflip .inner{position:relative; width:100%; height:100%; transform-style:preserve-3d; animation:flipCard 8s var(--ease) infinite;}
.vflip:nth-child(2) .inner{animation-delay:1.2s;}
.vflip:nth-child(3) .inner{animation-delay:2.4s;}
@keyframes flipCard{0%,38%{transform:rotateY(0);}50%,88%{transform:rotateY(180deg);}100%{transform:rotateY(360deg);}}
.vflip .face{position:absolute; inset:0; backface-visibility:hidden; border-radius:18px; padding:26px 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid var(--line); background:#fff;}
.vflip .back{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; transform:rotateY(180deg); border:none;}
.vflip .pct{font-size:2.8rem; font-weight:900; color:var(--accent); letter-spacing:-.03em; line-height:1;}
.vflip.zero .front{background:#f6fafb;}
.vflip.zero .pct{color:var(--soft);}
.vflip .rng{font-size:1.05rem; font-weight:800; margin-top:8px;}
.vflip .cond{font-size:.95rem; color:var(--muted); margin-top:5px;}
.vflip .back .kk{font-size:.74rem; text-transform:uppercase; letter-spacing:1px; color:rgba(255,255,255,.85); font-weight:700; margin-bottom:8px;}
.vflip .back .vv{font-size:1.65rem; font-weight:900; letter-spacing:-.02em;}
.vflip .back .lbl{font-size:.98rem; color:rgba(255,255,255,.92); margin-top:7px; line-height:1.45;}
@media (prefers-reduced-motion:reduce){ .vflip .inner{animation:none;} }
.vol-note{text-align:center; color:var(--muted); font-size:.96rem; max-width:720px; margin:26px auto 0;}

/* brochure CTA */
.broc{margin:44px auto 0; max-width:820px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); border-radius:22px; padding:38px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; color:#fff;}
.broc .txt h3{font-size:1.4rem; font-weight:900; letter-spacing:-.02em;}
.broc .txt h3 .fa-duotone{--fa-primary-color:#fff; --fa-secondary-color:#fff; --fa-secondary-opacity:.5; margin-right:8px;}
.broc .txt p{opacity:.92; margin-top:6px; font-size:1rem;}
.broc .btn{background:#fff; color:var(--accent); font-size:1.05rem; padding:16px 28px;}
.broc .btn:hover{transform:translateY(-2px); box-shadow:0 16px 34px -14px rgba(0,0,0,.4);}

/* incluido en todos */
/* Calugas "Incluido en todos los planes" — estilo prototipo precios (index-precios2):
   iconos duotone grandes a color, tarjeta blanca radius 16, hover lift + borde teal.
   Textos ampliados para audiencia 50-60 años (legibilidad en móvil). */
.incl{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.icard{position:relative; overflow:hidden; background:#fff; border:1px solid transparent; border-radius:16px; padding:32px 28px; text-align:center; box-shadow:0 4px 24px rgba(2,6,23,.08); transition:transform .45s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease), opacity .6s ease;}
.icard::before{content:""; position:absolute; top:0; left:22%; right:22%; height:3px; border-radius:0 0 6px 6px; background:linear-gradient(90deg,var(--accent),var(--accent-3)); opacity:0; transition:.35s var(--ease);}
.icard.pre{opacity:0; transform:translateY(24px);}
.icard.in{opacity:1; transform:translateY(0);}
.icard:hover{transform:translateY(-4px); box-shadow:0 12px 40px rgba(2,6,23,.12); border-color:var(--accent);}
.icard:hover::before{opacity:1; left:0; right:0;}
.icard .benef-icon{font-size:52px; line-height:1; margin-bottom:20px; display:inline-block; --fa-secondary-opacity:.35; transition:transform .35s var(--ease);}
.icard:hover .benef-icon{transform:scale(1.12) rotate(-4deg);}
.icard .benef-icon.ic-teal{--fa-primary-color:var(--accent); --fa-secondary-color:#0ea5e9;}
.icard .benef-icon.ic-green{--fa-primary-color:#059669; --fa-secondary-color:#34d399;}
.icard .benef-icon.ic-gold{--fa-primary-color:#d97706; --fa-secondary-color:#fbbf24;}
.icard .benef-icon.ic-blue{--fa-primary-color:#1d4ed8; --fa-secondary-color:#60a5fa;}
.icard h4{font-size:1.25rem; font-weight:700; line-height:1.3;}
.icard p{font-size:1.05rem; color:var(--muted); line-height:1.6; margin-top:8px;}
@media (prefers-reduced-motion:reduce){
  .icard.pre{opacity:1; transform:none;}
  .icard, .icard .benef-icon{transition:none;}
}

/* portal de clientes (Mi Portal) */
/* Sección "Con tu portal online podrás ver" — equivalente moderno de la sección
   "CON NUESTRO SISTEMA ONLINE PODRAS VER" del sitio prod, basada en las secciones
   REALES de mi.prorenta.cl (levantadas el 11-07-2026): dashboard, indicadores
   de ingresos, cashflow, liquidaciones, facturas, propiedades/contratos, servicios,
   mapa, calculadoras y atajos. Twist propio: píldora monoespaciada con la ruta del
   módulo (eco del .pcmd del calendario) que se enciende teal en hover. */
.mp-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.mpcard{position:relative; overflow:hidden; display:flex; flex-direction:column; background:#fff; border:1px solid transparent; border-radius:16px; padding:30px 28px 24px; box-shadow:0 4px 24px rgba(2,6,23,.08); transition:transform .45s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease), opacity .6s ease;}
.mpcard::before{content:""; position:absolute; top:0; left:22%; right:22%; height:3px; border-radius:0 0 6px 6px; background:linear-gradient(90deg,var(--accent),var(--accent-3)); opacity:0; transition:.35s var(--ease);}
.mpcard.pre{opacity:0; transform:translateY(24px);}
.mpcard.in{opacity:1; transform:translateY(0);}
.mpcard:hover{transform:translateY(-4px); box-shadow:0 12px 40px rgba(2,6,23,.12); border-color:var(--accent);}
.mpcard:hover::before{opacity:1; left:0; right:0;}
.mpcard .mp-icon{font-size:52px; line-height:1; margin-bottom:18px; display:inline-block; align-self:flex-start; --fa-secondary-opacity:.35; transition:transform .35s var(--ease);}
.mpcard:hover .mp-icon{transform:scale(1.12) rotate(-4deg);}
.mpcard .mp-icon.ic-teal{--fa-primary-color:var(--accent); --fa-secondary-color:#0ea5e9;}
.mpcard .mp-icon.ic-green{--fa-primary-color:#059669; --fa-secondary-color:#34d399;}
.mpcard .mp-icon.ic-gold{--fa-primary-color:#d97706; --fa-secondary-color:#fbbf24;}
.mpcard .mp-icon.ic-blue{--fa-primary-color:#1d4ed8; --fa-secondary-color:#60a5fa;}
.mpcard h4{font-size:1.25rem; font-weight:700; line-height:1.3;}
.mpcard p{font-size:1.02rem; color:var(--muted); line-height:1.6; margin-top:8px; flex:1;}
.mp-route{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; font-weight:600; color:var(--soft); background:#f4f7f9; border:1px solid var(--line); border-radius:999px; padding:5px 12px; display:inline-block; align-self:flex-start; margin-top:16px; letter-spacing:.3px; transition:.25s var(--ease);}
.mpcard:hover .mp-route{color:var(--accent); border-color:var(--accent-3); background:#e6f4f9;}
.mp-cta{text-align:center; margin-top:36px;}
.mp-cta .mp-note{display:block; color:var(--soft); font-size:.92rem; margin-top:12px;}
@media (max-width:960px){.mp-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.mp-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){
  .mpcard.pre{opacity:1; transform:none;}
  .mpcard, .mpcard .mp-icon{transition:none;}
}

/* simulador KPIs del portal (estilo "Ficha de propiedad en vivo" · Módulo 01 showcase-modulos) */
/* Reutiliza .cal-grid2 / .cal-txt / .portal-stage / .portal del calendario de cobros.
   KPIs basados en el dashboard REAL de miportal: propiedades/ocupación, ICP
   (cumplimiento de pago con semáforo), renta del mes y vacancia hist/24m/12m. */
.kpi-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;}
.kchip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; font-weight:600; color:var(--muted); border:1px solid var(--line); background:#fff; padding:6px 11px; border-radius:8px; display:inline-flex; gap:7px; align-items:center;}
.kchip .d{width:7px; height:7px; border-radius:50%;} .kchip .d.ok{background:var(--ok);} .kchip .d.ac{background:var(--accent);}
.kpi-tiles{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.ktile{border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:#fff;}
.ktile .kk{font-size:.66rem; color:var(--soft); font-weight:800; text-transform:uppercase; letter-spacing:.5px; display:flex; justify-content:space-between; align-items:center;}
.ktile .kk .live{width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 0 rgba(15,157,107,.5); animation:kpulse 2.4s infinite;}
@keyframes kpulse{70%{box-shadow:0 0 0 8px rgba(15,157,107,0);}100%{box-shadow:0 0 0 0 rgba(15,157,107,0);}}
.ktile .kv{font-size:1.7rem; font-weight:900; letter-spacing:-.04em; margin-top:4px; font-variant-numeric:tabular-nums; line-height:1.1;}
.ktile .kv small{font-size:.92rem; font-weight:800; color:var(--soft); margin-left:2px;}
.ktile .ks{font-size:.73rem; color:var(--muted); margin-top:3px; font-weight:600;}
.kmeter{height:7px; border-radius:999px; background:#eef1f3; overflow:hidden; margin-top:10px;}
.kmeter>span{display:block; height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--accent-3)); transition:width 1.6s var(--ease);}
.kmeter>span.ok{background:linear-gradient(90deg,#0f9d6b,#34d399);}
.kseg{display:flex; height:7px; border-radius:999px; overflow:hidden; margin-top:10px; background:#eef1f3;}
.kseg span{display:block; height:100%; width:0; transition:width 1.6s var(--ease);}
.kseg .sg-g{background:#0f9d6b;} .kseg .sg-y{background:#f0b429;} .kseg .sg-r{background:var(--alert);}
.kbars{margin-top:10px;}
.kb{display:grid; grid-template-columns:34px 1fr 38px; align-items:center; gap:8px; margin-top:7px; font-size:.64rem; color:var(--soft); font-weight:700;}
.kb i{height:6px; background:#eef1f3; border-radius:999px; overflow:hidden; display:block;}
.kb b{display:block; height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--accent-3)); transition:width 1.4s var(--ease);}
.kb b.ok{background:linear-gradient(90deg,#0f9d6b,#34d399);}
.kb em{font-style:normal; text-align:right; font-variant-numeric:tabular-nums; color:var(--muted);}
.kpi-panel.go .kmeter>span, .kpi-panel.go .kseg span, .kpi-panel.go .kb b{width:var(--w);}
.kpi-fp{position:absolute; z-index:10; top:-18px; left:30%; transform:translateX(-50%); border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(18px); box-shadow:0 20px 50px -18px rgba(3,64,90,.4); padding:12px 14px; min-width:250px;}
.kpi-fp .fl{color:var(--soft); font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; margin-bottom:6px;}
.kpi-fp .fr{display:flex; align-items:center; gap:8px; font-size:.76rem; font-weight:700;}
.kpi-fp .fi{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; font-size:.72rem; flex-shrink:0;}
.kpi-fp .fi.ok{background:#e4f7ef; color:var(--ok);}
.kpi-fp .fi.ac{background:#e6f4f9; color:var(--accent);}
.kpi-fp.tick{animation:kfp .45s var(--ease);}
@keyframes kfp{0%{transform:translateX(-50%) translateY(7px); opacity:.35;}100%{transform:translateX(-50%) translateY(0); opacity:1;}}
@media(max-width:820px){.kpi-fp{position:static; margin:14px auto 0; width:max-content; max-width:100%; transform:none;} .kpi-fp.tick{animation:none;}}
@media(max-width:480px){.kpi-tiles{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){
  .kmeter>span, .kseg span, .kb b{transition:none;}
  .kk .live, .kpi-fp.tick{animation:none;}
}

/* equipo interno */
/* Sección "Equipo interno" — estilo prototipo precios (index-precios2):
   badge dorado, barra de precio teal, flujo de 6 pasos con iconos duotone + flechas,
   4 tarjetas de diferenciación con icono y checklist. Textos ampliados (50-60 años). */
.badge-col{display:inline-block; background:linear-gradient(135deg,#d97706,#f59e0b); color:#fff; padding:9px 26px; border-radius:50px; font-size:.95rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase; margin-bottom:18px;}
.badge-col i, .badge-col svg{margin-right:8px;}
.precio-bar{display:flex; align-items:center; justify-content:center; gap:32px; background:linear-gradient(135deg,var(--accent) 0%,var(--deep) 100%); border-radius:16px; padding:30px 36px; margin-bottom:48px; color:#fff; flex-wrap:wrap; position:relative; overflow:hidden;}
.precio-bar::after{content:""; position:absolute; top:0; bottom:0; left:-60%; width:40%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.15),transparent); transform:skewX(-18deg); animation:pbSheen 6s ease-in-out infinite; pointer-events:none;}
@keyframes pbSheen{0%,55%{left:-60%;} 90%,100%{left:130%;}}
.precio-bar .cpb-valor{font-size:3rem; font-weight:800; line-height:1;}
.precio-bar .cpb-detalle{font-size:1.13rem; opacity:.92; line-height:1.5;}
.precio-bar .cpb-sep{width:1px; height:48px; background:rgba(255,255,255,.25);}
.precio-bar .cpb-min{display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.15); padding:12px 22px; border-radius:50px; font-size:1.02rem; font-weight:600;}
/* Timeline animada: línea que se dibuja + pasos que se encienden en secuencia (10-07-2026) */
.cflow{display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-bottom:48px; position:relative;}
.cflow::before{content:""; position:absolute; top:17px; left:8.33%; right:8.33%; height:3px; background:var(--line); border-radius:3px;}
.cflow .cfill{position:absolute; top:17px; left:8.33%; width:83.34%; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--accent),var(--accent-3)); transform:scaleX(0); transform-origin:left; transition:transform 1.7s var(--ease);}
.cflow.go .cfill{transform:scaleX(1);}
.flow-step{text-align:center; position:relative; z-index:1;}
.flow-step .flow-num{display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#c9d6df; color:#fff; font-size:.95rem; font-weight:700; margin-bottom:10px; box-shadow:0 0 0 5px var(--paper); transition:.4s var(--ease);}
.bg-soft .flow-step .flow-num{box-shadow:0 0 0 5px #f6fafb;}
.flow-step.lit .flow-num{background:var(--accent); box-shadow:0 0 0 5px #f6fafb, 0 6px 16px -4px rgba(3,119,159,.55); transform:scale(1.12);}
.cflow.prep .flow-step .flow-icon, .cflow.prep .flow-step h4, .cflow.prep .flow-step p{opacity:.22; filter:grayscale(.9); transform:translateY(8px); transition:.5s var(--ease);}
.cflow.prep .flow-step.lit .flow-icon, .cflow.prep .flow-step.lit h4, .cflow.prep .flow-step.lit p{opacity:1; filter:none; transform:translateY(0);}
.flow-step .flow-icon{font-size:38px; margin-bottom:12px; display:block; --fa-secondary-opacity:.35;}
.flow-step .flow-icon.ic-teal{--fa-primary-color:var(--accent); --fa-secondary-color:#0ea5e9;}
.flow-step .flow-icon.ic-gold{--fa-primary-color:#d97706; --fa-secondary-color:#fbbf24;}
.flow-step .flow-icon.ic-green{--fa-primary-color:#059669; --fa-secondary-color:#34d399;}
.flow-step .flow-icon.ic-blue{--fa-primary-color:#1d4ed8; --fa-secondary-color:#60a5fa;}
.flow-step h4{font-size:1.13rem; font-weight:700; line-height:1.3; margin:0 0 6px;}
.flow-step p{font-size:.98rem; color:var(--muted); line-height:1.55; margin:0;}
/* (chevrons ::after retirados 10-07-2026: la timeline con línea de progreso los reemplaza) */
.cdiff{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.col-diff-card{background:#f8fafc; border-radius:16px; padding:34px 30px; border:1px solid var(--line); transition:.3s var(--ease);}
.col-diff-card:hover{box-shadow:0 12px 40px rgba(2,6,23,.12); border-color:var(--accent);}
.col-diff-card .cdc-header{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.col-diff-card .cdc-icon{font-size:34px; --fa-secondary-opacity:.35; padding:13px; border-radius:14px; box-sizing:content-box; background:#f2fafc;}
.col-diff-card .cdc-icon.ic-teal{background:rgba(3,119,159,.09);}
.col-diff-card .cdc-icon.ic-green{background:rgba(5,150,105,.09);}
.col-diff-card .cdc-icon.ic-gold{background:rgba(217,119,6,.10);}
.col-diff-card .cdc-icon.ic-blue{background:rgba(29,78,216,.08);}
.col-diff-card .cdc-icon.ic-teal{--fa-primary-color:var(--accent); --fa-secondary-color:#0ea5e9;}
.col-diff-card .cdc-icon.ic-gold{--fa-primary-color:#d97706; --fa-secondary-color:#fbbf24;}
.col-diff-card .cdc-icon.ic-green{--fa-primary-color:#059669; --fa-secondary-color:#34d399;}
.col-diff-card .cdc-icon.ic-blue{--fa-primary-color:#1d4ed8; --fa-secondary-color:#60a5fa;}
.col-diff-card h4{font-size:1.32rem; font-weight:700; line-height:1.3; margin:0;}
.col-diff-card>p{font-size:1.05rem; color:var(--muted); line-height:1.6; margin:0 0 14px;}
.col-diff-card ul{list-style:none; padding:0; margin:0;}
.col-diff-card ul li{display:flex; align-items:flex-start; gap:10px; padding:8px 0; font-size:1.05rem; color:var(--ink); line-height:1.55;}
.col-diff-card ul li i, .col-diff-card ul li svg{color:#00c220; font-size:1rem; margin-top:5px; flex-shrink:0;}

/* personas + IA */
/* Sección "Personas Reales + IA" — estilo prototipo precios (index-precios2):
   fondo gradiente celeste→verde suave, badge teal, 4 columnas verticales,
   iconos duotone 48px a color, checks verdes. Textos ampliados (50-60 años). */
.hia-sec{position:relative; overflow:hidden; background:linear-gradient(180deg,#f6fafb 0%,#e7f3f8 100%); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.hia-sec::before{content:""; position:absolute; top:-220px; left:-160px; width:520px; height:520px; background:radial-gradient(circle,rgba(3,119,159,.06) 0%,transparent 70%); border-radius:50%;}
.hia-sec::after{content:""; position:absolute; bottom:-220px; right:-160px; width:520px; height:520px; background:radial-gradient(circle,rgba(95,208,239,.10) 0%,transparent 70%); border-radius:50%;}
.hia-sec .wrap{position:relative; z-index:1;}
.badge-hia{display:inline-block; background:var(--accent); color:#fff; padding:9px 26px; border-radius:50px; font-size:.95rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase; margin-bottom:18px;}
.pia{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.pia-card{background:#fff; border-radius:16px; padding:36px 28px; box-shadow:0 4px 24px rgba(2,6,23,.08); border:1px solid transparent; transition:.3s var(--ease); display:flex; flex-direction:column;}
.pia-card .pia-more{margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:10px; background:#fff; color:var(--accent); border:1.5px solid var(--accent); padding:11px 20px; border-radius:12px; font-size:.92rem; font-weight:800; white-space:nowrap; transition:.2s var(--ease);}
.pia-card .pia-more:hover{background:var(--accent); color:#fff; box-shadow:0 12px 26px -12px rgba(3,119,159,.55);}
.pia-card .pia-more .fa-duotone{--fa-primary-color:currentColor; --fa-secondary-color:currentColor; --fa-secondary-opacity:.5; transition:transform .2s var(--ease);}
.pia-card .pia-more:hover .fa-duotone{transform:translateX(3px);}
.pia-card>p{margin-bottom:18px;}
.pia-card:hover{transform:translateY(-4px); box-shadow:0 12px 40px rgba(2,6,23,.12); border-color:var(--accent);}
.pia-card .hia-icon{font-size:48px; margin-bottom:18px; display:inline-block; --fa-secondary-opacity:.35;}
.pia-card .hia-icon.ic-teal{--fa-primary-color:var(--accent); --fa-secondary-color:#0ea5e9;}
.pia-card .hia-icon.ic-green{--fa-primary-color:#059669; --fa-secondary-color:#34d399;}
.pia-card .hia-icon.ic-gold{--fa-primary-color:#d97706; --fa-secondary-color:#fbbf24;}
.pia-card .hia-icon.ic-blue{--fa-primary-color:#1d4ed8; --fa-secondary-color:#60a5fa;}
.pia-card h4{font-size:1.28rem; font-weight:700; line-height:1.3; margin:0 0 12px;}
.pia-card>p{font-size:1.05rem; color:var(--muted); line-height:1.7; margin:0 0 16px;}
.pia-card ul{list-style:none; padding:0; margin:0;}
.pia-card li{display:flex; align-items:flex-start; gap:10px; padding:8px 0; font-size:1.02rem; color:var(--ink); line-height:1.55;}
.pia-card li i, .pia-card li svg{color:#00c220; font-size:.95rem; margin-top:5px; flex-shrink:0;}

/* detalle servicios acordeón */
/* Panel de Transparencia — reemplaza el acordeón de servicios (10-07-2026):
   franja de contadores + rail de categorías + filtro incluido/con costo + filas con badge. */
.transp-strip{display:flex; align-items:center; justify-content:center; gap:44px; flex-wrap:wrap; background:linear-gradient(135deg,var(--accent),var(--deep)); border-radius:18px; padding:30px 36px; margin-bottom:30px; color:#fff; position:relative; overflow:hidden;}
.transp-strip::after{content:""; position:absolute; top:0; bottom:0; left:-60%; width:40%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent); transform:skewX(-18deg); animation:pbSheen 7s ease-in-out infinite;}
.transp-strip .ts-item{text-align:center;}
.transp-strip .ts-num{font-size:2.6rem; font-weight:900; line-height:1; letter-spacing:-.02em;}
.transp-strip .ts-lbl{font-size:.95rem; opacity:.9; margin-top:6px;}
.transp-strip .ts-motto{display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.14); padding:14px 24px; border-radius:999px; font-weight:700; font-size:1.05rem;}
.tpanel{display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start;}
.trail{display:flex; flex-direction:column; gap:8px;}
.trail button{display:flex; align-items:center; gap:12px; width:100%; border:1px solid var(--line); background:#fff; border-radius:14px; padding:15px 18px; font-family:inherit; font-size:1.02rem; font-weight:700; color:var(--muted); cursor:pointer; transition:.25s var(--ease); text-align:left;}
.trail button .tr-n{margin-left:auto; font-size:.8rem; font-weight:700; background:#eef4f8; color:var(--muted); padding:3px 10px; border-radius:999px;}
.trail button:hover{border-color:var(--accent-3); color:var(--accent);}
.trail button.on{background:linear-gradient(135deg,var(--accent),var(--accent-2)); border-color:transparent; color:#fff; box-shadow:0 10px 24px -10px rgba(3,119,159,.55);}
.trail button.on .tr-n{background:rgba(255,255,255,.2); color:#fff;}
.tbar{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px;}
.tbar .tfil{display:inline-flex; background:#e8eff4; border-radius:999px; padding:4px; gap:4px;}
.tbar .tfil button{border:none; cursor:pointer; background:transparent; font-family:inherit; font-weight:700; font-size:.95rem; color:var(--muted); padding:9px 20px; border-radius:999px; transition:.25s var(--ease);}
.tbar .tfil button.on{background:#fff; color:var(--accent); box-shadow:0 3px 10px -3px rgba(2,6,23,.18);}
.tbar .tcount{font-size:.95rem; color:var(--soft);}
.tlist{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.titem{display:flex; align-items:center; justify-content:space-between; gap:14px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 18px; transition:.25s var(--ease);}
.titem:hover{border-color:var(--accent-3); box-shadow:0 8px 20px -10px rgba(2,6,23,.18);}
.titem .tn{display:flex; align-items:flex-start; gap:10px; font-size:1.02rem; color:var(--ink); line-height:1.45;}
.titem .tn i, .titem .tn svg{margin-top:4px; flex-shrink:0; font-size:.95rem;}
.titem.inc .tn i, .titem.inc .tn svg{color:#00c220;}
.titem.cost .tn i, .titem.cost .tn svg{color:#d97706;}
.titem .tb{flex-shrink:0; font-size:.84rem; font-weight:800; padding:6px 12px; border-radius:999px; white-space:nowrap;}
.titem.inc .tb{background:#e4f7ef; color:#0b7a52;}
.titem.cost .tb{background:#fdf2e0; color:#b45309;}
.titem{animation:tIn .38s var(--ease) both;}
@keyframes tIn{from{opacity:0; transform:translateY(10px);}to{opacity:1; transform:translateY(0);}}
.titem[hidden]{display:none;}
@media (prefers-reduced-motion:reduce){ .titem{animation:none;} .transp-strip::after{animation:none;} }

.notes{margin-top:34px; font-size:.86rem; color:var(--soft); line-height:1.8; max-width:900px; margin-inline:auto; text-align:center;}
/* Historias de clientes — cinta continua de testimonios con estrellas (10-07-2026) */
.hist-head{display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:36px; flex-wrap:wrap;}
.hist-head .hh-num{font-size:3.4rem; font-weight:900; color:var(--ink); letter-spacing:-.03em; line-height:1;}
.hist-head .hh-meta{text-align:left;}
.hist-head .stars{color:#f59e0b; font-size:1.15rem; letter-spacing:2px;}
.hist-head .hh-lbl{font-size:.98rem; color:var(--muted); margin-top:4px;}
.marq{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.marq-track{display:flex; gap:20px; width:max-content; animation:marqMove 73s linear infinite;}
.marq:hover .marq-track{animation-play-state:paused;}
@keyframes marqMove{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.hcard{width:390px; flex-shrink:0; background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 26px 22px; box-shadow:0 4px 24px rgba(2,6,23,.06); position:relative; display:flex; flex-direction:column; gap:12px;}
.hcard::before{content:"\201C"; position:absolute; top:2px; right:18px; font-size:4.6rem; font-weight:900; color:rgba(3,119,159,.08); line-height:1; font-family:Georgia,serif;}
.hcard .stars{color:#f59e0b; font-size:1rem; letter-spacing:2px;}
.hcard .hq{font-size:1.05rem; color:var(--ink); line-height:1.6;}
.hcard .hw{display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line);}
.hcard .hav{width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; display:grid; place-items:center; font-weight:800; font-size:.9rem; flex-shrink:0;}
.hcard .hn{font-weight:700; font-size:.98rem;}
.hcard .hd{font-size:.86rem; color:var(--soft);}
.hcard .htag{margin-left:auto; font-size:.76rem; font-weight:800; color:var(--accent); background:#f2fafc; padding:5px 12px; border-radius:999px; white-space:nowrap;}
.hcard[hidden]{display:none;}
@media (prefers-reduced-motion:reduce){ .marq-track{animation:none;} .marq{overflow-x:auto; mask-image:none; -webkit-mask-image:none;} }

/* CTA final */
.cta-final{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; border-radius:24px; padding:56px; text-align:center;}
.cta-final h2{font-size:clamp(1.7rem,3.5vw,2.5rem); font-weight:900; letter-spacing:-.03em;}
.cta-final p{opacity:.92; margin:12px 0 28px; font-size:1.12rem;}
.cta-final .btn{background:#fff; color:var(--accent);}

/* ============================================================
   FOOTER — NF3 base + ajustes NF1 (línea teal, contacto, línea legal)
   ============================================================ */
.ft{background:#fff; padding:52px 0 26px; border-top:3px solid var(--accent);}
.ft .grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:36px; align-items:start;}
.ft .ctabox{background:linear-gradient(135deg,#f2fafc,#e6f4f9); border:1px solid #d6eef5; border-radius:16px; padding:26px;}
.ft .ctabox h3{font-size:1.2rem; font-weight:800; letter-spacing:-.02em;}
.ft .ctabox p{font-size:.9rem; color:var(--muted); margin:8px 0 18px;}
.ft .ctabox .btn{padding:12px 22px; font-size:.92rem;}
.ft h6{color:var(--ink); font-size:.72rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:15px; font-weight:800;}
.ft .lk a{display:block; margin-bottom:11px; font-size:.94rem; color:var(--muted);}
.ft .lk a:hover{color:var(--accent);}
.ft .contact-item{display:flex; gap:11px; align-items:center; margin-bottom:12px; font-size:.94rem; color:var(--muted);}
.ft .contact-item a{color:var(--muted); font-weight:600;}
.ft .contact-item a:hover{color:var(--accent);}
.ft .contact-item .ic{width:34px; height:34px; border-radius:9px; background:#f2fafc; color:var(--accent); display:grid; place-items:center; flex-shrink:0; font-size:.9rem;}
.ft .social{display:flex; gap:9px; margin-top:16px;}
.ft .social a{width:36px; height:36px; border-radius:9px; display:grid; place-items:center; font-size:.82rem; background:#f2f6f8; color:var(--ink); font-weight:700; transition:.2s;}
.ft .social a:hover{background:var(--accent); color:#fff;}
.ft .social a.yt:hover{background:#ff0000; color:#fff;}
.ft .midrow{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; border-top:1px solid var(--line); margin-top:34px; padding-top:22px;}
.ft .midrow .brand{display:flex; align-items:center; gap:14px;}
.ft .midrow img.logo{height:26px;}
.ft .midrow .copy{font-size:.86rem; color:var(--soft);}
/* fila final fusionada: logo + copyright + términos */
.ft .legalbar{border-top:1px solid var(--line); margin-top:34px; padding-top:22px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.ft .legalbar .brand{display:flex; align-items:center; gap:14px;}
.ft .legalbar img.logo{height:34px;}
.ft .legalbar span, .ft .legalbar a{font-size:.84rem; color:var(--soft);}
.ft .legalbar a:hover{color:var(--accent);}
.ft .build-marker{margin-top:14px; font-size:.66rem; color:#aeb9be; letter-spacing:.02em; text-align:right;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:940px){
  .hero .grid{grid-template-columns:1fr; gap:44px;}
  .hero .stage{max-width:520px;}
  .svc4{grid-template-columns:1fr 1fr;}
  .tasas-lab{grid-template-columns:1fr;}
  .pr-2col{grid-template-columns:1fr;}
  .incl{grid-template-columns:1fr 1fr;}
  .cflow{grid-template-columns:repeat(3,1fr); gap:20px;}
  .cflow::before, .cflow .cfill{display:none;}
  .cflow.prep .flow-step .flow-icon, .cflow.prep .flow-step h4, .cflow.prep .flow-step p{opacity:1; filter:none; transform:none;}
  .flow-step .flow-num{background:var(--accent);}
  .cdiff{grid-template-columns:1fr;} .pia{grid-template-columns:1fr 1fr;}
  .tpanel{grid-template-columns:1fr;}
  .trail{flex-direction:row; overflow-x:auto; padding-bottom:6px;}
  .trail button{white-space:nowrap; width:auto; flex-shrink:0;}
  .transp-strip{gap:26px; padding:26px 22px;}
  .precio-bar{flex-direction:column; text-align:center; gap:16px;}
  .precio-bar .cpb-sep{width:80px; height:1px;}
  .tlist{grid-template-columns:1fr;}
  .vol{grid-template-columns:1fr;}
  .ft .grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:1120px){
  .pill{gap:14px; padding-left:16px;}
  .pill nav{gap:14px; font-size:.84rem;}
  .pill .pay,.pill .portal{padding-left:10px; padding-right:10px; font-size:.8rem;}
  .pill .cta{padding-left:14px; padding-right:14px; font-size:.84rem;}
}
@media(max-width:1040px){
  .pill nav, .pill .pay, .pill .portal{display:none;}
  .pill{width:100%; justify-content:space-between; border-radius:16px; padding:10px 12px 10px 18px;}
  .burger{display:flex;}
}
@media(max-width:820px){
  .pill nav, .pill .cta, .pill .portal, .pill .pay{display:none;}
  .pill{width:100%; justify-content:space-between; border-radius:16px; padding:10px 12px 10px 18px;}
  .burger{display:flex;}
}
@media(max-width:600px){
  section{padding:52px 0;}
  .svc4{grid-template-columns:1fr;}
  .stair{gap:7px; height:205px; margin-bottom:62px;}
  .step .spct{font-size:.98rem;}
  .step .srng{font-size:.66rem; bottom:-52px;}
  .incl{grid-template-columns:1fr;}
  .cflow{grid-template-columns:1fr 1fr;}
  .pia{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:1fr;}
  .actions{flex-direction:column;} .actions .btn{width:100%;}
  .cta-final{padding:36px 22px;}
  .broc{padding:28px 24px;}
  .ft .grid{grid-template-columns:1fr;}
  .ft .midrow{flex-direction:column; align-items:flex-start;}
}
/* ============================================================
   SECCIONES NUEVAS (brief 2026-07-07): videos, quiénes somos,
   bot 7x24, calendario día 10, iPhone 24/7 — estilo G
   ============================================================ */
/* --- Sección Videos --- */
.videos-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.videos-grid{align-items:stretch;}
.videos-grid .vcard{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:.22s var(--ease); cursor:pointer; text-align:left; padding:0; display:flex; flex-direction:column; height:100%;}
.videos-grid .vcard:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.vthumb{position:relative; aspect-ratio:16/9; overflow:hidden; background:#0a1620;}
.vthumb img{width:100%; height:100%; object-fit:cover; transition:.4s;}
.vcard:hover .vthumb img{transform:scale(1.07);}
.vplay{position:absolute; inset:0; display:grid; place-items:center; background:rgba(10,22,32,.15); transition:.2s;}
.vcard:hover .vplay{background:rgba(10,22,32,.28);}
.vplay span{width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.95); color:var(--accent); display:grid; place-items:center; font-size:1rem; padding-left:3px; box-shadow:0 8px 22px -6px rgba(0,0,0,.5); transition:.2s;}
.vcard:hover .vplay span{transform:scale(1.14); background:var(--accent); color:#fff;}
.vthumb .vdur{position:absolute; bottom:8px; right:8px; z-index:2; background:rgba(10,22,32,.82); color:#fff; font-size:.7rem; font-weight:700; padding:3px 8px; border-radius:7px; display:inline-flex; align-items:center; gap:5px; letter-spacing:.02em; backdrop-filter:blur(2px); pointer-events:none;}
.vthumb .vdur i{font-size:.62rem; opacity:.85;}
.vmeta{padding:11px 13px 13px; flex:1; display:flex; flex-direction:column;}
.vmeta h4{font-size:.86rem; font-weight:700; line-height:1.32; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.64em;}
.vmeta .vtag{font-size:.68rem; color:var(--soft); margin-top:6px; display:flex; align-items:center; gap:6px;}
.vmeta .vtag .fa-brands{color:#ff0000;}
.vmeta .vfoot{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:10px;}
.vmeta .vfoot .vtag{margin-top:0;}
.vshare{border:1px solid var(--line); background:#fff; color:var(--accent); font-size:.68rem; font-weight:800; padding:5px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; transition:.18s; flex-shrink:0;}
.vshare:hover{background:var(--accent); color:#fff; border-color:var(--accent);}
.vshare .fa-duotone{--fa-primary-color:currentColor; --fa-secondary-color:currentColor; --fa-secondary-opacity:.5;}
/* menú compartir (se ancla al body para no ser recortado por la tarjeta) */
.share-menu{position:fixed; z-index:120; min-width:210px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 60px -20px rgba(3,64,90,.5); padding:7px; display:none;}
.share-menu.open{display:block;}
.share-menu a, .share-menu button{width:100%; display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:10px; font-size:.88rem; font-weight:600; color:var(--ink); background:none; border:none; cursor:pointer; text-align:left; font-family:inherit;}
.share-menu a:hover, .share-menu button:hover{background:#f2fafc; color:var(--accent);}
.share-menu i{width:20px; text-align:center;}
.share-menu .fa-brands.fa-whatsapp{color:#1faa5c;}
.share-menu .fa-brands.fa-facebook-f{color:#1877f2;}
.share-menu .fa-brands.fa-x-twitter{color:#0a0e14;}
.share-menu .fa-brands.fa-linkedin-in{color:#0a66c2;}
.share-menu .fa-brands.fa-instagram{color:#e1306c;}
.share-menu .fa-duotone{--fa-primary-color:var(--accent); --fa-secondary-color:var(--accent-3);}
.shtoast{position:fixed; bottom:26px; left:50%; transform:translate(-50%,20px); background:var(--ink); color:#fff; font-size:.86rem; font-weight:700; padding:11px 20px; border-radius:999px; opacity:0; pointer-events:none; transition:.3s var(--ease); z-index:130;}
.shtoast.on{opacity:1; transform:translate(-50%,0);}
@media(max-width:1000px){.videos-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.videos-grid{grid-template-columns:1fr 1fr; gap:12px;}}
@media(max-width:460px){.videos-grid{grid-template-columns:1fr;}}

/* --- Modal lightbox de video --- */
.vmodal{position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(6,14,20,.82); backdrop-filter:blur(8px); animation:vmfade .25s var(--ease);}
.vmodal.open{display:flex;}
@keyframes vmfade{from{opacity:0;}to{opacity:1;}}
.vmodal .vbox{position:relative; width:78%; max-width:1100px; animation:vmpop .3s var(--ease);}
@keyframes vmpop{from{transform:scale(.94); opacity:0;}to{transform:scale(1); opacity:1;}}
.vmodal .vframe{position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; box-shadow:0 40px 100px -20px rgba(0,0,0,.7); background:#000;}
.vmodal .vframe iframe{width:100%; height:100%; border:0; display:block;}
.vmodal .vclose{position:absolute; top:-48px; right:0; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:1.1rem; cursor:pointer; display:grid; place-items:center; transition:.2s;}
.vmodal .vclose:hover{background:rgba(255,255,255,.28); transform:rotate(90deg);}
.vmodal .vtitle{color:#fff; font-size:1rem; font-weight:700; margin-top:16px; text-align:center;}
@media(max-width:820px){.vmodal{padding:0;} .vmodal .vbox{width:100%; height:100%; display:flex; flex-direction:column; justify-content:center;} .vmodal .vframe{border-radius:0;} .vmodal .vclose{top:16px; right:16px; z-index:5; background:rgba(0,0,0,.5);} .vmodal .vtitle{padding:0 16px;}}

/* --- Quiénes Somos (video destacado) --- */
.qs-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center;}
.qs-video{position:relative; border-radius:20px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/9; background:#0a1620; cursor:pointer;}
.qs-video img{width:100%; height:100%; object-fit:cover;}
.qs-video iframe{width:100%; height:100%; border:0; display:block; position:absolute; inset:0;}
.qs-video .vplay{position:absolute; inset:0; display:grid; place-items:center;}
.qs-video .vplay span{width:76px; height:76px; border-radius:50%; background:rgba(3,119,159,.94); color:#fff; display:grid; place-items:center; font-size:1.7rem; padding-left:5px; box-shadow:0 10px 30px -6px rgba(0,0,0,.55); transition:.2s;}
.qs-video:hover .vplay span{transform:scale(1.1);}
.qs-video .vdur{position:absolute; bottom:12px; right:12px; z-index:3; background:rgba(10,22,32,.82); color:#fff; font-size:.8rem; font-weight:700; padding:4px 10px; border-radius:8px; display:inline-flex; align-items:center; gap:6px; backdrop-filter:blur(2px); pointer-events:none;}
.qs-video .vdur i{font-size:.72rem; opacity:.85;}
.qs-video .qs-share{position:absolute; top:12px; right:12px; z-index:4; border:none; background:rgba(255,255,255,.95); color:var(--accent); font-size:.74rem; font-weight:800; padding:7px 12px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; box-shadow:0 6px 16px -6px rgba(0,0,0,.4); transition:.18s; font-family:inherit;}
.qs-video .qs-share:hover{background:var(--accent); color:#fff;}
.qs-txt h2{font-size:clamp(1.8rem,3.6vw,2.5rem); font-weight:900; letter-spacing:-.03em; line-height:1.05;}
.qs-txt p{color:var(--muted); font-size:1.08rem; margin-top:16px;}
.qs-stats{display:flex; gap:30px; margin-top:26px; flex-wrap:wrap;}
.qs-stats .qi{font-size:.9rem; color:var(--muted); display:flex; align-items:center; gap:9px; font-weight:600;}
.qs-stats .qi .fa-duotone{font-size:1.1rem;}
@media(max-width:820px){.qs-grid{grid-template-columns:1fr; gap:30px;}}

/* --- Bot 7x24 "consola que escribe sola" + mascota (estilo panel 3D del hero) --- */
.bot-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center; overflow-anchor:none;}
.bot-grid.rev{grid-template-columns:1.05fr .95fr;}
.bot-txt h2{font-size:clamp(1.8rem,3.6vw,2.5rem); font-weight:900; letter-spacing:-.03em; line-height:1.05;}
.bot-txt p{color:var(--muted); font-size:1.08rem; margin-top:16px;}
.bot-stage{position:relative; min-height:422px; padding:30px 0 20px 0;}
.bot-persp{perspective:1500px;}
/* panel3d idéntico al hero para consistencia entre ventanas */
.botpanel{position:relative; max-width:430px; height:372px; box-sizing:border-box; margin-right:auto; border-radius:20px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); overflow:hidden; transform:rotateY(-9deg) rotateX(5deg); transition:transform .6s var(--ease);}
.bot-persp:hover .botpanel{transform:rotateY(-3deg) rotateX(2deg);}
.botpanel::before{content:""; position:absolute; inset:0; border-radius:20px; padding:1px; background:linear-gradient(135deg,rgba(3,119,159,.55),transparent 35%,rgba(95,208,239,.45) 75%,transparent); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; z-index:5;}
/* pantalla oscura de consola dentro del panel blanco */
.botscreen{position:relative; background:#0a1620; margin:16px; border-radius:12px; padding:0; height:280px; min-height:280px; box-sizing:border-box; overflow:hidden; overflow-anchor:none; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.botscreen .tline{position:absolute; inset:18px; overflow:hidden; color:#8fb9c9; font-size:.84rem; line-height:1.85; white-space:pre-wrap;}
.botscreen .tline .ok{color:#3fd699;} .botscreen .tline .ac{color:var(--accent-3);} .botscreen .tline .pr{color:#5fd0ef;}
.botscreen .cursor{display:inline-block; width:8px; height:14px; background:var(--accent-3); vertical-align:middle; margin-left:2px; animation:blink 1s step-end infinite;}
/* mascota a la DERECHA, sobre el FONDO CLARO de la sección — NO sobre la pantalla oscura */
.bot-mascota{position:absolute; right:-42px; bottom:12px; width:150px; height:auto; z-index:7; filter:drop-shadow(0 16px 22px rgba(3,64,90,.22)); animation:botfloat 3.8s var(--ease) infinite alternate; pointer-events:none;}
@keyframes botfloat{to{transform:translateY(-10px);}}
/* tarjeta flotante "Sistema · Todo operativo" (Módulo 04) — arriba-izquierda para no chocar con la mascota */
.bot-fp{position:absolute; left:-16px; top:8px; z-index:8; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(16px); box-shadow:0 18px 44px -18px rgba(3,64,90,.4); padding:11px 14px;}
.bot-fp .fl{color:var(--soft); font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px;}
.bot-fp .fr{display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700;}
.bot-fp .fi{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; font-size:.7rem; background:#e4f7ef; color:var(--ok);}
@media(max-width:820px){.bot-stage{min-height:406px; padding:24px 66px 10px 0;} .bot-mascota{width:110px; right:-10px;}}
@keyframes blink{50%{opacity:0;}}
@media(max-width:820px){.bot-grid,.bot-grid.rev{grid-template-columns:1fr; gap:34px;} .bot-avatar{top:-22px;}}

/* --- Calendario de cobros: portal 3D estilo Módulo 10 --- */
.cal-txt{max-width:520px; margin:0 0 6px;}
.cal-txt h2{font-size:clamp(1.8rem,3.6vw,2.5rem); font-weight:900; letter-spacing:-.03em; line-height:1.05;}
.cal-txt p{color:var(--muted); font-size:1.08rem; margin-top:16px;}
.cal-grid2{display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center;}
.portal-stage{position:relative; perspective:1500px;}
.portal{position:relative; border-radius:20px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); overflow:hidden; transform:rotateY(9deg) rotateX(5deg) rotateZ(-.4deg); transform-origin:center; transition:transform .6s var(--ease);}
.portal-stage:hover .portal{transform:rotateY(3deg) rotateX(1.5deg);}
.portal::before{content:""; position:absolute; inset:0; border-radius:20px; padding:1px; background:linear-gradient(135deg, rgba(3,119,159,.5), transparent 35%, rgba(95,208,239,.4) 75%, transparent); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; z-index:9;}
.portal .ptop{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line); background:#fafcfd;}
.portal .dots{display:flex; gap:6px;} .portal .dots i{width:9px; height:9px; border-radius:50%; background:#e2e6ea; display:block;}
.portal .pcmd{color:var(--soft); background:#fff; border:1px solid var(--line); padding:5px 11px; border-radius:999px; font-size:.7rem; font-family:ui-monospace,monospace;}
.portal .pbody{padding:18px;}
.cal{padding:2px;}
.cal .chead{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; font-size:.9rem; font-weight:800;}
.cal .chead .cn{color:var(--accent); font-family:ui-monospace,monospace; font-size:.72rem; font-weight:700;}
.cgrid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.cgrid .dn{text-align:center; font-size:.62rem; color:var(--soft); font-weight:800; text-transform:uppercase;}
.cgrid .cd{aspect-ratio:1; border-radius:9px; display:grid; place-items:center; font-size:.8rem; font-weight:600; background:#f7fafb; color:var(--muted); position:relative;}
.cgrid .cd.pay{color:#fff; animation:payPop .5s var(--ease) both;}
.cgrid .cd.pay.cobro{background:linear-gradient(135deg,var(--accent-2),var(--accent-3));}
.cgrid .cd.pay.pago{background:linear-gradient(135deg,var(--accent),var(--deep)); box-shadow:0 8px 20px -6px rgba(3,119,159,.6);}
.cgrid .cd.pay.recordatorio{background:linear-gradient(135deg,#16c98a,var(--ok)); box-shadow:0 6px 16px -8px rgba(15,157,107,.6);}
.cgrid .cd .rbell{position:absolute; top:3px; right:4px; font-size:.66rem; color:#fff; opacity:.95;}
.cgrid .cd.d1{animation-delay:.3s;} .cgrid .cd.d2{animation-delay:.6s;} .cgrid .cd.d3{animation-delay:.9s;} .cgrid .cd.d4{animation-delay:1.2s;} .cgrid .cd.d5{animation-delay:1.5s;} .cgrid .cd.d6{animation-delay:1.8s;} .cgrid .cd.d7{animation-delay:2.1s;} .cgrid .cd.d8{animation-delay:2.4s;}
.cgrid .cd.today{border:2px solid var(--accent); color:var(--accent); background:#fff;}
@keyframes payPop{0%{transform:scale(.4);opacity:0;}60%{transform:scale(1.12);}100%{transform:scale(1);opacity:1;}}
.cal-legend{display:flex; gap:16px; margin-top:24px; flex-wrap:wrap;}
.cal-legend .lg{display:flex; align-items:center; gap:7px; font-size:.8rem; color:var(--muted); font-weight:600;}
.cal-legend .lg .sw{width:13px; height:13px; border-radius:4px;}
.portal .fp{position:absolute; z-index:10; left:-22px; bottom:-16px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(18px); box-shadow:0 20px 50px -18px rgba(3,64,90,.4); padding:12px 14px;}
.portal .fp .fl{color:var(--soft); font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.4px; margin-bottom:6px;}
.portal .fp .fr{display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700;}
.portal .fp .fi{width:22px; height:22px; border-radius:7px; display:grid; place-items:center; font-size:.7rem; background:#e6f4f9; color:var(--accent);}
/* Popup "Próximo · Día 10": misma altura, centrado horizontalmente sobre el calendario (sin tapar el texto de la cabecera) */
.fp.fp-cal{top:-22px; left:35%; right:auto; bottom:auto; transform:translateX(-50%); z-index:10;}
@media(max-width:820px){.fp.fp-cal{top:-16px; left:35%; right:auto; transform:translateX(-50%);}}
@media(max-width:820px){.cal-grid2{grid-template-columns:1fr; gap:40px;} .portal{transform:none;} .cal-txt{max-width:none; text-align:center; margin:0 auto 6px;}}

/* --- iPhone device mockup (estilo Novedad 04: notif viva) --- */
.iph-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.iph-txt h2{font-size:clamp(1.8rem,3.6vw,2.5rem); font-weight:900; letter-spacing:-.03em; line-height:1.05;}
.iph-txt p{color:var(--muted); font-size:1.08rem; margin-top:16px;}
.iph-feats{display:flex; flex-direction:column; gap:14px; margin-top:24px;}
.iph-feats .if{display:flex; gap:13px; align-items:flex-start; font-size:.98rem; color:var(--muted);}
.iph-feats .if .fa-duotone{color:var(--accent); font-size:1.15rem; margin-top:2px;}
.iph-feats .if b{color:var(--ink); font-weight:700;}
.iph-stage{display:grid; place-items:center; padding:10px 0;}
.iphone{width:262px; height:534px; border-radius:44px; background:#0a0e14; padding:12px; box-shadow:var(--shadow); position:relative; border:1px solid #1d2733;}
.iphone .notch{position:absolute; top:12px; left:50%; transform:translateX(-50%); width:112px; height:26px; background:#0a0e14; border-radius:0 0 16px 16px; z-index:5;}
.iphone .scr{width:100%; height:100%; border-radius:33px; background:linear-gradient(180deg,#f2fafc,#fff); overflow:hidden; position:relative;}
.iphone .sbar{display:flex; justify-content:space-between; padding:16px 22px 8px; font-size:.66rem; font-weight:700; color:var(--ink);}
.iphone .app-h{padding:8px 18px 12px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line);}
.iphone .app-h img{height:18px;}
.iphone .app-h .mc{font-size:.72rem; color:var(--soft); font-weight:700; margin-left:auto;}
.iphone .app-b{padding:14px;}
.iphone .pcard{border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-bottom:12px;}
.iphone .pcard img{width:100%; height:96px; object-fit:cover; display:block;}
.iphone .pcard .pc-b{padding:10px 12px;}
.iphone .pcard .pc-b .t{font-size:.78rem; font-weight:700;}
.iphone .pcard .pc-b .s{font-size:.66rem; color:var(--soft); display:flex; justify-content:space-between; margin-top:3px;}
.iphone .prow{display:flex; align-items:center; gap:9px; padding:9px 11px; border:1px solid var(--line); border-radius:12px; margin-bottom:8px;}
.iphone .prow .pi{width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font-size:.68rem; background:#e4f7ef; color:var(--ok); flex-shrink:0;}
.iphone .prow .pi.ac{background:#e6f4f9; color:var(--accent);}
.iphone .prow .pt{font-size:.72rem; font-weight:600;} .iphone .prow .pt span{display:block; color:var(--soft); font-size:.62rem; font-weight:500;}
.iph-notif{position:absolute; top:70px; left:14px; right:14px; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); border:1px solid var(--line); border-radius:16px; padding:11px 13px; display:flex; gap:10px; align-items:center; box-shadow:0 16px 40px -14px rgba(3,64,90,.4); z-index:6; animation:notif 5s ease-in-out infinite;}
@keyframes notif{0%,100%{opacity:0; transform:translateY(-16px);}10%,40%{opacity:1; transform:translateY(0);}50%{opacity:0; transform:translateY(-16px);}}
.iph-notif .ni{width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; display:grid; place-items:center; font-size:.8rem; flex-shrink:0;}
.iph-notif .nt{font-size:.72rem; font-weight:700;} .iph-notif .nt span{display:block; color:var(--soft); font-size:.62rem; font-weight:500;}
@media(max-width:820px){.iph-grid{grid-template-columns:1fr; gap:36px;} .iph-stage{order:-1;}}

img,picture,video,svg{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;-webkit-touch-callout:none}
img{-webkit-user-select:none;-ms-user-select:none;user-select:none}
.wa-fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.22);z-index:900;transition:transform .25s ease,box-shadow .25s ease;animation:wa-pulse 2.8s ease-out infinite;-webkit-tap-highlight-color:transparent;}
.wa-fab:hover{transform:scale(1.08);box-shadow:0 10px 28px rgba(3,119,159,.45),0 0 0 6px rgba(3,119,159,.16);}
.wa-fab svg{width:34px;height:34px;display:block;}
@keyframes wa-pulse{0%{box-shadow:0 6px 20px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 6px 20px rgba(0,0,0,.22),0 0 0 16px rgba(37,211,102,0);}100%{box-shadow:0 6px 20px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,0);}}
@media(max-width:820px){.wa-fab{width:56px;height:56px;bottom:18px;right:18px;}.wa-fab svg{width:31px;height:31px;}}
@media (prefers-reduced-motion:reduce){.wa-fab{animation:none;}}
.copyable{cursor:pointer;}
.ft .contact-item .ic.copyable{transition:background .2s,color .2s,transform .2s;}
.ft .contact-item .ic.copyable:hover{background:var(--accent);color:#fff;transform:translateY(-1px);}
.copy-inline{margin-left:7px;opacity:.4;cursor:pointer;transition:opacity .2s,transform .2s,color .2s;font-size:.85em;}
.cbtn:hover .copy-inline{opacity:.75;}
.copy-inline:hover{opacity:1;transform:scale(1.18);}
.copyable.copied,.copy-inline.copied{color:#25D366 !important;opacity:1 !important;}
.copy-toast{position:fixed;transform:translate(-50%,-100%) translateY(6px);background:#0f2b36;color:#fff;font-size:.78rem;font-weight:700;padding:5px 11px;border-radius:8px;white-space:nowrap;pointer-events:none;z-index:1200;opacity:0;transition:opacity .18s,transform .18s;box-shadow:0 6px 18px rgba(0,0,0,.28);}
.copy-toast.show{opacity:1;transform:translate(-50%,-100%) translateY(0);}
