/* SEIP - Servicios de Educacion Integral y Profesional */
:root{
  --navy:#1B1F38;
  --navy-2:#323653;
  --navy-3:#4A5078;
  --brand:#3e64de;
  --brand-cta:#3355C8;
  --brand-cta-h:#2B49AC;
  --accent:#00BFA6;
  --smoke:#F4F6FB;
  --line:#E3E8F4;
  --line-dark:rgba(255,255,255,.14);
  --ink:#22263F;
  --gray:#5A6478;
  --white:#fff;
  --r-card:14px;
  --r-btn:8px;
  --pad:clamp(20px,5vw,40px);
  --sec:clamp(64px,9vw,104px);
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{
  overflow-x:clip;
  font-family:'Google Sans Flex',system-ui,sans-serif;
  font-size:17px;line-height:1.7;color:var(--gray);
  background:var(--white);-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.font-d{font-family:'Poppins',sans-serif;color:var(--ink);font-weight:600;line-height:1.2}
h1{font-size:clamp(32px,4.6vw,49px);line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(27px,3.6vw,38px);letter-spacing:-.015em}
h3{font-size:clamp(19px,2vw,23px);font-weight:500}
p{margin:0}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img,svg{display:block;max-width:100%}
img{height:auto}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}

.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;border-radius:0 0 var(--r-btn) 0;font-size:15px;font-weight:600}
.skip:focus{left:0}
.mmenu{display:none;border-top:1px solid var(--line);background:#fff;padding:14px var(--pad) 22px}
.mmenu[data-open]{display:block}
.mmenu a{display:block;padding:14px 0;font-size:16px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line)}
.mmenu a:last-of-type{border-bottom:0}
.mmenu .btn{margin-top:16px;width:100%}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.form__ok{text-align:center;padding:26px 8px}
.form__ok svg{color:var(--brand-cta);margin:0 auto 16px}
.form__ok h3{font-size:20px;margin-bottom:8px}
.form__ok p{font-size:15.5px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.section{padding-block:var(--sec)}
.section--smoke{background:var(--smoke)}
.section--navy{background:var(--navy);color:rgba(255,255,255,.72)}
.section--navy h2,.section--navy h3,.section--navy h4{color:#fff}

/* firma: el arco del logotipo */
.eyebrow{
  display:inline-flex;align-items:center;gap:11px;
  font-family:'Google Sans Flex',system-ui,sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brand-cta);
  margin-bottom:18px;
}
.eyebrow::before{
  content:'';width:15px;height:15px;flex:none;border-radius:50%;
  border:2px solid var(--brand);border-right-color:transparent;border-bottom-color:transparent;
  transform:rotate(45deg);
}
.section--navy .eyebrow{color:var(--accent)}
.section--navy .eyebrow::before{border-color:var(--accent);border-right-color:transparent;border-bottom-color:transparent}

.lead{font-size:clamp(16px,1.5vw,18.5px);max-width:62ch;margin-top:18px}
.sec-head{max-width:720px;margin-bottom:clamp(38px,5vw,58px)}

/* botones */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Google Sans Flex',system-ui,sans-serif;font-size:15.5px;font-weight:600;
  padding:15px 26px;border-radius:var(--r-btn);border:1.5px solid transparent;
  cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s;
  min-height:52px;text-align:center;
}
.btn--primary{background:var(--brand-cta);color:#fff}
.btn--primary:hover{background:var(--brand-cta-h);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--navy);background:var(--white)}
.section--navy .btn--ghost,.hero .btn--ghost{color:#fff;border-color:var(--line-dark)}
.section--navy .btn--ghost:hover,.hero .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn--block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--brand-cta);font-size:15.5px}
.link-arrow:hover{gap:12px}
.link-arrow svg{transition:transform .18s}

/* ── encabezado ── */
.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header__in{display:flex;align-items:center;gap:28px;height:82px}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand__mark{width:34px;height:34px;flex:none}
.brand__txt{font-family:'Poppins',sans-serif;font-weight:600;font-size:18px;color:var(--navy);letter-spacing:.01em;line-height:1}
.brand__txt span{display:block;font-family:'Google Sans Flex',system-ui,sans-serif;font-size:8.5px;font-weight:600;letter-spacing:.22em;color:var(--brand-cta);margin-top:3px}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav a{font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap}
.nav a:hover{color:var(--brand-cta)}
.nav__login{margin-left:20px;padding:11px 18px;min-height:44px;font-size:14.5px;font-weight:600}
.header .btn{padding:11px 20px;min-height:44px;font-size:14.5px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--r-btn);width:46px;height:46px;align-items:center;justify-content:center;cursor:pointer}
.burger span{display:block;width:18px;height:1.5px;background:var(--navy);position:relative}
.burger span::before,.burger span::after{content:'';position:absolute;left:0;width:18px;height:1.5px;background:var(--navy)}
.burger span::before{top:-6px}.burger span::after{top:6px}

