@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fuentes/instrument-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fuentes/instrument-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fuentes/instrument-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fuentes/instrument-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fuentes/instrument-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fuentes/instrument-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fuentes/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fuentes/jetbrains-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fuentes/jetbrains-mono-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(../fuentes/jetbrains-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:600;src:url(../fuentes/jetbrains-mono-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:600;src:url(../fuentes/jetbrains-mono-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:400;src:url(../fuentes/sora-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:400;src:url(../fuentes/sora-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:500;src:url(../fuentes/sora-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:500;src:url(../fuentes/sora-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:600;src:url(../fuentes/sora-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:600;src:url(../fuentes/sora-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:700;src:url(../fuentes/sora-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-display:swap;font-weight:700;src:url(../fuentes/sora-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html,body{margin:0}

/* Formulario rápido del menú: estilos de la home, comunes a todas las páginas (en el prototipo solo estaban en algunas) */
/* contacto */
.mn .cf{display:grid;gap:12px;padding:14px 0 0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}
.mn .cf-r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mn .cf label{display:grid;gap:6px;font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.mn .cf input[type=text],.mn .cf textarea{width:100%;min-width:0;box-sizing:border-box;font:400 15px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:#fff;resize:vertical}
.mn .cf input[type=text]:focus,.mn .cf textarea:focus{outline:2px solid #A8E0B9;border-color:#34A853}
.mn .cf fieldset{border:0;margin:0;padding:0}
.mn .cf legend{font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.mn .cf-ch{display:flex;flex-wrap:wrap;gap:6px}
.mn .cf-ch label{display:block;cursor:pointer}
.mn .cf-ch input{position:absolute;opacity:0;pointer-events:none}
.mn .cf-ch span{display:inline-block;padding:8px 12px;border-radius:100px;border:1px solid var(--line);background:#fff;font:500 13.5px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.mn .cf-ch input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff}
.mn .cf-ch input:focus-visible + span{outline:2px solid #34A853;outline-offset:2px}
.mn .cf-b{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mn .cf-b .btn{border:0;cursor:pointer}
.mn .cf-ok{font-size:13.5px;color:#1E8E3E}
@media (max-width:640px){.mn .cf-r{grid-template-columns:minmax(0,1fr)}}
/* Común a todas las páginas. Formulario rápido del menú: privacidad (mismo criterio que /contacto/) */
.mn .cf-legal{display:grid;gap:8px;margin:2px 0 4px;padding:10px 12px;border-radius:12px;background:rgba(17,17,17,.035);border:1px solid rgba(17,17,17,.06)}
.mn .cf label.cf-okp{display:flex!important;flex-direction:row!important;gap:9px;align-items:flex-start;font:400 12.5px/1.45 'Instrument Sans',system-ui,sans-serif;color:var(--ink2,#5B606A);cursor:pointer;text-transform:none;letter-spacing:0}
.mn .cf-okp input{margin:1px 0 0;width:16px!important;height:16px!important;min-height:0!important;padding:0!important;accent-color:#111;flex:none}
.mn .cf-okp a{color:var(--ink,#111);text-decoration:underline}
.mn .cf-legal details summary{cursor:pointer;font:500 10.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2,#5B606A);list-style:none}
.mn .cf-legal details summary::-webkit-details-marker{display:none}
.mn .cf-legal details summary::after{content:" +"}
.mn .cf-legal details[open] summary::after{content:" ×"}
.mn .cf-info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;margin:10px 0 0;font:400 12px/1.45 'Instrument Sans',system-ui,sans-serif;color:var(--ink2,#5B606A)}
.mn .cf-info dt{font-weight:600;color:var(--ink,#111)}
.mn .cf-info dd{margin:0}
.mn .cf-legal.bad{border-color:#F3B4AE;background:#FFF6F5}

/* ===== Menú · paneles Metodología, Sobre nosotros y Contacto (mismo lenguaje que Servicios) ===== */
.mn{--mhb:#A9C7FB;--mhg:#A8E0B9;--mhy:#FCE19A;--mhbt:#EEF4FF;--mhgt:#EEF8F1;--mhyt:#FFF8E4}
/* Metodología: cinco pasos con su cuadro de color y una línea que los une */
.mn .metl{display:block;list-style:none;margin:0;padding:14px 0 0;counter-reset:none}
.mn .metl li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:4px 14px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line)}
.mn .metl li:last-child{border-bottom:0}
.mn .metl li:not(:last-child)::after{content:"";position:absolute;left:22.5px;top:calc(50% + 19px);height:calc(100% - 38px);width:1px;background:linear-gradient(var(--c),transparent);opacity:.55}
.mn .metl span{grid-row:1/3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--c);box-shadow:0 8px 16px -8px var(--c);font:600 12px/1 var(--mono);letter-spacing:.02em;color:#fff}
.mn .metl li:nth-child(3) span{color:#5C4300}
.mn .metl b{font:500 16.5px/1.25 var(--sans);letter-spacing:0;color:var(--ink)}
.mn .metl small{font:500 10.5px/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
/* Sobre nosotros: foto, cita, tres datos en color y enlaces como filas */
.mn .ab{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;padding:18px 0 16px}
.mn .ab-ph{width:84px;height:84px;border-radius:50%;flex:none}
.mn .ab-ph.has-ph{overflow:hidden;padding:0;border:0;background:#E9E7E2;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(17,17,17,.08),0 12px 24px -12px rgba(17,17,17,.45)}
.mn .ab-ph.has-ph img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.mn .ab-q{margin:0;font:400 clamp(17px,1.45vw,19.5px)/1.38 var(--disp);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty}
.mn .ab-who{margin:10px 0 0;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.mn .abk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;border:0}
.mn .abk li{padding:14px 14px 13px;border:1px solid rgba(17,17,17,.06);border-radius:14px;background:var(--mhbt)}
.mn .abk li+li{border-left:1px solid rgba(17,17,17,.06);border-top:1px solid rgba(17,17,17,.06);padding-left:14px}
.mn .abk li:nth-child(2){background:var(--mhyt)}
.mn .abk li:nth-child(3){background:var(--mhgt)}
.mn .abk b{display:block;font:500 26px/1 var(--disp);letter-spacing:-.04em;color:var(--ink)}
.mn .abk em{font-style:normal;font-size:.62em;color:#F4B400;vertical-align:.18em}
.mn .abk small{display:block;margin-top:7px;font-size:12.5px;line-height:1.35;color:var(--ink2)}
.mn .ablk{display:block;margin:10px 0 0;padding:0;list-style:none}
.mn .ablk a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line);font:500 16px/1.25 var(--sans);color:var(--ink);text-decoration:none;transition:padding .2s}
.mn .ablk li:last-child a{border-bottom:0}
.mn .ablk a::after{content:"→";color:var(--dim);transition:transform .2s,color .2s}
.mn .ablk a:hover{padding-left:10px}
.mn .ablk a:hover::after{color:var(--ink);transform:translateX(3px)}
/* Contacto: los colores del formulario de /contacto/ */
.mn .cf-ch span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-color:rgba(17,17,17,.14);transition:background .2s,border-color .2s,color .2s}
.mn .cf-ch span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mhb);transition:transform .2s}
.mn .cf-ch label:nth-child(3n+1) span::before{background:#7DCB95}
.mn .cf-ch label:nth-child(3n+2) span::before{background:#8DB4F8}
.mn .cf-ch label:nth-child(3n) span::before{background:#F6CF5F}
.mn .cf-ch input:checked + span::before{transform:scale(1.25)}
.mn .cf-ch label:hover span{border-color:rgba(17,17,17,.28)}
.mn .cf input[type=text],.mn .cf textarea{border-color:rgba(17,17,17,.14);border-radius:14px;transition:border-color .2s,box-shadow .2s}
.mn .cf input[type=text]:hover,.mn .cf textarea:hover{border-color:rgba(17,17,17,.28)}
.mn .cf input[type=text]:focus,.mn .cf textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 4px rgba(169,199,251,.45)}
.mn .cf-legal{border-radius:16px;background:linear-gradient(135deg,var(--mhbt),var(--mhgt) 60%,var(--mhyt));border:1px solid rgba(17,17,17,.06)}
.mn .cf-legal.bad{border-color:#F3B4AE;background:#FFF6F5}
@media (max-width:640px){
 .mn .ab{grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start}
 .mn .ab-ph{width:64px;height:64px}
 .mn .ab-q{font-size:16.5px}
 .mn .abk{gap:6px}
 .mn .abk li{padding:11px 10px}
 .mn .abk li+li{padding-left:10px}
 .mn .abk b{font-size:21px}
 .mn .abk small{font-size:11.5px}
}

/* Menú · el enlace a la página de cada panel pasa a ser un botón visible al final del panel */
.mn #mp-serv.on,.mn #mp-met.on,.mn #mp-about.on{display:flex;flex-direction:column}
.mn #mp-serv .mph,.mn #mp-met .mph,.mn #mp-about .mph{display:contents}
.mn #mp-serv .mn-lb,.mn #mp-met .mn-lb,.mn #mp-about .mn-lb{padding-bottom:16px;margin:0 0 6px;border-bottom:1px solid var(--line)}
.mn #mp-serv .mpall,.mn #mp-met .mpall,.mn #mp-about .mpall{order:99;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:15px 24px;border:0;border-radius:100px;background:var(--ink);color:#fff;font:600 15px/1 var(--sans);text-decoration:none;box-shadow:0 14px 28px -16px rgba(17,17,17,.6);transition:transform .2s,box-shadow .2s}
.mn #mp-serv .mpall:hover,.mn #mp-met .mpall:hover,.mn #mp-about .mpall:hover{transform:translateY(-1px);box-shadow:0 18px 32px -16px rgba(17,17,17,.7)}
@media (max-width:640px){.mn #mp-serv .mpall,.mn #mp-met .mpall,.mn #mp-about .mpall{align-self:stretch;justify-content:center}}

/* ===== Menú · un color por sección (aprobado 9 nov, prueba 4 · botón sólido) ===== */
.mnA .mn-back{display:none!important}
.mn-pl{display:block;position:absolute;inset:0;z-index:2;border-radius:12px;text-decoration:none}
.mn .metl li{transition:background .2s,padding .2s;border-radius:12px}
.mn .metl li:hover{background:rgba(17,17,17,.035);padding-left:10px}
.mn-pl::after{content:"→";position:absolute;right:12px;top:50%;transform:translate(-6px,-50%);opacity:0;color:var(--ink);font:500 18px/1 var(--sans);transition:opacity .2s,transform .2s}
.mn .metl li:hover .mn-pl::after{opacity:1;transform:translate(0,-50%)}
.mn-vbk{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font:600 14.5px/1 var(--sans);color:var(--ink);background:#fff;border:1px solid rgba(17,17,17,.14);border-radius:100px;padding:11px 18px 11px 14px;transition:border-color .2s,transform .2s,background .2s}
.mn-vbk i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;transition:transform .2s}
.mn-vbk:hover{border-color:var(--ink)}
.mn-vbk:hover i{transform:translateX(-3px)}
.mnA-r{transition:background .4s}
.mnA-r:has(#mp-serv.on){background:linear-gradient(170deg,#E3F5EC,rgba(255,255,255,.7) 55%)}
.mnA-r:has(#mp-met.on){background:linear-gradient(170deg,#FFF0CC,rgba(255,255,255,.7) 55%)}
.mnA-r:has(#mp-about.on){background:linear-gradient(170deg,#EAF1FE,rgba(255,255,255,.7) 55%)}
.mnA-r:has(#mp-contact.on){background:linear-gradient(170deg,#FFE6DA,rgba(255,255,255,.7) 55%)}
.mn-vtop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 16px}
.mn-vtop .mn-vbk{background:rgba(255,255,255,.8);border-color:transparent}
.mn-vtop .mn-vbk i{background:var(--sc);color:var(--sci)}
.mn #mp-serv .mn-lb,.mn #mp-met .mn-lb,.mn #mp-about .mn-lb,.mn #mp-casos .mn-lb,.mn #mp-blog .mn-lb{border-color:color-mix(in srgb,var(--sc) 45%,transparent)}
.mn #mp-serv .mpall,.mn #mp-met .mpall,.mn #mp-about .mpall,.mn #mp-casos .mpall,.mn #mp-blog .mpall{align-self:stretch;justify-content:space-between;min-height:60px;padding:10px 10px 10px 24px;box-sizing:border-box;border-radius:18px;background:var(--sc);color:var(--sci);font:600 17px/1.2 var(--disp);box-shadow:0 18px 32px -20px var(--sc)}
.mn .mpall::after{content:"→";display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.28);font:500 18px/1 var(--sans);transition:transform .2s}
.mn .mpall:hover::after{transform:translateX(3px)}
/* Contacto: el enlace a la página también va abajo, en grande y con el color de la sección */
.mn #mp-contact.on{display:flex;flex-direction:column}
.mn #mp-contact .mph{display:contents}
.mn #mp-contact .mn-lb{padding-bottom:16px;margin:0 0 6px;border-bottom:1px solid color-mix(in srgb,var(--sc) 45%,transparent)}
.mn #mp-contact .mpall{order:99;display:inline-flex;align-items:center;align-self:stretch;justify-content:space-between;gap:10px;margin-top:20px;min-height:60px;padding:10px 10px 10px 24px;box-sizing:border-box;border:0;border-radius:18px;background:var(--sc);color:var(--sci);font:600 17px/1.2 var(--disp);text-decoration:none;white-space:normal;box-shadow:0 18px 32px -20px var(--sc);transition:transform .2s,box-shadow .25s}
.mn #mp-contact .mpall:hover{transform:translateY(-2px)}
.mn #mp-contact .mpall::after{content:"→";display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.32);font:500 18px/1 var(--sans);transition:transform .2s}
.mnA .mn-main li a::before{content:"";flex:none;align-self:center;width:10px;height:10px;border-radius:50%;background:var(--sc);opacity:.9;transition:transform .2s}
.mnA .mn-main a.cur::before{transform:scale(1.5)}
.mnA .mn-main a i{color:var(--sc)!important}
.mnA .mn-main ul.has a:not(.cur)::before{opacity:.35}
.mn .metl li:hover{background:rgba(255,255,255,.6)}

/* Casos y Blog (aún sin página en madmin.es): mismo botón al final del panel */
.mn #mp-casos.on,.mn #mp-blog.on{display:flex;flex-direction:column}
.mn #mp-casos .mph,.mn #mp-blog .mph{display:contents}
.mn #mp-casos .mn-lb,.mn #mp-blog .mn-lb{padding-bottom:16px;margin:0 0 6px;border-bottom:1px solid var(--line)}
.mn #mp-casos .mpall,.mn #mp-blog .mpall{order:99;display:inline-flex;align-items:center;gap:10px;margin-top:20px;border:0;text-decoration:none}
.mnA-r:has(#mp-casos.on){--st:#FBEDE4}
.mnA-r:has(#mp-blog.on){--st:#ECEFEE}
.mnA-r:has(#mp-casos.on),.mnA-r:has(#mp-blog.on){background:linear-gradient(172deg,var(--st,#fff),rgba(255,255,255,.72) 52%)}
/* ---- mimo sobre la 4 ---- */
.mnA-r:has(#mp-serv.on),.mnA-r:has(#mp-met.on),.mnA-r:has(#mp-about.on),.mnA-r:has(#mp-contact.on){background:linear-gradient(172deg,var(--st,#fff),rgba(255,255,255,.72) 52%)}
.mnA-r{--st:#fff}
.mnA-r:has(#mp-serv.on){--st:#E6F5EC}
.mnA-r:has(#mp-met.on){--st:#FFF3D6}
.mnA-r:has(#mp-about.on){--st:#EAF1FE}
.mnA-r:has(#mp-contact.on){--st:#FFEBE1}
.mn .metl li:hover{background:color-mix(in srgb,var(--st) 70%,#fff)}
.mn .mpall{transition:transform .2s,box-shadow .25s,background .25s,border-color .25s}
.mn #mp-serv .mpall:hover,.mn #mp-met .mpall:hover,.mn #mp-about .mpall:hover,.mn #mp-casos .mpall:hover,.mn #mp-blog .mpall:hover{transform:translateY(-2px)}
.mn .mpall::after{transition:transform .2s,background .2s}
@media (max-width:640px){
 #mp-contact .mph{flex-direction:column;align-items:flex-start;gap:10px}
 .mn-vtop{position:sticky;top:10px;z-index:6;pointer-events:none}
 .mn-vtop .mn-vbk{pointer-events:auto;box-shadow:0 10px 24px -14px rgba(17,17,17,.45)}
}

@media (hover:none){.mn .metl li:hover{background:none;padding-left:4px}.mn-pl::after{display:none}}


.bll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:12px}
.bll li{position:relative;isolation:isolate}
.bll li::before{content:"";position:absolute;z-index:-1;left:16%;right:16%;bottom:-10px;height:55%;border-radius:50%;background:var(--c);filter:blur(24px);opacity:.22;transition:opacity .3s,transform .3s}
.bll li:hover::before{opacity:.45;transform:translateY(3px)}
.bll a{display:flex;flex-direction:column;height:100%;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.bll a:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(30,40,70,.5)}
.blt{position:relative;display:block;height:84px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--c2) 55%,#fff),#fff 85%)}
.blt > i{position:absolute;border-radius:50%;filter:blur(18px)}
.blt > i:nth-child(1){width:90px;height:90px;right:-10px;top:-30px;background:var(--c2);opacity:.9}
.blt > i:nth-child(2){width:70px;height:70px;left:30%;bottom:-40px;background:color-mix(in srgb,var(--c) 45%,#fff);opacity:.7}
.blt::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(17,17,17,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.05) 1px,transparent 1px);background-size:14px 14px;-webkit-mask:linear-gradient(90deg,transparent,#000);mask:linear-gradient(90deg,transparent,#000)}
.bli{position:absolute;left:16px;bottom:14px;z-index:1;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--c);box-shadow:0 8px 16px -8px var(--c)}
.bli svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.blx{display:flex;flex-direction:column;gap:8px;flex:1;padding:14px 16px 16px}
.blc{display:block;font:500 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink2)}
.bll b{font:500 17.5px/1.25 var(--disp);letter-spacing:-.02em}
.bll small{margin-top:auto;padding-top:6px;font:600 13px/1 var(--sans);color:var(--ink)}
.bll small em{font-style:normal;display:inline-block;transition:transform .25s;color:var(--c)}
.bll a:hover small em{transform:translateX(4px)}
@media (max-width:640px){.svgrp,.bll{grid-template-columns:minmax(0,1fr)}}


:root{
  color-scheme:light;
  --page:#FFFFFF; --soft:#F6F6F5; --ink:#111111; --ink2:#5A5A5A; --dim:#8C8C8C; --line:#E4E4E2; --frame:#BDBDBA; --grid:rgba(17,17,17,.045);
  --ok:#1E8E3E; --star:#F4B400; --gblue:#4285F4; --gred:#EA4335; --gyel:#FBBC04; --ggreen:#34A853; --glink:#1A0DAB; --gurl:#4D5156;
  --disp:'Sora',system-ui,sans-serif; --sans:'Instrument Sans',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
}
html,body{margin:0;background:var(--page);color:var(--ink);overflow-x:clip}
body{font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,40px);position:relative}
.hd{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;position:relative;z-index:3}
.pill{justify-self:start;display:inline-flex;align-items:center;border:1px solid var(--ink);border-radius:100px;padding:9px 18px;font:600 12.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--ink);background:var(--page)}
.hd .pill:last-child{justify-self:end;background:var(--ink);color:var(--page)}
.intro{position:relative;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);min-width:120px;min-height:40px}
.intro > span{font:600 22px/1 var(--sans);letter-spacing:-.04em}
.intro > span b{font-weight:600;color:var(--dim)}
.intro svg{width:38px;height:38px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none}
.intro.play svg{animation:mkIn 1.9s ease forwards}
.intro.play > span{animation:wdIn 1.9s ease forwards}
@keyframes mkIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}18%{opacity:1;transform:translate(-50%,-50%) scale(1)}62%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.6)}}
@keyframes wdIn{0%,62%{opacity:0;letter-spacing:.08em}100%{opacity:1;letter-spacing:-.04em}}
.fr{position:relative;border:1px dashed transparent;border-radius:10px;transition:border-color .25s,background .25s}
.fr > .tg{position:absolute;top:-10px;left:12px;font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);background:var(--page);border:1px solid var(--frame);border-radius:4px;padding:4px 6px;opacity:0;transition:opacity .25s;white-space:nowrap}
.fr.hi{background:rgba(17,17,17,.025)}
.hero h1{display:block}
.h1kw{font:500 13px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.ctas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:100px;padding:14px 24px;font:600 15px/1 var(--sans);text-decoration:none;background:var(--ink);color:var(--page)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--frame)}
.insp ol{display:grid}
.insp li p{color:var(--ink);line-height:1.4;min-width:0;overflow-wrap:anywhere}
.insp li p small{display:block;color:var(--ink2);font-size:12.5px;margin-top:2px}
.ruler,.coord,.secn{display:none}
.nt p{font-size:13px;line-height:1.35;color:var(--ink2);min-width:0}
@keyframes ring{0%,100%{transform:rotate(0)}10%{transform:rotate(-14deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}50%{transform:rotate(0)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(30,142,62,.4)}100%{box-shadow:0 0 0 14px rgba(30,142,62,0)}}
.log ol{display:grid;padding:6px 0;min-height:236px;align-content:start}
@keyframes logIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
.blk{padding-block:clamp(80px,10vw,130px) 0}
.blk h2{font:500 clamp(32px,4.2vw,56px)/1.06 var(--disp);letter-spacing:-.035em;text-wrap:balance}
.blk h2 .h2kw{display:block;font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:16px}
.lead{font:400 clamp(18px,1.5vw,21px)/1.55 var(--sans);color:var(--ink2)}
.lead strong{color:var(--ink);font-weight:600}
@keyframes qflo{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-6%) scale(1.08)}100%{transform:translate(-5%,5%) scale(.95)}}
@keyframes qflo2{0%{transform:translate(0,0) rotate(0) scale(1)}100%{transform:translate(8%,-4%) rotate(25deg) scale(1.12)}}
.qh .lead strong{background:linear-gradient(transparent 62%,#FDE293 62%,#FDE293 92%,transparent 92%);padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.qh .lead strong em{font-style:normal}
@keyframes qflo2{0%{transform:translate(0,0) rotate(0) scale(1)}100%{transform:translate(8%,-4%) rotate(25deg) scale(1.12)}}
.ctas .btn{position:relative;transition:transform .25s,box-shadow .25s}
.ctas .btn:not(.ghost){box-shadow:0 14px 30px -12px rgba(17,17,17,.45)}
.ctas .btn:not(.ghost)::before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:inherit;background:linear-gradient(110deg,#A9C7FB,#A8E0B9 50%,#FCE19A);filter:blur(10px);opacity:.9}
.ctas .btn:hover{transform:translateY(-2px)}
.ctas .btn.ghost{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(17,17,17,.14)}
.ctas .fr,.hcol .fr{isolation:isolate}
.panel{margin-top:clamp(28px,4vw,44px);background:linear-gradient(135deg,#EEF4FE 0%,#F1F8F3 48%,#FEF8E8 100%);border:1px solid var(--line);border-radius:22px;padding:clamp(16px,2.6vw,32px)}
.pfoot p{font:500 clamp(18px,1.6vw,22px)/1.35 var(--disp);letter-spacing:-.02em;max-width:42ch}
.quote p{font:400 clamp(18px,1.6vw,21px)/1.5 var(--sans)}
.intro2{max-width:62ch;margin-top:18px;font:400 clamp(17px,1.4vw,19px)/1.55 var(--sans);color:var(--ink2)}
.intro2 span{color:var(--dim)}
.blk h2 + .cs-note,.cs-note,.pr-sub,.sv-p{font:400 clamp(17px,1.4vw,19px)/1.55 var(--sans);color:var(--ink2);max-width:44ch}
.cs-tabs button{position:relative;overflow:hidden;border:0;background:transparent;border-radius:10px;padding:10px 8px;font:500 13px/1.2 var(--sans);color:var(--ink2);cursor:pointer;text-align:left;display:grid;gap:4px}
.cs-tabs button span{font:500 10px/1 var(--mono);letter-spacing:.08em;color:var(--dim)}
.cs-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 4px 14px -8px rgba(0,0,0,.3)}
.cs-tabs button i{position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,#4285F4,#34A853,#FBBC04)}
.cs-tabs button[aria-selected="true"] i{width:100%}
.cs-tabs.manual button i{animation:none!important;width:0}
@keyframes tbar{to{width:100%}}
.chap h3{font:500 clamp(22px,2vw,28px)/1.2 var(--disp);letter-spacing:-.025em;margin-bottom:10px}
.chap p{color:var(--ink2);line-height:1.55}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.op-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--frame);background:#fff;font:400 22px/1 var(--sans);cursor:pointer;color:var(--ink)}
.op-nav button:hover{border-color:var(--ink)}
.rc p{font:400 16px/1.55 var(--sans);color:var(--ink);flex:1}
.logos > p{font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.mq ul{list-style:none;margin:0;padding:0;display:flex;flex:none;gap:48px;padding-right:48px;animation:mq 38s linear infinite}
@keyframes mq{to{transform:translateX(-100%)}}
.pr-steps button{border:0;background:transparent;padding:18px clamp(10px,1.4vw,20px);text-align:left;cursor:pointer;display:grid;gap:4px;border-right:1px solid var(--line);color:var(--ink2)}
.pr-steps button:last-of-type{border-right:0}
.pr-steps button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:inset 0 -3px 0 var(--c)}
.pr-steps button[aria-selected="true"] .rn{color:var(--c)}
.ptx h3{font:500 clamp(30px,3.2vw,44px)/1.05 var(--disp);letter-spacing:-.035em;margin:16px 0 12px}
.ptx > p:not(.pl):not(.psv){font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--ink2)}
.ptx > p b{color:var(--ink);font-weight:600}
.ptx .psv a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--frame)}
.pp.on .mr,.pp.on .ba > *,.pp.on .rep{animation:fadeUp .5s ease both}
.pdo h3{font:500 clamp(20px,1.9vw,26px)/1.2 var(--disp);letter-spacing:-.025em;margin-bottom:8px}
.pdo p{color:var(--ink2);line-height:1.55}
.px p{font-size:14.5px;line-height:1.5;color:var(--ink2)}
.svg6 a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 14px;align-items:center;height:100%;padding:22px;border:1px solid var(--line);border-radius:20px;text-decoration:none;color:var(--ink);background:linear-gradient(160deg,#fff 45%,color-mix(in srgb,var(--c) 10%,#fff))}
.svg6 a:hover .ar{background:var(--ink);border-color:var(--ink)}
.svg6 a:hover .ar svg{stroke:#fff}
.ecom .h2kw{font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}
.ecom h3{font:500 clamp(22px,2.2vw,30px)/1.15 var(--disp);letter-spacing:-.03em;margin-bottom:10px}
.ecom p{color:var(--ink2);line-height:1.55;max-width:62ch}
.ecom p a{color:var(--ink)}
.ia-l p{color:var(--ink2);line-height:1.6;margin-top:16px;font-size:clamp(16px,1.3vw,18px);max-width:52ch}
.ia-l p b{color:var(--ink);font-weight:600}
.ia-l .btn{margin-top:24px}
.ia .btn.ghost{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fq-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px clamp(24px,5vw,80px);align-items:start}
.fq-g h2{position:sticky;top:90px}
.fq-l{border-top:1px solid var(--line)}
.fq-l details{border-bottom:1px solid var(--line)}
.fq-l summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer}
.fq-l summary::-webkit-details-marker{display:none}
.fq-l h3{font:500 clamp(18px,1.6vw,21px)/1.3 var(--disp);letter-spacing:-.02em}
.fq-l summary i{position:relative;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);transition:background .25s,transform .3s}
.fq-l summary i::before,.fq-l summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.fq-l summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
.fq-l details[open] summary i{background:#E6F4EA;border-color:#CEEAD6}
.fq-l details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.fq-l details p{padding:0 48px 24px 0;color:var(--ink2);line-height:1.6;font-size:16.5px}
.ct{padding-bottom:clamp(40px,6vw,80px)}
.ct-box{position:relative;isolation:isolate;padding-block:clamp(56px,8vw,110px);text-align:center;display:grid;justify-items:center}
.ct-box::before{content:"";position:absolute;z-index:-3;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:linear-gradient(180deg,#fff 0%,#F7F8FA 18%,#F7F8FA 82%,#fff 100%)}
.ct-box::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background-image:linear-gradient(rgba(17,17,17,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(55% 70% at 50% 50%,#000,transparent 75%);mask:radial-gradient(55% 70% at 50% 50%,#000,transparent 75%)}
.ct-bg{position:absolute;z-index:-2;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;pointer-events:none;-webkit-mask:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.ct-bg i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.6;animation:qflo 16s ease-in-out infinite alternate}
.ct-bg i:nth-child(1){width:38%;height:70%;left:4%;top:20%;background:#A9C7FB}
.ct-bg i:nth-child(2){width:34%;height:62%;left:36%;top:38%;background:#A8E0B9;animation-delay:-5s}
.ct-bg i:nth-child(3){width:34%;height:64%;right:2%;top:8%;background:#FCE19A;animation-delay:-10s}
.ct-glow{position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);pointer-events:none;background:radial-gradient(420px 320px at var(--mx,50%) var(--my,40%),rgba(255,255,255,.9),transparent 70%);mix-blend-mode:soft-light}
.ct .secn{justify-content:center}
.ct .secn::after{display:none}
.ct-h{font:500 clamp(36px,5.4vw,76px)/1.02 var(--disp);letter-spacing:-.045em;max-width:16ch;text-wrap:balance}
.ct-p{margin-top:20px;max-width:58ch;font-size:clamp(17px,1.4vw,19px);line-height:1.55;color:var(--ink2)}
.ct-b{justify-content:center;margin-top:30px}
.ct .btn.ghost{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ct-t{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ct-t li{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:100px;background:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);font-size:14px;color:var(--ink2)}
.ct-t li b{color:var(--ink);font-weight:600}
.ct-t svg{width:15px;height:15px;fill:none;stroke:#1E8E3E;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ft{border-top:1px solid var(--ink);margin-top:clamp(20px,3vw,40px);padding:clamp(32px,4vw,56px) 0 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:32px clamp(24px,5vw,80px)}
.ft-brand{font:600 30px/1 var(--sans);letter-spacing:-.04em;color:var(--ink);text-decoration:none}
.ft-brand b{font-weight:600;color:#34A853}
.ft-a p{margin-top:14px;color:var(--ink2);max-width:34ch;line-height:1.5}
.ft-mail{display:inline-block;margin-top:16px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--frame)}
.ft-n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ft-n p{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.ft-n a{display:block;color:var(--ink2);text-decoration:none;font-size:14.5px;padding:5px 0}
.ft-n a:hover{color:var(--ink)}
.ft-b{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
@media (prefers-reduced-motion:reduce){.cap-bg i,.ct-bg i,.mq ul{animation:none}}
@media (max-width:980px){.cs-top,.pr-top,.sv-top,.op-top,.cs-box,.pp,.cap,.fq-g,.ft{grid-template-columns:minmax(0,1fr)}.fq-g h2{position:static}}
@media (max-width:640px){.ft-n{grid-template-columns:repeat(2,minmax(0,1fr))}.fq-l details p{padding-right:0}.cs-tabs button{font-size:12px}}
.blk.cs:has(.pin.on),.blk.pr:has(.pin.on){padding-top:clamp(40px,5vw,70px)}
.pin.on .cs-tabs button i{animation:none!important;width:var(--tp,0%)}
@media (max-height:860px){.pin.on .secn{margin-bottom:10px}.pin.on .blk h2,.pin.on h2{font-size:clamp(28px,3.4vw,44px)}.pin.on .ptx h3{font-size:32px;margin:10px 0 8px}}
.mn{position:fixed;inset:0;z-index:200;overflow-y:auto;overscroll-behavior:contain;background:#fff;clip-path:circle(0 at var(--ox,60px) var(--oy,38px));transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
.mn[hidden]{display:block;visibility:hidden}
.mn.open{clip-path:circle(150vmax at var(--ox,60px) var(--oy,38px));visibility:visible}
.mn-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.mn-bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:qflo 18s ease-in-out infinite alternate}
.mn-bg i:nth-child(1){width:40%;height:60%;left:-8%;top:40%;background:#A9C7FB}
.mn-bg i:nth-child(2){width:36%;height:55%;left:45%;top:55%;background:#A8E0B9;animation-delay:-6s}
.mn-bg i:nth-child(3){width:34%;height:55%;right:-6%;top:-10%;background:#FCE19A;animation-delay:-12s}
.mn-bg::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.14;mix-blend-mode:multiply}
.mn-in{position:relative;max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,40px) 32px;min-height:100%;display:flex;flex-direction:column}
.mn-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;flex:none}
.mn-x{justify-self:start;gap:8px;cursor:pointer;background:var(--ink);color:#fff}
.mn-x span{font-size:16px;line-height:0;letter-spacing:0}
.mn-brand{font:600 22px/1 var(--sans);letter-spacing:-.04em;color:var(--ink);text-decoration:none}
.mn-brand b{font-weight:600;color:var(--ink2)}
.mn-ct{justify-self:end}
.mn ul{list-style:none;margin:0;padding:0}
.mn-lb{display:flex;align-items:center;gap:8px;font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:16px}
.mn .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34A853;box-shadow:0 0 0 4px rgba(52,168,83,.16);flex:none}
.mn-main a{display:flex;align-items:baseline;gap:14px;padding:5px 0;white-space:nowrap;font:500 clamp(28px,3vw,44px)/1.1 var(--disp);letter-spacing:-.04em;color:var(--ink);text-decoration:none;transition:color .2s}
.mn-main a span{font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--dim);transform:translateY(-.9em)}
.mn-main a i{font-style:normal;font-size:.6em;opacity:0;transform:translateX(-10px);transition:opacity .25s,transform .25s;color:#34A853}
.mn-main a:hover i{opacity:1;transform:none}
.mn-main ul:hover a{color:#A3A3A0}
.mn-main ul:hover a:hover{color:var(--ink)}
.mn-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:20px;margin-top:auto}
.mn-where{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;color:var(--ink2)}
.mn-where a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--frame)}
.mn-cta{display:flex;align-items:center;gap:20px;margin-left:auto}
.mn-mail{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--frame)}
.mn .rv1{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.mn.open .rv1{opacity:1;transform:none;transition-delay:calc(.28s + var(--d,0) * .045s)}
.mnA-g{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px clamp(30px,6vw,100px);align-items:center;padding:clamp(24px,5vh,56px) 0}
.mnA-need ul{display:grid;gap:8px}
.mnA-need a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 16px 12px 12px;border-radius:16px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:0 1px 0 #fff inset,0 10px 26px -20px rgba(30,40,70,.45);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.mnA-need a:hover{transform:translateX(4px);box-shadow:0 1px 0 #fff inset,0 16px 30px -18px rgba(30,40,70,.5)}
.mnA-need li:nth-child(4) .ni2 svg{stroke:#5C4300}
.mnA-need a > i{font-style:normal;color:var(--dim);transition:color .2s}
.mnA-need a:hover > i{color:var(--ink)}
.mnB-g{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px clamp(30px,5vw,80px);align-items:start;padding:clamp(24px,5vh,52px) 0 28px}
.mnB-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mnB-cards li{position:relative;isolation:isolate}
.mnB-cards li::before{content:"";position:absolute;z-index:-1;left:14%;right:14%;bottom:-10px;height:60%;border-radius:50%;background:var(--c);filter:blur(26px);opacity:.3;transition:opacity .3s}
.mnB-cards li:hover::before{opacity:.6}
.mnB-cards a{display:grid;gap:8px;align-content:start;height:100%;padding:20px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,#fff 45%,color-mix(in srgb,var(--c) 10%,#fff));text-decoration:none;color:var(--ink);transition:transform .25s}
.mnB-cards a:hover{transform:translateY(-3px)}
.mnB-cards .qi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--c);box-shadow:0 8px 18px -8px var(--c);margin-bottom:6px}
.mnB-cards .qi svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mnB-cards li:nth-child(4) .qi svg{stroke:#5C4300}
.mnB-cards b{font:500 clamp(17px,1.5vw,20px)/1.2 var(--disp);letter-spacing:-.02em}
.mnB-cards small{font:500 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.mnB-side a{display:block;padding:8px 0;font:500 clamp(20px,1.8vw,26px)/1.15 var(--disp);letter-spacing:-.03em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.mnB-side a:hover{color:#1E8E3E}
.mnB-where{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-bottom:24px}
.mnB-where summary{list-style:none;display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font-size:15px;color:var(--ink)}
.mnB-where summary::-webkit-details-marker{display:none}
.mnB-where .sm{margin-left:auto;display:flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.mnB-where .sm i{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.mnB-where[open] .sm i{transform:rotate(-135deg)}
.mnB-cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:4px 18px 18px}
.mnB-cities .mn-lb{margin-bottom:10px}
.cc a{padding:7px 12px;border-radius:100px;border:1px solid var(--line);background:#fff;font-size:13.5px;color:var(--ink);text-decoration:none}
.cc a:hover{border-color:var(--ink)}
.mnC-doors button{display:flex;align-items:baseline;gap:16px;width:100%;padding:10px 0;border:0;background:none;cursor:pointer;text-align:left;font:500 clamp(32px,3.6vw,54px)/1.08 var(--disp);letter-spacing:-.045em;color:#B3B3B0;transition:color .25s}
.mnC-doors button span{font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--dim);transform:translateY(-1.1em)}
.mnC-doors button[aria-selected="true"]{color:var(--ink)}
.mnC-doors button[aria-selected="true"] span{color:var(--c)}
.mnC-doors button:hover{color:var(--ink)}
.mnC-p ul{display:grid;gap:8px}
.mnC-p a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:0 1px 0 #fff inset,0 10px 26px -20px rgba(30,40,70,.45);text-decoration:none;color:var(--ink);transition:transform .2s}
.mnC-p a:hover{transform:translateX(4px)}
.mnC-p a i{grid-column:2;grid-row:1/3;font-style:normal;color:var(--c)}
@media (prefers-reduced-motion:reduce){.mn{transition:none}.mn-bg i{animation:none}.mn *{transition:none!important;animation:none!important}}
@media (max-width:980px){.mnA-g,.mnC-g,.mnB-g{grid-template-columns:minmax(0,1fr)}.mnB-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mn-brand{display:none}.mn-top{grid-template-columns:1fr 1fr}.mnB-cards{grid-template-columns:minmax(0,1fr)}.mnB-cards a{grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:14px;align-items:center}.mnB-cards .qi{grid-row:1/3;margin:0;width:38px;height:38px}.mnB-cards b{font-size:16.5px}.mnB-cities{grid-template-columns:minmax(0,1fr)}.mn-cta{margin-left:0}.mnB-where .sm{display:none}.mnC-doors button{font-size:30px}}
.mnD .mn-lb i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.mnD .mn-lb2{margin-top:26px}
.mnD .mn-need{padding:clamp(18px,3vh,32px) 0 clamp(18px,3vh,28px);border-bottom:1px solid var(--line)}
.mnD .mn-need ul{display:flex;flex-wrap:wrap;gap:8px}
.mnD .mn-need a{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:100px;background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);font:500 15px/1 var(--sans);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.mnD .mn-need a i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent)}
.mnD .mn-need a:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(0,0,0,.4)}
.mnD .mn-grid{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));gap:28px clamp(20px,3vw,44px);padding:clamp(22px,4vh,40px) 0;flex:1}
.mnD .mn-main a{display:flex;align-items:baseline;gap:14px;padding:5px 0;white-space:nowrap;font:500 clamp(26px,2.6vw,38px)/1.1 var(--disp);letter-spacing:-.04em;color:var(--ink);text-decoration:none}
.mnD .mn-main a span{font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--dim);transform:translateY(-.9em)}
.mnD .mn-main a i{font-style:normal;font-size:.6em;opacity:0;transform:translateX(-10px);transition:opacity .25s,transform .25s;color:#34A853}
.mnD .mn-main a:hover i{opacity:1;transform:none}
.mnD .mn-main ul:hover a{color:#9A9A98}
.mn-main ul:hover a:hover{color:var(--ink)}
.mnD .mn-col a{display:block;padding:7px 0;font:500 16px/1.3 var(--sans);color:var(--ink);text-decoration:none;transition:transform .2s,color .2s}
.mnD .mn-col a small{display:block;font-size:12.5px;color:var(--dim);font-weight:400;margin-top:2px}
.mnD .mn-col a:hover{transform:translateX(4px)}
.mnD .mn-loc li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:15px}
.mnD .mn-loc .lk{display:flex;gap:4px}
.mnD .mn-loc .lk a,.mnD .mn-loc .lk s{display:inline-block;width:44px;padding:5px 0;text-align:center;border-radius:100px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);background:#fff;transform:none}
.mnD .mn-loc .lk s{visibility:hidden}
.mnD .mn-loc .lk a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.mnD .mn-nac{display:flex;flex-wrap:wrap;gap:6px}
.mnD .mn-nac a{display:inline-block;padding:7px 11px;border-radius:100px;border:1px solid var(--line);background:#fff;font-size:13.5px}
.mnD .mn-nac a:hover{border-color:var(--ink);transform:none}
.mnD .mn-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:20px}
.mnD .mn-gd ul{display:flex;flex-wrap:wrap;gap:6px 22px}
.mnD .mn-gd a{font-size:14.5px;color:var(--ink2);text-decoration:none;border-bottom:1px solid var(--frame);padding-bottom:2px}
.mnD .mn-gd a:hover{color:var(--ink);border-color:var(--ink)}
.mnD .mn-gd .mn-lb{margin-bottom:10px}
.mnD .mn-cta{display:flex;align-items:center;gap:20px}
@media (max-width:1100px){.mnD .mn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mnD .mn-grid{grid-template-columns:minmax(0,1fr)}.mnD .mn-need a{font-size:14px;padding:10px 13px}.mnD .mn-foot{flex-direction:column;align-items:flex-start}}
.mnA-g{align-items:start!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important}
.mnA .mn-main{padding-top:6px}
.mnA-r{position:relative;min-height:470px;padding:26px 28px;border-radius:24px;background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(255,255,255,.95);box-shadow:0 1px 0 #fff inset,0 30px 60px -40px rgba(30,40,70,.45)}
.mpn{display:none}
.mpn.on{display:block;animation:fadeUp .35s ease}
.mph{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.mph .mn-lb{margin:0}
.mnA .mn-main a.cur{color:var(--ink)!important}
.mnA .mn-main a.cur i{opacity:1;transform:none}
.mnA .mn-main ul.has a:not(.cur){color:#B0B0AD}
.mn-back{margin-top:18px;border:0;background:none;padding:6px 0;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);cursor:pointer}
.mn-back:hover{color:var(--ink)}
.mnA-r ul,.mnA-r ol{list-style:none;margin:0;padding:0}
.mnA-r .mnA-need ul{display:block}
.mnA-r .mnA-need a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 4px;border-radius:0;background:none;border:0;border-bottom:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:padding .2s}
.mnA-r .mnA-need li:last-child a{border-bottom:0}
.mnA-r .mnA-need a:hover{transform:none;padding-left:10px;box-shadow:none}
.sg ul{display:grid;gap:0}
.sg a{display:block;padding:6px 0;font:500 15px/1.3 var(--sans);color:var(--ink);text-decoration:none;transition:transform .2s,color .2s}
.sg a:hover{transform:translateX(4px);color:#1E8E3E}
.svch button{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:100px;border:1px solid var(--line);background:#fff;font:500 13px/1 var(--sans);color:var(--ink2);cursor:pointer;transition:all .2s}
.svch button i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.svch button span{font:500 10px/1 var(--mono);color:var(--dim)}
.svch button:hover{border-color:var(--ink);color:var(--ink)}
.svch button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.svch button[aria-selected="true"] span{color:rgba(255,255,255,.6)}
.svl a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:padding .2s}
.svl li:last-child a{border-bottom:0}
.svl a:hover{padding-left:10px}
.svl a > i{font-style:normal;color:var(--dim);transition:color .2s}
.svl a:hover > i{color:var(--ink)}
.svl a[style*="FBBC04"] .ni2 svg{stroke:#5C4300}
.cslist a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;align-items:center;padding:18px 4px;text-decoration:none;color:var(--ink);transition:padding .25s}
.cslist a:hover{padding-left:12px}
.cslist a:hover .csn{color:color-mix(in srgb,var(--c) 80%,#000)}
.cslist a i{position:absolute;right:4px;top:18px;font-style:normal;opacity:0;transition:opacity .25s;color:var(--c)}
.cslist a:hover i{opacity:1}
.cslist a:hover .csr{opacity:.25}
.ablk a{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--frame);padding-bottom:2px}
.ablk a:hover{border-color:var(--ink)}
.bll a{display:flex;flex-direction:column;height:100%;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.bll a:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(30,40,70,.5)}
.bll a:hover small em{transform:translateX(4px)}
.cf-b .btn{border:0;cursor:pointer}
@media (max-width:980px){.mnA-g{grid-template-columns:minmax(0,1fr)!important}.mnA-r{min-height:0}}
@media (max-width:640px){.mnA-r{padding:18px}}
html{scroll-padding-top:76px}
.hd{position:sticky!important;top:0;z-index:90!important;transition:height .3s ease}
.hd::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(17,17,17,.07);box-shadow:0 10px 30px -24px rgba(30,40,70,.5);opacity:0;transition:opacity .3s ease}
.hd.stuck{height:64px}
.hd.stuck::before{opacity:1}
.hd .pill{transition:padding .3s ease}
.hd.stuck .pill{padding-block:8px}
.b-tabs button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.6);cursor:pointer;transition:all .2s}
.b-tabs button[aria-selected="true"]{background:#fff;border-color:var(--c);box-shadow:0 12px 26px -18px var(--c)}
.b-tabs button[aria-selected="true"] .b-n{background:var(--c);color:#fff}
@keyframes ringP{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.dock .b2{border-radius:9px}
.dock .b2[aria-pressed="true"]{background:#1A73E8;border-color:#1A73E8;color:#fff}
.dock .dk-lb{font:500 8.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);text-align:center;margin-bottom:-2px}
.b4-tabs button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.6);cursor:pointer;transition:all .2s}
.b4-tabs button[aria-selected="true"]{background:#fff;border-color:var(--c);box-shadow:0 12px 26px -18px var(--c)}
.b4-tabs button[aria-selected="true"] .b-n{background:var(--c);color:#fff}
.paa-q p{margin:8px 0 4px;font-size:13px;line-height:1.45;color:#4D5156}
@keyframes tapP{0%{box-shadow:0 0 0 0 rgba(17,17,17,.28)}70%{box-shadow:0 0 0 14px rgba(17,17,17,0)}100%{box-shadow:0 0 0 0 rgba(17,17,17,0)}}
.d5-sw button{border:0;background:transparent;border-radius:100px;padding:8px 10px;font:500 13px/1 var(--sans);color:var(--ink2);cursor:pointer;transition:all .2s}
.d5-sw button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 4px 12px -8px rgba(0,0,0,.35)}
.d5-sw button[aria-pressed="true"]:last-child{background:var(--c);color:#fff}
.b6-end p{flex:1;min-width:240px;font:400 clamp(18px,1.6vw,22px)/1.35 var(--disp);letter-spacing:-.02em}
.b6-end p b{font-weight:500}
.e6-tabs button{padding:11px 18px;border-radius:100px;border:1px solid var(--line);background:rgba(255,255,255,.7);font:500 16px/1 var(--disp);letter-spacing:-.01em;color:var(--ink2);cursor:pointer;transition:all .2s}
.e6-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 10px 24px -14px var(--c)}
@keyframes e6in{to{opacity:1;transform:none}}
.d8-i > p{font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.dock .b2.free{color:#B5B5B2;border-style:dashed;background:#F4F4F3}
.dock .b2.free[aria-pressed="true"]{background:#9AA0A6;border-color:#9AA0A6;color:#fff}
.v9-sw button{border:0;background:transparent;border-radius:100px;padding:11px 18px;font:500 14.5px/1 var(--sans);color:var(--ink2);cursor:pointer;transition:all .25s}
.v9-sw button[aria-pressed="true"]{background:var(--ink);color:#fff}
.v9-sw button:last-child[aria-pressed="true"]{background:#1E8E3E}
.v10-map ul{list-style:none;margin:0;padding:0}
@keyframes blink{50%{opacity:0}}
.v11-sug button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 18px;border:0;background:none;text-align:left;cursor:pointer;font:400 15px/1.2 Arial,var(--sans);color:#202124;transition:background .15s}
.v11-sug button:hover{background:#F1F3F4}
.v11-sug button[aria-pressed="true"]{background:color-mix(in srgb,var(--c) 9%,#fff)}
@media (max-width:980px){.v10-map ul{display:grid;gap:8px}}
@keyframes typeIn{to{max-width:9em}}
.v13-l button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px 18px;border:0;background:none;text-align:left;cursor:pointer;font:400 15px/1.2 Arial,var(--sans);color:#202124}
.v13-l button:hover{background:#F1F3F4}
.v13-l button svg{width:15px;height:15px;fill:none;stroke:#9AA0A6;stroke-width:2.2}
.v13-l li:has(button[aria-expanded="true"]) .v13-a{display:block;animation:fadeUp .3s ease}
.v13-l button[aria-expanded="true"]{background:color-mix(in srgb,var(--c) 8%,#fff)}
.dock .b2.star{font-size:15px;color:#E8A600;border-color:#F4C542;background:#FFF8E1}
.dock .b2.star[aria-pressed="true"]{background:#F4B400;border-color:#F4B400;color:#fff;box-shadow:0 0 0 3px rgba(244,180,0,.25)}
.mpl img{height:30px;width:auto;display:block}
.dock .b3,.dock .b4{border-radius:9px}
.dock .b3[aria-pressed="true"],.dock .b4[aria-pressed="true"]{background:#313652;border-color:#313652;color:#fff}
.dock .b3.free,.dock .b4.free{color:#B5B5B2;border-style:dashed;background:#F4F4F3}
.dock .b3.star,.dock .b4.star{font-size:15px;color:#E8A600;border-color:#F4C542;background:#FFF8E1}
.dock .b3.star[aria-pressed="true"],.dock .b4.star[aria-pressed="true"]{background:#F4B400;border-color:#F4B400;color:#fff;box-shadow:0 0 0 3px rgba(244,180,0,.25)}
@keyframes csIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes csInB{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.cs-all h3{font:500 clamp(28px,3.2vw,44px)/1.1 var(--disp);letter-spacing:-.035em;max-width:22ch}
.cs-all p{color:var(--ink2);font-size:17px;max-width:52ch}
@keyframes nudge{0%,70%,100%{transform:translateY(-50%)}80%{transform:translateY(-50%) translateX(6px)}90%{transform:translateY(-50%) translateX(0)}}
@keyframes dealIn{from{opacity:0;transform:translateX(18%) rotate(4deg) scale(.94)}to{opacity:1;transform:none}}
@keyframes dealOut{to{opacity:0;transform:translateX(-14%) rotate(-3deg) scale(.94)}}
@keyframes dealInB{from{opacity:0;transform:translateX(-18%) rotate(-4deg) scale(.94)}to{opacity:1;transform:none}}
@keyframes dealOutB{to{opacity:0;transform:translateX(14%) rotate(3deg) scale(.94)}}
@keyframes flipIn{0%,40%{opacity:0;transform:rotateY(-90deg)}41%{opacity:1}100%{opacity:1;transform:none}}
@keyframes flipOut{to{opacity:0;transform:rotateY(90deg)}}
@keyframes flipInB{0%,40%{opacity:0;transform:rotateY(90deg)}41%{opacity:1}100%{opacity:1;transform:none}}
@keyframes flipOutB{to{opacity:0;transform:rotateY(-90deg)}}
@keyframes deckIn{from{transform:translate(18px,18px) scale(.95);opacity:.4}to{transform:none;opacity:1}}
@keyframes deckOut{to{transform:translate(-40%,-6%) rotate(-8deg);opacity:0}}
@keyframes deckOutB{to{transform:translate(18px,18px) scale(.95);opacity:0}}
@keyframes deckInB{from{transform:translate(-40%,-6%) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}
@keyframes fanIn{from{opacity:0;transform:rotate(9deg)}to{opacity:1;transform:none}}
@keyframes fanOut{to{opacity:0;transform:rotate(-9deg)}}
@keyframes fanInB{from{opacity:0;transform:rotate(-9deg)}to{opacity:1;transform:none}}
@keyframes fanOutB{to{opacity:0;transform:rotate(9deg)}}
@property --lf{syntax:'<length>';inherits:true;initial-value:0px}
.rail.drag *{pointer-events:none}
.rm a{position:relative;isolation:isolate;overflow:hidden;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:26px 28px;border-radius:20px;text-decoration:none;color:var(--ink);background:linear-gradient(135deg,#fff 0%,#F7F9FF 60%,#FFF8E6 100%);box-shadow:0 30px 60px -40px rgba(66,133,244,.55)}
.rm a::before{content:"";position:absolute;z-index:-1;inset:auto -20% -40% 30%;height:80%;border-radius:50%;background:conic-gradient(from 200deg,#4285F4,#34A853,#FBBC04,#EA4335,#4285F4);filter:blur(60px);opacity:.22}
.rm a::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:20px;padding:1.5px;background:linear-gradient(90deg,#4285F4,#34A853 35%,#FBBC04 65%,#EA4335);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55}
.rm a:hover .rm-c{transform:translateY(-1px);box-shadow:0 16px 28px -14px #1A73E8}
.rm a:hover .rm-c i{transform:translateX(3px)}
.cl6-f button,.cl8-f button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:100px;border:1px solid var(--line);background:#fff;font:500 13px/1 var(--sans);cursor:pointer;color:var(--ink2);transition:all .2s}
.cl6-f button span,.cl8-f button span{font:500 11px/1 var(--mono);color:var(--dim)}
.cl6-f button:hover,.cl8-f button:hover{border-color:var(--ink);color:var(--ink)}
.cl6-f button[aria-pressed="true"],.cl8-f button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.cl6-f button[aria-pressed="true"] span,.cl8-f button[aria-pressed="true"] span{color:rgba(255,255,255,.6)}
.cl6-f button[aria-pressed="true"]{background:#1A73E8;border-color:#1A73E8;color:#fff;box-shadow:0 8px 18px -12px #1A73E8}
.cl6-f button[aria-pressed="true"] span{color:rgba(255,255,255,.75)}
.cl6-f button:hover{border-color:#1A73E8;color:#1A73E8}
.cl6-f button[aria-pressed="true"]:hover{color:#fff}
.dock,.tag{z-index:210!important}
.dock .dk-lb{font:500 8.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);text-align:center;margin-bottom:-2px}
.dock .mv{border-radius:9px}
.dock .mv[aria-pressed="true"]{background:#1E8E3E;border-color:#1E8E3E;color:#fff}
.dock{position:fixed;right:max(10px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:80;display:grid;gap:6px;padding:8px 6px;background:var(--page);border:1px solid var(--line);border-radius:100px;box-shadow:0 10px 30px -12px rgba(0,0,0,.25)}
.dock button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font:600 12.5px/1 var(--sans);cursor:pointer;display:grid;place-items:center;padding:0}
.dock button[aria-pressed="true"]{background:var(--ink);color:var(--page);border-color:var(--ink)}
.dock hr{width:16px;height:1px;border:0;background:var(--line);margin:3px auto}
.tag{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:80;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--page);background:var(--ink);border-radius:100px;padding:8px 14px;transition:opacity .4s;max-width:calc(100vw - 80px)}
.tag.off{opacity:0;pointer-events:none}
@media (max-width:640px){.pill{padding:8px 11px;font-size:11px}}
@media (prefers-reduced-motion:reduce){.intro.play svg,.intro.play > span{animation:none}}
@keyframes nrSweep{to{transform:rotate(360deg)}}
@keyframes nrPulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
@keyframes nrBounce{0%{transform:translate(-50%,-92%)}35%{transform:translate(-50%,-118%)}100%{transform:translate(-50%,-92%)}}
@keyframes nrHalo{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
@keyframes nrCar{50%{opacity:0}}
@keyframes nrPop{0%{transform:scale(.85);opacity:.4}100%{transform:none;opacity:1}}
@keyframes cmPulse{0%{opacity:.7;r:12}100%{opacity:0;r:60}}
@keyframes cmBounce{0%{transform:translate(-50%,-94%)}35%{transform:translate(-50%,-122%)}100%{transform:translate(-50%,-94%)}}
.ctas .btn:not(.ghost)::before{display:none}
.ctas .btn:not(.ghost){--sh:rgba(251,188,4,.5);border:1px solid #F8D877;background:linear-gradient(180deg,#FFF6D9 0%,#FDEAAF 100%);color:#6B4A00;box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 12px 26px -16px var(--sh);transition:transform .25s,box-shadow .25s,filter .25s}
.ctas .btn:not(.ghost):hover{filter:brightness(1.03) saturate(1.05);box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 16px 30px -14px var(--sh)}
@keyframes m2tap{0%{opacity:0;transform:scale(1.3)}30%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.8)}}
@property --wp{syntax:'<percentage>';inherits:false;initial-value:0%}
@keyframes m2wait{to{--wp:100%}}
.m2-steps button{position:relative;width:16px;height:30px;border:0;background:none;padding:0;cursor:pointer}
.m2-steps button::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;border:2px solid #DADCE0;transition:all .3s}
.m2-steps button.on::before{border-color:#34A853;background:#34A853}
.m2-steps button.cur::before{transform:scale(1.35);box-shadow:0 0 0 4px rgba(52,168,83,.2)}
.m2-steps button span{position:absolute;left:50%;top:-11px;transform:translateX(-50%);font:500 9.5px/1 var(--mono);letter-spacing:.04em;color:var(--dim);white-space:nowrap}
.m2-steps button.cur span{color:var(--ink)}
@keyframes m2scan{0%{opacity:1;--sr:0%}100%{opacity:0;--sr:75%}}
@property --sr{syntax:'<percentage>';inherits:false;initial-value:0%}
@media (max-width:640px){.m2-steps button span{display:none}}
.f3-steps button{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 9px;border-radius:100px;background:#fff;border:1px solid var(--line);font:500 13.5px/1 var(--sans);color:var(--ink);cursor:pointer;transition:border-color .3s,box-shadow .3s,background .3s}
.f3-steps button[aria-selected="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 7%,#fff);box-shadow:0 10px 22px -16px var(--c)}
.f3-steps button[aria-selected="true"] .n{background:var(--c);color:#fff}
.f3-steps button[aria-selected="true"].run .bar{animation:f3bar var(--dur,3.2s) linear forwards}
.f3-steps button.done .n{background:var(--c);color:#fff}
@keyframes f3bar{to{width:100%}}
.f3-tabs > *{padding:12px 0 11px}
.f3-steps.vert button{width:100%;border-radius:16px;padding:12px 14px 12px 12px;align-items:flex-start;text-align:left}
@property --p{syntax:'<percentage>';inherits:true;initial-value:50%}
.s4-g p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.s4-g p b{font:inherit;font-weight:600;color:var(--ink)}
.s4-cl ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;flex:1}
.s4-cl a{display:inline-block;padding:8px 13px;border-radius:12px;background:#fff;border:1px solid var(--line);font:500 14px/1 var(--sans);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.s4-cl a:hover{border-color:#34A853;transform:translateY(-1px)}
.s4-tl h3{font:500 21px/1.2 var(--disp);letter-spacing:-.02em}
.s4-tl p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.s4-pl h2{font-size:clamp(36px,4.6vw,60px)}
.s4-pt p{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink2)}
.s4-pt p strong{color:var(--ink)}
.s4-pt .ctas{margin-top:6px}
.s4-pt .btn{--sh:rgba(251,188,4,.5);border:1px solid #F8D877;background:linear-gradient(180deg,#FFF6D9 0%,#FDEAAF 100%);color:#6B4A00;box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 12px 26px -16px var(--sh)}
.s4-links a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:100px;background:#fff;border:1px solid var(--line);font-size:14px;color:var(--ink);text-decoration:none;transition:border-color .2s}
.s4-links a::before{content:"";width:7px;height:7px;border-radius:50%;background:#EA4335}
.s4-links.alt a::before{background:#4285F4}
.s4-links a:hover{border-color:var(--ink)}
@media (max-width:640px){.s4-cl ul{flex:none}.s4-cl a{white-space:nowrap}}
@property --p{syntax:"<percentage>";inherits:true;initial-value:50%}
html .f6 .sl-cov{height:118px}
html .f6 .sl-cb{padding-top:12px}
html .f6 .sl-cr li{padding:7px 0}
html .f6 .sl-cov span{position:relative;overflow:hidden;background:#DDE3EA}
html .f6-im{display:block;width:100%;height:100%;object-fit:cover}
html .f6 .sl-cov.empty{position:relative;display:block;overflow:hidden;background:#E8EAED}
html .f6-nf{display:none}
html .f6-im.old{position:absolute;inset:0;filter:saturate(.35) brightness(.82) contrast(.9) blur(.6px)}
html .f6-pc,html .f6-more{display:block;position:absolute;font:600 11px/1 var(--sans);color:#fff;font-style:normal}
html .f6-pc{left:12px;bottom:12px;padding:6px 9px;border-radius:8px;background:rgba(32,33,36,.7)}
html .f6-more{inset:0;display:grid;place-items:center;font-size:20px;background:rgba(32,33,36,.38)}
html .f6-post{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;margin:0 16px 14px;padding:7px 8px;border-radius:12px;background:#F8F9FA}
html .f6-th{display:block;width:40px;height:40px;border-radius:9px;object-fit:cover;background:#E8EAED}
html .f6-post b{display:block;font:500 13.5px/1.3 var(--sans);color:#202124}
html .f6-post small{font-size:12px;color:#5F6368}
html .f6-post.no b{color:#5F6368}
html .f6-post.no .f6-th{background:repeating-linear-gradient(135deg,#E8EAED 0 6px,#F1F3F4 6px 12px)}
@keyframes wmq{to{transform:translateX(-100%)}}
@keyframes wspin{to{transform:rotate(360deg)}}
@keyframes wblob{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-6%) scale(1.12)}100%{transform:translate(-3%,5%) scale(.95)}}
.w-col h3{margin:10px 0 10px;font:600 clamp(26px,2.6vw,38px)/1.05 var(--disp);letter-spacing:-.035em;color:#111}
.w-col p{margin:0;font-size:15.5px;line-height:1.55;color:#3d3d3d}
@keyframes wgrad{from{background-position:0 0}to{background-position:100% 0}}
@keyframes pvgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.s4-pr .s4-pl h2{font-size:clamp(56px,7.2vw,100px);line-height:.98;letter-spacing:-.055em}
.s4-pl h2 .pr-d,.s4-pl h2 .pr-u{font-size:.42em;letter-spacing:-.01em;color:var(--ink2)}
.s4-pl h2 .pr-d{display:block;margin-bottom:8px}
mark.kw{background:rgba(234,67,53,.10);color:#C5221F;-webkit-text-fill-color:#C5221F;border-bottom:2px solid #EA4335;padding:0 .06em;border-radius:3px}
mark.kw.fl{animation:kwfl 1.6s ease 2}
@keyframes kwfl{50%{background:rgba(234,67,53,.4)}}
.kwrev{background:#FFF6F5;border-top:3px solid #EA4335;padding:clamp(40px,6vw,80px) 0;font-family:var(--sans)}
.kwrev-in{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.kwrev-hd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px}
.kwrev-k{margin:0 0 10px;font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#C5221F}
.kwrev-h{margin:0;font:500 clamp(28px,3.2vw,42px)/1.1 var(--disp);letter-spacing:-.03em;color:#111}
.kwrev-p{margin:12px 0 0;max-width:70ch;font-size:15px;line-height:1.55;color:#5A5A5A}
.kwrev-st{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.kwrev-st span{padding:9px 14px;border-radius:100px;background:#fff;border:1px solid #F3C7C3;font-size:14px;color:#5A5A5A}
.kwrev-st b{color:#111}
.kwrev-bt{padding:10px 16px;border-radius:100px;border:1px solid #EA4335;background:#fff;color:#C5221F;font:600 14px/1 var(--sans);cursor:pointer}
.kwrev-bt:hover{background:#EA4335;color:#fff}
.kwrev-tb{margin-top:28px;overflow-x:auto;border-radius:16px;border:1px solid #F3C7C3;background:#fff}
.kwrev table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.kwrev th{text-align:left;padding:12px 16px;font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#8C8C8C;border-bottom:1px solid #F3C7C3;background:#FFFBFA}
.kwrev td{padding:11px 16px;border-bottom:1px solid #F7E3E1;color:#333}
.kwrev tr:last-child td{border-bottom:0}
.kwrev th:nth-child(n+3),.kwrev td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}
.kwrev td:first-child{font-weight:600;color:#C5221F;cursor:pointer}
.kwrev td:first-child:hover{text-decoration:underline}
.kwrev td:nth-child(3){font-weight:700;color:#111}
.kwrev td.z{color:#C9C9C9}
.kwrev tr.none td:first-child{color:#8C8C8C}
.kwrev .tp{display:inline-block;padding:4px 8px;border-radius:100px;font:500 11px/1 var(--mono);background:#F1F3F4;color:#5A5A5A}
.kwrev .tp.p{background:#FCE8E6;color:#C5221F}
.kwrev-f{margin:12px 0 0;font-size:13px;color:#8C8C8C}
.kwrev-meta{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kwrev-mi{background:#fff;border:1px solid #F3C7C3;border-radius:14px;padding:14px 16px;display:grid;gap:6px}
.kwrev-mi small{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8C8C8C;display:flex;justify-content:space-between;gap:10px}
.kwrev-mi p{margin:0;font-size:14.5px;line-height:1.45;color:#222}
.kwrev-mi .ok{color:#137333}
.kwrev-mi .no{color:#C5221F}
.kwrev .stt{display:inline-block;padding:4px 9px;border-radius:100px;font:600 11.5px/1 var(--sans)}
.kwrev .stt.v{background:#E6F4EA;color:#137333}
.kwrev .stt.a{background:#FEF7E0;color:#B06000}
.kwrev .stt.r{background:#FCE8E6;color:#C5221F}
@media (max-width:760px){.kwrev-meta{grid-template-columns:minmax(0,1fr)}}
.todo{margin-top:clamp(40px,5vw,64px);padding-top:clamp(32px,4vw,48px);border-top:1px dashed #F3C7C3}
.todo-w{margin-top:24px;display:grid;gap:18px}
.todo-g{background:#fff;border:1px solid #F3C7C3;border-radius:16px;padding:18px 20px}
.todo-h{margin:0 0 12px;font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.todo-h::before{content:"";width:9px;height:9px;border-radius:50%}
.todo-g.b .todo-h{color:#C5221F}
.todo-g.b .todo-h::before{background:#EA4335}
.todo-g.i .todo-h{color:#B06000}
.todo-g.i .todo-h::before{background:#FBBC04}
.todo-g.m .todo-h{color:#5A5A5A}
.todo-g.m .todo-h::before{background:#9AA0A6}
.todo ol{list-style:none;margin:0;padding:0;display:grid}
.todo li{border-top:1px solid #F7E3E1}
.todo li:first-child{border-top:0}
.todo label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding:12px 0;cursor:pointer}
.todo input{width:17px;height:17px;margin:2px 0 0;accent-color:#1E8E3E}
.todo label span{display:grid;gap:4px}
.todo b{font:600 15px/1.35 var(--sans);color:#111}
.todo em{justify-self:start;font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;padding:4px 8px;border-radius:100px;background:#F1F3F4;color:#5A5A5A}
.todo small{font-size:14px;line-height:1.5;color:#5A5A5A}
.todo input:checked + span b,.todo input:checked + span small{text-decoration:line-through;color:#9AA0A6}
.kwrev-mi .ok{color:#137333}.kwrev-mi .no{color:#C5221F}
.kwrev .stt.v{background:#E6F4EA;color:#137333}.kwrev .stt.a{background:#FEF7E0;color:#B06000}.kwrev .stt.r{background:#FCE8E6;color:#C5221F}
#kwOk{font-weight:600}
.todo-h{color:#C5221F}.todo-g.b .todo-h::before{background:#EA4335}
.todo-h{color:#B06000}.todo-g.i .todo-h::before{background:#FBBC04}
.todo-h{color:#5A5A5A}.todo-g.m .todo-h::before{background:#9AA0A6}
.todo-g.b .todo-h{color:#C5221F}.todo-g.b .todo-h::before{background:#EA4335}
.todo-g.i .todo-h{color:#B06000}.todo-g.i .todo-h::before{background:#FBBC04}
.todo-g.m .todo-h{color:#5A5A5A}.todo-g.m .todo-h::before{background:#9AA0A6}


/* ===== Hero: escenas rápidas (huecos 1-5) ===== */
.fx{display:block;position:relative}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.fx-vp{position:relative;aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:#FFF8F4;box-shadow:0 50px 100px -60px rgba(27,27,47,.45),0 0 0 1px rgba(27,27,47,.06)}
.fx.lt .fx-vp{background:radial-gradient(55% 60% at 20% 30%,#FFE3D8 0%,transparent 70%),radial-gradient(55% 60% at 85% 75%,#E6DDFF 0%,transparent 70%),#FFFDFB}
.fx.dk .fx-vp{background:radial-gradient(50% 60% at 80% 20%,rgba(181,23,255,.35),transparent 70%),radial-gradient(45% 55% at 10% 90%,rgba(0,229,255,.18),transparent 70%),#0E0B1A;box-shadow:0 50px 100px -50px rgba(108,92,231,.7)}
.fx.td .fx-vp{background:radial-gradient(60% 60% at 50% 40%,#FFFFFF 0%,#F1ECFF 60%,#FFE9E0 100%);perspective:1400px}
.fx-scale{position:absolute;left:0;top:0;width:800px;height:500px;transform:scale(var(--s,1));transform-origin:0 0;font-family:'Sora',sans-serif;color:#1B1B2F}
.fx.dk .fx-scale{color:#fff}
/* escenas */
.sc{position:absolute;inset:0;display:grid;place-items:center;visibility:hidden;will-change:transform,opacity,clip-path,filter}
.sc.on,.sc.out{visibility:visible}
.sc.on{z-index:2}.sc.out{z-index:1}
.sc *{animation-play-state:paused}
.sc.on *{animation-play-state:running}
/* entradas */
.sc.in-zoom{animation:fxZi .6s cubic-bezier(.2,.9,.2,1) both}@keyframes fxZi{from{transform:scale(1.9);filter:blur(14px);opacity:0}}
.sc.out-zoom{animation:fxZo .5s ease-in both}@keyframes fxZo{to{transform:scale(.45);filter:blur(8px);opacity:0}}
.sc.in-slide{animation:fxSi .55s cubic-bezier(.2,.9,.2,1) both}@keyframes fxSi{from{transform:translateX(115%) skewX(-16deg);filter:blur(10px)}}
.sc.out-slide{animation:fxSo .5s cubic-bezier(.6,0,.8,.4) both}@keyframes fxSo{to{transform:translateX(-115%) skewX(16deg);filter:blur(10px)}}
.sc.in-iris{animation:fxIi .65s cubic-bezier(.6,0,.2,1) both}@keyframes fxIi{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(80% at 50% 50%)}}
.sc.out-iris{animation:fxIo .65s ease both}@keyframes fxIo{to{transform:scale(.88);opacity:.2}}
.sc.in-flip{animation:fxFi .7s cubic-bezier(.2,.9,.2,1) both}@keyframes fxFi{from{transform:perspective(1100px) rotateY(100deg) scale(.8);opacity:0}}
.sc.out-flip{animation:fxFo .5s ease-in both}@keyframes fxFo{to{transform:perspective(1100px) rotateY(-100deg) scale(.8);opacity:0}}
.sc.in-drop{animation:fxDi .7s cubic-bezier(.3,1.4,.5,1) both}@keyframes fxDi{from{transform:translateY(-120%) rotate(-12deg)}}
.sc.out-drop{animation:fxDo .5s cubic-bezier(.6,0,.9,.5) both}@keyframes fxDo{to{transform:translateY(130%) rotate(10deg)}}
.sc.in-spin{animation:fxPi .7s cubic-bezier(.2,.9,.2,1) both}@keyframes fxPi{from{transform:rotate(-220deg) scale(0)}}
.sc.out-spin{animation:fxPo .5s ease-in both}@keyframes fxPo{to{transform:rotate(220deg) scale(0)}}
.sc.in-wipe{animation:fxWi .55s cubic-bezier(.7,0,.2,1) both}@keyframes fxWi{from{clip-path:polygon(0 0,0 0,-30% 100%,-30% 100%)}to{clip-path:polygon(0 0,130% 0,100% 100%,-30% 100%)}}
.sc.out-wipe{animation:fxWo .55s ease both}@keyframes fxWo{to{transform:translateX(-8%);opacity:0}}
.sc.in-glitch{animation:fxGi .5s steps(1) both}@keyframes fxGi{0%{clip-path:inset(0 0 100% 0);transform:translateX(-30px)}15%{clip-path:inset(10% 0 55% 0);transform:translateX(26px);filter:hue-rotate(120deg) saturate(3)}30%{clip-path:inset(55% 0 12% 0);transform:translateX(-18px)}45%{clip-path:inset(25% 0 35% 0);transform:translateX(12px);filter:hue-rotate(-90deg)}60%{clip-path:inset(0 0 20% 0);transform:translateX(-6px)}80%{clip-path:inset(0);transform:translateX(3px)}100%{clip-path:none;transform:none;filter:none}}
.sc.out-glitch{animation:fxGo .4s steps(1) both}@keyframes fxGo{0%{transform:translateX(12px);filter:hue-rotate(90deg)}30%{clip-path:inset(30% 0 30% 0);transform:translateX(-20px)}60%{clip-path:inset(48% 0 48% 0);transform:translateX(30px)}100%{clip-path:inset(50% 0 50% 0);opacity:0}}
.sc.in-none{animation:none}
.sc.out-none{animation:fxNo .01s both}@keyframes fxNo{to{opacity:0}}
/* destello, cortinilla y palabra */
.fx-flash{position:absolute;inset:0;z-index:6;background:#fff;opacity:0;pointer-events:none}
.fx.dk .fx-flash{background:#B517FF}
.fx-flash.go{animation:fxFl .35s ease-out}@keyframes fxFl{0%{opacity:.85}100%{opacity:0}}
.fx-cur{position:absolute;inset:-2px;z-index:5;background:var(--cc,#FF5A36);transform:translateX(-105%);pointer-events:none}
.fx-cur.go{animation:fxCu var(--ct,.9s) cubic-bezier(.75,0,.25,1) both}
@keyframes fxCu{0%{transform:var(--c0)}45%,55%{transform:none}100%{transform:var(--c1)}}
.fx-word{position:absolute;inset:0;z-index:5;display:grid;place-items:center;font:700 150px/1 'Sora',sans-serif;letter-spacing:-.06em;color:#1B1B2F;opacity:0;pointer-events:none;background:transparent}
.fx-word.go{animation:fxWd .62s cubic-bezier(.2,.9,.2,1) both}
@keyframes fxWd{0%{transform:scale(3.2);opacity:0;filter:blur(10px)}30%{transform:scale(1);opacity:1;filter:none}70%{transform:scale(1.04);opacity:1}100%{transform:scale(9);opacity:0}}
.fx1 .fx-word{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%);-webkit-text-stroke:0}
.fx1 .fx-word.c1{color:#FF5A36}.fx1 .fx-word.c2{color:#6C5CE7}.fx1 .fx-word.c3{color:#1B1B2F}
/* ---- escena: paleta ---- */
.s-pal .sw{display:flex;gap:18px}
.s-pal i{position:relative;width:104px;height:230px;border-radius:24px;background:var(--c);box-shadow:0 30px 50px -30px var(--c)}
.sc.on.s-pal i{animation:fxUp .55s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(.15s + var(--d) * 70ms)}
@keyframes fxUp{from{transform:translateY(160px) scaleY(.2);opacity:0}}
.s-pal b{position:absolute;left:0;right:0;bottom:-34px;text-align:center;font:500 13px/1 'JetBrains Mono',monospace;color:currentColor;opacity:.7}
/* ---- escena: tipografía ---- */
.s-typ{grid-template-columns:auto auto;gap:40px;align-content:center;justify-content:center}
.s-typ .aa{font:600 230px/1 'Sora',sans-serif;letter-spacing:-.06em;background:linear-gradient(135deg,#FF5A36,#6C5CE7);-webkit-background-clip:text;background-clip:text;color:transparent}
.sc.on.s-typ .aa{animation:fxAa .6s cubic-bezier(.2,1.3,.4,1) both}@keyframes fxAa{from{transform:scale(.3) rotate(-14deg);opacity:0}}
.s-typ .lad p{margin:0 0 14px;max-width:380px;line-height:1.15}
.s-typ .lad p:nth-child(1){font:600 40px/1.05 'Sora',sans-serif;letter-spacing:-.03em}.s-typ .lad p:nth-child(2){font:500 24px/1.2 'Sora',sans-serif;opacity:.7}.s-typ .lad p:nth-child(3){font:400 16px/1.5 'Instrument Sans',sans-serif;opacity:.6}
.sc.on.s-typ .lad p{animation:fxSl .5s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(.25s + var(--d) * 110ms)}@keyframes fxSl{from{transform:translateX(60px);opacity:0}}
/* ---- escena: trazo ---- */
.s-pen svg:first-child{position:absolute;inset:0;width:100%;height:100%}
.s-pen .ln{fill:none;stroke:#FF5A36;stroke-width:8;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200}
.fx.dk .s-pen .ln{stroke:#D4FF00}
.s-pen .hd{fill:none;stroke:#6C5CE7;stroke-width:2;stroke-dasharray:6 6;opacity:0}
.s-pen circle{fill:#fff;stroke:#1B1B2F;stroke-width:3;transform-box:fill-box;transform-origin:center;transform:scale(0)}
.s-pen circle.h{fill:#6C5CE7;stroke:none}
.sc.on.s-pen .ln{animation:fxDr 1.1s cubic-bezier(.5,0,.2,1) .1s forwards}@keyframes fxDr{to{stroke-dashoffset:0}}
.sc.on.s-pen circle{animation:fxPop .35s cubic-bezier(.2,1.6,.4,1) forwards}.sc.on.s-pen circle:nth-of-type(2){animation-delay:.45s}.sc.on.s-pen circle:nth-of-type(3){animation-delay:.9s}.sc.on.s-pen circle.h{animation-delay:1s}
@keyframes fxPop{to{transform:scale(1)}}
.sc.on.s-pen .hd{animation:fxFd .4s ease .9s forwards}@keyframes fxFd{to{opacity:1}}
.s-pen .nib{position:absolute;left:0;top:0;width:44px;fill:#1B1B2F;stroke:#fff;stroke-width:1.4;offset-path:path("M140 380 C 250 110, 420 90, 520 260 S 700 420, 700 140");offset-rotate:0deg;offset-distance:0%}
.fx.dk .s-pen .nib{fill:#fff;stroke:#0E0B1A}
.sc.on.s-pen .nib{animation:fxNb 1.1s cubic-bezier(.5,0,.2,1) .1s forwards}@keyframes fxNb{to{offset-distance:100%}}
/* ---- escena: orden (piezas desordenadas que encajan en su sitio) ---- */
.s-grd .og{position:absolute;inset:0}
.s-grd .og > b{position:absolute;display:block;border-radius:12px;background:#fff;box-shadow:0 18px 34px -20px rgba(27,27,47,.45);border:1.5px solid rgba(27,27,47,.08)}
.s-grd .o-nav{left:80px;top:56px;width:640px;height:44px;display:flex!important;align-items:center;gap:18px;padding:0 18px;border-radius:100px!important}
.s-grd .o-nav i{width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#FF5A36,#6C5CE7);margin-right:auto}
.s-grd .o-nav u{width:60px;height:8px;border-radius:8px;background:#E4E1EC}
.s-grd .o-h{left:80px;top:132px;width:300px;height:92px;padding:16px 18px;background:transparent!important;box-shadow:none!important;border:0!important;display:grid!important;gap:12px;align-content:start}
.s-grd .o-h i{height:26px;border-radius:8px;background:#1B1B2F}.s-grd .o-h i+i{width:72%}
.s-grd .o-p{left:80px;top:236px;width:280px;height:66px;padding:0 18px;background:transparent!important;box-shadow:none!important;border:0!important;display:grid!important;gap:9px;align-content:start}
.s-grd .o-p i{height:9px;border-radius:9px;background:#C9C5D6}.s-grd .o-p i:nth-child(2){width:90%}.s-grd .o-p i:nth-child(3){width:60%}
.s-grd .o-b{left:98px;top:306px;width:150px;height:46px;border-radius:100px!important;background:#FF5A36!important;border:0!important;color:#fff;font:600 16px/46px 'Sora',sans-serif;text-align:center;box-shadow:0 16px 26px -14px rgba(255,90,54,.8)!important}
.s-grd .o-im{left:420px;top:132px;width:300px;height:220px;overflow:hidden;background:linear-gradient(180deg,#FFB38A,#FF7A59 45%,#6C5CE7)!important;border:0!important}
.s-grd .o-im i{position:absolute;right:46px;top:40px;width:56px;height:56px;border-radius:50%;background:#FFE7A8}
.s-grd .o-c{top:376px;width:200px;height:68px}.s-grd .c1{left:80px}.s-grd .c2{left:300px}.s-grd .c3{left:520px}
.s-grd .o-c::before{content:"";position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#FF5A36,#FFB199)}
.s-grd .c2::before{background:linear-gradient(135deg,#6C5CE7,#A29BFE)}.s-grd .c3::before{background:linear-gradient(135deg,#16A085,#7BE0C3)}
.s-grd .o-c::after{content:"";position:absolute;left:64px;right:20px;top:24px;height:9px;border-radius:9px;background:#D9D5E4;box-shadow:0 14px 0 -1px #ECE9F2}
.sc.on.s-grd .og > b{animation:fxOg .75s cubic-bezier(.3,1.35,.45,1) both;animation-delay:calc(.12s + var(--d) * 55ms)}
@keyframes fxOg{from{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.85)}}
.s-grd s{position:absolute;opacity:0;pointer-events:none}
.s-grd .gv{left:79px;top:30px;width:0;height:440px;border-left:1.5px dashed #FF2E88}
.s-grd .gh{left:40px;top:131px;width:720px;height:0;border-top:1.5px dashed #FF2E88}
.s-grd .gh2{left:40px;top:375px;width:720px;height:0;border-top:1.5px dashed #FF2E88}
.sc.on.s-grd s{animation:fxGd .9s ease 1s both}@keyframes fxGd{0%{opacity:0}25%,75%{opacity:1}100%{opacity:.35}}
.s-grd .gp{position:absolute;top:400px;width:20px;font:600 11px/18px 'JetBrains Mono',monospace;font-style:normal;text-align:center;color:#fff;background:#FF2E88;border-radius:4px;opacity:0;transform:scale(.4)}
.s-grd .p1{left:280px}.s-grd .p2{left:500px}
.sc.on.s-grd .gp{animation:fxGp .4s cubic-bezier(.2,1.6,.4,1) 1.15s forwards}@keyframes fxGp{to{opacity:1;transform:none}}
.s-grd .ok{position:absolute;right:80px;top:12px;padding:8px 14px;border-radius:100px;background:#16A085;color:#fff;font:600 14px/1 'Sora',sans-serif;opacity:0;transform:translateY(-10px)}
.sc.on.s-grd .ok{animation:fxOk .45s cubic-bezier(.2,1.5,.4,1) 1.35s forwards}@keyframes fxOk{to{opacity:1;transform:none}}
.fx.dk .s-grd .og > b{background:#1D1830}
/* ---- escena: botón ---- */
.s-btn .cta{position:relative;display:grid;place-items:center;overflow:hidden;width:430px;height:120px;border-radius:100px;background:#FF5A36;color:#fff;font:600 36px/1 'Sora',sans-serif;letter-spacing:-.02em;box-shadow:0 40px 60px -30px rgba(255,90,54,.9)}
.fx.dk .s-btn .cta{background:#D4FF00;color:#120628;box-shadow:0 0 60px -10px rgba(212,255,0,.8)}
.s-btn .a,.s-btn .b{grid-area:1/1}.s-btn .b{opacity:0;transform:translateY(40px)}
.s-btn .rp{position:absolute;left:62%;top:60%;width:20px;height:20px;margin:-10px;border-radius:50%;background:rgba(255,255,255,.6);transform:scale(0)}
.s-btn .cu{position:absolute;left:560px;top:330px;width:46px;fill:#1B1B2F;stroke:#fff;stroke-width:1.4}
.fx.dk .s-btn .cu{fill:#fff;stroke:#0E0B1A}
.sc.on.s-btn .cta{animation:fxPr .3s ease .75s}@keyframes fxPr{50%{transform:scale(.93)}}
.sc.on.s-btn .cu{animation:fxCm .7s cubic-bezier(.5,0,.2,1) both}@keyframes fxCm{from{transform:translate(180px,140px)}}
.sc.on.s-btn .rp{animation:fxRp .7s ease-out .8s both}@keyframes fxRp{to{transform:scale(40);opacity:0}}
.sc.on.s-btn .a{animation:fxA1 .4s ease 1s both}@keyframes fxA1{to{opacity:0;transform:translateY(-40px)}}
.sc.on.s-btn .b{animation:fxB1 .4s cubic-bezier(.2,1.4,.4,1) 1.1s both}@keyframes fxB1{to{opacity:1;transform:none}}
/* ---- escena: código ---- */
.s-cod .ed{width:620px;padding:0 0 26px;border-radius:18px;background:#16151F;color:#E8E6F0;font:500 21px/1.9 'JetBrains Mono',monospace;box-shadow:0 40px 70px -30px rgba(0,0,0,.6)}
.fx.dk .s-cod .ed{box-shadow:0 0 0 1px rgba(181,23,255,.5),0 0 60px -10px rgba(181,23,255,.7)}
.s-cod .eb{display:flex;align-items:center;gap:7px;padding:14px 18px;margin-bottom:12px;border-bottom:1px solid #2A2836;font-size:13px;color:#8E8AA0}
.s-cod .eb i{width:11px;height:11px;border-radius:50%;background:#FF6B5F}.s-cod .eb i:nth-child(2){background:#FFBE2E}.s-cod .eb i:nth-child(3){background:#2ACB42}.s-cod .eb span{margin-left:10px}
.s-cod p{margin:0 26px;white-space:pre;overflow:hidden;width:0}
.sc.on.s-cod p{animation:fxTy .38s steps(24) both;animation-delay:calc(.15s + var(--d) * .3s)}@keyframes fxTy{to{width:var(--w)}}
.s-cod em{font-style:normal;color:#FF8A6C}.s-cod u{text-decoration:none;color:#A796FF}.s-cod s{text-decoration:none;color:#7BE0C3}
/* ---- escena: móvil ---- */
.s-mob .ph{position:relative;display:grid;gap:12px;align-content:start;width:220px;height:430px;padding:46px 16px 16px;border-radius:38px;background:#fff;border:10px solid #1B1B2F;box-shadow:0 40px 70px -30px rgba(27,27,47,.6)}
.fx.dk .s-mob .ph{background:#1D1830;border-color:#2B2440;box-shadow:0 0 70px -10px rgba(0,229,255,.5)}
.s-mob .nt{position:absolute;left:50%;top:12px;width:70px;height:18px;margin-left:-35px;border-radius:20px;background:#1B1B2F}
.s-mob b{display:block;border-radius:10px;background:#F1EDFF}.s-mob .m1{height:24px;width:60%}.s-mob .m2{height:130px;background:linear-gradient(135deg,#FFB199,#6C5CE7)}.s-mob .m3{height:20px}.s-mob .m4{height:20px;width:80%}.s-mob .m5{height:48px;border-radius:100px;background:#FF5A36}
.sc.on.s-mob .ph{animation:fxPh .7s cubic-bezier(.2,1.2,.4,1) both}@keyframes fxPh{from{transform:perspective(900px) rotateY(-80deg) rotateZ(-8deg);opacity:0}}
.sc.on.s-mob .ph b{animation:fxDp .4s cubic-bezier(.3,1.5,.5,1) both}.sc.on.s-mob .m1{animation-delay:.4s!important}.sc.on.s-mob .m2{animation-delay:.5s!important}.sc.on.s-mob .m3{animation-delay:.6s!important}.sc.on.s-mob .m4{animation-delay:.66s!important}.sc.on.s-mob .m5{animation-delay:.74s!important}
.s-mob .pop{position:absolute;left:470px;top:150px;padding:14px 20px;border-radius:16px;background:#fff;color:#16A085;font:600 18px/1 'Sora',sans-serif;box-shadow:0 20px 40px -20px rgba(27,27,47,.5);opacity:0}
.sc.on.s-mob .pop{animation:fxNt .5s cubic-bezier(.2,1.5,.4,1) 1s both}@keyframes fxNt{from{opacity:0;transform:translateX(-40px) scale(.6)}to{opacity:1;transform:none}}
/* ---- escena: velocidad ---- */
.s-spd .rings{display:flex;gap:46px}
.s-spd .rg{display:grid;justify-items:center;gap:16px}
.s-spd .r{--n:0;position:relative;width:170px;height:170px;border-radius:50%;background:conic-gradient(#16A085 calc(var(--n) * 1%),rgba(22,160,133,.14) 0);display:grid;place-items:center}
.s-spd .r::before{content:"";position:absolute;inset:14px;border-radius:50%;background:#FFFDFB}
.fx.dk .s-spd .r::before{background:#0E0B1A}
.fx.dk .s-spd .r{background:conic-gradient(#D4FF00 calc(var(--n) * 1%),rgba(212,255,0,.12) 0)}
.s-spd span{position:relative;counter-reset:n var(--n);font:600 52px/1 'Sora',sans-serif;color:#16A085}
.fx.dk .s-spd span{color:#D4FF00}
.s-spd span::after{content:counter(n)}
.s-spd small{font:500 14px/1 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.sc.on.s-spd .r{animation:fxN 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.1s + var(--d) * .15s)}
.sc.on.s-spd .r span{animation:fxN 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.1s + var(--d) * .15s)}
.s-spd .rg:nth-child(1) *{--to:100}.s-spd .rg:nth-child(2) *{--to:96}.s-spd .rg:nth-child(3) *{--to:100}
@keyframes fxN{to{--n:var(--to)}}
/* ---- escena: Google ---- */
.s-ggl{align-content:center;gap:26px}
.s-ggl .gq{display:flex;align-items:center;gap:16px;width:600px;padding:20px 26px;border-radius:100px;background:#fff;box-shadow:0 20px 40px -24px rgba(27,27,47,.45);color:#1B1B2F;font:400 24px/1 'Instrument Sans',sans-serif}
.s-ggl .g{font:700 28px/1 'Sora',sans-serif;background:linear-gradient(90deg,#4285F4,#EA4335,#FBBC04,#34A853);-webkit-background-clip:text;background-clip:text;color:transparent}
.s-ggl .qt{white-space:nowrap;overflow:hidden;width:0;border-right:2px solid #1B1B2F}
.sc.on.s-ggl .qt{animation:fxQ .7s steps(26) .1s both}@keyframes fxQ{to{width:15em}}
.s-ggl .gr{display:grid;gap:8px;width:600px;padding:24px 28px;border-radius:22px;background:#fff;color:#1B1B2F;box-shadow:0 30px 60px -30px rgba(27,27,47,.5);border-left:6px solid #34A853}
.s-ggl .gr small{font:400 15px/1 'Instrument Sans',sans-serif;color:#4A4A5E}.s-ggl .gr b{font:500 28px/1.1 'Instrument Sans',sans-serif;color:#1A0DAB}.s-ggl .gr span{font-size:15px;color:#E8A500}
.sc.on.s-ggl .gr{animation:fxGr .55s cubic-bezier(.2,1.3,.4,1) .85s both}@keyframes fxGr{from{transform:translateY(80px) scale(.9);opacity:0}}
/* ---- escena: capas ---- */
.s-lay .lys{position:relative;width:340px;height:240px;transform:rotateX(58deg) rotateZ(-40deg);transform-style:preserve-3d}
.s-lay i{position:absolute;inset:0;border-radius:22px;border:2px solid rgba(27,27,47,.15);box-shadow:0 30px 50px -20px rgba(27,27,47,.35)}
.s-lay .l1{background:#FFF4EA}.s-lay .l2{background:rgba(108,92,231,.75)}.s-lay .l3{background:rgba(255,177,153,.85)}.s-lay .l4{background:rgba(255,90,54,.9)}
.sc.on.s-lay .l1{animation:fxL1 .8s cubic-bezier(.2,1.2,.4,1) .1s both}.sc.on.s-lay .l2{animation:fxL2 .8s cubic-bezier(.2,1.2,.4,1) .18s both}.sc.on.s-lay .l3{animation:fxL3 .8s cubic-bezier(.2,1.2,.4,1) .26s both}.sc.on.s-lay .l4{animation:fxL4 .8s cubic-bezier(.2,1.2,.4,1) .34s both}
@keyframes fxL1{to{transform:translateZ(-60px)}}@keyframes fxL2{to{transform:translateZ(10px)}}@keyframes fxL3{to{transform:translateZ(80px)}}@keyframes fxL4{to{transform:translateZ(150px) scale(.6)}}
/* ---- escena: degradados ---- */
.s-grad .blob{width:340px;height:340px;background:linear-gradient(135deg,#FF5A36,#FFD166 40%,#6C5CE7);border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;filter:saturate(1.2)}
.sc.on.s-grad .blob{animation:fxBl 1.6s ease-in-out both}@keyframes fxBl{0%{transform:scale(.2) rotate(-90deg);border-radius:50%}50%{border-radius:63% 37% 54% 46% / 55% 48% 52% 45%}100%{transform:none}}
.s-grad .pk{position:absolute;left:150px;top:120px;display:grid;gap:10px}
.s-grad .pk i{width:46px;height:46px;border-radius:50%;border:5px solid #fff;box-shadow:0 10px 20px -8px rgba(0,0,0,.4);background:#FF5A36}.s-grad .pk i+i{background:#6C5CE7;margin-left:470px;margin-top:180px}
.sc.on.s-grad .pk i{animation:fxPop .4s cubic-bezier(.2,1.6,.4,1) .6s both}
/* ---- escena: iconos ---- */
.s-ico .ics{display:grid;grid-template-columns:repeat(4,110px);gap:22px}
.s-ico i{display:grid;place-items:center;height:110px;border-radius:28px;background:#fff;color:var(--c);font:600 48px/1 'Sora',sans-serif;font-style:normal;box-shadow:0 24px 40px -26px rgba(27,27,47,.5)}
.fx.dk .s-ico i{background:#1D1830;box-shadow:0 0 30px -8px var(--c)}
.sc.on.s-ico i{animation:fxIc .5s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(var(--d) * 60ms)}@keyframes fxIc{from{transform:scale(0) rotate(-60deg)}}
/* 3D: el escenario se inclina con el ratón */
.fx.td .fx-scale{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fx.td .sc{transform-style:preserve-3d}
@media (prefers-reduced-motion:reduce){.fx *{animation-duration:.01s!important}}

/* ===== Landing diseño web ===== */
:root{--dc:#FF5A36;--dl:#6C5CE7;--dk:#1B1B2F}
.h2kw{display:block;margin-bottom:12px;font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dc)}
.dw-n{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:0 0 14px}
.dw-n::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dc);margin-right:8px;vertical-align:.1em}
.dw-h{font:500 clamp(32px,3.6vw,52px)/1.04 var(--disp);letter-spacing:-.045em;text-wrap:balance;margin:0}
.dw-b{position:relative;isolation:isolate;padding-block:clamp(56px,9vh,96px)}
.dw-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(28px,4.5vh,48px)}
.dw-top.one{grid-template-columns:minmax(0,1fr)}
.dw-top .lead{margin:0;max-width:52ch}
.dw-hh{min-width:0}
.dw-b h3{font:600 18px/1.2 var(--disp);letter-spacing:-.02em;margin:0}
.dw-b li p,.dw-b .dw-foot{font-size:15px;line-height:1.5;color:var(--ink2);margin:0}
.dw-b ul,.dw-b ol{list-style:none;margin:0;padding:0}
/* aparición suave */
.dw-b .wrap > *{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1)}
.dw-b.in .wrap > *{opacity:1;transform:none}
.dw-b.in .wrap > *:nth-child(2){transition-delay:.12s}.dw-b.in .wrap > *:nth-child(3){transition-delay:.24s}

/* ---------- HERO ---------- */
.dwh{position:relative;isolation:isolate;min-height:calc(100svh - 76px);display:grid;grid-template-rows:1fr auto;padding-top:clamp(16px,3vh,40px)}
.dwh-bg{position:absolute;z-index:-1;top:-120px;bottom:-40px;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,#fff 100%)}
.dwh-bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;z-index:-1;animation:qflo 18s ease-in-out infinite alternate}
.dwh-bg i:nth-child(1){width:42%;height:62%;left:-6%;top:28%;background:#FFD3C4}
.dwh-bg i:nth-child(2){width:40%;height:70%;left:44%;top:6%;background:#DCCFFF;animation-delay:-6s}
.dwh-bg i:nth-child(3){width:30%;height:50%;right:-4%;top:48%;background:#FFE7B3;animation-delay:-12s}
.dwh-g{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,4vw,64px);align-items:center}
.hcol{display:grid;gap:clamp(8px,1.4vh,18px);justify-items:start}
.hero h1{display:block;margin:0}
.title{font:500 min(clamp(40px,4.8vw,70px),7.6vh)/1 var(--disp);letter-spacing:-.045em;text-wrap:balance;margin:0}
.sub{font:400 clamp(16.5px,1.3vw,19px)/1.5 var(--sans);color:var(--ink2);max-width:48ch;margin:0}
.hero .fr{padding:8px 12px}
.dwh-vis{position:relative}
.dwh-vis::before{content:"";position:absolute;inset:-8% -6%;z-index:-1;background:radial-gradient(45% 50% at 60% 45%,rgba(108,92,231,.18),transparent 70%),radial-gradient(40% 45% at 30% 70%,rgba(255,90,54,.16),transparent 70%)}
.spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;margin-top:clamp(18px,3.5vh,40px);border:1px solid rgba(255,255,255,.95);border-radius:18px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 60px -40px rgba(27,27,47,.35);overflow:hidden}
.spec.fr{padding:0}
.spec::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#FF5A36,#FFB199 35%,#A796FF 70%,#6C5CE7)}
.spec div{padding:18px 18px 20px;min-width:0;border-right:1px solid rgba(17,17,17,.08)}
.spec div:last-child{border-right:0}
.spec small{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.spec b{display:block;font:500 clamp(21px,1.9vw,28px)/1 var(--disp);letter-spacing:-.035em}
.spec span:not(.tg){display:block;margin-top:8px;font-size:14px;line-height:1.35;color:var(--ink2)}

/* ---------- 01 POR QUÉ ---------- */
.dw-why-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dw-why-g li{position:relative;display:grid;gap:10px;align-content:start;padding:24px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -48px rgba(27,27,47,.4)}
.wv{height:120px;border-radius:14px;margin-bottom:8px;display:grid;place-items:center;position:relative;overflow:hidden}
.wv-t{background:linear-gradient(135deg,#FFF1EC,#FFE2D8)}
.wv-t svg{width:84px;height:84px;transform:rotate(-90deg)}
.wv-t circle{fill:none;stroke-width:6}.wv-t .bg{stroke:rgba(255,90,54,.15)}.wv-t .fg{stroke:var(--dc);stroke-linecap:round;stroke-dasharray:201;stroke-dashoffset:201}
.dw-why.in .wv-t .fg{animation:wvt 5s linear infinite}
@keyframes wvt{to{stroke-dashoffset:0}}
.wv-t b{position:absolute;font:600 20px/1 var(--disp);color:var(--dc)}
.wv-s{background:linear-gradient(135deg,#F3EFFF,#E5DCFF);align-content:center;gap:10px}
.wv-s span{width:70%;height:10px;border-radius:10px;background:rgba(108,92,231,.18);overflow:hidden}
.wv-s span i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,#A796FF,var(--dl))}
.dw-why.in .wv-s span i{animation:wvs 2.4s cubic-bezier(.3,.8,.2,1) infinite}
@keyframes wvs{0%{width:0}55%,100%{width:100%}}
.wv-s small{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dl)}
.wv-c{background:linear-gradient(135deg,#FFF7E6,#FFEBC2)}
.wv-c a{padding:12px 20px;border-radius:100px;background:var(--dc);color:#fff;font:600 14px/1 var(--disp);box-shadow:0 14px 26px -14px rgba(255,90,54,.8)}
.wv-c .cur{position:absolute;width:24px;left:62%;top:62%;fill:#111;stroke:#fff;stroke-width:1.5}
.dw-why.in .wv-c .cur{animation:wvc 2.6s ease-in-out infinite}
.dw-why.in .wv-c a{animation:wva 2.6s ease-in-out infinite}
@keyframes wvc{0%{transform:translate(40px,30px)}45%,60%{transform:none}100%{transform:translate(40px,30px)}}
@keyframes wva{45%{transform:none}52%{transform:scale(.94)}60%{transform:none}}

/* ---------- 02 INCLUYE ---------- */
.dw-soft{position:absolute;z-index:-1;inset:0 auto;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 78%,#fff 100%)}
.dw-soft i{position:absolute;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.5}
.dw-soft i:nth-child(1){width:46%;height:70%;left:8%;top:18%;background:#DCCFFF}
.dw-soft i:nth-child(2){width:42%;height:70%;right:6%;top:14%;background:#FFD9CB}
.dw-inc-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dw-inc-g li{display:grid;gap:8px;align-content:start;padding:20px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 50px -40px rgba(27,27,47,.45);transition:transform .35s,box-shadow .35s}
.dw-inc-g li:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(108,92,231,.5)}
.dw-inc-g .ii{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--dc),#FF9A7E);margin-bottom:4px}
.dw-inc-g li:nth-child(even) .ii{background:linear-gradient(135deg,var(--dl),#A796FF)}
.dw-inc-g .ii svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dw-inc-g h3{font-size:16.5px}.dw-inc-g li p{font-size:14px}

/* ---------- 03 PROCESO (columnas a ancho completo) ---------- */
.dw-b .dw-cols{display:flex;width:100vw;margin-left:calc(50% - 50vw);min-height:clamp(340px,44vh,440px)}
.dw-cols li{position:relative;overflow:hidden;flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:clamp(20px,2.4vw,36px);background:linear-gradient(180deg,#fff 0%,var(--k) 55%,var(--k) 100%);transition:flex-grow .6s cubic-bezier(.2,.7,.2,1)}
.dw-cols li + li{box-shadow:inset 1px 0 0 rgba(17,17,17,.05)}
.dw-cols li:hover{flex-grow:1.6}
.dw-cols .big{position:absolute;top:8%;left:clamp(14px,2vw,28px);font:600 clamp(110px,13vw,190px)/.8 var(--disp);letter-spacing:-.06em;color:rgba(255,255,255,.75);text-shadow:0 1px 0 rgba(27,27,47,.04);transition:transform .6s,opacity .6s}
.dw-cols li:hover .big{transform:translateY(8px);opacity:.6}
.dw-cols small{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(27,27,47,.55)}
.dw-cols h3{font-size:22px}
.dw-cols p{max-width:30ch}
.dw-proc .dw-foot{margin-top:18px;text-align:center;font-size:13.5px;color:var(--dim)}

/* ---------- 04 TIPOS ---------- */
.dw-tp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dw-tp li{position:relative;display:grid;gap:10px;align-content:start;padding:24px;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:border-color .3s,transform .3s}
.dw-tp li::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:var(--k);opacity:.1;transition:transform .5s}
.dw-tp li:hover{border-color:color-mix(in srgb,var(--k) 45%,transparent);transform:translateY(-3px)}
.dw-tp li:hover::after{transform:scale(1.6)}
.dw-tp .dot{width:12px;height:12px;border-radius:50%;background:var(--k);box-shadow:0 0 0 5px color-mix(in srgb,var(--k) 18%,transparent)}
.dw-tp .tl{font:500 14px/1 var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--k);margin-top:4px}
.dw-tp li.cta{background:linear-gradient(135deg,#FFF1EC 0%,#EEE8FF 100%);border-color:transparent;align-content:center}
.dw-tp li.cta::after{display:none}
.dw-tp li.cta .btn{justify-self:start;margin-top:4px}

/* ---------- 05 COMPARATIVA ---------- */
.dw-cmp-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:center}
.dw-cmp .lead{margin-top:18px}
.dw-tb{border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 40px 80px -60px rgba(27,27,47,.5)}
.dw-tb .r{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.1fr);align-items:center}
.dw-tb .r + .r{border-top:1px solid var(--line)}
.dw-tb .r > *{padding:16px 18px;font-size:14.5px;line-height:1.4}
.dw-tb .r b{font:600 14px/1.3 var(--disp)}
.dw-tb .r span{color:var(--dim)}
.dw-tb .r .me{color:var(--ink);background:linear-gradient(90deg,rgba(108,92,231,.07),rgba(255,90,54,.07));display:flex;gap:8px;align-items:flex-start}
.dw-tb .r .me svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--dc);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.dw-tb .hd > *{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding-block:14px}
.dw-tb .hd .me{color:var(--dl)}

/* ---------- 06 PRECIO ---------- */
.dw-pbox .pv-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.dw-pbox .pv-glow i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.dw-pbox .pv-glow i:nth-child(1){width:40%;height:80%;left:-4%;top:10%}
.dw-pbox .pv-glow i:nth-child(2){width:36%;height:70%;left:34%;top:40%}
.dw-pbox .pv-glow i:nth-child(3){width:36%;height:80%;right:-4%;top:-10%}
.dw-pbox .pv-glow::after{content:"";position:absolute;inset:0;background:radial-gradient(360px 280px at var(--mx,50%) var(--my,40%),rgba(255,255,255,.95),transparent 70%)}
.dw-pbox{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#fff}
.dw-pbox .pv-glow i:nth-child(1){background:#FFD3C4}.dw-pbox .pv-glow i:nth-child(2){background:#DCCFFF}.dw-pbox .pv-glow i:nth-child(3){background:#FFE7B3}
.dw-pl .lead{margin:18px 0 22px}
.dw-pday{display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:9px 14px;border-radius:100px;background:rgba(255,255,255,.8);border:1px solid var(--line);font-size:13.5px;color:var(--ink2)}
.dw-pday i{width:8px;height:8px;border-radius:50%;background:var(--dl);box-shadow:0 0 0 4px rgba(108,92,231,.18)}
.dw-pf{counter-reset:pf;display:grid;gap:10px}
.dw-pf li{counter-increment:pf;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.dw-pf li::before{content:counter(pf,decimal-leading-zero);grid-row:1/3;font:500 11px/1 var(--mono);color:var(--dc);padding-top:4px}
.dw-pf b{font:600 15.5px/1.3 var(--disp)}
.dw-pf span{font-size:14px;line-height:1.45;color:var(--ink2)}

/* ---------- 07 FAQ ---------- */
.dw-faq .fq-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}
.dw-faq .fq-l details{border-bottom:1px solid var(--line);padding:11px 0}
.dw-faq .fq-l summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font:500 15.5px/1.35 var(--disp);letter-spacing:-.01em}
.dw-faq .fq-l{border-top:1px solid var(--line)}
.dw-faq .fq-l summary{padding:3px 0;align-items:center}
.dw-faq .fq-l summary::-webkit-details-marker{display:none}
.dw-faq .fq-l summary::after{content:"+";flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font:400 16px/1 var(--sans);transition:transform .3s,background .3s}
.dw-faq .fq-l details[open] summary::after{transform:rotate(45deg);background:#FFF1EC;border-color:#FFD3C4}
.dw-faq .fq-l details p{margin:10px 0 0;padding-right:40px;font-size:15px;line-height:1.55;color:var(--ink2)}

/* ---------- 08 ZONAS ---------- */
.dw-zg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.dw-zg .lead{margin:0 0 22px}
.dw-zl{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:18px 0 10px}
.dw-zc{display:flex;flex-wrap:wrap;gap:8px}
.dw-zc a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:100px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--ink);text-decoration:none;transition:border-color .3s,background .3s}
.dw-zc a i{width:7px;height:7px;border-radius:50%;background:var(--dc)}
.dw-zc.rel a i{background:var(--dl)}
.dw-zc a:hover{border-color:#FFB199;background:#FFF6F3}

/* ---------- contacto con colores de diseño web ---------- */
.ct-bg i:nth-child(1){background:#FFC7B5}.ct-bg i:nth-child(2){background:#D6C9FF}.ct-bg i:nth-child(3){background:#FFE1A6}
.ct .secn{display:flex;gap:6px;justify-content:center;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px}.ct .secn b{color:var(--dc)}
html.kw-off mark.kw{background:none;color:inherit;-webkit-text-fill-color:inherit;border:0;padding:0}

@media (max-width:1100px){.dw-inc-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.dwh-g,.dw-top,.dw-cmp-g,.dw-pbox,.dw-faq .fq-g,.dw-zg{grid-template-columns:minmax(0,1fr)}.dw-why-g,.dw-tp{grid-template-columns:minmax(0,1fr)}.dw-cols{flex-wrap:wrap}.dw-cols li{flex:1 1 50%;min-height:240px}.dw-cols li:hover{flex-grow:1}.spec{grid-template-columns:repeat(2,minmax(0,1fr))}.spec div:nth-child(2){border-right:0}.dwh{min-height:0}}
@media (max-width:640px){.dw-inc-g{grid-template-columns:minmax(0,1fr)}.dw-cols li{flex-basis:100%}.dw-tb .r{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dw-tb .r b{grid-column:1/-1;padding-bottom:0}}
@media (prefers-reduced-motion:reduce){.dwh-bg i,.wv *{animation:none!important}.dw-b .wrap > *{opacity:1;transform:none}}
@media (max-height:820px) and (min-width:981px){.spec div{padding:12px 16px 14px}.spec small{margin-bottom:8px}.spec span:not(.tg){margin-top:6px;font-size:13px}.dwh{padding-top:4px}.spec{margin-top:14px}.sub{font-size:16px}}

/* ===== fondos fijos (ligeros) en lugar de manchas difuminadas animadas ===== */
.dwh-bg i,.ct-bg i{display:none}
.dwh-bg{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,#fff 100%),radial-gradient(42% 58% at 14% 62%,rgba(255,211,196,.85) 0%,rgba(255,211,196,0) 72%),radial-gradient(40% 62% at 64% 38%,rgba(220,207,255,.85) 0%,rgba(220,207,255,0) 72%),radial-gradient(30% 46% at 88% 72%,rgba(255,231,179,.8) 0%,rgba(255,231,179,0) 72%)}
.ct-bg{background:radial-gradient(38% 60% at 22% 55%,rgba(255,199,181,.75) 0%,rgba(255,199,181,0) 72%),radial-gradient(34% 58% at 53% 66%,rgba(214,201,255,.75) 0%,rgba(214,201,255,0) 72%),radial-gradient(34% 60% at 84% 38%,rgba(255,225,166,.75) 0%,rgba(255,225,166,0) 72%)}

/* ===== 02 Incluye · iconos en pastel suave ===== */
.dw-inc-g .nn{display:none}
.dw-inc-g li .ii,.dw-inc-g li:nth-child(even) .ii{background:linear-gradient(135deg,var(--p1),var(--p2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pd) 14%,transparent)}
.dw-inc-g li .ii svg{stroke:var(--pd)}


/* botón del mando: keywords en rojo sí / no */
.dock .kwb{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;font:700 9.5px/1 var(--mono);letter-spacing:.02em;color:#8C8C8C;padding:0}
.dock .kwb[aria-pressed="true"]{background:#FCE8E6;border-color:#EA4335;color:#C5221F}
.dock .kwb:hover{border-color:#EA4335}

/* ---------- PROYECTOS (común diseño web) ---------- */
.pj-g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.pj-c{display:grid;gap:12px;text-decoration:none;color:var(--ink)}
.pj-sh{position:relative;display:block;aspect-ratio:3/4;max-width:100%;border-radius:18px;overflow:hidden;background:var(--soft);border:1px solid var(--line);box-shadow:0 26px 50px -38px rgba(27,27,47,.55);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.pj-sh img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.pj-sh::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(17,17,17,.04)}
.pj-g li:nth-child(odd) .pj-sh{transform:translateY(14px)}
.pj-c:hover .pj-sh,.pj-c:focus-visible .pj-sh{transform:translateY(-6px) rotate(-1deg);box-shadow:0 36px 60px -36px rgba(255,90,54,.55)}
.pj-i{display:grid;gap:3px;padding-top:14px}
.pj-i b{font:600 15.5px/1.25 var(--disp);letter-spacing:-.02em}
.pj-i small{font-size:13px;line-height:1.35;color:var(--ink2)}
.pj-i em{font:500 11px/1 var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--dc);margin-top:6px}
@media (max-width:1100px){.pj-g{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}.pj-g li:nth-child(odd) .pj-sh{transform:none}}
@media (max-width:560px){.pj-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* ---------- 03 PROCESO · v2 (13 oct): sin fundido blanco, panel con recorrido ---------- */
.dw-b .dw-cols{position:relative;width:auto;margin-left:0;min-height:clamp(320px,42vh,420px);border-radius:28px;overflow:hidden;border:1px solid rgba(17,17,17,.06);box-shadow:0 44px 80px -60px rgba(27,27,47,.45)}
.dw-cols li{background:var(--k);padding-top:clamp(28px,3vw,44px)}
.dw-cols li + li{box-shadow:inset 1px 0 0 rgba(17,17,17,.07)}
.dw-cols .big{top:clamp(44px,4.6vw,64px);color:color-mix(in srgb,var(--k),#1B1B2F 13%);text-shadow:none}
.dw-cols li:hover .big{transform:translateY(6px);opacity:1;color:color-mix(in srgb,var(--k),#1B1B2F 22%)}
.dw-cols small{color:rgba(27,27,47,.6)}
.dw-cols::before{content:"";position:absolute;z-index:2;left:0;top:22px;height:2px;width:100%;background:#1B1B2F;transform:scaleX(0);transform-origin:left;transition:transform 2.2s cubic-bezier(.4,.1,.2,1) .2s}
.dw-proc.in .dw-cols::before{transform:scaleX(1)}
.dw-cols li::before{content:"";position:absolute;z-index:3;top:17px;left:clamp(20px,2.4vw,36px);width:11px;height:11px;border-radius:50%;background:#1B1B2F;box-shadow:0 0 0 4px var(--k);opacity:0;transform:scale(.4);transition:opacity .35s,transform .35s}
.dw-proc.in .dw-cols li::before{opacity:1;transform:scale(1)}
.dw-proc.in .dw-cols li:nth-child(1)::before{transition-delay:.25s}
.dw-proc.in .dw-cols li:nth-child(2)::before{transition-delay:.7s}
.dw-proc.in .dw-cols li:nth-child(3)::before{transition-delay:1.15s}
.dw-proc.in .dw-cols li:nth-child(4)::before{transition-delay:1.6s}
.dw-proc.in .dw-cols li:nth-child(5)::before{transition-delay:2.05s}
@media (max-width:980px){.dw-cols li{min-height:220px}}
@media (prefers-reduced-motion:reduce){.dw-cols::before{transform:scaleX(1);transition:none}.dw-cols li::before{opacity:1;transform:none;transition:none}}
.dw-b .dw-cols{min-height:clamp(380px,48vh,470px)}
.dw-cols li{padding-top:clamp(50px,4.6vw,64px)}
.dw-cols .big{position:static;z-index:0;margin-bottom:auto;font-size:clamp(64px,6.4vw,104px);line-height:.85}
.dw-cols li:hover .big{transform:translateY(4px)}
@media (max-width:980px){.dw-cols::before,.dw-cols li::before{display:none}.dw-cols li{padding-top:clamp(20px,2.4vw,36px);min-height:0}.dw-cols .big{font-size:56px;margin-bottom:10px}}

/* ---------- 09 DÓNDE TRABAJAMOS · v2 aprobada (13 oct): compacta y equilibrada ---------- */
#zonas.dw-b{padding-block:clamp(40px,7vh,72px)}
#zonas .dw-zg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
#zonas .zv-lead{font-size:15.5px;line-height:1.6;color:var(--ink2);max-width:46ch;margin-top:22px}
#zonas .dw-zg > div:last-child > .dw-zl:first-of-type{margin-top:6px}
#zonas .dw-zl{margin:22px 0 8px}
#zonas .dw-zt{margin:0}
#zonas .dw-zc,#zonas .dw-zc.rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
#zonas .dw-zc a{padding:5px 0;border:0;border-radius:0;background:none;font-size:13.5px;line-height:1.35;gap:9px;color:var(--ink2);transition:color .25s}
#zonas .dw-zc a i{width:5px;height:5px;flex:none}
#zonas .dw-zc a:hover{background:none;color:var(--ink)}
@media (max-width:980px){#zonas .dw-zg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){#zonas .dw-zc,#zonas .dw-zc.rel{grid-template-columns:minmax(0,1fr)}#zonas .zv-lead{font-size:15px}}

/* ---------- 08 PREGUNTAS · v2 aprobada (13 oct): centrada, dos columnas ---------- */
#preguntas .fq-g{grid-template-columns:minmax(0,1fr);justify-items:center;gap:clamp(24px,4vh,40px)}
#preguntas .dw-hh{text-align:center}
#preguntas .dw-h{max-width:22ch;margin-inline:auto}
#preguntas .fq-l{width:100%;max-width:1060px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,56px);align-items:start;border-top:0}
#preguntas .fq-l > *:nth-child(-n+2){border-top:1px solid var(--line)}
#preguntas .fq-l details p{padding-right:8px}
#preguntas .fq-more{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font:500 15.5px/1.35 var(--disp);letter-spacing:-.01em}
#preguntas .fq-more b{font-weight:inherit}
#preguntas .fq-more span{color:var(--dc)}
#preguntas .fq-more::after{content:"→";flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--page);font:400 13px/1 var(--sans);transition:transform .3s}
#preguntas .fq-more:hover::after{transform:translateX(3px)}
@media (max-width:860px){#preguntas .fq-l{grid-template-columns:minmax(0,1fr)}#preguntas .fq-l > *:nth-child(2){border-top:0}}


/* ===== Móvil (por debajo de 640 px): criterios aprobados en la home. El ordenador no cambia ===== */
@media (max-width:640px){
/* mando del prototipo abajo, como barra pequeña (no irá a la web real) */
.dock{top:auto!important;bottom:max(10px,env(safe-area-inset-bottom,0px))!important;right:auto!important;left:50%!important;transform:translateX(-50%)!important;grid-auto-flow:column;gap:4px!important;padding:5px 7px!important}
.dock button{width:28px!important;height:28px!important}
.dock hr{width:1px!important;height:16px!important;margin:auto 3px!important}
.tag{bottom:62px!important}
/* cabecera */
.ruler{display:none!important}
.hd{height:60px!important}
/* hero: lo esencial en la primera pantalla */
.dwh{min-height:0!important;display:block!important;padding-top:14px!important}
.dwh .fr{padding:0!important}
.dwh .hcol{gap:12px!important}
.dwh .h1kw{font-size:10.5px!important;line-height:1.45!important;letter-spacing:.04em!important}
.dwh .title{font-size:clamp(31px,9vw,36px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.dwh .sub{font-size:15px!important;line-height:1.45!important}
.dwh .ctas{gap:8px 14px!important;align-items:center}
.dwh .ctas .btn{padding:12px 18px!important;font-size:14px!important}
.dwh .ctas .btn.ghost{background:none!important;border:0!important;padding:6px 2px!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--frame);box-shadow:none!important}
.dwh-g{gap:20px!important}
.dwh-vis{width:62%;margin:0 auto}
.dwh-vis::before,.dwh-bg,.dw-soft,.pv-glow,.ct-bg,.ct-glow{pointer-events:none!important}
.dw-spec{margin-top:20px!important}
.dw-spec small{display:none!important}
.dw-spec > div,.dw-spec > div + div{padding:11px 14px 12px!important}
.dw-spec b{font-size:20px!important}
.dw-spec > div{border:0!important}
.dw-spec > div:nth-of-type(-n+2){border-bottom:1px solid rgba(17,17,17,.08)!important}
.dw-spec > div:nth-of-type(odd){border-right:1px solid rgba(17,17,17,.08)!important}
.dw-spec span:not(.tg){margin-top:4px!important;font-size:12.5px!important;line-height:1.3!important}
/* bloques: sin títulos numerados, 80 px entre bloques, titulares y entradillas a medida */
.dw-b{padding-block:40px!important}
#zonas.dw-b{padding-block:40px!important}
.dw-n,.ct-box .secn{display:none!important}
.dw-h{font-size:27px!important;line-height:1.1!important;letter-spacing:-.035em!important}
.dw-h .h2kw{font-size:10px!important;letter-spacing:.06em!important}
.dw-b .lead{font-size:15.5px!important;line-height:1.5!important}
.dw-top{gap:14px!important;margin-bottom:26px!important}
/* 01 por qué */
.dw-why-g{gap:12px!important}
.dw-why-g li{padding:16px!important;gap:8px!important}
.dw-why-g .wv{height:86px!important}
.dw-why-g h3{font-size:16.5px!important}
.dw-why-g p{font-size:14px!important;line-height:1.45!important}
/* 02 qué incluye: rejilla de 2 */
.dw-inc-g{grid-template-columns:1fr 1fr!important;gap:10px!important}
.dw-inc-g li{padding:13px 12px!important;gap:6px!important}
.dw-inc-g .ii{width:30px!important;height:30px!important}
.dw-inc-g h3{font-size:14px!important;line-height:1.25!important}
.dw-inc-g p{font-size:12.5px!important;line-height:1.4!important}
/* 03 proceso: número a la izquierda */
.dw-cols{gap:0!important}
.dw-cols li{min-height:0!important;padding:14px 16px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr);column-gap:12px;row-gap:3px;align-content:start}
.dw-cols li .big{grid-row:1/4;font-size:34px!important;line-height:1!important}
.dw-cols li h3{font-size:18px!important}
.dw-cols li p{font-size:14px!important;line-height:1.45!important;max-width:none!important}
/* 04 tipos */
.dw-tp{gap:10px!important}
.dw-tp li{padding:16px!important;gap:6px!important}
.dw-tp li::after{pointer-events:none}
.dw-tp h3{font-size:16.5px!important}
.dw-tp p{font-size:14px!important;line-height:1.45!important}
.dw-tp li.cta .btn{padding:11px 16px!important;font-size:14px!important}
/* 05 a medida o plantilla: cabecera de la tabla alineada */
.dw-tb .r.hd > span:first-child{display:none!important}
.dw-tb .r > *{padding:10px 12px!important;font-size:13.5px!important}
.dw-tb .r b{padding-bottom:0!important}
.dw-tb .hd > *{font-size:10px!important}
/* 06 proyectos: capturas más bajas */
.pj-g{gap:16px 12px!important}
.pj-c{gap:8px!important}
.pj-sh{aspect-ratio:4/3!important}
.pj-i{padding-top:0!important}
/* 07 precio */
.dw-pbox{padding:20px 18px!important;gap:20px!important}
.dw-pf li{padding:10px 12px!important}
.dw-pf span{font-size:13.5px!important}
/* zonas: enlaces de ciudad en dos columnas */
#zonas .dw-zc:not(.rel){grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important}
/* 08 preguntas */
.dw-faq summary{font-size:15.5px!important}
/* contacto */
.ct-box{padding:36px 0!important}
.ct-h{font-size:27px!important;line-height:1.1!important}
.ct-p{font-size:15.5px!important}
.ct-t{gap:8px!important;margin-top:18px!important}
.ct-t li{padding:8px 12px!important;font-size:13px!important}
}


/* preguntas: formato aprobado (el de SEO local: título centrado arriba y preguntas en dos columnas) */
.s4-faq .fq-g{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center;gap:clamp(24px,4vh,40px)}
.s4-faq .dw-hh{text-align:center}.s4-faq .dw-n{justify-content:center}
.s4-faq h2{position:static!important;text-align:center;max-width:20ch;margin-inline:auto}
.s4-faq .fq-l{width:100%;max-width:1060px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,56px);align-items:start;border-top:0!important}
.s4-faq .fq-l>*:nth-child(-n+2){border-top:1px solid var(--line)}
.s4-faq .fq-l details{border-bottom:1px solid var(--line);padding:11px 0}
.s4-faq .fq-l summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:3px 0;font:500 15.5px/1.35 var(--disp);letter-spacing:-.01em}
.s4-faq .fq-l summary::-webkit-details-marker{display:none}
.s4-faq .fq-l summary::after{content:"+";flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;font:400 16px/1 var(--sans);transition:transform .3s,background .3s}
.s4-faq .fq-l details[open] summary::after{transform:rotate(45deg);background:color-mix(in srgb,var(--dc,#1F1D1A) 12%,#fff);border-color:color-mix(in srgb,var(--dc,#1F1D1A) 30%,#fff)}
.s4-faq .fq-l details p{margin:10px 0 0;padding:0 8px 0 0;font-size:15px;line-height:1.55;color:var(--ink2)}
.s4-faq .fq-more{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font:500 15.5px/1.35 var(--disp);letter-spacing:-.01em}
.s4-faq .fq-more b{font-weight:inherit}.s4-faq .fq-more span{color:var(--dc,#1F1D1A)}
.s4-faq .fq-more::after{content:"→";flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--page);font:400 13px/1 var(--sans);transition:transform .3s}
.s4-faq .fq-more:hover::after{transform:translateX(3px)}
@media (max-width:980px){.s4-faq .fq-l{grid-template-columns:minmax(0,1fr)}.s4-faq .fq-l>*:nth-child(2){border-top:0}}
.s4-faq .fq-l details p a{color:var(--dc,#1F1D1A);text-decoration:underline;text-underline-offset:3px}
.s4-faq .fq-rel{grid-column:1/-1;width:100%;max-width:1060px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;margin-top:8px}
.s4-faq .fq-rel span{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-right:6px}
.s4-faq .fq-rel a{padding:7px 13px;border-radius:100px;border:1px solid var(--line);font-size:13.5px;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}
.s4-faq .fq-rel a:hover{border-color:var(--ink)}
.s4-faq .fq-g h2{font:500 clamp(32px,3.6vw,52px)/1.04 var(--disp);letter-spacing:-.045em}
.s4-faq .fq-l summary h3{font:inherit;letter-spacing:inherit;margin:0}
.s4-faq .fq-l summary i{display:none}
.s4-faq .secn{display:flex;justify-content:center;width:100%;align-items:center;gap:6px}.s4-faq .secn::after,.s4-faq .secn::before{display:none!important}
@media (max-width:640px){html .s4-faq .fq-g{gap:14px!important}html .s4-faq summary{font-size:15.5px!important}html .s4-faq details p{font-size:14.5px!important}html .s4-faq .fq-rel{gap:6px!important;margin-top:18px!important}html .s4-faq .fq-rel a{font-size:13px!important;padding:7px 11px!important}html .s4-faq .fq-g h2{font-size:27px!important}}

.pl-toast{position:fixed;left:50%;bottom:22px;z-index:9999;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:11px 16px;border-radius:100px;background:#1B1B2F;color:#fff;font:500 13px/1.3 'Instrument Sans',system-ui,sans-serif;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);transition:opacity .25s,transform .3s;max-width:calc(100vw - 32px);text-align:center}.pl-toast.on{opacity:1;transform:translate(-50%,0)}.pl-toast b{color:#FFB199;font-weight:600}
/* foto de Josep */.ab-ph.has-ph,.jb-ph.has-ph{border:0!important;padding:0!important;overflow:hidden;background:#E9E7E2!important;box-shadow:0 0 0 3px #fff,0 10px 24px -12px rgba(17,17,17,.45)}.ab-ph.has-ph img,.jb-ph.has-ph img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
nav.dock,#tag{display:none!important}