/* Enhancements intentionally scoped away from the hero. */
.nb{min-height:48px;padding-block:2px;overflow:visible;line-height:1.28;white-space:nowrap}
.nb .brand-mark{width:44px;height:44px;display:inline-block;flex:0 0 44px;background:transparent url('/assets/impulso-libre-oficial.png') center 18%/220% auto no-repeat;filter:invert(1) brightness(1.16) drop-shadow(0 0 10px rgba(201,168,76,.22))}
.nb .brand-name{display:inline-block;padding:.12em 0 .18em;overflow:visible;line-height:1.24}
body .hero h1{margin-bottom:12px;padding:.06em 0 .16em;overflow:visible;line-height:.96}
body .hero h1 .au{display:inline-block;padding:.02em .02em .06em;overflow:visible}
.nb:focus-visible,.nl a:focus-visible,.ntg:focus-visible,.pt:focus-visible,.mbtn:focus-visible,.sm:focus-visible{outline:2px solid var(--gl);outline-offset:3px}
body.menu-open{overflow:hidden}
.view-section .sec>.si>h2{line-height:1.12;padding-bottom:.06em;overflow:visible}

/* Institutional presentation download: aligned with the 60% editorial statistic. */
#problema .sblk{position:relative}
#problema .presentation-download{position:absolute;inset-block:0;right:0;display:grid;width:268px;min-height:96px;height:max-content;grid-template-columns:minmax(0,1fr) 44px;gap:16px;align-items:center;margin-block:auto;padding:17px 16px 17px 19px;border:1px solid rgba(166,138,52,.5);border-radius:14px;background:var(--s);color:var(--t);text-align:left;text-decoration:none;box-shadow:0 0 0 1px rgba(201,168,76,.025);transition:border-color .24s ease,background-color .24s ease,box-shadow .24s ease}
#problema .presentation-download__copy{display:grid;gap:3px;min-width:0}
#problema .presentation-download__eyebrow{color:var(--g);font-size:.66rem;font-weight:750;line-height:1.35;letter-spacing:.105em;text-transform:uppercase}
#problema .presentation-download strong{color:var(--t);font-size:.94rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}
#problema .presentation-download small{color:var(--d);font-size:.75rem;font-weight:500;line-height:1.35}
#problema .presentation-download__mark{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(201,168,76,.38);border-radius:50%;background:var(--bg);color:var(--gl);font-size:1rem;line-height:1;transition:border-color .24s ease,background-color .24s ease,color .24s ease}
#problema .presentation-download:hover{border-color:var(--g);background:rgba(201,168,76,.035);box-shadow:0 0 24px rgba(201,168,76,.065)}
#problema .presentation-download:hover .presentation-download__mark{border-color:var(--gl);background:rgba(201,168,76,.065);color:var(--t)}
#problema .presentation-download:focus-visible{outline:2px solid var(--gl);outline-offset:4px;border-color:var(--g)}
#problema .presentation-download:active{border-color:var(--gl);background:rgba(201,168,76,.055)}
@media(max-width:1100px){
  #problema .presentation-download{position:relative;inset:auto;width:min(100%,360px);margin:28px auto 0}
}
@media(max-width:640px){
  #problema .presentation-download{width:100%;min-height:92px;margin-top:24px;padding:15px 14px 15px 17px}
  #problema .presentation-download__eyebrow{font-size:.64rem}
}
.webgl-fallback::before{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(201,168,76,.11),transparent 48%),radial-gradient(ellipse at 52% 58%,rgba(166,138,52,.08),transparent 64%);content:'';pointer-events:none}
#planes .pt{min-height:44px;font-family:inherit}
.nl a{display:inline-flex;min-width:44px;min-height:44px;align-items:center}
.ncta{justify-content:center}
.vt-btn{min-height:44px}
#como .cab{width:44px;height:44px}
#como .cds{min-height:44px;align-items:center;margin-top:4px}
#como .cdt,#como .cdt.on{position:relative;width:44px;height:44px;background:transparent}
#como .cdt::after{position:absolute;top:50%;left:50%;width:20px;height:3px;border-radius:2px;background:var(--b);content:'';transform:translate(-50%,-50%);transition:width .3s ease,background-color .3s ease}
#como .cdt.on::after{width:32px;background:var(--g)}
@media(max-width:768px){
  .ntg{width:44px;height:44px;padding:8px}
  .nl{padding:84px 24px 32px;overflow-y:auto}
  .nl a{width:min(100%,320px);min-width:44px;min-height:52px;justify-content:center;padding:0 12px;text-align:center}
}

/* Keep the audience selector in the document flow on touch layouts. */
@media(max-width:1024px){
  body .view-toggle-wrap{position:relative;top:auto;z-index:10;padding:40px 20px 0;background:var(--bg)}
}
@media(max-width:640px){
  body .view-toggle-wrap{padding:32px 18px 0}
  body .view-toggle{display:grid;width:min(100%,360px);grid-template-columns:repeat(2,minmax(0,1fr))}
  body .vt-btn{width:100%;padding:11px 10px;white-space:normal}
}

