
:root{
  --cream:#FFFFFF; --cream2:#F3F3F2; --paper:#FAFAF9;
  --ink:#2A333A; --ink2:#232B31; --ink-soft:#5A636B;
  --espresso:#56401D; --gold:#926B44; --tan:#B9A98A; --olive:#786749;
  --accent:#F95300;
  --ease:cubic-bezier(.32,.72,0,1);
  --rad:2rem;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Helvetica Neue',Helvetica,'Inter',Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:'Helvetica Neue',Helvetica,'Inter',Arial,sans-serif;font-weight:600;line-height:1.08;letter-spacing:-.022em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::selection{background:var(--gold);color:#fff}

/* grain */
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.028;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}

/* loader */
#loader{position:fixed;inset:0;z-index:200;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:opacity .7s var(--ease),visibility .7s}
#loader.done{opacity:0;visibility:hidden}
#loader img{width:min(280px,60vw);opacity:0;transform:translateY(14px);animation:loadin 1s var(--ease) .1s forwards}
#loader .bar{width:min(280px,60vw);height:1px;background:rgba(42,51,58,.14);overflow:hidden;border-radius:2px}
#loader .bar i{display:block;height:100%;width:100%;background:var(--gold);transform:translateX(-100%);animation:loadbar 1.05s var(--ease) .15s forwards}
@keyframes loadin{to{opacity:1;transform:none}}
@keyframes loadbar{to{transform:none}}

/* nav */
#nav{position:fixed;top:44px;left:0;right:0;z-index:100;display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);padding:0 clamp(20px,4vw,52px);height:80px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(33,38,44,.08);transition:top .55s var(--ease),height .55s var(--ease),transform .55s var(--ease),box-shadow .55s var(--ease);white-space:nowrap}
#nav.hid{transform:translateY(-140%)}
body.scrolled #nav{top:0;height:64px;box-shadow:0 20px 44px -30px rgba(33,38,44,.3)}
#nav .logo img{height:40px;width:auto;transition:height .55s var(--ease)}
body.scrolled #nav .logo img{height:32px}
#nav .links{display:flex;gap:clamp(4px,1.6vw,22px);margin:0 auto}
#nav .links a{font-size:14px;font-weight:500;padding:10px 4px;color:var(--ink-soft);position:relative;transition:color .45s var(--ease)}
#nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
#nav .links a:hover{color:var(--ink)}
#nav .links a:hover::after{transform:scaleX(1)}
.langs{display:flex;gap:1px;background:rgba(33,38,44,.08);border-radius:999px;padding:3px}
.langs button{font-size:11px;font-weight:600;letter-spacing:.06em;padding:5px 9px;border-radius:999px;color:var(--ink-soft);transition:all .4s var(--ease)}
.langs button.on{background:var(--espresso);color:var(--cream)}
.nav-cta{display:flex;align-items:center;gap:8px;background:var(--espresso);color:var(--cream);font-size:13px;font-weight:600;padding:9px 9px 9px 16px;border-radius:999px;transition:transform .45s var(--ease),background .45s var(--ease)}
.nav-cta em{font-style:normal}
.nav-cta .dot{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:12px;transition:transform .45s var(--ease)}
.nav-cta:hover{background:var(--gold)}
.nav-cta:hover .dot{transform:translateX(2px) translateY(-1px)}
#burger{display:none;width:42px;height:42px;border-radius:50%;position:relative;background:rgba(33,38,44,.07)}
#burger span{position:absolute;left:12px;right:12px;height:1.6px;background:var(--ink);transition:transform .5s var(--ease),top .5s var(--ease)}
#burger span:nth-child(1){top:17px}
#burger span:nth-child(2){top:24px}
body.menu-open #burger span:nth-child(1){top:20.5px;transform:rotate(45deg)}
body.menu-open #burger span:nth-child(2){top:20.5px;transform:rotate(-45deg)}
#menu{position:fixed;inset:0;z-index:95;background:rgba(42,51,58,.94);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding:110px 24px 60px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility .6s}
body.menu-open #menu{opacity:1;visibility:visible}
#menu a{font-family:'Helvetica Neue',Helvetica,'Inter',Arial,sans-serif;font-size:clamp(20px,4.6vw,30px);color:var(--cream);padding:4px 0;opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease),color .4s}
#menu .mlabel{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--tan);font-weight:700;margin:22px 0 4px;opacity:0;transition:opacity .7s .2s}
body.menu-open #menu .mlabel{opacity:.9}
#menu a:hover{color:var(--tan)}
body.menu-open #menu a{opacity:1;transform:none}
body.menu-open #menu a{transition-delay:.12s}
#menu .m-langs{margin-top:26px;opacity:0;transition:opacity .7s .4s}
body.menu-open #menu .m-langs{opacity:1}