/* ── portada ── */
.hero{position:relative;background:var(--navy);color:rgba(255,255,255,.78);overflow:hidden}
.hero__arc{position:absolute;right:-16%;top:-26%;width:min(880px,92vw);opacity:.34;pointer-events:none}
.hero__in{position:relative;z-index:2;padding-block:clamp(52px,7vw,88px) clamp(48px,6vw,66px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(34px,4vw,56px);align-items:center}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lead{color:rgba(255,255,255,.72);font-size:clamp(16px,1.6vw,19px)}
.badge{
  display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;
  padding:8px 16px 8px 12px;border:1px solid var(--line-dark);border-radius:99px;
  color:#fff;margin-bottom:26px;
}
.badge i{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.hero__eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.hero__shot{position:relative;margin:0}
.hero__frame{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.18);
  box-shadow:0 50px 100px -44px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.04)}
.hero__frame img{width:100%}
.hero__chip{position:absolute;display:flex;align-items:center;gap:10px;
  background:rgba(11,24,48,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:11px 15px;
  font-size:13.5px;font-weight:500;color:#fff;white-space:nowrap;
  box-shadow:0 22px 40px -22px rgba(0,0,0,.9)}
.hero__chip svg{color:var(--accent);flex:none}
.hero__chip--a{left:-22px;bottom:-20px}
.hero__chip--b{right:-16px;top:-20px}
.hero__bar{position:relative;z-index:2;border-top:1px solid var(--line-dark)}
.hero__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px clamp(24px,4vw,56px);padding-block:26px}
.hero__facts li{padding-left:16px;position:relative}
.hero__facts li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.hero__facts b{display:block;font-family:'Poppins',sans-serif;font-weight:500;font-size:16px;color:#fff;margin-bottom:3px}
.hero__facts span{font-size:14px;line-height:1.55;color:rgba(255,255,255,.62)}

/* ── beneficios ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,64px)}
.feat{padding:30px 28px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card)}
.feat h3{font-size:18.5px;margin-bottom:9px}
.feat p{font-size:15.5px;line-height:1.65}
.feat__ico{width:38px;height:38px;color:var(--brand-cta);margin-bottom:18px}

/* ── alianzas ── */
.stamps{display:grid;gap:14px}
.stamp{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card)}
.stamp__k{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gray);flex:none;width:132px}
.stamp__v{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:'Poppins',sans-serif;font-size:14px;font-weight:500;color:var(--navy);background:var(--smoke);border:1px solid var(--line);border-radius:99px;padding:6px 15px}
.verify{margin-top:22px;padding:22px;border:1px dashed var(--line);border-radius:var(--r-card);display:flex;gap:16px;align-items:flex-start}
.verify svg{color:var(--brand-cta);flex:none;margin-top:2px}
.verify p{font-size:15px}

/* ── programas ── */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,26px)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}
.card:hover{border-color:#C9D3E4;transform:translateY(-3px);box-shadow:0 14px 34px -22px rgba(14,30,63,.4)}
.card__top{position:relative;padding:20px;min-height:158px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#12274F 0%,#1B1F38 58%,#123A1E 100%)}
.card__pills{display:flex;flex-wrap:wrap;gap:7px}
.pill{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:5px 12px;border-radius:99px;border:1px solid var(--line-dark);color:rgba(255,255,255,.86)}
.pill--solid{background:var(--accent);border-color:var(--accent);color:#16340B}
.card__ico{width:44px;height:44px;color:var(--accent);align-self:flex-end;opacity:.9}
.card__body{padding:24px;display:flex;flex-direction:column;flex:1}
.card__meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;font-weight:500;color:var(--gray);margin-bottom:14px}
.card__meta span{display:flex;align-items:center;gap:7px}
.card__meta svg{color:var(--brand-cta);flex:none}
.card h3{font-size:21px;margin-bottom:11px;line-height:1.28}
.card__desc{font-size:15.5px;line-height:1.62;margin-bottom:16px}
.card__who{font-size:14px;padding-top:15px;border-top:1px solid var(--line);margin-bottom:22px}
.card__who b{font-family:'Poppins',sans-serif;font-weight:500;color:var(--navy)}
.card .btn{margin-top:auto}
.note{margin-top:clamp(26px,3vw,36px);padding:26px 28px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.note p{font-size:15.5px;max-width:60ch}
.note b{font-family:'Poppins',sans-serif;font-weight:500;color:var(--navy);display:block;margin-bottom:3px}

/* ── modalidades ── */
.split{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.4vw,28px)}
.panel{padding:30px;border:1px solid var(--line-dark);border-radius:var(--r-card);background:rgba(255,255,255,.03)}
.panel h3{font-size:19px;margin-bottom:10px}
.panel p{font-size:15.5px;line-height:1.65}
.panel__tag{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:13px;display:block}
.plat{margin-top:clamp(20px,2.4vw,28px);border:1px solid var(--line-dark);border-radius:var(--r-card);overflow:hidden}
.plat li{padding:22px 26px;border-bottom:1px solid var(--line-dark);display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:baseline}
.plat li:last-child{border-bottom:0}
.plat b{font-family:'Poppins',sans-serif;font-weight:500;font-size:16px;color:#fff}
.plat span{font-size:15px;color:rgba(255,255,255,.66)}

/* ── mockups de plataforma ── */
.mock{position:relative;margin-top:clamp(44px,5.5vw,68px)}
.mock__glow{position:absolute;left:50%;top:14%;transform:translateX(-50%);width:min(760px,88%);height:62%;
  background:radial-gradient(ellipse at center,rgba(61,174,43,.18),rgba(14,30,63,0) 68%);filter:blur(14px);pointer-events:none}
.mock__stage{position:relative;max-width:1020px;margin-inline:auto}
.mock__desk{border:1px solid rgba(255,255,255,.16);border-radius:14px;overflow:hidden;background:#0B1830;
  box-shadow:0 44px 90px -46px rgba(0,0,0,.9)}
.mock__bar{display:flex;align-items:center;gap:8px;padding:11px 14px;background:#132A52;border-bottom:1px solid rgba(255,255,255,.12)}
.mock__dots{display:flex;gap:6px;flex:none}
.mock__dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22)}
.mock__url{flex:1;text-align:center;font-size:11.5px;letter-spacing:.02em;color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.07);border-radius:99px;padding:4px 12px;max-width:340px;margin-inline:auto;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mock__desk img{width:100%;display:block}
.plat--grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border:0;margin-top:clamp(40px,5vw,60px)}
.plat--grid li{display:block;padding:22px;border:1px solid var(--line-dark);border-radius:var(--r-card)}
.plat--grid b{display:block;margin-bottom:6px}
@media(max-width:900px){
  .plat--grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){.plat--grid{grid-template-columns:1fr}}

/* ── cifras ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px)}
.stat{padding:28px 24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white)}
.stat b{display:block;font-family:'Poppins',sans-serif;font-size:clamp(30px,3.6vw,40px);font-weight:600;color:var(--navy);line-height:1;letter-spacing:-.02em;margin-bottom:9px}
.stat span{font-size:14.5px}

/* ── testimonios ── */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.quote{padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);display:flex;flex-direction:column}
.quote p{font-size:15.5px;line-height:1.68;color:var(--ink);margin-bottom:20px}
.quote footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.quote b{font-family:'Poppins',sans-serif;font-weight:500;font-size:15px;color:var(--navy);display:block}
.quote small{font-size:13.5px;color:var(--gray);display:block;margin-top:2px}
.quote .stars{color:var(--brand);letter-spacing:.14em;font-size:13px;margin-bottom:14px}

