: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; --wsp:#1faa5c;
  --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);}
section{padding:70px 0;}
.sec-head{text-align:center; max-width:720px; 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;}
.fad, .fa-duotone{--fa-primary-color:var(--accent); --fa-secondary-color:var(--accent-3); --fa-secondary-opacity:.38;}

/* ===== Header pill (H2, igual al home) ===== */
.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 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 .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;}
.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 .cta{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; padding:9px 18px; border-radius:50px; font-size:.9rem; font-weight:700;}
.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 contacto ===== */
.chero{padding:54px 0 66px;}
.chero .grid{display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center;}
.chero h1{font-size:clamp(2.1rem,4.8vw,3.3rem); font-weight:900; letter-spacing:-.045em; line-height:1.02; 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;}
.chero .lead{color:var(--muted); font-size:1.12rem; margin-top:18px; max-width:520px;}
.hpills{display:flex; gap:9px; flex-wrap:wrap; margin-bottom:20px;}
.hpill{font-family:ui-monospace,monospace; font-size:.74rem; font-weight:600; color:var(--muted); border:1px solid var(--line); background:#fafcfd; padding:6px 12px; border-radius:8px; display:inline-flex; gap:7px; align-items:center;}
.hpill .d{width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 3px rgba(15,157,107,.15);}
.hpill.pulse .d{animation:pul 1.8s infinite;}
@keyframes pul{0%,100%{box-shadow:0 0 0 0 rgba(15,157,107,.35);}55%{box-shadow:0 0 0 6px rgba(15,157,107,0);}}
.chero .actions{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}
.btn.wsp{background:var(--wsp); color:#fff;}
.btn.wsp:hover{box-shadow:0 14px 30px -12px rgba(31,170,92,.55); transform:translateY(-2px);}

/* --- collage humano --- */
.tstage{position:relative;}
.tcard{position:relative; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); padding:26px; overflow:hidden;}
.tcard::before{content:""; position:absolute; inset:0; border-radius:22px; padding:1px; background:linear-gradient(135deg,rgba(3,119,159,.5),transparent 40%,rgba(95,208,239,.4) 80%,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;}
.tgrid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.tcard .tsolo{border-radius:14px; overflow:hidden; background:linear-gradient(180deg,#ffffff,#eef6fa);}
.tcard .tsolo img{width:100%; display:block;}
.tp{position:relative; border-radius:16px; overflow:hidden; background:#eef4f7;}
.tp img{width:100%; height:170px; object-fit:cover; filter:saturate(.96);}
.tp .nm{position:absolute; left:0; right:0; bottom:0; padding:26px 12px 9px; background:linear-gradient(transparent,rgba(4,26,36,.82)); color:#fff; font-size:.78rem; font-weight:700; line-height:1.25;}
.tp .nm small{display:block; font-weight:500; opacity:.82; font-size:.68rem;}
.tp .st{position:absolute; top:10px; right:10px; width:12px; height:12px; border-radius:50%; background:var(--ok); border:2.5px solid #fff;}
.tfoot{display:flex; align-items:center; gap:11px; margin-top:16px; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-size:.88rem; font-weight:600;}
.tfoot .ic{width:38px; height:38px; border-radius:11px; background:#f2fafc; color:var(--accent); display:grid; place-items:center; flex-shrink:0; font-size:1.05rem;}
.floatb{position:absolute; top:-16px; right:-10px; z-index:4; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 44px -18px rgba(3,64,90,.45); padding:11px 16px; display:flex; gap:10px; align-items:center; font-size:.82rem; font-weight:700;}
.floatb .d{width:9px; height:9px; border-radius:50%; background:var(--ok); animation:pul 1.8s infinite;}
.floatb.closed .d{background:var(--warn); animation:none;}
.demo-note{margin-top:10px; text-align:right; font-size:.68rem; color:var(--soft); font-family:ui-monospace,monospace;}

/* ===== Canales ===== */
.chan-grid{display:grid; grid-template-columns:1fr 1fr 1.08fr; gap:22px;}
.channel-guide{margin:0 auto 28px; max-width:980px; padding:18px 20px; border:1px solid #d7e8ed; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(24,74,88,.05);}
.channel-guide h3{margin:0 0 7px; color:var(--ink); font-size:1rem;}
.channel-guide > p{margin:0 0 14px; color:var(--muted); font-size:.92rem;}
.guide-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.guide-item{display:flex; flex-direction:column; align-items:flex-start; min-height:0; padding:13px 14px; border-radius:11px; background:#f5fbfd; color:var(--muted); font-size:.92rem; line-height:1.4;}
.guide-item .guide-icon{width:25px; height:25px; display:inline-grid; place-items:center; margin:0 7px 0 0; border-radius:7px; background:#e5f5fa; color:var(--accent); font-size:.82rem; vertical-align:middle;}
.guide-item b{display:flex; align-items:center; margin-bottom:5px; color:var(--ink); font-size:.96rem;}
.guide-item .guide-main{display:block; color:var(--muted);}
.guide-item span:not(.guide-icon){display:block; margin-top:4px; color:var(--soft); font-size:.84rem; line-height:1.4;}
.chan{position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px 26px 26px; transition:.28s var(--ease); overflow:hidden; display:flex; flex-direction:column;}
.chan::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--cc),transparent 85%); opacity:0; transition:.28s;}
.chan:hover{transform:translateY(-6px); border-color:var(--cc); box-shadow:0 26px 60px -28px rgba(3,64,90,.35);}
.chan:hover::before{opacity:1;}
.chan.c-tel{--cc:var(--accent);}
.chan.c-wsp{--cc:var(--wsp);}
.chan.c-mail{--cc:var(--warn);}
.chan .cic{font-size:52px; margin-bottom:16px;}
.chan.c-tel .cic{--fa-primary-color:var(--accent); --fa-secondary-color:var(--accent-3);}
.chan.c-wsp .cic{color:var(--wsp);}
.chan.c-mail .cic{--fa-primary-color:var(--warn); --fa-secondary-color:#f3cf8a;}
.chan h3{font-size:1.35rem; font-weight:800; letter-spacing:-.02em;}
.chan .promise{margin:14px 0 4px;}
.chan .promise .pre{display:block; font-size:.92rem; font-weight:700; color:var(--muted); margin-bottom:3px;}
.chan .promise b{display:block; font-size:1.68rem; font-weight:900; letter-spacing:-.03em; color:var(--cc); line-height:1.12;}
.chan .mlab{font-family:ui-monospace,monospace; font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--soft); margin-bottom:14px;}
.chan p{color:var(--muted); font-size:.98rem; margin-bottom:18px;}
.chan .acts{margin-top:auto; display:flex; flex-direction:column; gap:9px;}
.cbtn{display:flex; align-items:center; min-width:0; gap:10px; border:1.5px solid var(--line); border-radius:12px; padding:12px 15px; font-weight:700; font-size:1rem; transition:.2s; background:#fff;}
.cbtn i{width:20px; text-align:center; color:var(--cc);}
.cbtn:hover{border-color:var(--cc); background:color-mix(in srgb, var(--cc) 5%, #fff);}
.cbtn .channel-label{font-weight:700; flex-shrink:0;}
.cbtn .channel-detail{min-width:0; margin-left:auto; font-weight:600; color:var(--soft); font-size:.87rem; line-height:1.25; text-align:right; overflow-wrap:anywhere;}
.c-mail .cbtn .channel-detail{font-size:.8rem; letter-spacing:-.01em; white-space:nowrap;}
.c-wsp .cbtn{gap:8px; padding-left:12px; padding-right:12px;}
.c-wsp .cbtn .channel-detail{font-size:.8rem; white-space:nowrap;}
.cbtn.big{background:var(--cc); color:#fff; border-color:var(--cc); font-size:1.14rem; justify-content:center; white-space:nowrap;}
.cbtn.big i{color:#fff;}
.cbtn.big:hover{filter:brightness(1.08); transform:translateY(-1px);}
/* Reserva el mismo espacio para la nota final: así los accesos quedan alineados
   aunque una tarjeta tenga una nota de una línea y otra de dos. */
.chan .fnote{margin-top:12px; min-height:2.5em; font-size:.78rem; color:var(--soft); display:flex; gap:7px; align-items:flex-start;}
.chan .fnote i{margin-top:3px; color:var(--cc); font-size:.7rem;}
.ivr-note{display:flex; gap:9px; align-items:flex-start; margin-top:14px; padding:12px 13px; border:1px dashed #b9dce7; border-radius:11px; background:#f5fbfd; color:var(--muted); font-size:.88rem; line-height:1.45;}
.ivr-note i{color:var(--accent); margin-top:3px; flex-shrink:0;}
.ivr-note b{color:var(--ink);}

/* ===== Socios fundadores ===== */
.fnd-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:920px; margin:0 auto;}
.fnd{background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px 26px 28px; box-shadow:0 18px 50px -32px rgba(3,64,90,.35); position:relative; overflow:hidden; display:flex; flex-direction:column; text-align:center;}
.fnd::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent-3) 80%);}
.fnd .fav{width:164px; height:164px; border-radius:50%; align-self:center; overflow:hidden; margin-bottom:16px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); border:4px solid #fff; outline:3px solid var(--accent-3); box-shadow:0 18px 40px -14px rgba(3,64,90,.55);}
.fnd .fav img{width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block;}
.fnd h3{font-size:1.35rem; font-weight:800; letter-spacing:-.02em;}
.fnd .frole{font-size:.88rem; color:var(--accent); font-weight:700; display:block; margin-bottom:14px;}
.fnd>p{color:var(--muted); font-size:.98rem; line-height:1.65; flex:1;}
.fchips{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; justify-content:center;}
.fchips span{display:inline-flex; align-items:center; gap:7px; font-size:.8rem; font-weight:700; color:var(--ink); background:#f2fafc; border:1px solid #d6eef5; padding:6px 12px; border-radius:999px;}
.fchips span i{color:var(--accent); --fa-primary-color:var(--accent); --fa-secondary-color:var(--accent-3);}
.flink{display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-size:.88rem; font-weight:800; color:var(--accent);}
.flink i{color:#0a66c2;}
@media(max-width:760px){.fnd-grid{grid-template-columns:1fr;}}

/* ===== Internacional ===== */
.intl{background:linear-gradient(160deg,#04202d,#053347 55%,#03445e); color:#fff; position:relative; overflow:hidden;}
.intl::before{content:""; position:absolute; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,rgba(27,168,212,.22),transparent 65%); top:-220px; right:-140px;}
.intl::after{content:""; position:absolute; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle,rgba(95,208,239,.14),transparent 65%); bottom:-200px; left:-120px;}
.intl .wrap{position:relative; z-index:2;}
.intl .eyebrow{color:var(--accent-3);}
.intl h2.sh{color:#fff;}
.intl .sub{color:rgba(255,255,255,.72);}
.intl-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:8px;}
.country{background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:24px 22px; transition:.25s var(--ease); backdrop-filter:blur(6px);}
.country:hover{background:rgba(255,255,255,.1); border-color:rgba(95,208,239,.5); transform:translateY(-4px);}
.country .flag{font-size:2rem; line-height:1; margin-bottom:12px; display:block;}
.country h4{font-size:1.02rem; font-weight:800; margin-bottom:2px;}
.country .cty{font-size:.76rem; color:rgba(255,255,255,.55); font-weight:600; margin-bottom:12px;}
.country a.num{display:flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; font-family:ui-monospace,monospace; font-size:1.06rem; font-weight:700; color:#fff; letter-spacing:.3px; padding:10px 12px; border:1px solid rgba(255,255,255,.2); border-radius:10px; text-align:center; transition:.2s;}
.country a.num .copy-inline{flex:0 0 auto; margin-left:0;}
.country a.num:hover{border-color:var(--accent-3); color:var(--accent-3); background:rgba(95,208,239,.08);}
.country .tag{margin-top:10px; font-size:.7rem; color:rgba(255,255,255,.55); display:flex; gap:6px; align-items:center;}
.country .tag i{color:var(--accent-3); font-size:.66rem;}
.country.cl{border-color:rgba(95,208,239,.45); background:rgba(27,168,212,.12);}
.intl-note{margin-top:26px; display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap; color:rgba(255,255,255,.72); font-size:.9rem;}
.intl-note .np{display:inline-flex; gap:8px; align-items:center; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); padding:8px 15px; border-radius:999px; font-weight:600;}
.intl-note .np i{color:var(--accent-3);}

/* ===== Horario + dirección ===== */
.hg{display:grid; grid-template-columns:1.05fr 1fr; gap:24px; align-items:stretch;}
.hcard{background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; display:flex; flex-direction:column;}
.hcard h3{font-size:1.25rem; font-weight:800; display:flex; gap:11px; align-items:center; margin-bottom:18px;}
.hcard h3 i{font-size:1.4rem;}
.statusrow{display:flex; align-items:center; gap:10px; background:#f0faf5; border:1px solid #cdeeda; color:#0b7a52; font-weight:700; font-size:1.02rem; border-radius:12px; padding:13px 16px; margin-bottom:18px;}
.statusrow .d{width:10px; height:10px; border-radius:50%; background:var(--ok); animation:pul 1.8s infinite; flex-shrink:0;}
.statusrow.closed{background:#fdf6ea; border-color:#f1dfba; color:#9a6606;}
.statusrow.closed .d{background:var(--warn); animation:none;}
.sched{width:100%; border-collapse:collapse;}
.sched tr{border-bottom:1px solid var(--line);}
.sched tr:last-child{border-bottom:none;}
.sched td{padding:14px 4px; font-size:1.12rem;}
.sched td:first-child{font-weight:700;}
.sched td:last-child{text-align:right; color:var(--ink); font-weight:600; font-family:ui-monospace,monospace; font-size:1.1rem;}
.sched tr.today td{color:var(--accent);}
.sched tr.today td:first-child::after{content:"HOY"; font-size:.6rem; font-weight:800; letter-spacing:1px; background:#e5f4f9; color:var(--accent); border-radius:6px; padding:2px 7px; margin-left:9px; vertical-align:2px;}
.afterh{margin-top:16px; padding:15px 17px; background:#f6fafb; border:1px dashed var(--line); border-radius:12px; font-size:.98rem; color:var(--muted); display:flex; gap:10px; align-items:flex-start;}
.afterh i{color:var(--accent); margin-top:3px;}
.mapbox{border-radius:14px; overflow:hidden; border:1px solid var(--line); flex:1; min-height:230px; margin-top:6px;}
.mapbox iframe{width:100%; height:100%; min-height:230px; border:0; display:block;}
.addr{display:flex; gap:11px; align-items:flex-start; color:var(--muted); font-size:.96rem; margin-bottom:14px;}
.addr .ic{width:38px; height:38px; border-radius:11px; background:#f2fafc; color:var(--accent); display:grid; place-items:center; flex-shrink:0;}
.addr b{color:var(--ink); display:block; font-size:1rem;}

/* ===== CTA final ===== */
.cta-final{background:linear-gradient(135deg,var(--deep),var(--accent) 60%,var(--accent-2)); border-radius:24px; padding:56px 40px; text-align:center; color:#fff; position:relative; overflow:hidden;}
.cta-final::before{content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%); top:-180px; right:-80px;}
.cta-final h2{font-size:clamp(1.7rem,3.4vw,2.4rem); font-weight:800; letter-spacing:-.03em; position:relative;}
.cta-final p{opacity:.85; margin-top:10px; position:relative;}
.cta-final .btn{background:#fff; color:var(--accent); margin-top:26px; position:relative;}
/* formulario "pedir llamado" (callback → Freescout) */
.cbform{max-width:580px; margin:26px auto 0; background:#fff; border-radius:18px; padding:26px 26px 26px; text-align:left; color:var(--ink); box-shadow:0 30px 70px -30px rgba(0,0,0,.55); position:relative;}
.cbform .frow{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media(max-width:560px){.cbform .frow{grid-template-columns:1fr;}}
.cbfld{margin-bottom:14px;}
.cbfld label{display:flex; align-items:center; gap:6px; font-size:.72rem; text-transform:uppercase; letter-spacing:.5px; color:var(--soft); font-weight:800; margin-bottom:6px;}
.cbfld input, .cbfld select, .cbfld textarea{width:100%; border:1px solid var(--line); border-radius:11px; padding:12px 14px; font-size:.95rem; font-family:inherit; background:#fafcfd; color:var(--ink);}
.cbfld textarea{min-height:82px; resize:vertical; line-height:1.5;}
.cbfld input:focus, .cbfld select:focus, .cbfld textarea:focus{outline:none; border-color:var(--accent-3); box-shadow:0 0 0 3px rgba(95,208,239,.18);}
.cbfld.err input, .cbfld.err select{border-color:#e0564e;}
.cbfld .emsg{display:none; color:#e0564e; font-size:.74rem; font-weight:700; margin-top:4px;}
.cbfld.err .emsg{display:block;}
/* teléfono: prefijo seleccionable y formato tolerante para teléfonos pegados o escritos */
.cbtelwrap{position:relative; display:flex; align-items:stretch; border:1px solid var(--line); border-radius:11px; background:#fafcfd;}
.cbtelwrap:focus-within{border-color:var(--accent-3); box-shadow:0 0 0 3px rgba(95,208,239,.18);}
.cbtelwrap .cbtelcc{display:flex; align-items:center; gap:5px; border:0; border-right:1px solid var(--line); background:#eef4f7; color:var(--ink); border-radius:11px 0 0 11px; padding:0 9px; font-family:inherit; font-size:.9rem; font-weight:800; cursor:pointer; flex-shrink:0; white-space:nowrap;}
.cbtelwrap .cbtelcc:hover{background:#e2ecf1;}
.cbtelwrap .cbtelcc .cbtelarrow{color:var(--soft); font-size:.7rem;}
.cbtelwrap .cbtelinput{flex:1; min-width:0; border:0!important; outline:0!important; box-shadow:none!important; background:transparent!important; border-radius:0!important;}
.cbccmenu{display:none; position:absolute; left:0; top:calc(100% + 10px); z-index:70; width:300px; max-height:320px; overflow-y:auto; padding:6px; background:#fff; border:1px solid #dbe7ee; border-radius:18px; box-shadow:0 28px 60px -20px rgba(3,64,90,.55),0 4px 14px -8px rgba(3,64,90,.25);}
.cbccmenu.open{display:block; animation:cbccpop .18s cubic-bezier(.2,.8,.2,1);}
@keyframes cbccpop{from{opacity:0; transform:translateY(-8px) scale(.97);}to{opacity:1; transform:none;}}
.cbccmenu .cbcchead{padding:8px 12px 4px; color:var(--soft); font-size:.68rem; font-weight:800; letter-spacing:.6px; text-transform:uppercase;}
.cbccmenu .cbccsearch{width:100%; margin:2px 0 8px; padding:9px 12px; border:1.5px solid var(--line); border-radius:10px; font:600 .88rem inherit; background:#fafcfd;}
.cbccmenu .cbccsearch:focus{outline:none; border-color:var(--accent-3); box-shadow:0 0 0 3px rgba(95,208,239,.18);}
.cbccitem{display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; border:0; border-radius:12px; background:#fff; color:var(--ink); font-family:inherit; font-size:.9rem; font-weight:600; text-align:left; cursor:pointer;}
.cbccitem:hover,.cbccitem.on{background:#f2fafc;}
.cbccitem .cbflag{font-size:1.25rem;}.cbccitem .cbiso{width:26px; font-weight:900;}.cbccitem .cbname{flex:1;}.cbccitem .cbcode{color:var(--soft); font-weight:800;}
.cbfld.err .cbtelwrap{border-color:#e0564e;}
@media(max-width:560px){.cbccmenu{width:min(300px,calc(100vw - 64px));}}
.cbform .btn-cb{width:100%; border:none; cursor:pointer; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; padding:15px; border-radius:13px; font-size:1rem; font-weight:800; font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:10px; transition:.2s;}
.cbform .btn-cb:hover{filter:brightness(1.08);}
.cbform .cberror{display:none; color:#b42318; background:#fff3f1; border:1px solid #f2b8b2; border-radius:10px; padding:10px 12px; margin:12px 0 0; font-size:.8rem; font-weight:700; text-align:center;}
.cbform .cberror.show{display:block;}
.cbform .cbnote{font-size:.76rem; color:var(--soft); margin-top:12px; text-align:center;}
.cbform .cbnote a{color:var(--accent); font-weight:700;}
.cbform .cbdone{display:none; text-align:center; padding:12px 6px;}
.cbform.done .cbgrid, .cbform.done .btn-cb, .cbform.done .cbnote-form{display:none;}
.cbform.done .cbdone{display:block;}
.cbdone .okc{width:60px; height:60px; border-radius:50%; background:#e4f7ef; color:#0f9d6b; font-size:1.6rem; font-weight:900; display:grid; place-items:center; margin:0 auto 12px;}
.cbdone h3{font-size:1.25rem; font-weight:900;}
.cbdone p{color:var(--muted); margin-top:6px; font-size:.95rem;}

/* ===== Footer (NF3+NF1, igual al home) ===== */
.ft{background:#fff; padding:36px 0 20px; border-top:3px solid var(--accent);}
.ft .grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:28px; 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:9px; align-items:flex-start; margin-bottom:10px; font-size:.88rem; color:var(--muted);}
.ft .contact-item a{color:var(--muted); font-weight:600; overflow-wrap:anywhere;}
.ft .contact-item > span:last-child{min-width:0;}
.ft .contact-item a:hover{color:var(--accent);}
.ft .contact-item .ic{width:30px; height:30px; margin-top:1px; border-radius:8px; background:#f2fafc; color:var(--accent); display:grid; place-items:center; flex-shrink:0; font-size:.82rem;}
.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 .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);}

/* ===== Reveal ===== */
.rv{opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease);}
.rv.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .rv{opacity:1; transform:none; transition:none;} .hpill.pulse .d,.floatb .d,.statusrow .d{animation:none;} }

/* ===== Responsive ===== */
@media (max-width: 1020px){
  .pill nav{display:none;} .pill .pay,.pill .portal{display:none;} .burger{display:flex;}
  .pill{width:100%; justify-content:space-between; border-radius:16px; padding:10px 12px 10px 18px; gap:14px;}
  .chero .grid{grid-template-columns:1fr; gap:40px;}
  .chan-grid{grid-template-columns:1fr; max-width:520px; margin:0 auto;}
  .intl-grid{grid-template-columns:1fr 1fr;}
  .hg{grid-template-columns:1fr;}
  .ft .grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 560px){
  .guide-grid{grid-template-columns:1fr;}
  .intl-grid{grid-template-columns:1fr;}
  .ft .grid{grid-template-columns:1fr;}
  .tgrid{grid-template-columns:1fr 1fr;}
  .tp img{height:130px;}
  .floatb{right:0;}
  .c-mail .cbtn{display:grid; grid-template-columns:20px minmax(0,1fr) 20px; column-gap:10px; row-gap:2px; align-items:center;}
  .c-mail .cbtn > i:first-child{grid-column:1; grid-row:1 / span 2;}
  .c-mail .cbtn .channel-label{grid-column:2; grid-row:1; min-width:0;}
  .c-mail .cbtn .channel-detail{grid-column:2; grid-row:2; min-width:0; margin-left:0; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .c-mail .cbtn .copy-inline{grid-column:3; grid-row:1 / span 2; margin-left:0; justify-self:end;}
}
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);}