/* Curriculum: same hierarchy, now a readable academic map. */
#planes .pth{padding:48px 28px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}
#planes .pmt{display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));gap:1px;max-width:680px;margin:28px auto 0;background:var(--b);border:1px solid var(--b);border-radius:14px;overflow:hidden}
#planes .pmt i{min-width:0;padding:16px 12px;background:var(--s)}
#planes .pmt .v{display:block;font-size:1.05rem;color:var(--t);letter-spacing:-.02em}
#planes .pmt .l{display:block;margin-top:4px;line-height:1.35}
#planes .mbtn{display:flex;align-items:center;justify-content:center;gap:10px;padding:17px}
#planes .mbtn::after{content:'↓';color:var(--g);font-size:1rem;transition:transform .3s ease}
#planes .mbtn.open::after{transform:rotate(180deg)}
#planes .mc{margin-top:12px;border-radius:18px;background:rgba(255,255,255,.012)}
#planes .mc.open{max-height:4400px;overflow:visible}
#planes .sg{grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;padding:16px;margin-top:0;align-items:start}
#planes .scol{text-align:left;border:1px solid var(--b);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.006))}
#planes .scol h6{padding:14px 14px 12px;margin:0;color:var(--g);background:rgba(201,168,76,.055);border-bottom:1px solid rgba(201,168,76,.09);font-size:.75rem;letter-spacing:.14em}
#planes .sm{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid rgba(255,255,255,.035);border-radius:0;background:transparent;color:var(--d);font:inherit;font-size:.875rem;line-height:1.35;padding:11px 14px;text-align:left;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}
#planes .sm:last-child{border-bottom:0}
#planes .sm:hover{background:rgba(201,168,76,.09);color:var(--t);transform:translateX(3px)}
#planes .sm small{display:block;color:rgba(201,168,76,.65);font-size:.52rem;letter-spacing:.06em;text-transform:uppercase;margin-top:3px;opacity:0;transition:opacity .2s ease}
#planes .sm:hover small{opacity:1}
@media(max-width:900px) and (min-width:641px){
  #planes .sg{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Student journey: narrative progression without transforming text-bearing layers. */
#recorrido .tw{--journey-light-y:0px;--journey-light-opacity:0;max-width:760px;isolation:isolate;perspective:none!important;transform:none!important;filter:none!important}
#recorrido .tw::after{content:'';position:absolute;z-index:1;left:50px;top:var(--journey-light-y);width:2px;height:42px;margin-top:-21px;background:var(--gl);box-shadow:0 0 12px rgba(228,199,108,.42),0 0 28px rgba(201,168,76,.18);opacity:var(--journey-light-opacity);pointer-events:none;transition:opacity .55s cubic-bezier(.22,1,.36,1)}
#recorrido .tl,#recorrido .tf{left:50px;width:1px}
#recorrido .tl{background:rgba(166,138,52,.24)}
#recorrido .tf{z-index:1;background:var(--g);box-shadow:0 0 14px rgba(201,168,76,.14);transition:none}
#recorrido .ts{z-index:2;padding:20px 22px;margin-bottom:16px;border:1px solid rgba(255,255,255,.055);border-radius:18px;gap:22px;opacity:1!important;transform:none!important;filter:none!important;background:rgba(255,255,255,.012);backface-visibility:visible;will-change:auto;box-shadow:0 14px 38px rgba(0,0,0,.12);transition:border-color .72s cubic-bezier(.22,1,.36,1),background-color .72s cubic-bezier(.22,1,.36,1),box-shadow .9s cubic-bezier(.22,1,.36,1)}
#recorrido .ts::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(201,168,76,.035);opacity:.12;pointer-events:none;transition:opacity .8s cubic-bezier(.22,1,.36,1)}
#recorrido .ts.visible{opacity:1!important;transform:none!important;filter:none!important}
#recorrido .ts.is-complete{border-color:rgba(201,168,76,.16);background:rgba(201,168,76,.018)}
#recorrido .ts.is-complete::after{opacity:.32}
#recorrido .ts.is-current{border-color:rgba(201,168,76,.38);background:rgba(201,168,76,.052);box-shadow:0 20px 52px rgba(0,0,0,.24),inset 0 0 0 1px rgba(201,168,76,.04)}
#recorrido .ts.is-current::after{opacity:1}
#recorrido .ts .td{width:56px;height:56px;transform:none!important;filter:none!important;transition:color .55s cubic-bezier(.22,1,.36,1),background-color .7s cubic-bezier(.22,1,.36,1),border-color .7s cubic-bezier(.22,1,.36,1),box-shadow .85s cubic-bezier(.22,1,.36,1)}
#recorrido .ts.is-complete .td{background:var(--gd);border-color:var(--gd);color:#000;box-shadow:0 0 20px rgba(201,168,76,.16)}
#recorrido .ts.is-current .td{background:var(--g);border-color:var(--gl);color:#000;box-shadow:0 0 24px rgba(201,168,76,.30)!important;transform:none!important}
#recorrido .tc,#recorrido .ts.visible .tc,#recorrido .ts.zoomed .tc{padding-top:5px;transform:none!important;filter:none!important}
#recorrido .tc .tdsc,#recorrido .tc .tgs{opacity:1;transform:none!important;filter:none!important}

/* Campus access: institutional hierarchy, protected palette and contained light. */
#campus-btn .si{display:flex;flex-direction:column;align-items:center;text-align:center}
#campus-btn .lbl,#campus-btn h2,#campus-btn .sub{text-align:center}
#campus-btn .sub{margin-inline:auto}
#campus-btn .cbtn-w{width:min(100%,520px);margin:30px auto 0;text-align:center}
#campus-btn .c3dbtn{width:min(100%,420px);min-height:68px;display:grid;margin-inline:auto;grid-template-columns:36px minmax(0,1fr);grid-template-areas:"icon label" "icon sub";align-items:center;column-gap:14px;row-gap:3px;padding:14px 20px;border:1px solid rgba(201,168,76,.42);border-radius:14px;background:var(--s);box-shadow:0 0 24px rgba(201,168,76,.06);color:var(--t);text-align:left;transform:none!important;transition:border-color .28s ease,background-color .28s ease,box-shadow .28s ease,color .28s ease}
#campus-btn .c3dbtn::before{display:none}
#campus-btn .c3dbtn .bi2{grid-area:icon;display:grid;width:36px;height:36px;margin:0;place-items:center;border:1px solid rgba(201,168,76,.34);border-radius:9px;background:rgba(201,168,76,.035);color:var(--g);font-size:.9rem;transition:border-color .28s ease,background-color .28s ease,color .28s ease}
#campus-btn .c3dbtn .c3dlabel{grid-area:label;display:block;color:var(--t);font-size:.94rem;font-weight:700;line-height:1.2;letter-spacing:-.01em}
#campus-btn .c3dbtn .bs2{grid-area:sub;display:block;margin:0;color:var(--d);font-size:.68rem;font-weight:500;line-height:1.35;letter-spacing:.025em;text-transform:none}
#campus-btn .c3dbtn:hover{border-color:var(--g);background:rgba(201,168,76,.045);box-shadow:0 0 30px rgba(201,168,76,.1);color:var(--t);transform:none!important}
#campus-btn .c3dbtn:hover .bi2{border-color:var(--g);background:rgba(201,168,76,.08);color:var(--gl)}
#campus-btn .c3dbtn:focus-visible{outline:2px solid var(--gl);outline-offset:4px;border-color:var(--g);box-shadow:0 0 0 1px rgba(201,168,76,.18),0 0 28px rgba(201,168,76,.1)}
#campus-btn .c3dbtn:active{border-color:var(--gl);background:rgba(201,168,76,.075);box-shadow:0 0 16px rgba(201,168,76,.08);transform:none!important}

/* Evaluators keep their original sections, now framed as a single institutional argument. */
.eval-brief{max-width:1040px;margin:34px auto 0;padding:0 28px;display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:1px;background:var(--b);border:1px solid var(--b);border-radius:18px;overflow:hidden}
.eval-brief>div{padding:22px 20px;background:var(--s)}
.eval-brief strong{display:block;font-size:.82rem;margin-bottom:6px}.eval-brief p{font-size:.68rem;color:var(--d);line-height:1.55}.eval-brief .eyebrow{color:var(--g);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:9px}
#foda .fw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:0;margin-top:30px;border:1px solid rgba(166,138,52,.5);border-radius:16px;overflow:hidden;background:var(--s)}
#foda .fw::after{border:1px solid var(--gd);border-radius:100px;padding:8px 14px;background:var(--bg);box-shadow:0 0 0 8px var(--bg);color:var(--g)}
#foda .fq{position:relative;display:flex;min-height:188px;flex-direction:column;padding:0;background:var(--s)!important;background-image:none!important;border:0!important;border-radius:0;box-shadow:none;color:var(--t);transform:none!important;transition:background-color .28s ease,box-shadow .28s ease}
#foda .fq:nth-child(odd){border-right:1px solid rgba(166,138,52,.34)!important}
#foda .fq:nth-child(-n+2){border-bottom:1px solid rgba(166,138,52,.34)!important}
#foda .fq:hover{background:var(--s)!important;transform:none!important}
#foda .fq.open{min-height:292px;background:var(--s)!important;background-image:none!important;box-shadow:inset 3px 0 0 var(--g),inset 0 0 34px rgba(201,168,76,.045)}
#foda .qh{display:grid;width:100%;min-height:94px;grid-template-columns:minmax(0,1fr) auto;gap:7px 18px;align-items:center;border:0;padding:20px 22px 13px;background:transparent;color:var(--t);font-family:inherit;text-align:left;cursor:pointer;transition:background-color .24s ease,color .24s ease}
#foda .qh:hover{background:rgba(201,168,76,.025)}
#foda .qh:focus-visible{position:relative;z-index:3;outline:2px solid var(--gl);outline-offset:-4px;background:rgba(201,168,76,.035)}
#foda .fq .qt,#foda .fq.f .qt,#foda .fq.o .qt,#foda .fq.d .qt,#foda .fq.a .qt{color:var(--gl);font-size:1rem;font-weight:760}
#foda .fq .qtag{margin:0;color:var(--d);font-size:.67rem;letter-spacing:.09em}
#foda .fq .qe{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);color:var(--g);font-size:.7rem;font-weight:700;line-height:1.4;text-align:left}
#foda .fq-preview{display:block;margin:0;padding:2px 22px 22px;color:rgba(245,245,247,.64);font-size:.8rem;line-height:1.6}
#foda .fq-preview::before{display:block;margin-bottom:7px;color:var(--d);content:'Síntesis visible';font-size:.61rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
#foda .fq.open .fq-preview{display:none}
#foda .fq-body{min-height:0;overflow:hidden;padding:0 22px}
#foda .fq ul{max-height:0;overflow:hidden;list-style:none;transition:max-height .34s ease}
#foda .fq.open ul{max-height:260px;padding:2px 0 22px}
#foda .fq li{padding:6px 0;color:rgba(245,245,247,.68);font-size:.82rem;line-height:1.5;opacity:1;transition:color .24s ease}
#foda .fq li::before,#foda .fq.f li::before,#foda .fq.o li::before,#foda .fq.d li::before,#foda .fq.a li::before{color:var(--g)}
@media(max-width:720px){
  #foda .fw{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;border-radius:12px}
  #foda .fw::after{display:none}
  #foda .fq{min-height:154px}
  #foda .fq:nth-child(odd){border-right:0!important}
  #foda .fq:nth-child(-n+2){border-bottom:0!important}
  #foda .fq:not(:last-child){border-bottom:1px solid rgba(166,138,52,.34)!important}
  #foda .fq.open{min-height:0}
  #foda .qh{min-height:88px;padding:16px 18px 12px}
  #foda .fq-preview{padding:0 18px 18px;font-size:.78rem;line-height:1.55}
  #foda .fq-body{padding:0 20px}
  #foda .fq ul{max-height:0;transition:max-height .32s ease,padding-bottom .32s ease}
  #foda .fq.open ul{max-height:240px;padding-bottom:18px}
}
#view-eval .frow{gap:20px}
#view-eval .fi{min-height:78px}
#view-eval .cvg{gap:10px}
#impacto .competitive-table-title{margin-top:68px;text-align:center;font-size:1.35rem;font-weight:700;transform:none!important}
#impacto .table-note{max-width:680px;margin:10px auto 0;color:var(--d);font-size:.8rem;line-height:1.65;text-align:center;transform:none!important}
#impacto .competitive-guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;max-width:820px;margin:24px auto 0;padding:14px 18px;border:1px solid rgba(201,168,76,.24);border-radius:12px;background:var(--bg);transform:none!important}
#impacto .competitive-guide strong{color:var(--gl);font-size:.74rem;letter-spacing:.04em;white-space:nowrap}
#impacto .competitive-guide span{padding-left:14px;border-left:1px solid rgba(201,168,76,.24);color:rgba(245,245,247,.66);font-size:.76rem;line-height:1.55}
#impacto .competitive-table{overflow-x:auto;margin-top:18px;border:1px solid rgba(166,138,52,.42);border-radius:16px;background:var(--s);box-shadow:none;transform:none!important;transition:border-color .22s ease,box-shadow .22s ease}
#impacto .competitive-table:focus-visible{outline:2px solid var(--gl);outline-offset:4px;border-color:var(--g);box-shadow:0 0 24px rgba(201,168,76,.07)}
#impacto .competitive-table .tb{width:100%;min-width:700px;border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--s);font-size:.8rem}
#impacto .competitive-table caption{padding:15px 18px;border-bottom:1px solid rgba(166,138,52,.24);background:var(--bg);color:rgba(245,245,247,.64);font-size:.75rem;line-height:1.6;text-align:left}
#impacto .competitive-table th,#impacto .competitive-table td{padding:20px;border:0;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(245,245,247,.7);font-size:.825rem;line-height:1.62;text-align:left;vertical-align:top}
#impacto .competitive-table thead th{position:sticky;top:0;z-index:2;background:var(--bg);color:var(--g);font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
#impacto .competitive-table thead th span,#impacto .competitive-table thead th small{display:block}
#impacto .competitive-table thead th small{margin-top:6px;color:var(--d);font-size:.61rem;font-weight:550;letter-spacing:.02em;text-transform:none}
#impacto .competitive-table thead th:first-child{width:25%;color:var(--t)}
#impacto .competitive-table thead th:nth-child(2){width:41%}
#impacto .competitive-table thead th:nth-child(3){width:34%}
#impacto .competitive-table tbody th{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;background:var(--bg);color:var(--t);font-size:.875rem;font-weight:700;line-height:1.45;letter-spacing:.01em;text-transform:none}
#impacto .competitive-table .factor-index{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(201,168,76,.42);border-radius:50%;color:var(--g);font-size:.66rem;font-weight:800;font-variant-numeric:tabular-nums}
#impacto .competitive-table tbody tr:last-child th,#impacto .competitive-table tbody tr:last-child td{border-bottom:0}
#impacto .competitive-table tbody tr{transition:background-color .2s ease}
#impacto .competitive-table tbody tr:hover th,#impacto .competitive-table tbody tr:hover td{background:rgba(255,255,255,.018)}
#impacto .competitive-table .il-column,#impacto .competitive-table .il-model{border-left:1px solid rgba(166,138,52,.3)}
#impacto .competitive-table .il-column{color:var(--gl)}
#impacto .competitive-table .il-model{background:rgba(201,168,76,.045);color:var(--t);font-weight:680}
@media(max-width:1100px){
  #impacto .competitive-table-title{margin-top:60px;font-size:1.25rem}
  #impacto .table-note{font-size:.78rem}
  #impacto .competitive-guide{grid-template-columns:1fr;gap:6px;text-align:center}
  #impacto .competitive-guide span{padding:0;border-left:0}
  #impacto .competitive-table{overflow:visible;border:0;border-radius:0;background:transparent}
  #impacto .competitive-table .tb{display:block;min-width:0;table-layout:auto}
  #impacto .competitive-table caption{display:block;margin-bottom:12px;padding:15px 18px;border:1px solid rgba(166,138,52,.32);border-radius:12px;font-size:.75rem}
  #impacto .competitive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  #impacto .competitive-table tbody{display:grid;gap:12px;width:100%}
  #impacto .competitive-table tbody tr{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(166,138,52,.34);border-radius:14px;background:var(--s)}
  #impacto .competitive-table tbody th,#impacto .competitive-table tbody td{display:block;width:100%}
  #impacto .competitive-table tbody th{grid-column:1/-1;padding:15px 18px;border-bottom:1px solid rgba(201,168,76,.28);background:var(--bg);color:var(--gl);font-size:.875rem}
  #impacto .competitive-table tbody td{min-height:118px;padding:17px 18px;border-bottom:0;font-size:.8125rem}
  #impacto .competitive-table tbody td::before{display:block;margin-bottom:9px;color:var(--g);content:attr(data-label);font-size:.65rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}
  #impacto .competitive-table .il-model{border-left:1px solid rgba(166,138,52,.3);border-bottom:0;background:rgba(201,168,76,.04)}
}
@media(max-width:640px){
  #impacto .table-note{text-align:center}
  #impacto .competitive-table tbody tr{grid-template-columns:1fr}
  #impacto .competitive-table tbody td{min-height:0;padding:16px 18px}
  #impacto .competitive-table tbody td+td{border-top:1px solid rgba(201,168,76,.24)}
  #impacto .competitive-table .il-model{border-left:0}
}

/* Full functional Campus Virtual, isolated from the homepage visual system. */
.il-campus{position:fixed;inset:0;z-index:9998;display:grid;grid-template-columns:276px minmax(0,1fr);background:#08090b;color:#f5f5f7;opacity:0;transition:opacity .35s ease;font-family:'Inter',-apple-system,sans-serif}
.il-campus.active{opacity:1}.il-campus *{box-sizing:border-box}.il-campus button,.il-campus input,.il-campus textarea,.il-campus select{font:inherit}
.il-campus__side{display:flex;min-height:0;flex-direction:column;background:linear-gradient(180deg,#101114,#090a0c);border-right:1px solid rgba(255,255,255,.07)}
.il-campus__brand{display:flex;align-items:center;gap:11px;padding:23px 20px;border-bottom:1px solid rgba(255,255,255,.07)}
.il-campus__mark{width:52px;height:52px;background:transparent url('/assets/impulso-libre-oficial.png') center 18%/220% auto no-repeat;flex:0 0 52px;filter:invert(1) brightness(1.16) drop-shadow(0 0 12px rgba(201,168,76,.18))}
.il-campus__brand strong{font-size:.88rem}.il-campus__brand span{display:block;margin-top:3px;color:#c9a84c;font-size:.5rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.il-campus__nav{padding:16px 10px;flex:1;overflow:auto}.il-campus__nav-label{padding:8px 10px 6px;color:rgba(255,255,255,.28);font-size:.5rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.il-campus__nav button{display:flex;width:100%;align-items:center;gap:10px;border:0;border-radius:9px;padding:11px 12px;background:transparent;color:rgba(255,255,255,.5);cursor:pointer;text-align:left;font-size:.72rem;transition:background .2s,color .2s}
.il-campus__nav button:hover,.il-campus__nav button.is-active{background:rgba(201,168,76,.11);color:#e4c76c}.il-campus__nav button em{font-style:normal;font-size:.6rem;color:inherit;opacity:.7}
.il-campus__profile{display:flex;align-items:center;gap:10px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.07)}.il-campus__avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#c9a84c;color:#111;font-size:.66rem;font-weight:800}.il-campus__profile strong{font-size:.7rem}.il-campus__profile span{display:block;margin-top:2px;color:rgba(255,255,255,.35);font-size:.56rem}
.il-campus__main{display:flex;min-width:0;min-height:0;flex-direction:column}.il-campus__top{height:64px;display:flex;align-items:center;gap:14px;padding:0 28px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(10,11,14,.92)}.il-campus__top h3{font-size:.86rem;flex:1}.il-campus__top-status{display:flex;align-items:center;gap:7px;color:#8bd9ab;font-size:.6rem}.il-campus__top-status::before{content:'';width:6px;height:6px;background:#34b56a;border-radius:50%;box-shadow:0 0 0 4px rgba(52,181,106,.1)}.il-campus__close,.il-campus__menu{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 13px;background:rgba(255,255,255,.04);color:#fff;font-size:.66rem;cursor:pointer}.il-campus__menu{display:none}
.il-campus__content{overflow:auto;padding:30px;scroll-behavior:smooth}.campus-panel{display:none;max-width:1160px;margin:0 auto;animation:campusIn .28s ease}.campus-panel.is-active{display:block}@keyframes campusIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.campus-kicker{color:#c9a84c;font-size:.56rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.campus-title{margin:8px 0 8px;font-size:clamp(1.5rem,3vw,2.35rem);letter-spacing:-.04em}.campus-copy{max-width:620px;color:rgba(255,255,255,.5);font-size:.78rem;line-height:1.65}.campus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px}.campus-stat{padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border:1px solid rgba(255,255,255,.07);border-radius:15px}.campus-stat strong{display:block;color:#e4c76c;font-size:1.55rem}.campus-stat span{display:block;margin-top:5px;color:rgba(255,255,255,.38);font-size:.61rem}
.campus-course-focus{display:grid;grid-template-columns:1.35fr .65fr;gap:12px;margin-top:12px}.campus-card{border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.018);padding:20px}.campus-card h4{font-size:.9rem;margin-bottom:6px}.campus-card p{color:rgba(255,255,255,.45);font-size:.71rem;line-height:1.55}.campus-progress{height:5px;margin:16px 0 7px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.08)}.campus-progress i{display:block;height:100%;background:linear-gradient(90deg,#c9a84c,#e4c76c);border-radius:inherit}.campus-meta{display:flex;gap:12px;flex-wrap:wrap;color:rgba(255,255,255,.35);font-size:.58rem}.campus-action{border:0;border-radius:9px;padding:10px 14px;background:#c9a84c;color:#111;font-size:.66rem;font-weight:700;cursor:pointer}
.campus-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:25px 0 12px}.campus-toolbar select,.campus-search{min-height:39px;padding:10px 32px 10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#111216;color:#f5f5f7;font-size:.68rem}.campus-search{flex:1;min-width:220px;padding-right:12px}.campus-search::placeholder{color:rgba(255,255,255,.28)}.campus-search:focus,.campus-toolbar select:focus{outline:1px solid rgba(201,168,76,.7);outline-offset:2px}.campus-toolbar span{font-size:.64rem;color:rgba(255,255,255,.4)}.campus-semesters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.campus-semester{border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.012)}.campus-semester[hidden],.campus-subject[hidden]{display:none}.campus-semester h4{padding:14px;color:#e4c76c;background:rgba(201,168,76,.07);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.campus-subject{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.045);padding:11px 13px;background:transparent;color:rgba(255,255,255,.58);font-size:.65rem;line-height:1.35;text-align:left;cursor:pointer;transition:background .2s,color .2s}.campus-subject:hover,.campus-subject.is-selected{background:rgba(201,168,76,.1);color:#fff}.campus-subject small{display:block;margin-top:3px;color:#c9a84c;font-size:.5rem;letter-spacing:.08em;text-transform:uppercase}
.aula-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px}.aula-player{overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:#0c0d10}.aula-screen{position:relative;display:grid;min-height:270px;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(201,168,76,.18),transparent 28%),linear-gradient(145deg,#121318,#07080b)}.aula-screen::before{content:'';position:absolute;inset:-30%;background:repeating-radial-gradient(circle at 50% 50%,rgba(201,168,76,.09) 0 1px,transparent 1px 52px);opacity:.45;animation:aulaDrift 18s linear infinite}.aula-screen::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(201,168,76,.07) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(201,168,76,.07) 50%,transparent 50.2%);opacity:.45}@keyframes aulaDrift{to{transform:rotate(360deg)}}.aula-player__progress{height:3px;background:rgba(255,255,255,.07)}.aula-player__progress i{display:block;height:100%;background:var(--g);transition:width .6s ease}.aula-player__body{padding:20px 22px 22px}.aula-player__badge{display:inline-flex;padding:6px 9px;border-radius:99px;background:rgba(201,168,76,.12);color:#e4c76c;font-size:.54rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.aula-player h4{max-width:580px;margin:12px 0 7px;font-size:clamp(1.15rem,2.4vw,1.75rem)}.aula-player p{color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.55}.aula-play{position:relative;z-index:1;display:grid;width:76px;height:76px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:linear-gradient(135deg,#e4c76c,#b7902f);color:#111;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 0 0 12px rgba(201,168,76,.07),0 18px 50px rgba(0,0,0,.35);transition:transform .3s ease,box-shadow .3s ease}.aula-play:hover{transform:scale(1.06);box-shadow:0 0 0 18px rgba(201,168,76,.05),0 22px 60px rgba(0,0,0,.45)}
.aula-tabs{display:flex;gap:5px;margin:14px 0;border-bottom:1px solid rgba(255,255,255,.07);overflow:auto}.aula-tabs button{border:0;border-bottom:2px solid transparent;padding:10px 12px;background:transparent;color:rgba(255,255,255,.43);cursor:pointer;font-size:.66rem;white-space:nowrap}.aula-tabs button.is-active{color:#e4c76c;border-bottom-color:#c9a84c}.aula-tab{display:none}.aula-tab.is-active{display:block}.aula-list{display:grid;gap:8px}.aula-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.012)}.aula-row input{accent-color:#c9a84c}.aula-row strong{font-size:.69rem;flex:1}.aula-row span{font-size:.56rem;color:rgba(255,255,255,.36)}.aula-row button{border:0;border-radius:7px;padding:7px 10px;background:rgba(201,168,76,.12);color:#e4c76c;font-size:.57rem;cursor:pointer}.aula-notes{min-height:150px;width:100%;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:13px;background:rgba(255,255,255,.02);color:#fff;font-size:.7rem;line-height:1.55;resize:vertical}.aula-save{margin-top:8px;border:0;border-radius:8px;padding:9px 13px;background:#c9a84c;color:#111;font-size:.62rem;font-weight:700;cursor:pointer}.aula-status{margin-left:8px;color:#8bd9ab;font-size:.6rem}
.aula-rail{padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.012)}.aula-rail h5{font-size:.7rem;margin-bottom:14px}.aula-rail button{display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:8px;padding:10px;background:transparent;color:rgba(255,255,255,.46);cursor:pointer;text-align:left;font-size:.63rem}.aula-rail button.is-active{background:rgba(201,168,76,.1);color:#e4c76c}.aula-rail button span{display:grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:.48rem}
.campus-calendar{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px;margin-top:24px}.calendar-day{min-height:145px;padding:15px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.012)}.calendar-day>span{display:block;color:#c9a84c;font-size:.55rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.calendar-event{margin-top:14px;padding:9px;border-left:2px solid #c9a84c;border-radius:4px;background:rgba(201,168,76,.075);color:#fff;font-size:.62rem;line-height:1.45}.calendar-event small{display:block;margin-top:3px;color:rgba(255,255,255,.42);font-size:.52rem}
.evidence-empty{padding:24px;border:1px dashed rgba(201,168,76,.25);border-radius:14px;color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.55}.evidence-table{display:grid;gap:8px;margin-top:20px}.evidence-row{display:grid;grid-template-columns:1fr 110px 120px;gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.012)}.evidence-row strong{font-size:.68rem}.evidence-row span{font-size:.58rem;color:rgba(255,255,255,.38)}.evidence-row label{justify-self:end;border-radius:8px;padding:8px 10px;background:rgba(201,168,76,.12);color:#e4c76c;font-size:.58rem;cursor:pointer}.evidence-row input{display:none}.campus-toast{position:fixed;right:24px;bottom:24px;z-index:10002;padding:12px 15px;border:1px solid rgba(201,168,76,.28);border-radius:10px;background:#16140f;color:#f5f5f7;font-size:.66rem;box-shadow:0 12px 35px rgba(0,0,0,.35);opacity:0;transform:translateY(8px);pointer-events:none;transition:.25s}.campus-toast.is-show{opacity:1;transform:translateY(0)}
@media(max-width:900px){.il-campus{grid-template-columns:1fr}.il-campus__side{position:absolute;inset:0 auto 0 0;width:276px;z-index:2;transform:translateX(-102%);transition:transform .3s}.il-campus.is-menu-open .il-campus__side{transform:translateX(0);box-shadow:24px 0 60px rgba(0,0,0,.55)}.il-campus__menu{display:inline-flex}.campus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-course-focus,.aula-layout{grid-template-columns:1fr}.campus-semesters{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#nav{padding:0 18px}.nb .brand-mark{width:36px;height:36px;flex-basis:36px}.eval-brief{grid-template-columns:1fr;margin-top:24px;padding:0 20px}.eval-brief>div{padding:18px}.view-toggle-wrap{padding-top:36px}.vt-btn{padding:11px 16px}.vt-btn+ .vt-btn{margin-left:2px}#planes .pmt{grid-template-columns:repeat(2,1fr)}#planes .sg{grid-template-columns:1fr;padding:10px}#recorrido .ts{padding:17px 15px;gap:15px}#recorrido .tl,#recorrido .tf,#recorrido .tw::after{left:42px}#recorrido .ts .td{width:50px;height:50px;flex-basis:50px}#campus-btn .cbtn-w{margin-top:26px}#campus-btn .c3dbtn{min-height:64px;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:13px 16px;border-radius:13px}#campus-btn .c3dbtn .bi2{width:34px;height:34px;border-radius:8px}#campus-btn .c3dbtn .c3dlabel{font-size:.9rem}#campus-btn .c3dbtn .bs2{font-size:.66rem}#view-eval .tbw{margin-left:-2px;margin-right:-2px}.il-campus__top{padding:0 16px}.il-campus__top-status{display:none}.il-campus__content{padding:20px 16px}.campus-grid{grid-template-columns:1fr 1fr}.campus-semesters,.campus-calendar{grid-template-columns:1fr}.aula-screen{min-height:210px}.aula-play{width:64px;height:64px}.evidence-row{grid-template-columns:1fr}.evidence-row label{justify-self:start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}#recorrido .tw::after{display:none!important}#recorrido .tf{height:100%!important;box-shadow:none!important}#recorrido .ts,#recorrido .ts::after,#recorrido .ts .td,#recorrido .tc,#recorrido .tdsc,#recorrido .tgs{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}#recorrido .ts{border-color:rgba(201,168,76,.16);background:rgba(255,255,255,.012);box-shadow:none}#recorrido .ts .td{background:var(--bg);border-color:var(--gd);color:var(--g);box-shadow:none!important}}

/* Campus Virtual protected redesign: academic, explicit and non-SaaS. */
.il-campus{grid-template-columns:264px minmax(0,1fr);overflow:hidden;background:var(--bg);color:var(--t);opacity:0;transition:opacity .24s ease}
.il-campus.active{opacity:1}
.il-campus button,.il-campus input,.il-campus textarea,.il-campus select{min-height:44px;color:inherit}
.il-campus button:focus-visible,.il-campus input:focus-visible,.il-campus textarea:focus-visible,.il-campus select:focus-visible,.il-campus label:focus-within{outline:2px solid var(--gl);outline-offset:3px}
.il-campus__side{position:relative;z-index:3;background:var(--s);border-right:1px solid rgba(166,138,52,.28)}
.il-campus__brand{min-height:76px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
.il-campus__brand strong{display:block;padding-bottom:1px;overflow:visible;font-size:.95rem;line-height:1.32}.il-campus__brand span{font-size:.75rem;color:var(--g)}
.il-campus__drawer-close{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.14);border-radius:100px;padding:0 13px;background:transparent;color:var(--t);font-size:.75rem}
.il-campus__prototype{margin:18px 18px 4px;padding:10px 12px;border:1px solid rgba(201,168,76,.28);border-radius:10px;color:var(--gl);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.il-campus__nav{padding:12px 10px}.il-campus__nav-label{padding:10px 10px 8px;color:var(--d);font-size:.75rem}
.il-campus__nav button{min-height:48px;border:1px solid transparent;border-radius:9px;padding:0 12px;background:transparent;color:var(--d);font-size:.875rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.il-campus__nav button:hover{background:rgba(255,255,255,.025);color:var(--t)}
.il-campus__nav button.is-active{border-color:rgba(201,168,76,.38);background:var(--bg);color:var(--gl)}
.il-campus__nav button em{min-width:24px;font-size:.75rem;color:var(--g);opacity:1}
.il-campus__profile{padding:16px 18px;border-top:1px solid rgba(255,255,255,.07)}
.il-campus__avatar{width:40px;height:40px;background:var(--gd);color:var(--bg);font-size:.75rem}
.il-campus__profile strong{font-size:.875rem}.il-campus__profile span{font-size:.75rem;color:var(--d);line-height:1.45}
.il-campus__main{background:var(--bg)}
.il-campus__top{height:64px;min-height:64px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.07);background:var(--bg)}
.il-campus__top h3{overflow:visible;font-size:.875rem;line-height:1.3;letter-spacing:.02em;text-align:center}
.il-campus__top-status{max-width:360px;color:var(--d);font-size:.75rem;line-height:1.3;text-align:right}
.il-campus__top-status::before{display:none}
.il-campus__top-status[data-state="saving"],.il-campus__top-status[data-state="loading"]{color:var(--g)}
.il-campus__top-status[data-state="saved"]{color:var(--gl)}
.il-campus__top-status[data-state="offline"],.il-campus__top-status[data-state="error"]{padding-left:10px;border-left:2px solid var(--gd);color:var(--t)}
.il-campus__close,.il-campus__menu{min-height:44px;border:1px solid rgba(255,255,255,.14);border-radius:100px;padding:0 16px;background:transparent;color:var(--t);font-size:.75rem}
.il-campus__close-short{display:none}
.il-campus__close:hover,.il-campus__menu:hover{border-color:var(--gd);color:var(--gl)}
.campus-demo-notice{display:flex;align-items:center;justify-content:center;gap:12px 20px;padding:12px 24px;border-bottom:1px solid rgba(201,168,76,.22);background:var(--s);font-size:.75rem;line-height:1.45;text-align:center}
.campus-demo-notice strong{color:var(--gl)}.campus-demo-notice span{color:var(--d);text-align:center}
.il-campus__content{padding:42px 44px 64px;background:var(--bg);scroll-behavior:smooth}
.campus-panel{display:none;width:100%;max-width:1120px;margin:0 auto;animation:campusProtectedIn .24s ease}
.campus-panel.is-active{display:block}.campus-panel[hidden]{display:none!important}
@keyframes campusProtectedIn{from{opacity:0}to{opacity:1}}
.campus-view-head{max-width:760px;margin:0 auto 30px;text-align:center}.campus-kicker{font-size:.75rem;color:var(--g)}
.campus-title{margin:10px 0 12px;padding-block:.04em;font-size:clamp(2rem,4vw,3.35rem);line-height:1.1;letter-spacing:-.045em;overflow:visible}
.campus-title:focus{outline:none}.campus-copy{max-width:720px;margin-inline:auto;color:var(--d);font-size:.95rem;line-height:1.7}
.campus-section-label{margin-bottom:12px;color:var(--g);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.campus-loading{display:grid;grid-template-columns:3px minmax(0,1fr);gap:22px;min-height:320px;align-items:center;padding:30px;border:1px solid rgba(201,168,76,.2);border-radius:14px;background:var(--s)}
.campus-loading__line{width:3px;height:88px;background:var(--g);animation:campusLoading 1.2s ease-in-out infinite}
@keyframes campusLoading{0%,100%{opacity:.32}50%{opacity:1}}
.campus-home-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}
.campus-primary,.campus-next,.campus-context{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:var(--s)}
.campus-primary{padding:28px}.campus-next{padding:28px;border-color:rgba(201,168,76,.26)}
.campus-facts{display:grid;gap:0;margin:0}.campus-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.campus-facts>div:last-child{border-bottom:0}.campus-facts dt{color:var(--d);font-size:.875rem}.campus-facts dd{margin:0;color:var(--t);font-size:.95rem;font-weight:650}
.campus-progress-block{margin-top:26px;padding-top:22px;border-top:1px solid rgba(201,168,76,.18)}
.campus-progress-block>div,.aula-course-summary>div{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.campus-progress-block strong,.aula-course-summary strong{font-size:.875rem}.campus-progress-block span,.aula-course-summary span{color:var(--d);font-size:.8125rem}
.il-campus progress{display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:100px;background:rgba(255,255,255,.08);appearance:none}
.il-campus progress::-webkit-progress-bar{background:rgba(255,255,255,.08)}.il-campus progress::-webkit-progress-value{background:var(--g)}.il-campus progress::-moz-progress-bar{background:var(--g)}
.campus-next__unit{display:block;margin-bottom:8px;color:var(--gl);font-size:.8125rem}.campus-next h3{font-size:1.35rem;line-height:1.2}.campus-next p,.campus-context p{margin-top:10px;color:var(--d);font-size:.875rem;line-height:1.65}
.campus-action,.campus-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:22px;border-radius:9px;padding:0 18px;font-size:.8125rem;font-weight:750;cursor:pointer;text-align:center}
.campus-action{border:1px solid var(--g);background:var(--g);color:var(--bg)!important}.campus-action:hover{background:var(--gl);border-color:var(--gl)}
.campus-secondary{border:1px solid rgba(201,168,76,.35);background:transparent;color:var(--gl)}.campus-secondary:hover{background:rgba(201,168,76,.08)}
.campus-action input,.evidence-row input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.campus-context{margin-top:18px;padding:20px 22px}.campus-context strong{font-size:.875rem}
.campus-filters{display:grid;grid-template-columns:220px 220px minmax(260px,1fr);gap:12px;margin:26px 0 10px}
.campus-filters label{display:grid;gap:8px;color:var(--d);font-size:.75rem;font-weight:700}
.campus-filters select,.campus-filters input{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:0 13px;background:var(--s);color:var(--t);font-size:.875rem}
.campus-search{min-width:0}.campus-search::placeholder{color:var(--d)}.campus-results{margin-bottom:16px;color:var(--d);font-size:.8125rem}
.campus-semesters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.campus-semester{border-color:rgba(255,255,255,.08);border-radius:12px;background:var(--s)}
.campus-semester>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(201,168,76,.2)}
.campus-semester>header span{color:var(--gl);font-size:.8125rem;font-weight:750}.campus-semester>header small{color:var(--d);font-size:.75rem}
.campus-subject{display:grid;gap:5px;min-height:64px;padding:12px 16px;border-left:2px solid transparent;background:transparent;color:var(--d);font-size:.875rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.campus-subject:hover{background:rgba(255,255,255,.025);color:var(--t)}.campus-subject.is-selected{border-left-color:var(--g);background:rgba(201,168,76,.07);color:var(--t)}
.campus-subject small{margin:0;color:var(--g);font-size:.75rem;letter-spacing:0;text-transform:none}
.campus-empty{padding:28px;border:1px dashed rgba(201,168,76,.35);border-radius:12px;background:var(--s)}.campus-empty[hidden]{display:none}.campus-empty strong{font-size:1rem}.campus-empty p{margin-top:8px;color:var(--d);font-size:.875rem;line-height:1.6}
.aula-course-summary{max-width:960px;margin:0 auto 20px;padding:20px 22px;border:1px solid rgba(201,168,76,.25);border-radius:12px;background:var(--s);text-align:center}
.aula-course-summary p{max-width:720px;margin:12px auto 0;color:var(--d);font-size:.8125rem;line-height:1.55}
.aula-layout{width:100%;max-width:980px;margin:0 auto;grid-template-columns:1fr;gap:16px;align-items:start}.aula-workspace{min-width:0;width:100%}
.aula-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-content:center;gap:0;overflow:hidden;margin:0 0 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:var(--s)}
.aula-tabs button{min-width:0;min-height:48px;border:0;border-right:1px solid rgba(255,255,255,.07);padding:0 10px;background:transparent;color:var(--d);font-size:.78rem;text-align:center}
.aula-tabs button:last-child{border-right:0}.aula-tabs button:hover{background:rgba(255,255,255,.025);color:var(--t)}.aula-tabs button.is-active{background:rgba(201,168,76,.075);box-shadow:inset 0 -2px 0 var(--g);color:var(--gl)}
.aula-tab[hidden]{display:none!important}.aula-unit-list{display:grid;gap:8px}
.aula-unit{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:var(--s)}
.aula-unit.is-progress{border-color:rgba(201,168,76,.38)}.aula-unit.is-complete{border-color:rgba(166,138,52,.24)}
.aula-unit__open{display:grid;width:100%;min-height:88px;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;border:0;padding:16px;background:transparent;text-align:left;cursor:pointer}
.aula-unit__open:hover{background:rgba(255,255,255,.02)}.aula-unit__mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--gd);border-radius:50%;color:var(--g);font-size:.8125rem}
.is-progress .aula-unit__mark{background:var(--g);color:var(--bg)}.is-complete .aula-unit__mark{background:var(--gd);color:var(--bg)}
.aula-unit__body{display:grid;gap:4px}.aula-unit__body small{color:var(--g);font-size:.75rem}.aula-unit__body strong{font-size:.95rem}.aula-unit__body>span{color:var(--d);font-size:.8125rem;line-height:1.5}
.aula-unit__state{color:var(--d);font-size:.75rem}.is-progress .aula-unit__state{color:var(--gl)}
.aula-unit__check{position:relative;display:flex;min-height:48px;align-items:center;padding:0 16px 0 64px;border-top:1px solid rgba(255,255,255,.06);color:var(--d);font-size:.8125rem;cursor:pointer}.aula-unit__check input{position:absolute;left:52px;width:44px;height:44px;min-height:44px;opacity:0;cursor:pointer}.aula-unit__check span{display:flex;align-items:center;gap:10px}.aula-unit__check span::before{width:18px;height:18px;flex:0 0 18px;border:1px solid rgba(255,255,255,.42);background:var(--bg);content:""}.aula-unit__check input:checked+span::before{border-color:var(--g);background:var(--g)}.aula-unit__check input:focus-visible+span::before{outline:2px solid var(--gl);outline-offset:3px}
.aula-detail{min-height:260px;padding:26px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:var(--s)}.aula-detail h3{font-size:1.3rem}.aula-detail p{max-width:680px;margin-top:10px;color:var(--d);font-size:.875rem;line-height:1.65}
.aula-demo-player{overflow:hidden;border:1px solid rgba(201,168,76,.34);border-radius:14px;background:var(--s)}
.aula-demo-screen{position:relative;display:grid;min-height:300px;aspect-ratio:16/7;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:16px;align-items:center;padding:24px;background:var(--bg)}
.aula-demo-screen::before{position:absolute;inset:24px;border:1px solid rgba(201,168,76,.1);content:"";pointer-events:none}
.aula-demo-label{position:relative;z-index:1;grid-column:1/-1;color:var(--g);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.aula-demo-play{position:relative;z-index:1;align-self:center;justify-self:center;min-width:126px;min-height:48px;border:1px solid var(--g);border-radius:100px;padding:0 20px;background:var(--g);color:var(--bg)!important;font-size:.8125rem;font-weight:800;cursor:pointer}
.aula-demo-play:hover{border-color:var(--gl);background:var(--gl)}
.aula-demo-play[aria-pressed="true"]{border-color:var(--gl);background:transparent;color:var(--gl)!important}
.aula-demo-time{position:relative;z-index:1;align-self:end;color:var(--d);font-size:.75rem;font-variant-numeric:tabular-nums}
.aula-demo-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:14px 20px;border-top:1px solid rgba(255,255,255,.07)}
.aula-demo-controls label{color:var(--d);font-size:.75rem}.aula-demo-controls input{width:100%;accent-color:var(--g)}
.aula-demo-player__body{padding:22px;text-align:center}.aula-demo-player__body h3{font-size:1.35rem;line-height:1.25}.aula-demo-player__body p{max-width:680px;margin:9px auto 0;color:var(--d);font-size:.875rem;line-height:1.65}
.aula-unit-list--class{margin-top:12px}
.aula-materials{display:grid;gap:8px;margin-top:22px}
.aula-materials button{display:grid;min-height:64px;gap:5px;align-content:center;border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:10px 14px;background:var(--bg);color:var(--t);text-align:left;cursor:pointer}
.aula-materials button:hover{border-color:rgba(201,168,76,.4)}.aula-materials span{font-size:.875rem;font-weight:700}.aula-materials small{color:var(--d);font-size:.75rem}
.aula-form-field{display:grid;gap:8px;margin-top:22px;color:var(--t);font-size:.8125rem;font-weight:700}
.aula-form-field input,.aula-form-field textarea{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:12px 14px;background:var(--bg);color:var(--t);font-size:1rem;font-weight:400}
.aula-form-field textarea{min-height:130px;resize:vertical;line-height:1.55}
.aula-inline-status{display:block;min-height:22px;margin-top:12px;color:var(--gl);font-size:.75rem;line-height:1.5}
.aula-forum{display:grid;gap:8px;margin-top:22px}
.aula-forum>div{display:grid;gap:5px;padding:14px;border-left:2px solid var(--gd);background:var(--bg)}
.aula-forum strong{color:var(--gl);font-size:.75rem}.aula-forum span{color:var(--d);font-size:.8125rem;line-height:1.55}
.aula-evaluation{display:grid;gap:6px;margin-top:22px;border:0}.aula-evaluation legend{margin-bottom:10px;color:var(--t);font-size:.875rem;font-weight:700}
.aula-evaluation label{display:flex;min-height:44px;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:0 12px;color:var(--d);font-size:.8125rem;cursor:pointer}.aula-evaluation label:has(input:checked){border-color:rgba(201,168,76,.42);color:var(--t)}.aula-evaluation input{width:18px;height:18px;min-height:18px;accent-color:var(--g)}
.aula-notes-label{display:block;margin-bottom:9px;color:var(--t);font-size:.875rem;font-weight:700}.aula-notes{min-height:220px;padding:16px;border-color:rgba(255,255,255,.12);background:var(--s);color:var(--t);font-size:.875rem}
.aula-note-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.aula-save{min-height:44px;margin-top:10px;padding:0 18px;background:var(--g);color:var(--bg);font-size:.8125rem}.aula-status{margin:10px 0 0;color:var(--d);font-size:.75rem}
.aula-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px;border-color:rgba(255,255,255,.08);border-radius:12px;background:var(--s)}
.aula-rail .campus-section-label{grid-column:1/-1;padding:6px 8px;text-align:center}.aula-rail button{display:grid;grid-template-columns:26px minmax(0,1fr);min-height:66px;gap:4px 9px;padding:10px;border:1px solid transparent;border-radius:9px;color:var(--d);font-size:.8125rem}
.aula-rail button span{grid-row:1/3;width:24px;height:24px}.aula-rail button strong{align-self:end;color:inherit;font-size:.8125rem;font-weight:650}.aula-rail button small{font-size:.75rem}.aula-rail button.is-progress{border-color:rgba(201,168,76,.32);background:var(--bg);color:var(--gl)}.aula-rail button.is-complete{color:var(--g)}
.campus-agenda{display:grid;gap:8px;margin-top:24px}.calendar-event{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:24px;align-items:center;margin:0;padding:18px 20px;border:1px solid rgba(255,255,255,.08);border-left:2px solid var(--gd);border-radius:10px;background:var(--s);color:var(--t)}
.calendar-event.is-next{border-color:rgba(201,168,76,.36);border-left-color:var(--g)}.calendar-event div{display:grid;gap:5px}.calendar-event span,.calendar-event small{color:var(--d);font-size:.75rem}.calendar-event strong{font-size:.95rem}
.evidence-table{margin-top:24px}.evidence-empty{padding:28px;border-color:rgba(201,168,76,.35);background:var(--s);color:var(--t)}.evidence-empty strong{font-size:1rem}.evidence-empty p{margin-top:8px;color:var(--d);font-size:.875rem;line-height:1.6}
.evidence-row{grid-template-columns:minmax(0,1fr) 180px 210px;min-height:72px;padding:14px 16px;border-color:rgba(255,255,255,.08);background:var(--s)}.evidence-row strong{font-size:.875rem}.evidence-row span{display:block;margin-top:4px;color:var(--d);font-size:.75rem}.evidence-row .evidence-status{margin:0;color:var(--g)}
.evidence-row label{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 14px;border:1px solid rgba(201,168,76,.3);background:transparent;color:var(--gl);font-size:.75rem;cursor:pointer}.evidence-action{margin-top:18px}
.campus-toast{right:24px;bottom:24px;max-width:360px;padding:13px 16px;border-color:rgba(201,168,76,.35);background:var(--s);color:var(--t);font-size:.8125rem;transform:none;transition:opacity .2s ease}.campus-toast.is-show{transform:none}
.il-campus__scrim{display:none}
@media(min-width:961px){
  .il-campus__top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px}
  .il-campus__top h3{grid-row:1;grid-column:2;justify-self:center;margin:0;text-align:center}
  .il-campus__top-status{grid-row:1;grid-column:1;justify-self:start;text-align:left}
  .il-campus__close{grid-row:1;grid-column:3;justify-self:end}
}
@media(max-width:960px){
  .il-campus{grid-template-columns:1fr}
  .il-campus__side{position:absolute;inset:0 auto 0 0;width:min(320px,88vw);visibility:hidden;opacity:0;transform:none;transition:opacity .2s ease,visibility .2s ease}
  .il-campus.is-menu-open .il-campus__side{visibility:visible;opacity:1;transform:none;box-shadow:24px 0 60px rgba(0,0,0,.55)}
  .il-campus__scrim{position:absolute;inset:0;z-index:2;display:block;visibility:hidden;background:rgba(0,0,0,.72);opacity:0;transition:opacity .2s ease,visibility .2s ease}
  .il-campus.is-menu-open .il-campus__scrim{visibility:visible;opacity:1}
  .il-campus__menu{display:inline-flex}
  .il-campus__drawer-close{display:inline-flex;align-items:center;justify-content:center}
  .il-campus__top{display:grid;height:auto;min-height:92px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:10px 18px;gap:8px 12px}.il-campus__menu{grid-row:1;grid-column:1;justify-self:start}.il-campus__top h3{grid-row:1;grid-column:2;justify-self:center;margin:0;overflow:visible;text-align:center;white-space:nowrap}.il-campus__close{grid-row:1;grid-column:3;justify-self:end}.il-campus__top-status{display:flex;grid-row:2;grid-column:1/-1;width:100%;max-width:none;min-height:20px;align-items:center;justify-content:center;padding-top:7px;border-top:1px solid rgba(255,255,255,.07);text-align:center}
  .campus-demo-notice{flex-direction:column;padding:12px 20px}
  .il-campus__content{padding:34px 24px 52px}
  .campus-home-layout,.aula-layout{grid-template-columns:1fr}
  .aula-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.aula-rail .campus-section-label{grid-column:1/-1}
  .campus-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-filter-search{grid-column:1/-1}
}
@media(min-width:961px) and (max-width:1180px){
  .campus-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .campus-filter-search{grid-column:1/-1}
  .aula-layout{grid-template-columns:1fr}
  .aula-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .aula-rail .campus-section-label{grid-column:1/-1}
}
@media(max-width:640px){
  .il-campus{padding-bottom:72px}
  .il-campus__side{position:fixed;inset:auto 0 0;width:100%;min-height:72px;display:block;visibility:visible;opacity:1;background:var(--s);border-top:1px solid rgba(201,168,76,.28);border-right:0;transform:none;z-index:5}
  .il-campus.is-menu-open .il-campus__side{visibility:visible;opacity:1;box-shadow:0 -16px 40px rgba(0,0,0,.36)}
  .il-campus__brand,.il-campus__prototype,.il-campus__nav-label,.il-campus__profile,.il-campus__drawer-close{display:none}
  .il-campus__nav{display:grid;height:72px;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;overflow:visible}
  .il-campus__nav button{display:grid;min-width:0;min-height:72px;gap:3px;place-content:center;place-items:center;border-radius:0;padding:7px 2px;border-top:2px solid transparent;font-size:.6rem;line-height:1.2;text-align:center}
  .il-campus__nav button em{display:block;font-size:.56rem}.il-campus__nav button.is-active{border-top-color:var(--g);background:rgba(201,168,76,.075)}
  .il-campus__scrim,.il-campus.is-menu-open .il-campus__scrim,.il-campus__menu{display:none;visibility:hidden}
  .il-campus__top{min-height:88px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:9px 12px;gap:7px 8px}.il-campus__top h3{display:block;grid-row:1;grid-column:2;font-size:.8rem}.il-campus__close{grid-row:1;grid-column:3;justify-self:end;padding:0 10px;font-size:.7rem;white-space:nowrap}.il-campus__top-status{grid-column:1/-1;padding-top:6px;font-size:.7rem;line-height:1.35;text-align:center}
  .campus-demo-notice{padding:11px 16px}.campus-demo-notice span{display:block;margin-top:0;text-align:center}
  .il-campus__content{padding:26px 16px 110px}.campus-view-head{margin-bottom:22px}.campus-title{font-size:2.05rem}.campus-copy{font-size:.9rem}
  .campus-home-layout,.campus-filters,.campus-semesters{grid-template-columns:1fr}.campus-filter-search{grid-column:auto}.aula-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.aula-rail .campus-section-label{grid-column:1/-1}
  .campus-primary,.campus-next{padding:20px}.campus-facts>div{grid-template-columns:1fr;gap:5px}.campus-progress-block>div{align-items:flex-start;flex-direction:column;gap:4px}.aula-course-summary>div{align-items:center;flex-direction:column;gap:4px}
  .campus-filters{gap:10px}.campus-filters select,.campus-filters input{font-size:1rem}
  .aula-tabs{grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.aula-tabs button{width:100%;min-width:0;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:0 8px}.aula-tabs button:nth-last-child(-n+2){border-bottom:0}.aula-tabs button:nth-child(even){border-right:0}
  .aula-unit__open{grid-template-columns:32px minmax(0,1fr);gap:12px}.aula-unit__state{grid-column:2}.aula-unit__check{padding-left:60px}.aula-unit__check input{left:48px}
  .aula-unit__body>span{font-size:.8rem}.aula-detail{padding:20px}.aula-notes{font-size:1rem}
  .aula-demo-screen{min-height:230px;aspect-ratio:auto;grid-template-columns:1fr;justify-items:center;padding:18px;text-align:center}.aula-demo-screen::before{inset:16px}.aula-demo-play{align-self:center}.aula-demo-time{justify-self:center}.aula-demo-controls{grid-template-columns:1fr;gap:8px;padding:14px 18px}.aula-demo-player__body{padding:20px}.aula-demo-player__body h3{font-size:1.2rem}
  .calendar-event{grid-template-columns:1fr;gap:12px}.evidence-row{grid-template-columns:1fr}.evidence-row label{justify-self:stretch}
  .campus-toast{left:16px;right:16px;bottom:16px;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .il-campus,.il-campus *, .il-campus *::before,.il-campus *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
  .campus-loading__line{opacity:1!important}
}

.footer-brand{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:10px}.footer-mark{width:60px;height:60px;background:transparent url('/assets/impulso-libre-oficial.png') center 18%/220% auto no-repeat;filter:invert(1) brightness(1.16) drop-shadow(0 0 14px rgba(201,168,76,.2))}.footer-name{padding-bottom:2px;overflow:visible;font-size:1.1rem;font-weight:700;line-height:1.3}.footer-initiative{margin-top:22px;color:rgba(255,255,255,.58);font-size:.68rem}.footer-initiative a{color:var(--g);font-weight:700;text-decoration:none}.footer-initiative a:hover{text-decoration:underline}.footer-article{margin-top:7px;color:rgba(255,255,255,.28);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1024px){.footer-initiative a{display:inline-flex;min-height:44px;align-items:center}}
@media(max-width:430px){
  .il-campus__close-long{display:none}.il-campus__close-short{display:inline}
  body .sec{padding:72px 18px}
  .view-section .sec>.si>h2{font-size:clamp(2rem,11vw,2.65rem);line-height:1.08}
  .sub{font-size:.9rem;line-height:1.65}
}

/* Comprehensive mobile and tablet composition audit. */
@media(max-width:1024px){
  body .sec{padding:92px 28px}
  body .view-section .sec>.si>.lbl,
  body .view-section .sec>.si>h2,
  body .view-section .sec>.si>.sub{text-align:center}
  body .view-section .sec>.si>.sub{margin-inline:auto}
  body .eval-brief{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;padding:0}
  body #impacto .bg2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:720px){
  body #nav{height:60px;padding:0 16px}
  body #nav.scrolled{background:rgba(0,0,0,.94)}
  body.menu-open #nav{height:100dvh;align-items:flex-start;background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  body.menu-open #nav .ni{width:100%;height:60px;flex:0 0 100%}
  body.menu-open #nav .nb,body.menu-open #nav .ntg{position:relative;z-index:1002}
  body .nb{min-width:170px;flex-wrap:nowrap;gap:9px;font-size:.9rem}
  body .nb .brand-mark{width:42px;height:42px;flex-basis:42px}
  body .nl{height:100dvh;padding:90px 22px 32px;gap:10px;justify-content:flex-start}
  body .nl a{width:min(100%,340px);min-height:54px;border-bottom:1px solid rgba(255,255,255,.07);font-size:1rem!important}
  body .nl .ncta{margin-top:8px;border:1px solid var(--g);border-bottom-color:var(--g);background:transparent;color:var(--gl)!important}
  body .sec{padding:72px 18px}
  body .view-section .sec>.si>h2{font-size:clamp(2.05rem,11vw,3rem);line-height:1.08}
  body .view-section .sec>.si>.lbl{margin-bottom:16px}
  body .view-section .sec>.si>.sub{font-size:.92rem;line-height:1.68}
  body .eval-brief{grid-template-columns:1fr;max-width:520px;margin-top:28px}
  body .eval-brief>div{padding:20px}
  body #impacto .bg2{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  body #planes .pth{padding:34px 18px}
  body #planes .pmt{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
  body #planes .pmt i{padding:14px 10px}
  body #planes .sg{grid-template-columns:1fr;padding:10px}
  body #recorrido .ts{padding:17px 14px}
  body footer{padding-inline:20px}
}
@media(min-width:721px) and (max-width:768px){
  body.menu-open #nav{height:100dvh;align-items:flex-start;background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  body.menu-open #nav .ni{width:100%;height:60px;flex:0 0 100%}
  body.menu-open #nav .nb,body.menu-open #nav .ntg{position:relative;z-index:1002}
  body .nl{height:100dvh;padding:90px 24px 40px;gap:14px;justify-content:flex-start}
  body .nl a{width:min(100%,360px);min-height:58px;border-bottom:1px solid rgba(255,255,255,.07);font-size:1.05rem!important}
  body .nl .ncta{margin-top:10px;border:1px solid var(--g);border-bottom-color:var(--g);background:transparent;color:var(--gl)!important}
}
@media(max-width:430px){
  body .sec{padding:66px 16px}
  body .view-toggle-wrap{padding-inline:16px}
  body #impacto .competitive-guide{padding:14px 16px}
  body #foda .fw{margin-inline:0}
}