/* ── proceso ── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,34px);position:relative}
.steps::before{content:'';position:absolute;top:23px;left:16.6%;right:16.6%;height:1.5px;background:linear-gradient(90deg,var(--accent),var(--brand),var(--navy-3))}
.step{position:relative}
.step__n{width:46px;height:46px;border-radius:50%;background:var(--white);border:1.5px solid var(--brand);color:var(--brand-cta);font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:2}
.step h3{font-size:19px;margin-bottom:9px}
.step p{font-size:15.5px}

/* ── faq ── */
.faq{max-width:820px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:'Poppins',sans-serif;font-weight:500;font-size:clamp(16.5px,1.7vw,18.5px);
  color:var(--navy);line-height:1.4;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:'';position:absolute;right:8px;top:29px;width:11px;height:11px;
  border-right:1.5px solid var(--brand-cta);border-bottom:1.5px solid var(--brand-cta);
  transform:rotate(45deg);transition:transform .2s;
}
.faq details[open] summary::after{transform:rotate(-135deg);top:32px}
.faq summary:hover{color:var(--brand-cta)}
.faq .ans{padding:0 40px 24px 0;font-size:16px}
.faq__foot{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;font-size:15.5px}

/* ── contacto ── */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(28px,4vw,64px);align-items:start}
.contact>*{min-width:0}
.field select{max-width:100%}
.form{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(24px,3vw,34px)}
.field{margin-bottom:16px}
.field label{display:block;font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:7px}
.field input,.field select,.field textarea{
  width:100%;font-family:'Google Sans Flex',system-ui,sans-serif;font-size:15.5px;color:var(--ink);
  padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--white);
}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(61,174,43,.14)}
.check{display:flex;gap:11px;align-items:flex-start;font-size:14px;margin:18px 0 22px}
.check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--brand-cta)}
.aside-box{padding:26px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);margin-bottom:16px}
.aside-box h3{font-size:18px;margin-bottom:9px}
.aside-box p{font-size:15px;margin-bottom:18px}
.datum{display:flex;gap:13px;align-items:flex-start;font-size:14.5px;padding:11px 0;border-top:1px solid var(--line)}
.datum svg{color:var(--brand-cta);flex:none;margin-top:3px}
.datum b{font-family:'Poppins',sans-serif;font-weight:500;color:var(--navy);display:block;font-size:14.5px}
.datum span,.footer li{overflow-wrap:anywhere}