/* shared */
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
section{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(146,107,68,.32);border-radius:999px;padding:6px 14px;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:14px 10px 14px 24px;font-size:15px;font-weight:600;transition:transform .5s var(--ease),background .5s var(--ease),color .5s var(--ease),border-color .5s}
.btn:active{transform:scale(.98)}
.btn .dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;transition:transform .5s var(--ease)}
.btn:hover .dot{transform:translateX(3px) translateY(-2px) scale(1.05)}
.btn-dark{background:var(--espresso);color:var(--cream)}
.btn-dark .dot{background:rgba(255,255,255,.15)}
.btn-dark:hover{background:var(--gold)}
.btn-ghost{border:1px solid rgba(33,38,44,.3);color:var(--espresso);padding:13px 10px 13px 24px}
.btn-ghost .dot{background:rgba(33,38,44,.08)}
.btn-ghost:hover{border-color:var(--espresso)}
.btn-light{background:var(--cream);color:var(--espresso)}
.btn-light .dot{background:rgba(33,38,44,.1)}
.btn-light:hover{background:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(46px);filter:blur(6px);transition:opacity .95s var(--ease),transform .95s var(--ease),filter .95s var(--ease)}
.rv.in{opacity:1;transform:none;filter:none}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}.rv-d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;filter:none;transition:none}
  *{animation-duration:.001s !important;transition-duration:.001s !important}
}


