/* ELIGE 307 — portada de bienvenida V1.5.0. Aislada del CSS de index.php. */
:root{color-scheme:light;--navy:#102f64;--ink:#0f294a;--blue:#1661ff;--blue-dark:#1353db;--orange:#ff6b08;--orange-hover:#e85b00;--violet:#7b32f4;--muted:#536786;--bg:#eef5ff;--card:#fff;--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:linear-gradient(180deg,#e7f1ff 0%,#f2f7ff 62%,#e9f2ff 100%);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--orange);outline-offset:4px;border-radius:9px}
.skip-link{position:absolute;top:-100px;left:12px;z-index:1000;background:#fff;color:var(--navy);padding:10px 18px;font-weight:700;border-radius:8px}
.skip-link:focus{top:12px}
.site-shell{max-width:1600px;min-height:100vh;margin-inline:auto;background:#f4f8ff;box-shadow:0 10px 55px rgba(18,62,128,.11)}
.site-header{height:104px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 clamp(22px,5vw,82px);position:relative;z-index:5;background:rgba(255,255,255,.97);border-bottom:1px solid #dfe9fa}
.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}
.brand img{width:70px;height:70px;object-fit:contain}
.brand strong{display:block;color:var(--navy);font-size:clamp(22px,2vw,35px);font-weight:850;letter-spacing:-1.2px;line-height:1.08}
.brand small{display:block;font-size:15px;color:#314b75;margin-top:3px;font-weight:500}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,42px);font-size:16px;font-weight:750;color:#17365f}
.site-nav>a:not(.nav-cta){padding:12px 2px;white-space:nowrap}
.site-nav>a:not(.nav-cta):hover{color:var(--blue)}
.site-nav .nav-current{color:var(--blue);border-bottom:3px solid var(--blue)}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;padding:17px 24px;border-radius:13px;background:var(--blue);color:white;box-shadow:0 9px 22px rgba(22,97,255,.18);transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--blue-dark);transform:translateY(-2px)}
.hero{isolation:isolate;position:relative;overflow:hidden;min-height:clamp(495px,37vw,630px);background:linear-gradient(105deg,#fbfdff,#deecff)}
.hero-photo{position:absolute;inset:0;z-index:-2;background-image:url('estudiantes-portada.webp?v=20261022-2');background-size:cover;background-position:center center;background-repeat:no-repeat}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(246,250,255,.96) 0%,rgba(241,247,255,.88) 22%,rgba(238,246,255,.52) 34%,rgba(238,246,255,.08) 53%,rgba(235,245,255,0) 66%)}
.hero-content{width:min(53%,750px);padding:clamp(54px,5.7vw,90px) 0 70px clamp(32px,5.4vw,88px);position:relative}
.hero-eyebrow{color:#113666;margin:0 0 24px;font-size:15px;font-weight:850;letter-spacing:3.4px}
.hero-eyebrow span{color:var(--orange)}
.hero h1{color:#0d2f68;font-size:clamp(54px,6.2vw,99px);line-height:1.02;margin:0;letter-spacing:-.055em;font-weight:900}
.hero h1 em{color:var(--orange);font-style:normal;white-space:nowrap}
.hero-description{max-width:600px;margin:24px 0 28px;color:#1a3a67;font-size:clamp(17px,1.5vw,25px);font-weight:550;line-height:1.46}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;max-width:650px}
.action{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:17px 22px;border-radius:14px;font-size:16px;font-weight:780;min-height:60px;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}
.action svg{display:block;width:23px;height:23px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.action-orange{background:var(--orange);color:#fff;box-shadow:0 12px 20px rgba(255,107,8,.2)}
.action-orange:hover{background:var(--orange-hover);transform:translateY(-2px)}
.action-light{background:#fff;color:#1456d6;border:1px solid #bed8ff;box-shadow:0 8px 18px rgba(29,75,141,.1)}
.action-light:hover{background:#edf5ff;transform:translateY(-2px)}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:26px clamp(30px,5.2vw,83px) 30px;background:linear-gradient(180deg,#eaf3ff,#f3f8ff)}
.feature{position:relative;overflow:hidden;padding:27px 28px 29px;border-radius:22px;background:#fff;border:1px solid #e6eeff;box-shadow:0 12px 26px rgba(32,83,146,.1);min-height:215px}
.feature::before{content:"";position:absolute;width:130px;height:100px;right:-55px;top:-45px;transform:rotate(35deg);border-radius:25px;background:var(--tint,#eef5ff)}
.feature-heading{position:relative;display:flex;align-items:center;gap:20px;min-height:75px}
.feature h2{font-size:clamp(18px,1.55vw,23px);letter-spacing:-.5px;color:#12305c;line-height:1.25;margin:0;font-weight:840}
.feature p{max-width:385px;margin:18px 0 0;color:#526681;font-size:16px;line-height:1.55}
.icon-square{flex:none;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:16px;background:var(--accent);color:#fff}
.icon-square svg{width:35px;height:35px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.feature-blue{--accent:#1268fa;--tint:#e7f1ff}
.feature-orange{--accent:#ff7207;--tint:#fff1e6}
.feature-violet{--accent:#7434f3;--tint:#f0e5ff}
.feature-violet .icon-square svg rect{fill:currentColor;stroke:none}
.site-footer{padding:18px clamp(30px,5.2vw,83px) 26px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f3f8ff;color:#657995;font-size:13px}
@media (max-width:1160px){
 .site-header{height:auto;min-height:88px;padding-block:12px}.brand img{width:58px;height:58px}.brand strong{font-size:27px}.site-nav{font-size:14px;gap:15px}.nav-cta{padding:13px 15px}
 .hero{min-height:550px}.hero-content{width:57%;padding:65px 0 45px 5vw}.hero h1{font-size:clamp(49px,7vw,74px)}.hero-description{font-size:18px}
 .hero-overlay{background:linear-gradient(90deg,rgba(246,250,255,.97) 0%,rgba(241,247,255,.91) 25%,rgba(240,247,255,.52) 45%,rgba(240,247,255,0) 74%)}
 .features{gap:14px;padding:22px}.feature{padding:22px 18px}.feature-heading{gap:12px}.icon-square{width:58px;height:58px}.feature p{font-size:14px}
}
@media (max-width:750px){
 .site-header{align-items:center;flex-wrap:wrap;gap:12px 18px;padding:15px 20px}.brand{gap:9px}.brand img{width:50px;height:50px}.brand strong{font-size:23px}.brand small{font-size:12px}
 .site-nav{width:100%;order:2;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}.site-nav .nav-cta{margin-left:auto}
 .hero{min-height:680px;display:flex;align-items:flex-start}.hero-photo{background-size:auto 76%;background-position:63% bottom}.hero-overlay{background:linear-gradient(180deg,#f3f9ff 2%,rgba(243,249,255,.98) 17%,rgba(243,249,255,.96) 26%,rgba(243,249,255,.25) 57%,rgba(243,249,255,0) 72%)}
 .hero-content{width:100%;padding:42px 24px 325px}.hero-eyebrow{font-size:11px;letter-spacing:2.2px;margin:0 0 14px}.hero h1{font-size:clamp(48px,11vw,72px)}.hero-description{max-width:480px;font-size:16px;margin:16px 0 20px}.hero-actions{gap:10px}.action{font-size:14px;padding:12px 14px;min-height:49px}
 .features{grid-template-columns:1fr;gap:14px;padding:20px}.feature{min-height:0;padding:20px}.feature h2{font-size:21px}.feature p{font-size:15px;margin-top:10px}.site-footer{padding:15px 20px 24px}
}
@media (max-width:480px){
 .site-header{padding:10px 16px}.site-nav{font-size:12px;justify-content:flex-start;gap:12px 18px}.site-nav .nav-cta{font-size:13px;width:100%;padding:13px 15px}
 .hero{min-height:665px}.hero-photo{background-size:auto 70%;background-position:60% bottom}.hero-content{padding:34px 17px 295px}
 .hero h1{font-size:clamp(46px,11vw,57px)}.hero-description{font-size:15px;max-width:350px}.hero-actions{flex-direction:column;align-items:stretch}.action{width:100%;min-height:48px}.features{padding:13px}.feature-heading{min-height:60px}.feature h2{font-size:19px}.feature p{font-size:14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media (min-width: 751px) {
  .hero-photo {
    background-size: auto 100%;
    background-position: right top;
  }
}
@media (min-width: 751px) {
  .hero {
    background: #f3f9ff;
  }

  .hero-photo {
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 30%, #000 55%);
mask-image: linear-gradient(to right, transparent 0%, transparent 30%, #000 55%);
  }
}