/* ── cta final ── */
.final{text-align:center;padding-block:clamp(64px,8vw,96px)}
.final h2{color:#fff;max-width:16ch;margin-inline:auto}
.final p{max-width:56ch;margin:18px auto 0}
.final .btn-row{justify-content:center}

/* ── pie ── */
.footer{background:var(--navy);color:rgba(255,255,255,.6);border-top:1px solid var(--line-dark);padding-block:clamp(48px,6vw,72px) 28px}
.footer__grid{display:grid;grid-template-columns:1.35fr .85fr 1.25fr 1.45fr;gap:clamp(28px,3.4vw,44px)}
.footer h4{font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.footer li{margin-bottom:11px;font-size:14px;line-height:1.55}
.footer a:hover{color:var(--accent)}
.footer__brand p{font-size:14.5px;margin-top:16px;max-width:34ch}
.footer__tag{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:14px}
.footer__legal{margin-top:clamp(38px,5vw,56px);padding-top:24px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;font-size:13.5px}

/* ── barra fija móvil ── */

/* ══ MOVIMIENTO ══ */
@keyframes rise{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes riseSm{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
@keyframes zoomIn{from{opacity:0;transform:scale(.965) translate3d(0,26px,0)}to{opacity:1;transform:none}}
@keyframes draw{from{stroke-dashoffset:2400}to{stroke-dashoffset:0}}
@keyframes floatY{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@keyframes glowPulse{0%,100%{opacity:.55;transform:translateX(-50%) scale(1)}50%{opacity:.9;transform:translateX(-50%) scale(1.06)}}
@keyframes ansIn{from{opacity:0;transform:translate3d(0,-6px,0)}to{opacity:1;transform:none}}
@keyframes barIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes badgeDot{0%,100%{box-shadow:0 0 0 0 rgba(140,198,63,.55)}70%{box-shadow:0 0 0 7px rgba(140,198,63,0)}}

/* aparición al entrar en pantalla */
.anim [data-rv]{opacity:0;will-change:opacity,transform}
.anim [data-rv].is-in{animation:rise .72s cubic-bezier(.22,.68,.28,1) both;animation-delay:var(--d,0ms)}
.anim [data-rv="sm"].is-in{animation-name:riseSm;animation-duration:.55s}
.anim [data-rv="zoom"].is-in{animation-name:zoomIn;animation-duration:.9s}
.anim [data-rv].is-in{will-change:auto}

/* portada: entrada escalonada */
.anim .hero__in .badge{animation:rise .8s cubic-bezier(.22,.68,.28,1) both}
.anim .hero__in .hero__eyebrow{animation:rise .8s cubic-bezier(.22,.68,.28,1) .08s both}
.anim .hero__in h1{animation:rise .95s cubic-bezier(.22,.68,.28,1) .14s both}
.anim .hero__in .lead{animation:rise .9s cubic-bezier(.22,.68,.28,1) .26s both}
.anim .hero__in .btn-row{animation:rise .9s cubic-bezier(.22,.68,.28,1) .36s both}
.anim .hero__shot .hero__frame{animation:zoomIn 1.1s cubic-bezier(.22,.68,.28,1) .34s both}
.anim .hero__chip{animation:rise .8s cubic-bezier(.22,.68,.28,1) 1.05s both}
.anim .hero__chip--b{animation-delay:1.22s}
.hero__frame{transition:transform .6s cubic-bezier(.22,.68,.28,1),box-shadow .6s}
.hero__shot:hover .hero__frame{transform:translateY(-6px)}
.anim .hero__bar{animation:riseSm .8s ease-out .62s both}
.badge i{animation:badgeDot 2.6s ease-out 1.2s infinite}
.anim .hero__arc path{stroke-dasharray:2400;animation:draw 2.6s cubic-bezier(.16,.8,.3,1) .2s both}
.anim .hero__arc path:nth-of-type(2){animation-duration:3.1s;animation-delay:.5s}
.anim .hero__arc path:nth-of-type(3){animation-duration:3.5s;animation-delay:.8s}

/* encabezado reactivo al scroll */
.header{transition:box-shadow .3s,background .3s}
.header.is-stuck{box-shadow:0 8px 30px -18px rgba(14,30,63,.45)}
.header.is-stuck .header__in{height:70px}
.header__in{transition:height .3s cubic-bezier(.22,.68,.28,1)}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--accent),var(--brand));transition:transform .12s linear}
.nav a{position:relative;padding-block:4px}
.nav a:not(.nav__login)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--brand);
  transform:scaleX(0);transform-origin:left;transition:transform .26s cubic-bezier(.22,.68,.28,1)}
.nav a:not(.nav__login):hover::after{transform:scaleX(1)}
.brand__mark{transition:transform .5s cubic-bezier(.22,.68,.28,1)}
.brand:hover .brand__mark{transform:rotate(-14deg) scale(1.06)}

/* botones */
.btn--primary{box-shadow:0 6px 18px -10px rgba(42,128,31,.9)}
.btn--primary:hover{box-shadow:0 14px 28px -12px rgba(42,128,31,.95)}
.btn--primary:active,.btn--ghost:active{transform:translateY(1px)}
.btn--ghost{transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}
.btn--ghost:hover{transform:translateY(-1px)}

/* el arco de cada encabezado gira al aparecer */
.anim .eyebrow.is-in::before{animation:arcSpin .9s cubic-bezier(.22,.68,.28,1) both}
@keyframes arcSpin{from{transform:rotate(-160deg) scale(.6);opacity:0}to{transform:rotate(45deg) scale(1);opacity:1}}