/* ===== HERO slider ===== */
.hero{min-height:100dvh;position:relative;display:flex}
.rotor{display:inline-block;position:relative;color:var(--tan)}
.rotor .w{display:inline-block;white-space:nowrap}
.rotor .w.out{animation:wout .5s var(--ease) forwards}
.rotor .w.inn{animation:winn .55s var(--ease)}
@keyframes wout{to{opacity:0;transform:translateY(-24px);filter:blur(5px)}}
@keyframes winn{from{opacity:0;transform:translateY(26px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
#hero{overflow:hidden;color:var(--cream)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease),visibility 1.1s;display:flex;align-items:flex-end;z-index:1}
.slide.active{opacity:1;visibility:visible;z-index:2}
.slide .bg{position:absolute;inset:0;overflow:hidden}
.slide .bg img{width:100%;height:100%;object-fit:cover;transform-origin:60% 40%}
.slide.active .bg img{animation:kb 18s var(--ease) infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.slide .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(35,43,49,.92) 0%,rgba(35,43,49,.38) 50%,rgba(35,43,49,.28) 100%)}
.slide .sc{position:relative;z-index:2;padding:0 0 130px;width:100%}
.slide .sc>*{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.slide.active .sc>*{opacity:1;transform:none}
.slide.active .sc>*:nth-child(1){transition-delay:.25s}
.slide.active .sc>*:nth-child(2){transition-delay:.37s}
.slide.active .sc>*:nth-child(3){transition-delay:.49s}
.slide.active .sc>*:nth-child(4){transition-delay:.61s}
.slide .eyebrow{border-color:rgba(255,255,255,.4);color:var(--tan)}
.slide .eyebrow::before{background:var(--tan)}
.sl-title{font-family:'Helvetica Neue',Helvetica,'Inter',Arial,sans-serif;font-weight:600;font-size:clamp(36px,5.5vw,76px);line-height:1.08;color:#fff;margin:22px 0 0;max-width:1050px;letter-spacing:-.015em}
.sl-title .nw{white-space:nowrap}
.sl-sub{max-width:560px;color:rgba(255,255,255,.85);font-size:clamp(15px,1.35vw,17.5px);margin:22px 0 0}
.sl-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.h-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.35);color:var(--cream);background:rgba(35,43,49,.28);backdrop-filter:blur(8px);font-size:17px;transition:all .45s var(--ease)}
.h-arrow:hover{background:var(--gold);border-color:var(--gold)}
.h-arrow.prev{left:clamp(12px,2vw,30px)}
.h-arrow.next{right:clamp(12px,2vw,30px)}
.dots{position:absolute;left:50%;transform:translateX(-50%);bottom:36px;z-index:6;display:flex;gap:8px}
.dots button{width:26px;height:4px;border-radius:3px;background:rgba(255,255,255,.32);transition:all .45s var(--ease)}
.dots button.on{background:var(--tan);width:44px}
.dots button:hover{background:rgba(255,255,255,.6)}

/* topbar */
#topbar{position:absolute;top:0;left:0;right:0;z-index:92;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:9px clamp(16px,3vw,42px);font-size:12px;color:var(--ink-soft);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(33,38,44,.1)}
#topbar .tb-l,#topbar .tb-r{display:flex;align-items:center;gap:12px}
#topbar .tb-soc{display:flex;gap:6px;align-items:center}
#topbar .tb-soc a{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:1px solid rgba(33,38,44,.2);color:var(--espresso);transition:all .4s var(--ease)}
#topbar .tb-soc a:hover{background:var(--espresso);color:var(--cream)}
.tb-pill{background:var(--olive);color:#fff;border-radius:999px;padding:5px 14px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:all .4s var(--ease)}
.tb-pill:hover{background:var(--espresso)}
.tb-a{padding:5px 6px;font-weight:500;transition:color .35s}
.tb-a:hover{color:var(--ink)}
/* pills del nav */
.nav-pill{background:var(--olive);color:var(--cream);font-size:12px;font-weight:600;padding:8px 14px;border-radius:999px;transition:all .45s var(--ease);white-space:nowrap}
.nav-pill:hover{background:var(--espresso)}
/* dropdown líneas */
.has-sub{position:relative;display:inline-flex;align-items:center}
.has-sub>a{display:inline-flex;align-items:center}
.has-sub>a::after{content:"▾";font-size:9px;margin-left:5px;opacity:.6;display:inline-block;transition:transform .4s var(--ease)}
.has-sub:hover>a::after{transform:rotate(180deg)}
.sub{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(10px);background:rgba(255,255,255,.96);backdrop-filter:blur(22px);border:1px solid rgba(33,38,44,.13);border-radius:20px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:3px;width:460px;opacity:0;visibility:hidden;transition:all .45s var(--ease);box-shadow:0 34px 66px -28px rgba(42,51,58,.4)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateX(-50%)}
.sub::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
#subLineas{display:flex;flex-direction:column;gap:1px}
#subLineas a{display:flex;align-items:center;gap:10px;padding:5px 12px;border-radius:10px;font-size:12.5px;color:var(--ink-soft);transition:all .35s var(--ease)}
#subLineas a:hover{background:rgba(33,38,44,.06);color:var(--ink)}
#subLineas a img{width:20px;height:20px;flex:0 0 auto;transition:transform .35s var(--ease)}
#subLineas a:hover img{transform:scale(1.15)}
.sub-red{width:640px;grid-template-columns:1.02fr .98fr;gap:12px}
.sub-act{width:300px;grid-template-columns:1fr}
.sub-com{width:600px;grid-template-columns:1fr 1fr}
.sub-col{display:flex;flex-direction:column;gap:2px}
.sub-foot{margin-top:auto;padding:12px 10px 4px;font-size:12px;color:var(--ink-soft)}
.sub-foot a{color:var(--gold);font-weight:600}
.sub-foot a:hover{text-decoration:underline}
.sub-side{border-left:1px solid rgba(33,38,44,.09);padding-left:12px;display:flex;flex-direction:column}
.sub-side .grp{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:8px 0 8px 12px}
.mi{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:14px;transition:background .35s var(--ease)}
.mi:hover{background:rgba(33,38,44,.05)}
.mi .ic{flex:0 0 auto;width:38px;height:38px;border-radius:11px;border:1px solid rgba(33,38,44,.12);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--gold);box-shadow:0 8px 16px -10px rgba(33,38,44,.25)}
.mi .ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mi b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.25}
.mi>span:last-child span{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:2px;line-height:1.35}
/* marquee */
#marquee{background:#fff;overflow:hidden;padding:30px 0;position:relative;border-bottom:1px solid rgba(33,38,44,.08)}
#marquee .track{display:flex;align-items:center;gap:0;width:max-content;animation:mq 45s linear infinite}
#marquee:hover .track{animation-play-state:paused}
#marquee .item{display:flex;align-items:center;padding:0 clamp(28px,3.5vw,52px);flex:0 0 auto}
#marquee .item img{height:clamp(30px,3vw,42px);width:auto;filter:grayscale(1);opacity:.55;transition:filter .5s var(--ease),opacity .5s var(--ease)}
#marquee .item:hover img{filter:none;opacity:1}
@keyframes mq{to{transform:translateX(-50%)}}

/* intro */
#red{padding:clamp(110px,14vw,180px) 0 clamp(90px,10vw,140px)}

/* líneas estratégicas */
#lineas{background:var(--paper);padding:clamp(100px,12vw,160px) 0;border-top:1px solid rgba(33,38,44,.08)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(40px,5vw,64px);flex-wrap:wrap}
.sec-head h2{font-size:clamp(32px,4.6vw,60px);max-width:640px;margin-top:22px}
.sec-head .side{max-width:360px;color:var(--ink-soft);font-size:15.5px}
.lin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 28px}
.lin{--lc:#81601E;position:relative;background:transparent;border:none;border-radius:0;padding:0;transition:none}

.lin .core{background:transparent;border-radius:0;padding:26px 6px 8px 0;height:100%;display:flex;flex-direction:column;gap:16px;position:relative;overflow:visible;border-top:1px solid rgba(33,38,44,.14);transition:none}
.lin .core::after{content:"";position:absolute;left:0;top:-1px;height:2px;width:56px;background:var(--lc);transition:width .55s var(--ease)}

.lin:hover .core::after{width:100%}
.lin .num{font-size:10.5px;letter-spacing:.2em;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:center}
.lin .num .go{width:26px;height:26px;border-radius:50%;border:1px solid rgba(33,38,44,.2);display:flex;align-items:center;justify-content:center;font-size:11px;opacity:0;transform:translateX(-6px);transition:all .5s var(--ease);color:var(--lc);border-color:var(--lc)}
.lin:hover .num .go{opacity:1;transform:none}
.lin img{width:58px;height:58px;filter:grayscale(1) opacity(.55);transition:filter .6s var(--ease),transform .6s var(--ease)}
.lin:hover img{filter:none;transform:scale(1.06) rotate(-3deg)}
.lin h3{font-size:17.5px;font-weight:500;letter-spacing:.01em}
.lin p{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
#lineas .foot{margin-top:46px;display:flex;justify-content:center}

/* universidades */


/* globo */
#global{background:var(--cream2);color:var(--ink);padding:clamp(100px,12vw,170px) 0;overflow:hidden;position:relative}
#global::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 75% 50%,rgba(146,107,68,.1),transparent 65%);pointer-events:none}
#global .wrap{position:relative;z-index:2}
#global h2{font-size:clamp(34px,4.6vw,60px);margin:24px 0 18px;color:var(--ink)}
#global .lead{color:var(--ink-soft);font-size:16.5px;max-width:480px}

/* noticias */
#noticias{padding:clamp(100px,12vw,160px) 0}
.news{background:var(--paper);border:1px solid rgba(33,38,44,.1);border-radius:26px;padding:10px;display:flex;flex-direction:column;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.news:hover{transform:translateY(-7px);box-shadow:0 36px 66px -32px rgba(42,51,58,.32)}
.news .im{border-radius:18px;overflow:hidden;aspect-ratio:1.45;position:relative}
.news .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.news:hover .im img{transform:scale(1.06)}
.news .tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:5px 12px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.news .tx{padding:20px 14px 14px;display:flex;flex-direction:column;gap:12px;flex:1}
.news h3{font-size:18.5px;font-weight:500;line-height:1.35}
.news p{font-size:14px;color:var(--ink-soft);flex:1}
.news .more{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--espresso);letter-spacing:.04em}
.news .more i{transition:transform .5s var(--ease)}
.news:hover .more i{transform:translateX(4px)}


/* newsletter + footer */
#news-cta{background:var(--cream2);border-top:1px solid rgba(33,38,44,.1);padding:clamp(80px,9vw,120px) 0}
#news-cta .box{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
#news-cta h2{font-size:clamp(30px,3.8vw,50px)}
#news-cta p{color:var(--ink-soft);margin-top:14px;max-width:440px}
#nlform{display:flex;gap:10px;background:var(--paper);border:1px solid rgba(33,38,44,.16);border-radius:999px;padding:7px 7px 7px 24px;align-items:center;box-shadow:0 24px 50px -28px rgba(42,51,58,.25)}
#nlform input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:15px;color:var(--ink);min-width:0}
#nlform input::placeholder{color:rgba(90,99,107,.6)}
#nlform .btn-dark{padding:12px 9px 12px 20px;font-size:14px}
#nlform.ok input{pointer-events:none}
.nl-note{font-size:12px;color:var(--ink-soft);margin-top:12px;opacity:.8}
footer{background:var(--ink);color:rgba(255,255,255,.8);padding:clamp(70px,8vw,100px) 0 36px}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(26px,4vw,60px);padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,.12)}
footer .brand img{height:44px;width:auto;margin-bottom:18px}
footer .brand p{font-size:14px;max-width:300px;color:rgba(255,255,255,.6)}
footer h4{font-family:'Helvetica Neue',Helvetica,'Inter',Arial,sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--tan);margin-bottom:18px;font-weight:500}
footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}
footer ul a{font-size:14.5px;color:rgba(255,255,255,.75);transition:color .4s}
footer ul a:hover{color:#fff}
footer .bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;font-size:12.5px;color:rgba(255,255,255,.5);flex-wrap:wrap}
footer .soc{display:flex;gap:10px}
footer .soc a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .45s var(--ease)}
footer .soc a:hover{background:var(--gold);border-color:var(--gold);color:#fff}

/* responsive */
@media(max-width:1180px){
  .nav-pill{font-size:11px;padding:7px 11px}
}
@media(max-width:1080px){
  .lin-grid{grid-template-columns:repeat(2,1fr)}
  #nav .links{display:none}
  #nav .nav-pill{display:none}
  #burger{display:block;margin-left:auto}
}
@media(max-width:900px){
  .nav-cta{display:none}
  #nav{padding:8px 10px 8px 14px}
      #heroC .grid{grid-template-columns:1fr}
  #heroC .left{padding-top:130px;padding-bottom:40px}
  #heroC .right{min-height:70vh;padding:60px 24px}
    .c1,.c2,.c3,  footer .top{grid-template-columns:1fr 1fr}
  #heroA .strip{flex-wrap:wrap}
  #heroA .stat-cap{width:100%;justify-content:space-between;gap:14px;flex-wrap:wrap}
  #nav .langs{display:none}
  #menu .langs{display:flex}
  #heroB .meta{display:none}
}
@media(max-width:640px){
  .lin-grid{grid-template-columns:1fr}
  #nlform{flex-direction:column;border-radius:26px;padding:14px}
  #nlform input{width:100%;padding:8px 4px}
  #nlform .btn-dark{width:100%;justify-content:center}
  footer .top{grid-template-columns:1fr}
  #heroA .ph3{display:none}
}

/* ===== overrides v2 ===== */
.lin img{filter:none}
.lin .num>span:first-child{color:var(--lc);font-weight:700}
.lin:hover img{transform:scale(1.12) rotate(-5deg)}
.lin .core::after{transform:scaleX(1)}

/* stats card premium */
/* arcos del globo */
/* fila online */
/* firma arquetypo */
footer .credit{color:rgba(255,255,255,.55);transition:color .4s;font-size:12.5px}
footer .credit b{color:var(--tan);font-weight:600}
footer .credit:hover b{color:#fff}
@media(max-width:1080px){
  #topbar .tb-links-desk{display:none}
}
@media(max-width:900px){
  #topbar{display:none}
  #nav{top:0;height:66px}
  .slide .sc{padding-bottom:120px}
  .sl-title{font-size:clamp(32px,8.4vw,50px)}
  .sl-title .nw{white-space:normal}
  #slides .slide:first-child .sl-title{min-height:3.3em}
  .h-arrow{display:none}
    }

/* burbuja flotante de idioma */
#langFab{position:fixed;right:20px;bottom:20px;z-index:130;display:flex;flex-direction:column-reverse;gap:0;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(33,38,44,.12);border-radius:999px;padding:5px;box-shadow:0 20px 46px -20px rgba(33,38,44,.4)}
#langFab button{width:46px;height:46px;border-radius:50%;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--ink-soft);transition:all .45s var(--ease);overflow:hidden}
#langFab button.on{background:var(--espresso);color:#fff;order:-1}
#langFab button:not(.on){height:0;opacity:0;transform:scale(.5);pointer-events:none;margin:0}
#langFab:hover button:not(.on),#langFab:focus-within button:not(.on){height:46px;opacity:1;transform:none;pointer-events:auto;margin-top:4px}
#langFab button:not(.on):hover{background:rgba(33,38,44,.08);color:var(--ink)}
@media(max-width:900px){#langFab{right:14px;bottom:14px}#langFab button{width:42px;height:42px}#langFab:hover button:not(.on),#langFab:focus-within button:not(.on){height:42px}}

/* mapa plano de presencia */
#global .sec-head .side{max-width:380px}
.paises{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pais-chip{display:inline-flex;align-items:center;gap:12px;padding:11px 20px;border-radius:999px;border:1px solid rgba(33,38,44,.14);background:#fff;cursor:pointer;transition:all .5s var(--ease)}
.pais-chip:hover,.pais-chip.on{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(33,38,44,.35);border-color:rgba(146,107,68,.5)}
.pais-chip.on .n{color:var(--gold)}
.pais-chip .flag{width:30px;height:30px;border-radius:50%;flex:0 0 auto;box-shadow:0 2px 6px rgba(33,38,44,.18)}
.pais-chip.online .flag{width:auto;height:auto;box-shadow:none;font-size:24px;border-radius:0}
.pais-chip .n{font-family:'Helvetica Neue',Helvetica,'Inter',Arial,sans-serif;font-size:15px;color:var(--ink)}
.pais-chip .c{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700}
.pais-chip.online{border-style:dashed;border-color:rgba(146,107,68,.45)}
.pais-chip.online:hover{border-style:solid}

.map-wrap{position:relative;aspect-ratio:2/1;margin-top:30px;user-select:none}
.map-wrap img{width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#fff 8%,#fff 92%,transparent);mask-image:linear-gradient(to bottom,transparent,#fff 8%,#fff 92%,transparent)}
#mapSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#mapSvg .arc{fill:none;stroke:url(#riuArcGrad);stroke-width:1.1}
#mapSvg .city{fill:var(--gold)}

/* ===== La Red · bento oscuro ===== */
#red{background:#fff;color:var(--ink);padding:clamp(100px,12vw,170px) 0}
.rb-link{margin-top:2px;font-size:13.5px;font-weight:700;color:var(--gold);letter-spacing:.04em;transition:color .4s}
.rb-link:hover{color:var(--ink)}
@media(max-width:900px){
    .b1,.b2,.b3,.b4,}

#global #global{position:relative}

/* noticias: tarjeta auto-layout + minis */
.news-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:start}
.news-feat{position:relative;background:transparent;border:none;border-radius:0;padding:0;overflow:visible;width:100%}



.news-feat.s3{max-width:100%;height:auto}
.news-feat .im{position:relative;border-radius:20px;overflow:hidden;height:420px}


.news-feat .im img{width:100%;height:100%;object-fit:cover;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.news-feat .tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:5px 12px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);z-index:2}
.stephint{position:absolute;top:22px;right:22px;z-index:3;background:rgba(42,51,58,.75);backdrop-filter:blur(6px);color:#fff;border-radius:999px;padding:6px 13px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;pointer-events:none;transition:opacity .4s}
.news-feat.s3 .stephint{opacity:0}
.news-feat .tx{display:flex;flex-direction:column;gap:14px;padding:24px 0 0}
.news-feat.s3 .tx{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:40px}
.news-feat h3{font-size:19px;font-weight:500;line-height:1.35;color:var(--ink);max-width:560px}
.news-feat .meta{display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--ink-soft)}
.news-feat.s2 .meta,.news-feat.s3 .meta{flex-direction:column}
.news-feat.s3 .meta{max-width:300px;flex:0 0 auto}
.news-feat .more{font-size:13px;font-weight:700;color:var(--espresso);letter-spacing:.04em}
.fan{position:static;display:flex;justify-content:flex-start;gap:18px;margin-top:30px;opacity:1;transform:none;pointer-events:none}

.fan img{width:31%;height:210px;object-fit:cover;border-radius:14px;box-shadow:0 24px 45px -22px rgba(33,38,44,.35)}
.fan img:nth-child(1){transform:rotate(-6deg) translateY(12px)}
.fan img:nth-child(3){transform:rotate(6deg) translateY(12px)}
.news-side{display:flex;flex-direction:column;gap:12px}
.news-mini{display:flex;gap:16px;align-items:flex-start;background:transparent;border:none;border-radius:0;padding:18px 0;border-bottom:1px solid rgba(33,38,44,.12);width:100%}
.news-mini:hover h4{color:var(--gold)}
.news-mini h4{transition:color .4s var(--ease)}
.news-side .news-mini:first-child{padding-top:4px}
.news-mini img{width:104px;height:88px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.news-mini .tag2{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:5px}
.news-mini h4{font-size:14px;font-weight:600;color:var(--ink);line-height:1.4}
.news-note{font-size:12px;color:var(--ink-soft);font-style:italic;padding:4px 6px}
@media(max-width:900px){
  .news-wrap{grid-template-columns:1fr}
  .news-feat.s1,.news-feat.s2{max-width:100%}
  .news-feat.s3{height:auto}
  .fan{display:none}
  .news-feat.s3 .tx{flex-direction:column;gap:14px}
}

.news-side-col{display:flex;flex-direction:column;gap:12px}
.news-feat .tx h3,.news-feat .meta{transition:opacity .3s var(--ease),transform .3s var(--ease)}
.news-feat.fading .tx h3,.news-feat.fading .meta,.news-feat.fading .im img{opacity:0;transform:translateY(8px)}
.news-mini{cursor:pointer;text-align:left}
@media(max-width:900px){.news-feat.s3{height:auto;padding-bottom:14px}}

/* panel de universidades sobre el mapa */
.uni-panel{position:absolute;top:0;right:0;bottom:0;width:min(370px,34%);display:flex;flex-direction:column;gap:10px;padding:8px 4px}
.rail-count{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;padding:2px 6px}
.uni-list{flex:1;overflow-y:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 94%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 94%,transparent);padding:6px 6px 18px}
.uni-list::-webkit-scrollbar{display:none}
.uni{display:flex;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(33,38,44,.1);transition:opacity .4s var(--ease)}
.uni:last-child{border-bottom:none}
.uni img{width:84px;height:66px;border-radius:12px;object-fit:cover;flex:0 0 auto;transition:transform .5s var(--ease)}
.uni:hover img{transform:scale(1.06)}
.uni h3{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--ink);transition:color .4s}
.uni:hover h3{color:var(--gold)}
.uni span{display:block;font-size:12px;color:var(--ink-soft);margin-top:3px}
.uni.hide{display:none}
@media(max-width:900px){
  .uni-panel{position:static;width:100%;padding:14px 0 0}
  .uni-list{max-height:380px;padding:0}
  .map-wrap{aspect-ratio:auto}
  .map-wrap>img{aspect-ratio:2/1;object-fit:cover}
  #mapSvg{height:auto;aspect-ratio:2/1}
}

/* La Red · abierto estilo reporte */
.red-close{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;text-align:left}
.red-close p{font-size:15.5px;color:var(--ink-soft);max-width:520px}
.avs{display:flex}
.avs img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-10px}
.avs img:first-child{margin-left:0}
@media(max-width:900px){
    }


.uni .mini-flag,.mini-flag{width:14px !important;height:14px !important;border-radius:50% !important;vertical-align:-2px;display:inline-block;box-shadow:none}

/* La Red v3 · inspo abierto */
#red{position:relative;overflow:hidden}
#red .wrap{position:relative;z-index:2}
.red-deco{position:absolute;pointer-events:none;z-index:1;height:auto}
.red-deco.d2{width:64px;top:64px;right:48px;opacity:.25}

.red-top{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,70px);align-items:start;margin-bottom:clamp(34px,4vw,54px)}
.red-top h2{font-size:clamp(28px,3.3vw,44px);font-weight:600;line-height:1.16;margin-top:22px;letter-spacing:-.025em;color:var(--ink)}
.red-top h2 em{font-style:normal;color:var(--gold)}
.rh-minis{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,34px);padding-top:58px}
.mini .mi-ic{width:32px;height:32px;border-radius:10px;background:rgba(146,107,68,.1);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:12px}
.mini .mi-ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mini b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:8px}
.mini p{font-size:13.5px;color:var(--ink-soft);line-height:1.62}
.red-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:16px;margin-bottom:clamp(40px,5vw,58px)}
.rg-photo{position:relative;border-radius:26px;overflow:hidden;min-height:430px}
.rg-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.rg-photo:hover img{transform:scale(1.04)}
.rg-cap{position:absolute;left:0;right:0;bottom:0;padding:30px 28px 26px;background:linear-gradient(to top,rgba(35,43,49,.92),rgba(35,43,49,.4) 70%,transparent);color:#fff}
.rg-cap span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--tan);font-weight:700}
.rg-cap p{font-size:clamp(16px,1.3vw,18.5px);font-weight:500;line-height:1.45;margin-top:10px;max-width:520px;color:#fff}
.rg-tiles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
.tile{background:#F4F4F2;border-radius:22px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;min-height:205px;transition:transform .5s var(--ease)}
.tile:hover{transform:translateY(-4px)}
.tile .tl{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.tile b{font-size:clamp(56px,5.2vw,84px);font-weight:600;line-height:1;color:var(--ink);letter-spacing:-.025em;display:block}
.tile .ts{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:8px;display:block}
.tile.photo{padding:0;overflow:hidden}
.tile.photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .red-top,.red-grid{grid-template-columns:1fr}
  .rh-minis{padding-top:0}
  .rg-photo{min-height:320px}
  .red-deco.d2{display:none}
}


/* nav item activo */
#nav .links a.act{color:var(--ink)}
#nav .links a.act::after{transform:scaleX(1)}


/* ===== SUBPÁGINAS COMPARTIDO ===== */
.page-hero{position:relative;min-height:64vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.page-hero .bg{position:absolute;inset:0}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;animation:kb 18s var(--ease) infinite alternate;transform-origin:60% 40%}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(35,43,49,.9),rgba(35,43,49,.35) 55%,rgba(35,43,49,.3))}
.page-hero .ph-inner{position:relative;z-index:2;width:100%;padding:150px 0 70px}
.page-hero .eyebrow{border-color:rgba(255,255,255,.4);color:var(--tan)}
.page-hero .eyebrow::before{background:var(--tan)}
.page-hero h1{font-size:clamp(38px,5.6vw,74px);font-weight:600;letter-spacing:-.025em;margin:22px 0 0;color:#fff}
.page-hero .sub{max-width:640px;font-size:clamp(15px,1.35vw,18px);color:rgba(255,255,255,.88);margin-top:20px}
.lite-hero{padding:clamp(170px,18vw,220px) 0 clamp(40px,5vw,64px);border-bottom:1px solid rgba(33,38,44,.1)}
.lite-hero h1{font-size:clamp(38px,5.4vw,70px);letter-spacing:-.025em;margin-top:22px}
.lite-hero .sub{max-width:620px;font-size:clamp(15px,1.35vw,18px);color:var(--ink-soft);margin-top:18px}
.pg-cta{background:var(--cream2);border-top:1px solid rgba(33,38,44,.08);padding:clamp(60px,7vw,90px) 0;text-align:center;position:relative;overflow:hidden}
.pg-cta h2{font-size:clamp(24px,2.8vw,38px);font-weight:600;max-width:720px;margin:0 auto 26px}
.pg-cta .deco{position:absolute;width:60px;top:40px;right:48px;opacity:.25}
.pp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 24px}
.pp .im{border-radius:18px;overflow:hidden;aspect-ratio:.86;margin-bottom:16px;background:var(--cream2)}
.pp .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.pp:hover .im img{transform:scale(1.05)}
.pp h3{font-size:16.5px;font-weight:600;line-height:1.3}
.pp .r1{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:8px 0 5px}
.pp .r2{display:block;font-size:13px;color:var(--ink-soft);line-height:1.5}
.sec-rule{border-top:1px solid rgba(33,38,44,.14);padding-top:26px}
@media(max-width:1080px){.pp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.pp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.pp-grid{grid-template-columns:1fr 1fr;gap:22px 14px}.pp h3{font-size:14px}}

