/* Mojardermi · hoja de estilos principal */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff) format("woff")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff) format("woff")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600.woff) format("woff")}

:root{
  --azul:#2365AC;--verde:#8DC043;--gris:#C8C7C7;--noche:#0B1F3A;--azulc:#3F86D9;
  --pizarra:#4A5566;--tinta:#0E1B2E;--niebla:#F4F6F9;--brote:#EAF4DC;--blanco:#fff;--linea:#E2E7EE;
  --grad:linear-gradient(120deg,#2365AC 0%,#2E86A8 45%,#8DC043 100%);
  --firma:linear-gradient(90deg,var(--gris) 0 74%,var(--azul) 74% 84%,var(--verde) 84% 96%,var(--gris) 96%);
  --r:22px;--r-sm:14px;
  --wrap:1180px;--pad:clamp(20px,5vw,56px);
  --fs-hero:clamp(2.6rem,6.4vw,5.6rem);--fs-h2:clamp(2rem,4.2vw,3.5rem);--fs-h3:clamp(1.2rem,1.7vw,1.45rem);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--tinta);background:var(--niebla);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:Poppins,Inter,sans-serif;font-weight:500;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em;color:var(--tinta)}
h3{font-weight:500;line-height:1.2;letter-spacing:-.01em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--azulc);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--pad)*2);margin:0 auto;padding:0 var(--pad);position:relative;z-index:3}