/* tarjetas de beneficio */
.feat{transition:transform .3s cubic-bezier(.22,.68,.28,1),border-color .3s,box-shadow .3s}
.feat:hover{transform:translateY(-4px);border-color:#C9D3E4;box-shadow:0 18px 40px -26px rgba(14,30,63,.35)}
.feat__ico{transition:transform .4s cubic-bezier(.22,.68,.28,1)}
.feat:hover .feat__ico{transform:translateY(-3px) scale(1.08)}

/* tarjetas de programa */
.card__top{background-size:180% 180%;background-position:0% 0%;transition:background-position .8s cubic-bezier(.22,.68,.28,1)}
.card:hover .card__top{background-position:100% 100%}
.card__ico{transition:transform .5s cubic-bezier(.22,.68,.28,1),opacity .35s}
.card:hover .card__ico{transform:translateY(-4px) scale(1.1) rotate(-5deg);opacity:1}
.card .btn{transition:background .18s,transform .25s,box-shadow .25s,letter-spacing .3s}
.card:hover .btn--primary{letter-spacing:.02em}
.chip{transition:transform .25s,border-color .25s,background .25s}
.chip:hover{transform:translateY(-2px);border-color:var(--brand);background:#fff}

/* mockup */
.mock__desk{transition:transform .55s cubic-bezier(.22,.68,.28,1),box-shadow .55s}
.mock__stage:hover .mock__desk{transform:translateY(-6px);box-shadow:0 56px 110px -46px rgba(0,0,0,.95)}
.anim .mock__glow{animation:glowPulse 7s ease-in-out 1s infinite}

/* cifras */
.stat{transition:transform .3s cubic-bezier(.22,.68,.28,1),box-shadow .3s}
.stat:hover{transform:translateY(-4px);box-shadow:0 18px 40px -26px rgba(14,30,63,.3)}
.stat b{font-variant-numeric:tabular-nums}

/* testimonios */
.quote{transition:transform .3s cubic-bezier(.22,.68,.28,1),box-shadow .3s,border-color .3s}
.quote:hover{transform:translateY(-4px);border-color:#C9D3E4;box-shadow:0 18px 44px -26px rgba(14,30,63,.32)}

/* proceso */
.anim .steps.is-in::before{animation:barIn 1.3s cubic-bezier(.22,.68,.28,1) .25s both;transform-origin:left}
.step__n{transition:transform .35s cubic-bezier(.22,.68,.28,1),background .25s,color .25s}
.step:hover .step__n{transform:scale(1.12);background:var(--brand-cta);color:#fff;border-color:var(--brand-cta)}

/* faq */
.faq summary{transition:color .2s,padding-left .3s}
.faq summary:hover{padding-left:6px}
.faq details[open] .ans{animation:ansIn .34s ease-out both}
.faq details{transition:background .25s}
.faq details[open]{background:rgba(255,255,255,.55)}

/* formulario */
.field input,.field select,.field textarea{transition:border-color .2s,box-shadow .2s,background .2s}
.aside-box{transition:transform .3s cubic-bezier(.22,.68,.28,1),box-shadow .3s}
.aside-box:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(14,30,63,.3)}
.form__ok svg{animation:zoomIn .6s cubic-bezier(.22,.68,.28,1) both}

/* enlaces del pie */
.footer a{transition:color .2s,transform .2s}
.footer li a:hover{color:var(--accent)}

/* barra fija móvil */

/* nada de esto si el sistema pide movimiento reducido */
@media(prefers-reduced-motion:reduce){
  .anim [data-rv],.anim [data-rv].is-in{opacity:1!important;animation:none!important;transform:none!important}
  .anim .hero__arc path{stroke-dasharray:none!important;animation:none!important}
}

/* ══ panel de pilares (Quiénes somos) ══ */
.pillars{position:relative;overflow:hidden;background:var(--navy);border-radius:18px;padding:clamp(28px,3.4vw,40px);
  box-shadow:0 40px 80px -50px rgba(14,30,63,.75)}
.pillars__arc{position:absolute;right:-70px;top:-70px;width:300px;opacity:.55;pointer-events:none}
.pillars__k{position:relative;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:26px}
.pillars__list{position:relative;display:grid;gap:22px}
.pillars__list li{padding-left:24px;position:relative}
.pillars__list li::before{content:'';position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;
  border:2px solid var(--brand);border-right-color:transparent;border-bottom-color:transparent;transform:rotate(45deg);
  transition:transform .45s cubic-bezier(.22,.68,.28,1)}
.pillars__list li:hover::before{transform:rotate(225deg) scale(1.15)}
.pillars__list b{display:block;font-family:'Poppins',sans-serif;font-weight:500;font-size:19px;color:#fff;margin-bottom:5px}
.pillars__list span{font-size:15px;line-height:1.62;color:rgba(255,255,255,.66)}
.pillars__foot{position:relative;margin-top:30px;padding-top:22px;border-top:1px solid var(--line-dark);
  display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;color:rgba(255,255,255,.58)}
.pillars__foot span{display:flex;align-items:center;gap:8px}
.pillars__foot span::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand);flex:none}

/* ══ más movimiento ══ */
@keyframes sheen{0%{transform:translateX(-120%) skewX(-18deg)}100%{transform:translateX(320%) skewX(-18deg)}}
@keyframes floatChip{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes ringPulse{0%{box-shadow:0 0 0 0 rgba(61,174,43,.45)}70%{box-shadow:0 0 0 14px rgba(61,174,43,0)}100%{box-shadow:0 0 0 0 rgba(61,174,43,0)}}

/* al terminar la entrada, el elemento suelta la animación y admite parallax/inclinación */
.anim [data-rv].is-done{animation:none!important;opacity:1;transform:none}

/* destello que barre la portada y las tarjetas */
.hero__frame,.card__top{position:relative}
.hero__frame::after,.card__top::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.hero__frame::after{background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.30) 50%,transparent 62%);
  transform:translateX(-120%);opacity:0}
.anim .hero__frame.is-done::after{animation:sheen 1.5s cubic-bezier(.3,.6,.3,1) .35s 1;opacity:1}
.card__top::after{background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.16) 50%,transparent 60%);
  transform:translateX(-130%) skewX(-18deg)}
