@font-face{ font-family:var(--f-body); font-style:normal; font-weight:400 600; font-display:swap; src:url('../fonts/inter-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:var(--f-display); font-style:normal; font-weight:500 800; font-display:swap; src:url('../fonts/manrope-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root{
  --f-display:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --f-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --navy:    #043062;
  --navy-9:  #021c3c;
  --navy-7:  #0a3f7a;
  --amarillo:#FEAD0C;
  --rojo:    #FD414F;
  --verde:   #4CAC65;
  --turquesa:#00B2C2;
  --blanco:  #FFFFFF;
  --gris:    #ECEFF3;
  --tint:    #F5F9FC;
  --texto:   #22344d;
  --muted:   #5b6b80;

  --radius: 26px;
  --radius-sm: 16px;
  --shadow: 0 18px 40px -18px rgba(4,48,98,.28);
  --shadow-lg: 0 40px 80px -30px rgba(4,48,98,.35);
  --shadow-hover: 0 40px 70px -22px rgba(0,178,194,.45);
  --ease: cubic-bezier(.2,.9,.2,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --wrap: 1240px;
  --gutter: clamp(1rem, 4vw, 3rem);
  --nav-h: 84px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 8px); }
html,body{ margin:0; padding:0; }
body{
  font-family:var(--f-body);
  font-size:1.0625rem; line-height:1.65;
  color:var(--texto);
  background:var(--blanco);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
p{ margin:0 0 1rem; }
h1,h2,h3,h4{ font-family:var(--f-display); color:var(--navy); margin:0; line-height:1.12; letter-spacing:-.02em; }
ul,ol{ margin:0; padding:0; list-style:none; }
figure{ margin:0; }
b,strong{ font-weight:600; color:var(--navy); }
:focus-visible{ outline:3px solid var(--turquesa); outline-offset:3px; border-radius:6px; }

.ico{ width:1.15em; height:1.15em; flex:0 0 auto; }
.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); position:relative; }
.center{ text-align:center; }
.muted{ color:var(--muted); font-size:.96rem; }
.u{ text-decoration:underline; text-underline-offset:3px; }

.bg-deco{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(circle at 10% 16%, rgba(0,178,194,.12), transparent 36%),
    radial-gradient(circle at 92% 20%, rgba(253,65,79,.09), transparent 34%),
    radial-gradient(circle at 80% 88%, rgba(254,173,12,.11), transparent 38%),
    radial-gradient(circle at 16% 90%, rgba(76,172,101,.08), transparent 40%);
  animation:bgDrift 18s ease-in-out infinite alternate;
}
@keyframes bgDrift{ from{ transform:scale(1) } to{ transform:scale(1.12) translateY(-2%) } }

.progress{
  position:fixed; top:0; left:0; height:4px; width:100%; z-index:200;
  background:linear-gradient(90deg,var(--amarillo),var(--rojo) 35%,var(--verde) 65%,var(--turquesa));
  transform-origin:0 50%; transform:scaleX(0);
}

.loader{
  position:fixed; inset:0; z-index:500; background:#fff;
  display:grid; place-items:center;
  transition:clip-path 1s var(--ease-out) .1s, visibility 0s 1.2s;
  clip-path:inset(0 0 0 0);
}
.loader__inner{ display:grid; justify-items:center; gap:28px; }
.loader__logo{ width:min(210px,50vw); height:auto; aspect-ratio:420/239; animation:logoIn 1.1s var(--ease-out) both; }
.loader__bar{ width:140px; height:4px; border-radius:4px; background:var(--gris); overflow:hidden; }
.loader__bar span{ display:block; height:100%; width:100%; transform-origin:0 50%;
  background:linear-gradient(90deg,var(--amarillo),var(--rojo),var(--verde),var(--turquesa));
  animation:bar 1.1s var(--ease) both .15s; }
@keyframes bar{ from{ transform:scaleX(0) } to{ transform:scaleX(1) } }
@keyframes logoIn{
  0%{ transform:scale(1.5); opacity:0; filter:blur(10px); }
  55%{ opacity:1; filter:blur(0); }
  100%{ transform:scale(1); opacity:1; }
}
body.loaded .loader{ clip-path:inset(0 0 100% 0); visibility:hidden; }

.btn{
  --bg:var(--navy); --fg:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--f-display); font-weight:700; font-size:1rem; line-height:1.2;
  padding:1.05em 1.6em; border-radius:999px; border:2px solid transparent;
  background:var(--bg); color:var(--fg); text-decoration:none; cursor:pointer;
  position:relative; overflow:hidden; isolation:isolate;
  transition:transform .35s var(--ease), box-shadow .35s ease, background .3s ease, color .3s ease, border-color .3s;
  box-shadow:0 14px 30px -14px rgba(4,48,98,.55);
}
.btn::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,var(--turquesa),var(--verde));
  transform:translateX(-101%); transition:transform .5s var(--ease-out);
}
.btn:hover::before{ transform:translateX(0); }
.btn:hover{ transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.btn .ico{ transition:transform .35s var(--ease); }
.btn:hover .ico{ transform:translateX(4px); }
.btn--sm{ padding:.75em 1.2em; font-size:.92rem; }
.btn--block{ width:100%; }
.btn--ghost{ --bg:transparent; --fg:var(--navy); border-color:rgba(4,48,98,.18); box-shadow:none; }
.btn--ghost:hover{ color:#fff; border-color:transparent; }
.btn--ghost::before{ background:var(--navy); }
.btn--light{ --bg:#fff; --fg:var(--navy); }
.btn--light:hover{ color:#fff; }
.btn--yellow{ --bg:var(--amarillo); --fg:var(--navy-9); box-shadow:0 18px 36px -16px rgba(254,173,12,.7); }
.btn--yellow::before{ background:#fff; }
.btn--yellow:hover{ box-shadow:0 24px 50px -18px rgba(254,173,12,.8); }

.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--f-body); font-weight:600; font-size:.8rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--navy);
  margin:0 0 1.1rem;
}
.eyebrow--light{ color:rgba(255,255,255,.85); }
.dot{ width:10px; height:10px; border-radius:50%; background:var(--c,var(--turquesa)); box-shadow:0 0 0 4px color-mix(in srgb,var(--c,var(--turquesa)) 22%, transparent); }
.dot--t{ --c:var(--turquesa) } .dot--y{ --c:var(--amarillo) } .dot--r{ --c:var(--rojo) } .dot--g{ --c:var(--verde) }

.h2{ font-size:clamp(2rem,4.2vw,3.25rem); font-weight:800; margin-bottom:1.3rem; text-wrap:balance; }
.h2--xl{ font-size:clamp(2.3rem,5.4vw,4.3rem); }
.h3{ font-size:clamp(1.3rem,2vw,1.6rem); font-weight:800; margin-bottom:1.2rem; }
.lead{ font-size:1.2rem; color:var(--navy); font-weight:500; }

.hl{
  font-style:normal; position:relative; white-space:nowrap; display:inline-block;
  background:linear-gradient(90deg,var(--turquesa),#1aa39a 45%,var(--verde) 70%,var(--turquesa));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  background-size:200% 100%; animation:hue 6s ease-in-out infinite alternate;
}
.hl::after{
  content:""; position:absolute; left:0; right:0; bottom:-.07em; height:.11em; border-radius:1em;
  background:linear-gradient(90deg,var(--amarillo) 0 25%,var(--rojo) 25% 50%,var(--verde) 50% 75%,var(--turquesa) 75%);
  transform:scaleX(var(--u,0)); transform-origin:0 50%; transition:transform 1s var(--ease-out) .9s;
}
.hl--light{ background-image:linear-gradient(90deg,var(--amarillo),#ff8a3d 50%,var(--rojo),var(--amarillo)); }
.loaded .hero .hl::after, .hl.in::after{ --u:1; }
@keyframes hue{ to{ background-position:100% 0 } }

main{ overflow-x:clip; }
.section{ position:relative; padding:clamp(5rem,11vw,9rem) 0; }
.section__head{ max-width:760px; margin-bottom:clamp(2.5rem,5vw,4rem); }
.section__head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.section__sub{ color:var(--muted); font-size:1.1rem; }
.tint{ background:linear-gradient(180deg,var(--tint),#fff 90%); }

.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); transition-delay:var(--rd,0s); }
.reveal.in{ opacity:1; transform:none; }

.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background .4s ease, box-shadow .4s ease, transform .5s var(--ease);
}
.nav__wrap{
  max-width:calc(var(--wrap) + 40px); margin:0 auto; height:var(--nav-h);
  padding:0 var(--gutter); display:flex; align-items:center; gap:1.5rem;
}
.nav.scrolled{ background:rgba(255,255,255,.86); backdrop-filter:saturate(1.6) blur(14px); -webkit-backdrop-filter:saturate(1.6) blur(14px); box-shadow:0 10px 30px -20px rgba(4,48,98,.35); }
.nav.hidden{ transform:translateY(-100%); }
.nav__brand{ position:relative; z-index:2; }
.nav__brand img{ height:40px; width:auto; transition:height .3s; }
.nav.scrolled .nav__brand img{ height:34px; }
.nav__menu{ margin-left:auto; }
.nav__menu > ul{ display:flex; align-items:center; gap:.2rem; }
.nav__menu a{
  display:flex; align-items:center; gap:.3em;
  font-family:var(--f-display); font-weight:700; font-size:.94rem; color:var(--navy);
  text-decoration:none; padding:.6em .85em; border-radius:999px; transition:background .25s, color .25s;
}
.nav__menu a:hover, .nav__menu a.active{ background:rgba(0,178,194,.1); color:#007f8b; }
.nav__menu .ico{ width:.9em; height:.9em; transition:transform .3s; }
.has-sub{ position:relative; }
.has-sub:hover > a .ico, .has-sub:focus-within > a .ico{ transform:rotate(180deg); }
.sub{
  position:absolute; top:calc(100% + 8px); left:50%; min-width:280px;
  background:#fff; border-radius:20px; padding:.6rem; box-shadow:var(--shadow-lg); border:1px solid var(--gris);
  opacity:0; visibility:hidden; transform:translate(-50%,10px); transition:all .3s var(--ease);
}
.sub::before{ content:""; position:absolute; inset:-12px 0 auto; height:12px; }
.has-sub:hover .sub, .has-sub:focus-within .sub{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.sub a{ font-weight:600; padding:.75em 1em; border-radius:12px; justify-content:space-between; }
.tag{ font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; background:var(--rojo); color:#fff; padding:.25em .6em; border-radius:99px; }
.nav__cta-mobile{ display:none; }
.nav__toggle{ display:none; }

.hero{ min-height:100vh; min-height:100svh; display:flex; align-items:center; padding:calc(var(--nav-h) + 3rem) 0 5rem; position:relative; overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(2rem,5vw,5rem); align-items:center; width:100%; }
.hero__eyebrow{ max-width:100%; background:#fff; border:1px solid var(--gris); padding:.6em 1.1em .6em .9em; border-radius:99px; box-shadow:var(--shadow); letter-spacing:.08em; font-size:.74rem; }
.hero__text{ container-type:inline-size; }
.hero__title{ font-size:min(4.6rem, 10.8cqi); font-weight:800; line-height:1.02; letter-spacing:-.035em; margin:.4rem 0 1.6rem; }
.hero__title .line{ display:block; overflow:hidden; padding-bottom:.16em; margin-bottom:-.08em; }
.hero__title .line > span{ display:inline-block; transform:translateY(110%); transition:transform 1.1s var(--ease-out); }
.loaded .hero__title .line > span{ transform:none; }
.loaded .hero__title .line:nth-child(2) > span{ transition-delay:.08s }
.loaded .hero__title .line:nth-child(3) > span{ transition-delay:.16s }
.loaded .hero__title .line:nth-child(4) > span{ transition-delay:.24s }
.hero__lead{ font-size:clamp(1.05rem,1.4vw,1.22rem); max-width:36em; color:var(--texto); }
.hero__ctas{ display:flex; flex-wrap:wrap; gap:.9rem; margin:2rem 0 2.2rem; }
.hero__values{ font-size:.76rem; font-weight:600; letter-spacing:.2em; color:var(--turquesa); min-height:1.4em; margin:0; }
.hero__text > *:not(.hero__title){ opacity:0; transform:translateY(20px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.loaded .hero__text > *{ opacity:1; transform:none; }
.loaded .hero__lead{ transition-delay:.35s } .loaded .hero__ctas{ transition-delay:.5s } .loaded .hero__values{ transition-delay:.6s }

.cursor{ display:inline-block; width:2px; height:1em; background:currentColor; margin-left:3px; vertical-align:-2px; animation:blink .7s step-end infinite; }
@keyframes blink{ 50%{ opacity:0 } }

.hero__visual{ position:relative; aspect-ratio:1/1.02; }
.hero__rays{
  position:absolute; left:50%; top:50%; width:125%; aspect-ratio:1; transform:translate(-50%,-50%); z-index:-2;
  background:conic-gradient(from 0deg, rgba(0,178,194,.16), transparent 20%, rgba(254,173,12,.16) 40%, transparent 55%, rgba(253,65,79,.12) 72%, transparent 85%, rgba(0,178,194,.16));
  border-radius:50%; -webkit-mask:radial-gradient(circle,#000 0%,transparent 64%); mask:radial-gradient(circle,#000 0%,transparent 64%);
  animation:spin 30s linear infinite;
}
@keyframes spin{ to{ transform:translate(-50%,-50%) rotate(360deg) } }
.hero__halo{
  position:absolute; left:50%; top:50%; width:95%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; z-index:-1;
  background:radial-gradient(circle, rgba(0,178,194,.2) 0%, rgba(253,65,79,.1) 40%, rgba(254,173,12,.08) 58%, transparent 70%);
  filter:blur(6px); animation:halo 6s ease-in-out infinite;
}
@keyframes halo{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.85 } 50%{ transform:translate(-50%,-50%) scale(1.12); opacity:1 } }

.hero__photo{
  position:absolute; inset:2% 2% 8% 6%;
  border-radius:48% 52% 44% 56% / 52% 44% 56% 48%;
  overflow:hidden; box-shadow:var(--shadow-lg);
  animation:morph 14s ease-in-out infinite;
  clip-path:circle(0% at 50% 50%); transition:clip-path 1.4s var(--ease-out) .15s;
}
.loaded .hero__photo{ clip-path:circle(75% at 50% 50%); }
.hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:58% 30%; transform:scale(1.15); transition:transform 2s var(--ease-out); }
.loaded .hero__photo img{ transform:scale(1.02); }
@keyframes morph{
  0%,100%{ border-radius:48% 52% 44% 56% / 52% 44% 56% 48% }
  33%{ border-radius:56% 44% 52% 48% / 44% 56% 46% 54% }
  66%{ border-radius:44% 56% 58% 42% / 56% 48% 52% 44% }
}
.hero__photo-sm{
  position:absolute; width:38%; aspect-ratio:1; right:-2%; bottom:2%; border-radius:50%; overflow:hidden;
  border:8px solid #fff; box-shadow:var(--shadow-lg);
  opacity:0; transform:scale(.6); transition:opacity .8s ease .8s, transform 1s var(--ease-out) .8s;
}
.hero__photo-sm img{ width:100%; height:100%; object-fit:cover; object-position:52% 20%; }
.loaded .hero__photo-sm{ opacity:1; transform:none; }

.sparks{ position:absolute; width:22%; top:-2%; right:4%; overflow:visible; }
.sparks line{ stroke-width:14; stroke-linecap:round; stroke-dasharray:60; stroke-dashoffset:60; transition:stroke-dashoffset .8s var(--ease-out); }
.sparks .s1{ stroke:var(--amarillo); transition-delay:1.1s } .sparks .s2{ stroke:var(--rojo); transition-delay:1.25s } .sparks .s3{ stroke:var(--turquesa); transition-delay:1.4s }
.loaded .sparks line{ stroke-dashoffset:0; }
.sparks{ animation:sparkPulse 3.4s ease-in-out infinite 2.4s; transform-origin:0 100%; }
@keyframes sparkPulse{ 0%,100%{ transform:scale(1) } 50%{ transform:scale(1.08) rotate(-3deg) } }

.chip{
  position:absolute; display:flex; align-items:center; gap:.8rem;
  background:rgba(255,255,255,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.8); border-radius:20px; padding:.85rem 1.1rem;
  box-shadow:var(--shadow-lg); font-size:.86rem; line-height:1.3; color:var(--navy);
  opacity:0; transition:opacity .8s ease;
}
.loaded .chip{ opacity:1; }
.chip strong{ font-family:var(--f-display); font-size:2rem; font-weight:800; color:var(--rojo); letter-spacing:-.03em; }
.chip--a{ left:-8%; top:56%; transition-delay:1.2s; }
.chip--b{ left:12%; bottom:-2%; transition-delay:1.4s; }
.chip--c{ right:-6%; top:33%; transition-delay:1.6s; }
.chip__ico{ width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:var(--verde); color:#fff; }
.chip__ico--y{ background:var(--amarillo); }
.float-y{ animation:floatY 6.5s ease-in-out infinite; animation-delay:var(--d,0s); }
@keyframes floatY{ 0%,100%{ translate:0 0 } 50%{ translate:0 -12px } }

.scroll-hint{ position:absolute; bottom:28px; left:50%; translate:-50% 0; width:28px; height:46px; border-radius:20px; border:2px solid rgba(4,48,98,.25); }
.scroll-hint span{ position:absolute; left:50%; top:9px; width:4px; height:9px; margin-left:-2px; border-radius:4px; background:var(--navy); animation:wheel 1.8s ease-in-out infinite; }
@keyframes wheel{ 0%{ opacity:0; transform:translateY(-4px) } 40%{ opacity:1 } 100%{ opacity:0; transform:translateY(14px) } }

.marquee{ background:var(--navy); color:#fff; overflow:hidden; padding:1.35rem 0; transform:rotate(-1.6deg) scale(1.04); margin:-1rem 0 0; position:relative; z-index:2; }
.marquee__track{ display:flex; align-items:center; gap:2.2rem; width:max-content; animation:marquee 38s linear infinite; }
.marquee span{ font-family:var(--f-display); font-weight:800; font-size:clamp(1.2rem,2.4vw,1.9rem); letter-spacing:-.01em; white-space:nowrap; }
.marquee i{ width:14px; height:14px; border-radius:50%; flex:0 0 auto; }
.d-y{ background:var(--amarillo) } .d-r{ background:var(--rojo) } .d-g{ background:var(--verde) } .d-t{ background:var(--turquesa) }
@keyframes marquee{ to{ transform:translateX(-50%) } }

.statement{
  font-family:var(--f-display); font-weight:700; font-size:clamp(1.6rem,3.6vw,3rem); line-height:1.22; letter-spacing:-.025em;
  color:var(--navy); max-width:22em; margin:0 0 clamp(3rem,6vw,5rem); text-wrap:pretty;
}
.statement .w{ color:#748397; transition:color .35s ease; }
.statement .w.on{ color:var(--navy); }
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.stat{
  padding:1.8rem 1.6rem; border-radius:var(--radius); background:#fff; border:2px solid color-mix(in srgb,var(--c) 45%,transparent); box-shadow:var(--shadow);
  position:relative; overflow:hidden; transition:opacity .9s var(--ease-out) var(--rd,0s), transform .9s var(--ease-out) var(--rd,0s), border-color .4s, box-shadow .45s;
}
.stat:hover{ border-color:var(--c); box-shadow:0 30px 60px -28px color-mix(in srgb,var(--c) 70%,transparent); }
.stat strong{ display:block; font-family:var(--f-display); font-size:clamp(2.6rem,4.5vw,3.8rem); font-weight:800; color:var(--c); letter-spacing:-.04em; line-height:1; margin-bottom:.6rem; }
.stat > span{ font-size:.95rem; color:var(--muted); line-height:1.4; display:block; }
.stat:nth-child(2){ --rd:.08s } .stat:nth-child(3){ --rd:.16s } .stat:nth-child(4){ --rd:.24s }

.servicios{ padding-top:0; padding-bottom:clamp(3rem,6vw,4.5rem); }
.consultoria{ padding-top:clamp(2.5rem,5vw,4rem); }
.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.scard{
  display:flex; flex-direction:column; text-decoration:none; background:#fff; border-radius:var(--radius);
  border:1px solid var(--gris); box-shadow:var(--shadow); overflow:hidden; position:relative;
  transition:transform .5s var(--ease), box-shadow .5s ease, border-color .4s;
}
.scard:nth-child(2){ --rd:.1s } .scard:nth-child(3){ --rd:.2s }
.scard figure{ aspect-ratio:16/10; overflow:hidden; position:relative; }
.scard figure::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,var(--c) 40%,transparent)); opacity:0; transition:opacity .5s; }
.scard img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease-out); }
.scard__body{ padding:1.8rem 1.8rem 2rem; display:flex; flex-direction:column; flex:1; position:relative; }
.scard__n{ position:absolute; top:-30px; right:1.6rem; width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:var(--c); color:#fff; font-family:var(--f-display); font-weight:800; font-size:1.05rem; box-shadow:0 12px 24px -10px var(--c); transition:transform .5s var(--ease); }
.scard h3{ font-size:1.4rem; font-weight:800; margin-bottom:.8rem; padding-right:3.5rem; }
.scard p{ color:var(--muted); font-size:1rem; }
.scard__more{ margin-top:auto; display:inline-flex; align-items:center; gap:.5em; font-family:var(--f-display); font-weight:800; color:var(--navy); font-size:.95rem; }
.scard__more .ico{ transition:transform .4s var(--ease); color:var(--c); }
.scard::after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; background:linear-gradient(115deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-18deg); transition:left .8s ease; pointer-events:none; }
.scard:hover{ transform:translateY(-10px); box-shadow:0 40px 70px -26px color-mix(in srgb,var(--c) 60%,transparent); border-color:var(--c); }
.scard:hover::after{ left:140%; }
.scard:hover img{ transform:scale(1.07); }
.scard:hover figure::after{ opacity:1; }
.scard:hover .scard__n{ transform:rotate(-12deg) scale(1.1); }
.scard:hover .scard__more .ico{ transform:translateX(6px); }

.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.split--sticky{ grid-template-columns:.9fr 1.1fr; align-items:start; }
.split--sticky{ align-items:stretch; }
.split--sticky .split__aside{ display:flex; }
.sticky{ display:flex; flex-direction:column; align-items:flex-start; width:100%; }
.sticky .btn{ margin-top:1rem; }
.aside-img{ flex:1 1 auto; width:100%; min-height:300px; margin:2.4rem 0 -2.5rem; border-radius:32px 32px 120px 32px; overflow:hidden; box-shadow:var(--shadow-lg); position:relative; }
.aside-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:30% 30%; transition:transform 1.2s var(--ease-out); }
.aside-img:hover img{ transform:scale(1.04); }
.areas{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.area{
  background:#fff; border:1px solid var(--gris); border-radius:var(--radius); padding:1.8rem; box-shadow:var(--shadow);
  transition:transform .45s var(--ease), box-shadow .45s, border-color .4s; position:relative; overflow:hidden;
}
.area:nth-child(even){ transform:translateY(2.5rem); }
.area.reveal{ transform:translateY(34px); }
.area.reveal.in:nth-child(even){ transform:translateY(2.5rem); }
.area.reveal.in:nth-child(odd){ transform:none; }
.area::before{ content:""; position:absolute; width:160px; height:160px; right:-60px; top:-60px; border-radius:50%; background:var(--c); opacity:.08; transition:transform .6s var(--ease); }
.area:hover{ border-color:var(--c); box-shadow:0 30px 60px -28px color-mix(in srgb,var(--c) 70%,transparent); }
.area:hover::before{ transform:scale(2.6); }
.area__ico{ width:54px; height:54px; border-radius:16px; display:grid; place-items:center; background:color-mix(in srgb,var(--c) 14%,#fff); color:var(--c); margin-bottom:1.2rem; position:relative; transition:background .3s, color .3s, transform .4s var(--ease); }
.area__ico .ico{ width:26px; height:26px; }
.area:hover .area__ico{ background:var(--c); color:#fff; transform:rotate(-8deg); }
.area h3{ font-size:1.18rem; font-weight:800; margin-bottom:.6rem; position:relative; }
.area p{ font-size:.95rem; color:var(--muted); margin:0; position:relative; }

.media-stack{ position:relative; }
.blob-img{ border-radius:40px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:5/4; position:relative; }
.blob-img img{ width:100%; height:115%; object-fit:cover; }
.blob-img::after{ content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.3); }
.mentoria .blob-img{ border-radius:40px 140px 40px 40px; }
.blob-img--alt{ border-radius:140px 40px 40px 40px; }
.blob-img--portrait{ aspect-ratio:4/5; border-radius:200px 200px 40px 40px; }
.blob-img--portrait img{ object-position:52% 20%; }
.badge-note{ position:absolute; left:-1.5rem; bottom:-1.5rem; display:flex; gap:.8rem; align-items:center; max-width:290px; padding:1rem 1.2rem; background:var(--amarillo); color:var(--navy-9); border-radius:20px; font-family:var(--f-display); font-weight:700; font-size:.95rem; line-height:1.3; box-shadow:0 20px 40px -18px rgba(254,173,12,.8); }
.badge-note .ico{ width:28px; height:28px; }

.mentoria__grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:1.6rem; margin-top:clamp(4rem,7vw,6rem); }
.panel{ background:#fff; border:1px solid var(--gris); border-radius:var(--radius); padding:clamp(1.8rem,3vw,2.6rem); box-shadow:var(--shadow); }
.checks{ display:grid; gap:.85rem; }
.checks li{ display:flex; gap:.85rem; align-items:flex-start; line-height:1.5; }
.checks .ico{ width:26px; height:26px; padding:5px; border-radius:50%; background:color-mix(in srgb,var(--verde) 16%,#fff); color:var(--verde); margin-top:-.05rem; }
.checks--sm li{ font-size:.97rem; }
.panel .checks{ grid-template-columns:1fr 1fr; gap:1rem 1.6rem; }

.callout{ background:var(--navy); color:#fff; border-radius:var(--radius); padding:clamp(1.8rem,3vw,2.6rem); position:relative; overflow:hidden; display:flex; flex-direction:column; --rd:.12s; }
.callout::before{ content:""; position:absolute; width:340px; height:340px; border-radius:50%; right:-140px; bottom:-160px; background:radial-gradient(circle,rgba(0,178,194,.5),transparent 70%); }
.callout__duo{ display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:start; position:relative; }
.callout__duo p{ margin:.8rem 0 0; color:rgba(255,255,255,.82); font-size:.96rem; }
.callout__plus{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.12); display:grid; place-items:center; margin-top:.2rem; }
.callout__foot{ font-family:var(--f-display); font-weight:800; font-size:1.25rem; margin:1.6rem 0 1.6rem; position:relative; color:#fff; }
.callout .btn{ margin-top:auto; align-self:flex-start; position:relative; }
.pill{ display:inline-block; font-family:var(--f-display); font-weight:800; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; padding:.45em .9em; border-radius:99px; }
.pill--t{ background:var(--turquesa); color:#fff } .pill--y{ background:var(--amarillo); color:var(--navy-9) } .pill--r{ background:var(--rojo); color:#fff }

.process{ margin-top:clamp(5rem,9vw,8rem); position:relative; }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; position:relative; z-index:1; counter-reset:s; }
.step{ background:#fff; border-radius:var(--radius); padding:2rem 1.6rem 1.8rem; border:1px solid var(--gris); box-shadow:var(--shadow); position:relative; transition:transform .45s var(--ease), border-color .4s; }
.step:nth-child(2){ --rd:.12s } .step:nth-child(3){ --rd:.24s } .step:nth-child(4){ --rd:.36s }
.step:hover{ transform:translateY(-8px); border-color:var(--c); }
.step__n{ display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--c); color:#fff; font-family:var(--f-display); font-weight:800; font-size:1.6rem; margin:-4rem 0 1.3rem; border:6px solid #fff; box-shadow:0 14px 28px -10px var(--c); }
.step h3{ font-size:1.18rem; font-weight:800; margin-bottom:.6rem; }
.step p{ font-size:.95rem; color:var(--muted); margin:0; }
.steps::before, .steps::after{ content:""; position:absolute; left:8%; right:8%; top:30px; height:4px; border-radius:4px; background:var(--gris); z-index:-1; }
.steps::after{ background:linear-gradient(90deg,var(--turquesa),var(--amarillo),var(--rojo),var(--verde)); transform-origin:0 50%; transform:scaleX(var(--p,0)); }
.steps{ padding-top:2rem; }

.infantil{ overflow:hidden; }
.blobs i{ position:absolute; border-radius:50%; filter:blur(50px); opacity:.35; z-index:-1; animation:blobMove 18s ease-in-out infinite alternate; }
.blobs i:nth-child(1){ width:420px; height:420px; background:var(--amarillo); left:-140px; top:6%; }
.blobs i:nth-child(2){ width:380px; height:380px; background:var(--turquesa); right:-120px; top:36%; animation-delay:-6s; }
.blobs i:nth-child(3){ width:320px; height:320px; background:var(--rojo); left:30%; bottom:-120px; opacity:.2; animation-delay:-12s; }
@keyframes blobMove{ to{ transform:translate(60px,-40px) scale(1.15) } }
.split--rev > :first-child{ order:0; }
.big-num{ display:inline-block; color:#fff; background:var(--verde); padding:0 .3em; border-radius:.3em; transform:rotate(-2deg); white-space:nowrap; }
.words{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }
.words span{ font-family:var(--f-display); font-weight:800; font-size:1.05rem; padding:.55em 1.1em; border-radius:99px; color:var(--c); background:color-mix(in srgb,var(--c) 12%,#fff); border:2px solid color-mix(in srgb,var(--c) 30%,transparent); transition:transform .35s var(--ease), background .3s, color .3s; cursor:default; }
.words span:hover{ background:var(--c); color:#fff; transform:translateY(-4px) rotate(-3deg); }
.words--sm span{ font-size:.92rem; }

.practice{ margin-top:clamp(4rem,7vw,6rem); text-align:center; }
.tiles6{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:2rem 0 2.6rem; text-align:left; }
.tiles6 li{ background:rgba(255,255,255,.85); backdrop-filter:blur(8px); border:1px solid var(--gris); border-radius:var(--radius-sm); padding:1.4rem 1.5rem; font-weight:500; color:var(--navy); display:flex; gap:1rem; align-items:flex-start; transition:transform .4s var(--ease), box-shadow .4s, border-color .4s; }
.tiles6 li span{ font-family:var(--f-display); font-weight:800; color:var(--c); font-size:1.4rem; line-height:1; }
.tiles6 li:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--c); }

.auth{
  margin-top:clamp(4rem,7vw,6rem); background:var(--navy); color:rgba(255,255,255,.86); border-radius:36px;
  padding:clamp(2rem,5vw,4.5rem); display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,5vw,4.5rem); position:relative; overflow:hidden;
}
.auth::before{ content:""; position:absolute; width:520px; height:520px; left:-200px; bottom:-260px; border-radius:50%; background:radial-gradient(circle,rgba(254,173,12,.35),transparent 70%); }
.auth::after{ content:""; position:absolute; width:420px; height:420px; right:-160px; top:-200px; border-radius:50%; background:radial-gradient(circle,rgba(0,178,194,.35),transparent 70%); }
.auth > *{ position:relative; z-index:1; }
.auth .h2{ color:#fff; }
.auth__label{ font-family:var(--f-display); font-weight:800; color:#fff; font-size:1.1rem; }
.auth__list{ counter-reset:a; display:grid; gap:.7rem; margin-bottom:1.6rem; }
.auth__list li{ counter-increment:a; display:flex; gap:1rem; align-items:center; padding:1rem 1.2rem; border-radius:16px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); color:#fff; transition:background .3s, transform .4s var(--ease); }
.auth__list li:hover{ background:rgba(255,255,255,.13); transform:translateX(6px); }
.auth__list li::before{ content:counter(a); flex:0 0 34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--amarillo); color:var(--navy-9); font-family:var(--f-display); font-weight:800; }
.auth__note{ font-size:.88rem; color:rgba(255,255,255,.7); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:.9rem 1.1rem; margin-bottom:1.8rem; }

.dark{ background:var(--navy-9); color:rgba(255,255,255,.82); overflow:hidden; }
.dark .h2{ color:#fff; }
.charlas__bg{ position:absolute; inset:0; z-index:0; }
.charlas__bg img{ width:100%; height:130%; object-fit:cover; opacity:.3; filter:saturate(.8); }
.charlas__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,var(--navy-9) 0%,rgba(2,28,60,.7) 30%,rgba(2,28,60,.85) 70%,var(--navy-9) 100%); }
.charlas .wrap{ z-index:1; }
.charlas__intro{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:end; margin-bottom:clamp(3rem,6vw,5rem); }
.talks{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.talk{
  padding:2rem 1.8rem; border-radius:var(--radius); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); position:relative; overflow:hidden;
  transition:transform .45s var(--ease), background .4s, border-color .4s;
}
.talk:nth-child(3n+2){ --rd:.1s } .talk:nth-child(3n){ --rd:.2s }
.talk::before{ content:""; position:absolute; inset:auto 0 0 0; height:4px; background:var(--c); transform:scaleX(0); transform-origin:0 50%; transition:transform .5s var(--ease-out); }
.talk::after{ content:""; position:absolute; width:200px; height:200px; right:-80px; top:-80px; border-radius:50%; background:var(--c); opacity:0; filter:blur(40px); transition:opacity .5s; }
.talk:hover{ transform:translateY(-8px); background:rgba(255,255,255,.09); border-color:color-mix(in srgb,var(--c) 60%,transparent); }
.talk:hover::before{ transform:scaleX(1); }
.talk:hover::after{ opacity:.35; }
.talk__n{ font-family:var(--f-display); font-weight:800; font-size:.9rem; color:var(--c); display:inline-block; padding:.35em .8em; border-radius:99px; background:color-mix(in srgb,var(--c) 16%,transparent); margin-bottom:1.3rem; }
.talk h3{ color:#fff; font-size:1.25rem; font-weight:800; margin-bottom:.8rem; position:relative; }
.talk p{ font-size:.95rem; margin:0; color:rgba(255,255,255,.7); position:relative; }
.charlas__foot{ margin-top:clamp(3rem,5vw,4rem); display:flex; flex-wrap:wrap; gap:1.5rem 3rem; align-items:center; justify-content:space-between; padding:2rem 2.4rem; border-radius:var(--radius); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }
.charlas__foot p{ margin:0; flex:1 1 380px; max-width:44em; }
.charlas__foot b{ color:var(--amarillo); }

.duo{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; align-items:start; }
.fcard{ background:#fff; border-radius:32px; border:1px solid var(--gris); box-shadow:var(--shadow); overflow:hidden; transition:box-shadow .5s, transform .5s var(--ease); }
.fcard + .fcard{ --rd:.12s; margin-top:4rem; }
.fcard:hover{ box-shadow:0 40px 80px -34px color-mix(in srgb,var(--c) 60%,transparent); }
.fcard figure{ aspect-ratio:16/9; overflow:hidden; position:relative; }
.fcard figure img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-out); }
.fcard:hover figure img{ transform:scale(1.05); }
.fcard__tag{ position:absolute; left:1.2rem; bottom:1.2rem; display:inline-flex; gap:.5em; align-items:center; padding:.6em 1em; border-radius:99px; background:var(--c); color:#fff; font-family:var(--f-display); font-weight:800; font-size:.86rem; box-shadow:0 10px 24px -10px rgba(0,0,0,.4); }
.fcard__body{ padding:clamp(1.8rem,3vw,2.6rem); }
.fcard__body .checks{ margin:1.4rem 0; }
.fcard__body .checks .ico{ background:color-mix(in srgb,var(--c) 14%,#fff); color:var(--c); }
.fcard__label{ font-family:var(--f-display); font-weight:800; color:var(--navy); margin-top:1.2rem; }
.chips{ display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.4rem; }
.chips li{ display:inline-flex; align-items:center; gap:.6em; font-size:.9rem; font-weight:500; color:var(--navy); padding:.55em 1em; border-radius:99px; background:color-mix(in srgb,var(--c) 10%,#fff); }
.chips li::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--c); flex:0 0 auto; }
.fcard .btn{ margin-top:.4rem; }

.sobre{ padding-bottom:clamp(3rem,6vw,4.5rem); }
.sobre .split{ grid-template-columns:.85fr 1.15fr; }
.sobre__mark{ position:absolute; width:36%; right:-12%; bottom:-6%; display:block; background:#fff; padding:6% 7%; border-radius:28px; box-shadow:0 20px 40px -18px rgba(4,48,98,.35); animation:floatY 7s ease-in-out infinite; }
.sobre__mark img{ width:100%; height:auto; aspect-ratio:420/239; }

.projects{ margin-top:clamp(5rem,9vw,8rem); }
.ptiles{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.4rem; }
.ptile{
  flex:0 1 calc(20% - 1.2rem); min-width:200px; background:linear-gradient(160deg,#fff 0%,#f5f9fc 100%);
  border:1px solid var(--gris); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.6rem 1.4rem 1.7rem;
  display:flex; flex-direction:column; gap:.45rem; position:relative; overflow:hidden;
  opacity:0; transform:translateY(60px) scale(.85);
  transition:transform .4s cubic-bezier(.2,.9,.2,1.1), box-shadow .4s ease, border-color .4s ease;
}
.ptiles.in .ptile{ animation:tileIn .9s cubic-bezier(.2,1.12,.3,1) both; animation-delay:calc(var(--i) * .14s); }
.ptiles.in .ptile.home{ animation:floatTile var(--t,7s) ease-in-out infinite; opacity:1; transform:none; }
@keyframes tileIn{ from{ opacity:0; transform:translateY(60px) scale(.85) } to{ opacity:1; transform:none } }
@keyframes floatTile{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-10px) } }
.ptile::before{ content:""; position:absolute; width:180px; height:180px; right:-70px; top:-70px; border-radius:50%; background:var(--c); opacity:.1; transition:transform .6s var(--ease); }
.ptile::after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; background:linear-gradient(115deg,transparent,rgba(255,255,255,.7),transparent); transform:skewX(-18deg); transition:left .6s ease; }
.ptile:hover::after{ left:140%; }
.ptile:hover::before{ transform:scale(1.8); }
.ptile:hover{ animation-play-state:paused !important; transform:translateY(-12px) scale(1.04) !important; box-shadow:0 40px 70px -24px color-mix(in srgb,var(--c) 55%,transparent); border-color:var(--c); }
.ptile__mark{ width:58px; height:58px; border-radius:18px; display:grid; place-items:center; background:var(--c); color:#fff; margin-bottom:.8rem; position:relative; box-shadow:0 14px 26px -12px var(--c); transition:transform .5s var(--ease); }
.ptile__mark .ico{ width:28px; height:28px; }
.ptile:hover .ptile__mark{ transform:rotate(-10deg) scale(1.06); }
.ptile__year{ font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--c); position:relative; }
.ptile h3{ font-size:1.2rem; font-weight:800; position:relative; }
.ptile__txt{ font-size:.9rem; color:var(--muted); line-height:1.5; margin:0; position:relative; }
.ptile__timeline{ display:flex; justify-content:space-between; margin-top:auto; padding-top:1rem; position:relative; }
.ptile__timeline::before{ content:""; position:absolute; left:4px; right:4px; top:calc(1rem + 4px); height:2px; background:color-mix(in srgb,var(--c) 35%,transparent); }
.ptile__timeline i{ font-style:normal; font-size:.7rem; font-weight:700; color:var(--navy); padding-top:14px; position:relative; }
.ptile__timeline i::before{ content:""; position:absolute; top:0; left:50%; translate:-50% 0; width:10px; height:10px; border-radius:50%; background:var(--c); box-shadow:0 0 0 3px #fff; }
.projects__foot{ text-align:center; max-width:820px; margin:2.6rem auto 0; color:var(--muted); }

.mirada{ display:grid; grid-template-columns:1fr 1.15fr; gap:1.6rem; margin-top:clamp(5rem,9vw,8rem); }
.mirada__quote{ border-radius:32px; padding:clamp(2rem,4vw,3rem); background:#fff; border:1px solid var(--gris); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.mirada__quote::before{ content:"“"; position:absolute; right:1.2rem; top:-2.2rem; font-family:var(--f-display); font-weight:800; font-size:12rem; color:var(--verde); opacity:.15; line-height:1; }
.mirada__quote blockquote{ margin:0 0 1rem; font-family:var(--f-display); font-weight:800; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.2; color:var(--navy); letter-spacing:-.02em; }
.book{ display:grid; grid-template-columns:auto 1fr; gap:clamp(1.4rem,3vw,2.6rem); align-items:center; border-radius:32px; padding:clamp(1.6rem,3vw,2.6rem); background:linear-gradient(135deg,#e6f7f5,#fff5e2); border:1px solid var(--gris); box-shadow:var(--shadow); --rd:.12s; perspective:900px; }
.book__cover{ width:clamp(150px,16vw,190px); display:block; flex:0 0 auto; border-radius:3px 10px 10px 3px; overflow:hidden; transform:rotateY(-20deg) rotateX(5deg); transform-style:preserve-3d; transition:transform .8s var(--ease); box-shadow:-14px 22px 34px -12px rgba(4,48,98,.45), inset 6px 0 0 rgba(0,0,0,.12); position:relative; }
.book__cover::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.18) 0,rgba(255,255,255,.25) 3%,transparent 7%); pointer-events:none; }
.book__cover img{ width:100%; height:auto; display:block; }
.book:hover .book__cover{ transform:rotateY(0) rotateX(0) translateY(-6px) scale(1.04); }
.book__text{ display:flex; flex-direction:column; gap:.7rem; align-items:flex-start; }
.book__text h3{ font-size:clamp(1.3rem,2.2vw,1.7rem); font-weight:800; line-height:1.15; }
.book__text p{ color:var(--texto); font-size:.98rem; margin:0; }

.academic{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,5vw,5rem); margin-top:clamp(5rem,9vw,8rem); align-items:start; }
.accordion{ display:grid; gap:1rem; --rd:.1s; }
.accordion details{ background:#fff; border:1px solid var(--gris); border-radius:22px; box-shadow:var(--shadow); overflow:hidden; transition:border-color .3s; }
.accordion details[open]{ border-color:color-mix(in srgb,var(--turquesa) 40%,transparent); }
.accordion summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:1rem; padding:1.3rem 1.5rem; font-family:var(--f-display); font-weight:800; font-size:1.1rem; color:var(--navy); }
.accordion summary::-webkit-details-marker{ display:none; }
.acc__ico{ width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--c); color:#fff; flex:0 0 auto; }
.acc__ico .ico{ width:22px; height:22px; }
.acc__chev{ margin-left:auto; transition:transform .35s var(--ease); color:var(--muted); }
details[open] .acc__chev{ transform:rotate(180deg); }
.acc__body{ padding:0 1.5rem 1.5rem 1.5rem; }
.acc__body p{ font-size:.98rem; }

.awards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.award{ text-align:center; background:#fff; border:1px solid var(--gris); border-radius:32px; padding:2.6rem 2rem 2.2rem; box-shadow:var(--shadow); transition:transform .5s var(--ease), box-shadow .5s, border-color .4s; }
.award:nth-child(2){ --rd:.12s } .award:nth-child(3){ --rd:.24s }
.award:hover{ transform:translateY(-10px); border-color:var(--c); box-shadow:0 40px 70px -30px color-mix(in srgb,var(--c) 70%,transparent); }
.seal{ width:170px; height:170px; margin:0 auto 1.6rem; position:relative; display:grid; place-items:center; }
.seal > svg{ position:absolute; inset:0; width:100%; height:100%; animation:rot 22s linear infinite; }
.seal text{ font-family:var(--f-display); font-weight:800; font-size:12.4px; letter-spacing:0; fill:var(--navy); }
.seal::before{ content:""; position:absolute; inset:18px; border-radius:50%; border:2px dashed color-mix(in srgb,var(--c) 50%,transparent); }
.seal__core{ width:96px; height:96px; border-radius:50%; background:var(--c); color:#fff; display:grid; place-items:center; box-shadow:0 18px 36px -14px var(--c); transition:transform .6s var(--ease); }
.seal__core .ico{ width:44px; height:44px; }
.award:hover .seal__core{ transform:scale(1.1) rotate(-20deg); }
@keyframes rot{ to{ transform:rotate(360deg) } }
.award h3{ font-size:1.3rem; font-weight:800; margin-bottom:1rem; }
.award ul{ display:grid; gap:.7rem; }
.award li{ font-size:.96rem; color:var(--muted); padding:.8rem 1rem; border-radius:14px; background:var(--tint); }
.awards__note{ text-align:center; color:var(--muted); font-size:.92rem; margin:2.2rem 0 2rem; font-style:italic; }

.contacto{ background:var(--navy); color:rgba(255,255,255,.82); overflow:hidden; }
.contacto::before{ content:""; position:absolute; width:700px; height:700px; left:-300px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(0,178,194,.35),transparent 65%); }
.contacto::after{ content:""; position:absolute; width:600px; height:600px; right:-260px; bottom:-280px; border-radius:50%; background:radial-gradient(circle,rgba(253,65,79,.3),transparent 65%); }
.contacto .h2{ color:#fff; }
.contact{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(2.5rem,5vw,5rem); align-items:start; position:relative; z-index:1; }
.ctype{ display:grid; gap:1rem; margin-top:2rem; }
.ctype__opt{
  text-align:left; font:inherit; color:rgba(255,255,255,.75); font-size:.93rem; line-height:1.5; cursor:pointer;
  display:grid; grid-template-columns:auto 1fr; gap:.4rem 1.1rem; padding:1.4rem 1.5rem; border-radius:22px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); transition:background .3s, border-color .3s, transform .4s var(--ease);
}
.ctype__opt strong{ display:block; color:#fff; font-family:var(--f-display); font-size:1.1rem; font-weight:800; margin-bottom:.3rem; }
.ctype__ico{ width:48px; height:48px; border-radius:15px; display:grid; place-items:center; background:var(--c); color:#fff; grid-row:span 2; }
.ctype__ico .ico{ width:24px; height:24px; }
.ctype__go{ display:inline-flex; gap:.5em; align-items:center; font-family:var(--f-display); font-weight:800; color:var(--c); grid-column:2; margin-top:.4rem; }
.ctype__opt:hover, .ctype__opt.is-active{ background:rgba(255,255,255,.12); border-color:var(--c); transform:translateX(6px); }

.form-card{ background:#fff; border-radius:32px; overflow:hidden; padding:clamp(1.6rem,3.5vw,2.8rem); box-shadow:0 50px 100px -40px rgba(0,0,0,.55); position:relative; --rd:.1s; }
.form-card::before{ content:""; position:absolute; inset:0 0 auto; height:8px; background:linear-gradient(90deg,var(--amarillo),var(--rojo),var(--verde),var(--turquesa)); }
.form{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem 1rem; }
.field{ display:flex; flex-direction:column; gap:.45rem; }
.field--full, .event-fields{ grid-column:1 / -1; }
.field label{ font-family:var(--f-display); font-weight:700; font-size:.88rem; color:var(--navy); }
.opt{ font-weight:500; color:var(--muted); }
.field input, .field textarea, .field select{
  font:inherit; font-size:1rem; color:var(--navy); width:100%;
  border:2px solid var(--gris); background:var(--tint); border-radius:14px; padding:.85rem 1rem;
  transition:border-color .25s, background .25s, box-shadow .25s; appearance:none; -webkit-appearance:none;
}
.field textarea{ resize:vertical; min-height:130px; }
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--turquesa); background:#fff; box-shadow:0 0 0 5px rgba(0,178,194,.14); }
.field.invalid input, .field.invalid textarea{ border-color:var(--rojo); background:#fff5f6; }
.select{ position:relative; }
.select .ico{ position:absolute; right:1rem; top:50%; translate:0 -50%; pointer-events:none; color:var(--navy); }
.select select{ font-family:var(--f-display); font-weight:700; cursor:pointer; padding-right:2.6rem; }
.select.flash select{ animation:flash 1s ease; }
@keyframes flash{ 0%,100%{ box-shadow:0 0 0 0 rgba(254,173,12,0) } 30%{ box-shadow:0 0 0 8px rgba(254,173,12,.45); border-color:var(--amarillo) } }
.event-fields{ border:2px dashed color-mix(in srgb,var(--amarillo) 60%,transparent); border-radius:18px; padding:1.1rem 1.1rem 1.2rem; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:1rem; background:#fffaf0; animation:fadeIn .5s var(--ease-out); }
.event-fields[hidden]{ display:none; }
.event-fields legend{ font-family:var(--f-display); font-weight:800; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:#b97a00; padding:0 .5rem; }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(-8px) } to{ opacity:1; transform:none } }
.consent{ display:flex; gap:.7rem; align-items:flex-start; font-size:.9rem; color:var(--muted); cursor:pointer; }
.consent input{ width:20px; height:20px; accent-color:var(--turquesa); margin-top:.1rem; flex:0 0 auto; }
.consent.invalid span{ color:var(--rojo); }
.form__error{ grid-column:1 / -1; margin:0; color:var(--rojo); font-weight:600; font-size:.92rem; }
.form .btn{ grid-column:1 / -1; margin-top:.4rem; }
.form.sending .btn{ pointer-events:none; opacity:.7; }
.form__ok{ text-align:center; padding:2rem 1rem; animation:fadeIn .6s var(--ease-out); }
.form__ok:focus{ outline:none; }
.form__ok-ico{ width:84px; height:84px; margin:0 auto 1.4rem; border-radius:50%; display:grid; place-items:center; background:var(--verde); color:#fff; box-shadow:0 20px 40px -16px var(--verde); animation:pop .7s cubic-bezier(.2,1.6,.4,1); }
.form__ok-ico .ico{ width:42px; height:42px; }
.form__ok h3{ font-size:1.7rem; font-weight:800; margin-bottom:.8rem; }
.form__ok p{ color:var(--muted); max-width:30em; margin:0 auto 1.6rem; }
@keyframes pop{ from{ transform:scale(0) } to{ transform:scale(1) } }

.footer{ background:var(--navy-9); color:rgba(255,255,255,.7); padding:clamp(3.5rem,7vw,5.5rem) 0 2rem; font-size:.94rem; }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.1); }
.footer__brand img{ width:230px; height:auto; margin-bottom:1.4rem; }
.footer__brand b{ color:#fff; }
.footer__col{ display:flex; flex-direction:column; gap:.55rem; }
.footer__title{ color:#fff; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:.6rem; font-family:var(--f-body); font-weight:600; }
.footer a{ text-decoration:none; transition:color .25s; }
.footer__col a:hover, .footer__legal a:hover{ color:var(--turquesa); }
.footer__bottom{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.6rem; flex-wrap:wrap; }
.footer__bottom p{ margin:0; }
.footer__legal{ display:flex; gap:1.4rem; }
.totop{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.08); color:#fff; transition:background .3s, transform .3s; }
.totop .ico{ transform:rotate(-90deg); }
.totop:hover{ background:var(--turquesa); transform:translateY(-4px); }

@media (max-width:1180px){
  .nav__menu a{ padding:.6em .6em; font-size:.88rem; }
  .ptile{ flex-basis:calc(33.333% - 1rem); }
}
@media (max-width:1080px){
  :root{ --nav-h:72px; }
  .nav__cta{ display:none; }
  .nav__toggle{ display:grid; gap:5px; margin-left:auto; width:48px; height:48px; place-content:center; border:0; border-radius:50%; background:var(--navy); cursor:pointer; z-index:2; }
  .nav__toggle span{ width:20px; height:2.5px; border-radius:2px; background:#fff; transition:transform .35s var(--ease), opacity .3s; }
  .nav-open .nav__toggle span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-open .nav__toggle span:nth-child(2){ opacity:0; }
  .nav-open .nav__toggle span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  .nav__menu{
    position:fixed; inset:0; background:#fff; padding:calc(var(--nav-h) + 1.5rem) var(--gutter) 2rem; overflow-y:auto;
    clip-path:circle(0% at calc(100% - 48px) 36px); transition:clip-path .7s var(--ease-out); visibility:hidden;
  }
  .nav-open .nav__menu{ clip-path:circle(150% at calc(100% - 48px) 36px); visibility:visible; }
  .nav-open .nav{ background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; transform:none; }
  .nav__menu > ul{ flex-direction:column; align-items:stretch; gap:.2rem; }
  .nav__menu a{ font-size:1.5rem; font-weight:800; padding:.5em .2em; border-radius:12px; }
  .nav__menu > ul > li{ opacity:0; transform:translateY(16px); transition:opacity .5s, transform .5s var(--ease-out); }
  .nav-open .nav__menu > ul > li{ opacity:1; transform:none; }
  .nav-open .nav__menu > ul > li:nth-child(2){ transition-delay:.05s } .nav-open .nav__menu > ul > li:nth-child(3){ transition-delay:.1s }
  .nav-open .nav__menu > ul > li:nth-child(4){ transition-delay:.15s } .nav-open .nav__menu > ul > li:nth-child(5){ transition-delay:.2s } .nav-open .nav__menu > ul > li:nth-child(6){ transition-delay:.25s }
  .has-sub > a .ico{ display:none; }
  .sub{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 0 .6rem .8rem; min-width:0; background:none; }
  .sub a{ font-size:1rem; font-weight:600; color:var(--muted); padding:.45em .2em; justify-content:flex-start; gap:.6em; }
  .nav__cta-mobile{ display:block; margin-top:1rem; }
  .nav__cta-mobile .btn{ font-size:1.05rem; width:100%; color:#fff; }
  .nav__cta-mobile .btn:hover{ background:var(--navy); }

  .hero__grid{ grid-template-columns:1fr; }
  .hero__visual{ max-width:560px; width:100%; margin:0 auto; }
  .split, .split--sticky, .sobre .split{ grid-template-columns:1fr; }
  .split--rev > :first-child{ order:2; }
  .aside-img{ flex:none; aspect-ratio:4/3; min-height:0; margin-bottom:0; }
  .mentoria__grid, .charlas__intro, .auth, .academic, .mirada, .contact{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .cards3, .talks, .awards{ grid-template-columns:1fr 1fr; }
  .steps{ grid-template-columns:1fr 1fr; row-gap:3.4rem; padding-top:2rem; }
  .steps::before, .steps::after{ display:none; }
  .tiles6{ grid-template-columns:1fr 1fr; }
  .duo{ grid-template-columns:1fr; }
  .fcard + .fcard{ margin-top:0; }
  .footer__top{ grid-template-columns:1fr 1fr; }
  .footer__brand{ grid-column:1 / -1; }
}
@media (max-width:680px){
  body{ font-size:1rem; }
  .hero{ padding-top:calc(var(--nav-h) + 1.5rem); }
  .hero__eyebrow{ font-size:.66rem; }
  .hero__ctas .btn{ width:100%; }
  .chip{ font-size:.76rem; padding:.6rem .8rem; }
  .chip strong{ font-size:1.5rem; }
  .chip__ico{ width:34px; height:34px; }
  .chip--a{ left:0; top:58%; } .chip--c{ right:0; top:30%; } .chip--b{ left:6%; bottom:-3%; }
  .scroll-hint{ display:none; }
  .stats, .cards3, .talks, .awards, .areas, .tiles6, .steps{ grid-template-columns:1fr; }
  .area:nth-child(even), .area.reveal.in:nth-child(even){ transform:none; }
  .panel .checks{ grid-template-columns:1fr; }
  .callout__duo{ grid-template-columns:1fr; }
  .callout__plus{ margin:0; }
  .event-fields, .form{ grid-template-columns:1fr; }
  .badge-note{ left:.8rem; right:.8rem; bottom:-1.5rem; max-width:none; }
  .book{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .book__text{ align-items:center; }
  .ptile{ flex-basis:100%; }
  .sobre__mark{ right:-2%; width:40%; }
  .charlas__foot{ padding:1.6rem; }
  .charlas__foot .btn{ width:100%; }
  .footer__top{ grid-template-columns:1fr; }
  .btn{ white-space:normal; text-align:center; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .reveal, .ptile, .hero__text > *, .chip, .hero__photo-sm{ opacity:1 !important; transform:none !important; }
  .hero__title .line > span{ transform:none !important; }
  .hero__photo{ clip-path:none !important; }
  .statement .w{ color:var(--navy) !important; }
  .loader{ display:none; }
}

.legal-back .ico{ transition:transform .35s var(--ease); }
.legal-back:hover .ico{ transform:rotate(180deg) translateX(4px) !important; }
.legal-hero{ padding:calc(var(--nav-h) + clamp(2.5rem,6vw,4.5rem)) 0 clamp(2rem,4vw,3rem); }
.legal-hero .h2{ margin-bottom:.6rem; }
.legal-date{ color:var(--muted); font-size:.92rem; margin-bottom:2rem; }
.legal-tabs{ display:flex; flex-wrap:wrap; gap:.6rem; }
.legal-tabs a{ font-family:var(--f-display); font-weight:700; font-size:.92rem; text-decoration:none; color:var(--navy); padding:.65em 1.2em; border-radius:99px; background:#fff; border:1px solid var(--gris); box-shadow:var(--shadow); transition:background .25s, color .25s, border-color .25s; }
.legal-tabs a:hover{ border-color:var(--turquesa); color:#007f8b; }
.legal-tabs a[aria-current="page"]{ background:var(--navy); color:#fff; border-color:var(--navy); }

.legal-layout{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:clamp(2rem,5vw,4.5rem); align-items:start; padding-bottom:clamp(4rem,8vw,7rem); }
.legal-toc{ position:sticky; top:calc(var(--nav-h) + 1.5rem); background:#fff; border:1px solid var(--gris); border-radius:var(--radius-sm); padding:1.3rem 1.1rem; box-shadow:var(--shadow); }
.legal-toc__title{ font-family:var(--f-body); font-weight:600; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 .8rem .4rem; }
.legal-toc ol{ display:grid; gap:.1rem; }
.legal-toc a{ display:flex; gap:.7rem; align-items:baseline; text-decoration:none; font-size:.9rem; line-height:1.35; color:var(--texto); padding:.5rem .5rem; border-radius:10px; transition:background .2s, color .2s; }
.legal-toc a span{ font-family:var(--f-display); font-weight:800; font-size:.75rem; color:var(--turquesa); }
.legal-toc a:hover{ background:var(--tint); color:var(--navy); }

.legal{ max-width:780px; }
.legal-intro{ font-size:1.15rem; color:var(--navy); font-weight:500; margin-bottom:2.4rem; }
.legal-sec{ padding:2rem 0; border-top:1px solid var(--gris); }
.legal-sec h2{ display:flex; gap:.8rem; align-items:baseline; font-size:clamp(1.3rem,2.2vw,1.6rem); font-weight:800; margin-bottom:1.1rem; }
.legal-sec h2 span{ font-size:.85rem; color:var(--turquesa); }
.legal p{ color:var(--texto); }
.legal a{ color:#007f8b; text-decoration:underline; text-underline-offset:3px; }
.legal ul{ display:grid; gap:.6rem; margin:0 0 1.2rem; }
.legal ul li{ position:relative; padding-left:1.4rem; }
.legal ul li::before{ content:""; position:absolute; left:0; top:.65em; width:8px; height:8px; border-radius:50%; background:var(--turquesa); }
.legal-id{ display:grid; gap:0; margin:0 0 1rem; background:#fff; border:1px solid var(--gris); border-radius:var(--radius-sm); overflow:hidden; }
.legal-id > div{ display:grid; grid-template-columns:180px 1fr; gap:1rem; padding:.85rem 1.2rem; }
.legal-id > div + div{ border-top:1px solid var(--gris); }
.legal-id dt{ font-family:var(--f-display); font-weight:700; color:var(--navy); font-size:.92rem; }
.legal-id dd{ margin:0; }
.legal-table{ overflow-x:auto; margin:0 0 1.2rem; border:1px solid var(--gris); border-radius:var(--radius-sm); }
.legal-table table{ width:100%; border-collapse:collapse; font-size:.95rem; min-width:520px; }
.legal-table th{ text-align:left; font-family:var(--f-display); font-weight:800; color:var(--navy); background:var(--tint); padding:.9rem 1.1rem; }
.legal-table td{ padding:.9rem 1.1rem; border-top:1px solid var(--gris); vertical-align:top; }
.legal-table td:first-child{ width:55%; }
.legal-summary{ background:var(--navy); color:rgba(255,255,255,.85); border-radius:var(--radius); padding:1.6rem 1.8rem; margin:0 0 1rem; }
.legal-summary h2{ color:#fff; font-size:1.15rem; font-weight:800; margin-bottom:1rem; }
.legal-summary dl{ display:grid; gap:.6rem; margin:0; }
.legal-summary dl > div{ display:grid; grid-template-columns:130px 1fr; gap:1rem; font-size:.94rem; }
.legal-summary dt{ font-family:var(--f-display); font-weight:700; color:var(--amarillo); }
.legal-summary dd{ margin:0; }
.legal-callout{ background:color-mix(in srgb,var(--verde) 10%,#fff); border:1px solid color-mix(in srgb,var(--verde) 35%,transparent); border-radius:var(--radius-sm); padding:1.3rem 1.4rem; margin-bottom:1rem; }
.legal-callout strong{ display:block; font-family:var(--f-display); font-size:1.1rem; color:#2e7d45; margin-bottom:.4rem; }
.legal-callout p{ margin:0; }
.legal-links{ grid-template-columns:1fr 1fr; }
.footer--slim{ padding:2rem 0; }
.footer--slim .footer__bottom{ padding-top:0; }

.hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form__info{ grid-column:1 / -1; margin:0; font-size:.78rem; line-height:1.5; color:var(--muted); background:var(--tint); border-radius:12px; padding:.8rem 1rem; }
.form__info b{ font-weight:600; }
.form__info a{ color:#007f8b; }

@media (max-width:900px){
  .legal-layout{ grid-template-columns:1fr; }
  .legal-toc{ position:static; }
}
@media (max-width:600px){
  .legal-id > div, .legal-summary dl > div{ grid-template-columns:1fr; gap:.15rem; }
  .legal-links{ grid-template-columns:1fr; }
  .legal-back{ padding:.7em 1em; font-size:.85rem; }
}

body.inner .nav{ background:rgba(255,255,255,.92); backdrop-filter:saturate(1.6) blur(14px); -webkit-backdrop-filter:saturate(1.6) blur(14px); box-shadow:0 10px 30px -20px rgba(4,48,98,.35); }
.section.page-top{ padding-top:calc(var(--nav-h) + clamp(1.5rem,4vw,3rem)); }

.breadcrumb{ margin:0 0 clamp(1.5rem,3vw,2.4rem); }
.breadcrumb ol{ display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .5rem; font-size:.86rem; color:var(--muted); }
.breadcrumb li{ display:flex; align-items:center; gap:.5rem; }
.breadcrumb li + li::before{ content:""; width:6px; height:6px; border-right:2px solid currentColor; border-top:2px solid currentColor; transform:rotate(45deg); opacity:.5; }
.breadcrumb a{ color:var(--navy); text-decoration:none; font-weight:600; }
.breadcrumb a:hover{ color:#007f8b; text-decoration:underline; text-underline-offset:3px; }
.breadcrumb [aria-current]{ color:var(--muted); }
.dark .breadcrumb, .contacto .breadcrumb{ color:rgba(255,255,255,.6); }
.dark .breadcrumb a, .contacto .breadcrumb a{ color:#fff; }
.dark .breadcrumb [aria-current], .contacto .breadcrumb [aria-current]{ color:rgba(255,255,255,.7); }

.more-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; margin-top:2.2rem; }
.more-links a{ display:inline-flex; align-items:center; gap:.6em; text-decoration:none; font-family:var(--f-display); font-weight:700; font-size:.95rem; color:var(--navy); padding:.75em 1.2em; border-radius:99px; background:#fff; border:1px solid var(--gris); box-shadow:var(--shadow); transition:transform .35s var(--ease), border-color .3s, color .3s; }
.more-links a .ico{ color:var(--c); }
.more-links a:hover{ transform:translateY(-3px); border-color:var(--c); color:var(--c); }

.section + .premios{ padding-top:clamp(2.5rem,5vw,4rem); }
.premios--short .award{ padding-bottom:2rem; }
.premios--short .awards__note{ margin-bottom:1.6rem; }
.btn-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:.9rem; }

.cta-band{ padding:0 0 clamp(4rem,8vw,6rem); }
.cta-band__inner{ display:grid; grid-template-columns:1.4fr auto; gap:2rem 3rem; align-items:center; background:var(--navy); color:rgba(255,255,255,.82); border-radius:36px; padding:clamp(2rem,5vw,3.6rem); position:relative; overflow:hidden; }
.cta-band__inner::before{ content:""; position:absolute; width:460px; height:460px; right:-160px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(0,178,194,.4),transparent 70%); }
.cta-band__inner::after{ content:""; position:absolute; width:380px; height:380px; left:-140px; bottom:-220px; border-radius:50%; background:radial-gradient(circle,rgba(253,65,79,.3),transparent 70%); }
.cta-band__inner > *{ position:relative; z-index:1; }
.cta-band .h2{ color:#fff; font-size:clamp(1.7rem,3.2vw,2.5rem); margin-bottom:.9rem; }
.cta-band p:last-child{ margin:0; max-width:40em; }
.contacto + .cta-band{ display:none; }

.fcard--wide{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:stretch; }
.fcard--wide figure{ aspect-ratio:auto; min-height:100%; }
.fcard--wide figure img{ position:absolute; inset:0; }
.fcard--wide .fcard__body{ padding:clamp(1.8rem,3.5vw,3rem); }
.fcard + .fcard.fcard--wide, .fcard--wide + .fcard{ margin-top:1.6rem; }
.fp-sec{ padding-bottom:clamp(3rem,6vw,5rem); }
.formacion.page-top .section__head{ margin-bottom:clamp(2rem,4vw,3rem); }

.fp-teaser{ display:grid; grid-template-columns:auto 1fr auto; gap:1rem 1.4rem; align-items:center; margin-top:1.6rem; padding:1.5rem 1.8rem; border-radius:24px; text-decoration:none; color:var(--texto); background:#fff; border:1px solid var(--gris); box-shadow:var(--shadow); transition:transform .4s var(--ease), border-color .3s, box-shadow .4s; }
.fp-teaser:hover{ transform:translateY(-4px); border-color:var(--c); box-shadow:0 30px 60px -30px color-mix(in srgb,var(--c) 70%,transparent); }
.fp-teaser__ico{ width:54px; height:54px; border-radius:16px; display:grid; place-items:center; background:var(--c); color:#fff; }
.fp-teaser__ico .ico{ width:26px; height:26px; }
.fp-teaser__txt{ font-size:.96rem; color:var(--muted); }
.fp-teaser__txt strong{ display:block; font-family:var(--f-display); font-size:1.15rem; color:var(--navy); margin-bottom:.2rem; }
.fp-teaser__go{ display:inline-flex; gap:.5em; align-items:center; font-family:var(--f-display); font-weight:800; color:var(--c); white-space:nowrap; }

@media (max-width:1080px){
  .cta-band__inner{ grid-template-columns:1fr; }
  .fcard--wide{ grid-template-columns:1fr; }
  .fcard--wide figure{ aspect-ratio:16/9; min-height:0; }
}
@media (max-width:680px){
  .fp-teaser{ grid-template-columns:1fr; }
  .cta-band__btns .btn, .btn-row .btn{ width:100%; }
}
.notfound{ min-height:70vh; }
.notfound__code{ font-family:var(--f-display); font-weight:800; font-size:clamp(5rem,16vw,11rem); line-height:1; letter-spacing:-.05em; margin:0 0 .5rem; background:linear-gradient(90deg,var(--amarillo),var(--rojo),var(--verde),var(--turquesa)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.more-links--left{ justify-content:flex-start; }

.no-intro .loader{ display:none; }
