/* Hilvanta · sitio de presentación
   Aspecto claro: fondos blancos y celestes suaves, marino solo en textos y detalles,
   y los colores de estado de Hilvanta (cielo, ámbar, verde y coral) para dar calidez.
   Rubik (títulos) e IBM Plex Sans (texto). Espacios 4/8/12/16/24/32 y radios 6/10/18/999 (marca/tokens.json). */

:root{
  --marino:#0B2E4F;--profundo:#071D33;--cielo:#4A99D1;--celeste:#7DB4DF;--firme:#1A62A0;
  --ambar:#E9A23B;--sol:#F2C77A;--verde:#1F9D61;--coral:#D9463E;
  --bg:#FFFFFF;--bg-alt:#F3F7FB;--bg-calido:#FFF9EF;--surface:#FFFFFF;--chip:#EEF5FB;--line:#D6E7F5;
  --ink:#0B2E4F;--ink-2:#335B82;--acento:#1A62A0;
  --cielo-bg:#E3F0FA;--cielo-t:#1A62A0;
  --ambar-bg:#FCEFD6;--ambar-t:#8A5B00;
  --verde-bg:#DFF3E8;--verde-t:#13774A;
  --coral-bg:#FBE3E1;--coral-t:#B4312A;
  --sombra:0 1px 2px rgba(11,46,79,.05),0 10px 30px rgba(11,46,79,.08);
  --sombra-alta:0 2px 4px rgba(11,46,79,.05),0 24px 60px rgba(11,46,79,.14);
  --display:"Rubik","Segoe UI",Arial,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",Arial,sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;
  --r-sm:6px;--r-md:10px;--r-lg:18px;--r-pill:999px;
  --ancho:1180px;
  color-scheme:light;
}

/* Tintes de color por tarjeta: cada uno fija su fondo y su color de ícono */
.t-cielo{--t-bg:var(--cielo-bg);--t-fg:var(--cielo-t);--t-borde:#ADD0EC}
.t-ambar{--t-bg:var(--ambar-bg);--t-fg:var(--ambar-t);--t-borde:#F2C77A}
.t-verde{--t-bg:var(--verde-bg);--t-fg:var(--verde-t);--t-borde:#9AD6B5}
.t-coral{--t-bg:var(--coral-bg);--t-fg:var(--coral-t);--t-borde:#F0ADA8}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--acento);text-underline-offset:3px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.15;text-wrap:balance}
h1{font-weight:700}
h2{font-weight:700;font-size:clamp(28px,4vw,40px)}
h3{font-weight:600;font-size:18px}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--cielo);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.envoltura{width:100%;max-width:var(--ancho);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:720px){.envoltura{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.envoltura.angosta{max-width:860px}

.saltar{position:absolute;left:var(--s4);top:-60px;z-index:100;background:var(--cielo);color:var(--profundo);font-weight:600;padding:var(--s2) var(--s4);border-radius:var(--r-pill);text-decoration:none}
.saltar:focus{top:var(--s3)}

/* Botones tipo píldora */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-family:var(--body);font-weight:600;font-size:15px;line-height:1.2;padding:10px 20px;border-radius:var(--r-pill);border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;white-space:nowrap}
.btn .ico{width:18px;height:18px}
.btn:hover{transform:translateY(-1px)}
.btn-grande{font-size:16px;padding:14px 26px}
.btn-cielo{background:var(--cielo);color:var(--profundo);box-shadow:0 6px 18px rgba(74,153,209,.3)}
.btn-cielo:hover{background:#5FA6D8}
.btn-borde{background:var(--surface);color:var(--marino);border-color:#ADD0EC}
.btn-borde:hover{border-color:var(--cielo);background:var(--chip)}

.ceja{display:flex;align-items:center;gap:var(--s3);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--acento);margin-bottom:var(--s3)}
.ceja::before{content:"";width:32px;height:1.5px;background:linear-gradient(90deg,var(--cielo),var(--ambar));flex:none}
.lead{font-size:18px;line-height:1.6;color:var(--ink-2);max-width:680px}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.02em;color:var(--marino);text-decoration:none;line-height:1}
.logo-marca{width:28px;height:28px;color:var(--marino)}

/* Barra superior */
.barra{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#fff}
.barra.con-sombra{border-color:var(--line);box-shadow:0 6px 24px rgba(11,46,79,.06)}
.barra-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);height:64px}
.nav{display:flex;align-items:center;gap:var(--s6)}
.nav ul{display:flex;gap:var(--s1)}
.nav ul a{display:block;white-space:nowrap;color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;padding:8px 12px;border-radius:var(--r-pill)}
.nav ul a:hover{background:var(--chip)}
.nav-acciones{display:flex;gap:var(--s2)}
.menu-btn{display:none;background:var(--surface);color:var(--marino);border:1.5px solid var(--line);border-radius:var(--r-md);width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:1140px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--surface);flex-direction:column;align-items:stretch;gap:var(--s4);padding:var(--s4) max(16px,env(safe-area-inset-right,0px)) var(--s6) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--line);box-shadow:0 20px 40px rgba(11,46,79,.12)}
  .nav.abierto{display:flex}
  .nav ul{flex-direction:column}
  .nav ul a{padding:12px;border-radius:var(--r-md);font-size:16px}
  .nav-acciones{flex-direction:column}
  .nav-acciones .btn{width:100%;padding:13px 20px}
}