/* fix: el subtítulo de los heros de subpáginas no debe heredar el .sub del dropdown del nav */
.page-hero p.sub,.lite-hero p.sub{position:static;visibility:visible;transform:none;width:auto;background:none;border:none;box-shadow:none;padding:0;display:block;backdrop-filter:none;-webkit-backdrop-filter:none;grid-template-columns:none;left:auto;top:auto}


/* ===== PASE TIPOGRAFICO T1 — cuerpos más grandes (ref: historia de Nosotros 15-17px) ===== */
.mini .mi-ic{width:42px;height:42px;border-radius:12px}
.mini .mi-ic svg{width:20px;height:20px}
.mini b{font-size:16.5px}
.mini p{font-size:15.5px}
.tile .tl{font-size:11.5px}
.tile .ts{font-size:13px}
.red-close p{font-size:17.5px}
.rb-link{font-size:15px}
.lin h3{font-size:19.5px}
.lin p{font-size:15.5px}
.lin .num{font-size:11.5px}
.sec-head .side{font-size:17px}
#global .lead{font-size:18px}
.pais-chip .n{font-size:16px}
.uni h3{font-size:15.5px}
.uni span{font-size:13px}
.news p{font-size:15.5px}
.news h3{font-size:19px}
.news-mini h4{font-size:15.5px}
.news-feat h3{font-size:20px}
.news-feat .meta{font-size:15px}
.rg-cap p{font-size:clamp(17px,1.4vw,20px)}
#news-cta p{font-size:16.5px}
.pp h3{font-size:17.5px}
.pp .r2{font-size:14.5px}
.pp .r1{font-size:11px}
.ev-mid .pl,.rf-mid .by~p,.rf-mid p{font-size:15.5px}
.cl .ct{font-size:14.5px}
.cl h3{font-size:19.5px}
.nw h3{font-size:18px}


