.academic-detail { --degree-ink:#193248; --degree-muted:#52657a; --degree-surface:#ffffff; --degree-border:#dce5eb; max-width:1200px; margin:0 auto; padding:1.5rem 0 2rem; color:var(--degree-ink); font-family:var(--font-grotesk); user-select:text; }
.academic-detail [hidden] { display:none !important; }
.degree-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:.75rem; color:var(--degree-muted); margin-bottom:30px; }
.degree-breadcrumb a { color:inherit; text-decoration:none; }
.degree-breadcrumb a:hover { color:var(--degree-accent); text-decoration:underline; }
.degree-hero { display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:center; }
.degree-eyebrow { display:block; color:var(--degree-accent); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; line-height:1.7; }
.degree-eyebrow span { margin:0 6px; }
.degree-hero h1 { font-family:var(--font-display); font-size:clamp(2.2rem,3.7vw,3.8rem); font-weight:700; line-height:1.07; letter-spacing:-.045em; margin:18px 0 22px; text-wrap:balance; }
.degree-intro { font-size:1rem; line-height:1.8; color:var(--degree-muted); }
.degree-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.degree-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:13px 18px; min-height:46px; border:1px solid var(--degree-border); border-radius:12px; font:600 .8rem var(--font-grotesk); cursor:pointer; text-decoration:none; transition:transform .2s,box-shadow .2s; text-align:center; }
.degree-button.primary { background:var(--degree-accent); border-color:var(--degree-accent); color:white; }
.degree-button.secondary { background:var(--degree-surface); color:var(--degree-ink); }
.degree-button:hover { transform:translateY(-2px); box-shadow:0 8px 22px #18304c15; }
.degree-visual { position:relative; min-height:440px; border-radius:26px; overflow:hidden; background:#233d3e; box-shadow:0 20px 55px #19324820; isolation:isolate; }
.degree-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.degree-visual-overlay { position:absolute; inset:0; background:linear-gradient(180deg,#152c2520 20%,#142c28df); }
.degree-visual-top { position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px; }
.degree-visual-top img { width:55px; height:55px; object-fit:contain; padding:8px; background:#ffffffed; border-radius:14px; }
.degree-visual-top>span { max-width:75%; padding:8px 12px; background:#ffffffec; color:#193248; border-radius:24px; font-size:.7rem; font-weight:700; }
.degree-visual-caption { position:absolute; bottom:32px; left:28px; right:28px; color:white; }
.degree-visual-caption>span { display:block; font-size:.6rem; letter-spacing:.17em; margin-bottom:12px; }
.degree-visual-caption strong { display:block; font:600 clamp(1.8rem,2.6vw,2.7rem)/1.12 var(--font-display); letter-spacing:-.025em; max-width:340px; }
.degree-facts { display:grid; grid-template-columns:.7fr 1fr 1.2fr; background:var(--degree-surface); border:1px solid var(--degree-border); border-radius:18px; margin:34px 0 24px; padding:22px 26px; gap:26px; }
.degree-facts>div+div { border-left:1px solid var(--degree-border); padding-left:26px; }
.degree-facts dt { font-size:.64rem; text-transform:uppercase; letter-spacing:.12em; color:var(--degree-muted); margin-bottom:8px; }
.degree-facts dd { font-size:.85rem; line-height:1.55; font-weight:600; }
.degree-section-nav { position:sticky; top:-1px; z-index:4; display:flex; gap:8px; flex-wrap:wrap; background:var(--degree-surface); border:1px solid var(--degree-border); border-radius:14px; padding:8px; box-shadow:0 6px 20px #19324808; }
.degree-section-nav button { border:0; background:transparent; color:var(--degree-muted); padding:12px 16px; border-radius:9px; min-height:44px; font:600 .78rem var(--font-grotesk); cursor:pointer; }
.degree-section-nav button:hover { background:#eaf0f3; color:var(--degree-accent); }
.degree-curriculum,.degree-specializations,.degree-profile,.degree-requirements { padding-top:60px; scroll-margin-top:85px; }
.degree-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:26px; }
.academic-detail h2 { font:600 clamp(1.8rem,3vw,2.65rem)/1.1 var(--font-display); letter-spacing:-.035em; margin-top:10px; }
.degree-section-heading>p { color:var(--degree-muted); font-size:.8rem; line-height:1.6; max-width:270px; }
.degree-plan-tools { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.degree-search { flex:1; min-width:220px; }
.degree-search>span { display:block; font-size:.75rem; font-weight:600; margin-bottom:8px; }
.degree-search input { width:100%; border:1px solid var(--degree-border); border-radius:12px; padding:14px 16px; background:var(--degree-surface); color:var(--degree-ink); font:400 .85rem var(--font-grotesk); }
.degree-search-status { color:var(--degree-muted); font-size:.72rem; margin:12px 0 20px; }
.degree-semester-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.degree-semester { background:var(--degree-surface); border:1px solid var(--degree-border); border-radius:18px; overflow:hidden; }
.degree-semester summary { display:flex; align-items:center; gap:14px; padding:20px; list-style:none; cursor:pointer; min-height:90px; }
.degree-semester summary::-webkit-details-marker,.degree-specialization summary::-webkit-details-marker { display:none; }
.degree-semester-number { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; background:#eef3f4; color:var(--degree-accent); border-radius:12px; font:700 .9rem var(--font-display); }
.degree-semester summary strong { display:block; font-size:.85rem; line-height:1.4; }
.degree-semester summary small { display:block; margin-top:5px; color:var(--degree-muted); font-size:.68rem; }
.degree-semester-toggle { margin-left:auto; font-size:1.4rem; color:var(--degree-accent); transition:transform .2s; }
.degree-semester[open] .degree-semester-toggle { transform:rotate(45deg); }
.degree-semester ol { padding:0 22px 8px; list-style:none; counter-reset:subjects; }
.degree-semester li { counter-increment:subjects; display:flex; gap:12px; padding:14px 0; font-size:.78rem; line-height:1.6; border-top:1px solid var(--degree-border); }
.degree-semester li::before { content:counter(subjects,decimal-leading-zero); font-size:.62rem; color:var(--degree-accent); padding-top:4px; flex-shrink:0; font-weight:700; }
.degree-empty { padding:28px; border:1px dashed var(--degree-border); border-radius:16px; color:var(--degree-muted); }
.degree-pathways,.degree-specialization-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.degree-pathway,.degree-specialization { border:1px solid var(--degree-border); background:var(--degree-surface); border-radius:20px; padding:26px; color:var(--degree-ink); text-decoration:none; transition:transform .2s,box-shadow .2s; }
.degree-pathway:hover { transform:translateY(-5px); box-shadow:0 14px 30px #19324812; }
.degree-pathway-number { display:block; font:500 2.5rem var(--font-display); color:var(--degree-accent); opacity:.65; margin-bottom:30px; }
.degree-pathway h3,.degree-specialization h3 { font:600 1.2rem/1.3 var(--font-display); margin:12px 0; letter-spacing:-.02em; }
.degree-pathway p { font-size:.8rem; color:var(--degree-muted); margin-bottom:24px; }
.degree-pathway-link { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.74rem; font-weight:700; color:var(--degree-accent); margin-top:20px; }
.degree-specialization summary { cursor:pointer; list-style:none; }
.degree-tag { font-size:.62rem; font-weight:700; color:var(--degree-accent); text-transform:uppercase; letter-spacing:.08em; }
.degree-specialization p { color:var(--degree-muted); font-size:.78rem; line-height:1.75; margin-top:16px; }
.degree-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.degree-info-card { padding:28px; background:var(--degree-surface); border:1px solid var(--degree-border); border-radius:20px; }
.degree-info-card h3 { font:600 1.15rem var(--font-display); margin-bottom:14px; }
.degree-info-card p { color:var(--degree-muted); font-size:.85rem; line-height:1.8; margin-bottom:24px; }
.degree-list { list-style:none; padding:0; }
.degree-list li { position:relative; padding-left:18px; margin-top:13px; color:var(--degree-muted); font-size:.8rem; line-height:1.75; }
.degree-list li::before { content:''; position:absolute; left:0; top:.65em; width:5px; height:5px; border-radius:50%; background:var(--degree-accent); }
.degree-requirements { display:grid; grid-template-columns:1.35fr 1fr; gap:40px; }
.degree-note { font-size:.72rem; line-height:1.6; color:var(--degree-muted); margin-top:22px; }
.degree-contact-card { align-self:start; padding:32px; border:1px solid var(--degree-border); border-radius:22px; background:var(--degree-surface); }
.degree-contact-card h3 { font:600 1.9rem/1.1 var(--font-display); letter-spacing:-.035em; margin:14px 0 20px; }
.degree-contact-card p { color:var(--degree-muted); font-size:.8rem; margin-bottom:12px; }
.degree-contact-card>a:not(.degree-button) { display:block; color:var(--degree-accent); font-size:.82rem; padding:8px 0; text-decoration:none; overflow-wrap:anywhere; }
.degree-contact-card>.degree-button { margin-top:20px; width:100%; }
.degree-bottom-nav { display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; border-top:1px solid var(--degree-border); padding-top:26px; margin-top:48px; }
.degree-bottom-nav a,.degree-bottom-nav button { color:var(--degree-accent); text-decoration:none; font:600 .8rem var(--font-grotesk); border:0; background:transparent; cursor:pointer; min-height:44px; }
.academic-detail :is(a,button,input,summary):focus-visible { outline:3px solid var(--degree-accent); outline-offset:4px; }
.degree-will-reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }
.degree-will-reveal.degree-is-visible { opacity:1; transform:none; }
body:not(.theme-light) .academic-detail { --degree-ink:#ecf3f8; --degree-muted:#b7c7d5; --degree-surface:#14232c; --degree-border:#304552; --degree-accent:#a8d7c7 !important; }
body:not(.theme-light) .degree-semester-number { background:#263b45; }
body:not(.theme-light) .degree-button.primary { color:#14232c; }
.nav-dropdown:focus-within>.nav-dropdown-content { display:block; }
@media (min-width:901px) { .badass-nav:has(.nav-dropdown) { -webkit-mask-image:none; mask-image:none; } }
.nav-dropdown-content { min-width:min(360px,90vw); border-radius:16px; padding:10px; max-height:70vh; overflow-y:auto; }
.nav-dropdown-content a { min-height:44px; border-radius:9px; line-height:1.4; }
body.theme-light .nav-dropdown-content { background:#fffffffa; border-color:#dce5eb; box-shadow:0 16px 45px #19324820; }
body.theme-light .nav-dropdown-content a { color:#193248; }
body.theme-light .nav-dropdown-content a:hover { background:#eaf1f8; color:#214fa0; }
@media(max-width:900px) {
  .degree-hero { gap:24px; }
  .degree-visual { min-height:360px; }
  .degree-pathways,.degree-specialization-grid { grid-template-columns:1fr; }
  .degree-pathway-number { margin-bottom:16px; }
}
@media(max-width:650px) {
  .academic-detail { padding-top:0; }
  .degree-breadcrumb { font-size:.66rem; gap:7px; margin-bottom:24px; }
  .degree-hero,.degree-profile-grid,.degree-requirements { grid-template-columns:1fr; gap:24px; }
  .degree-hero h1 { font-size:2.25rem; }
  .degree-intro { font-size:.9rem; }
  .degree-visual { min-height:280px; }
  .degree-visual-caption strong { font-size:2rem; }
  .degree-facts { grid-template-columns:1fr; gap:16px; padding:20px; }
  .degree-facts>div+div { padding-left:0; border-left:0; border-top:1px solid var(--degree-border); padding-top:16px; }
  .degree-section-nav { gap:0; padding:4px; }
  .degree-section-nav button { font-size:.67rem; padding:10px 8px; flex:1; }
  .degree-section-heading { display:block; }
  .degree-section-heading>p { margin-top:14px; max-width:none; }
  .degree-semester-grid { grid-template-columns:1fr; }
  .degree-curriculum,.degree-specializations,.degree-profile,.degree-requirements { padding-top:40px; }
  .degree-search { min-width:0; width:100%; flex-basis:100%; }
  .degree-actions { flex-direction:column; }
  .degree-info-card,.degree-contact-card { padding:22px; }
  .academic-detail { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .academic-detail *, .academic-detail { animation:none !important; transition:none !important; scroll-behavior:auto !important; } .degree-will-reveal { opacity:1; transform:none; } }
/* Controles de los destinos académicos dentro del administrador. */
.admin-submenus {display:grid;gap:12px;margin-top:12px;padding-left:12px;border-left:2px solid #dce4ef;}
.admin-submenu-item {display:grid;gap:8px;padding:12px;background:#f4f7fb;border:1px solid #dce4ef;border-radius:10px;min-width:0;}
.admin-submenu-item label {display:grid;gap:5px;font-size:12px;color:#43536b;}
.admin-submenu-item button {padding:6px 10px;background:#fff;color:#243951;border:1px solid #dce4ef;border-radius:6px;cursor:pointer;}
.admin-submenu-item .admin-list-item-actions {flex-wrap:wrap;}
.degree-official-visual {margin:0;position:relative;padding:18px;background:var(--degree-surface);border:1px solid var(--degree-border);border-radius:26px;box-shadow:0 20px 55px #19324815;transform:rotate(1deg);}
.degree-official-visual>a {display:block;border-radius:14px;overflow:hidden;}
.degree-official-visual img {display:block;width:100%;height:auto;object-fit:contain;}
.degree-official-visual figcaption,.degree-art-credit {font-size:.7rem;color:var(--degree-muted);line-height:1.7;margin:14px 0 0;}
.degree-official-visual a,.degree-art-credit a {color:var(--degree-accent);}
.degree-pathway-art {display:block;width:100%;height:auto;max-height:240px;object-fit:contain;margin:0 0 20px;border-radius:12px;}
@media (max-width:650px) {.degree-official-visual {transform:none;padding:12px;}}
.academic-detail[data-program^="niv_"] .degree-semester-grid {grid-template-columns:1fr;}
.academic-detail[data-program^="niv_"] .degree-semester ol {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;}
.nav-dropdown-content .nav-dropdown {display:block;}
.nav-dropdown-content .nav-dropdown>.nav-dropdown-content {position:static;min-width:0;max-height:none;overflow:visible;margin:4px 0 8px 12px;padding:4px 8px;border-left:3px solid #b4c8df;box-shadow:none;display:none;}
.nav-dropdown-content .nav-dropdown:hover>.nav-dropdown-content,.nav-dropdown-content .nav-dropdown:focus-within>.nav-dropdown-content {display:block;}
.nav-dropdown-content .nav-dropdown>a::after {content:' ▾';}
.overlay-submenus .overlay-submenus {margin:6px 0 12px 14px;padding-left:10px;border-left:2px solid #b4c8df;}
@media(max-width:650px){.academic-detail[data-program^="niv_"] .degree-semester ol {grid-template-columns:1fr;}}
.academic-detail[data-program="niv_inicial"] {--degree-pastel:#f8e9f1;--degree-pastel-soft:#fff6fa;--degree-pastel-border:#e6c8d9;}
.academic-detail[data-program="niv_secundaria"] {--degree-pastel:#e6eefb;--degree-pastel-soft:#f4f7fe;--degree-pastel-border:#c8d8ef;}
.academic-detail[data-program="niv_mems"] {--degree-pastel:#e2f2e9;--degree-pastel-soft:#f2faf5;--degree-pastel-border:#bfdcca;}
.academic-detail[data-program^="niv_"] .degree-semester {background:var(--degree-pastel-soft);border-color:var(--degree-pastel-border);}
.academic-detail[data-program^="niv_"] .degree-semester summary {background:var(--degree-pastel);}
.academic-detail[data-program^="niv_"] .degree-semester li {border-color:var(--degree-pastel-border);}
.academic-detail[data-program^="niv_"] .degree-semester-number {background:#ffffffc9;}
.degree-plan-summary {padding:28px;margin:0 0 30px;background:var(--degree-pastel-soft);border:1px solid var(--degree-pastel-border);border-left:5px solid var(--degree-accent);border-radius:18px;}
.degree-plan-summary h3 {font:700 clamp(1.25rem,2vw,1.65rem)/1.3 var(--font-display);margin:10px 0 22px;color:var(--degree-ink);}
.degree-plan-numbers {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.degree-plan-numbers>div {display:flex;gap:14px;align-items:center;padding:18px;background:var(--degree-pastel);border-radius:12px;}
.degree-plan-numbers strong {font:700 2.6rem/1 var(--font-display);color:var(--degree-accent);}
.degree-plan-numbers span {font-size:.9rem;font-weight:700;line-height:1.5;}
.degree-plan-numbers small {display:block;font-size:.73rem;font-weight:400;color:var(--degree-muted);}
.degree-plan-explanation {font-size:1.05rem;line-height:1.8;color:var(--degree-ink);margin:24px 0 12px;max-width:unset;}
.degree-induction-caption {font-size:.88rem;line-height:1.7;margin-bottom:14px;}
.degree-plan-summary>a {font-size:.8rem;font-weight:600;color:var(--degree-accent);}
.academic-detail .degree-section-nav {top:var(--degree-sticky-top,20px);}
.academic-detail[data-program^="niv_"] .degree-curriculum {scroll-margin-top:190px;}
@media(max-width:650px){.degree-plan-summary {padding:20px;}.degree-plan-numbers {grid-template-columns:1fr;}.degree-plan-numbers>div {padding:14px;}.academic-detail[data-program^="niv_"] .degree-curriculum {scroll-margin-top:140px;}}
/* El tercer nivel ocupa una columna lateral y no desplaza las maestrías. */
@media(min-width:901px){
  #mainNavLeft>.nav-dropdown>.nav-dropdown-content:has(.nav-dropdown) {width:min(680px,calc(100vw - 180px));min-width:0;left:-60px;padding-right:10px;overflow:visible;max-height:none;}
  #mainNavLeft>.nav-dropdown>.nav-dropdown-content:has(.nav-dropdown)>a,
  #mainNavLeft>.nav-dropdown>.nav-dropdown-content:has(.nav-dropdown)>.nav-dropdown {width:50%;box-sizing:border-box;}
  #mainNavLeft>.nav-dropdown>.nav-dropdown-content>.nav-dropdown {position:static;}
  #mainNavLeft>.nav-dropdown>.nav-dropdown-content>.nav-dropdown>.nav-dropdown-content {position:absolute;top:10px;left:50%;width:calc(50% - 10px);box-sizing:border-box;margin:0;padding:8px;max-height:60vh;overflow-y:auto;background:#f1f5fb;border:1px solid #dce5eb;border-radius:12px;}
  #mainNavLeft>.nav-dropdown>.nav-dropdown-content>.nav-dropdown>a::after {content:' ›';}
}
#mainNavLeft>.nav-dropdown.menu-dismissed .nav-dropdown-content {display:none !important;}
.degree-section-nav {transition:background-color .2s,border-color .2s,box-shadow .2s;}
.degree-section-nav.degree-nav-pinned {background:#213c80;border-color:#213c80;box-shadow:0 7px 22px #13295538;}
.degree-section-nav.degree-nav-pinned button {color:#fff;}
.degree-section-nav.degree-nav-pinned button:hover,.degree-section-nav.degree-nav-pinned button:focus-visible {background:#ffffff24;color:#fff;}
@media(prefers-reduced-motion:reduce){.degree-section-nav {transition:none;}}

/* Logos sobre la imagen y títulos con Anime.js; nunca ocultos por defecto. */
.degree-title-word{display:inline-block;vertical-align:baseline;}
.degree-program-logo{position:absolute;z-index:2;top:96px;right:22px;width:clamp(132px,14vw,184px);aspect-ratio:1;border:0;padding:0;background:transparent;color:var(--degree-accent);cursor:pointer;perspective:600px;isolation:isolate;}
.degree-program-logo[hidden]{display:none!important;}
.degree-program-logo>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 18px #10243c30);pointer-events:none;}
.degree-logo-shape{fill:#fffffff2;stroke:currentColor;stroke-width:.8;}
.degree-logo-orbit{fill:none;stroke:currentColor;stroke-width:.8;stroke-dasharray:5 7;opacity:.35;transform-origin:50% 50%;}
.degree-program-logo>img{position:relative;display:block;width:72%;height:64%;margin:auto;object-fit:contain;padding:0;background:transparent;border-radius:8px;pointer-events:none;}
.degree-program-logo:focus-visible{outline:3px solid white;outline-offset:5px;border-radius:50%;}
.degree-program-logo.is-active .degree-logo-shape{stroke-width:1.3;}
.degree-official-visual>.degree-program-logo{top:24px;right:24px;width:clamp(100px,12vw,144px);}
@media(max-width:650px){.degree-program-logo{width:134px;top:88px;right:18px;}.degree-official-visual>.degree-program-logo{width:106px;right:16px;top:16px;}}
@media(prefers-reduced-motion:reduce){.degree-title-word,.degree-program-logo img{transform:none!important;opacity:1!important;}}