/* Portada */
.portada{position:relative;overflow:hidden;padding:48px 0 80px;background:
  radial-gradient(520px 380px at 92% 8%,rgba(242,199,122,.30),transparent 70%),
  radial-gradient(640px 460px at 70% 90%,rgba(74,153,209,.16),transparent 70%),
  radial-gradient(420px 320px at 0% 20%,rgba(31,157,97,.08),transparent 70%),
  linear-gradient(180deg,#FFFFFF,var(--bg-alt))}
.portada-in{position:relative;display:grid;gap:48px;align-items:center}
@media (min-width:1000px){.portada-in{grid-template-columns:1fr 1.05fr;padding-top:var(--s6)}}
.portada h1{font-size:clamp(38px,6vw,62px);line-height:1.04;margin-bottom:var(--s6);color:var(--marino)}
.portada h1 em{font-style:normal;color:var(--cielo);text-decoration:underline dashed var(--ambar);text-decoration-thickness:3px;text-underline-offset:8px}
.portada .lead{font-size:clamp(17px,1.6vw,19px)}
.acciones{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s8)}
.portada-notas{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-top:var(--s6);color:var(--ink-2);font-size:14px}
.portada-notas li{display:flex;align-items:center;gap:6px}
.portada-notas .ico{width:18px;height:18px;color:var(--verde);stroke-width:2}
@media (max-width:480px){.acciones .btn{width:100%}}

/* Maqueta de la app */
.maqueta{position:relative;max-width:620px;width:100%;justify-self:center;display:flex;flex-direction:column;gap:var(--s4);min-width:0}
.m-ventana{position:relative;background:var(--surface);color:var(--ink);border-radius:var(--r-lg);box-shadow:var(--sombra-alta);overflow:hidden;border:1px solid var(--line)}
.m-barra{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#F7FAFD;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:12px}
.m-barra i{width:10px;height:10px;border-radius:50%;background:var(--coral)}
.m-barra i:nth-child(2){background:var(--ambar)}
.m-barra i:nth-child(3){background:var(--verde)}
.m-barra span{margin-left:10px;background:var(--surface);border:1px solid var(--line);padding:1px 12px;border-radius:var(--r-pill);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-cuerpo{position:relative;z-index:2;padding:0 0 64px;background:var(--bg-alt)}
.m-ceja{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.m-cifras{display:grid;grid-template-columns:repeat(3,1fr);margin:-30px 16px 0;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sombra)}
.m-cifras div{padding:10px 12px;display:flex;flex-direction:column;border-left:1px solid var(--line);min-width:0}
.m-cifras div:first-child{border-left:0}
.m-cifras span{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-cifras b{font-family:var(--display);font-size:20px;letter-spacing:-.02em;white-space:nowrap}
.m-cifras b.rojo{color:var(--coral-t)}
.m-tudia{margin:14px 16px 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.m-tit{font-family:var(--display);font-size:16px;display:block;margin-bottom:10px}
@media (min-width:561px){.m-tudia{margin-right:150px}.m-aviso{max-width:calc(100% - 200px)}}

/* Escena del saludo: recorre el día y el clima (sitio.js cambia data-etapa) */
.escena{--esc-tx:var(--marino);--esc-nombre:var(--firme);--esc-pill:rgba(255,255,255,.72);--esc-pill-borde:rgba(11,46,79,.1);position:relative;height:214px;overflow:hidden;isolation:isolate}
.escena[data-etapa="5"]{--esc-tx:#FFFFFF;--esc-nombre:var(--celeste);--esc-pill:rgba(7,29,51,.45);--esc-pill-borde:rgba(173,208,236,.3)}
.capa{position:absolute;inset:0;opacity:0;transition:opacity 2.4s ease}
.c0{background:linear-gradient(180deg,#B9D7EE 0%,#FBE2C5 62%,#F8C892 100%)}
.c1{background:linear-gradient(180deg,#8EC0E6 0%,#D9EAF7 100%)}
.c2{background:linear-gradient(180deg,#58A6DC 0%,#BCDDF3 100%)}
.c3{background:linear-gradient(180deg,#93A8BC 0%,#CDD8E2 100%)}
.c4{background:linear-gradient(180deg,#7E9CCB 0%,#F1A866 58%,#F9D7A4 100%)}
.c5{background:linear-gradient(180deg,#071D33 0%,#0F3D68 70%,#144E85 100%)}
.escena[data-etapa="0"] .c0,.escena[data-etapa="1"] .c1,.escena[data-etapa="2"] .c2,
.escena[data-etapa="3"] .c3,.escena[data-etapa="4"] .c4,.escena[data-etapa="5"] .c5{opacity:1}
.escena-svg{position:absolute;inset:0;width:100%;height:100%}
.astro{transition:transform 3.2s cubic-bezier(.45,.05,.35,1)}
.escena[data-etapa="0"] .astro{transform:translate(380px,178px)}
.escena[data-etapa="1"] .astro{transform:translate(430px,104px)}
.escena[data-etapa="2"] .astro{transform:translate(480px,62px)}
.escena[data-etapa="3"] .astro{transform:translate(510px,84px)}
.escena[data-etapa="4"] .astro{transform:translate(520px,150px)}
.escena[data-etapa="5"] .astro{transform:translate(500px,72px)}
.sol,.luna{transition:opacity 2s ease}
.luna{opacity:0}
.escena[data-etapa="5"] .sol{opacity:0}
.escena[data-etapa="5"] .luna{opacity:1}
.escena[data-etapa="3"] .sol{opacity:.4}
.disco{fill:var(--sol);transition:fill 2s}
.escena[data-etapa="0"] .disco,.escena[data-etapa="4"] .disco{fill:#F5B04E}
.halo{fill:var(--sol);opacity:.18}
.aro{fill:none;stroke:#FFFFFF;stroke-width:1.4;opacity:.7}
.rayos{stroke:#F5B04E;stroke-width:2;stroke-linecap:round;animation:girar 40s linear infinite}
.halo-luna{fill:#D6E7F5;opacity:.12}
.disco-luna{fill:#F3F7FB}
.estrellas{fill:#EEF5FB;stroke:#D6E7F5;stroke-width:1.2;stroke-linecap:round;opacity:0;transition:opacity 2s}
.escena[data-etapa="5"] .estrellas{opacity:1}
.estrellas circle{animation:titilar 3s ease-in-out infinite}
.estrellas circle:nth-child(3n){animation-delay:-1s}
.estrellas circle:nth-child(3n+1){animation-delay:-2s}
.nubes{opacity:.5;transition:opacity 2s}
.escena[data-etapa="1"] .nubes,.escena[data-etapa="3"] .nubes{opacity:1}
.escena[data-etapa="2"] .nubes{opacity:.35}
.escena[data-etapa="4"] .nubes{opacity:.7}
.escena[data-etapa="5"] .nubes{opacity:.45}
.nube path{fill:rgba(255,255,255,.92);stroke:#ADD0EC;stroke-width:1.3;stroke-linejoin:round;transition:fill 2s,stroke 2s}
.escena[data-etapa="3"] .nube path{fill:#E2E8EE;stroke:#93A8BC}
.escena[data-etapa="4"] .nube path{fill:#FDE9D3;stroke:#F2B47A}
.escena[data-etapa="5"] .nube path{fill:#173E63;stroke:#2B5A86}
.n1{animation:deriva1 46s linear infinite;animation-delay:-12s}
.n2{animation:deriva2 60s linear infinite;animation-delay:-38s}
.n3{animation:deriva3 52s linear infinite;animation-delay:-4s}
.lluvia{opacity:0;transition:opacity 1.2s}
.escena[data-etapa="3"] .lluvia{opacity:1}
.lluvia path{stroke:#4A99D1;stroke-width:1.6;stroke-linecap:round;animation:caer .7s linear infinite}
.cerro-atras{fill:#F4CFA3;transition:fill 2.4s}
.escena[data-etapa="1"] .cerro-atras{fill:#ADD0EC}
.escena[data-etapa="2"] .cerro-atras{fill:#A8DCC0}
.escena[data-etapa="3"] .cerro-atras{fill:#A9B9C8}
.escena[data-etapa="4"] .cerro-atras{fill:#EBAE7E}
.escena[data-etapa="5"] .cerro-atras{fill:#0F3D68}
.cerro-frente{fill:var(--bg-alt)}
.camino{fill:none;stroke:var(--cielo);stroke-width:1.6;stroke-dasharray:6 7;animation:hilar 1.6s linear infinite}
.camioneta{offset-path:path("M-40 214C120 176 260 236 400 200S560 170 640 184");offset-rotate:auto;animation:ruta 18s linear infinite}
.cam-cuerpo{fill:var(--ambar)}
.cam-base,.cam-rueda{fill:var(--marino)}
.saludo-txt{position:absolute;left:20px;top:16px;right:150px;display:flex;flex-direction:column;gap:4px;color:var(--esc-tx);transition:color 1.6s;z-index:3}
.saludo-txt b{font-family:var(--display);font-size:28px;letter-spacing:-.02em;line-height:1.1}
.saludo-txt em{font-style:normal;color:var(--esc-nombre);transition:color 1.6s}
.m-clima{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:600;padding:4px 10px 4px 8px;border-radius:var(--r-pill);background:var(--esc-pill);border:1px solid var(--esc-pill-borde);transition:background 1.6s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.m-clima .ico{width:16px;height:16px}

/* El hilo, como en la app */
.hilo{position:relative;display:flex;flex-direction:column;gap:12px}
.hilo li{position:relative;display:flex;gap:12px;align-items:flex-start;padding-left:2px}
.hilo li:not(:last-child)::after{content:"";position:absolute;left:12px;top:26px;bottom:-14px;border-left:1.5px dashed var(--cielo)}
.hilo .nodo{width:22px;height:22px;border-radius:50%;flex:none;border:2px solid var(--cielo);background:var(--surface);margin-top:2px;position:relative;z-index:1}
.hilo .h-ok .nodo{background:var(--verde);border-color:var(--verde)}
.hilo .h-ok .nodo::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hilo .h-now .nodo{animation:latido 2.4s ease-in-out infinite}
.hilo .h-now .nodo::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--cielo)}
.hilo .h-fut .nodo{border-color:var(--line)}
.hilo div{display:flex;flex-direction:column;font-size:13px;min-width:0}
.hilo b{font-weight:600}
.hilo small{color:var(--ink-2);font-size:12px}
.hilo .foco{flex:1;background:linear-gradient(135deg,#EEF5FB,#FFF6E6);border:1px solid var(--line);border-radius:12px;padding:10px 12px;gap:3px}
.hilo .foco b{font-family:var(--display);font-size:15px}
.pastilla{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-sm)}
.pastilla::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pastilla.ambar{background:var(--ambar-bg);color:var(--ambar-t)}
.m-boton{margin-top:6px;background:var(--cielo);color:var(--profundo);font-weight:600;text-align:center;border-radius:var(--r-pill);padding:6px;font-size:12px}

/* Aviso que aparece en la maqueta */
.m-aviso{position:absolute;left:16px;bottom:14px;z-index:4;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 14px 6px 6px;font-size:13px;font-weight:600;box-shadow:var(--sombra-alta);transition:opacity .5s,transform .5s}
.m-aviso.oculto{opacity:0;transform:translateY(12px)}
.aviso-ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none}
.aviso-ico .ico{width:16px;height:16px;stroke-width:2}
.aviso-ico.verde{background:var(--verde-bg);color:var(--verde-t)}
.aviso-ico.ambar{background:var(--ambar-bg);color:var(--ambar-t)}
.aviso-ico.cielo{background:var(--cielo-bg);color:var(--cielo-t)}
#mAvisoTxt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.m-telefono{position:absolute;right:-28px;bottom:58px;z-index:5;width:172px;background:var(--marino);border-radius:28px;padding:7px;box-shadow:var(--sombra-alta);animation:flotar 6s ease-in-out infinite}
.m-tel-in{background:var(--surface);border-radius:22px;padding:18px 14px 14px;display:flex;flex-direction:column;gap:3px;color:var(--ink)}
.m-tel-in .m-ceja{color:var(--acento)}
.m-tel-in small{color:var(--ink-2);font-size:11px;line-height:1.35}
.m-tel-tit{font-family:var(--display);font-size:18px}
.m-tel-monto{font-family:var(--display);font-size:24px;letter-spacing:-.02em;margin-top:8px}
.m-aprobar,.m-devolver{display:block;text-align:center;border-radius:var(--r-pill);font-weight:600;font-size:12px;padding:7px;margin-top:8px}
.m-aprobar{background:#1F8F57;color:#fff}
.m-devolver{background:var(--ambar-bg);color:var(--ambar-t);margin-top:6px}

/* Botones de la línea del día */
.linea-dia{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.linea-dia button{font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 12px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.linea-dia button:hover{border-color:var(--cielo)}
.linea-dia button[aria-pressed="true"]:not(.pausa){background:var(--ambar-bg);border-color:#F2C77A;color:var(--ambar-t)}
.linea-dia button[data-etapa="5"][aria-pressed="true"]{background:var(--marino);border-color:var(--marino);color:#fff}
.pausa{display:inline-grid;place-items:center;width:34px;height:34px;padding:0!important;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--marino);cursor:pointer}
.pausa .ico{width:16px;height:16px;stroke-width:2}
.pausa[aria-pressed="true"]{background:var(--cielo-bg)}

@media (max-width:560px){
  .m-telefono{position:relative;right:auto;bottom:auto;width:auto;max-width:250px;margin:0 0 0 auto}
  .saludo-txt{right:90px}
  .saludo-txt b{font-size:22px}
  .m-cifras b{font-size:16px}
  .m-cifras div{padding:8px 10px}
  .m-aviso{bottom:12px;left:12px}
}

/* Secciones */
.seccion{padding:72px 0}
@media (min-width:900px){.seccion{padding:104px 0}}
.seccion.alterna{background:var(--bg-alt)}
.cabeza{margin-bottom:48px;display:flex;flex-direction:column;gap:var(--s4)}
.cabeza .ceja{margin-bottom:0}

/* El problema */
.problema{display:grid;gap:var(--s6);align-items:center}
@media (min-width:900px){.problema{grid-template-columns:1.3fr auto 1fr}}
.sueltos{display:flex;flex-wrap:wrap;gap:var(--s3)}
.sueltos li{display:inline-flex;align-items:center;gap:var(--s2);background:var(--surface);border:1px dashed var(--t-borde);border-radius:var(--r-pill);padding:10px 16px;font-weight:500;font-size:15px;color:var(--ink-2);animation:mecer 5s ease-in-out infinite}
.sueltos li:nth-child(2n){animation-delay:-1.6s;animation-duration:6s}
.sueltos li:nth-child(3n){animation-delay:-3s;animation-duration:5.5s}
.sueltos .ico{width:20px;height:20px;color:var(--t-fg)}
.flecha-hilo{justify-self:center;color:var(--cielo)}
.flecha-hilo svg{width:120px;height:40px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flecha-hilo .hilando{stroke-dasharray:5 6;animation:hilar 1.2s linear infinite}
@media (max-width:899px){.flecha-hilo svg{transform:rotate(90deg);width:80px}}
.unido{background:linear-gradient(135deg,#EEF5FB,#FFF6E6);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-lg);padding:var(--s8) var(--s6);display:flex;flex-direction:column;gap:var(--s4);box-shadow:var(--sombra)}
.logo-tarjeta{font-size:26px}
.tres{display:grid;gap:var(--s4);margin-top:56px}
@media (min-width:760px){.tres{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.tres div{border-top:3px solid var(--cielo);padding-top:var(--s4)}
.tres .b-ambar{border-color:var(--ambar)}
.tres .b-verde{border-color:var(--verde)}
.tres b{font-family:var(--display);font-size:20px;letter-spacing:-.02em;display:block;margin-bottom:6px}
.tres p{color:var(--ink-2)}

/* Áreas */
.areas{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
@media (min-width:720px){.areas{gap:var(--s6)}}
.area{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s3);transition:transform .25s,box-shadow .25s,border-color .25s}
.area:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:var(--t-borde)}
.area-ico,.ben-ico{width:48px;height:48px;border-radius:14px;background:var(--t-bg);color:var(--t-fg);display:grid;place-items:center;flex:none;transition:transform .3s}
.area:hover .area-ico{transform:rotate(-6deg) scale(1.06)}
.area-ico .ico,.ben-ico .ico{width:26px;height:26px;stroke-width:1.5}
.area p{color:var(--ink-2);font-size:15px}
.area ul{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:var(--s2);border-top:1px solid var(--line)}
.area li{position:relative;padding-left:18px;font-size:14px;font-weight:500}
.area li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--t-fg);opacity:.7}

/* Vitrina: carrusel de capturas y teléfonos */
.vitrina{display:grid;gap:40px;align-items:center}
@media (min-width:1000px){.vitrina{grid-template-columns:1.5fr 1fr}}
.carrusel{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
.car-marco{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sombra-alta)}
.car-fotos{position:relative;aspect-ratio:1366/900;max-width:100%;overflow:hidden;background:var(--bg-alt)}
.car-foto{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1s ease}
.car-foto.activa{opacity:1;z-index:1}
.car-foto img{width:100%;height:100%;object-fit:cover;object-position:top left}
.car-foto.activa img{animation:acercar 7s ease-out both}
.car-foto figcaption{position:absolute;left:12px;bottom:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 14px;font-size:14px;color:var(--ink-2);box-shadow:var(--sombra)}
.car-foto figcaption b{color:var(--ink)}
@media (max-width:560px){.car-foto figcaption{border-radius:var(--r-md);font-size:13px}}
.car-control{display:flex;gap:10px;align-items:center;justify-content:center}
.car-punto{width:12px;height:12px;border-radius:50%;border:0;padding:0;background:#ADD0EC;cursor:pointer;transition:width .3s,background .3s}
.car-punto[aria-pressed="true"]{width:32px;border-radius:var(--r-pill);background:var(--cielo)}
.telefonos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);min-width:0}
.cap{margin:0;display:flex;flex-direction:column;gap:var(--s3)}
.cap.tel img{border-radius:22px;border:5px solid var(--marino);box-shadow:var(--sombra)}
.cap.tel{animation:flotar 7s ease-in-out infinite}
.cap.tel:nth-child(2){animation-delay:-2.3s;margin-top:32px}
.cap.tel:nth-child(3){animation-delay:-4.6s}
.cap.tel figcaption{text-align:center;font-weight:500;font-size:14px;color:var(--ink-2)}
@media (max-width:560px){.telefonos{grid-template-columns:repeat(3,70%);overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 var(--s3)}.cap.tel{scroll-snap-align:start}.cap.tel:nth-child(2){margin-top:0}}

/* Beneficios */
.beneficios{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
@media (min-width:720px){.beneficios{gap:var(--s6)}}
.ben{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s2);transition:transform .25s,box-shadow .25s}
.ben:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.ben .ben-ico{margin-bottom:var(--s2)}
.ben p{color:var(--ink-2);font-size:15px}

/* Hecha en Chile */
.seccion.chile{background:var(--bg-calido);position:relative;overflow:hidden}
.chile::after{content:"";position:absolute;right:-140px;top:-140px;width:440px;height:440px;border-radius:50%;border:1.5px dashed rgba(233,162,59,.45);pointer-events:none;animation:girar 90s linear infinite}
.chile .cabeza{margin-bottom:40px}
.chile-lista{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));position:relative;z-index:1}
.chile-lista li{display:flex;gap:var(--s4);align-items:flex-start;background:var(--surface);border:1px solid #F3E2C4;border-radius:var(--r-lg);padding:var(--s4) 20px}
.chile-lista .ben-ico{width:44px;height:44px}
.chile-lista div{display:flex;flex-direction:column;gap:2px;min-width:0}
.chile-lista b{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em}
.chile-lista span{color:var(--ink-2);font-size:15px}
.chile-pie{margin-top:var(--s8);color:var(--ink-2);position:relative;z-index:1}
.chile-pie b{color:var(--ambar-t);font-weight:600}

/* Quiénes somos */
.nosotros{display:grid;gap:48px;align-items:start}
@media (min-width:940px){.nosotros{grid-template-columns:1.05fr 1fr;gap:64px}}
.nosotros-texto{display:flex;flex-direction:column;gap:var(--s4)}
.nosotros-texto h2{margin-bottom:var(--s2)}
.nosotros-texto>p:not(.lead):not(.ceja){color:var(--ink-2);max-width:620px}
.nombre{margin-top:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4) var(--s6) var(--s6);display:flex;flex-direction:column;gap:var(--s2)}
.puntadas{width:100%;max-width:320px;height:60px}
.hilo-nombre{fill:none;stroke:var(--cielo);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:coser 6s ease-in-out infinite}
.agujeros{fill:var(--ambar)}
.nombre em{font-style:italic;color:var(--acento)}
.mv{display:flex;flex-direction:column;gap:var(--s4)}
.mv-tarjeta{border-radius:var(--r-lg);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s2);border:1px solid}
.mv-tarjeta.mision{--t-bg:#FFFFFF;--t-fg:var(--cielo-t);background:linear-gradient(135deg,#E3F0FA,#F3F9FE);border-color:#C9E0F2}
.mv-tarjeta.vision{--t-bg:#FFFFFF;--t-fg:var(--ambar-t);background:linear-gradient(135deg,#FCEFD6,#FFF9EF);border-color:#F3DDB4}
.mv-tarjeta h3{font-size:22px}
.mv-tarjeta p{color:var(--ink-2)}
.valores{display:flex;flex-wrap:wrap;gap:var(--s2)}
.valores li{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 14px;font-weight:600;font-size:14px}
.punto{width:9px;height:9px;border-radius:50%;display:inline-block}
.punto.cielo{background:var(--cielo)}.punto.ambar{background:var(--ambar)}.punto.verde{background:var(--verde)}.punto.coral{background:var(--coral)}

/* Pasos */
.pasos{display:grid;gap:var(--s6)}
@media (min-width:860px){.pasos{grid-template-columns:repeat(3,1fr);gap:var(--s8)}}
.pasos li{position:relative;display:flex;flex-direction:column;gap:var(--s2)}
.num{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--t-bg);color:var(--t-fg);font-family:var(--display);font-weight:700;font-size:22px;margin-bottom:var(--s2);position:relative;z-index:1}
@media (min-width:860px){
  .pasos li:not(:last-child)::after{content:"";position:absolute;left:64px;right:-20px;top:26px;height:2px;background:repeating-linear-gradient(90deg,var(--cielo) 0 6px,transparent 6px 13px);background-size:13px 2px;animation:hilar-fondo 1.4s linear infinite}
}
.pasos p{color:var(--ink-2)}

/* Preguntas */
.faq{display:flex;flex-direction:column;gap:var(--s3)}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:0 var(--s6);transition:border-color .2s}
.faq details[open]{border-color:#ADD0EC}
.faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em;padding:20px 32px 20px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;border:solid var(--acento);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 20px;color:var(--ink-2)}
@media (max-width:480px){.faq details{padding:0 var(--s4)}.faq summary{font-size:17px}}

/* Contacto */
.contacto{background:
  radial-gradient(480px 360px at 0% 100%,rgba(242,199,122,.18),transparent 70%),
  radial-gradient(520px 360px at 100% 0%,rgba(74,153,209,.12),transparent 70%),var(--bg)}
.contacto-in{display:grid;gap:40px;align-items:start}
@media (min-width:940px){.contacto-in{grid-template-columns:1fr 1.1fr;gap:64px}}
.contacto-texto h2{margin-bottom:var(--s4)}
.contacto-lista{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s6)}
.contacto-lista li{display:flex;gap:var(--s2);align-items:flex-start}
.contacto-lista .ico{width:20px;height:20px;color:var(--verde);stroke-width:2;margin-top:3px}
.contacto-correo{margin-top:var(--s6);color:var(--ink-2);overflow-wrap:anywhere}
.formulario{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4);box-shadow:var(--sombra-alta)}
@media (min-width:600px){.formulario{padding:var(--s8)}}
.campo{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}
.campo label,.campo legend{font-size:14px;font-weight:600}
.campo legend{margin-bottom:6px;padding:0}
.dos{display:grid;gap:var(--s4)}
@media (min-width:600px){.dos{grid-template-columns:1fr 1fr}}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#F7FAFD;border:1.5px solid var(--line);border-radius:var(--r-md);padding:11px 14px;min-width:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:var(--ink-2);opacity:.75}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cielo);box-shadow:0 0 0 3px rgba(74,153,209,.25);background:#fff}
input[aria-invalid=true]{border-color:var(--coral-t)}
.casillas{display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.casillas label{display:flex;align-items:center;gap:10px;font-weight:500;font-size:15px;background:#F7FAFD;border:1px solid var(--line);border-radius:var(--r-md);padding:9px 12px;cursor:pointer}
.casillas label:has(input:checked){background:var(--cielo-bg);border-color:#ADD0EC}
.casillas input{width:18px;height:18px;accent-color:var(--firme);flex:none;margin:0}
.formulario .btn{align-self:flex-start}
@media (max-width:480px){.formulario .btn{align-self:stretch}}
.form-nota{font-size:13px;color:var(--ink-2)}
.form-nota.ok{color:var(--verde-t);font-weight:600}
.form-error{color:var(--coral-t);font-weight:600;font-size:14px}

/* Pie */
.pie{background:var(--bg-alt);color:var(--ink-2);padding:48px 0 32px;border-top:1px solid var(--line)}
.pie-in{display:grid;gap:var(--s6)}
@media (min-width:800px){.pie-in{grid-template-columns:1fr auto;align-items:start}}
.pie p{margin-top:var(--s3);font-size:15px}
.pie nav ul{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6)}
.pie nav a{color:var(--ink);text-decoration:none;font-size:15px}
.pie nav a:hover{color:var(--acento);text-decoration:underline}
.pie-legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:var(--s4);font-size:13px}

/* Movimiento */
@keyframes girar{to{transform:rotate(360deg)}}
@keyframes titilar{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes deriva1{from{transform:translate(-180px,36px)}to{transform:translate(640px,36px)}}
@keyframes deriva2{from{transform:translate(-140px,92px)}to{transform:translate(640px,92px)}}
@keyframes deriva3{from{transform:translate(-160px,60px)}to{transform:translate(640px,60px)}}
@keyframes caer{from{transform:translateY(-8px);opacity:0}30%{opacity:1}to{transform:translateY(18px);opacity:0}}
@keyframes hilar{to{stroke-dashoffset:-26}}
@keyframes hilar-fondo{to{background-position:13px 0}}
@keyframes ruta{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes mecer{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes latido{0%,100%{box-shadow:0 0 0 0 rgba(74,153,209,.45)}50%{box-shadow:0 0 0 7px rgba(74,153,209,0)}}
@keyframes acercar{from{transform:scale(1)}to{transform:scale(1.05)}}
@keyframes coser{0%{stroke-dashoffset:420}55%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-420}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hilo-nombre{stroke-dashoffset:0}
}