/* ---------- etiquetas y utilidades ---------- */
.label{display:block;font:600 .74rem/1.7 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--pizarra);margin-bottom:1.6rem}
.label b{color:var(--azul);font-weight:600}
.label:before{content:"";display:inline-block;vertical-align:middle;margin:-2px .8em 0 0;width:28px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--azul) 50%,var(--verde) 50%)}
.dark .label{color:#9fb0c8}.dark .label b{color:var(--verde)}
.mark{background:linear-gradient(var(--brote),var(--brote)) no-repeat 0 88%/0% 46%;transition:background-size 1s var(--ease) .25s;padding:0 .08em;border-radius:4px}
.mark.blue{background-image:linear-gradient(#DCE8F6,#DCE8F6)}
.in .mark,.mark.in{background-size:100% 46%}
.dark .mark{background-image:linear-gradient(rgba(141,192,67,.35),rgba(141,192,67,.35))}
.lead{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--pizarra);max-width:40em}
.muted{color:var(--pizarra)}
.firma{height:6px;border-radius:6px;background:var(--firma)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.7em;font:500 1rem/1 Poppins,sans-serif;text-decoration:none;padding:1.05em 1.6em;border-radius:999px;border:0;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .3s}
.btn svg{width:18px;height:18px;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-dark{background:var(--tinta);color:#fff}
.btn-dark:hover{box-shadow:0 10px 30px -10px rgba(14,27,46,.55);transform:translateY(-2px)}
.btn-grad{background:var(--grad);color:#fff}
.btn-grad:hover{box-shadow:0 12px 32px -12px rgba(35,101,172,.7);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 1.5px rgba(14,27,46,.22)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--tinta)}
.btn-white{background:#fff;color:var(--tinta)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(0,0,0,.4)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- encabezado ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;transition:background-color .35s,box-shadow .35s,transform .45s var(--ease)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.hdr.scrolled{background:rgba(244,246,249,.86);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);box-shadow:0 1px 0 var(--linea)}
.hdr.hide{transform:translateY(-100%)}
.brand{display:block;width:196px;flex:none}
.brand img{width:100%;height:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav a{text-decoration:none;font:500 .95rem/1 Poppins,sans-serif;color:var(--tinta);padding:.8em 1em;border-radius:999px;transition:background-color .25s}
.nav a:hover{background:rgba(35,101,172,.08)}
.nav a[aria-current=page]{color:var(--azul)}
.nav .btn{margin-left:10px;padding:.85em 1.3em;color:#fff}
.burger{display:none;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--tinta);background:transparent;cursor:pointer;position:relative;color:var(--tinta)}
.burger span{position:absolute;left:15px;right:15px;height:1.6px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.burger span:nth-child(1){top:21px}.burger span:nth-child(2){top:29px}
.menu-open .burger span:nth-child(1){top:25px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:25px;transform:rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:55;background:var(--noche);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:110px var(--pad) 40px;clip-path:circle(0% at calc(100% - 46px) 42px);transition:clip-path .7s var(--ease);visibility:hidden}
.menu-open .mmenu{clip-path:circle(150% at calc(100% - 46px) 42px);visibility:visible}
.menu-open .hdr .burger{color:#fff;border-color:#fff}
.menu-open .hdr .brand img{filter:brightness(0) invert(1)}
.menu-open .hdr.scrolled{background:transparent;box-shadow:none;backdrop-filter:none}
.mmenu ol{list-style:none;margin:0;padding:0;counter-reset:m}
.mmenu li{counter-increment:m;border-bottom:1px solid rgba(255,255,255,.12)}
.mmenu li a{display:flex;align-items:baseline;gap:16px;text-decoration:none;font:500 clamp(1.8rem,7vw,2.8rem)/1.25 Poppins,sans-serif;padding:.32em 0}
.mmenu li a:before{content:"0" counter(m);font:600 .75rem Inter;letter-spacing:.14em;color:var(--verde)}
.mmenu .mfoot{margin-top:36px;color:#9fb0c8;font-size:.95rem}
.mmenu .mfoot a{font:inherit;padding:0;display:inline;color:#fff}

/* ---------- línea que sigue el scroll ---------- */
.trail{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:2;overflow:visible}
.trail path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.trail .ghost{stroke:rgba(35,101,172,.07)}
.trail-head{position:absolute;left:0;top:0;z-index:4;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#fff;box-shadow:0 10px 30px -8px rgba(11,31,58,.35),0 0 0 6px rgba(255,255,255,.55);display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .4s;will-change:transform}
.trail-head.on{opacity:1}
.trail-head svg{width:34px;height:auto;transition:transform .5s var(--ease)}
.trail-head:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid transparent;background:var(--grad) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}

/* ---------- secciones ---------- */
.sec{position:relative;padding:clamp(90px,12vw,150px) 0}
.sec.tight{padding:clamp(60px,8vw,100px) 0}
.dark{background:var(--noche);color:#E8EEF7}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark p,.dark .lead{color:#B6C3D6}
.white{background:#fff}
.h2{font-size:var(--fs-h2);max-width:16em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.split.top{align-items:start}
.split.form-split{grid-template-columns:1.35fr 1fr}
.cols-12{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}

/* ---------- hero ---------- */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:140px 0 90px;position:relative;overflow:hidden}
.hero h1{font-size:var(--fs-hero);line-height:1.02;letter-spacing:-.035em;max-width:11.5em;margin-bottom:.45em}
.hero .lead{margin-bottom:2.2rem}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.hero-sym{position:relative;justify-self:end;width:min(100%,430px)}
.hero-sym svg{width:100%;overflow:visible}
.hero-sym .p{transform-box:fill-box;transform-origin:50% 100%;opacity:0;transform:translateY(40px) scaleY(.6);animation:rise 1.1s var(--ease) forwards}
.hero-sym .p1{transform-origin:0 50%;transform:translateX(-30px) scaleX(.5);animation-delay:.15s}
.hero-sym .p2{animation-delay:.35s}.hero-sym .p3{animation-delay:.5s}.hero-sym .p4{animation-delay:.65s}
@keyframes rise{to{opacity:1;transform:none}}
.hero-glow{position:absolute;right:-12vw;top:-18vw;width:80vw;height:80vw;max-width:1100px;max-height:1100px;background:radial-gradient(closest-side at 62% 42%,rgba(141,192,67,.22),rgba(141,192,67,0) 70%),radial-gradient(closest-side at 38% 62%,rgba(35,101,172,.16),rgba(35,101,172,0) 70%);z-index:0;pointer-events:none}
.scroll-cue{position:absolute;right:var(--pad);bottom:28px;display:flex;align-items:center;gap:10px;font:600 .72rem Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--pizarra);z-index:3}
.scroll-cue i{width:1px;height:38px;background:linear-gradient(var(--azul),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero-facts{display:flex;gap:clamp(20px,4vw,56px);margin-top:56px;padding-top:28px;border-top:1px solid var(--linea);max-width:640px}
.hero-facts div{font:500 clamp(1.6rem,3vw,2.3rem)/1 Poppins;letter-spacing:-.02em}
.hero-facts small{display:block;font:400 .85rem/1.4 Inter;color:var(--pizarra);margin-top:8px;letter-spacing:0}

/* ---------- marquesina ---------- */
.marquee{overflow:hidden;padding:10px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:16px;width:max-content;animation:mq 60s linear infinite}
.marquee.rev .marquee-track{animation-direction:reverse;animation-duration:70s}
.marquee:hover .marquee-track{animation-play-state:paused}
.chip{flex:none;display:flex;align-items:center;gap:14px;background:#fff;border-radius:var(--r-sm);padding:22px 28px;font:500 1.05rem/1.2 Poppins;text-decoration:none;color:var(--tinta);box-shadow:0 1px 0 var(--linea);transition:transform .3s var(--ease)}
.chip:hover{transform:translateY(-3px)}
.chip i{width:10px;height:10px;border-radius:3px;flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- tarjetas ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:#fff;border-radius:var(--r);padding:clamp(26px,3vw,40px);position:relative;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(11,31,58,.35)}
.card .n{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--tinta);display:grid;place-items:center;font:600 .8rem Inter;margin-bottom:60px}
.card h3{font-size:var(--fs-h3)}
.card p{color:var(--pizarra);margin:0;font-size:.98rem}
.white .card,.white .checks li,.white .faq details,.white .related a{background:var(--niebla)}.dark .card{background:#13294A}.dark .card p{color:#B6C3D6}.dark .card .n{border-color:#fff;color:#fff}

.area{border-radius:var(--r);padding:clamp(30px,4vw,52px);color:#fff;text-decoration:none;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:end;position:relative;overflow:hidden;min-height:300px;transition:transform .5s var(--ease)}
.area+.area{margin-top:16px}
.area:hover{transform:scale(1.01)}
.area .k{font:600 .72rem Inter;letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin-bottom:14px}
.area h3{color:#fff;font-size:clamp(1.6rem,2.6vw,2.2rem);margin-bottom:.4em}
.area p{color:rgba(255,255,255,.86);margin:0}
.area ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-self:end;justify-content:flex-end}
.area li{font-size:.85rem;padding:.5em .9em;border-radius:999px;background:rgba(255,255,255,.14)}
.area .go{position:absolute;right:clamp(30px,4vw,52px);top:clamp(30px,4vw,52px);width:54px;height:54px;border-radius:50%;background:#fff;color:var(--tinta);display:grid;place-items:center;transition:transform .4s var(--ease)}
.area:hover .go{transform:rotate(-45deg)}
.area .go svg{width:20px}
.area .bg{position:absolute;right:-60px;bottom:-80px;width:340px;opacity:.12}
.a-admin{background:#2365AC}.a-ti{background:linear-gradient(135deg,#1F6E9C,#2E86A8)}.a-legal{background:linear-gradient(135deg,#4F8F27,#6BA437)}

/* ---------- pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{border-top:2px solid var(--tinta);padding-top:22px;counter-increment:s}
.step:before{content:"0" counter(s);display:block;font:500 2.6rem/1 Poppins;letter-spacing:-.03em;margin-bottom:28px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-size:1.25rem}
.step p{color:var(--pizarra);font-size:.97rem}

/* ---------- pilares ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14)}
.pillar{padding:40px 28px 10px 0}
.pillar+.pillar{padding-left:28px;border-left:1px solid rgba(255,255,255,.14)}
.pillar b{display:block;font:500 clamp(1.4rem,2.2vw,1.9rem)/1.15 Poppins;color:#fff;margin-bottom:12px}

/* ---------- foto ---------- */
.photo{border-radius:var(--r);overflow:hidden;position:relative;background:#dfe6ef}
.photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.6s var(--ease)}
.in .photo img,.photo.in img{transform:scale(1)}
.photo.tall{aspect-ratio:4/5}.photo.wide{aspect-ratio:16/10}.photo.cine{aspect-ratio:21/9}
.photo .cut{position:absolute;right:0;bottom:0;width:38%;aspect-ratio:1;background:var(--niebla);clip-path:polygon(100% 12%,100% 100%,0 100%)}

/* ---------- CTA ---------- */
.cta{border-radius:calc(var(--r) + 8px);background:var(--grad);color:#fff;padding:clamp(40px,7vw,96px);position:relative;overflow:hidden}
.cta h2{color:#fff;font-size:var(--fs-h2);max-width:13em}
.cta p{color:rgba(255,255,255,.9);max-width:34em}
.cta .sym{position:absolute;right:-4%;bottom:-18%;width:min(46%,480px);opacity:.16}
.cta .mail{display:inline-block;font:500 clamp(1.2rem,2.6vw,2rem)/1.2 Poppins;color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.5);margin:6px 0 30px;word-break:break-all}
.cta .mail:hover{border-color:#fff}

/* ---------- subpáginas ---------- */
.phero{padding:170px 0 70px;position:relative;overflow:hidden}
.phero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.04;letter-spacing:-.03em;max-width:14em}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 26px;font-size:.85rem;color:var(--pizarra)}
.crumbs li+li:before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--azul)}
.phero .sym-bg{position:absolute;right:-6%;top:90px;width:min(40vw,520px);opacity:.07;z-index:0}
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.svc-list li{border-bottom:1px solid var(--linea)}
.svc-list a{display:grid;grid-template-columns:56px 1fr auto;gap:20px;align-items:center;padding:26px 6px;text-decoration:none;transition:padding .4s var(--ease),background-color .3s}
.svc-list a:hover{padding-left:18px;background:#fff}
.svc-list .i{font:600 .8rem Inter;color:var(--azul)}
.svc-list h3{margin:0 0 4px;font-size:1.3rem}
.svc-list p{margin:0;color:var(--pizarra);font-size:.95rem}
.svc-list svg{width:22px;transition:transform .4s var(--ease)}
.svc-list a:hover svg{transform:translateX(6px)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;background:#fff;border-radius:var(--r-sm);padding:18px 20px}
.checks li:before{content:"";width:30px;height:30px;border-radius:50%;background:var(--brote) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E9E2F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.for{list-style:none;margin:0;padding:0}
.for li{padding:16px 0 16px 34px;border-bottom:1px solid rgba(255,255,255,.14);position:relative}
.for li:before{content:"";position:absolute;left:0;top:23px;width:16px;height:4px;border-radius:4px;background:var(--verde)}
.faq details{background:#fff;border-radius:var(--r-sm);margin-bottom:12px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:22px 64px 22px 26px;font:500 1.1rem/1.35 Poppins;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";position:absolute;right:24px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--niebla) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B2E' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/13px no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 26px 22px;margin:0;color:var(--pizarra)}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related a{background:#fff;border-radius:var(--r-sm);padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:8px;min-height:160px;transition:transform .4s var(--ease)}
.related a:hover{transform:translateY(-4px)}
.related small{font:600 .7rem Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--azul)}
.related b{font:500 1.15rem/1.25 Poppins}
.related span{color:var(--pizarra);font-size:.92rem;margin-top:auto}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.vm .card{min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.vm .card.g{background:var(--grad);color:#fff}.vm .card.g h3,.vm .card.g p{color:#fff}
.vm .card.n2{background:var(--noche)}.vm .card.n2 h3{color:#fff}.vm .card.n2 p{color:#B6C3D6}
.vals{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.vals .card{padding:28px 24px}
.vals .card .n{margin-bottom:40px}

/* ---------- formulario ---------- */
.form{background:#fff;border-radius:var(--r);padding:clamp(26px,4vw,48px)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px}
.fgrid .full{grid-column:1/-1}
.field label{display:block;font:600 .8rem Inter;letter-spacing:.04em;margin-bottom:8px;color:var(--tinta)}
.field input:not([type=checkbox]),.field select,.field textarea{width:100%;font:400 1rem Inter,sans-serif;color:var(--tinta);background:var(--niebla);border:1.5px solid transparent;border-radius:12px;padding:14px 16px;transition:border-color .25s,background-color .25s;appearance:none;-webkit-appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B2E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--azul);background:#fff}
.field .err{display:none;color:#B42318;font-size:.82rem;margin-top:6px}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#B42318}
.field.bad .err{display:block}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--pizarra)}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--azul);flex:none}
.form .note{font-size:.82rem;color:var(--pizarra);margin:14px 0 0}
.form-ok{display:none;background:var(--brote);border-radius:12px;padding:16px 18px;margin-top:16px;font-size:.95rem}
.form-ok.show{display:block}
.info{display:grid;gap:14px}
.info .card{padding:26px}
.info small{display:block;font:600 .72rem Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--azul);margin-bottom:8px}
.info a{text-decoration:none;font:500 1.15rem Poppins}
.map{border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:#dfe6ef;position:relative}
.map iframe{width:100%;height:100%;border:0}
.map button{position:absolute;inset:0;width:100%;border:0;background:#dfe6ef center/cover;cursor:pointer;font:500 1rem Poppins;color:var(--tinta)}
.map button span{background:#fff;padding:14px 22px;border-radius:999px;box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}

/* ---------- texto legal ---------- */
.prose{max-width:780px}
.prose h2{font-size:1.5rem;margin-top:2.2em}
.prose h3{font-size:1.15rem;margin-top:1.6em}
.prose p,.prose li{color:#33404F}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.5em}
.prose .box{background:#fff;border-radius:var(--r-sm);padding:22px 24px;margin:1.4em 0}

/* ---------- pie ---------- */
.ftr{background:var(--noche);color:#B6C3D6;padding:90px 0 36px;position:relative;z-index:3;overflow:hidden}
.ftr a{text-decoration:none;color:#E8EEF7}
.ftr a:hover{color:var(--verde)}
.ftr-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ftr h4{font:600 .74rem Inter;letter-spacing:.16em;text-transform:uppercase;color:#7f91ab;margin-bottom:18px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.95rem}
.ftr .logo{width:220px;margin-bottom:22px}
.ftr .firma{margin:70px 0 26px}
.ftr-bot{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:.85rem;color:#7f91ab}
.ftr .bigsym{position:absolute;right:-90px;top:-40px;width:420px;opacity:.05}

/* ---------- animaciones de aparición ---------- */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal="2"]{transition-delay:.12s}[data-reveal="3"]{transition-delay:.24s}[data-reveal="4"]{transition-delay:.36s}
.no-js [data-reveal]{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav a:not(.btn){display:none}
  .vals{grid-template-columns:repeat(3,1fr)}
  .ftr-top{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  body{font-size:1rem}
  .hdr .wrap{height:72px}
  .brand{width:164px}
  .nav{display:none}
  .burger{display:block}
  .hero{padding:120px 0 80px;min-height:auto}
  .hero-grid{grid-template-columns:1fr}
  .hero-sym{justify-self:start;width:min(62vw,280px);order:-1;margin-bottom:10px}
  .split,.split.form-split,.cards2,.vm{grid-template-columns:1fr}
  .cards3,.related{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;gap:34px 20px}
  .pillars{grid-template-columns:1fr}
  .pillar,.pillar+.pillar{padding:26px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .area{grid-template-columns:1fr;min-height:0;padding-top:96px}
  .area ul{justify-content:flex-start}
  .card .n{margin-bottom:34px}
  .fgrid{grid-template-columns:1fr}
  .phero{padding:130px 0 50px}
  .svc-list a{grid-template-columns:40px 1fr 22px;gap:12px}
  .trail-head{width:36px;height:36px;margin:-18px 0 0 -18px}
  .trail-head svg{width:20px}
  .wrap{padding-right:calc(var(--pad) + 18px)}
  .has-line .phero .wrap,.ftr .wrap{padding-right:var(--pad)}
}
@media (max-width:600px){
  .vals{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr}
  .hero-facts{gap:18px}
  .chip{padding:16px 20px;font-size:.95rem}
  .btn{width:100%;justify-content:center}
  .cta .btn{width:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
  .marquee-track{animation:none;flex-wrap:wrap;width:auto}
}
@media print{.hdr,.trail,.trail-head,.mmenu,.scroll-cue{display:none!important}.sec{padding:30px 0}}
