/* Oferta académica: una lectura editorial con el lenguaje visual de ISPS. */
.nc-page { color:var(--isps-texto); font-family:var(--isps-font-primary); overflow:hidden; }
.nc-page * { box-sizing:border-box; }
.nc-wrap { width:min(1200px,calc(100% - 48px)); margin:0 auto; }
.nc-section { padding:110px 0; }
.nc-page #formacion, .nc-page #plan { scroll-margin-top:90px; }
.nc-page h2 { color:var(--isps-navy); font-size:clamp(2rem,3.6vw,3.35rem); line-height:1.16; letter-spacing:-.035em; font-weight:800; margin:0 0 24px; }
.nc-page h2 em { color:var(--isps-blue); font-style:normal; }
.nc-kicker,.nc-label { display:inline-flex; align-items:center; gap:10px; font-size:.72rem; letter-spacing:.12em; font-weight:800; color:var(--isps-blue); margin-bottom:18px; }
.nc-label span { display:inline-grid; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--isps-blue); color:#fff; font-size:.62rem; letter-spacing:0; }
.nc-kicker { color:var(--isps-yellow); }
.nc-button { display:inline-flex; align-items:center; justify-content:center; gap:11px; background:var(--isps-yellow); color:var(--isps-navy); text-decoration:none; border:2px solid var(--isps-yellow); border-radius:12px; padding:15px 23px; font-weight:800; transition:transform .2s,box-shadow .2s; }
.nc-button:hover,.nc-button:focus-visible { color:var(--isps-navy); transform:translateY(-3px); box-shadow:0 10px 24px rgba(245,158,11,.25); }
.nc-button-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.nc-button-outline:hover,.nc-button-outline:focus-visible { color:#fff; box-shadow:none; border-color:#fff; }

/* Hero and four quick facts */
.nc-hero { position:relative; background:radial-gradient(circle at 72% 28%,#1c326d 0,transparent 32%),linear-gradient(125deg,#0b1326 0%,#111e3e 100%); color:#fff; padding:90px 0 110px; }
.nc-hero:before { content:''; position:absolute; width:420px; height:420px; border:1px solid rgba(255,255,255,.09); border-radius:50%; left:-250px; top:-180px; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.025); }
.nc-hero-grid { position:relative; display:grid; grid-template-columns:1.02fr .98fr; gap:68px; align-items:center; }
.nc-hero .nc-kicker { border:1px solid rgba(245,158,11,.4); border-radius:99px; padding:9px 14px; background:rgba(245,158,11,.08); }
.nc-hero h1 { color:#fff; font-size:clamp(2.6rem,5vw,4.55rem); line-height:1.05; letter-spacing:-.045em; margin:4px 0 22px; font-weight:800; }
.nc-hero-title { font-size:1.12rem; font-weight:700; }
.nc-hero p { line-height:1.7; color:#e2e8f0; }
.nc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.nc-hero-image { position:relative; padding:0 0 22px 22px; }
.nc-hero-image:before { content:''; position:absolute; inset:22px 22px 0 0; border:1px solid rgba(245,158,11,.65); border-radius:28px; }
.nc-hero-image img { position:relative; width:100%; height:400px; object-fit:cover; border-radius:26px; display:block; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.nc-hero-image-label { position:absolute; right:-16px; bottom:0; background:#fff; color:var(--isps-blue); box-shadow:0 15px 40px rgba(0,0,0,.2); border-radius:14px; padding:15px 18px 15px 49px; font-size:.58rem; letter-spacing:.08em; font-weight:800; }
.nc-hero-image-label i { position:absolute; left:17px; top:19px; font-size:1.25rem; color:var(--isps-yellow); }
.nc-hero-image-label strong { color:var(--isps-navy); display:block; font-size:.82rem; letter-spacing:0; margin-top:3px; }
.nc-facts { position:relative; z-index:1; margin-top:-42px; }
.nc-facts-grid { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border:1px solid #e4eaf4; border-radius:20px; box-shadow:0 20px 45px rgba(15,23,42,.13); padding:25px 12px; }
.nc-facts-grid>div { display:flex; gap:13px; align-items:center; padding:4px 20px; border-right:1px solid #e6ebf3; }
.nc-facts-grid>div:last-child { border:0; }
.nc-facts i { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:12px; background:#eef2fd; color:var(--isps-blue); font-size:1.05rem; }
.nc-facts span { color:#69778b; font-size:.7rem; font-weight:600; }
.nc-facts strong { display:block; color:var(--isps-navy); font-size:.91rem; margin-top:2px; }

/* Introduction: photograph, caption and substantial institutional copy */
.nc-intro-section { padding-top:115px; }
.nc-intro { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(48px,7vw,100px); align-items:center; }
.nc-intro-visual { position:relative; padding:22px 24px 35px 0; }
.nc-intro-visual:before { content:''; position:absolute; left:-40px; top:-10px; width:145px; height:145px; background-image:radial-gradient(#9fb3e5 1.5px,transparent 1.5px); background-size:12px 12px; opacity:.65; }
.nc-intro-photo { position:relative; border-radius:22px 80px 22px 22px; overflow:hidden; box-shadow:0 25px 55px rgba(15,23,42,.15); background:#e8edf5; }
.nc-intro-photo img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; object-position:center; }
.nc-intro-orbit { position:absolute; right:-5px; top:0; width:120px; height:120px; border:2px solid var(--isps-yellow); border-radius:50%; z-index:-1; }
.nc-photo-note { position:absolute; bottom:7px; right:0; display:flex; align-items:center; gap:13px; background:var(--isps-blue); color:#e4ebff; padding:18px 22px; border-radius:15px; box-shadow:0 16px 35px rgba(57,92,184,.3); font-size:.61rem; font-weight:700; letter-spacing:.1em; }
.nc-photo-note-icon { display:grid; place-items:center; flex:0 0 43px; height:43px; background:rgba(255,255,255,.16); border-radius:12px; color:#fff; font-size:1.2rem; }
.nc-photo-note strong { display:block; font-size:.94rem; letter-spacing:0; color:#fff; margin-top:4px; }
.nc-intro-rule { height:4px; width:65px; background:var(--isps-yellow); border-radius:8px; margin-bottom:24px; }
.nc-copy p { color:#475569; font-size:.94rem; line-height:1.8; margin:0 0 15px; }
.nc-copy p:first-child { color:var(--isps-navy); font-weight:700; font-size:1.03rem; }
.nc-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--isps-blue); font-size:.88rem; font-weight:800; text-decoration:none; margin-top:10px; }
.nc-text-link i { display:grid; place-items:center; height:32px; width:32px; border:1px solid #c4d1f2; border-radius:50%; transition:transform .2s; }
.nc-text-link:hover i { transform:translateY(4px); }

/* Skills, areas of study and career settings */
.nc-skills-section { background:#eef3fc; position:relative; }
.nc-skills-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.nc-skills-heading { position:sticky; top:120px; }
.nc-skills-heading p,.nc-section-head p { color:#52627a; line-height:1.75; }
.nc-skills-graphic { width:180px; height:125px; margin-top:40px; display:flex; align-items:flex-end; gap:9px; position:relative; }
.nc-skills-graphic i { position:absolute; top:0; left:0; color:var(--isps-blue); font-size:1.5rem; }
.nc-skills-graphic span { width:42px; height:36%; border-radius:7px 7px 0 0; background:#c5d3f4; }
.nc-skills-graphic span:nth-of-type(2) { height:60%; background:#8da6e5; }.nc-skills-graphic span:nth-of-type(3) { height:85%; background:var(--isps-blue); }
.nc-skills-caption { color:var(--isps-blue); font-size:.73rem; font-weight:800; letter-spacing:.1em; margin:2px 0 15px; }
.nc-skills-list { list-style:none; padding:0; margin:0; border-top:1px solid #ced9ec; }
.nc-skills-list li { display:flex; align-items:baseline; gap:20px; padding:16px 0; border-bottom:1px solid #ced9ec; font-size:.95rem; line-height:1.6; font-weight:600; color:var(--isps-navy); }
.nc-skills-list li span { color:var(--isps-blue); font-size:.71rem; font-weight:800; flex:0 0 24px; }
.nc-learning { background:#f8fafc; }
.nc-section-head { display:grid; grid-template-columns:1fr .6fr; gap:70px; align-items:end; margin-bottom:38px; }
.nc-section-head h2 { margin-bottom:0; }.nc-section-head p { max-width:440px; margin:0 0 3px; font-size:.95rem; }
.nc-learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.nc-learning-card { background:#fff; border:1px solid #e1e8f2; border-radius:20px; padding:28px; box-shadow:0 10px 30px rgba(23,45,85,.04); transition:transform .2s,box-shadow .2s; }
.nc-learning-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(23,45,85,.1); }
.nc-card-top { display:flex; align-items:center; justify-content:space-between; }
.nc-card-icon { width:52px; height:52px; display:grid; place-items:center; background:#edf2ff; color:var(--isps-blue); border-radius:15px; font-size:1.22rem; }
.nc-card-number { color:#cad5e7; font-weight:800; font-size:.78rem; }
.nc-learning-card:nth-child(3n+2) .nc-card-icon { background:#fff4df; color:#a86500; }
.nc-learning-card:nth-child(3n) .nc-card-icon { background:#e5f6f0; color:#087858; }
.nc-learning-card h3 { color:var(--isps-navy); font-size:1.14rem; line-height:1.35; margin:22px 0 17px; }
.nc-learning-card ul { list-style:none; padding:0; margin:0; }.nc-learning-card li { position:relative; padding-left:15px; color:#516176; font-size:.84rem; line-height:1.65; margin:0 0 10px; }
.nc-learning-card li:before { content:''; position:absolute; top:.64em; left:0; width:5px; height:5px; background:var(--isps-yellow); border-radius:50%; }
.nc-opportunities { background:linear-gradient(135deg,#1c316f,#395cb8); color:#fff; position:relative; overflow:clip; padding-bottom:72px; }
.nc-opportunities:before { content:''; position:absolute; width:500px; height:500px; border-radius:50%; border:1px solid rgba(255,255,255,.08); left:-250px; bottom:0; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.025); }
.nc-opportunities-layout { position:relative; display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.nc-opportunities .nc-label { color:#b9caff; }.nc-opportunities .nc-label span { background:var(--isps-yellow); color:var(--isps-navy); }
.nc-opportunities h2 { color:#fff; }.nc-opportunities h2 em { color:var(--isps-yellow); }.nc-opportunities-heading p { color:#b9c6d9; line-height:1.7; }
.nc-opportunities-mark { margin-top:48px; width:94px; height:94px; border:1px solid rgba(255,255,255,.28); border-radius:50%; display:grid; place-items:center; font-size:1.8rem; color:var(--isps-yellow); }
.nc-opportunities-list { list-style:none; padding:0; margin:0; border-top:1px solid rgba(255,255,255,.18); }
.nc-opportunities-list li { display:grid; grid-template-columns:35px 1fr auto; gap:15px; align-items:center; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.nc-opportunities-list li span { color:#92a9db; font-size:.7rem; font-weight:800; }.nc-opportunities-list li strong { font-size:.94rem; line-height:1.5; color:#fff; }.nc-opportunities-list li i { color:var(--isps-yellow); font-size:.8rem; }
.nc-identity { background:#fff; }.nc-identity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; }
.nc-identity-card { border:1px solid #e1e8f2; border-radius:20px; padding:27px; background:#fff; }
.nc-identity-card:nth-child(2) { background:#f0f4ff; }.nc-identity-card:nth-child(4) { background:#fff8e9; }
.nc-identity-icon { color:var(--isps-blue); font-size:1.45rem; }.nc-identity-card h3 { color:var(--isps-navy); font-size:1.02rem; line-height:1.4; margin:22px 0 12px; }.nc-identity-card p { color:#52627a; line-height:1.7; font-size:.84rem; margin:0; }

/* Final call to action */
.nc-cta-section { background:#f7f9fd; }.nc-cta { position:relative; display:flex; justify-content:space-between; align-items:center; gap:40px; overflow:hidden; background:linear-gradient(110deg,#3155b2,#193377); border-radius:28px; padding:58px 65px; color:#fff; }
.nc-cta>div,.nc-cta>a { position:relative; z-index:1; }.nc-cta h2,.nc-cta h2 em { color:#fff; }.nc-cta h2 { max-width:640px; margin-bottom:14px; }.nc-cta p { margin:0; color:#e0e9ff; line-height:1.6; }.nc-cta .nc-button { flex-shrink:0; }.nc-cta-orbit { position:absolute; right:17%; width:330px; height:330px; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.04),0 0 0 110px rgba(255,255,255,.03); }

@media (max-width:900px) {
 .nc-hero-grid { gap:35px; }.nc-hero-image-label { right:0; }.nc-facts-grid { grid-template-columns:repeat(2,1fr); row-gap:22px; }.nc-facts-grid>div:nth-child(2) { border:0; }
 .nc-intro { gap:40px; }.nc-learning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.nc-identity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nc-opportunities-layout,.nc-skills-layout { gap:45px; }.nc-cta { padding:45px; }
}
@media (max-width:700px) {
 .nc-section { padding:72px 0; }.nc-opportunities { padding-bottom:48px; }.nc-hero { padding:62px 0 88px; }.nc-hero-grid,.nc-intro,.nc-section-head,.nc-skills-layout,.nc-opportunities-layout { grid-template-columns:1fr; gap:32px; }
 .nc-hero-image { max-width:560px; }.nc-hero-image img { height:300px; }.nc-intro-section { padding-top:85px; }.nc-intro-visual { max-width:560px; }
 .nc-section-head { margin-bottom:28px; }.nc-skills-heading { position:static; }.nc-skills-graphic { display:none; }.nc-opportunities-mark { display:none; }.nc-cta { flex-direction:column; align-items:flex-start; gap:26px; }
}
@media (max-width:520px) {
 .nc-wrap { width:calc(100% - 36px); }.nc-hero h1 { font-size:clamp(2.35rem,10vw,3.25rem); }.nc-hero-image img { height:250px; }.nc-hero-image-label { font-size:.53rem; }.nc-hero-image-label strong { font-size:.74rem; }
 .nc-facts-grid { padding:20px 8px; row-gap:20px; }.nc-facts-grid>div { padding:2px 9px; gap:9px; }.nc-facts i { flex-basis:35px; width:35px; height:35px; font-size:.9rem; }.nc-facts strong { font-size:.77rem; }.nc-facts span { font-size:.65rem; }
 .nc-photo-note { padding:13px; font-size:.55rem; }.nc-photo-note strong { font-size:.8rem; }.nc-learning-grid,.nc-identity-grid { grid-template-columns:1fr; }.nc-learning-card { padding:24px; }.nc-cta { padding:32px 25px; }.nc-cta .nc-button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .nc-page *, .nc-page *:before, .nc-page *:after { transition:none !important; scroll-behavior:auto !important; } }