/* ===== PASE ESPACIADO T2 — menos aire entre hero y primera sección ===== */
.lite-hero{padding-bottom:clamp(32px,4vw,48px)}

/* ===== Aviso de privacidad — modal emergente ===== */
.pv-ov{position:fixed;inset:0;z-index:10000;background:rgba(20,22,26,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .3s ease;overscroll-behavior:contain}
.pv-ov.open{opacity:1;visibility:visible}
.pv-modal{background:var(--cream,#fdfcf9);color:var(--ink,#21262c);width:min(720px,100%);max-height:86vh;border-radius:18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);display:flex;flex-direction:column;transform:translateY(14px) scale(.98);transition:transform .3s ease}
.pv-ov.open .pv-modal{transform:none}
.pv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 14px;border-bottom:1px solid rgba(33,38,44,.1)}
.pv-head h2{font-size:clamp(17px,2.1vw,22px);font-weight:600;letter-spacing:-.01em;line-height:1.28;margin:0}
.pv-x{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid rgba(33,38,44,.18);background:transparent;color:var(--ink,#21262c);font-size:19px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.pv-x:hover{background:var(--ink,#21262c);color:#fff;border-color:var(--ink,#21262c)}
.pv-body{padding:18px 28px 28px;overflow-y:auto}
.pv-body h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lc,#81601E);font-weight:700;margin:20px 0 10px}
.pv-body p{font-size:14.5px;line-height:1.75;color:var(--ink-soft,#4b5158);margin:0 0 14px}
.pv-body a{color:var(--ink,#21262c);text-decoration:underline}
body.pv-lock{overflow:hidden}
@media(max-width:600px){.pv-modal{max-height:92vh}.pv-head{padding:20px 18px 12px}.pv-body{padding:14px 18px 22px}}

/* ===== Contacto — formulario en modal (reusa el shell .pv-*) ===== */
.cf-intro{font-size:14.5px;line-height:1.65;color:var(--ink-soft,#4b5158);margin:0 0 4px}
.cf-form{display:flex;flex-direction:column;gap:14px;padding:20px 28px 26px}
.cf-field{display:flex;flex-direction:column;gap:6px}
.cf-field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--lc,#81601E)}
.cf-field input,.cf-field textarea{font-family:inherit;font-size:15px;color:var(--ink,#21262c);background:#fff;border:1px solid rgba(33,38,44,.2);border-radius:10px;padding:12px 14px;width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--lc,#81601E);box-shadow:0 0 0 3px rgba(129,96,30,.12)}
.cf-field textarea{min-height:120px;resize:vertical}
.cf-msg{font-size:14px;min-height:18px;margin:2px 0 0}
.cf-msg.ok{color:#2b7a3d}
.cf-msg.err{color:#b3261e}
.cf-submit{align-self:flex-start;margin-top:2px}
.cf-submit[disabled]{opacity:.6;cursor:default}
@media(max-width:600px){.cf-form{padding:16px 18px 22px}}