.card:hover .card__top::after{animation:sheen 1s cubic-bezier(.3,.6,.3,1) 1}

/* inclinación 3D siguiendo el cursor */
.hero__frame,.mock__desk{transform-style:preserve-3d}
.hero__shot:hover .hero__frame{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}
.mock__stage:hover .mock__desk{transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}

/* distintivos flotando */
.anim .hero__chip{animation:rise .8s cubic-bezier(.22,.68,.28,1) 1.05s both,floatChip 5.5s ease-in-out 1.9s infinite}
.anim .hero__chip--b{animation-delay:1.22s,2.4s}
.hero__chip{transition:transform .3s,border-color .3s}
.hero__chip:hover{border-color:var(--brand)}

/* botón principal con destello al pasar el cursor */
.btn--primary{position:relative;overflow:hidden;isolation:isolate}
.btn--primary::before{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);
  transform:translateX(-130%) skewX(-18deg)}
.btn--primary:hover::before{animation:sheen .85s cubic-bezier(.3,.6,.3,1) 1}

/* estados vivos */
.badge:hover i,.card:hover .pill--solid{animation:ringPulse 1.4s ease-out 1}
.pill{transition:transform .3s,background .3s,border-color .3s}
.card:hover .pill{transform:translateY(-2px)}
.stamp{transition:transform .3s cubic-bezier(.22,.68,.28,1),border-color .3s,box-shadow .3s}
.stamp:hover{transform:translateX(4px);border-color:#C9D3E4;box-shadow:0 16px 34px -24px rgba(14,30,63,.3)}
.plat--grid li{transition:transform .3s cubic-bezier(.22,.68,.28,1),border-color .3s,background .3s}
.plat--grid li:hover{transform:translateY(-4px);border-color:rgba(140,198,63,.5);background:rgba(255,255,255,.05)}
.hero__facts li{transition:transform .3s}
.hero__facts li:hover{transform:translateX(4px)}
.datum{transition:transform .25s}
.datum:hover{transform:translateX(3px)}
.footer li a{display:inline-block}
.footer li a:hover{transform:translateX(3px)}

/* ── responsive ── */
@media(min-width:1025px){
  .mmenu{display:none!important}
}
@media(max-width:1024px){
  .header__in .btn{display:none}
  .hero__grid{grid-template-columns:1fr;gap:clamp(34px,5vw,48px);align-items:start}
  .hero__shot{max-width:620px;margin-inline:auto;width:100%}
  .footer__grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .quotes{grid-template-columns:repeat(2,1fr)}
  .nav{display:none}
  .burger{display:flex}
}
@media(max-width:860px){
  .cards{grid-template-columns:1fr}
  .pillars{padding:26px}
  .grid-3,.grid-2,.split,.contact{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:26px}
  .steps::before{display:none}
  .step{padding-left:64px}
  .step__n{position:absolute;left:0;top:0;margin:0}
  .plat li{grid-template-columns:1fr;gap:5px}
  .quotes{grid-template-columns:1fr}
  .hero__facts{grid-template-columns:1fr;gap:16px;padding-block:22px}
  .hero__chip--a{left:10px;bottom:10px}
  .hero__chip--b{display:none}
  .hero__chip{font-size:12.5px;padding:9px 12px}
}
@media(max-width:680px){
  .footer__grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:520px){
  .brand__txt span{display:none}
  .badge{font-size:12px;padding:7px 14px 7px 11px;line-height:1.4}
  .stats{grid-template-columns:1fr}
  .stamp{flex-direction:column;align-items:flex-start;gap:11px}
  .stamp__k{width:auto}
  .note{flex-direction:column;align-items:flex-start}
  .note .btn{width:100%}
  .btn-row .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  [data-rv]{opacity:1!important;transform:none!important}
}
/* ══ logotipo ══ */
.brand{gap:0}
.brand .brand__img{display:block;height:38px;width:auto;max-width:none;
  transition:transform .5s cubic-bezier(.22,.68,.28,1),height .3s}
.brand:hover .brand__img{transform:scale(1.03)}
.header.is-stuck .brand .brand__img{height:33px}
.footer .brand .brand__img{height:36px}
@media(max-width:620px){.brand .brand__img{height:29px}.header.is-stuck .brand .brand__img{height:26px}}

/* ══ estados de enlace: el tema teñía de azul al hacer clic ══ */
body{-webkit-tap-highlight-color:transparent}
a:is(:link,:visited,:hover,:focus,:active){color:inherit}
.btn--primary:is(:link,:visited,:hover,:focus,:active){color:#fff !important}
.btn--ghost:is(:link,:visited,:hover,:focus,:active){color:var(--ink) !important}
.section--navy .btn--ghost:is(:link,:visited,:hover,:focus,:active),
.hero .btn--ghost:is(:link,:visited,:hover,:focus,:active),
.pagehero .btn--ghost:is(:link,:visited,:hover,:focus,:active),
.final .btn--ghost:is(:link,:visited,:hover,:focus,:active){color:#fff !important}
.nav a:is(:link,:visited,:active){color:var(--ink)}
.nav a:hover,.nav a:focus{color:var(--brand-cta)}
.nav__login:is(:link,:visited,:hover,:focus,:active){color:var(--ink) !important}
.link-arrow:is(:link,:visited,:hover,:focus,:active){color:var(--brand-cta)}
.footer a:is(:link,:visited,:active){color:inherit}
.footer a:hover,.footer a:focus{color:var(--accent)}
.mmenu a:is(:link,:visited,:active){color:var(--ink)}
.mmenu a:hover,.mmenu a:focus{color:var(--brand-cta)}
.crumbs a:is(:link,:visited,:active){color:rgba(255,255,255,.7)}
.crumbs a:hover,.crumbs a:focus{color:var(--accent)}
.card:is(:hover,:focus-within) .btn--primary{color:#fff !important}

.pagehero .btn--ghost{color:#fff;border-color:var(--line-dark)}
.pagehero .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* ══ botón volver arriba (sustituye el de Astra) ══ */
#ast-scroll-top{
  width:50px !important;height:50px !important;border-radius:50% !important;
  background:var(--navy) !important;color:#fff !important;
  border:1.5px solid rgba(255,255,255,.16) !important;
  right:26px !important;bottom:26px !important;
  display:flex !important;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -12px rgba(14,30,63,.6) !important;
  transition:background .25s,transform .3s cubic-bezier(.22,.68,.28,1),box-shadow .3s !important;
}
#ast-scroll-top:hover{background:var(--brand-cta) !important;transform:translateY(-4px);
  box-shadow:0 20px 38px -14px rgba(42,128,31,.75) !important;border-color:rgba(255,255,255,.3) !important}
#ast-scroll-top:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#ast-scroll-top .ast-icon svg,#ast-scroll-top svg{width:17px !important;height:17px !important;fill:#fff !important}
@media(max-width:620px){#ast-scroll-top{width:46px !important;height:46px !important;right:16px !important;bottom:16px !important}}

/* ══ menú móvil ══ */
.burger{width:42px;height:42px;padding:0;position:relative;border-radius:10px;
  transition:border-color .25s,background .25s}
.burger:hover{border-color:#C9D3E4;background:var(--smoke)}
.burger span{position:absolute;left:50%;top:50%;width:16px;height:1.8px;border-radius:2px;
  background:var(--navy);transform:translate(-50%,-50%);transition:background .2s}
.burger span::before,.burger span::after{content:'';position:absolute;left:0;width:16px;height:1.8px;
  border-radius:2px;background:var(--navy);transition:transform .28s cubic-bezier(.22,.68,.28,1),top .28s}
.burger span::before{top:-5.5px}
.burger span::after{top:5.5px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

.mmenu{padding:8px var(--pad) 24px;box-shadow:0 22px 40px -28px rgba(14,30,63,.5)}
.mmenu a{position:relative;display:flex;align-items:center;justify-content:space-between;
  padding:16px 4px;font-family:'Poppins',sans-serif;font-size:17px;font-weight:500;
  color:var(--navy);border-bottom:1px solid var(--line);transition:padding-left .25s,color .2s}
.mmenu a::after{content:'';width:8px;height:8px;flex:none;border-right:1.5px solid var(--gray);
  border-bottom:1.5px solid var(--gray);transform:rotate(-45deg);opacity:.55;transition:transform .25s,border-color .2s}
.mmenu a:hover{padding-left:8px;color:var(--brand-cta)}
.mmenu a:hover::after{border-color:var(--brand-cta);transform:rotate(-45deg) translate(2px,2px);opacity:1}
.mmenu a[aria-current="page"]{color:var(--brand-cta)}
.mmenu nav a:last-child{border-bottom:0;margin-bottom:6px}
.mmenu .btn{margin-top:14px;width:100%;min-height:54px;font-size:16px}

/* ══ formulario de WPForms con el estilo del sitio ══ */
.wpf-wrap{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(24px,3vw,34px)}
.wpf-wrap .wpforms-container{margin:0 !important;padding:0 !important;max-width:none !important}
.wpf-wrap .wpforms-form{display:block}
.wpf-wrap .wpforms-head-container,.wpf-wrap .wpforms-title,.wpf-wrap .wpforms-description{display:none !important}
.wpf-wrap .wpforms-field{padding:0 0 16px !important;max-width:none !important}
.wpf-wrap .wpforms-field-label{display:block !important;font-family:'Google Sans Flex',system-ui,sans-serif !important;
  font-size:13.5px !important;font-weight:600 !important;color:var(--navy) !important;margin:0 0 7px !important}
.wpf-wrap .wpforms-required-label{color:var(--brand-cta) !important;font-weight:600}
.wpf-wrap input[type=text],.wpf-wrap input[type=email],.wpf-wrap input[type=tel],.wpf-wrap textarea{
  width:100% !important;max-width:none !important;font-family:'Google Sans Flex',system-ui,sans-serif !important;
  font-size:15.5px !important;color:var(--ink) !important;padding:13px 15px !important;
  border:1px solid var(--line) !important;border-radius:var(--r-btn) !important;background:var(--white) !important;
  box-shadow:none !important;height:auto !important;transition:border-color .2s,box-shadow .2s}
.wpf-wrap textarea{min-height:92px !important;resize:vertical}
.wpf-wrap input:focus,.wpf-wrap textarea:focus{border-color:var(--brand) !important;outline:none !important;
  box-shadow:0 0 0 3px rgba(61,174,43,.14) !important}
.wpf-wrap .wpforms-field-description{font-size:13.5px !important;color:var(--gray) !important;margin-top:6px !important}

/* casilla del aviso de privacidad */
.wpf-wrap .wpforms-field-checkbox ul{list-style:none !important;margin:0 !important;padding:0 !important}
.wpf-wrap .wpforms-field-checkbox li{display:flex !important;align-items:flex-start !important;gap:11px !important;margin:0 !important}
.wpf-wrap .wpforms-field-checkbox input[type=checkbox]{width:18px !important;height:18px !important;flex:none;
  margin:2px 0 0 !important;accent-color:var(--brand-cta)}
.wpf-wrap .wpforms-field-checkbox label{font-size:14px !important;font-weight:400 !important;
  color:var(--gray) !important;line-height:1.55 !important;margin:0 !important;display:inline !important}
.wpf-wrap .wpforms-field-checkbox label a{color:var(--brand-cta) !important;font-weight:600;
  text-decoration:underline;text-underline-offset:3px}

/* botón de envío */
.wpf-wrap .wpforms-submit-container{padding:6px 0 0 !important}
.wpf-wrap button.wpforms-submit{
  display:inline-flex !important;align-items:center;justify-content:center;width:100% !important;
  font-family:'Google Sans Flex',system-ui,sans-serif !important;font-size:15.5px !important;font-weight:600 !important;
  padding:15px 26px !important;min-height:52px;border-radius:var(--r-btn) !important;
  background:var(--brand-cta) !important;color:#fff !important;border:1.5px solid transparent !important;
  box-shadow:0 6px 18px -10px rgba(42,128,31,.9) !important;cursor:pointer;
  transition:background .18s,transform .18s,box-shadow .18s !important}
.wpf-wrap button.wpforms-submit:hover{background:var(--brand-cta-h) !important;transform:translateY(-1px);
  box-shadow:0 14px 28px -12px rgba(42,128,31,.95) !important}
.wpf-wrap button.wpforms-submit:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* errores y confirmación */
.wpf-wrap .wpforms-error{font-size:13.5px !important;color:#B42318 !important;margin-top:6px !important}
.wpf-wrap input.wpforms-error,.wpf-wrap textarea.wpforms-error{border-color:#E1544A !important}
.wpf-wrap .wpforms-confirmation-container-full,.wpf-wrap div[submit-success]>.wpforms-confirmation-container-full{
  background:var(--smoke) !important;border:1px solid var(--line) !important;border-left:3px solid var(--brand) !important;
  border-radius:0 var(--r-card) var(--r-card) 0 !important;padding:24px !important;color:var(--gray) !important}
.wpf-wrap .wpforms-confirmation-container-full p{font-size:15.5px !important;margin:0 !important}
.wpf-wrap .wpforms-confirmation-container-full strong{font-family:'Poppins',sans-serif;color:var(--navy)}
/* la casilla del aviso no necesita etiqueta de grupo ni recuadro */
.wpf-wrap .wpforms-field-checkbox > .wpforms-field-label{display:none !important}
.wpf-wrap .wpforms-field-checkbox{border:0 !important;padding:4px 0 18px !important;background:none !important}
.wpf-wrap .wpforms-field-checkbox fieldset,.wpf-wrap .wpforms-field-checkbox legend{border:0 !important;padding:0 !important;margin:0 !important}

/* iniciar sesión en el menú móvil, con el mismo tratamiento que en escritorio */
.mmenu .mmenu__login{display:inline-flex !important;align-items:center;justify-content:center !important;gap:9px;
  width:100%;margin-top:18px;min-height:52px;padding:14px 20px;font-family:'Google Sans Flex',system-ui,sans-serif;
  font-size:15.5px;font-weight:600;color:var(--ink) !important;background:transparent;
  border:1.5px solid var(--line);border-radius:var(--r-btn);transition:border-color .2s,background .2s}
.mmenu .mmenu__login::after{display:none}
.mmenu .mmenu__login:hover{border-color:var(--navy);background:var(--smoke);padding-left:20px}
.mmenu .mmenu__login svg{flex:none}


/* ══ portada ══ */
.hero{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 82px)}
.hero__in{padding-block:clamp(56px,7vw,96px) !important;width:100%}
.hero__grid{align-items:center;gap:clamp(36px,5vw,72px)}
.hero h1{font-size:clamp(34px,5vw,58px)}
.hero .lead{max-width:50ch;font-size:clamp(16px,1.45vw,19px)}
.hero .btn-row{margin-top:clamp(28px,3vw,38px)}
.hero .btn-row .btn{padding:16px 30px;min-height:56px;font-size:16px}
.hero__frame{border-radius:18px}
@media(max-width:1024px){
  .hero{min-height:0}
  .hero__in{padding-block:clamp(48px,7vw,72px) !important}
}
