:root {
  --blue: #0057b8;
  --blue-2: #0057b8;
  --navy: #081d5b;
  --yellow: #ffc72c;
  --ink: #10204a;
  --muted: #5f6b86;
  --pale: #f1f6ff;
  --line: #dbe5f6;
  --white: #fff;
  --shadow: 0 18px 50px rgba(19, 49, 113, .12);
}

/* HB Store: selector de líneas, portada y catálogo filtrable. */
.hb-store-page { min-width:320px; overflow-x:hidden; background:#eef3fb; }
.hb-store-page .nav-wrap { gap:13px; }
.hb-store-page .nav { gap:10px; font-size:.76rem; }
.hb-store-page .social-nav span { display:none; }
.hb-cart-button { border:0; cursor:pointer; white-space:nowrap; }
.hb-store-catalog { min-height:calc(100vh - 78px); }
.hb-store-intro { padding:17px 0; color:white; background:linear-gradient(112deg,#071d58,#164dc9 66%,#2367ee); }
.hb-store-intro-grid { min-height:92px; display:flex; justify-content:space-between; align-items:center; gap:28px; }
.hb-store-intro .eyebrow { color:var(--yellow); }
.hb-store-intro h1 { margin:4px 0 3px; color:white; font-size:clamp(2rem,3.5vw,3.7rem); line-height:1; }
.hb-store-intro p { margin:0; color:#dce7ff; font-size:.95rem; }
.hb-store-assurance { min-width:240px; padding:13px 15px; border:1px solid rgba(255,255,255,.25); border-radius:15px; background:rgba(255,255,255,.1); }
.hb-store-assurance strong,.hb-store-assurance span { display:block; }
.hb-store-assurance strong { color:var(--yellow); font-size:.88rem; }
.hb-store-assurance span { margin-top:3px; color:#e5ecff; font-size:.78rem; }

.hb-line-entry { min-height:calc(100vh - 205px); padding:25px 0 50px; display:grid; align-items:center; background:radial-gradient(circle at 10% 90%,rgba(26,91,222,.14),transparent 28%),radial-gradient(circle at 92% 15%,rgba(255,189,32,.2),transparent 25%),#f6f9ff; }
.hb-line-entry[hidden],.hb-line-detail[hidden],.hb-line-panel[hidden],.hb-product-card[hidden],.hb-empty-category[hidden] { display:none; }
.hb-line-entry-heading { margin-bottom:18px; display:flex; justify-content:space-between; align-items:end; gap:28px; }
.hb-line-entry-heading h2 { margin-top:4px; font-size:clamp(1.75rem,3vw,3rem); }
.hb-line-entry-heading > p { max-width:440px; margin:0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.hb-line-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.hb-line-choice { min-width:0; min-height:380px; padding:22px; position:relative; display:grid; grid-template-rows:160px minmax(0,1fr); gap:17px; overflow:hidden; border:1px solid #cbd8ed; border-radius:26px; text-align:left; background:white; box-shadow:0 18px 45px rgba(8,37,97,.1); cursor:pointer; transition:.2s ease; }
.hb-line-choice:hover,.hb-line-choice:focus-visible { transform:translateY(-4px); box-shadow:0 24px 55px rgba(8,37,97,.16); }
.hb-line-choice::before { content:""; height:6px; position:absolute; inset:0 0 auto; background:linear-gradient(90deg,var(--blue),var(--yellow)); }
.hb-premium-choice { color:white; border-color:#26324b; background:linear-gradient(145deg,#070a10,#172038); }
.hb-premium-choice::before { background:linear-gradient(90deg,#e6e9ef,var(--yellow)); }
.hb-choice-number { position:absolute; z-index:2; left:18px; top:17px; width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:var(--navy); background:var(--yellow); font-size:.75rem; font-weight:800; }
.hb-choice-logo { min-height:0; padding:20px 30px; display:grid; place-items:center; border-radius:19px; background:#f7f9fd; }
.hb-choice-logo img { max-width:100%; max-height:120px; object-fit:contain; }
.hb-campus-logo img { width:min(420px,90%); }
.hb-premium-logo { grid-template-columns:auto auto; gap:18px; color:white; background:#05070b; }
.hb-premium-logo img { width:126px; height:126px; }
.hb-premium-logo b { width:92px; height:92px; display:grid; place-items:center; border:3px solid white; border-radius:24px; font-size:2.2rem; letter-spacing:-.08em; }
.hb-choice-copy > strong { color:var(--navy); font-size:1.55rem; }
.hb-choice-copy p { margin:8px 0 17px; color:var(--muted); font-size:.9rem; line-height:1.52; }
.hb-choice-copy > span { display:flex; justify-content:space-between; align-items:center; color:var(--blue); font-size:.9rem; font-weight:800; }
.hb-choice-copy > span b { font-size:1.2rem; }
.hb-premium-choice .hb-choice-copy > strong,.hb-premium-choice .hb-choice-copy > span { color:white; }
.hb-premium-choice .hb-choice-copy p { color:#c8d1e1; }
.hb-premium-choice .hb-choice-copy > span b { color:var(--yellow); }

.hb-line-detail { min-height:calc(100vh - 78px); background:#eef3fb; scroll-margin-top:78px; }
.hb-line-toolbar { min-height:54px; padding:7px max(18px,calc((100vw - 1180px)/2)); position:sticky; z-index:24; top:78px; display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:center; border-bottom:1px solid #cbd7ea; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.hb-line-toolbar button { min-height:38px; padding:8px 11px; border:1px solid #c7d4e8; border-radius:10px; color:var(--blue); background:white; font-size:.76rem; font-weight:800; cursor:pointer; }
.hb-line-toolbar button:last-child { justify-self:end; color:var(--navy); border-color:var(--yellow); background:var(--yellow); }
.hb-line-toolbar strong { color:var(--navy); font-size:.82rem; }
.hb-line-panel { padding:20px 0 70px; }
.hb-line-shell { display:grid; gap:18px; }
.hb-line-hero { min-height:405px; display:grid; grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr); gap:16px; padding:17px; overflow:hidden; border-radius:27px; color:white; background:linear-gradient(135deg,#09266c,#1760da); box-shadow:0 18px 48px rgba(8,37,97,.14); }
.hb-premium-panel .hb-line-hero { background:linear-gradient(135deg,#05070b,#172139); }
.hb-line-story { min-width:0; padding:21px; display:flex; flex-direction:column; justify-content:center; }
.hb-line-story > span { color:var(--yellow); font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hb-line-wordmark { width:220px; height:78px; margin-top:14px; padding:8px; object-fit:contain; border-radius:12px; background:white; }
.hb-line-story h2 { margin:11px 0 8px; color:white; font-size:clamp(2rem,3.6vw,3.7rem); line-height:1; }
.hb-line-story > p { margin:0; color:#dae5ff; font-size:.92rem; line-height:1.5; }
.hb-campus-cobrand { margin-top:17px; padding:9px 11px; display:grid; grid-template-columns:1fr auto 1fr; gap:11px; align-items:center; border-radius:14px; background:white; }
.hb-campus-cobrand img { width:100%; height:58px; object-fit:contain; }
.hb-campus-cobrand i { color:#7a89a8; font-size:1.25rem; font-style:normal; }
.hb-line-cover { min-width:0; min-height:0; margin:0; position:relative; overflow:hidden; border-radius:20px; background:#f5f6f8; }
.hb-line-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.hb-campus-panel .hb-line-cover img { object-fit:contain; }
.hb-line-cover figcaption { position:absolute; left:13px; bottom:13px; padding:8px 10px; border-radius:10px; color:white; background:rgba(5,15,38,.78); font-size:.75rem; font-weight:800; }
.hb-premium-lockup { margin-top:14px; display:flex; align-items:center; gap:14px; }
.hb-premium-lockup img { width:94px; height:94px; object-fit:contain; }
.hb-premium-lockup b { width:70px; height:70px; display:grid; place-items:center; border:2px solid white; border-radius:18px; font-size:1.55rem; }
.hb-line-tags { margin-top:16px; display:flex; flex-wrap:wrap; gap:7px; }
.hb-line-tags span { padding:7px 9px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.07); font-size:.73rem; font-weight:800; }

.hb-catalog-heading { margin-top:4px; display:flex; justify-content:space-between; align-items:end; gap:24px; }
.hb-catalog-heading h3 { margin-top:4px; color:var(--navy); font-size:1.7rem; }
.hb-catalog-heading > p { margin:0; color:var(--muted); font-size:.88rem; }
.hb-category-filters { padding:3px 2px 9px; display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; }
.hb-category-filters button { flex:0 0 auto; min-height:43px; padding:8px 12px; display:flex; align-items:center; gap:8px; border:1px solid #cbd7e9; border-radius:999px; color:var(--navy); background:white; font-size:.78rem; font-weight:800; cursor:pointer; }
.hb-category-filters button:hover { border-color:var(--blue); }
.hb-category-filters button.active { color:white; border-color:var(--blue); background:linear-gradient(110deg,var(--navy),var(--blue)); }
.hb-category-filters button span { min-width:22px; height:22px; padding:0 5px; display:grid; place-items:center; border-radius:999px; color:var(--blue); background:#e8efff; font-size:.68rem; }
.hb-category-filters button.active span { color:var(--navy); background:var(--yellow); }
.hb-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.hb-product-card { min-width:0; min-height:390px; display:grid; grid-template-rows:220px minmax(0,1fr); overflow:hidden; border:1px solid #ccd8ea; border-radius:20px; background:white; box-shadow:0 12px 30px rgba(8,37,97,.08); }
.hb-product-card > img { width:100%; height:100%; padding:9px; object-fit:contain; background:#f5f6f8; }
.hb-product-card > div { min-width:0; padding:15px; display:flex; flex-direction:column; }
.hb-product-card small { color:var(--blue); font-size:.73rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.hb-product-card h4 { margin:6px 0 4px; color:var(--navy); font-size:1.08rem; }
.hb-product-card p { margin:0 0 14px; color:var(--muted); font-size:.84rem; line-height:1.4; }
.hb-product-card footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.hb-product-card footer strong { color:var(--navy); font-size:1.2rem; }
.hb-product-card footer button { min-height:42px; padding:9px 12px; border:0; border-radius:11px; color:white; background:var(--blue); font-size:.76rem; font-weight:800; cursor:pointer; }
.hb-product-card footer button:hover { background:var(--navy); }
.hb-empty-category { min-height:210px; padding:28px; display:grid; place-items:center; align-content:center; border:1px dashed #9eafd0; border-radius:20px; background:white; text-align:center; }
.hb-empty-category strong { color:var(--navy); font-size:1.15rem; }
.hb-empty-category p { max-width:520px; margin:7px 0 0; color:var(--muted); font-size:.9rem; }

@media (max-width:1050px) {
  .hb-store-page .nav { font-size:.7rem; gap:7px; }
  .hb-line-choice { min-height:395px; }
  .hb-line-hero { grid-template-columns:minmax(285px,.8fr) minmax(0,1.2fr); }
  .hb-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .hb-store-intro { padding:14px 0; }
  .hb-store-intro-grid { min-height:82px; }
  .hb-store-assurance { display:none; }
  .hb-store-intro h1 { font-size:2.35rem; }
  .hb-store-intro p { font-size:.86rem; }
  .hb-line-entry { min-height:0; padding:20px 0 88px; align-items:start; }
  .hb-line-entry-heading { display:block; }
  .hb-line-entry-heading h2 { font-size:2.15rem; }
  .hb-line-entry-heading > p { margin-top:9px; font-size:.88rem; }
  .hb-line-choice-grid { grid-template-columns:1fr; }
  .hb-line-choice { min-height:350px; padding:17px; grid-template-rows:138px minmax(0,1fr); }
  .hb-choice-logo { padding:16px 22px; }
  .hb-premium-logo img { width:108px; height:108px; }
  .hb-premium-logo b { width:76px; height:76px; font-size:1.8rem; }
  .hb-choice-copy > strong { font-size:1.35rem; }
  .hb-choice-copy p { font-size:.86rem; }
  .hb-line-detail { min-height:calc(100vh - 68px); scroll-margin-top:68px; }
  .hb-line-toolbar { min-height:50px; top:68px; padding:6px 10px; grid-template-columns:1fr auto; }
  .hb-line-toolbar strong { display:none; }
  .hb-line-toolbar button { font-size:.7rem; }
  .hb-line-panel { padding:10px 0 85px; }
  .hb-line-shell { width:min(100% - 20px,1180px); gap:14px; }
  .hb-line-hero { min-height:0; grid-template-columns:1fr; padding:11px; border-radius:21px; }
  .hb-line-story { padding:17px 13px; }
  .hb-line-story h2 { font-size:2.35rem; }
  .hb-line-story > p { font-size:.87rem; }
  .hb-line-wordmark { width:190px; height:68px; }
  .hb-line-cover { min-height:260px; }
  .hb-campus-cobrand img { height:48px; }
  .hb-catalog-heading { display:block; }
  .hb-catalog-heading h3 { font-size:1.5rem; }
  .hb-catalog-heading > p { margin-top:5px; font-size:.82rem; }
  .hb-category-filters { margin-right:-10px; }
  .hb-product-grid { grid-template-columns:1fr; }
  .hb-product-card { min-height:365px; grid-template-rows:210px minmax(0,1fr); }
  .hb-product-card footer { align-items:stretch; flex-direction:column; }
  .hb-product-card footer button { width:100%; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family:Poppins, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
.skip { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: white; padding: .8rem 1rem; border-radius: 12px; }
.skip:focus { top: 1rem; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
  position: sticky; top: 0; z-index: 40;
  border-bottom: 1px solid rgba(219,229,246,.9);
  background: rgba(255,255,255,.94); backdrop-filter: blur(14px);
}
.nav-wrap { min-height: 78px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight:800; color: var(--blue); font-size: 1.25rem; white-space: nowrap; }
.brand-mark { width: 40px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 13px 13px 18px 8px; background: var(--yellow); color: var(--navy); font-size: 1.3rem; box-shadow: inset 0 -8px 0 rgba(18,56,184,.12); }
.nav { margin-left: auto; display: flex; align-items: center; gap: 22px; font-weight:800; font-size: .91rem; }
.nav a { padding-block: 10px; border-bottom: 3px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--blue); border-color: var(--yellow); }
.nav-cta, .btn { border: 0; border-radius: 999px; font-weight:800; display: inline-flex; justify-content: center; align-items: center; gap: 8px; transition: transform .2s ease, box-shadow .2s ease; }
.nav-cta { padding: 12px 19px; background: var(--yellow); color: var(--navy); }
.btn { padding: 14px 21px; background: var(--yellow); color: var(--navy); box-shadow: 0 9px 20px rgba(255,189,32,.25); }
.btn.secondary { color: var(--blue); background: white; border: 1.5px solid var(--blue); box-shadow: none; }
.btn:hover, .nav-cta:hover { transform: translateY(-2px); }
.menu { display: none; margin-left: auto; border: 0; background: var(--pale); border-radius: 12px; padding: 10px 13px; color: var(--navy); font-size: 1.2rem; }

.hero { overflow: hidden; background: radial-gradient(circle at 78% 30%, rgba(55,110,255,.22), transparent 31%), linear-gradient(135deg, #fff 0%, #f3f7ff 62%, #e9f1ff 100%); }
.hero-grid { min-height: 565px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 38px; padding-block: 54px 42px; }
.eyebrow { color: var(--blue); font-weight:800; letter-spacing: .19em; font-size: .78rem; text-transform: uppercase; }
h1, h2, h3 { margin: 0; color: var(--navy); line-height: 1.02; letter-spacing: -.04em; }
h1 { margin-top: 14px; font-size: clamp(3.2rem, 5.5vw, 5.45rem); max-width: 760px; }
h2 { font-size: clamp(2rem, 3.7vw, 3.4rem); }
h3 { font-size: 1.3rem; letter-spacing: -.02em; line-height: 1.2; }
.lead { color: #35456d; font-size: clamp(1.05rem, 1.7vw, 1.28rem); max-width: 650px; margin: 20px 0 28px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-art { position: relative; min-height: 465px; display: grid; place-items: end center; }
.hero-orbit { position: absolute; inset: 6% 0 2% 0; border-radius: 48% 52% 45% 55%; background: linear-gradient(135deg, var(--blue), #4b7cff); transform: rotate(-4deg); }
.hero-orbit::after { content: ""; position: absolute; width: 55%; aspect-ratio: 1; border: 2px dashed rgba(255,255,255,.42); border-radius: 50%; right: 4%; top: 5%; }
.alma-img { position: relative; z-index: 2; width: min(390px, 82%); height: 445px; object-fit: cover; object-position: 50% 23%; border-radius: 46% 46% 28px 28px; mix-blend-mode: multiply; }
.alma-tag { position: absolute; z-index: 3; right: 0; top: 55px; width: 245px; border: 1px solid rgba(255,255,255,.7); border-radius: 18px; background: rgba(255,255,255,.93); padding: 15px; box-shadow: var(--shadow); }
.alma-tag strong { color: var(--blue); font-size: 1.25rem; display: block; }
.alma-tag span { color: var(--muted); font-size: .9rem; }
.proofs { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: -26px; position: relative; z-index: 4; }
.proof { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 30px rgba(18,56,184,.08); display: flex; gap: 11px; align-items: center; font-weight:800; }
.proof b { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--blue); color: white; }

.section { padding-block: 86px; }
.section.soft { background: var(--pale); }
.section.navy { background: var(--navy); color: white; }
.section.navy h2, .section.navy h3 { color: white; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 32px; }
.section-head p { max-width: 580px; color: var(--muted); margin: 0; }
.section.navy .section-head p { color: #c8d5ff; }
.cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 26px; box-shadow: 0 12px 34px rgba(19,49,113,.07); }
.card-link { min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; transition: transform .2s ease, box-shadow .2s ease; overflow: hidden; position: relative; }
.card-link:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.card-link::after { content: attr(data-number); position: absolute; right: 18px; top: -28px; color: rgba(18,56,184,.07); font-weight:800; font-size: 8rem; }
.card-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; color: white; background: var(--blue); font-size: 1.35rem; }
.card p { color: var(--muted); margin: 10px 0 0; }
.go { color: var(--blue); font-weight:800; margin-top: 20px; }
.band { margin-top: 22px; border-radius: 22px; padding: 22px 26px; background: linear-gradient(90deg, #e4eeff, #fff6d9); display: flex; align-items: center; gap: 18px; }
.band strong { font-size: 1.3rem; color: var(--navy); }
.band p { margin: 2px 0 0; color: var(--muted); }

.page-hero { background: linear-gradient(135deg,#f8fbff,#e9f2ff); padding: 62px 0 48px; }
.page-hero .split { display: grid; grid-template-columns: 1fr .8fr; gap: 36px; align-items: center; }
.page-hero h1 { font-size: clamp(3rem, 5vw, 5rem); }
.visual-panel { border-radius: 28px; min-height: 330px; background: linear-gradient(135deg,var(--navy),var(--blue-2)); color: white; padding: 30px; display: flex; flex-direction: column; justify-content: end; position: relative; overflow: hidden; box-shadow: var(--shadow); }
.visual-panel::before { content:""; position:absolute; width:280px; height:280px; border-radius:50%; border:2px dashed rgba(255,255,255,.35); right:-40px; top:-70px; }
.visual-panel strong { font-size: 1.7rem; max-width: 410px; position: relative; }
.visual-panel span { color: #d7e2ff; position: relative; }
.campus-mascot-panel { min-height:360px; padding:0; display:block; background:linear-gradient(145deg,#eaf2ff,#fff7dd); }
.campus-mascot-panel::before { border-color:rgba(18,56,184,.25); }
.campus-mascot-panel > img { position:absolute; z-index:1; left:-2%; bottom:-5%; width:78%; height:106%; object-fit:contain; object-position:left bottom; }
.campus-mascot-copy { position:absolute; z-index:2; right:20px; bottom:20px; width:52%; padding:16px 18px; border-radius:18px; background:rgba(8,29,91,.92); box-shadow:0 14px 34px rgba(8,29,91,.22); }
.campus-mascot-copy strong,.campus-mascot-copy span { display:block; }
.campus-mascot-copy strong { color:#fff; font-size:1.15rem; line-height:1.15; }
.campus-mascot-copy span { margin-top:6px; color:#d7e2ff; font-size:.82rem; }
.tabs, .filters { display: flex; gap: 10px; flex-wrap: wrap; margin: 28px 0; }
.tab, .filter { border: 1px solid var(--line); background: white; color: var(--blue); padding: 11px 16px; border-radius: 999px; font-weight:800; }
.tab.active, .filter.active { background: var(--blue); color: white; border-color: var(--blue); }
.tab-panel { display: none; }
.tab-panel.active { display: grid; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.stat { padding: 28px; border-radius: 22px; background: white; border: 1px solid var(--line); }
.stat b { color: var(--blue); font-size: 2rem; display: block; }
.stat span { color: var(--muted); }

.cycle { display: grid; grid-template-columns: .8fr 1.2fr; gap: 42px; align-items: center; }
.cycle-ring { aspect-ratio: 1; border-radius: 50%; border: 28px solid #dfe9ff; position: relative; display: grid; place-items: center; background: white; box-shadow: var(--shadow); }
.cycle-ring strong { width: 40%; text-align: center; color: var(--blue); font-size: 1.4rem; }
.cycle-nodes { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.node { border-radius: 18px; padding: 20px; background: white; border: 1px solid var(--line); }
.node b { color: var(--blue); display: block; margin-bottom: 5px; }

.products { display: grid; grid-template-columns: repeat(4,1fr); gap: 17px; }
.product { background:white; border:1px solid var(--line); border-radius:22px; padding:18px; }
.product-art { height: 190px; border-radius: 16px; background: linear-gradient(135deg,#e8efff,#fff4cf); display:grid; place-items:center; font-size:4rem; margin-bottom:16px; }
.price { color: var(--blue); font-weight:800; font-size: 1.18rem; }
.product button { width: 100%; border: 0; border-radius: 12px; padding: 11px; background: var(--blue); color: white; font-weight:800; margin-top: 14px; }
.cart-pill { position: fixed; right: 20px; bottom: 20px; z-index: 30; border: 0; border-radius: 999px; background: var(--yellow); color: var(--navy); font-weight:800; padding: 14px 18px; box-shadow: var(--shadow); }

.store-hero { overflow: hidden; padding: 64px 0 56px; background: radial-gradient(circle at 84% 12%, rgba(39,93,239,.22), transparent 30%), linear-gradient(135deg,#fff 0%,#f4f7ff 58%,#e7efff 100%); }
.store-hero-grid { min-height: 500px; display: grid; grid-template-columns: 1fr .86fr; gap: 46px; align-items: center; }
.store-brand-wall { position: relative; min-height: 440px; border-radius: 34px; overflow: hidden; background: #080b12; box-shadow: 0 26px 70px rgba(7,18,56,.24); }
.store-brand-wall > img { position: absolute; right: -2%; bottom: -5%; width: 70%; height: 77%; object-fit: cover; object-position: 50% 42%; border-radius: 44% 0 0 0; mix-blend-mode: screen; }
.institutional-seal { position: absolute; z-index: 2; left: 28px; top: 28px; width: 54%; min-height: 168px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border-radius: 24px; color: white; background: linear-gradient(145deg,var(--blue),#285ff0); box-shadow: 0 15px 35px rgba(0,0,0,.3); }
.institutional-seal .brand-mark { margin-bottom: 12px; }
.institutional-seal strong { font-size: 1.55rem; letter-spacing: .08em; }
.institutional-seal small { margin-top: 3px; color: #d8e3ff; letter-spacing: .12em; }
.store-choice { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.line-card { min-height: 390px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 34px; border-radius: 28px; overflow: hidden; position: relative; transition: transform .2s ease, box-shadow .2s ease; }
.line-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.line-card h3 { font-size: clamp(1.8rem,3vw,2.8rem); }
.line-card p { max-width: 520px; margin: 12px 0 20px; }
.line-label { position: absolute; top: 28px; left: 32px; font-size: .78rem; font-weight:800; letter-spacing: .13em; text-transform: uppercase; }
.line-link { font-weight:800; }
.institutional-line { color: white; background: radial-gradient(circle at 85% 10%,rgba(255,189,32,.95) 0 8%,transparent 28%), linear-gradient(145deg,var(--blue),var(--navy)); }
.institutional-line h3, .institutional-line .line-link { color: white; }
.institutional-line p, .institutional-line .line-label { color: #dce5ff; }
.institutional-mini { margin-bottom: 18px; display: flex; align-items: center; gap: 12px; color: white; font-size: 1.4rem; font-weight:800; }
.honey-line { color: #dce2ec; background: radial-gradient(circle at 90% 15%,rgba(38,105,255,.23),transparent 27%),#090b10; }
.honey-line img { width: min(390px,85%); margin-bottom: 14px; background: white; border-radius: 18px; }
.honey-line .line-label { color: #a9b5c7; }
.honey-line .line-link { color: var(--yellow); }
.institutional-shop { background: var(--pale); }
.collection-intro { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; margin-bottom: 34px; }
.collection-note { min-width: 285px; padding: 21px 24px; border-radius: 18px; background: white; border: 1px solid var(--line); }
.collection-note strong, .collection-note span, .collection-note small { display: block; }
.collection-note strong { color: var(--blue); }
.collection-note span { margin: 5px 0; font-weight:800; }
.collection-note small { color: var(--muted); }
.institutional-art { color: var(--navy); background: linear-gradient(150deg,#fff 0 55%,var(--yellow) 55%); flex-direction: column; font-size: 1rem; letter-spacing: .16em; }
.institutional-art b { color: var(--blue); font-size: 1.65rem; letter-spacing: -.03em; text-transform: none; }
.institutional-art.dark { color: white; background: linear-gradient(150deg,var(--navy) 0 60%,var(--yellow) 60%); }
.institutional-art.dark b { color: white; }
.institutional-art.practice { background: linear-gradient(150deg,#fff 0 58%,#c9d8ff 58%); }
.institutional-art.cap { color: white; background: linear-gradient(150deg,var(--blue) 0 58%,#fff 58%); }
.institutional-art.cap b { color: white; }
.honey-shop { color: #e5e9f1; background: #090b10; }
.honey-shop h2, .honey-shop h3 { color: white; }
.honey-showcase { display: grid; grid-template-columns: .72fr 1.28fr; gap: 30px; align-items: center; }
.honey-copy p { color: #b8c1d0; font-size: 1.08rem; }
.honey-wordmark { width: min(430px,100%); margin-bottom: 25px; border-radius: 20px; background: white; }
.lookbook { width: 100%; border-radius: 28px; box-shadow: 0 24px 70px rgba(0,0,0,.45); }
.honey-values { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.honey-values span { padding: 8px 11px; border: 1px solid #303847; border-radius: 999px; color: #dce2ec; font-size: .8rem; font-weight:800; }
.logo-system { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin: 42px 0; }
.logo-system > div { display: grid; grid-template-columns: 110px 1fr; align-items: center; column-gap: 18px; padding: 18px; border: 1px solid #2a303b; border-radius: 20px; background: #11151c; }
.logo-system img { width: 110px; aspect-ratio: 1; object-fit: cover; border-radius: 16px; }
.logo-system strong, .logo-system span { grid-column: 2; }
.logo-system span { color: #aeb8c9; font-size: .9rem; }
.honey-products .product { color: var(--ink); border-color: #252d3a; }
.honey-product-art { background: #eceef2; overflow: hidden; }
.honey-product-art img { width: 54%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; mix-blend-mode: multiply; }
.honey-product-art.navy { background: #0c1836; }
.honey-product-art.white { background: #fff; }
.honey-product-art.black { background: #07090d; }
.honey-product-art.navy img, .honey-product-art.black img { mix-blend-mode: screen; }
.store-proofs { margin-top: 30px; }
.store-proofs .proof { color: var(--ink); border-color: #252d3a; }

.feed-layout { display: grid; grid-template-columns: 210px minmax(0,1fr) 290px; gap: 18px; }
.side-card { background:white; border:1px solid var(--line); border-radius:22px; padding:18px; align-self:start; }
.side-card a { display:block; padding:10px 12px; border-radius:10px; font-weight:700; }
.side-card a:first-child { background:var(--pale); color:var(--blue); }
.post { background:white; border:1px solid var(--line); border-radius:20px; padding:20px; margin-bottom:14px; }
.post small { color:var(--muted); }
.post p { color:#44516e; }
.post-actions { display:flex; gap:18px; color:var(--muted); font-weight:700; font-size:.88rem; }
.opportunity { padding:14px 0; border-bottom:1px solid var(--line); }
.opportunity:last-child { border:0; }

.program-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.program { display:flex; flex-direction:column; min-height:260px; }
.program[data-hidden="true"], .post[data-hidden="true"] { display:none; }
.program .badge { align-self:flex-start; background:#fff2bf; color:#694d00; border-radius:999px; padding:6px 10px; font-size:.8rem; font-weight:800; }
.program ul { padding-left:18px; color:var(--muted); }
.program .go { margin-top:auto; }

.programs-hero { padding: 56px 0 50px; background: radial-gradient(circle at 89% 12%,rgba(255,189,32,.32),transparent 25%),linear-gradient(135deg,#fff,#edf3ff); }
.programs-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:42px; }
.programs-hero h1 { font-size:clamp(2.8rem,5vw,4.9rem); }
.modality-summary { display:grid; grid-template-columns:repeat(2,1fr); overflow:hidden; border-radius:28px; background:var(--navy); box-shadow:var(--shadow); }
.modality-summary > div { min-height:245px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; color:white; }
.modality-summary > div + div { background:var(--blue); }
.modality-summary b { color:var(--yellow); font-size:3.7rem; line-height:1; }
.modality-summary strong { margin:10px 0 5px; font-size:1.15rem; }
.modality-summary span { color:#d4dfff; }
.area-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.area-card { min-height:245px; padding:24px; border:1px solid var(--line); border-radius:22px; background:white; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .2s ease,box-shadow .2s ease; }
.area-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.area-card::after { content:""; position:absolute; right:-42px; top:-42px; width:125px; height:125px; border-radius:50%; background:var(--area-color,#dce7ff); opacity:.72; }
.area-card > span { color:var(--blue); font-weight:800; }
.area-card h3 { margin-top:auto; position:relative; z-index:1; }
.area-card p { color:var(--muted); margin:9px 0 18px; }
.area-card b { color:var(--blue); font-size:.9rem; }
.area-social { --area-color:#ffe092; }.area-admin { --area-color:#bdd1ff; }.area-tech { --area-color:#b9f0eb; }.area-industry { --area-color:#ffd0a3; }.area-logistics { --area-color:#c9c5ff; }.area-health { --area-color:#bfe8d1; }.area-food { --area-color:#ffe5a9; }.area-agro { --area-color:#cde9a8; }
.catalog-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:30px; }
.catalog-head > div:first-child { max-width:690px; }
.catalog-head p { color:var(--muted); }
.catalog-head .filters { flex-shrink:0; }
.program-area { margin-top:22px; scroll-margin-top:100px; }
.program-area[hidden] { display:none; }
.program-area-title { display:flex; gap:15px; align-items:center; padding:20px 24px; color:white; background:linear-gradient(115deg,var(--navy),var(--blue)); border-radius:20px 20px 0 0; }
.program-area-title > span { width:45px; height:45px; display:grid; place-items:center; border-radius:14px; color:var(--navy); background:var(--yellow); font-weight:800; }
.program-area-title h3 { color:white; }
.program-area-title p { margin:3px 0 0; color:#d5e0ff; }
.program-list { background:white; border:1px solid var(--line); border-top:0; border-radius:0 0 20px 20px; overflow:hidden; }
.program-row { display:grid; grid-template-columns:minmax(240px,1.2fr) minmax(250px,.8fr) auto; gap:18px; align-items:center; padding:21px 24px; border-bottom:1px solid var(--line); }
.program-row:last-child { border-bottom:0; }
.program-row[data-hidden="true"] { display:none; }
.program-row h4 { margin:0; color:var(--navy); font-size:1.08rem; line-height:1.25; }
.program-row p { margin:5px 0 0; color:var(--muted); }
.program-row > a { color:var(--blue); font-weight:800; white-space:nowrap; }
.program-modalities { display:flex; flex-wrap:wrap; gap:7px; }
.mode { padding:7px 10px; border-radius:999px; font-size:.78rem; font-weight:800; white-space:nowrap; }
.mode.onsite { color:#174329; background:#dff5e8; }
.mode.remote { color:#113583; background:#e2ebff; }
.detail-flow { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; counter-reset:none; }
.detail-flow li { min-height:175px; padding:22px; border:1px solid var(--line); border-radius:20px; background:white; display:flex; flex-direction:column; }
.detail-flow b { color:var(--blue); font-size:1.65rem; }
.detail-flow strong { margin-top:auto; color:var(--navy); }
.detail-flow span { margin-top:5px; color:var(--muted); font-size:.92rem; }

.alma-fab { position: fixed; right: 22px; bottom: 22px; z-index: 35; border: 0; border-radius: 999px; background: var(--blue); color: white; padding: 13px 18px; font-weight:800; box-shadow: var(--shadow); }
.alma-panel { position: fixed; right: 22px; bottom: 82px; z-index: 35; width: min(370px, calc(100% - 32px)); background:white; border:1px solid var(--line); border-radius:22px; padding:20px; box-shadow:var(--shadow); display:none; }
.alma-panel.open { display:block; }
.alma-panel header { display:flex; align-items:center; gap:12px; }
.alma-panel img { width:54px; height:54px; object-fit:cover; object-position:50% 18%; border-radius:50%; }
.alma-panel p { color:var(--muted); }
.alma-panel form { display:flex; gap:8px; }
.alma-panel input { min-width:0; flex:1; border:1px solid var(--line); border-radius:12px; padding:11px; }
.alma-panel button { border:0; border-radius:12px; background:var(--yellow); color:var(--navy); font-weight:800; padding:10px 14px; }
.alma-answer { background:var(--pale); border-radius:12px; padding:11px; font-size:.9rem; display:none; }

.footer { background:#061647; color:#dce5ff; padding:45px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:30px; }
.footer strong { color:white; }
.footer a { display:block; margin-top:8px; }
.footer small { display:block; margin-top:28px; color:#aebde9; }

@media (max-width: 980px) {
  .menu { display:block; }
  .nav { position:absolute; left:20px; right:20px; top:68px; background:white; border:1px solid var(--line); border-radius:20px; padding:16px; box-shadow:var(--shadow); display:none; flex-direction:column; align-items:stretch; gap:4px; }
  .nav.open { display:flex; }
  .nav a { padding:11px; }
  .nav-cta { display:none; }
  .hero-grid, .page-hero .split, .cycle { grid-template-columns:1fr; }
  .store-hero-grid, .honey-showcase { grid-template-columns:1fr; }
  .hero-grid { padding-top:40px; }
  .hero-art { min-height:390px; }
  .proofs { grid-template-columns:repeat(2,1fr); margin-top:16px; }
  .grid-3, .program-grid { grid-template-columns:repeat(2,1fr); }
  .programs-hero-grid { grid-template-columns:1fr; }
  .area-grid, .detail-flow { grid-template-columns:repeat(2,1fr); }
  .catalog-head { align-items:flex-start; flex-direction:column; }
  .program-row { grid-template-columns:1fr; }
  .products { grid-template-columns:repeat(2,1fr); }
  .feed-layout { grid-template-columns:1fr; }
  .store-brand-wall { min-height:380px; }
  .feed-layout .side-card:first-child { display:none; }
}

@media (max-width: 620px) {
  .container { width:min(100% - 26px,1160px); }
  .nav-wrap { min-height:68px; }
  .brand { font-size:1.08rem; }
  .brand-mark { width:35px; }
  h1 { font-size:clamp(2.65rem,13vw,4rem); }
  .lead { margin:16px 0 22px; }
  .hero-grid { min-height:auto; }
  .hero-art { min-height:330px; }
  .hero-orbit { inset:7% 0 0; }
  .alma-img { height:320px; width:82%; }
  .alma-tag { top:12px; right:0; width:190px; padding:11px; }
  .proofs, .cards, .grid-3, .cycle-nodes, .products, .program-grid { grid-template-columns:1fr; }
  .area-grid, .detail-flow, .modality-summary { grid-template-columns:1fr; }
  .modality-summary > div { min-height:180px; }
  .programs-hero { padding-top:38px; }
  .program-row { padding:19px; }
  .store-choice, .logo-system, .collection-intro { grid-template-columns:1fr; }
  .line-card { min-height:340px; padding:26px; }
  .line-label { top:22px; left:25px; }
  .collection-note { min-width:0; }
  .store-hero-grid { min-height:auto; }
  .store-brand-wall { min-height:330px; }
  .institutional-seal { left:18px; top:18px; width:60%; min-height:145px; padding:18px; }
  .logo-system > div { grid-template-columns:82px 1fr; }
  .logo-system img { width:82px; }
  .section { padding-block:58px; }
  .section-head { align-items:start; flex-direction:column; gap:12px; }
  .card-link { min-height:220px; }
  .band { align-items:flex-start; }
  .cycle-ring { border-width:20px; }
  .page-hero { padding-top:42px; }
  .visual-panel { min-height:260px; }
  .footer-grid { grid-template-columns:1fr; }
  .alma-fab { left:16px; right:16px; text-align:center; }
  .cart-pill { left:16px; right:16px; text-align:center; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; transition:none !important; }
}

/* Explorador de programas: toda la decisión principal ocurre dentro de la pantalla. */
.programs-page { overflow:hidden; background:var(--pale); }
.programs-page #contenido { height:calc(100vh - 78px); display:grid; grid-template-columns:270px minmax(0,1fr); grid-template-rows:122px minmax(0,1fr); overflow:hidden; }
.programs-page .programs-hero { grid-column:1 / -1; grid-row:1; padding:20px 0; border-bottom:1px solid var(--line); }
.programs-page .programs-hero-grid { min-height:0; height:82px; grid-template-columns:minmax(0,1fr) auto; gap:28px; }
.programs-page .programs-hero h1 { margin-top:5px; font-size:clamp(1.75rem,2.5vw,2.65rem); }
.programs-page .programs-hero .lead,.programs-page .programs-hero .actions { display:none; }
.programs-page .modality-summary { display:flex; border-radius:18px; box-shadow:none; }
.programs-page .modality-summary > div { min-height:82px; width:220px; padding:12px 17px; justify-content:center; }
.programs-page .modality-summary b { font-size:1.9rem; }
.programs-page .modality-summary strong { margin:2px 0 0; font-size:.86rem; }
.programs-page .modality-summary span { display:none; }
.programs-page #areas { grid-column:1; grid-row:2; padding:18px 12px 18px 20px; overflow:hidden; background:white; border-right:1px solid var(--line); }
.programs-page #areas .container,.programs-page #catalogo .container { width:100%; height:100%; }
.programs-page #areas .section-head { display:none; }
.programs-page .area-grid { height:100%; display:flex; flex-direction:column; gap:7px; overflow:auto; padding-right:8px; }
.programs-page .area-card { min-height:0; padding:13px 14px; display:grid; grid-template-columns:32px 1fr; column-gap:10px; align-items:center; border-radius:14px; box-shadow:none; flex:1 0 auto; }
.programs-page .area-card:hover { transform:none; box-shadow:none; border-color:#aac0ef; }
.programs-page .area-card.active { color:white; border-color:var(--blue); background:linear-gradient(115deg,var(--navy),var(--blue)); }
.programs-page .area-card::after,.programs-page .area-card p,.programs-page .area-card b { display:none; }
.programs-page .area-card > span { grid-row:1; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:#e8efff; font-size:.78rem; }
.programs-page .area-card h3 { grid-column:2; margin:0; font-size:.92rem; line-height:1.15; letter-spacing:-.01em; }
.programs-page .area-card.active h3 { color:white; }
.programs-page .area-card.active > span { color:var(--navy); background:var(--yellow); }
.programs-page #catalogo { grid-column:2; grid-row:2; padding:18px 24px 22px; overflow:auto; scroll-behavior:smooth; }
.programs-page .catalog-head { margin-bottom:14px; align-items:center; }
.programs-page .catalog-head h2 { font-size:1.75rem; }
.programs-page .catalog-head p { display:none; }
.programs-page .catalog-head .filters { margin:0; }
.programs-page .program-area { margin:0; }
.programs-page .program-area-title { padding:13px 18px; border-radius:16px 16px 0 0; }
.programs-page .program-area-title > span { width:36px; height:36px; border-radius:10px; }
.programs-page .program-area-title h3 { font-size:1.05rem; }
.programs-page .program-area-title p { font-size:.82rem; }
.programs-page .program-row { min-height:72px; padding:12px 18px; grid-template-columns:minmax(230px,1.1fr) minmax(250px,.8fr) auto; gap:12px; }
.programs-page .program-row h4 { font-size:.96rem; }
.programs-page .program-row p { display:none; }
.programs-page .mode { font-size:.72rem; padding:6px 8px; }
.programs-page .program-row > a { font-size:.82rem; }
.programs-page #ficha-programa,.programs-page > .footer { display:none; }

@media (max-width:980px) {
  .programs-page #contenido { height:calc(100vh - 78px); grid-template-columns:1fr; grid-template-rows:105px 84px minmax(0,1fr); }
  .programs-page .programs-hero { grid-column:1; grid-row:1; padding:12px 0; }
  .programs-page .programs-hero-grid { height:81px; }
  .programs-page .programs-hero h1 { font-size:1.65rem; }
  .programs-page .programs-hero .eyebrow { display:none; }
  .programs-page .modality-summary > div { width:170px; }
  .programs-page #areas { grid-column:1; grid-row:2; padding:9px 14px; border-right:0; border-bottom:1px solid var(--line); }
  .programs-page .area-grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(175px,1fr); overflow-x:auto; overflow-y:hidden; padding:0 0 7px; }
  .programs-page .area-card { height:58px; }
  .programs-page #catalogo { grid-column:1; grid-row:3; padding:14px; }
  .programs-page .program-row { grid-template-columns:minmax(220px,1fr) minmax(230px,auto) auto; }
}

@media (max-width:620px) {
  .programs-page #contenido { height:calc(100vh - 68px); }
  .programs-page .programs-hero-grid { grid-template-columns:1fr auto; gap:10px; }
  .programs-page .programs-hero h1 { font-size:1.22rem; }
  .programs-page .modality-summary > div { width:72px; padding:8px; text-align:center; }
  .programs-page .modality-summary b { font-size:1.55rem; }
  .programs-page .modality-summary strong { font-size:.66rem; line-height:1.1; }
  .programs-page .catalog-head { align-items:flex-start; gap:8px; margin-bottom:10px; }
  .programs-page .catalog-head .eyebrow { display:none; }
  .programs-page .catalog-head h2 { font-size:1.25rem; }
  .programs-page .catalog-head .filters { gap:5px; }
  .programs-page .filter { padding:7px 9px; font-size:.74rem; }
  .programs-page .program-area-title p { display:none; }
  .programs-page .program-row { grid-template-columns:1fr; gap:8px; }
  .programs-page .program-row > a { display:none; }
}

/* Pago de matrícula en dos páginas claras. */
.payment-two-page { display:block; max-width:1240px; margin:0 auto; padding:18px 22px 24px; }
.payment-two-page .payment-main { min-height:calc(100vh - 120px); padding:22px 26px; }
.payment-page-tabs { margin:16px 0 14px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.payment-page-tabs button { min-height:54px; padding:9px 14px; display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:15px; color:var(--muted); background:#f5f7fb; text-align:left; }
.payment-page-tabs button span { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:#e4ecff; font-weight:800; }
.payment-page-tabs button b { font-size:.85rem; }
.payment-page-tabs button.active { color:white; border-color:var(--blue); background:linear-gradient(120deg,var(--navy),var(--blue)); box-shadow:0 9px 22px rgba(18,56,184,.14); }
.payment-page-tabs button.active span { color:var(--navy); background:var(--yellow); }
.payment-stage-indicator { width:max-content; min-width:240px; margin:16px 0 14px; padding:9px 14px 9px 9px; display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:15px; background:#f5f7fb; }
.payment-stage-indicator > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--navy); background:var(--yellow); font-weight:800; }
.payment-stage-indicator small,.payment-stage-indicator b { display:block; }.payment-stage-indicator small { color:var(--muted); font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.payment-stage-indicator b { color:var(--navy); font-size:.82rem; }
.payment-view[hidden] { display:none; }
.payment-view.active { animation:payment-view-in .24s ease both; }
@keyframes payment-view-in { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:none; } }
.payment-view-head { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.payment-view-head span { color:var(--blue); font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.payment-view-head h2 { margin-top:2px; font-size:1.5rem; }
.payment-view-head p { max-width:430px; margin:0; color:var(--muted); font-size:.82rem; }
.payment-two-page .payment-options { margin:12px 0; grid-template-columns:repeat(5,1fr); }
.payment-two-page .payment-option { min-height:238px; padding:17px; }
.payment-bottom-bar { display:grid; grid-template-columns:minmax(240px,.55fr) minmax(260px,.45fr); gap:12px; align-items:center; }
.payment-bottom-bar .selected-payment-total { height:100%; margin:0; }
.payment-next { width:100%; }
.payment-calendar-grid { margin-top:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }
.payment-calendar-card { min-height:120px; padding:16px; display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:13px; align-items:center; border:1px solid var(--line); border-radius:17px; background:#fff; }
.payment-calendar-card.enrollment { border-color:#e6bd42; background:#fff9df; }
.payment-calendar-card.laboratory { grid-column:1 / -1; grid-template-columns:110px minmax(0,1fr) auto; }
.payment-calendar-card.formation-cost { grid-column:1 / -1; }
.calendar-point { padding:8px 9px; border-radius:10px; color:var(--blue); background:#e9efff; text-align:center; font-size:.68rem; font-weight:800; }
.payment-calendar-card b,.payment-calendar-card small { display:block; }.payment-calendar-card b { color:var(--navy); font-size:.9rem; }.payment-calendar-card small { margin-top:3px; color:var(--muted); font-size:.72rem; }
.payment-calendar-card > strong { color:var(--blue); font-size:1.05rem; white-space:nowrap; }
.payment-calendar-card .installment-track { grid-column:2 / -1; margin:0; grid-template-columns:repeat(8,1fr); }
.module-investment-math { grid-column:2 / -1; display:flex; align-items:center; justify-content:flex-end; gap:8px; color:var(--muted); font-size:.73rem; font-weight:800; }
.module-investment-math span,.module-investment-math b,.module-investment-math strong { display:inline; margin:0; }
.module-investment-math b { color:var(--navy); }.module-investment-math strong { padding:5px 9px; border-radius:9px; color:var(--blue); background:#e9efff; font-size:.86rem; }
.calendar-summary { margin-top:12px; padding:13px 15px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-radius:15px; background:#eef3fb; }
.calendar-summary > div:first-child b { color:var(--navy); }.calendar-summary p { margin:3px 0 0; color:var(--muted); font-size:.72rem; }
.calendar-summary .secure-payment { min-width:230px; margin:0; }
.payment-calendar-actions { margin-top:12px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }.payment-calendar-actions .btn { width:100%; }
.costs-next-action { margin-top:12px; display:flex; justify-content:flex-end; }
.costs-next-action .btn { min-width:min(100%,420px); }
.investment-saving { min-width:230px; padding:10px 14px; border-radius:12px; color:var(--navy); background:var(--yellow); text-align:center; }
.investment-saving small,.investment-saving strong,.investment-saving em { display:block; }.investment-saving small { font-size:.65rem; font-weight:800; }.investment-saving strong { font-size:1.2rem; }.investment-saving em { margin-top:2px; font-size:.68rem; font-style:normal; font-weight:800; }
.payment-option.reserve-plan { border-color:#e6bd42; background:#fff9df; }
.payment-option.reserve-plan .plan-number { font-size:1.15rem; color:#8b6500; }
.plan-payment-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.plan-payment-actions .btn { width:100%; padding-inline:12px; }
@media (max-width:980px) {
  .payment-two-page .payment-options { grid-template-columns:repeat(2,1fr); }
  .payment-two-page .payment-option { min-height:210px; }
  .payment-calendar-grid { grid-template-columns:1fr; }.payment-calendar-card.laboratory,.payment-calendar-card.formation-cost { grid-column:auto; }
}
@media (max-width:620px) {
  .payment-two-page { padding:10px; }.payment-two-page .payment-main { padding:16px; }
  .payment-heading h1 { font-size:1.75rem; }.payment-heading p { margin:4px 0; font-size:.74rem; }
  .payment-page-tabs button { padding:8px; }.payment-page-tabs button b { font-size:.68rem; line-height:1.2; }
  .payment-view-head { align-items:start; flex-direction:column; gap:4px; }.payment-view-head p { font-size:.72rem; }
  .payment-two-page .payment-options { grid-template-columns:1fr; }.payment-two-page .payment-option { min-height:185px; }
  .payment-bottom-bar,.payment-calendar-actions,.plan-payment-actions { grid-template-columns:1fr; }
  .payment-calendar-card,.payment-calendar-card.laboratory { grid-template-columns:1fr auto; }.calendar-point { grid-column:1 / -1; justify-self:start; }.payment-calendar-card .installment-track,.module-investment-math { grid-column:1 / -1; }.payment-calendar-card .installment-track { grid-template-columns:repeat(4,1fr); }.module-investment-math { justify-content:flex-start; flex-wrap:wrap; }
  .calendar-summary { align-items:flex-start; flex-direction:column; }.calendar-summary .secure-payment { min-width:0; }
}

/* Inicio como explorador del ecosistema, sin desplazamiento vertical de página. */
.home-dashboard { overflow:hidden; background:var(--pale); }
.home-dashboard #contenido { height:calc(100vh - 78px); display:grid; grid-template-columns:285px minmax(0,1fr); grid-template-rows:130px minmax(0,1fr); overflow:hidden; }
.home-intro { grid-column:1 / -1; grid-row:1; padding:20px 0; background:linear-gradient(110deg,#fff 0%,#f3f7ff 67%,#fff4cf 100%); border-bottom:1px solid var(--line); }
.home-intro-grid { height:90px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; }
.home-intro h1 { margin-top:4px; font-size:clamp(2rem,3vw,3.25rem); }
.home-intro p { margin:5px 0 0; color:var(--muted); }
.home-proof { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; max-width:390px; }
.home-proof span { padding:8px 11px; border:1px solid var(--line); border-radius:999px; color:var(--blue); background:white; font-size:.78rem; font-weight:800; }
.home-sections { grid-column:1; grid-row:2; min-height:0; padding:18px 14px 18px 20px; display:flex; flex-direction:column; gap:7px; overflow:auto; background:white; border-right:1px solid var(--line); }
.home-section-heading { padding:2px 10px 11px; display:flex; flex-direction:column; }
.home-section-heading span { color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.home-section-heading strong { color:var(--navy); }
.home-section-link { min-height:70px; padding:11px 13px; display:grid; grid-template-columns:35px 1fr; grid-template-rows:auto auto; column-gap:10px; text-align:left; border:1px solid var(--line); border-radius:15px; color:var(--ink); background:white; }
.home-section-link > span { grid-row:1 / 3; width:34px; height:34px; display:grid; place-items:center; align-self:center; border-radius:10px; color:var(--blue); background:#e9efff; font-size:.78rem; font-weight:800; }
.home-section-link b { align-self:end; color:var(--navy); line-height:1.1; }
.home-section-link small { align-self:start; margin-top:3px; color:var(--muted); }
.home-section-link:hover { border-color:#a9bfea; }
.home-section-link.active { border-color:var(--blue); color:white; background:linear-gradient(115deg,var(--navy),var(--blue)); box-shadow:0 12px 25px rgba(17,53,145,.18); }
.home-section-link.active b,.home-section-link.active small { color:white; }
.home-section-link.active small { opacity:.75; }
.home-section-link.active > span { color:var(--navy); background:var(--yellow); }
.home-panels { grid-column:2; grid-row:2; min-width:0; min-height:0; padding:20px 24px 24px; overflow:hidden; }
.home-panel { height:100%; min-height:0; display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); align-items:center; gap:28px; padding:clamp(26px,4vw,54px); border-radius:28px; overflow:hidden; position:relative; color:white; background:linear-gradient(135deg,var(--navy),var(--blue)); box-shadow:0 18px 50px rgba(15,42,111,.18); }
.home-panel[hidden] { display:none; }
.home-panel h2 { color:white; font-size:clamp(2rem,3.4vw,3.5rem); }
.home-panel .panel-content > p { max-width:620px; margin:14px 0 20px; color:#dbe4ff; font-size:1.04rem; }
.panel-kicker { margin-bottom:10px; color:var(--yellow); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.panel-stats { display:flex; gap:10px; margin:0 0 22px; }
.panel-stats > div { min-width:145px; padding:12px 14px; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:rgba(255,255,255,.08); }
.panel-stats b { display:block; color:var(--yellow); font-size:1.55rem; line-height:1; }
.panel-stats span { display:block; margin-top:5px; color:#dbe4ff; font-size:.78rem; }
.panel-visual { min-height:330px; border:1px solid rgba(255,255,255,.18); border-radius:25px; position:relative; overflow:hidden; background:rgba(255,255,255,.08); }
.program-map { padding:24px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; align-content:center; }
.program-map span { padding:19px; border-radius:14px; color:var(--navy); background:white; font-weight:800; box-shadow:0 8px 25px rgba(3,14,50,.16); }
.program-map span:nth-child(2n) { transform:translateY(10px); background:#fff3c7; }
.panel-campus { background:linear-gradient(135deg,#0b286f,#1e66e9); }
.future-room { display:grid; place-items:center; background:radial-gradient(circle at 50% 35%,rgba(74,176,255,.38),transparent 36%),#071d50; }
.future-screen { width:70%; min-height:175px; padding:28px; display:flex; flex-direction:column; justify-content:center; border:1px solid #62b8ff; border-radius:18px; background:rgba(15,73,161,.72); box-shadow:0 0 55px rgba(29,158,255,.28); }
.future-screen span { color:#7bd2ff; font-weight:800; letter-spacing:.15em; }
.future-screen b { margin-top:5px; font-size:1.7rem; }
.future-screen small { color:#b9ddff; }
.future-desk { position:absolute; bottom:25px; width:82%; height:12px; border-radius:50%; background:rgba(112,189,255,.28); filter:blur(5px); }
.panel-model { background:linear-gradient(135deg,#071947,#183aa2); }
.model-chips,.store-lines-mini,.community-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 23px; }
.model-chips span,.store-lines-mini span,.community-tags span { padding:8px 11px; border:1px solid rgba(255,255,255,.23); border-radius:999px; color:white; background:rgba(255,255,255,.08); font-size:.8rem; font-weight:800; }
.model-orbit { display:grid; place-items:center; background:radial-gradient(circle,#3168f2 0 22%,transparent 23%),repeating-radial-gradient(circle,transparent 0 53px,rgba(255,255,255,.2) 54px 56px); }
.model-orbit div { width:145px; height:145px; padding:20px; display:flex; flex-direction:column; justify-content:center; text-align:center; border-radius:50%; color:var(--navy); background:var(--yellow); box-shadow:0 0 45px rgba(255,189,32,.35); }
.model-orbit b { font-size:1.05rem; }
.model-orbit span { font-size:.75rem; }
.panel-store { background:linear-gradient(130deg,#0a0d14 0 58%,#13203d 100%); }
.store-panel-visual { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; background:#080b10; }
.store-panel-visual > img { width:100%; height:100%; object-fit:cover; mix-blend-mode:screen; }
.mini-intebien { padding:24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; color:white; background:linear-gradient(145deg,var(--blue),var(--navy)); }
.mini-intebien b { margin-top:13px; font-size:1.4rem; }
.mini-intebien small { color:#d7e2ff; letter-spacing:.1em; }
.panel-community { background:linear-gradient(135deg,#16225c,#5633a8); }
.network-visual { background:radial-gradient(circle at center,rgba(255,255,255,.14),transparent 55%); }
.network-node { position:absolute; width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:var(--blue); background:white; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.network-node::after { content:""; position:absolute; left:50%; top:50%; width:155px; height:2px; background:rgba(255,255,255,.35); transform-origin:left center; z-index:-1; }
.network-node.central { left:50%; top:50%; width:90px; height:90px; transform:translate(-50%,-50%); color:var(--navy); background:var(--yellow); font-size:2rem; font-weight:800; z-index:2; }
.network-node.central::after { display:none; }
.network-node.n1 { left:12%; top:17%; }.network-node.n1::after { transform:rotate(31deg); }
.network-node.n2 { right:12%; top:17%; }.network-node.n2::after { transform:rotate(149deg); }
.network-node.n3 { left:13%; bottom:15%; }.network-node.n3::after { transform:rotate(-31deg); }
.network-node.n4 { right:13%; bottom:15%; }.network-node.n4::after { transform:rotate(211deg); }

@media (max-width:980px) {
  .home-dashboard #contenido { height:calc(100vh - 78px); grid-template-columns:1fr; grid-template-rows:105px 88px minmax(0,1fr); }
  .home-intro { grid-column:1; grid-row:1; padding:13px 0; }
  .home-intro-grid { height:79px; }
  .home-intro h1 { font-size:1.75rem; }
  .home-intro p,.home-proof { display:none; }
  .home-sections { grid-column:1; grid-row:2; padding:10px 14px; flex-direction:row; overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid var(--line); }
  .home-section-heading { display:none; }
  .home-section-link { flex:0 0 190px; min-height:66px; }
  .home-panels { grid-column:1; grid-row:3; padding:14px; }
  .home-panel { grid-template-columns:1fr 1fr; padding:28px; }
  .home-panel h2 { font-size:2rem; }
  .panel-visual { min-height:260px; }
}

@media (max-width:700px) {
  .home-dashboard #contenido { height:calc(100vh - 68px); grid-template-rows:82px 80px minmax(0,1fr); }
  .home-intro { padding:10px 0; }
  .home-intro-grid { height:62px; }
  .home-intro .eyebrow { display:none; }
  .home-intro h1 { font-size:1.45rem; }
  .home-section-link { flex-basis:165px; min-height:60px; padding:8px 10px; }
  .home-section-link small { display:none; }
  .home-panels { padding:10px; overflow:auto; }
  .home-panel { min-height:100%; height:auto; grid-template-columns:1fr; padding:22px; align-content:start; }
  .home-panel h2 { font-size:1.65rem; }
  .home-panel .panel-content > p { font-size:.9rem; margin:10px 0 14px; }
  .panel-stats { margin-bottom:15px; }
  .panel-stats > div { min-width:0; padding:9px 10px; }
  .panel-visual { min-height:210px; }
}

/* Oferta técnica: recorrido guiado por pantallas, sin menú lateral persistente. */
.guided-program-page { min-width:320px; overflow:hidden; background:#f2f6fc; }
.guided-journey { height:calc(100vh - 78px); min-height:640px; display:grid; grid-template-rows:66px minmax(0,1fr); overflow:hidden; background:radial-gradient(circle at 92% 3%,rgba(255,190,22,.2),transparent 28%),radial-gradient(circle at 0 100%,rgba(34,94,224,.13),transparent 30%),#f3f7fd; }
.journey-topbar { width:min(1450px,calc(100% - 40px)); min-width:0; display:grid; grid-template-columns:minmax(150px,.7fr) minmax(530px,1.8fr) minmax(180px,.7fr); gap:20px; align-items:center; }
.journey-topbar > a { color:var(--blue); font-size:.88rem; font-weight:800; }
.journey-progress { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; }
.journey-progress li { min-width:0; position:relative; display:flex; align-items:center; gap:8px; color:#7785a0; font-size:.78rem; font-weight:800; }
.journey-progress li:not(:last-child)::after { content:""; height:2px; position:absolute; left:calc(50% + 18px); right:8px; top:17px; background:#cbd6e8; }
.journey-progress b { width:34px; height:34px; position:relative; z-index:1; display:grid; place-items:center; flex:none; border-radius:50%; color:#5e6f91; background:#dfe7f5; font-size:.76rem; }
.journey-progress li.active { color:var(--navy); }.journey-progress li.active b { color:var(--navy); background:var(--yellow); box-shadow:0 0 0 5px rgba(255,190,22,.2); }
.journey-progress li.done { color:var(--blue); }.journey-progress li.done b { color:white; background:var(--blue); }.journey-progress li.done::after { background:var(--blue); }
.journey-explainer-trigger { min-height:42px; padding:8px 13px; display:flex; justify-content:center; align-items:center; gap:8px; border:1px solid #b8cae8; border-radius:13px; color:var(--navy); background:white; font-size:.82rem; font-weight:800; }.journey-explainer-trigger > span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--blue); font-size:.58rem; }.journey-explainer-trigger b { color:var(--blue); }
.journey-selection { min-width:0; padding:9px 12px; display:block; overflow:hidden; border:1px solid #cad6ea; border-radius:12px; color:var(--navy); background:white; font-size:.77rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.journey-selection b,.journey-selection small { display:block; overflow:hidden; text-overflow:ellipsis; }.journey-selection small { margin-top:2px; color:var(--muted); font-size:.7rem; font-weight:700; }
.journey-workspace { width:min(1450px,calc(100% - 40px)); min-width:0; min-height:0; padding:20px 0 24px; display:grid; grid-template-rows:auto minmax(0,1fr); gap:15px; overflow:hidden; }
.journey-heading { min-width:0; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr); gap:28px; align-items:center; }.journey-heading > div > span { color:var(--blue); font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.journey-heading h1 { margin:5px 0 7px; font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.02; }.journey-heading > div > p { max-width:760px; margin:0; color:var(--muted); font-size:1rem; line-height:1.45; }.journey-heading.compact h1 { font-size:clamp(1.85rem,3vw,3rem); }
.modular-primer { min-height:88px; padding:15px 17px 15px 20px; position:relative; border:1px solid #b8cae8; border-radius:16px; background:white; box-shadow:0 10px 26px rgba(13,47,111,.07); }.modular-primer::before { content:""; width:5px; position:absolute; inset:14px auto 14px 0; border-radius:0 6px 6px 0; background:var(--yellow); }.modular-primer b { color:var(--navy); font-size:.92rem; }.modular-primer p { margin:5px 0 0; color:var(--muted); font-size:.8rem; line-height:1.4; }
.guided-nucleus-grid { min-height:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:10px; }
.guided-nucleus-card { min-width:0; min-height:0; padding:12px 40px 12px 13px; position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); gap:11px; align-items:center; overflow:hidden; border:1px solid #cad7ec; border-radius:17px; color:var(--navy); background:white; box-shadow:0 8px 24px rgba(11,41,105,.06); transition:.18s ease; }.guided-nucleus-card:hover,.guided-nucleus-card:focus-visible { border-color:var(--blue); transform:translateY(-2px); box-shadow:0 14px 30px rgba(11,41,105,.13); }.guided-nucleus-card > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--blue); background:#e7efff; font-size:.75rem; font-weight:800; }.guided-nucleus-card h2 { margin:0; font-size:.9rem; line-height:1.2; }.guided-nucleus-card p { margin:3px 0 0; color:var(--muted); font-size:.75rem; line-height:1.25; }.guided-nucleus-card small { display:block; margin-top:4px; color:var(--blue); font-size:.7rem; font-weight:800; }.guided-nucleus-card > i { position:absolute; right:15px; color:var(--blue); font-size:1.05rem; font-style:normal; font-weight:800; }
.guided-mode-grid { min-height:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
.guided-mode-card { min-width:0; min-height:330px; padding:25px; display:flex; flex-direction:column; border:1px solid #c8d6ed; border-radius:24px; color:var(--navy); background:white; box-shadow:0 17px 42px rgba(9,39,101,.09); transition:.2s ease; }.guided-mode-card:hover,.guided-mode-card:focus-visible { border-color:var(--blue); transform:translateY(-4px); box-shadow:0 24px 52px rgba(9,39,101,.16); }.guided-mode-card > span { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--navy); background:var(--yellow); font-size:1.2rem; font-weight:800; }.guided-mode-card > div { margin-top:28px; }.guided-mode-card small { color:var(--blue); font-size:.77rem; font-weight:800; text-transform:uppercase; }.guided-mode-card h2 { margin:7px 0 10px; font-size:1.55rem; }.guided-mode-card p { margin:0; color:var(--muted); font-size:.93rem; line-height:1.5; }.guided-mode-card > strong { margin-top:auto; padding-top:18px; display:flex; justify-content:space-between; gap:15px; border-top:1px solid #dbe4f1; color:var(--blue); font-size:.82rem; line-height:1.4; }.guided-mode-card > strong i { flex:none; font-style:normal; }.guided-mode-card.unavailable { opacity:.55; box-shadow:none; }.guided-mode-card.unavailable > span { color:#60708d; background:#e4e9f2; }
.program-choice-workspace { grid-template-rows:auto auto minmax(0,1fr) auto; }.guided-results-head { display:flex; justify-content:space-between; color:var(--muted); font-size:.76rem; }.guided-results-head strong { color:var(--blue); font-size:.84rem; }.guided-program-grid { min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-content:start; overflow:auto; padding:2px 4px 5px 0; scrollbar-width:thin; }.guided-program-card { min-width:0; min-height:225px; padding:17px; display:flex; flex-direction:column; border:1px solid #cbd8ed; border-radius:19px; background:white; box-shadow:0 10px 27px rgba(10,40,99,.07); }.guided-program-card header { display:flex; justify-content:space-between; color:var(--muted); font-size:.72rem; }.guided-program-card header span { color:var(--blue); font-weight:800; }.guided-program-card h2 { margin:8px 0 5px; font-size:1.18rem; }.guided-program-card > p { margin:0; color:var(--muted); font-size:.78rem; }.program-entry-status { margin-top:10px; padding:9px 10px; display:block; border-radius:10px; color:#775400; background:#fff4ca; font-size:.76rem; }.program-entry-status b { margin-right:5px; }.program-entry-status.open { color:#176146; background:#def6e9; }.program-entry-status.virtual { color:#0756b5; background:#e5efff; }.guided-program-stats { margin:9px 0; display:flex; gap:6px; flex-wrap:wrap; }.guided-program-stats span { padding:5px 7px; border-radius:8px; color:#52617b; background:#eef3fa; font-size:.7rem; }.guided-program-stats b { color:var(--navy); }.guided-program-card > a { min-height:40px; margin-top:auto; padding:9px 12px; display:flex; justify-content:space-between; align-items:center; border-radius:11px; color:white; background:linear-gradient(115deg,var(--navy),var(--blue)); font-size:.78rem; font-weight:800; }.guided-program-card > a span { color:var(--yellow); }
.route-explainer { width:min(760px,calc(100% - 28px)); padding:0; border:0; border-radius:26px; color:var(--ink); background:transparent; box-shadow:0 28px 90px rgba(3,18,56,.38); }.route-explainer::backdrop { background:rgba(2,13,40,.72); backdrop-filter:blur(5px); }.route-explainer-card { overflow:hidden; border-radius:26px; background:white; }.route-explainer-card > header { padding:20px 22px; display:flex; justify-content:space-between; gap:20px; color:white; background:linear-gradient(120deg,#061b51,#124ac4); }.route-explainer-card header span { color:var(--yellow); font-size:.75rem; font-weight:800; text-transform:uppercase; }.route-explainer-card h2 { margin-top:5px; color:white; font-size:1.65rem; }.route-explainer-card header button { width:38px; height:38px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:white; background:rgba(255,255,255,.1); font-size:1.4rem; }.route-explainer-track { min-height:300px; padding:34px; }.route-explainer-track article { min-height:230px; display:grid; grid-template-columns:90px minmax(0,1fr); gap:25px; align-items:center; animation:finder-panel-in .28s ease both; }.route-explainer-track article[hidden] { display:none; }.route-explainer-track article > b { width:86px; height:86px; display:grid; place-items:center; border-radius:25px; color:var(--navy); background:var(--yellow); font-size:1.55rem; }.route-explainer-track article span { color:var(--blue); font-size:.8rem; font-weight:800; text-transform:uppercase; }.route-explainer-track h3 { margin:7px 0 10px; font-size:2rem; }.route-explainer-track p { margin:0; color:var(--muted); font-size:1rem; line-height:1.55; }.route-explainer-card > footer { min-height:72px; padding:14px 22px; display:grid; grid-template-columns:1fr auto auto; gap:17px; align-items:center; background:#f2f6fc; }.route-explainer-progress { height:7px; overflow:hidden; border-radius:99px; background:#d8e1ef; }.route-explainer-progress i { width:25%; height:100%; display:block; border-radius:inherit; background:var(--blue); transition:width .3s ease; }.route-explainer-card footer > span { color:var(--muted); font-size:.8rem; }.route-explainer-card footer > button { min-height:42px; padding:9px 15px; border:0; border-radius:11px; color:white; background:var(--blue); font-size:.82rem; font-weight:800; }

/* Vista general de la ruta antes del detalle de cada módulo. */
.guided-directory-page .directory-stage { display:block; overflow:auto; }.guided-directory-page .directory-stage.module-open { display:grid; grid-template-rows:minmax(0,1fr); overflow:hidden; }
.directory-mode-pill { min-height:46px; padding:0 15px; display:flex; align-items:center; border:1px solid #bacbe8; border-radius:13px; color:var(--blue); background:white; font-size:.78rem; font-weight:800; }
.directory-route-overview { height:100%; min-height:0; padding:2px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr); grid-template-rows:auto auto minmax(110px,1fr) auto; gap:10px; }
.directory-overview-head { grid-column:1 / -1; min-height:76px; padding:13px 15px; display:flex; justify-content:space-between; align-items:center; gap:18px; border:1px solid var(--line); border-radius:16px; background:white; }.directory-overview-head > div > span { color:var(--blue); font-size:.76rem; font-weight:800; text-transform:uppercase; }.directory-overview-head h2 { margin:3px 0; font-size:1.55rem; }.directory-overview-head p { margin:0; color:var(--muted); font-size:.78rem; }
.directory-entry-card { min-height:98px; padding:11px; display:grid; grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr); gap:9px; align-items:stretch; border:1px solid #cbd8eb; border-radius:16px; background:white; }.directory-entry-card > div { min-width:0; padding:8px 10px; border-radius:12px; background:#f1f6ff; }.directory-entry-card > div:first-child { box-shadow:inset 4px 0 0 var(--yellow); }.directory-entry-card > i { display:grid; place-items:center; color:var(--blue); font-style:normal; font-weight:800; }.directory-entry-card span,.directory-entry-card b,.directory-entry-card strong { display:block; }.directory-entry-card span { color:var(--blue); font-size:.68rem; font-weight:800; text-transform:uppercase; }.directory-entry-card b { float:left; margin:5px 9px 0 0; color:var(--navy); font-size:1.55rem; }.directory-entry-card strong { margin-top:7px; overflow:hidden; color:var(--navy); font-size:.77rem; text-overflow:ellipsis; white-space:nowrap; }.directory-entry-card p { margin:4px 0 0; color:var(--muted); font-size:.68rem; line-height:1.3; }
.directory-overview-track { min-width:0; min-height:0; padding:10px; display:flex; align-items:center; gap:6px; overflow-x:auto; border:1px solid #cad7eb; border-radius:16px; background:white; scrollbar-width:thin; }.directory-overview-track button { min-width:92px; height:96px; padding:8px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid #d6dfed; border-radius:11px; color:var(--navy); background:#f7f9fd; text-align:left; }.directory-overview-track button.start { border-color:var(--yellow); background:#fff7d9; }.directory-overview-track button.end { color:white; border-color:var(--blue); background:var(--blue); }.directory-overview-track small { color:inherit; font-size:.62rem; font-weight:800; }.directory-overview-track b { margin-top:5px; font-size:.9rem; }.directory-overview-track span { width:100%; margin-top:4px; overflow:hidden; font-size:.62rem; line-height:1.25; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.directory-overview-track > i { color:#8ca2c7; font-size:.72rem; font-style:normal; }
.directory-model-explainer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.directory-model-explainer article { min-width:0; padding:9px; display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; border:1px solid #d2dceb; border-radius:12px; background:white; }.directory-model-explainer article > b { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:var(--navy); background:var(--yellow); font-size:.65rem; }.directory-model-explainer strong { color:var(--navy); font-size:.69rem; }.directory-model-explainer p { margin:3px 0 0; color:var(--muted); font-size:.62rem; line-height:1.3; }
.directory-ranked-routes { grid-column:2; grid-row:2 / 5; min-height:0; padding:14px; overflow:auto; border:1px solid #cad7eb; border-radius:16px; background:white; }.directory-ranked-routes > header span { color:var(--blue); font-size:.68rem; font-weight:800; text-transform:uppercase; }.directory-ranked-routes h3 { margin:4px 0; font-size:1.05rem; }.directory-ranked-routes > header p { margin:0 0 10px; color:var(--muted); font-size:.68rem; line-height:1.35; }.directory-ranked-routes > div { display:grid; gap:7px; }.directory-ranked-routes a { min-width:0; padding:9px; display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; position:relative; border:1px solid #d8e1ef; border-radius:11px; background:#f8faff; }.directory-ranked-routes a > b { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:var(--navy); background:var(--yellow); font-size:.65rem; }.directory-ranked-routes strong,.directory-ranked-routes small { display:block; }.directory-ranked-routes strong { padding-right:68px; color:var(--navy); font-size:.72rem; }.directory-ranked-routes a div > span { height:5px; margin:6px 0; display:block; overflow:hidden; border-radius:99px; background:#dce4f0; }.directory-ranked-routes a div > span i { width:var(--affinity); height:100%; display:block; background:var(--blue); }.directory-ranked-routes small { color:var(--muted); font-size:.62rem; line-height:1.3; }.directory-ranked-routes em { position:absolute; top:10px; right:9px; color:var(--blue); font-size:.62rem; font-style:normal; font-weight:800; }.directory-no-ranked-routes { padding:20px; border:1px dashed #b9cae5; border-radius:12px; background:#f4f7fc; }.directory-no-ranked-routes p { margin:5px 0 0; color:var(--muted); font-size:.72rem; }
.directory-module-detail { height:100%; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr); gap:10px; }.directory-module-detail[hidden],.directory-route-overview[hidden] { display:none !important; }.guided-directory-page .directory-stage-head { min-height:92px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; }.directory-back-overview { min-height:42px; padding:8px 11px; border:1px solid #b8c9e7; border-radius:11px; color:var(--blue); background:white; font-size:.75rem; font-weight:800; }.directory-status-row { margin-top:6px; display:flex; align-items:center; gap:8px; }.directory-status-row .directory-shared-badge,.directory-status-row .directory-unique-badge { margin-top:0; }.directory-status-row > span { padding:4px 8px; border-radius:99px; font-size:.67rem; font-weight:800; }.directory-status-row > span.available { color:#176146; background:#def6e9; }.directory-status-row > span.informative { color:#6e5200; background:#fff0b7; }
.directory-learning-method { margin-top:13px; padding:13px; border-radius:12px; background:#edf3ff; }.directory-learning-method strong { color:var(--navy); font-size:.78rem; }.directory-learning-method p { margin:5px 0 0; color:#4d5e7e; font-size:.75rem; line-height:1.45; }.directory-application-card { margin-top:15px; padding:15px; border-left:5px solid var(--yellow); border-radius:12px; background:#f2f6fc; }.directory-application-card span,.directory-application-card strong { display:block; }.directory-application-card span { color:var(--blue); font-size:.7rem; font-weight:800; text-transform:uppercase; }.directory-application-card strong { margin-top:5px; color:var(--navy); font-size:.82rem; line-height:1.4; }
.directory-competency-list { margin-top:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.directory-competency-list span { min-height:84px; padding:11px; display:flex; align-items:flex-start; gap:8px; border:1px solid #d5deec; border-radius:12px; color:#465672; background:#f7f9fd; font-size:.7rem; line-height:1.4; }.directory-competency-list b { width:25px; height:25px; display:grid; place-items:center; flex:none; border-radius:7px; color:var(--navy); background:var(--yellow); font-size:.6rem; }.directory-connection-summary { margin-top:13px; }.directory-connection-summary h4 { font-size:.86rem; }
.guided-directory-page .directory-page > div:last-child > p { font-size:.86rem; }.guided-directory-page .directory-facts span { font-size:.7rem; }.guided-directory-page .directory-facts b { font-size:.78rem; }.guided-directory-page .directory-module-schedule span { font-size:.65rem; }.guided-directory-page .directory-module-schedule b { font-size:.76rem; }.guided-directory-page .directory-module-schedule small { font-size:.67rem; }.guided-directory-page .directory-module-schedule > a,.guided-directory-page .directory-module-schedule > strong { font-size:.68rem; }.guided-directory-page .directory-module-button > b { font-size:.75rem; }.guided-directory-page .directory-module-button > small { font-size:.65rem; }.guided-directory-page .directory-module-button.entry-now:not(.active) { border-color:#e7b500; background:#fff7d8; box-shadow:inset 4px 0 0 var(--yellow); }

@media (max-width:1050px) {
  .journey-topbar { grid-template-columns:auto 1fr auto; }.journey-progress span { display:none; }.journey-heading { grid-template-columns:1fr minmax(300px,.55fr); }.guided-nucleus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; overflow:auto; }.guided-nucleus-card { min-height:96px; }.guided-mode-card { min-height:300px; }.directory-route-overview { grid-template-columns:1fr; grid-template-rows:auto auto auto auto auto; }.directory-ranked-routes { grid-column:1; grid-row:auto; max-height:330px; }
}
@media (max-width:760px) {
  .guided-program-page { overflow-y:auto; overflow-x:hidden; }.guided-journey { height:auto; min-height:calc(100vh - 68px); display:block; overflow:visible; }.journey-topbar { width:calc(100% - 24px); min-height:78px; padding:8px 0; display:grid; grid-template-columns:1fr auto; gap:7px; }.journey-topbar > a { font-size:.75rem; }.journey-progress { grid-column:1 / -1; grid-row:2; }.journey-progress li { justify-content:center; }.journey-progress b { width:28px; height:28px; }.journey-progress li:not(:last-child)::after { top:14px; }.journey-explainer-trigger { min-height:38px; padding:6px 9px; font-size:.72rem; }.journey-selection { max-width:165px; font-size:.7rem; }.journey-workspace { width:calc(100% - 24px); min-height:680px; padding:14px 0 88px; overflow:visible; }.journey-heading,.journey-heading.compact { display:block; }.journey-heading h1,.journey-heading.compact h1 { font-size:2rem; }.journey-heading > div > p { font-size:.9rem; }.modular-primer { min-height:0; margin-top:12px; }.guided-nucleus-grid,.guided-mode-grid,.guided-program-grid { grid-template-columns:1fr; overflow:visible; }.guided-nucleus-card { min-height:104px; }.guided-mode-card { min-height:270px; }.guided-program-card { min-height:245px; }.route-explainer-track { min-height:360px; padding:24px; }.route-explainer-track article { min-height:310px; grid-template-columns:1fr; align-content:center; }.route-explainer-track article > b { width:62px; height:62px; border-radius:18px; }.route-explainer-track h3 { font-size:1.65rem; }.route-explainer-card > footer { grid-template-columns:1fr auto; }.route-explainer-card footer > span { display:none; }.route-explainer-card footer > button { grid-column:2; grid-row:1; }.guided-directory-page .directory-stage { min-height:980px; }.directory-route-overview { height:auto; display:block; }.directory-route-overview > * { margin-bottom:10px; }.directory-overview-head { align-items:flex-start; flex-direction:column; }.directory-entry-card { grid-template-columns:1fr; }.directory-entry-card > i { transform:rotate(90deg); }.directory-overview-track { min-height:125px; }.directory-model-explainer { grid-template-columns:1fr; }.directory-ranked-routes { max-height:none; }.guided-directory-page .directory-stage.module-open { min-height:820px; display:block; }.directory-module-detail { height:auto; min-height:800px; }.guided-directory-page .directory-stage-head { display:grid; grid-template-columns:1fr; }.directory-status-row { align-items:flex-start; flex-direction:column; }.directory-competency-list { grid-template-columns:1fr; }.guided-directory-page .directory-catalog { min-height:610px; }
}

/* Profesionalízate: selector de convenios y evaluación de continuidad académica. */
.professional-page { min-width:320px; background:#edf3ff; }
.professional-page .advisor-fab { display:none; }
.professional-page .alma-fab { left:auto; right:18px; }
.professional-page .alma-panel { left:auto; right:18px; }
.professional-page .nav-wrap { gap:13px; }
.professional-page .nav { gap:11px; font-size:.78rem; }
.professional-main { min-height:calc(100vh - 78px); padding:24px 0; display:grid; align-items:center; background:radial-gradient(circle at 92% 12%,rgba(255,190,22,.22),transparent 26%),radial-gradient(circle at 12% 90%,rgba(35,92,225,.17),transparent 31%),#f5f8fe; }
.professional-shell { width:min(1240px,calc(100% - 34px)); }
.professional-intro { margin-bottom:17px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr); gap:22px; align-items:end; }
.professional-kicker,.university-picker > header > span,.route-detail-heading > div > span,.route-facts section > span { display:block; color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.professional-intro h1 { margin:5px 0 7px; font-size:clamp(2rem,4vw,3.9rem); line-height:1; }
.professional-intro p { max-width:730px; margin:0; color:var(--muted); font-size:.95rem; line-height:1.5; }
.recognition-note { padding:15px 17px; border-left:5px solid var(--yellow); border-radius:14px; color:#dce8ff; background:linear-gradient(120deg,var(--navy),#123ba1); }
.recognition-note strong,.recognition-note span { display:block; }.recognition-note strong { color:white; font-size:.88rem; }.recognition-note span { margin-top:4px; font-size:.78rem; line-height:1.45; }
.professional-workspace { display:grid; grid-template-columns:minmax(410px,.82fr) minmax(490px,1.18fr); gap:18px; }
.university-picker,.route-detail { min-width:0; border:1px solid #cedaf0; border-radius:24px; background:white; box-shadow:0 18px 48px rgba(8,37,97,.1); }
.university-picker { padding:20px; }
.university-picker > header { margin-bottom:13px; }.university-picker h2 { margin-top:4px; font-size:1.35rem; }
.university-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.university-card { min-width:0; height:144px; padding:16px; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:8px; border:1px solid #d8e1ef; border-radius:17px; color:var(--navy); background:#fbfdff; text-align:left; transition:.18s ease; }
.university-card:hover,.university-card:focus-visible { border-color:#7b9ce4; transform:translateY(-2px); box-shadow:0 11px 25px rgba(19,62,150,.11); }
.university-card.active { border-color:var(--blue); background:#edf3ff; box-shadow:inset 0 0 0 1px var(--blue); }
.university-card img { width:100%; height:78px; object-fit:contain; }
.university-card span { display:flex; justify-content:space-between; color:var(--blue); font-size:.78rem; font-weight:800; }
.route-detail { padding:20px; }
.route-detail-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.route-detail-heading h2 { max-width:520px; margin-top:5px; font-size:1.42rem; line-height:1.12; }
.validation-badge { flex:none; padding:7px 9px; border-radius:999px; color:#654600; background:#fff0bd; font-size:.72rem; font-weight:800; }
.route-facts { margin-top:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.route-facts section { min-height:102px; padding:12px; border:1px solid #dbe4f2; border-radius:13px; background:#f7f9fd; }
.route-facts section > span { font-size:.7rem; }.route-facts strong,.route-facts small { display:block; }
.route-facts strong { margin-top:5px; color:var(--navy); font-size:.86rem; line-height:1.3; }.route-facts small { margin-top:4px; color:var(--muted); font-size:.72rem; line-height:1.4; }
.route-process { margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.route-process > span { min-width:0; padding:10px; display:grid; grid-template-columns:27px 1fr; column-gap:8px; border-radius:12px; color:var(--muted); background:#edf3ff; }
.route-process b { grid-row:1 / 3; width:27px; height:27px; display:grid; place-items:center; border-radius:8px; color:var(--navy); background:var(--yellow); font-size:.72rem; }.route-process i,.route-process small { display:block; }.route-process i { color:var(--navy); font-size:.78rem; font-style:normal; font-weight:800; }.route-process small { margin-top:2px; font-size:.7rem; line-height:1.35; }
.route-detail-footer { margin-top:13px; padding-top:13px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid #d9e2f1; }
.route-detail-footer p { max-width:430px; margin:0; color:var(--muted); font-size:.72rem; line-height:1.45; }.route-detail-footer p strong { color:var(--navy); }
.route-detail-footer a { min-height:44px; padding:11px 14px; display:flex; align-items:center; gap:14px; flex:none; border-radius:12px; color:white; background:linear-gradient(110deg,var(--navy),var(--blue)); font-size:.78rem; font-weight:800; }
.route-detail-footer a span { color:var(--yellow); }
@media (max-width:980px) {
  .professional-page .nav { font-size:.72rem; gap:8px; }
  .professional-main { align-items:start; }.professional-workspace { grid-template-columns:1fr; }.professional-intro { grid-template-columns:1fr; }.university-grid { grid-template-columns:repeat(4,minmax(180px,1fr)); overflow-x:auto; padding:2px 2px 12px; scroll-snap-type:x mandatory; }.university-card { scroll-snap-align:start; }
}
@media (max-width:700px) {
  .professional-main { min-height:calc(100vh - 68px); padding:18px 0 90px; }.professional-shell { width:min(100% - 24px,1240px); }.professional-intro h1 { font-size:2.35rem; }.professional-intro p { font-size:.88rem; }.recognition-note { padding:13px; }.university-picker,.route-detail { padding:15px; border-radius:19px; }.university-grid { grid-template-columns:repeat(4,205px); }.route-facts { grid-template-columns:1fr; }.route-process { grid-template-columns:1fr; }.route-detail-heading { display:block; }.validation-badge { display:inline-block; margin-top:9px; }.route-detail-footer { align-items:stretch; flex-direction:column; }.route-detail-footer a { justify-content:space-between; }
}

/* Identidad visual oficial y catálogo de producto. */
.brand { min-width:148px; font-size:0; }
.brand-logo-official { width:148px; height:44px; display:block; object-fit:contain; border-radius:8px; background:#fff; }
.collection-signature img { padding:7px; background:#fff; }
.intebien-lockup { min-width:0; }
.intebien-lockup > img { width:100%; max-width:190px; height:72px; object-fit:contain; border-radius:9px; background:#fff; }
.public-brand-lockup img:first-child { object-fit:contain; background:#05060a; }
.public-brand-lockup .public-wordmark { width:150px; height:82px; padding:8px; object-fit:contain; border:0; border-radius:13px; background:#fff; }
.official-gallery { background:#f4f5f7; }
.official-gallery .gallery-main { object-fit:contain; background:#f4f5f7; }
.official-gallery .gallery-thumbs { max-width:calc(100% - 24px); overflow-x:auto; }
.official-gallery .gallery-thumbs button { flex:0 0 64px; }
.official-gallery .gallery-thumbs img,
.product-page-image img.official-product-image { object-fit:contain; background:#f4f5f7; }
.public-product-pager .product-page-image:has(.official-product-image) { background:#f4f5f7; }
@media (max-width:700px) {
  .brand { min-width:122px; }
  .brand-logo-official { width:122px; height:40px; }
  .intebien-lockup > img { max-width:130px; height:58px; }
  .public-brand-lockup .public-wordmark { width:112px; height:62px; }
}

/* Ficha modular del programa Auxiliar Administrativo. */
.course-page { overflow:hidden; background:var(--pale); }
.course-page #contenido { height:calc(100vh - 78px); display:grid; grid-template-rows:122px minmax(0,1fr); overflow:hidden; }
.course-heading { padding:15px 0; background:radial-gradient(circle at 88% 10%,rgba(255,189,32,.34),transparent 23%),linear-gradient(108deg,#fff 0%,#edf3ff 62%,#dfe9ff 100%); border-bottom:1px solid #ccd9f0; }
.course-heading-grid { height:91px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; }
.course-back { display:inline-block; margin-bottom:3px; color:var(--blue); font-size:.78rem; font-weight:800; }
.course-heading .eyebrow { font-size:.68rem; }
.course-heading h1 { margin-top:3px; font-size:clamp(1.55rem,2.7vw,2.7rem); }
.course-metrics { display:flex; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:white; }
.course-metrics > div { min-width:105px; padding:12px 14px; border-left:1px solid var(--line); }
.course-metrics > div:first-child { border-left:0; }
.course-metrics b { display:block; color:var(--blue); font-size:1.3rem; line-height:1; }
.course-metrics span { color:var(--muted); font-size:.72rem; }
.course-workspace { width:100%; min-width:0; min-height:0; display:grid; grid-template-columns:310px minmax(0,1fr); overflow:hidden; background:#eef3fb; }
.module-rail { min-height:0; display:flex; flex-direction:column; padding:16px 12px 18px 20px; background:linear-gradient(180deg,#fff,#f6f9ff); border-right:1px solid #cfdbef; }
.module-rail-head { padding:0 8px 10px; display:flex; justify-content:space-between; align-items:end; }
.module-rail-head strong { color:var(--navy); }
.module-rail-head span { color:var(--muted); font-size:.72rem; }
.module-list { min-height:0; overflow:auto; padding-right:8px; }
.module-group { margin-bottom:10px; }
.module-group-title { position:sticky; top:0; z-index:2; padding:6px 8px; display:flex; justify-content:space-between; background:white; }
.module-group-title b { color:var(--blue); font-size:.74rem; }
.module-group-title span { color:var(--muted); font-size:.7rem; }
.module-button { width:100%; min-height:55px; margin-bottom:6px; padding:8px 9px; display:grid; grid-template-columns:36px 1fr; grid-template-rows:auto auto; column-gap:9px; text-align:left; border:1px solid #d8e2f3; border-radius:14px; color:var(--ink); background:rgba(255,255,255,.92); box-shadow:0 4px 12px rgba(12,42,105,.035); transition:.2s ease; }
.module-button > span { grid-row:1 / 3; width:34px; height:34px; display:grid; place-items:center; align-self:center; border-radius:9px; color:var(--blue); background:#eaf0ff; font-size:.7rem; font-weight:800; }
.module-button b { align-self:end; color:var(--navy); font-size:.78rem; line-height:1.12; }
.module-button small { align-self:start; margin-top:2px; color:var(--muted); font-size:.67rem; }
.module-button:hover { border-color:#91ace7; transform:translateX(3px); }
.module-button.active { border-color:var(--blue); color:white; background:linear-gradient(120deg,#071d58,#174fda); box-shadow:0 10px 24px rgba(18,56,184,.19); }
.module-button.active b,.module-button.active small { color:white; }
.module-button.active small { opacity:.74; }
.module-button.active > span { color:var(--navy); background:var(--yellow); }
.module-stage { min-width:0; min-height:0; overflow:auto; padding:10px 24px 22px; background:radial-gradient(circle at 92% 5%,rgba(36,89,238,.1),transparent 25%),#f1f5fc; }
.module-stage-head { position:sticky; top:0; z-index:8; min-height:82px; margin:0 -4px; padding:10px 4px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; background:rgba(241,245,252,.94); backdrop-filter:blur(12px); }
.module-stage-head > div:first-child > span { color:var(--blue); font-size:.75rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.module-stage-head h2 { margin-top:4px; font-size:clamp(1.45rem,2.5vw,2.35rem); }
.module-contribution { min-width:92px; padding:11px 14px; border-radius:15px; text-align:center; color:white; background:var(--blue); }
.module-contribution b,.module-contribution span { display:block; }
.module-contribution b { color:var(--yellow); font-size:1.25rem; }
.module-contribution span { font-size:.7rem; }
.module-stage-actions { display:flex; align-items:center; gap:9px; }
.stage-enroll { min-height:52px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; border-radius:15px; color:var(--navy); background:var(--yellow); box-shadow:0 9px 22px rgba(255,189,32,.24); font-size:.82rem; font-weight:800; white-space:nowrap; }
.stage-enroll:hover { transform:translateY(-2px); }
.module-progress { margin:12px 0 14px; padding:10px 14px; border:1px solid var(--line); border-radius:14px; background:white; }
.module-progress > div:first-child { display:flex; justify-content:space-between; color:var(--muted); font-size:.72rem; }
.module-progress b { color:var(--blue); }
.progress-track { height:7px; margin-top:7px; overflow:hidden; border-radius:999px; background:#e4ebf8; }
.progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--yellow),var(--blue)); transition:width .25s ease; }
.learning-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.learning-grid section { min-height:115px; padding:15px; display:grid; grid-template-columns:34px 1fr; gap:10px; border:1px solid var(--line); border-radius:16px; background:white; }
.learning-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:#e9efff; font-size:.7rem; font-weight:800; }
.learning-grid h3 { font-size:.92rem; }
.learning-grid p { margin:5px 0 0; color:var(--muted); font-size:.78rem; line-height:1.35; }
.certification-path { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.certification-path > div { min-height:105px; padding:14px 15px; border:1px solid var(--line); border-radius:15px; background:white; }
.certification-path span,.certification-path strong,.certification-path small { display:block; }
.certification-path span { color:var(--blue); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.certification-path strong { margin:4px 0; color:var(--navy); font-size:.82rem; line-height:1.2; }
.certification-path small { color:var(--muted); font-size:.68rem; line-height:1.3; }
.certification-path .final-award { border-color:var(--yellow); background:#fff7d9; }

/* Catálogo de aprendizaje: tres páginas por módulo. */
.module-catalog { min-height:278px; position:relative; overflow:hidden; border:1px solid #cddaf0; border-radius:24px; background:white; box-shadow:0 18px 44px rgba(16,45,105,.09); outline:none; }
.module-catalog:focus-visible { box-shadow:0 0 0 3px rgba(36,89,238,.24),0 18px 44px rgba(16,45,105,.09); }
.module-catalog-top { height:54px; padding:9px 17px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #e4eaf5; background:rgba(255,255,255,.94); }
.module-catalog-top > div:first-child span,.module-catalog-top > div:first-child strong { display:block; }.module-catalog-top > div:first-child span { color:var(--blue); font-size:.64rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.module-catalog-top > div:first-child strong { margin-top:1px; color:var(--navy); font-size:.85rem; }
.module-catalog-dots { display:flex; gap:7px; }.module-catalog-dots button { width:28px; height:7px; padding:0; border:0; border-radius:999px; background:#d8e1f1; }.module-catalog-dots button.active { width:46px; background:linear-gradient(90deg,var(--yellow),var(--blue)); }
.module-catalog-pages { height:calc(100% - 102px); min-height:176px; }
.module-catalog-page { min-height:176px; height:100%; position:relative; display:grid; grid-template-columns:64px minmax(0,1fr) 110px; gap:17px; align-items:center; padding:20px 26px; overflow:hidden; animation:module-page-in .28s ease both; }
.module-catalog-page[hidden] { display:none; }
@keyframes module-page-in { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:none; } }
.learn-page { background:linear-gradient(125deg,#ffffff 0 72%,#e9f0ff 72%); }.practice-page { background:linear-gradient(125deg,#fffaf0 0 72%,#ffe49a 72%); }.apply-page { color:white; background:linear-gradient(125deg,#071c55 0 72%,#174ed1 72%); }
.catalog-page-number { align-self:start; width:54px; height:54px; display:grid; place-items:center; border-radius:17px; color:var(--navy); background:var(--yellow); font-size:1.05rem; font-weight:800; box-shadow:0 8px 20px rgba(255,189,32,.24); }
.catalog-page-copy { min-width:0; }.catalog-kicker { color:var(--blue); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.catalog-page-copy h3 { margin:3px 0 7px; font-size:1.35rem; }.catalog-page-copy > p { max-width:850px; margin:0; color:#51607c; font-size:.85rem; line-height:1.48; }.apply-page .catalog-kicker { color:var(--yellow); }.apply-page h3 { color:white; }.apply-page .catalog-page-copy > p { color:#dce6ff; }
.catalog-tags { margin-top:13px; display:flex; flex-wrap:wrap; gap:6px; }.catalog-tags span { padding:6px 9px; border-radius:999px; color:var(--blue); background:#eaf0ff; font-size:.67rem; font-weight:800; }
.catalog-product { margin-top:12px; padding:10px 13px; border-left:4px solid var(--yellow); border-radius:0 12px 12px 0; background:rgba(255,255,255,.75); }.catalog-product span,.catalog-product strong { display:block; }.catalog-product span { color:#8e6500; font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.catalog-product strong { margin-top:3px; color:var(--navy); font-size:.78rem; }
.catalog-page-symbol { width:82px; height:82px; display:grid; place-items:center; border:2px solid rgba(18,56,184,.14); border-radius:26px; color:rgba(18,56,184,.2); font-size:3rem; font-weight:800; transform:rotate(-5deg); }.apply-page .catalog-page-symbol { color:var(--yellow); border-color:rgba(255,255,255,.22); }
.catalog-awards { margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.catalog-awards > div { padding:8px 9px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:rgba(255,255,255,.08); }.catalog-awards span,.catalog-awards strong { display:block; }.catalog-awards span { color:var(--yellow); font-size:.55rem; font-weight:800; text-transform:uppercase; }.catalog-awards strong { margin-top:2px; color:white; font-size:.64rem; line-height:1.25; }
.module-catalog-controls { height:48px; padding:0 14px; display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center; border-top:1px solid #e2e8f3; background:white; }.module-catalog-controls button { justify-self:start; padding:7px 11px; border:0; border-radius:10px; color:var(--blue); background:#eaf0ff; font-size:.7rem; font-weight:800; }.module-catalog-controls button.next { justify-self:end; color:var(--navy); background:var(--yellow); }.module-catalog-controls > div { color:#8b96aa; font-size:.68rem; font-weight:800; }.module-catalog-controls b { color:var(--blue); }
.course-page .alma-fab { width:50px; height:50px; left:auto; right:14px; bottom:12px; padding:0; display:grid; place-items:center; font-size:0; }.course-page .alma-fab::after { content:"ALMA"; font-size:.58rem; letter-spacing:.03em; }.course-page .module-catalog-controls button.next { margin-right:52px; }

@media (max-width:1050px) {
  .course-heading-grid { grid-template-columns:1fr auto; }
  .course-metrics > div { min-width:82px; padding:10px; }
  .course-metrics > div:last-child { display:none; }
  .course-workspace { grid-template-columns:270px minmax(0,1fr); }
  .learning-grid section { min-height:130px; }
  .module-catalog-page { grid-template-columns:54px minmax(0,1fr) 70px; padding:17px; }.catalog-page-symbol { width:62px; height:62px; font-size:2.3rem; }.catalog-awards strong { font-size:.58rem; }
}

@media (max-width:800px) {
  .course-page #contenido { height:calc(100vh - 78px); grid-template-rows:105px 92px minmax(0,1fr); }
  .course-heading { grid-row:1; padding:10px 0; }
  .course-heading-grid { height:84px; }
  .course-heading h1 { font-size:1.35rem; }
  .course-heading .eyebrow,.course-back { font-size:.62rem; }
  .course-metrics > div { min-width:66px; padding:8px; }
  .course-metrics > div:nth-child(3),.course-metrics > div:last-child { display:none; }
  .course-workspace { grid-row:2 / 4; display:grid; grid-template-columns:1fr; grid-template-rows:92px minmax(0,1fr); }
  .module-rail { width:100%; min-width:0; max-width:100vw; grid-row:1; padding:8px 12px; overflow:hidden; border-right:0; border-bottom:1px solid var(--line); }
  .module-rail-head { display:none; }
  .module-list { width:100%; min-width:0; max-width:100%; display:flex; gap:7px; overflow-x:auto; overflow-y:hidden; padding:0 0 6px; overscroll-behavior-inline:contain; }
  .module-group { display:flex; gap:7px; margin:0; }
  .module-group-title { flex:0 0 70px; position:static; padding:7px; flex-direction:column; justify-content:center; border-radius:10px; color:white; background:var(--navy); }
  .module-group-title b { color:var(--yellow); }
  .module-group-title span { color:white; }
  .module-button { flex:0 0 170px; height:68px; margin:0; }
  .module-stage { width:100%; min-width:0; max-width:100vw; grid-row:2; padding:13px 14px 18px; overflow-x:hidden; }
  .module-stage-head h2 { font-size:1.35rem; }
  .module-catalog { width:100%; min-width:0; min-height:286px; }.module-catalog-pages { width:100%; min-width:0; min-height:184px; }.module-catalog-page { width:100%; min-width:0; }
}

@media (max-width:620px) {
  .course-page #contenido { height:calc(100vh - 68px); grid-template-rows:92px minmax(0,1fr); }
  .course-heading-grid { height:72px; }
  .course-heading h1 { font-size:1.08rem; }
  .course-heading .eyebrow { display:none; }
  .course-metrics > div { min-width:55px; }
  .course-metrics > div:nth-child(2) { display:none; }
  .course-workspace { grid-row:2; grid-template-rows:82px minmax(0,1fr); }
  .module-button { flex-basis:155px; height:62px; }
  .module-stage { padding:10px; }
  .module-stage-head { gap:9px; }
  .module-stage-head h2 { font-size:1.08rem; }
  .module-contribution { min-width:70px; padding:8px; }
  .module-stage-actions { gap:5px; }.stage-enroll { min-height:45px; padding:0 11px; border-radius:12px; font-size:.7rem; }.module-contribution { display:none; }
  .flexible-route { margin:6px 0 9px; }.flex-route-track { padding-top:10px; }.module-catalog { min-height:365px; }.module-catalog-top { height:52px; }.module-catalog-top > div:first-child strong { font-size:.72rem; }.module-catalog-page { min-height:263px; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:start; padding:16px 14px; }.catalog-page-number { width:42px; height:42px; border-radius:13px; font-size:.82rem; }.catalog-page-symbol { display:none; }.catalog-page-copy h3 { font-size:1.05rem; }.catalog-page-copy > p { font-size:.75rem; }.catalog-tags { margin-top:9px; }.catalog-product { margin-top:9px; }.catalog-awards { grid-template-columns:1fr; gap:5px; }.catalog-awards > div { padding:6px 8px; }.catalog-awards strong { font-size:.61rem; }
  .learning-grid,.certification-path { grid-template-columns:1fr; }
  .learning-grid section { min-height:0; }
}

/* Portada publicitaria: cinco mensajes en una sola pantalla. */
.home-banner-page { overflow:hidden; background:#eef3fb; }
.home-banner-page .site-header { position:relative; z-index:30; }
.brand-home { gap:10px; }
.brand-home > span:last-child { display:flex; flex-direction:column; line-height:1; }
.brand-home b { color:var(--navy); font-size:1.04rem; }
.brand-home small { margin-top:4px; color:var(--muted); font-size:.58rem; font-weight:700; letter-spacing:.02em; }
.social-nav { display:inline-flex !important; align-items:center; gap:6px; }
.social-nav img { width:25px; height:25px; object-fit:contain; }
.intebia-nav-link { min-width:52px; justify-content:center; padding:5px 8px !important; }
.intebia-nav-logo { width:38px; height:38px; display:block; object-fit:cover; border-radius:10px; }
.intebia-nav-link[aria-current="page"] .intebia-nav-logo { box-shadow:0 0 0 3px rgba(243,179,25,.38); }
.sr-only { width:1px; height:1px; position:absolute; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.intebia-hero-logo { width:156px; height:auto; display:block; margin-bottom:18px; border-radius:18px; }
.intebia-footer-logo { width:92px; height:auto; display:block; margin-bottom:8px; border-radius:12px; }
.banner-stage { height:calc(100vh - 78px); padding:18px; overflow:hidden; }
.banner-carousel { width:min(1500px,100%); height:100%; margin:auto; position:relative; overflow:hidden; border-radius:30px; color:white; background:var(--navy); box-shadow:0 22px 60px rgba(13,39,105,.2); }
.banner-slides,.promo-slide { width:100%; height:100%; }
.promo-slide { display:grid; grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr); align-items:center; gap:30px; padding:clamp(36px,6vw,88px); position:relative; overflow:hidden; animation:banner-in .42s ease both; }
.promo-slide[hidden] { display:none; }
.promo-slide::before { content:""; width:420px; height:420px; position:absolute; right:-90px; top:-130px; border:80px solid rgba(255,255,255,.06); border-radius:50%; }
@keyframes banner-in { from { opacity:0; transform:translateX(20px); } to { opacity:1; transform:none; } }
.promo-copy { position:relative; z-index:2; }
.promo-kicker { margin-bottom:12px; color:var(--yellow); font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.promo-slide h1,.promo-slide h2 { max-width:760px; color:white; font-size:clamp(2.4rem,5vw,5rem); line-height:.98; letter-spacing:-.04em; }
.promo-slide h1 span { color:var(--yellow); }
.promo-slide p { max-width:660px; margin:20px 0 25px; color:#d9e4ff; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.55; }
.promo-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.promo-slide .btn { color:var(--navy); background:var(--yellow); box-shadow:0 12px 28px rgba(255,188,31,.2); }
.promo-slide .text-link { color:white; font-weight:800; border-bottom:1px solid rgba(255,255,255,.45); }
.promo-art { min-height:390px; position:relative; z-index:2; border:1px solid rgba(255,255,255,.16); border-radius:28px; overflow:hidden; background:rgba(255,255,255,.08); }
.promo-date { background:linear-gradient(125deg,#0b2363 0 58%,#1457dc 100%); }
.calendar-art { display:grid; place-items:center; background:radial-gradient(circle at center,rgba(69,151,255,.42),transparent 55%),rgba(255,255,255,.06); }
.calendar-card { width:min(330px,72%); min-height:300px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:28px; color:var(--navy); background:white; box-shadow:0 25px 55px rgba(0,0,0,.25); transform:rotate(3deg); }
.calendar-card::before { content:""; width:100%; height:52px; position:absolute; top:0; left:0; border-radius:28px 28px 0 0; background:var(--yellow); }
.calendar-card small { color:var(--blue); font-weight:800; letter-spacing:.14em; }
.calendar-card b { margin:8px 0; font-size:7rem; line-height:.8; letter-spacing:-.07em; }
.calendar-card span { color:var(--muted); font-weight:800; }
.promo-route { background:linear-gradient(130deg,#071946,#173b9b); }
.route-art { padding:45px; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; align-content:center; background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.02)); }
.route-stop { min-height:125px; padding:23px; border:1px solid rgba(255,255,255,.18); border-radius:20px; display:flex; flex-direction:column; justify-content:center; background:rgba(255,255,255,.08); }
.route-stop b { color:var(--yellow); font-size:1.8rem; }.route-stop span { font-weight:800; font-size:1.15rem; }
.route-stop.done { color:var(--navy); background:var(--yellow); }.route-stop.done b { color:var(--navy); }
.promo-open { background:linear-gradient(118deg,#0b2a78 0 55%,#2369e8 100%); }
.promo-tags { display:flex; gap:8px; flex-wrap:wrap; margin:-8px 0 24px; }
.promo-tags span { padding:8px 11px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.1); font-size:.78rem; font-weight:800; }
.open-art { display:grid; place-items:center; background:repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0 16px,transparent 16px 34px); }
.open-badge { width:78%; padding:42px 25px; display:flex; flex-direction:column; align-items:center; text-align:center; border-radius:26px; color:var(--navy); background:white; box-shadow:0 25px 55px rgba(0,0,0,.25); }
.open-badge small { color:var(--blue); font-weight:800; letter-spacing:.18em; }.open-badge b { margin:10px 0; font-size:clamp(1.8rem,3vw,3rem); }.open-badge span { padding:8px 20px; border-radius:999px; background:var(--yellow); font-weight:800; }
.promo-sports { background:linear-gradient(125deg,#071947 0 55%,#153e9f 100%); }
.charlie-art { background:#eef5fc; }
.charlie-art img { width:100%; height:100%; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.charlie-art span { position:absolute; right:18px; top:18px; padding:9px 13px; border-radius:999px; color:var(--navy); background:var(--yellow); font-size:.78rem; font-weight:800; }
.promo-future { background:linear-gradient(125deg,#111c4e,#42329a); }
.future-path { padding:40px 28px; display:flex; justify-content:center; align-items:center; gap:12px; background:radial-gradient(circle at center,rgba(255,255,255,.14),transparent 60%); }
.future-path div { width:145px; height:145px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(255,255,255,.1); }
.future-path div:nth-of-type(2) { color:var(--navy); background:var(--yellow); }.future-path b { font-size:1.65rem; }.future-path span { margin-top:4px; font-size:.78rem; font-weight:800; line-height:1.25; }.future-path i { color:var(--yellow); font-size:1.6rem; font-style:normal; }
.carousel-arrow { width:46px; height:46px; position:absolute; z-index:8; top:50%; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:white; background:rgba(4,18,55,.35); backdrop-filter:blur(8px); font-size:1.2rem; }
.carousel-arrow:hover { color:var(--navy); background:var(--yellow); }.carousel-arrow.prev { left:16px; }.carousel-arrow.next { right:16px; }
.carousel-dots { position:absolute; z-index:9; left:50%; bottom:18px; display:flex; gap:8px; transform:translateX(-50%); }
.carousel-dots button { width:9px; height:9px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.48); transition:.2s ease; }.carousel-dots button.active { width:34px; background:var(--yellow); }
.carousel-counter { position:absolute; z-index:9; right:24px; bottom:17px; color:white; font-size:.76rem; }.carousel-counter b { color:var(--yellow); font-size:1.05rem; }

@media (max-width:950px) {
  .home-header .nav { position:absolute; top:70px; right:14px; }
  .banner-stage { height:calc(100vh - 78px); padding:12px; }
  .promo-slide { grid-template-columns:1fr 1fr; padding:36px; gap:20px; }
  .promo-slide h1,.promo-slide h2 { font-size:clamp(2rem,5vw,3.3rem); }
  .promo-art { min-height:330px; }
  .future-path { flex-wrap:wrap; }.future-path div { width:112px; height:112px; }.future-path i { font-size:1rem; }
}

@media (max-width:700px) {
  .home-banner-page { overflow:auto; }
  .brand-home small { display:none; }
  .intebia-nav-link { justify-content:flex-start; }
  .banner-stage { height:calc(100vh - 68px); min-height:600px; padding:8px; }
  .banner-carousel { border-radius:20px; }
  .promo-slide { grid-template-columns:1fr; grid-template-rows:auto minmax(180px,.8fr); align-content:center; padding:34px 24px 55px; gap:15px; }
  .promo-slide h1,.promo-slide h2 { font-size:clamp(2rem,10vw,3.2rem); }
  .promo-slide p { margin:12px 0 16px; font-size:.9rem; }
  .promo-art { min-height:180px; max-height:280px; }
  .calendar-card { min-height:170px; }.calendar-card::before { height:35px; }.calendar-card b { font-size:4.2rem; }
  .route-art { padding:18px; grid-template-columns:repeat(4,1fr); gap:6px; }.route-stop { min-height:95px; padding:8px; }.route-stop b { font-size:1rem; }.route-stop span { font-size:.68rem; }
  .open-badge { padding:20px; }.open-badge b { font-size:1.5rem; }
  .future-path { padding:18px 12px; flex-wrap:nowrap; gap:5px; }.future-path div { width:88px; height:88px; }.future-path span { font-size:.6rem; }.future-path i { font-size:.8rem; }
  .carousel-arrow { display:none; }
}

.checkout-panel { width:min(390px,calc(100vw - 24px)); padding:30px; position:fixed; z-index:100; right:18px; bottom:78px; border:1px solid var(--line); border-radius:24px; background:white; box-shadow:0 25px 65px rgba(8,29,80,.24); transform:translateY(18px); opacity:0; visibility:hidden; transition:.2s ease; }
.checkout-panel.open { transform:none; opacity:1; visibility:visible; }
.checkout-panel h2 { margin-top:4px; font-size:1.7rem; }.checkout-panel > p { color:var(--muted); font-size:.88rem; }
.checkout-close { width:34px; height:34px; position:absolute; top:14px; right:14px; border:0; border-radius:50%; color:var(--navy); background:#edf2fb; font-size:1.25rem; }
.wompi-ready { margin:18px 0 12px; padding:13px; display:flex; gap:11px; align-items:center; border:1px solid #dadff0; border-radius:14px; background:#f8f9fd; }
.wompi-ready > span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:white; background:#5a2ad4; font-weight:800; }.wompi-ready strong,.wompi-ready small { display:block; }.wompi-ready small { margin-top:2px; color:var(--muted); font-size:.7rem; }
.wompi-checkout { width:100%; padding:13px 16px; border:0; border-radius:999px; color:white; background:#5a2ad4; font-weight:800; }
.checkout-status { margin:10px 0 0 !important; font-size:.72rem !important; line-height:1.35; }

/* Ruta curricular circular y flexible. */
.flexible-route { margin:12px 0 14px; padding:13px 14px 12px; border:1px solid #bfd0f3; border-radius:17px; background:linear-gradient(120deg,#fff,#f2f6ff); }
.flex-route-head { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; }
.flex-route-head > div:first-child > span { color:var(--blue); font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.flex-route-head h3 { margin-top:2px; color:var(--navy); font-size:.95rem; }
.route-summary { min-width:140px; padding:8px 11px; border-radius:12px; color:white; background:var(--navy); }
.route-summary b,.route-summary span { display:block; }.route-summary b { color:var(--yellow); font-size:.76rem; }.route-summary span { margin-top:2px; font-size:.7rem; }
.mini-enroll { padding:9px 12px; border-radius:999px; color:var(--navy); background:var(--yellow); font-size:.72rem; font-weight:800; white-space:nowrap; }
.flexible-route > p { margin:8px 0; color:var(--muted); font-size:.72rem; }
.flex-route-track { padding:7px 4px 3px; display:flex; align-items:center; gap:5px; overflow-x:auto; scrollbar-width:thin; }
.route-module { min-width:43px; height:43px; position:relative; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--line); border-radius:12px; color:var(--navy); background:white; }
.route-module b { font-size:.68rem; }.route-module small { position:absolute; top:-8px; padding:1px 4px; border-radius:99px; font-size:.48rem; font-weight:800; }
.route-module.route-first { border-color:var(--yellow); background:var(--yellow); box-shadow:0 6px 14px rgba(255,185,24,.22); }.route-module.route-first small { color:white; background:var(--blue); }
.route-module.route-last { border-color:var(--blue); }.route-module.route-last small { color:white; background:var(--navy); }
.flex-route-track > i { color:#8da5d6; font-size:.66rem; font-style:normal; }.flex-route-track > .route-loop { color:var(--blue); font-size:1.1rem; }

/* Inscripción y selección de plan. */
.enrollment-page,.payment-page { min-height:100vh; background:var(--pale); }
.flow-back { color:var(--blue); font-size:.85rem; font-weight:800; }
.flow-shell { min-height:calc(100vh - 78px); display:grid; grid-template-columns:minmax(300px,.72fr) minmax(600px,1.28fr); }
.flow-intro { padding:clamp(38px,6vw,80px); color:white; background:linear-gradient(145deg,var(--navy),var(--blue)); }
.flow-intro h1 { max-width:520px; margin-top:8px; color:white; font-size:clamp(2.2rem,4vw,4rem); }.flow-intro > p { max-width:520px; margin:15px 0 25px; color:#dce6ff; }
.flow-program { padding:17px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.08); }.flow-program small,.flow-program strong,.flow-program span { display:block; }.flow-program small { color:var(--yellow); font-weight:800; text-transform:uppercase; }.flow-program strong { margin:5px 0; }.flow-program span { color:#dce6ff; font-size:.82rem; }
.flow-steps { margin:28px 0 0; padding:0; display:flex; gap:10px; list-style:none; }.flow-steps li { flex:1; display:flex; gap:9px; align-items:center; opacity:.55; }.flow-steps li.active { opacity:1; }.flow-steps b { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:var(--yellow); }.flow-steps span { font-size:.75rem; font-weight:800; }
.enrollment-form { align-self:center; width:min(840px,calc(100% - 48px)); margin:24px auto; padding:28px; border:1px solid var(--line); border-radius:24px; background:white; box-shadow:0 18px 50px rgba(12,38,104,.08); }
.form-span-2 { grid-column:1 / -1; }
.form-grid label small { display:block; margin-top:6px; color:var(--muted); font-size:.76rem; line-height:1.35; }
.payment-program-context { margin-top:8px; color:var(--muted); font-size:.92rem; }
.payment-program-context strong { color:var(--blue); }
.form-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:20px; }.form-heading span { color:var(--blue); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.form-heading h2 { font-size:1.65rem; }.form-heading small { color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.form-grid label > span { display:block; margin-bottom:6px; color:var(--navy); font-size:.78rem; font-weight:800; }.form-grid input,.form-grid select { width:100%; height:46px; padding:0 12px; border:1px solid #cad4e7; border-radius:11px; color:var(--ink); background:white; font:inherit; font-size:.86rem; }.form-grid input:focus,.form-grid select:focus { outline:3px solid rgba(31,102,232,.14); border-color:var(--blue); }
.consent { margin:17px 0; display:flex; align-items:flex-start; gap:9px; color:var(--muted); font-size:.75rem; }.consent input { margin-top:3px; accent-color:var(--blue); }
.form-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; }.form-actions > a { color:var(--muted); font-size:.82rem; font-weight:800; }
.payment-shell { min-height:calc(100vh - 78px); display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; padding:22px; }
.payment-main,.fee-summary { border:1px solid var(--line); border-radius:24px; background:white; }.payment-main { padding:28px; }.payment-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }.payment-heading h1 { margin-top:4px; font-size:clamp(2rem,3vw,3rem); }.payment-heading p { color:var(--muted); }
.selected-start { min-width:130px; padding:13px 16px; border-radius:15px; color:white; background:var(--navy); text-align:center; }.selected-start small,.selected-start b,.selected-start span { display:block; }.selected-start small { font-size:.65rem; text-transform:uppercase; }.selected-start b { color:var(--yellow); font-size:1.65rem; }.selected-start span { font-size:.7rem; }
.payment-options { margin:24px 0 18px; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.payment-option { min-height:205px; padding:20px; position:relative; display:flex; flex-direction:column; border:2px solid var(--line); border-radius:18px; cursor:pointer; background:#fff; }.payment-option input { position:absolute; opacity:0; }.payment-option.selected { border-color:var(--blue); box-shadow:0 12px 28px rgba(31,102,232,.12); }.payment-option.featured::before { content:"MEJOR VALOR"; position:absolute; right:12px; top:-9px; padding:4px 8px; border-radius:999px; color:var(--navy); background:var(--yellow); font-size:.55rem; font-weight:800; }.payment-option.total-plan { color:white; background:linear-gradient(130deg,var(--navy),var(--blue)); }.payment-option.total-plan > strong,.payment-option.total-plan .plan-number,.payment-option.total-plan .plan-price { color:white; }.payment-option.total-plan > p { color:#dce6ff; }.payment-option.total-plan em { color:var(--yellow); }.plan-check { width:25px; height:25px; position:absolute; top:15px; right:15px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:transparent; }.payment-option.selected .plan-check { color:white; border-color:var(--blue); background:var(--blue); }.total-plan.selected .plan-check { color:var(--navy); border-color:var(--yellow); background:var(--yellow); }.plan-number { color:var(--blue); font-size:2.2rem; font-weight:800; }.total-plan .plan-number { font-size:1.15rem; }.payment-option > strong { margin:8px 0; color:var(--navy); }.payment-option > p { color:var(--muted); font-size:.78rem; line-height:1.45; }.plan-price { margin-top:auto; color:var(--blue); font-size:1.1rem; }.payment-option em { margin-top:8px; color:#8b6500; font-size:.68rem; font-style:normal; font-weight:800; }
.selected-payment-total { margin:-4px 0 12px; padding:11px 14px; display:flex; justify-content:space-between; align-items:center; border-radius:12px; background:#eef3fb; }.selected-payment-total span { color:var(--muted); font-size:.78rem; font-weight:800; }.selected-payment-total strong { color:var(--blue); font-size:1.15rem; }
.wompi-pay { width:100%; border:0; background:#5a2ad4; }.payment-status { margin:10px 0 0; color:var(--muted); text-align:center; font-size:.72rem; }
.fee-summary { padding:24px; align-self:start; }.fee-summary h2 { margin:5px 0 18px; font-size:1.45rem; }.fee-row { padding:14px 0; display:flex; justify-content:space-between; gap:14px; border-top:1px solid var(--line); }.fee-row.highlighted { padding:14px; border:1px solid #f4c64e; border-radius:13px; background:#fff8db; }.fee-row span b,.fee-row span small { display:block; }.fee-row b { color:var(--navy); font-size:.78rem; }.fee-row small { margin-top:3px; color:var(--muted); font-size:.64rem; }.fee-row > strong { color:var(--blue); white-space:nowrap; }
.fee-note { margin-top:15px; padding:13px; border-radius:13px; background:#eef3fb; }.fee-note b { color:var(--navy); font-size:.72rem; }.fee-note p { margin:4px 0 0; color:var(--muted); font-size:.68rem; line-height:1.4; }.secure-payment { margin-top:15px; display:flex; gap:10px; align-items:center; }.secure-payment > span { width:35px; height:35px; display:grid; place-items:center; border-radius:9px; color:white; background:#5a2ad4; font-weight:800; }.secure-payment b,.secure-payment small { display:block; }.secure-payment b { color:var(--navy); font-size:.75rem; }.secure-payment small { color:var(--muted); font-size:.62rem; }
.installment-track { margin:2px 0 12px; display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }.installment-track span { padding:6px 3px; border-radius:8px; color:var(--blue); background:#eaf0ff; text-align:center; font-size:.61rem; font-weight:800; }.installment-track small { display:block; margin-top:2px; color:var(--muted); font-size:.5rem; font-weight:800; }

@media (max-width:980px) {
  .flex-route-head { grid-template-columns:1fr auto; }.mini-enroll { grid-column:1 / -1; justify-self:start; }
  .flow-shell { grid-template-columns:1fr; }.flow-intro { padding:26px; }.flow-intro h1 { font-size:2rem; }.flow-intro > p { margin:8px 0 14px; }.flow-steps { margin-top:14px; }
  .payment-shell { grid-template-columns:1fr; }.fee-summary { width:100%; }.payment-options { grid-template-columns:1fr; }.payment-option { min-height:180px; }
}
@media (max-width:620px) {
  .flex-route-head { grid-template-columns:1fr; }.route-summary { justify-self:start; }.mini-enroll { grid-column:auto; }.flexible-route > p { display:none; }
  .enrollment-form { width:calc(100% - 20px); padding:18px; }.form-grid { grid-template-columns:1fr; }.form-heading small { display:none; }.form-actions { flex-direction:column-reverse; align-items:stretch; text-align:center; }
  .payment-shell { padding:10px; }.payment-main,.fee-summary { padding:18px; }.payment-heading { align-items:flex-start; }.selected-start { min-width:95px; }.payment-options { margin-top:16px; }
}

/* Colecciones Intebien: dos líneas en una sola pantalla. */
.collection-page { overflow:hidden; background:var(--pale); }
.collection-page .site-header { position:relative; z-index:40; }
.collection-cart-button { border:0; cursor:pointer; }
.collection-workspace { height:calc(100vh - 78px); display:grid; grid-template-columns:280px minmax(0,1fr); grid-template-rows:118px minmax(0,1fr); overflow:hidden; }
.collection-heading { grid-column:1 / -1; grid-row:1; padding:14px 0; border-bottom:1px solid var(--line); background:linear-gradient(105deg,#fff 0%,#f0f5ff 66%,#fff4ce 100%); }
.collection-heading-grid { height:88px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.collection-heading h1 { margin-top:3px; font-size:clamp(1.8rem,3vw,3rem); }.collection-heading p { margin:3px 0 0; color:var(--muted); }
.collection-signature { min-width:250px; display:flex; align-items:center; justify-content:flex-end; gap:12px; }.collection-signature > b { padding:6px 9px; border-radius:999px; color:#765500; background:#fff0b8; font-size:.62rem; text-transform:uppercase; }.collection-signature span { color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; }.collection-signature img { width:128px; height:65px; object-fit:contain; border-radius:10px; }
.collection-rail { grid-column:1; grid-row:2; min-height:0; padding:20px 15px 18px 20px; display:flex; flex-direction:column; gap:10px; border-right:1px solid var(--line); background:white; }
.collection-rail-title { padding:0 10px 10px; }.collection-rail-title span,.collection-rail-title strong { display:block; }.collection-rail-title span { color:var(--blue); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.collection-rail-title strong { margin-top:3px; color:var(--navy); }
.collection-tab { min-height:92px; padding:14px; display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; border:1px solid var(--line); border-radius:16px; text-align:left; color:var(--ink); background:white; }
.collection-tab:hover { border-color:#9fb6e8; }.collection-tab.active { color:white; border-color:var(--blue); background:linear-gradient(120deg,var(--navy),var(--blue)); box-shadow:0 12px 25px rgba(15,50,135,.17); }
.collection-index { width:37px; height:37px; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#e8efff; font-size:.72rem; font-weight:800; }.collection-tab.active .collection-index { color:var(--navy); background:var(--yellow); }
.collection-tab b,.collection-tab small { display:block; }.collection-tab b { color:var(--navy); font-size:.87rem; }.collection-tab small { margin-top:4px; color:var(--muted); font-size:.7rem; }.collection-tab.active b,.collection-tab.active small { color:white; }.collection-tab.active small { opacity:.72; }.tab-arrow { color:var(--blue); }.collection-tab.active .tab-arrow { color:var(--yellow); }
.collection-promise { margin-top:auto; padding:14px; border-radius:14px; color:white; background:#0d1530; }.collection-promise b,.collection-promise span { display:block; }.collection-promise b { color:var(--yellow); font-size:.78rem; }.collection-promise span { margin-top:4px; color:#d9e2f8; font-size:.68rem; line-height:1.4; }
.collection-panels { grid-column:2; grid-row:2; min-width:0; min-height:0; padding:18px 22px 22px; overflow:hidden; }
.collection-panel { width:100%; height:100%; min-height:0; display:grid; grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr); gap:18px; padding:22px; overflow:hidden; border-radius:26px; color:white; background:linear-gradient(130deg,#092364,#1759d9); box-shadow:0 18px 45px rgba(12,39,105,.17); animation:collection-in .28s ease both; }
.collection-panel[hidden] { display:none; } @keyframes collection-in { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
.collection-story { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:12px 18px; }.collection-label { color:var(--yellow); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.collection-story h2 { margin-top:10px; color:white; font-size:clamp(2rem,3.2vw,3.6rem); line-height:1; }.collection-story > p { margin:14px 0 17px; color:#dbe6ff; font-size:.9rem; line-height:1.5; }
.co-brand-lockup { min-height:105px; padding:12px 14px; display:grid; grid-template-columns:1fr auto 1fr; gap:13px; align-items:center; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:white; }.co-brand-lockup i { color:#8191b1; font-size:1.5rem; font-style:normal; }.co-brand-lockup > img { width:100%; height:80px; object-fit:contain; border-radius:8px; }
.intebien-lockup { display:flex; align-items:center; gap:9px; }.intebien-lockup > span:last-child { display:flex; flex-direction:column; }.intebien-lockup b { color:var(--navy); font-size:1.25rem; }.intebien-lockup small { margin-top:3px; color:var(--blue); font-size:.55rem; font-weight:800; letter-spacing:.12em; }
.collection-details { display:flex; flex-wrap:wrap; gap:6px; margin-top:15px; }.collection-details span { padding:7px 9px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.08); font-size:.66rem; font-weight:800; }
.collection-showcase { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(190px,1fr) 172px; gap:10px; }.institutional-hero-card { min-height:0; padding:22px; display:grid; grid-template-columns:1fr 1fr; align-items:center; border-radius:20px; overflow:hidden; background:linear-gradient(145deg,#fff,#eef3ff); }.institutional-hero-card > img { width:100%; height:170px; object-fit:contain; }.uniform-badge { min-height:180px; padding:22px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; border-radius:18px; color:white; background:linear-gradient(145deg,var(--blue),var(--navy)); }.uniform-badge b { margin-top:12px; font-size:1.35rem; }.uniform-badge small { margin-top:3px; color:var(--yellow); font-size:.65rem; font-weight:800; letter-spacing:.13em; }
.compact-products { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.compact-products article { min-width:0; padding:9px; border-radius:14px; color:var(--ink); background:white; }.compact-products h3 { margin-top:6px; color:var(--navy); font-size:.76rem; }.compact-products p { margin:2px 0 7px; color:var(--muted); font-size:.62rem; }.compact-products button { width:100%; padding:7px; border:0; border-radius:999px; color:white; background:var(--blue); font-size:.65rem; font-weight:800; }
.garment { height:64px; padding:8px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:10px; color:white; background:linear-gradient(145deg,var(--blue),var(--navy)); }.garment span { font-size:.52rem; font-weight:800; letter-spacing:.1em; }.garment b { margin-top:3px; color:var(--yellow); font-size:.75rem; }.garment.jacket { background:#101b38; }.garment.practice { color:var(--navy); background:var(--yellow); }.garment.practice b { color:var(--navy); }
.public-collection { background:linear-gradient(135deg,#06080d,#172139); }.public-story { padding-right:4px; }.public-brand-lockup { display:flex; align-items:center; gap:14px; }.public-brand-lockup img { width:94px; height:94px; object-fit:cover; border-radius:50%; border:2px solid #313b52; }.hb-monogram { width:70px; height:70px; display:grid; place-items:center; border:2px solid white; border-radius:16px; color:white; font-size:1.5rem; font-weight:800; letter-spacing:-.08em; }.hb-monogram.small { width:44px; height:44px; border-radius:11px; font-size:.9rem; }
.public-showcase { grid-template-rows:minmax(190px,1fr) 172px; }.public-lookbook { width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; border-radius:20px; }.public-products article { background:#f7f7f7; }.public-products .garment { background:#0b0e14; }.public-products .garment img { width:54px; height:54px; object-fit:cover; border-radius:50%; }.public-hoodie { background:#111a33 !important; }.public-cap { background:#e8e8e8 !important; }

@media (max-width:1000px) {
  .collection-workspace { grid-template-columns:1fr; grid-template-rows:105px 90px minmax(0,1fr); }.collection-heading { grid-column:1; grid-row:1; padding:10px 0; }.collection-heading-grid { height:84px; }.collection-heading h1 { font-size:1.8rem; }.collection-heading p { display:none; }.collection-signature img { width:105px; height:52px; }
  .collection-rail { grid-column:1; grid-row:2; padding:10px 14px; flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); }.collection-rail-title,.collection-promise { display:none; }.collection-tab { min-width:260px; min-height:68px; padding:9px; }
  .collection-panels { grid-column:1; grid-row:3; padding:12px; }.collection-panel { grid-template-columns:minmax(290px,.75fr) minmax(430px,1.25fr); padding:15px; }.collection-story h2 { font-size:2rem; }.co-brand-lockup { min-height:88px; }.co-brand-lockup > img { height:64px; }
}
@media (max-width:700px) {
  .collection-page { overflow:auto; }.collection-workspace { height:calc(100vh - 68px); min-height:650px; grid-template-rows:85px 78px minmax(0,1fr); }.collection-heading-grid { height:65px; }.collection-heading h1 { font-size:1.35rem; }.collection-heading .eyebrow,.collection-signature span { display:none; }.collection-signature { min-width:100px; }.collection-signature img { width:82px; height:45px; }
  .collection-tab { min-width:220px; min-height:58px; }.collection-index { width:32px; height:32px; }.collection-panels { overflow:auto; }.collection-panel { height:auto; min-height:100%; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); padding:13px; }.collection-story { padding:5px; }.collection-story h2 { font-size:1.55rem; }.collection-story > p { margin:8px 0 10px; font-size:.76rem; }.co-brand-lockup { min-height:75px; }.intebien-lockup b { font-size:.95rem; }.institutional-hero-card { min-height:155px; }.uniform-badge { min-height:130px; }.institutional-hero-card > img { height:130px; }.compact-products h3 { font-size:.68rem; }.public-brand-lockup img { width:65px; height:65px; }.hb-monogram { width:52px; height:52px; }.public-lookbook { min-height:180px; max-height:260px; }
}

.catalog-gallery { min-height:0; position:relative; overflow:hidden; border-radius:20px; background:#dfe7f6; }
.gallery-main { width:100%; height:100%; min-height:0; display:block; object-fit:cover; object-position:center; transition:opacity .2s ease; }
.gallery-meta { position:absolute; left:13px; top:13px; padding:7px 10px; display:flex; gap:12px; align-items:center; border-radius:999px; color:white; background:rgba(5,20,55,.78); backdrop-filter:blur(8px); font-size:.62rem; font-weight:800; }
.gallery-meta b { color:var(--yellow); }
.gallery-thumbs { position:absolute; right:12px; bottom:12px; display:flex; gap:7px; }
.gallery-thumbs button { width:64px; height:45px; padding:2px; overflow:hidden; border:2px solid rgba(255,255,255,.7); border-radius:9px; background:white; opacity:.72; }
.gallery-thumbs button.active { border-color:var(--yellow); opacity:1; box-shadow:0 5px 15px rgba(0,0,0,.25); }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; border-radius:5px; }
.product-strip { display:flex; gap:9px; overflow-x:auto; padding:0 0 5px; scroll-snap-type:x proximity; scrollbar-width:thin; }
.product-strip article { flex:0 0 160px; min-height:112px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto auto; column-gap:8px; align-items:center; scroll-snap-align:start; }
.product-strip h3 { grid-column:1 / -1; margin:0; }.product-strip p { grid-column:1 / -1; margin:2px 0 4px; }.product-strip strong { color:var(--blue); font-size:.75rem; }.product-strip button { width:auto; min-width:68px; padding:7px 9px; }
.public-products.product-strip article { background:#f7f8fb; }

.product-pager { position:relative; min-width:0; height:172px; padding:0 52px; border-radius:18px; outline:none; background:#fff; box-shadow:0 10px 25px rgba(4,22,65,.14); }
.product-pager:focus-visible { box-shadow:0 0 0 3px var(--yellow),0 10px 25px rgba(4,22,65,.14); }
.product-pages,.product-page { height:100%; min-width:0; }
.product-page { display:grid; grid-template-columns:190px minmax(0,1fr); gap:16px; align-items:center; color:var(--ink); animation:product-page-in .25s ease both; }
.product-page[hidden] { display:none; }
@keyframes product-page-in { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:none; } }
.product-page-image { position:relative; width:100%; height:142px; overflow:hidden; border-radius:13px; background:#edf2fb; }
.product-page-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.product-page-image span { position:absolute; left:8px; bottom:8px; padding:4px 7px; border-radius:999px; color:white; background:rgba(6,20,50,.76); font-size:.52rem; font-weight:800; }
.product-page-info { min-width:0; padding-right:4px; }
.product-page-info > small { color:var(--blue); font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.product-page-info h3 { margin:4px 0 2px; color:var(--navy); font-size:1.05rem; }
.product-page-info p { margin:0 0 11px; color:var(--muted); font-size:.7rem; }
.product-page-info > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.product-page-info strong { color:var(--navy); font-size:1.1rem; }
.product-page-info button { padding:9px 13px; border:0; border-radius:999px; color:white; background:var(--blue); font-size:.64rem; font-weight:800; cursor:pointer; }
.product-page-info button:hover { background:var(--navy); }
.product-page-arrow { position:absolute; z-index:2; top:50%; width:36px; height:62px; display:grid; place-items:center; transform:translateY(-50%); border:0; border-radius:12px; color:var(--navy); background:#e9effd; font-size:1.25rem; font-weight:800; cursor:pointer; }
.product-page-arrow:hover { color:white; background:var(--blue); }.product-page-arrow.previous { left:8px; }.product-page-arrow.next { right:8px; color:var(--navy); background:var(--yellow); }
.product-page-counter { position:absolute; right:56px; top:9px; display:flex; gap:4px; color:#8792a8; font-size:.6rem; font-weight:800; }.product-page-counter b { color:var(--blue); }
.public-product-pager { background:#f7f8fb; }.public-product-pager .product-page-image { background:#111827; }.public-product-pager .product-page-info button { background:#10182b; }.public-product-pager .product-page-arrow.previous { background:#e2e6ee; }.public-product-pager .product-page-arrow.next { background:var(--yellow); }

@media (max-width:1000px) {
  .collection-showcase,.public-showcase { grid-template-rows:minmax(175px,1fr) 160px; }.product-strip article { flex-basis:145px; }.product-pager { height:160px; padding:0 45px; }.product-page { grid-template-columns:150px minmax(0,1fr); gap:12px; }.product-page-image { height:130px; }.product-page-info h3 { font-size:.9rem; }.product-page-info p { margin-bottom:8px; }.product-page-info strong { font-size:.95rem; }.product-page-info button { padding:8px 10px; }
}
@media (max-width:700px) {
  .catalog-gallery { min-height:220px; }.product-strip article { flex-basis:150px; }.gallery-thumbs button { width:55px; height:40px; }.collection-showcase,.public-showcase { grid-template-rows:220px 180px; }.product-pager { height:180px; padding:8px; }.product-page { grid-template-columns:98px minmax(0,1fr); gap:10px; padding-bottom:0; }.product-page-image { height:150px; padding-bottom:38px; }.product-page-info { padding-top:17px; }.product-page-info h3 { font-size:.8rem; }.product-page-info p { font-size:.59rem; line-height:1.35; }.product-page-info > div { align-items:flex-start; flex-direction:column; gap:5px; }.product-page-info strong { font-size:.86rem; }.product-page-info button { width:100%; padding:7px 8px; font-size:.57rem; }.product-page-arrow { top:auto; bottom:14px; width:34px; height:32px; transform:none; border-radius:9px; font-size:.95rem; }.product-page-arrow.previous { left:17px; }.product-page-arrow.next { left:56px; right:auto; }.product-page-counter { right:9px; top:7px; }
}

/* Accesibilidad transversal para públicos de diferentes edades. */
:focus-visible { outline:3px solid #ffc72c; outline-offset:3px; }
.nav a,.nav-cta,.btn,.filter,.tab,.menu,.flow-back,.stage-enroll,.module-catalog-controls button,.product-page-info button { min-height:44px; }
.nav a,.flow-back { display:inline-flex; align-items:center; }
input,select { min-height:48px; }
.accessibility-tools { position:fixed; z-index:90; right:14px; top:88px; display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.accessibility-toggle { min-height:42px; padding:8px 12px; border:1px solid #c8d6ee; border-radius:999px; color:var(--navy); background:rgba(255,255,255,.96); box-shadow:0 8px 24px rgba(8,29,91,.14); font-size:.78rem; font-weight:800; }
.accessibility-toggle span { margin-left:4px; }
.accessibility-panel { width:225px; padding:14px; border:1px solid #cbd8ed; border-radius:17px; background:white; box-shadow:0 18px 45px rgba(8,29,91,.2); }
.accessibility-panel[hidden] { display:none; }.accessibility-panel strong { display:block; margin-bottom:9px; color:var(--navy); font-size:.9rem; }
.accessibility-panel button { width:100%; min-height:42px; margin-top:6px; padding:8px 10px; border:1px solid #d4deef; border-radius:11px; text-align:left; color:var(--navy); background:#f2f6fd; font-size:.78rem; font-weight:800; }
.accessibility-panel button:hover { border-color:var(--blue); background:#e8efff; }
.advisor-fab { position:fixed; z-index:36; right:22px; bottom:22px; width:52px; height:52px; padding:0; display:grid; place-items:center; border-radius:50%; color:white; background:#087a5b; box-shadow:0 12px 30px rgba(8,87,66,.24); font-size:0; font-weight:800; }.advisor-fab span { display:none; }.advisor-fab::after { content:"WA"; font-size:.7rem; letter-spacing:.02em; }.advisor-fab:hover { background:#056348; transform:translateY(-2px); }
.carousel-pause { position:absolute; z-index:9; right:76px; bottom:24px; min-height:40px; padding:8px 12px; border:1px solid rgba(255,255,255,.32); border-radius:999px; color:white; background:rgba(5,21,61,.72); backdrop-filter:blur(8px); font-size:.72rem; font-weight:800; }
.alma-fab::before { content:"Asistente virtual · "; font-weight:700; opacity:.82; }
.course-page .alma-fab::before { display:none; }

html.large-text { font-size:18px; }
html.large-text .accessibility-tools { font-size:16px; }
html.high-contrast { --blue:#0039c8; --navy:#001348; --muted:#26324d; --pale:#f4f7fb; --line:#9dabc0; }
html.high-contrast body { color:#071634; }
html.high-contrast .site-header,html.high-contrast .card,html.high-contrast .program-row,html.high-contrast .module-button { border-color:#73829a; }
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

@media (max-width:700px) {
  .accessibility-tools { top:12px; right:70px; }.accessibility-toggle { min-width:44px; padding:7px 10px; }.accessibility-toggle span { display:none; }.accessibility-panel { width:min(225px,calc(100vw - 20px)); }
  .advisor-fab { right:12px; bottom:12px; width:50px; height:50px; }
  .carousel-pause { right:16px; bottom:58px; min-height:38px; }
  html.large-text { font-size:17px; }
  .alma-fab::before { content:"Virtual · "; }
}

/* ALMA · primera versión demostrativa */
.alma-fab { left:22px; right:auto; bottom:22px; width:52px; height:52px; display:grid; place-items:center; padding:6px; }
.alma-fab::before,.course-page .alma-fab::after { display:none; content:none; }
.alma-fab img { width:40px; height:40px; border-radius:50%; object-fit:contain; background:#fff; }
.alma-fab span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.course-page .alma-fab { width:auto; height:auto; left:14px; right:auto; bottom:14px; padding:6px; }
.course-page .alma-fab img { width:38px; height:38px; }
.course-page .alma-fab span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.alma-panel { left:22px; right:auto; bottom:82px; max-height:min(620px,calc(100vh - 102px)); overflow:auto; }
.alma-panel header { position:relative; padding-right:34px; }
.alma-panel header > div { min-width:0; }
.alma-panel header strong,.alma-panel header small { display:block; }
.alma-panel header img { object-fit:contain; object-position:center; background:linear-gradient(145deg,#eef5ff,#fff8df); }
.alma-close { position:absolute; top:0; right:0; width:32px; height:32px; padding:0!important; border-radius:50%!important; background:#eef3fb!important; color:var(--navy)!important; font-size:1.25rem; }
.alma-quick-actions { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0; }
.alma-quick-actions button { padding:7px 10px; border:1px solid #c9d8f4; border-radius:999px; background:#f5f8ff; color:var(--blue); font-size:.78rem; }
.alma-answer { line-height:1.45; }
@media (max-width:640px) {
  .alma-fab { left:12px; right:auto; bottom:12px; width:52px; height:52px; padding:6px; }
  .alma-fab img { width:40px; height:40px; }
  .alma-fab span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .alma-panel { left:12px; right:12px; bottom:74px; width:auto; max-height:calc(100vh - 94px); }
}

main.payment-shell.payment-two-page { display:block; grid-template-columns:none; max-width:1240px; margin-inline:auto; }

/* Formación continua y verificación de calidad. */
.quality-seal { display:flex; align-items:center; gap:9px; border:1px solid rgba(243,179,25,.7); border-radius:15px; color:var(--navy); background:rgba(255,255,255,.96); box-shadow:0 10px 28px rgba(7,28,92,.16); }
.quality-seal img { width:46px; height:46px; object-fit:contain; }
.quality-seal span,.quality-seal b,.quality-seal small { display:block; }.quality-seal b { font-size:.72rem; }.quality-seal small { margin-top:2px; color:var(--blue); font-size:.61rem; font-weight:800; }
.quality-seal-home { position:absolute; z-index:12; right:20px; top:18px; padding:7px 11px 7px 7px; }
.quality-seal-programs { min-width:188px; padding:8px 12px 8px 8px; align-self:stretch; }
.quality-seal-programs img { width:54px; height:54px; }
.programs-page .quality-seal-programs span { display:block; color:var(--navy); }

.continuing-page { overflow:hidden; background:#eef3fb; }
.continuing-shell { height:calc(100vh - 78px); display:grid; grid-template-rows:150px minmax(0,1fr); overflow:hidden; }
.continuing-intro { padding:20px 0; color:white; background:linear-gradient(120deg,#081f63,#0057b8 64%,#1e64ea); }
.continuing-intro-grid { height:110px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center; }
.continuing-intro .eyebrow { color:var(--yellow); }.continuing-intro h1 { margin-top:5px; color:white; font-size:clamp(1.8rem,3vw,3rem); }.continuing-intro p { max-width:760px; margin:6px 0 0; color:#dce6ff; font-size:.9rem; }
.route-equation { min-width:390px; padding:14px; display:flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.1); }.route-equation span,.route-equation strong { padding:9px 11px; border-radius:11px; background:rgba(255,255,255,.1); font-size:.72rem; }.route-equation span b { color:var(--yellow); font-size:1.15rem; }.route-equation i { color:var(--yellow); font-style:normal; font-weight:800; }.route-equation strong { color:var(--navy); background:var(--yellow); }
.continuing-workspace { min-height:0; display:grid; grid-template-columns:255px minmax(0,1fr); }
.training-rail { min-height:0; padding:22px 16px 18px 22px; display:flex; flex-direction:column; gap:10px; border-right:1px solid var(--line); background:white; }.training-rail > div { padding:0 4px 9px; }.training-rail > div small,.training-rail > div strong { display:block; }.training-rail > div small { color:var(--blue); font-size:.68rem; font-weight:800; text-transform:uppercase; }.training-rail > div strong { margin-top:3px; color:var(--navy); }
.training-tab { min-height:88px; padding:13px; display:grid; grid-template-columns:40px 1fr; gap:2px 10px; align-items:center; border:1px solid var(--line); border-radius:16px; color:var(--navy); background:#f8faff; text-align:left; cursor:pointer; }.training-tab > span { grid-row:1 / 3; width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:var(--blue); background:#e7efff; font-weight:800; }.training-tab b { font-size:.9rem; }.training-tab small { color:var(--muted); font-size:.7rem; }.training-tab.active { color:white; border-color:var(--blue); background:linear-gradient(130deg,var(--navy),var(--blue)); box-shadow:0 12px 26px rgba(18,56,184,.18); }.training-tab.active > span { color:var(--navy); background:var(--yellow); }.training-tab.active small { color:#dce6ff; }.training-help { margin-top:auto; padding:12px; color:var(--blue); font-size:.76rem; font-weight:800; }
.training-panels { min-width:0; min-height:0; padding:18px; overflow:hidden; }
.training-panel { width:100%; height:100%; min-height:0; display:grid; grid-template-columns:minmax(330px,.88fr) minmax(470px,1.12fr); gap:18px; border-radius:24px; overflow:hidden; color:white; background:linear-gradient(130deg,#09266d,#1760db); box-shadow:0 18px 45px rgba(12,39,105,.16); }.training-panel[hidden] { display:none; }
.training-story { min-width:0; padding:28px; display:flex; flex-direction:column; justify-content:center; }.training-label { color:var(--yellow); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.training-story h2 { margin-top:8px; color:white; font-size:clamp(1.8rem,3vw,3.2rem); line-height:1.02; }.training-story > p { margin:12px 0; color:#dce6ff; font-size:.86rem; line-height:1.5; }
.training-benefits { display:flex; flex-wrap:wrap; gap:6px; }.training-benefits span { padding:7px 9px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(255,255,255,.09); font-size:.67rem; font-weight:800; }
.stack-route { margin-top:16px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:7px; align-items:center; }.stack-route > div { min-height:78px; padding:11px; display:flex; flex-direction:column; justify-content:center; border-radius:13px; color:var(--navy); background:white; }.stack-route b,.stack-route small { display:block; }.stack-route b { font-size:.72rem; }.stack-route small { margin-top:4px; color:var(--muted); font-size:.6rem; }.stack-route i { color:var(--yellow); font-style:normal; font-weight:800; }.training-story .training-note { margin-bottom:0; font-size:.66rem; }
.training-catalog,.company-plan { min-height:0; margin:14px; padding:22px; display:flex; flex-direction:column; border-radius:19px; color:var(--ink); background:#fff; }.training-catalog header,.company-plan header { display:flex; justify-content:space-between; align-items:end; gap:10px; margin-bottom:10px; }.training-catalog header small,.company-plan header small { color:var(--blue); font-weight:800; text-transform:uppercase; }.training-catalog header h3,.company-plan header h3 { color:var(--navy); font-size:1.35rem; }.training-catalog header > span { padding:6px 9px; border-radius:999px; color:#795700; background:#fff3c4; font-size:.62rem; font-weight:800; }
.training-catalog article { min-height:88px; padding:13px 0; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:11px; align-items:center; border-top:1px solid var(--line); }.course-index { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#e8efff; font-size:.75rem; font-weight:800; }.training-catalog article b { color:var(--navy); font-size:.83rem; }.training-catalog article p { margin:3px 0 0; color:var(--muted); font-size:.68rem; }.training-catalog article > strong { color:var(--blue); font-size:.72rem; white-space:nowrap; }.training-catalog .btn,.company-plan .btn { margin-top:auto; }
.company-panel { background:linear-gradient(130deg,#0a234d,#0d7286); }.company-price { margin:14px 0; padding:16px; border-radius:16px; color:var(--navy); background:var(--yellow); }.company-price small,.company-price strong,.company-price span,.company-price em { display:block; }.company-price small { font-size:.65rem; font-weight:800; text-transform:uppercase; }.company-price strong { margin-top:2px; font-size:2.35rem; }.company-price span { font-weight:800; }.company-price em { margin-top:5px; font-size:.68rem; font-style:normal; }
.company-plan ol { margin:0; padding:0; list-style:none; }.company-plan li { padding:13px 0; display:grid; grid-template-columns:38px 1fr; gap:11px; border-top:1px solid var(--line); }.company-plan li > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--navy); background:var(--yellow); font-weight:800; }.company-plan li b { color:var(--navy); font-size:.83rem; }.company-plan li p { margin:2px 0 0; color:var(--muted); font-size:.7rem; }.company-scope { margin:10px 0 14px; padding:11px; border-radius:12px; color:var(--muted); background:#eef3fb; font-size:.7rem; }.company-scope b { color:var(--navy); }
@media (min-width:781px) {
  .training-catalog,.company-plan { overflow:auto; }
}
.training-primary-action { width:100%; margin:0 0 8px !important; flex:none; }

.quality-page { background:#eef3fb; }.quality-verification { min-height:calc(100vh - 78px); padding:30px max(24px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:minmax(0,.85fr) minmax(360px,.65fr); gap:28px; align-items:center; }.quality-copy { padding:30px; border-radius:26px; background:white; box-shadow:var(--shadow); }.quality-title { margin:10px 0 18px; display:flex; gap:16px; align-items:center; }.quality-title img { width:90px; height:90px; object-fit:contain; }.quality-title h1 { font-size:clamp(2rem,3.4vw,3.4rem); }.quality-title p { margin:5px 0 0; color:var(--muted); }.quality-copy dl { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.quality-copy dl > div { padding:12px; border:1px solid var(--line); border-radius:12px; }.quality-copy dt { color:var(--muted); font-size:.7rem; }.quality-copy dd { margin:4px 0 0; color:var(--navy); font-size:.82rem; font-weight:800; }.quality-scope { margin-top:12px; padding:15px; border-radius:14px; color:white; background:var(--navy); }.quality-scope p { margin:5px 0 0; color:#dce6ff; font-size:.78rem; line-height:1.5; }.quality-clarification { color:var(--muted); font-size:.72rem; }.quality-actions { display:flex; flex-wrap:wrap; gap:9px; }.certificate-preview { max-height:calc(100vh - 138px); padding:14px; position:relative; overflow:hidden; border-radius:24px; background:white; box-shadow:var(--shadow); }.certificate-preview img { width:100%; height:100%; max-height:calc(100vh - 166px); object-fit:contain; }.certificate-preview a { position:absolute; right:22px; bottom:22px; padding:9px 12px; border-radius:999px; color:white; background:var(--blue); font-size:.72rem; font-weight:800; }

@media (max-width:1100px) {
  .continuing-intro-grid { grid-template-columns:1fr; }.route-equation { display:none; }
  .training-panel { grid-template-columns:minmax(300px,.8fr) minmax(410px,1.2fr); }.training-story { padding:20px; }.training-catalog,.company-plan { margin:10px; padding:16px; }
  .quality-seal-programs { min-width:164px; padding:8px; }
  .quality-seal-programs img { width:44px; height:44px; }
}
@media (max-width:780px) {
  .quality-seal-home { top:auto; right:14px; bottom:62px; }.quality-seal-home span { display:none; }.quality-seal-home { padding:5px; border-radius:14px; }.quality-seal-home img { width:42px; height:42px; }
  .continuing-page { overflow:auto; }.continuing-shell { height:auto; min-height:calc(100vh - 68px); grid-template-rows:auto auto; overflow:visible; }.continuing-intro { padding:22px 0; }.continuing-intro-grid { height:auto; }.continuing-intro h1 { font-size:2rem; }.continuing-intro p { font-size:.8rem; }
  .continuing-workspace { display:block; }.training-rail { padding:12px; position:sticky; top:68px; z-index:20; flex-direction:row; align-items:center; border-right:0; border-bottom:1px solid var(--line); overflow-x:auto; }.training-rail > div,.training-help { display:none; }.training-tab { min-width:215px; min-height:64px; padding:9px; }.training-panels { padding:10px; overflow:visible; }.training-panel { height:auto; min-height:650px; grid-template-columns:1fr; }.training-story { padding:22px; }.training-catalog,.company-plan { margin:0 10px 10px; }
  .quality-verification { min-height:0; padding:18px; grid-template-columns:1fr; }.quality-copy { padding:22px; }.certificate-preview { max-height:none; }.certificate-preview img { max-height:none; }
}

@media (max-width:620px) {
  .programs-page .quality-seal-programs span { display:none; }
  .quality-seal-programs { min-width:58px; padding:6px; }
}
@media (max-width:520px) {
  .training-story h2 { font-size:1.75rem; }.stack-route { grid-template-columns:1fr; }.stack-route i { transform:rotate(90deg); text-align:center; }.training-catalog article { grid-template-columns:38px 1fr; }.training-catalog article > strong { grid-column:2; }.training-catalog header > span { display:none; }.company-price strong { font-size:2rem; }
  .quality-copy dl { grid-template-columns:1fr; }.quality-title { align-items:flex-start; }.quality-title img { width:68px; height:68px; }.quality-title h1 { font-size:1.8rem; }.quality-actions { display:grid; }.quality-actions .btn { width:100%; }
}
.training-help { color:var(--blue); }

/* Modelo Intebien: explicación interactiva del aprendizaje aplicado. */
.model-page { overflow:hidden; background:#edf3ff; }
.model-experience { width:100%; max-width:100%; min-width:0; height:calc(100vh - 78px); display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:148px minmax(0,1fr); overflow:hidden; }
.model-intro { color:white; background:radial-gradient(circle at 86% 20%,rgba(74,126,255,.6),transparent 28%),linear-gradient(120deg,#071b55,#123bb7 68%,#185fda); }
.model-intro-grid { height:148px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.model-intro .eyebrow { color:var(--yellow); }
.model-intro h1 { max-width:760px; margin-top:5px; color:white; font-size:clamp(1.7rem,2.55vw,2.75rem); line-height:1.04; }
.model-intro p { max-width:760px; margin:7px 0 0; color:#dce7ff; font-size:.83rem; }
.model-formula { min-width:455px; padding:13px; display:flex; align-items:center; gap:7px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.1); }
.model-formula span,.model-formula strong { min-width:82px; padding:10px 9px; display:grid; gap:2px; border-radius:11px; background:rgba(255,255,255,.1); font-size:.66rem; text-align:center; }
.model-formula b { color:var(--yellow); font-size:.85rem; }.model-formula i { color:var(--yellow); font-style:normal; font-weight:800; }.model-formula strong { color:var(--navy); background:var(--yellow); }
.model-entry { min-height:0; padding:22px 0 25px; overflow:auto; background:radial-gradient(circle at 80% 10%,rgba(255,189,32,.18),transparent 25%),#edf3ff; }
.model-entry-inner { min-height:100%; display:flex; flex-direction:column; justify-content:center; }
.model-entry-heading { margin-bottom:17px; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,430px); gap:28px; align-items:end; }
.model-entry-heading h2 { margin-top:4px; color:var(--navy); font-size:clamp(1.45rem,2.4vw,2.35rem); line-height:1.08; }
.model-entry-heading p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.model-choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.model-choice { min-height:190px; padding:18px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; gap:17px 10px; overflow:hidden; position:relative; border:1px solid #cbd8f2; border-radius:22px; color:var(--navy); background:white; box-shadow:0 14px 34px rgba(22,54,120,.08); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.model-choice::after { content:""; width:110px; height:110px; position:absolute; right:-55px; bottom:-60px; border:22px solid #edf3ff; border-radius:50%; transition:border-color .2s ease; }
.model-choice:hover,.model-choice:focus-visible { transform:translateY(-4px); border-color:var(--blue); box-shadow:0 19px 40px rgba(18,56,184,.14); }
.model-choice > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--blue); background:#e8efff; font-size:.75rem; font-weight:800; }
.model-choice > div { grid-column:1 / 3; align-self:end; position:relative; z-index:1; }
.model-choice strong,.model-choice small { display:block; }.model-choice strong { font-size:1.05rem; }.model-choice small { margin-top:7px; color:var(--muted); font-size:.72rem; line-height:1.45; }
.model-choice > b { width:38px; height:38px; display:grid; place-items:center; position:relative; z-index:1; border-radius:50%; color:var(--navy); background:var(--yellow); font-size:1.05rem; }
.model-choice[aria-current="true"] { color:white; border-color:var(--blue); background:linear-gradient(145deg,var(--navy),var(--blue)); }.model-choice[aria-current="true"] small { color:#dce7ff; }
.model-workspace { min-height:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
.model-workspace[hidden],.model-entry[hidden] { display:none !important; }
.model-back { min-height:38px; padding:8px 10px; flex:none; border:1px solid #c8d5ef; border-radius:11px; color:var(--blue); background:white; font-size:.69rem; font-weight:800; text-align:left; cursor:pointer; }.model-back:hover,.model-back:focus-visible { border-color:var(--blue); background:#f2f6ff; }
.model-detail-toolbar { min-height:49px; padding:6px 20px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; border-bottom:1px solid var(--line); background:white; }.model-detail-toolbar > span { color:var(--muted); font-size:.7rem; }.model-detail-toolbar > a { color:var(--blue); font-size:.7rem; font-weight:800; }
.model-rail { min-height:0; padding:16px 14px 14px 20px; display:flex; flex-direction:column; gap:7px; overflow:auto; border-right:1px solid var(--line); background:white; }
.model-rail-heading { padding:0 5px 6px; }.model-rail-heading small,.model-rail-heading strong { display:block; }.model-rail-heading small { color:var(--blue); font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.model-rail-heading strong { margin-top:3px; color:var(--navy); font-size:.94rem; }
.model-tab { min-height:66px; padding:9px 10px; display:grid; grid-template-columns:37px 1fr; gap:1px 9px; align-items:center; flex:none; border:1px solid var(--line); border-radius:14px; color:var(--navy); background:#f8faff; text-align:left; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.model-tab:hover { transform:translateX(2px); }.model-tab > span { grid-row:1 / 3; width:37px; height:37px; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#e8efff; font-size:.7rem; font-weight:800; }.model-tab b { font-size:.8rem; }.model-tab small { color:var(--muted); font-size:.62rem; }.model-tab.active { color:white; border-color:var(--blue); background:linear-gradient(135deg,var(--navy),var(--blue)); box-shadow:0 10px 22px rgba(18,56,184,.16); }.model-tab.active > span { color:var(--navy); background:var(--yellow); }.model-tab.active small { color:#dbe6ff; }
.model-enroll { margin-top:auto; padding:11px 13px; border-radius:12px; color:var(--navy); background:var(--yellow); font-size:.72rem; font-weight:800; text-align:center; }
.model-panels { min-width:0; min-height:0; padding:14px; overflow:hidden; }
.model-panel { width:100%; height:100%; min-height:0; display:grid; grid-template-columns:minmax(300px,.78fr) minmax(550px,1.22fr); overflow:hidden; border-radius:24px; color:white; background:linear-gradient(135deg,#0a276f,#145ddd); box-shadow:0 18px 44px rgba(15,46,125,.16); }
.model-panel[hidden] { display:none; }
.model-story { min-width:0; padding:27px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.model-story::after { content:""; width:260px; height:260px; position:absolute; left:-100px; bottom:-150px; border:45px solid rgba(255,255,255,.07); border-radius:50%; }
.model-kicker { color:var(--yellow); font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.model-story h2 { margin-top:8px; color:white; font-size:clamp(1.65rem,2.7vw,3.05rem); line-height:1.02; }.model-story > p { margin:13px 0; color:#dce7ff; font-size:.82rem; line-height:1.52; }
.model-example,.evidence-question,.route-rule { margin-top:8px; padding:15px; position:relative; z-index:1; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(255,255,255,.1); }.model-example small,.model-example strong,.model-example span,.evidence-question small,.evidence-question strong,.route-rule small,.route-rule strong,.route-rule span { display:block; }.model-example small,.evidence-question small,.route-rule small { color:var(--yellow); font-size:.61rem; font-weight:800; text-transform:uppercase; }.model-example strong,.evidence-question strong,.route-rule strong { margin-top:5px; font-size:.82rem; }.model-example span,.route-rule span { margin-top:6px; color:#dce7ff; font-size:.68rem; line-height:1.4; }
.knowledge-path,.support-map,.evidence-board,.circular-board { min-width:0; min-height:0; margin:12px; padding:21px; display:flex; flex-direction:column; justify-content:center; overflow:auto; border-radius:19px; color:var(--ink); background:white; }
.knowledge-path header,.support-map header,.evidence-board header,.circular-board header { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-bottom:14px; }.knowledge-path header small,.support-map header small,.evidence-board header small,.circular-board header small { color:var(--blue); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.knowledge-path header h3,.support-map header h3,.evidence-board header h3,.circular-board header h3 { margin-top:3px; color:var(--navy); font-size:1.25rem; }.knowledge-path header > span,.evidence-board header > span { padding:6px 9px; border-radius:999px; color:#785600; background:#fff0b6; font-size:.61rem; font-weight:800; white-space:nowrap; }
.knowledge-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:6px; align-items:stretch; }.knowledge-flow section { min-height:150px; padding:14px; border:1px solid var(--line); border-radius:15px; background:#f6f8fd; }.knowledge-flow section > b { width:31px; height:31px; display:grid; place-items:center; margin-bottom:20px; border-radius:9px; color:var(--blue); background:#e2ebff; }.knowledge-flow strong { color:var(--navy); font-size:.82rem; }.knowledge-flow p { margin:5px 0 0; color:var(--muted); font-size:.68rem; line-height:1.4; }.knowledge-flow > i { align-self:center; color:#9bb0da; font-style:normal; font-weight:800; }.knowledge-flow .knowledge-result { color:white; border-color:var(--blue); background:linear-gradient(145deg,var(--navy),var(--blue)); }.knowledge-flow .knowledge-result > b { color:var(--navy); background:var(--yellow); }.knowledge-flow .knowledge-result strong { color:white; }.knowledge-flow .knowledge-result p { color:#dce7ff; }
.model-outcome { margin-top:13px; padding:12px 14px; display:flex; align-items:center; gap:11px; border-radius:14px; color:white; background:var(--navy); }.model-outcome > span { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:50%; color:var(--navy); background:var(--yellow); font-weight:800; }.model-outcome b { font-size:.78rem; }.model-outcome p { margin:3px 0 0; color:#dce7ff; font-size:.66rem; }
.model-story-tejon { padding-bottom:150px; }.model-story-tejon img { width:230px; max-height:245px; position:absolute; right:0; bottom:-50px; object-fit:contain; object-position:bottom; filter:drop-shadow(0 13px 20px rgba(0,0,0,.2)); }
.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.support-grid section { min-height:125px; padding:15px; display:grid; grid-template-columns:42px 1fr; gap:11px; align-items:start; border:1px solid var(--line); border-radius:15px; background:#f7f9fd; }.support-grid section > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--blue); background:#e5edff; font-size:.7rem; font-weight:800; }.support-grid strong { color:var(--navy); font-size:.84rem; }.support-grid p { margin:5px 0 0; color:var(--muted); font-size:.68rem; line-height:1.4; }.authorship-rule { margin-top:12px; padding:13px; display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; border-radius:13px; color:white; background:var(--navy); }.authorship-rule b { color:var(--yellow); font-size:.75rem; }.authorship-rule span { font-size:.68rem; }
.evidence-equation { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr; gap:6px; align-items:stretch; }.evidence-equation section { min-height:180px; padding:15px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:15px; background:#f7f9fd; }.evidence-equation section > b { color:var(--blue); font-size:.66rem; }.evidence-equation strong { margin-top:auto; color:var(--navy); font-size:.84rem; }.evidence-equation p { margin:6px 0 0; color:var(--muted); font-size:.66rem; line-height:1.4; }.evidence-equation > i { align-self:center; color:#9bb0da; font-style:normal; font-weight:800; }.evidence-equation .competence-card { color:white; border-color:var(--blue); background:linear-gradient(145deg,var(--navy),var(--blue)); }.evidence-equation .competence-card > b { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:var(--yellow); font-size:1.1rem; }.evidence-equation .competence-card strong { color:white; }.evidence-equation .competence-card p { color:#dce7ff; }.feedback-loop { margin-top:13px; display:flex; align-items:center; justify-content:space-between; gap:7px; padding:12px; border-radius:13px; color:var(--blue); background:#e9efff; font-size:.66rem; font-weight:800; }.feedback-loop i { color:#8ba4d6; font-style:normal; }.feedback-loop strong { color:var(--navy); }
.circular-board header a { color:var(--blue); font-size:.65rem; font-weight:800; white-space:nowrap; }.circular-learning { min-height:250px; position:relative; display:grid; place-items:center; }.route-center { width:155px; height:155px; padding:20px; position:absolute; z-index:2; display:flex; flex-direction:column; justify-content:center; text-align:center; border-radius:50%; color:white; background:linear-gradient(145deg,var(--navy),var(--blue)); box-shadow:0 14px 34px rgba(18,56,184,.25); }.route-center small,.route-center b,.route-center span { display:block; }.route-center small { color:var(--yellow); font-size:.56rem; font-weight:800; text-transform:uppercase; }.route-center b { margin:5px 0; font-size:1.18rem; }.route-center span { color:#dce7ff; font-size:.58rem; }.circular-learning ol { width:100%; height:250px; margin:0; padding:0; position:relative; list-style:none; }.circular-learning li { width:39px; height:39px; position:absolute; left:calc(50% - 19px); top:calc(50% - 19px); display:grid; place-items:center; border:1px solid #cbd8f2; border-radius:11px; color:var(--blue); background:#f4f7fd; transform:rotate(calc(var(--i)*22.5deg)) translateY(-112px) rotate(calc(var(--i)*-22.5deg)); }.circular-learning li:nth-child(1){--i:0}.circular-learning li:nth-child(2){--i:1}.circular-learning li:nth-child(3){--i:2}.circular-learning li:nth-child(4){--i:3}.circular-learning li:nth-child(5){--i:4}.circular-learning li:nth-child(6){--i:5}.circular-learning li:nth-child(7){--i:6}.circular-learning li:nth-child(8){--i:7}.circular-learning li:nth-child(9){--i:8}.circular-learning li:nth-child(10){--i:9}.circular-learning li:nth-child(11){--i:10}.circular-learning li:nth-child(12){--i:11}.circular-learning li:nth-child(13){--i:12}.circular-learning li:nth-child(14){--i:13}.circular-learning li:nth-child(15){--i:14}.circular-learning li:nth-child(16){--i:15}.circular-learning li b { font-size:.66rem; }.circular-learning li span { position:absolute; top:-14px; padding:2px 5px; border-radius:999px; color:white; background:var(--blue); font-size:.48rem; font-weight:800; }.circular-learning .route-start { color:var(--navy); border-color:var(--yellow); background:var(--yellow); }.circular-learning .route-end { color:white; border-color:var(--blue); background:var(--blue); }.route-awards { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.route-awards span { padding:10px; border-radius:11px; color:var(--muted); background:#f1f5fc; font-size:.61rem; text-align:center; }.route-awards b { display:block; margin-bottom:2px; color:var(--navy); font-size:.67rem; }

@media (max-width:1100px) {
  .model-intro-grid { grid-template-columns:1fr; }.model-formula { display:none; }
  .model-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.model-choice { min-height:135px; }.model-entry-heading { grid-template-columns:1fr; gap:7px; }
  .model-panel { grid-template-columns:minmax(280px,.7fr) minmax(470px,1.3fr); }.model-story { padding:21px; }.knowledge-path,.support-map,.evidence-board,.circular-board { margin:9px; padding:16px; }
  .knowledge-flow section { padding:10px; }.evidence-equation section { padding:11px; }.model-story-tejon img { width:195px; }
}
@media (max-width:780px) {
  html:has(.model-page),.model-page { max-width:100%; overflow-x:hidden; }.model-page { overflow-y:auto; }.model-experience { width:100%; height:auto; min-height:calc(100vh - 68px); grid-template-rows:auto auto; overflow:visible; }.model-intro { width:100%; padding:20px 0; overflow:hidden; }.model-intro-grid,.model-intro-grid > div { width:100%; max-width:100%; min-width:0; }.model-intro-grid { height:auto; }.model-intro h1 { max-width:100%; font-size:2rem; overflow-wrap:anywhere; }.model-intro p { max-width:100%; font-size:.78rem; overflow-wrap:anywhere; }
  .model-entry { padding:19px 0 28px; overflow:visible; }.model-entry-heading { margin-bottom:14px; }.model-choice-grid { grid-template-columns:1fr 1fr; }.model-choice { min-height:155px; padding:15px; }.model-choice small { font-size:.7rem; }
  .model-workspace { width:100%; max-width:100%; min-width:0; display:block; }.model-detail-toolbar { padding:8px 12px; position:sticky; top:68px; z-index:20; grid-template-columns:1fr auto; }.model-detail-toolbar > span { display:none; }.model-back { min-width:165px; }.model-panels { width:100%; max-width:100%; min-width:0; padding:10px; overflow:visible; }.model-panel { width:100%; max-width:100%; min-width:0; height:auto; min-height:700px; grid-template-columns:minmax(0,1fr); }.model-story { min-height:370px; }.model-story-tejon { padding-bottom:150px; }.knowledge-path,.support-map,.evidence-board,.circular-board { margin:0 9px 9px; }
  .knowledge-flow,.evidence-equation { grid-template-columns:1fr 1fr; }.knowledge-flow > i,.evidence-equation > i { display:none; }.knowledge-flow section,.evidence-equation section { min-height:125px; }.knowledge-flow section > b { margin-bottom:8px; }
}
@media (max-width:560px) {
  .model-intro h1 { font-size:1.65rem; }.model-intro p { display:none; }.model-entry-heading p { font-size:.76rem; }.model-choice-grid { grid-template-columns:1fr; }.model-choice { min-height:132px; }.model-story h2 { font-size:1.75rem; }
  .knowledge-flow,.evidence-equation { grid-template-columns:1fr; }.knowledge-flow section,.evidence-equation section { min-height:115px; }
  .support-grid { grid-template-columns:1fr; }.authorship-rule { grid-template-columns:1fr; }.feedback-loop { flex-wrap:wrap; }.route-awards { grid-template-columns:1fr; }.circular-board header { align-items:flex-start; flex-direction:column; }.model-panel { min-height:980px; }
}

/* Entrada guiada de Campus. */
.campus-workspace { min-height:calc(100vh - 78px); background:var(--pale); }
.campus-entry { min-height:calc(100vh - 78px); padding:28px 0; display:grid; align-items:center; background:radial-gradient(circle at 82% 12%,rgba(255,189,32,.18),transparent 27%),linear-gradient(135deg,#f8fbff,#e8f1ff); }
.campus-entry[hidden],.campus-detail[hidden],.campus-detail-panel[hidden] { display:none !important; }
.campus-entry-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.82fr); gap:42px; align-items:center; }.campus-entry-copy h1 { max-width:680px; margin-top:7px; font-size:clamp(2.35rem,4.5vw,4.65rem); line-height:.98; }.campus-entry-copy > p { max-width:650px; margin:16px 0 22px; color:var(--muted); font-size:1rem; line-height:1.55; }
.campus-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.campus-choice-grid a { min-height:160px; padding:18px; display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto; gap:12px; position:relative; overflow:hidden; border:1px solid #cbd8f2; border-radius:20px; color:var(--navy); background:white; box-shadow:0 12px 30px rgba(13,43,110,.08); transition:.2s ease; }.campus-choice-grid a:hover,.campus-choice-grid a:focus-visible { transform:translateY(-3px); border-color:var(--blue); box-shadow:0 17px 36px rgba(13,43,110,.14); }.campus-choice-grid a > b { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--blue); background:#e8efff; font-size:.72rem; }.campus-choice-grid a > span { align-self:center; }.campus-choice-grid strong,.campus-choice-grid small { display:block; }.campus-choice-grid strong { font-size:.98rem; }.campus-choice-grid small { margin-top:5px; color:var(--muted); font-size:.7rem; line-height:1.4; }.campus-choice-grid a > i { width:38px; height:38px; display:grid; place-items:center; grid-column:2; align-self:end; justify-self:end; border-radius:50%; color:var(--navy); background:var(--yellow); font-style:normal; font-weight:800; }
.campus-entry .campus-mascot-panel { min-height:480px; }.campus-entry .campus-mascot-panel > img { width:90%; height:108%; }
.campus-detail { height:calc(100vh - 78px); min-height:560px; display:grid; grid-template-rows:49px minmax(0,1fr); overflow:hidden; scroll-margin-top:78px; }.campus-detail-toolbar { min-height:49px; padding:6px 20px; position:sticky; top:78px; z-index:20; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; border-bottom:1px solid var(--line); background:white; }.campus-detail-toolbar button { min-height:36px; padding:7px 10px; border:1px solid #c8d5ef; border-radius:10px; color:var(--blue); background:white; font-size:.69rem; font-weight:800; cursor:pointer; }.campus-detail-toolbar > span { color:var(--muted); font-size:.7rem; }.campus-detail-toolbar > a { color:var(--blue); font-size:.7rem; font-weight:800; }
.campus-detail-stage { min-height:0; padding:12px 18px 16px; overflow:hidden; }
.campus-detail-panel { width:min(1450px,100%); height:100%; min-height:0; margin:auto; padding:20px; display:grid; grid-template-columns:minmax(300px,.64fr) minmax(620px,1.36fr); gap:18px; align-items:stretch; overflow:hidden; border-radius:28px; color:white; background:radial-gradient(circle at 9% 8%,rgba(0,102,255,.36),transparent 28%),linear-gradient(145deg,#080b0d,#151a1e 64%,#061b3d); box-shadow:0 18px 46px rgba(8,11,13,.28); }
.campus-detail-story { padding:10px 18px; display:flex; flex-direction:column; justify-content:center; }.campus-detail-story > span { color:#28a8ff; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.campus-detail-story h2 { margin-top:9px; color:white; font-size:clamp(1.9rem,3.15vw,3.35rem); line-height:.98; }.campus-detail-story p { margin:13px 0 0; color:#dce3ec; font-size:.82rem; line-height:1.5; }
.campus-alliance { min-height:50px; margin-bottom:15px; padding:6px 9px; display:flex; align-items:center; gap:9px; align-self:flex-start; border:1px solid rgba(199,205,213,.24); border-radius:13px; background:rgba(255,255,255,.07); }.campus-alliance .alliance-intebien { color:white; font-size:.95rem; font-weight:800; }.campus-alliance i { color:#28a8ff; font-style:normal; font-weight:800; }.campus-alliance img { width:136px; height:38px; border-radius:7px; object-fit:cover; }
.campus-project-note { margin-top:20px; padding:11px 12px; border-left:3px solid #28a8ff; border-radius:0 12px 12px 0; background:rgba(40,168,255,.1); }.campus-project-note b,.campus-project-note small { display:block; }.campus-project-note b { color:white; font-size:.7rem; }.campus-project-note small { margin-top:3px; color:#c7cdd5; font-size:.59rem; line-height:1.35; }
.campus-experience { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(240px,1fr) auto; gap:10px; }.campus-wide-visual,.chair-visual { min-width:0; min-height:0; position:relative; margin:0; overflow:hidden; border:1px solid rgba(199,205,213,.24); border-radius:19px; background:#080b0d; }.campus-wide-visual img,.chair-visual img { width:100%; height:100%; display:block; object-fit:cover; }.campus-wide-visual figcaption,.chair-visual figcaption { position:absolute; left:11px; right:11px; bottom:10px; padding:8px 10px; border-radius:11px; color:white; background:rgba(8,11,13,.78); backdrop-filter:blur(9px); }.campus-wide-visual figcaption b,.campus-wide-visual figcaption span,.chair-visual figcaption b,.chair-visual figcaption span { display:block; }.campus-wide-visual figcaption b,.chair-visual figcaption b { font-size:.69rem; }.campus-wide-visual figcaption span,.chair-visual figcaption span { margin-top:2px; color:#c7cdd5; font-size:.55rem; }
.campus-system-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.campus-system-grid section { min-width:0; min-height:122px; padding:11px; border:1px solid rgba(199,205,213,.18); border-radius:14px; background:rgba(255,255,255,.07); }.campus-system-grid section > b { width:27px; height:27px; display:grid; place-items:center; border-radius:8px; color:#061b3d; background:#28a8ff; font-size:.57rem; }.campus-system-grid h3 { margin:10px 0 4px; color:white; font-size:.68rem; line-height:1.2; }.campus-system-grid p { margin:0; color:#c7cdd5; font-size:.55rem; line-height:1.35; }
.hybrid-experience { grid-template-rows:minmax(280px,1fr) auto; }.hybrid-visuals { min-height:0; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); gap:10px; }.chair-visual img { object-position:center; }.hybrid-flow { min-height:82px; padding:9px 11px; display:grid; grid-template-columns:repeat(7,auto); gap:7px; align-items:center; border:1px solid rgba(199,205,213,.18); border-radius:15px; background:rgba(255,255,255,.07); }.hybrid-flow span { min-width:0; color:#dce3ec; font-size:.56rem; font-weight:800; line-height:1.3; }.hybrid-flow span b { width:24px; height:24px; margin-bottom:4px; display:grid; place-items:center; border-radius:7px; color:#061b3d; background:#28a8ff; font-size:.54rem; }.hybrid-flow i { color:#28a8ff; font-style:normal; font-weight:800; }
@media (max-width:1100px) { .campus-entry-grid { grid-template-columns:1fr; }.campus-entry .campus-mascot-panel { display:none; }.campus-detail { height:auto; overflow:visible; }.campus-detail-stage { overflow:visible; }.campus-detail-panel { grid-template-columns:1fr; height:auto; min-height:860px; }.campus-detail-story { padding:8px; }.campus-experience { min-height:560px; }.hybrid-visuals { min-height:420px; } }
@media (max-width:700px) { .campus-workspace,.campus-entry,.campus-detail { min-height:calc(100vh - 68px); }.campus-entry { padding:22px 0; }.campus-entry-copy h1 { font-size:2.25rem; }.campus-entry-copy > p { margin:12px 0 16px; font-size:.84rem; }.campus-choice-grid { grid-template-columns:1fr; }.campus-choice-grid a { min-height:126px; }.campus-detail { height:auto; grid-template-rows:49px auto; scroll-margin-top:68px; }.campus-detail-toolbar { top:68px; padding:6px 10px; grid-template-columns:1fr auto; }.campus-detail-toolbar > span { display:none; }.campus-detail-stage { padding:8px; }.campus-detail-panel { min-height:0; padding:14px; border-radius:20px; }.campus-detail-story h2 { font-size:2rem; }.campus-alliance { margin-bottom:18px; }.campus-experience { min-height:0; grid-template-rows:260px auto; }.campus-system-grid { grid-template-columns:1fr 1fr; }.campus-system-grid section { min-height:132px; }.hybrid-visuals { min-height:0; grid-template-columns:1fr; grid-template-rows:245px 220px; }.hybrid-experience { grid-template-rows:auto auto; }.hybrid-flow { grid-template-columns:1fr; }.hybrid-flow i { transform:rotate(90deg); }.campus-wide-visual figcaption,.chair-visual figcaption { bottom:7px; }.campus-alliance img { width:122px; } }

/* Entradas guiadas de HB Store e INTEBIA. */
.collection-entry { grid-column:1 / -1; grid-row:2; min-height:0; padding:24px 0; overflow:auto; background:radial-gradient(circle at 83% 12%,rgba(255,189,32,.18),transparent 25%),var(--pale); }
.collection-entry[hidden],.collection-detail[hidden],.community-entry[hidden],.community-detail[hidden],[data-community-category][hidden] { display:none !important; }
.collection-entry-inner { min-height:100%; display:flex; flex-direction:column; justify-content:center; }
.collection-entry-heading { margin-bottom:18px; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,430px); gap:28px; align-items:end; }.collection-entry-heading h2 { margin-top:4px; color:var(--navy); font-size:clamp(1.7rem,3vw,2.8rem); }.collection-entry-heading p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.collection-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.collection-choice-grid a { min-height:245px; padding:25px; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr; gap:22px 12px; overflow:hidden; position:relative; border:1px solid #cbd8f2; border-radius:25px; color:var(--navy); background:white; box-shadow:0 16px 38px rgba(13,43,110,.09); transition:.2s ease; }.collection-choice-grid a::after { content:""; width:170px; height:170px; position:absolute; right:-80px; bottom:-95px; border:30px solid #edf3ff; border-radius:50%; }.collection-choice-grid a:hover,.collection-choice-grid a:focus-visible { transform:translateY(-4px); border-color:var(--blue); box-shadow:0 21px 45px rgba(13,43,110,.15); }.collection-choice-grid a > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:var(--blue); background:#e8efff; font-size:.8rem; font-weight:800; }.collection-choice-grid a > div { grid-column:1 / 3; align-self:end; position:relative; z-index:1; }.collection-choice-grid strong,.collection-choice-grid small { display:block; }.collection-choice-grid strong { font-size:1.35rem; }.collection-choice-grid small { max-width:420px; margin-top:8px; color:var(--muted); font-size:.82rem; line-height:1.45; }.collection-choice-grid a > b { width:43px; height:43px; display:grid; place-items:center; position:relative; z-index:1; border-radius:50%; color:var(--navy); background:var(--yellow); }
.collection-detail { grid-column:1 / -1; grid-row:2; min-width:0; min-height:0; display:grid; grid-template-rows:49px minmax(0,1fr); overflow:hidden; }.collection-detail-toolbar { padding:6px 20px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; border-bottom:1px solid var(--line); background:white; }.collection-detail-toolbar button { min-height:36px; padding:7px 10px; border:1px solid #c8d5ef; border-radius:10px; color:var(--blue); background:white; font-size:.69rem; font-weight:800; cursor:pointer; }.collection-detail-toolbar > span { color:var(--muted); font-size:.7rem; }.collection-detail .collection-panels { grid-column:auto; grid-row:auto; padding:12px 20px 20px; }

.community-workspace { min-height:calc(100vh - 78px); background:var(--pale); }.community-entry { min-height:calc(100vh - 78px); padding:34px 0; display:grid; align-items:center; }.community-entry-grid { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(560px,1.25fr); gap:46px; align-items:center; }.community-brand-block { min-width:0; }.community-brand-block .intebia-hero-logo { margin-bottom:7px; }.intebia-subtitle { display:block; margin:0 0 24px 6px; color:var(--blue); font-size:.82rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.community-brand-block h1 { font-size:clamp(2.4rem,4.4vw,4.6rem); line-height:1; }.community-brand-block .lead { max-width:470px; }
.community-choice-grid { display:grid; gap:12px; }.community-choice-grid a { min-height:118px; padding:18px 20px; display:grid; grid-template-columns:46px minmax(0,1fr) 42px; gap:16px; align-items:center; border:1px solid #cbd8f2; border-radius:20px; color:var(--navy); background:white; box-shadow:0 12px 30px rgba(13,43,110,.08); transition:.2s ease; }.community-choice-grid a:hover,.community-choice-grid a:focus-visible { transform:translateX(4px); border-color:var(--blue); box-shadow:0 17px 36px rgba(13,43,110,.14); }.community-choice-grid a > b { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:var(--blue); background:#e8efff; font-size:.75rem; }.community-choice-grid a span,.community-choice-grid a strong,.community-choice-grid a small { display:block; }.community-choice-grid a strong { font-size:1.08rem; }.community-choice-grid a small { margin-top:5px; color:var(--muted); font-size:.76rem; }.community-choice-grid a > i { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:var(--yellow); font-style:normal; font-weight:800; }
.community-detail { min-height:calc(100vh - 78px); display:grid; grid-template-rows:49px minmax(0,1fr); }.community-detail-toolbar { min-height:49px; padding:6px 20px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; border-bottom:1px solid var(--line); background:white; }.community-detail-toolbar button { min-height:36px; padding:7px 10px; border:1px solid #c8d5ef; border-radius:10px; color:var(--blue); background:white; font-size:.69rem; font-weight:800; cursor:pointer; }.community-detail-toolbar > span { color:var(--muted); font-size:.7rem; }.community-detail-toolbar > a { color:var(--blue); font-size:.7rem; font-weight:800; }.community-detail-content { padding:34px 0; }.community-feed-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:18px; }.community-detail .post { min-height:260px; padding:28px; }.community-detail .post h3 { margin-top:10px; color:var(--navy); font-size:1.65rem; }.community-detail .post p { font-size:1rem; line-height:1.55; }

@media (max-width:1000px) {
  .collection-workspace { grid-template-columns:1fr; grid-template-rows:105px minmax(0,1fr); }.collection-entry,.collection-detail { grid-row:2; }.collection-entry-heading { grid-template-columns:1fr; gap:7px; }.collection-choice-grid a { min-height:190px; }.collection-detail .collection-panels { grid-column:auto; grid-row:auto; }
  .community-entry-grid { grid-template-columns:1fr; gap:25px; }.community-brand-block { display:grid; grid-template-columns:auto 1fr; column-gap:17px; align-items:center; }.community-brand-block .intebia-hero-logo { grid-row:1 / 3; margin:0; }.community-brand-block .intebia-subtitle { margin:0; }.community-brand-block h1,.community-brand-block .lead { grid-column:1 / 3; }.community-brand-block h1 { margin-top:18px; }
}
@media (max-width:700px) {
  .collection-workspace { height:auto; min-height:calc(100vh - 68px); grid-template-rows:85px minmax(calc(100vh - 153px),auto); }.collection-entry { padding:18px 0; overflow:visible; }.collection-choice-grid { grid-template-columns:1fr; }.collection-choice-grid a { min-height:150px; padding:18px; }.collection-detail { grid-template-rows:49px auto; overflow:visible; }.collection-detail-toolbar,.community-detail-toolbar { padding:6px 10px; grid-template-columns:1fr auto; }.collection-detail-toolbar > span,.community-detail-toolbar > span { display:none; }.collection-detail .collection-panels { padding:10px; }
  .community-workspace,.community-entry,.community-detail { min-height:calc(100vh - 68px); }.community-entry { padding:24px 0; }.community-entry-grid { gap:20px; }.community-brand-block .intebia-hero-logo { width:112px; }.community-brand-block h1 { font-size:2.2rem; }.community-choice-grid a { min-height:96px; padding:13px; grid-template-columns:40px minmax(0,1fr) 38px; gap:10px; }.community-choice-grid a > b,.community-choice-grid a > i { width:38px; height:38px; }.community-choice-grid a small { font-size:.69rem; }.community-feed-layout { grid-template-columns:1fr; }.community-detail-content { padding:22px 0; }
}

/* Catálogo modular de todos los programas técnicos. */
.module-directory-page { overflow:hidden; background:#edf3ff; }
.module-directory-shell { width:100%; max-width:100%; min-width:0; height:calc(100vh - 78px); display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:122px minmax(0,1fr); overflow:hidden; }
.directory-heading { padding:14px 0; border-bottom:1px solid var(--line); background:radial-gradient(circle at 88% 0,rgba(255,189,32,.28),transparent 25%),linear-gradient(125deg,#fff,#edf3ff); }
.directory-heading-grid { height:94px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:center; }
.directory-heading-grid > div:first-child > a { color:var(--blue); font-size:.7rem; font-weight:800; }.directory-heading .eyebrow { margin-top:4px; font-size:.63rem; }.directory-heading h1 { max-width:720px; margin-top:3px; font-size:clamp(1.45rem,2.6vw,2.55rem); }
.directory-heading-tools { display:flex; align-items:end; gap:10px; }.directory-heading-tools label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }.directory-heading-tools select { width:310px; min-height:50px; padding:0 38px 0 14px; border:1px solid #bccbec; border-radius:14px; color:var(--navy); background:white; font-size:.76rem; font-weight:800; }.directory-metric { min-width:112px; min-height:50px; padding:7px 12px; display:flex; align-items:center; gap:8px; border-radius:14px; color:white; background:var(--navy); }.directory-metric b { color:var(--yellow); font-size:1.75rem; line-height:1; }.directory-metric span { max-width:58px; font-size:.58rem; line-height:1.2; }
.module-directory-workspace { min-height:0; display:grid; grid-template-columns:330px minmax(0,1fr); }
.directory-module-rail { min-height:0; padding:14px 10px 14px 18px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:9px; overflow:hidden; border-right:1px solid var(--line); background:white; }.directory-module-rail > header { padding-right:7px; display:flex; justify-content:space-between; align-items:center; gap:8px; }.directory-module-rail header strong,.directory-module-rail header span { display:block; }.directory-module-rail header strong { color:var(--navy); font-size:.82rem; }.directory-module-rail header span { margin-top:1px; color:var(--muted); font-size:.62rem; }.directory-module-rail header button { padding:7px 9px; border:1px solid var(--blue); border-radius:999px; color:var(--blue); background:white; font-size:.58rem; font-weight:800; }.directory-module-rail header button.active { color:white; background:var(--blue); }
.directory-module-list { min-height:0; padding-right:7px; overflow:auto; scrollbar-width:thin; }.directory-block-title { padding:7px 5px 5px; display:flex; justify-content:space-between; align-items:center; }.directory-block-title b { color:var(--blue); font-size:.63rem; text-transform:uppercase; }.directory-block-title span { color:var(--muted); font-size:.55rem; }.directory-module-button { width:100%; min-height:62px; margin-bottom:5px; padding:8px; display:grid; grid-template-columns:39px 1fr; gap:1px 9px; align-items:center; border:1px solid var(--line); border-radius:13px; color:var(--navy); background:#f9fbff; text-align:left; }.directory-module-button > span { grid-row:1 / 3; width:39px; height:39px; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#e6edff; font-size:.68remrem; font-weight:800; }.directory-module-button > b { font-size:.7rem; line-height:1.22; }.directory-module-button > small { color:var(--muted); font-size:.55rem; }.directory-module-button.active { color:white; border-color:var(--blue); background:linear-gradient(135deg,var(--navy),var(--blue)); }.directory-module-button.active > span { color:var(--navy); background:var(--yellow); }.directory-module-button.active > small { color:#dbe6ff; }.directory-source-note { margin:0; padding:8px; border-radius:10px; color:var(--muted); background:#f2f6fd; font-size:.54rem; line-height:1.35; }.directory-empty-filter { padding:18px; display:grid; gap:4px; border:1px dashed #b9c9e9; border-radius:14px; color:var(--navy); background:#f5f8fe; }.directory-empty-filter b { font-size:.72rem; }.directory-empty-filter span { color:var(--muted); font-size:.62rem; }
.directory-stage { min-width:0; min-height:0; padding:14px; display:grid; grid-template-rows:auto minmax(0,1fr); gap:10px; overflow:hidden; }.directory-stage-head { min-height:82px; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; gap:18px; border:1px solid var(--line); border-radius:17px; background:white; }.directory-stage-head > div { min-width:0; }.directory-stage-head > div > span { color:var(--blue); font-size:.63rem; font-weight:800; text-transform:uppercase; }.directory-stage-head h2 { max-width:780px; margin-top:4px; font-size:clamp(1.15rem,2vw,1.8rem); line-height:1.08; }.directory-stage-head .stage-enroll { flex:none; }.directory-shared-badge,.directory-unique-badge { width:max-content; margin-top:7px; padding:4px 8px; display:block; border-radius:999px; font-size:.54rem; font-weight:800; }.directory-shared-badge { color:#775400; background:#fff0b7; }.directory-unique-badge { color:#176546; background:#ddf7eb; }
.directory-catalog { min-width:0; min-height:0; display:grid; grid-template-rows:54px minmax(0,1fr) 48px; overflow:hidden; border-radius:20px; color:white; background:linear-gradient(135deg,#071c57,#174fd0); box-shadow:0 16px 38px rgba(11,41,112,.15); }.directory-catalog-top { padding:10px 15px; display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid rgba(255,255,255,.14); }.directory-catalog-top span,.directory-catalog-top strong { display:block; }.directory-catalog-top span { color:var(--yellow); font-size:.56rem; font-weight:800; text-transform:uppercase; }.directory-catalog-top strong { margin-top:2px; font-size:.71rem; }.directory-catalog .module-catalog-dots { position:static; transform:none; }.directory-pages { min-height:0; padding:12px; }.directory-page { height:100%; min-height:0; padding:22px; display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; overflow:auto; border-radius:16px; color:var(--ink); background:white; }.directory-page[hidden] { display:none; }.directory-page-number { width:58px; height:58px; display:grid; place-items:center; border-radius:16px; color:var(--navy); background:var(--yellow); font-size:1.1rem; font-weight:800; }.directory-page h3 { margin-top:5px; font-size:clamp(1.35rem,2.3vw,2.15rem); }.directory-page > div:last-child > p { max-width:850px; color:var(--muted); font-size:.78rem; line-height:1.5; }.directory-facts { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.directory-facts span { min-height:92px; padding:13px; border:1px solid var(--line); border-radius:13px; color:var(--muted); font-size:.62rem; }.directory-facts b { display:block; margin-bottom:5px; color:var(--navy); font-size:.72rem; }.directory-validation-note { margin-top:13px; padding:11px 13px; border-radius:12px; color:#4c5c80 !important; background:#edf3ff; font-size:.62rem !important; }
.directory-connections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:17px; }.directory-connections a { min-height:84px; padding:12px; display:grid; grid-template-columns:42px 1fr; gap:11px; align-items:center; border:1px solid var(--line); border-radius:13px; background:#f7f9fd; }.directory-connections a > span { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:var(--navy); background:var(--yellow); font-size:.67rem; font-weight:800; }.directory-connections b,.directory-connections small { display:block; }.directory-connections b { color:var(--navy); font-size:.72rem; }.directory-connections small { margin-top:3px; color:var(--blue); font-size:.58rem; font-weight:800; }.directory-no-connections { margin-top:17px; padding:20px; border:1px dashed #bdcbea; border-radius:14px; background:#f7f9fd; }.directory-no-connections b { color:var(--navy); }.directory-no-connections p { margin:5px 0 0; color:var(--muted); font-size:.72rem; }
.directory-route-track { margin-top:17px; padding:14px 3px 8px; display:flex; align-items:center; gap:5px; overflow-x:auto; scrollbar-width:thin; }.directory-route-track > span { min-width:45px; height:45px; position:relative; display:grid; place-items:center; flex:none; border:1px solid #c5d3ef; border-radius:12px; color:var(--blue); background:#f5f8fe; }.directory-route-track b { font-size:.64rem; }.directory-route-track small { position:absolute; top:-11px; padding:2px 4px; border-radius:999px; color:white; background:var(--blue); font-size:.45rem; font-weight:800; }.directory-route-track > i { color:#8da6d8; font-size:.6rem; font-style:normal; }.directory-route-track .start { color:var(--navy); border-color:var(--yellow); background:var(--yellow); }.directory-route-track .end { color:white; border-color:var(--blue); background:var(--blue); }.directory-achievement { margin-top:14px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.directory-achievement span { padding:12px; border-radius:12px; color:var(--muted); background:#eef3fb; font-size:.61rem; text-align:center; }.directory-achievement b { display:block; margin-bottom:3px; color:var(--navy); font-size:.72rem; }.directory-catalog .module-catalog-controls { min-height:48px; }.directory-catalog .module-catalog-controls button { color:white; }
.directory-pending { margin:auto; max-width:680px; padding:36px; border-radius:24px; background:white; box-shadow:var(--shadow); }.directory-pending > span { color:var(--blue); font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.directory-pending h2 { margin-top:8px; }.directory-pending p { color:var(--muted); }

@media (max-width:980px) {
  .module-directory-shell { grid-template-rows:116px minmax(0,1fr); }.directory-heading-grid { height:88px; }.directory-heading-tools select { width:245px; }.module-directory-workspace { grid-template-columns:285px minmax(0,1fr); }.directory-stage { padding:10px; }.directory-page { padding:17px; }.directory-facts { grid-template-columns:1fr; }.directory-facts span { min-height:0; }
}
@media (max-width:760px) {
  html:has(.module-directory-page),.module-directory-page { max-width:100%; overflow-x:hidden; }.module-directory-page { overflow-y:auto; }.module-directory-shell { height:auto; min-height:calc(100vh - 68px); grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; overflow:visible; }.directory-heading { width:100%; max-width:100%; min-width:0; padding:14px 0; overflow:hidden; }.directory-heading-grid { width:calc(100% - 26px); max-width:100%; min-width:0; height:auto; grid-template-columns:minmax(0,1fr); gap:10px; }.directory-heading-grid > div { min-width:0; }.directory-heading h1 { max-width:100%; font-size:1.55rem; overflow-wrap:anywhere; }.directory-heading-tools { min-width:0; align-items:center; }.directory-heading-tools select { width:100%; min-width:0; }.directory-metric { min-width:92px; }
  .module-directory-workspace { width:100%; max-width:100%; min-width:0; display:block; }.directory-module-rail { width:100%; max-width:100%; min-width:0; height:auto; padding:10px 12px; position:sticky; top:68px; z-index:20; display:block; border-right:0; border-bottom:1px solid var(--line); }.directory-module-rail > header { margin-bottom:7px; }.directory-module-list { width:100%; max-width:100%; display:flex; gap:6px; overflow-x:auto; }.directory-block-title,.directory-source-note { display:none; }.directory-module-button { min-width:190px; min-height:62px; margin-bottom:0; }.directory-stage { width:100%; max-width:100%; min-width:0; min-height:720px; overflow:visible; }.directory-stage-head { min-width:0; align-items:flex-start; }.directory-stage-head > div { min-width:0; }.directory-stage-head h2 { max-width:100%; overflow-wrap:anywhere; }.directory-stage-head .stage-enroll { padding:10px 12px; }.directory-catalog { width:100%; max-width:100%; min-width:0; min-height:560px; }.directory-page { min-width:0; grid-template-columns:45px minmax(0,1fr); gap:11px; }.directory-connections { grid-template-columns:1fr; }.directory-achievement { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .directory-heading-tools { display:grid; grid-template-columns:1fr auto; }.directory-metric { min-width:82px; }.directory-stage-head { display:grid; }.directory-stage-head .stage-enroll { width:100%; }.directory-page { padding:14px; grid-template-columns:1fr; }.directory-page-number { width:42px; height:42px; }.directory-page h3 { font-size:1.35rem; }.directory-catalog-top > div:first-child strong { font-size:.62rem; }
}
.directory-module-button > span { font-size:.68rem; }

/* Selector guiado de programas por núcleo y modalidad. */
.program-finder-page { min-width:320px; overflow:hidden; background:#eef3fb; }
.finder-shell { height:calc(100vh - 78px); min-height:610px; display:grid; grid-template-columns:310px minmax(0,1fr); overflow:hidden; }
.finder-intro { min-height:0; padding:34px 30px 24px; display:flex; flex-direction:column; justify-content:space-between; color:white; background:radial-gradient(circle at 20% 10%,rgba(42,97,239,.55),transparent 32%),linear-gradient(155deg,#061943,#09266c 62%,#123eb1); }
.finder-kicker { color:var(--yellow); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.finder-intro h1 { max-width:260px; margin:10px 0 12px; color:white; font-size:clamp(1.75rem,2.7vw,2.7rem); line-height:1.02; }
.finder-intro p { max-width:245px; color:#dfe8ff; font-size:.9rem; line-height:1.5; }
.finder-steps { margin:24px 0; padding:0; display:grid; gap:8px; list-style:none; }
.finder-steps li { min-height:57px; padding:9px 10px; display:grid; grid-template-columns:36px 1fr; gap:10px; align-items:center; border:1px solid rgba(255,255,255,.12); border-radius:14px; opacity:.58; }
.finder-steps li.active { border-color:rgba(255,190,22,.72); background:rgba(255,190,22,.11); opacity:1; }
.finder-steps li > b { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--navy); background:#dce7ff; font-size:.76rem; }
.finder-steps li.active > b { background:var(--yellow); }
.finder-steps strong,.finder-steps span { display:block; }.finder-steps strong { color:white; font-size:.78rem; }.finder-steps span { color:#dce6ff; font-size:.64rem; line-height:1.3; }
.finder-source { padding:13px; border-radius:14px; color:#dfe8ff; background:rgba(255,255,255,.09); }.finder-source b,.finder-source span { display:block; }.finder-source b { color:var(--yellow); font-size:.72rem; }.finder-source span { margin-top:3px; font-size:.61rem; line-height:1.35; }
.finder-workspace { min-width:0; min-height:0; padding:22px 28px 26px; overflow:hidden; }
.finder-panel { width:100%; height:100%; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr); gap:15px; animation:finder-panel-in .3s ease both; }
.finder-panel[hidden] { display:none; }
@keyframes finder-panel-in { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:none; } }
.finder-panel-head { min-height:74px; display:flex; justify-content:space-between; align-items:end; gap:24px; }
.finder-panel-head > div > span { color:var(--blue); font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.finder-panel-head h2 { margin-top:4px; font-size:clamp(1.6rem,2.8vw,2.5rem); }
.finder-panel-head > p { max-width:390px; margin:0 0 4px; color:var(--muted); font-size:.78rem; line-height:1.45; }
.nucleus-question-grid { min-height:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:9px; }
.nucleus-question { min-width:0; min-height:0; position:relative; padding:12px 37px 11px 13px; display:grid; grid-template-columns:27px minmax(0,1fr); grid-template-rows:auto auto; gap:4px 8px; align-content:center; border:1px solid #cfdaee; border-radius:16px; color:var(--navy); background:white; text-align:left; box-shadow:0 8px 20px rgba(14,45,107,.05); transition:.18s ease; }
.nucleus-question:hover,.nucleus-question:focus-visible,.nucleus-question.selected { border-color:var(--blue); transform:translateY(-2px); box-shadow:0 12px 25px rgba(18,63,165,.12); }
.nucleus-question > span { grid-row:1 / 3; width:27px; height:27px; display:grid; place-items:center; align-self:start; border-radius:8px; color:var(--blue); background:#e8efff; font-size:.58rem; font-weight:800; }
.nucleus-question > b { font-size:.78rem; line-height:1.2; }
.nucleus-question > small { color:var(--muted); font-size:.56rem; line-height:1.3; }
.nucleus-question > i { position:absolute; right:13px; top:50%; color:var(--blue); font-style:normal; font-weight:800; transform:translateY(-50%); }
.finder-panel[data-finder-panel="2"] { grid-template-rows:auto auto auto minmax(0,1fr); gap:11px; }
.finder-panel-head-back { min-height:64px; justify-content:flex-start; align-items:center; }.finder-panel-head-back > button { min-height:44px; padding:8px 12px; border:1px solid #b8c8e8; border-radius:12px; color:var(--blue); background:white; font-size:.68rem; font-weight:800; }.finder-panel-head-back h2 { font-size:1.75rem; }.finder-panel-head-back p { margin:2px 0 0; color:var(--muted); font-size:.67rem; }
.finder-mode-row { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.finder-mode { min-height:70px; padding:12px 14px; border:1px solid #cad7ed; border-radius:14px; color:var(--navy); background:white; text-align:left; }
.finder-mode b,.finder-mode span { display:block; }.finder-mode b { font-size:.8rem; }.finder-mode span { margin-top:3px; color:var(--muted); font-size:.58rem; line-height:1.3; }.finder-mode.active { border-color:var(--blue); background:#eaf0ff; box-shadow:inset 4px 0 0 var(--blue); }.finder-mode.active b { color:var(--blue); }
.finder-results-head { display:flex; justify-content:space-between; align-items:end; gap:20px; }.finder-results-head > div:first-child > span { color:var(--blue); font-size:.61rem; font-weight:800; }.finder-results-head h3 { margin-top:2px; font-size:1.08rem; }.module-legend { display:flex; gap:5px; }.module-legend span { padding:4px 7px; border-radius:999px; font-size:.52rem; font-weight:800; }.module-legend .common { color:#073b72; background:#cbeeff; }.module-legend .shared { color:#624400; background:#ffe7a1; }.module-legend .own { color:#31503f; background:#d9f2df; }
.finder-program-grid { min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; overflow:auto; align-content:start; padding:2px 3px 4px 0; scrollbar-width:thin; }
.finder-program-card { min-height:174px; padding:14px; display:flex; flex-direction:column; border:1px solid #cedaf0; border-radius:17px; background:white; box-shadow:0 9px 22px rgba(12,42,104,.055); }.finder-program-card header { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:.54rem; }.finder-program-card header span { color:var(--blue); font-weight:800; }.finder-program-card header b { font-weight:800; }.finder-program-card h4 { margin:8px 0 10px; color:var(--navy); font-size:1rem; line-height:1.18; }
.program-module-summary { display:flex; gap:5px; flex-wrap:wrap; }.program-module-summary span { padding:5px 7px; border-radius:8px; color:#32425f; background:#edf2fa; font-size:.54rem; }.program-module-summary .common { background:#dff4ff; }.program-module-summary .shared { background:#fff0bd; }.program-module-summary .own { background:#e4f5e8; }.program-module-summary b { color:var(--navy); }.program-calendar-status { margin-top:8px; padding:7px 8px; border-radius:9px; color:var(--blue); background:#eef4ff; font-size:.58rem; font-weight:800; }.finder-program-card > p { margin:9px 0 11px; color:var(--muted); font-size:.6rem; line-height:1.35; }.finder-program-card > a { min-height:40px; margin-top:auto; padding:9px 11px; display:flex; justify-content:space-between; align-items:center; border-radius:11px; color:white; background:linear-gradient(110deg,var(--navy),var(--blue)); font-size:.65rem; font-weight:800; }.finder-program-card > a span { color:var(--yellow); }
.finder-empty { padding:28px; border:1px dashed #9db2dc; border-radius:18px; text-align:center; background:white; }.finder-empty b { color:var(--navy); }.finder-empty p { margin-top:5px; color:var(--muted); font-size:.76rem; }

@media (max-width:1050px) {
  .finder-shell { grid-template-columns:250px minmax(0,1fr); }.finder-intro { padding:25px 21px; }.finder-workspace { padding:18px; }.nucleus-question-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; overflow:auto; padding-right:4px; }
}
@media (max-width:760px) {
  .program-finder-page { overflow:auto; }.finder-shell { height:auto; min-height:calc(100vh - 68px); display:block; overflow:visible; }.finder-intro { min-height:220px; padding:22px 18px; }.finder-intro h1 { max-width:none; font-size:2rem; }.finder-intro p { max-width:none; }.finder-steps { grid-template-columns:repeat(3,1fr); margin:18px 0 0; }.finder-steps li { min-height:50px; grid-template-columns:30px 1fr; padding:7px; }.finder-steps li > b { width:29px; height:29px; }.finder-steps span { font-size:.55rem; }.finder-source { display:none; }.finder-workspace { min-height:690px; padding:16px 13px 80px; overflow:visible; }.finder-panel { height:auto; }.finder-panel-head { min-height:0; display:block; }.finder-panel-head > p { margin-top:6px; }.nucleus-question-grid { grid-template-columns:1fr; overflow:visible; }.nucleus-question { min-height:86px; }.finder-panel-head-back { display:grid; grid-template-columns:auto 1fr; }.finder-panel-head-back h2 { font-size:1.35rem; }.finder-mode-row { grid-template-columns:1fr; }.finder-mode { min-height:64px; }.finder-results-head { align-items:start; }.module-legend { display:none; }.finder-program-grid { grid-template-columns:1fr; overflow:visible; }.finder-program-card { min-height:180px; }
}

.directory-relation-name { margin:5px 0 13px; color:var(--blue) !important; font-weight:800; }
.directory-module-schedule { margin-top:13px; padding:11px 12px; display:flex; justify-content:space-between; align-items:center; gap:12px; border:1px solid #d5e0f2; border-radius:13px; background:#f5f8fe; }.directory-module-schedule span,.directory-module-schedule b,.directory-module-schedule small { display:block; }.directory-module-schedule span { color:var(--blue); font-size:.54rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.directory-module-schedule b { margin:2px 0; color:var(--navy); font-size:.7rem; }.directory-module-schedule small { max-width:690px; margin-top:2px; color:var(--muted); font-size:.52rem; line-height:1.35; }.directory-module-schedule > a,.directory-module-schedule > strong { flex:none; padding:8px 10px; border-radius:9px; color:white; background:var(--blue); font-size:.57rem; font-weight:800; }.directory-module-schedule > strong { color:#24402d; background:#dff3e5; }
.directory-next-routes { margin-top:16px; padding:12px; border:1px solid #d5e0f2; border-radius:14px; background:#f6f9fe; }
.directory-next-routes > header span,.directory-next-routes > header b { display:block; }.directory-next-routes > header span { color:var(--blue); font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.directory-next-routes > header b { margin-top:2px; color:var(--navy); font-size:.72rem; }
.directory-next-routes > div { margin-top:9px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.directory-next-routes a { min-width:0; padding:9px; display:block; border:1px solid #dce4f2; border-radius:10px; background:white; }.directory-next-routes strong,.directory-next-routes a span { display:block; }.directory-next-routes strong { color:var(--navy); font-size:.61rem; line-height:1.25; }.directory-next-routes a span { margin-top:4px; color:var(--muted); font-size:.53rem; line-height:1.35; }.directory-next-routes a span b { display:inline; color:var(--blue); }
@media (max-width:760px) { .directory-module-schedule { align-items:flex-start; flex-direction:column; }.directory-next-routes > div { grid-template-columns:1fr; } }
.directory-catalog[hidden],.directory-pending[hidden],.directory-stage-head .stage-enroll[hidden] { display:none !important; }
.directory-stage.pending-state { display:block; }.directory-stage.pending-state .directory-stage-head { display:none; }.directory-stage.pending-state .directory-pending { margin:20px auto; }
@media (max-width:760px) { .directory-stage.pending-state { min-height:430px; }.directory-stage.pending-state .directory-pending { margin:10px 0; padding:24px; } }

/* Mantiene visible la cantidad de programas aun cuando la pregunta ocupa dos líneas. */
.guided-nucleus-card p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.directory-ranked-routes strong { padding-right:108px; }
.directory-ranked-routes em { max-width:100px; text-align:right; }

/* Carril de ayuda: los accesos flotantes no deben cubrir decisiones ni controles. */
@media (min-width:761px) {
  .guided-program-page .journey-topbar,
  .guided-program-page .journey-workspace {
    width:min(1450px,calc(100% - 108px));
    margin-left:20px;
    margin-right:88px;
  }
  .guided-program-page .alma-fab,
  .guided-directory-page .alma-fab {
    left:auto;
    right:14px;
    bottom:76px;
  }
  .guided-program-page .advisor-fab,
  .guided-directory-page .advisor-fab {
    right:14px;
    bottom:16px;
  }
  .guided-program-page .accessibility-tools,
  .guided-directory-page .accessibility-tools {
    top:auto;
    right:14px;
    bottom:136px;
  }
  .guided-program-page .accessibility-toggle,
  .guided-directory-page .accessibility-toggle {
    width:52px;
    min-width:52px;
    padding:8px 6px;
  }
  .guided-program-page .accessibility-toggle span,
  .guided-directory-page .accessibility-toggle span {
    display:none;
  }
  .guided-program-page .alma-panel,
  .guided-directory-page .alma-panel {
    left:auto;
    right:76px;
    bottom:16px;
  }
  .guided-directory-page .module-directory-workspace {
    grid-template-columns:330px minmax(0,1fr) 68px;
  }
  .guided-directory-page .directory-stage {
    grid-column:2;
  }
}
@media (min-width:761px) and (max-width:980px) {
  .guided-directory-page .module-directory-workspace {
    grid-template-columns:285px minmax(0,1fr) 68px;
  }
}

/* Lectura cómoda: la información decisiva permanece por encima de 11 px. */
.guided-program-page .guided-nucleus-card small,
.guided-program-page .guided-program-stats span,
.guided-program-page .guided-results-head,
.guided-directory-page .directory-heading-grid > div:first-child > a,
.guided-directory-page .directory-heading .eyebrow,
.guided-directory-page .directory-module-rail header span,
.guided-directory-page .directory-block-title span,
.guided-directory-page .directory-module-button > small,
.guided-directory-page .directory-source-note,
.guided-directory-page .directory-entry-card p,
.guided-directory-page .directory-model-explainer p,
.guided-directory-page .directory-ranked-routes > header p,
.guided-directory-page .directory-ranked-routes small,
.guided-directory-page .directory-ranked-routes em {
  font-size:.7rem;
}
.guided-directory-page .directory-module-button > b,
.guided-directory-page .directory-entry-card strong,
.guided-directory-page .directory-model-explainer strong,
.guided-directory-page .directory-ranked-routes strong {
  font-size:.76rem;
}
.guided-directory-page .directory-metric span { font-size:.66rem; }

/* En portátiles de poca altura el documento puede desplazarse sin recortes. */
@media (min-width:761px) and (max-height:700px) {
  .guided-program-page,
  .guided-directory-page { overflow-y:auto; }
  .guided-program-page .guided-journey { height:auto; min-height:640px; overflow:visible; }
  .guided-directory-page .module-directory-shell { height:640px; }
}

/* Recorrido por ambientes de Campus Atlantia One. */
.atlantia-directory-page,.atlantia-catalog-page { min-width:320px; overflow:hidden; background:#eaf0f8; }
.atlantia-directory-page .advisor-fab,.atlantia-catalog-page .advisor-fab { display:none; }
.atlantia-directory-shell { min-height:calc(100vh - 78px); }
.atlantia-map { height:calc(100vh - 78px); min-height:650px; padding:20px 24px 24px; display:grid; grid-template-rows:auto minmax(0,1fr); gap:16px; background:radial-gradient(circle at 82% 5%,rgba(0,102,255,.18),transparent 26%),#edf3fb; }
.atlantia-map[hidden],.atlantia-space-detail[hidden] { display:none !important; }
.atlantia-map-head { width:min(1450px,100%); margin:auto; display:flex; justify-content:space-between; align-items:center; gap:28px; }.atlantia-map-head > div:first-child { max-width:830px; }.atlantia-map-head a { color:var(--blue); font-size:.78rem; font-weight:800; }.atlantia-map-head > div:first-child > span { margin-left:15px; color:#66758f; font-size:.72rem; font-weight:800; }.atlantia-map-head h1 { margin:8px 0 5px; font-size:clamp(2rem,3.3vw,3.5rem); line-height:1; }.atlantia-map-head p { max-width:800px; margin:0; color:var(--muted); font-size:.88rem; line-height:1.45; }
.atlantia-map-brand { flex:none; min-height:62px; padding:8px 11px; display:flex; align-items:center; gap:10px; border:1px solid #cbd7e8; border-radius:15px; background:white; box-shadow:0 10px 28px rgba(8,34,89,.09); }.atlantia-map-brand span { color:var(--navy); font-size:1rem; font-weight:800; }.atlantia-map-brand i { color:#28a8ff; font-style:normal; font-weight:800; }.atlantia-map-brand img { width:156px; height:44px; border-radius:7px; object-fit:cover; }
.atlantia-space-grid { width:min(1450px,100%); height:100%; min-height:0; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }.atlantia-space-grid a { min-width:0; min-height:0; position:relative; overflow:hidden; border:1px solid #c7d5e8; border-radius:20px; color:var(--navy); background:white; box-shadow:0 12px 30px rgba(8,34,89,.08); transition:.2s ease; }.atlantia-space-grid a:hover,.atlantia-space-grid a:focus-visible { border-color:#0066ff; transform:translateY(-3px); box-shadow:0 17px 38px rgba(8,34,89,.15); }.atlantia-space-grid img { width:100%; height:calc(100% - 70px); position:absolute; inset:0 auto auto 0; object-fit:cover; }.atlantia-space-grid a > span { height:70px; padding:11px 110px 11px 12px; position:absolute; inset:auto 0 0; background:#fff; }.atlantia-space-grid a > span b { width:29px; height:29px; margin-right:8px; display:inline-grid; place-items:center; vertical-align:middle; border-radius:8px; color:#052056; background:#dceaff; font-size:.72rem; }.atlantia-space-grid strong,.atlantia-space-grid small { display:inline; }.atlantia-space-grid strong { font-size:.92rem; }.atlantia-space-grid small { display:block; margin:5px 0 0 38px; color:var(--muted); font-size:.75rem; line-height:1.3; }.atlantia-space-grid a > i { position:absolute; z-index:2; right:12px; bottom:16px; color:#0066ff; font-size:.72rem; font-style:normal; font-weight:800; }.atlantia-space-grid .atlantia-space-featured { border-color:#28a8ff; background:linear-gradient(180deg,#fff,#f0f8ff); }
.atlantia-space-detail { height:calc(100vh - 78px); min-height:610px; display:grid; grid-template-rows:50px minmax(0,1fr); background:#080b0d; }.atlantia-detail-toolbar { padding:7px 20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; color:#65758e; background:white; }.atlantia-detail-toolbar button { min-height:36px; padding:7px 11px; border:1px solid #c8d5e8; border-radius:10px; color:#0066ff; background:white; font-size:.72rem; font-weight:800; }.atlantia-detail-toolbar span { font-size:.72rem; }.atlantia-detail-toolbar a { color:#0066ff; font-size:.72rem; font-weight:800; }.atlantia-space-detail > article { min-height:0; padding:18px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:20px; }.atlantia-space-detail figure { min-height:0; margin:0; position:relative; overflow:hidden; border-radius:24px; }.atlantia-space-detail figure img { width:100%; height:100%; object-fit:cover; }.atlantia-space-detail figcaption { position:absolute; left:13px; bottom:13px; padding:7px 10px; border-radius:9px; color:#c7cdd5; background:rgba(8,11,13,.82); font-size:.7rem; }.atlantia-detail-copy { padding:25px; display:flex; flex-direction:column; justify-content:center; color:white; }.atlantia-detail-copy > span { color:#28a8ff; font-size:.74rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.atlantia-detail-copy h1 { margin:9px 0 12px; color:white; font-size:clamp(2.1rem,3.8vw,4rem); line-height:.98; }.atlantia-detail-copy > p { color:#d7dfe9; font-size:1rem; line-height:1.55; }.atlantia-detail-points { margin:20px 0; display:grid; gap:8px; }.atlantia-detail-points span { min-height:45px; padding:8px 10px; display:flex; align-items:center; gap:10px; border:1px solid rgba(199,205,213,.18); border-radius:11px; color:#e8edf4; background:rgba(255,255,255,.06); font-size:.78rem; }.atlantia-detail-points b { width:28px; height:28px; display:grid; place-items:center; border-radius:7px; color:#061b3d; background:#28a8ff; font-size:.6rem; }.atlantia-detail-copy > small { color:#93a2b7; font-size:.68rem; line-height:1.4; }

.atlantia-catalog-shell { height:calc(100vh - 78px); min-height:620px; padding:18px; display:grid; grid-template-columns:330px minmax(0,1fr); gap:18px; color:white; background:radial-gradient(circle at 84% 8%,rgba(0,102,255,.3),transparent 26%),linear-gradient(145deg,#080b0d,#111a25); }.atlantia-catalog-intro { padding:24px; display:flex; flex-direction:column; justify-content:center; }.atlantia-catalog-intro > a { align-self:flex-start; color:#28a8ff; font-size:.76rem; font-weight:800; }.atlantia-catalog-intro > span { margin-top:35px; color:#28a8ff; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.atlantia-catalog-intro h1 { margin:8px 0 12px; color:white; font-size:clamp(2.5rem,4vw,4.6rem); line-height:.96; }.atlantia-catalog-intro > p { color:#d6dee8; font-size:.92rem; line-height:1.55; }.atlantia-catalog-intro .campus-project-note { margin-top:18px; }.atlantia-catalog-count { margin-top:auto; display:flex; align-items:baseline; gap:7px; }.atlantia-catalog-count b { color:#28a8ff; font-size:2.2rem; }.atlantia-catalog-count i { color:#5f6c7b; font-style:normal; }.atlantia-catalog-count span { color:#c7cdd5; font-size:1rem; }
.atlantia-catalog-view { min-width:0; min-height:0; position:relative; overflow:hidden; border:1px solid rgba(199,205,213,.2); border-radius:26px; background:#101820; }.atlantia-catalog-view article { width:100%; height:100%; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; animation:atlantia-slide-in .28s ease both; }.atlantia-catalog-view article[hidden] { display:none; }@keyframes atlantia-slide-in { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:none; } }.atlantia-catalog-view figure { min-height:0; margin:0; overflow:hidden; }.atlantia-catalog-view figure img { width:100%; height:100%; object-fit:cover; }.atlantia-catalog-view article > div { min-height:116px; padding:16px 110px 16px 20px; position:relative; background:linear-gradient(90deg,#111a25,#172436); }.atlantia-catalog-view article > div span { color:#28a8ff; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.atlantia-catalog-view article > div h2 { margin:4px 0 5px; color:white; font-size:1.45rem; }.atlantia-catalog-view article > div p { max-width:850px; margin:0; color:#c7d0dc; font-size:.78rem; line-height:1.4; }.atlantia-catalog-view article > div strong { position:absolute; right:20px; bottom:18px; color:#28a8ff; font-size:.68rem; }.atlantia-catalog-arrow { width:48px; height:48px; position:absolute; z-index:3; bottom:35px; display:grid; place-items:center; border:0; border-radius:50%; color:#061b3d; background:white; box-shadow:0 8px 24px rgba(0,0,0,.24); font-size:1.1rem; font-weight:800; }.atlantia-catalog-arrow.previous { right:70px; }.atlantia-catalog-arrow.next { right:14px; background:#28a8ff; }
@media (max-width:1050px) { .atlantia-directory-page,.atlantia-catalog-page { overflow:auto; }.atlantia-map { height:auto; min-height:calc(100vh - 68px); }.atlantia-space-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }.atlantia-space-grid a { min-height:260px; }.atlantia-map-brand { display:none; }.atlantia-space-detail { height:auto; }.atlantia-space-detail > article { grid-template-columns:1fr; }.atlantia-space-detail figure { min-height:470px; }.atlantia-catalog-shell { height:auto; min-height:calc(100vh - 68px); grid-template-columns:1fr; }.atlantia-catalog-intro { padding:12px; }.atlantia-catalog-intro > span { margin-top:20px; }.atlantia-catalog-count { margin-top:15px; }.atlantia-catalog-view { min-height:690px; } }
@media (max-width:650px) { .atlantia-map { padding:18px 12px 80px; }.atlantia-map-head { display:block; }.atlantia-map-head > div:first-child > span { margin:8px 0 0; display:block; }.atlantia-map-head h1 { font-size:2.15rem; }.atlantia-space-grid { grid-template-columns:1fr; }.atlantia-space-grid a { min-height:280px; }.atlantia-space-detail { grid-template-rows:52px auto; }.atlantia-detail-toolbar { padding:6px 9px; grid-template-columns:1fr auto; }.atlantia-detail-toolbar span { display:none; }.atlantia-space-detail > article { padding:10px; }.atlantia-space-detail figure { min-height:300px; }.atlantia-detail-copy { padding:18px 8px 80px; }.atlantia-detail-copy h1 { font-size:2.4rem; }.atlantia-catalog-shell { padding:10px 10px 80px; }.atlantia-catalog-intro h1 { font-size:2.8rem; }.atlantia-catalog-view { min-height:570px; }.atlantia-catalog-view article { grid-template-rows:330px auto; }.atlantia-catalog-view article > div { min-height:190px; padding:17px 16px 72px; }.atlantia-catalog-view article > div strong { left:16px; right:16px; bottom:18px; }.atlantia-catalog-arrow { bottom:137px; }.atlantia-catalog-view figure img { object-position:center; } }

/* Campus project status, hybrid learning and complete gallery controls */
.campus-introduction strong { color:var(--navy); }
.campus-project-disclaimer { max-width:650px; margin:-8px 0 18px; padding:11px 13px; display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; border:1px solid #d4dfef; border-left:4px solid var(--yellow); border-radius:12px; color:#53627a; background:rgba(255,255,255,.78); font-size:.72rem; line-height:1.45; }
.campus-project-disclaimer b { margin-right:2px; color:var(--navy); white-space:nowrap; }
.hybrid-learning { min-height:116px; padding:13px; display:grid; grid-template-columns:minmax(205px,.65fr) minmax(0,1.35fr); gap:12px; align-items:center; border:1px solid rgba(199,205,213,.18); border-radius:15px; background:rgba(255,255,255,.07); }
.hybrid-learning > div > span { color:#28a8ff; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.hybrid-learning h3 { margin:5px 0 0; color:white; font-size:1rem; line-height:1.2; }
.hybrid-learning ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; list-style:none; }
.hybrid-learning li { min-height:72px; padding:9px; display:flex; flex-direction:column; justify-content:center; gap:6px; border:1px solid rgba(199,205,213,.16); border-radius:11px; color:#e2e9f2; background:rgba(255,255,255,.06); font-size:.66rem; font-weight:800; line-height:1.25; }
.hybrid-learning li b { color:#28a8ff; font-size:.58rem; }
.chair-visual::before { content:"Visualización conceptual"; height:48px; padding:9px 12px; position:absolute; z-index:2; inset:0 0 auto; display:block; color:#b9c8d8; background:linear-gradient(180deg,#080b0d 70%,rgba(8,11,13,0)); font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.atlantia-visual-note { max-width:760px; margin-top:9px; padding:8px 10px; border-left:4px solid #ffc72c; border-radius:8px; color:#53627a; background:rgba(255,255,255,.72); font-size:.72rem; line-height:1.4; }
.atlantia-visual-note b { color:#082259; }

.atlantia-space-detail { grid-template-rows:50px minmax(0,1fr) 108px; }
.atlantia-space-detail figcaption { max-width:min(620px,calc(100% - 26px)); display:grid; gap:3px; }
.atlantia-space-detail figcaption b,.atlantia-space-detail figcaption span,.atlantia-space-detail figcaption small { display:block; }
.atlantia-space-detail figcaption b { color:white; font-size:.82rem; }
.atlantia-space-detail figcaption span { color:#dce4ef; font-size:.68rem; line-height:1.35; }
.atlantia-space-detail figcaption small { color:#92a3b7; font-size:.6rem; }
.atlantia-detail-gallery { padding:8px 14px 10px 82px; display:grid; grid-template-columns:46px minmax(0,1fr) 46px; grid-template-rows:14px 67px; gap:5px 10px; align-items:center; border-top:1px solid rgba(199,205,213,.16); background:#0e151e; }
.atlantia-detail-gallery > button { width:46px; height:46px; grid-row:1 / 3; display:grid; place-items:center; border:0; border-radius:50%; color:#061b3d; background:white; font-size:1.05rem; font-weight:800; cursor:pointer; }
.atlantia-detail-gallery > button:first-child { grid-column:1; }.atlantia-detail-gallery > button:last-child { grid-column:3; background:#28a8ff; }
.atlantia-detail-gallery [data-atlantia-dots] { grid-column:2; grid-row:1; display:flex; justify-content:center; gap:7px; }
.atlantia-detail-gallery [data-atlantia-dots] button,.atlantia-catalog-dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#607189; cursor:pointer; }
.atlantia-detail-gallery [data-atlantia-dots] button.is-active,.atlantia-catalog-dots button.is-active { width:24px; border-radius:10px; background:#28a8ff; }
.atlantia-detail-gallery [data-atlantia-thumbnails] { min-width:0; grid-column:2; grid-row:2; display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; scroll-snap-type:x proximity; }
.atlantia-detail-gallery [data-atlantia-thumbnails] button { min-width:170px; height:62px; padding:4px; display:grid; grid-template-columns:72px 1fr; gap:8px; align-items:center; overflow:hidden; scroll-snap-align:center; border:1px solid #34455d; border-radius:10px; color:#dce4ef; background:#172333; text-align:left; cursor:pointer; }
.atlantia-detail-gallery [data-atlantia-thumbnails] button.is-active { border-color:#28a8ff; box-shadow:0 0 0 2px rgba(40,168,255,.2); }
.atlantia-detail-gallery [data-atlantia-thumbnails] img { width:72px; height:52px; border-radius:7px; object-fit:cover; }
.atlantia-detail-gallery [data-atlantia-thumbnails] span { font-size:.67rem; font-weight:800; line-height:1.2; }

.atlantia-catalog-view { padding-bottom:104px; }
.atlantia-catalog-navigation { height:96px; padding:7px 70px 9px; position:absolute; z-index:2; inset:auto 0 0; display:grid; grid-template-rows:12px 66px; gap:4px; border-top:1px solid rgba(199,205,213,.16); background:#0e151e; }
.atlantia-catalog-dots { display:flex; justify-content:center; gap:7px; }
.atlantia-catalog-thumbnails { min-width:0; display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; scroll-snap-type:x proximity; }
.atlantia-catalog-thumbnails button { min-width:162px; height:62px; padding:4px; display:grid; grid-template-columns:68px 1fr; gap:7px; align-items:center; scroll-snap-align:center; overflow:hidden; border:1px solid #34455d; border-radius:10px; color:#dce4ef; background:#172333; text-align:left; cursor:pointer; }
.atlantia-catalog-thumbnails button.is-active { border-color:#28a8ff; box-shadow:0 0 0 2px rgba(40,168,255,.2); }
.atlantia-catalog-thumbnails img { width:68px; height:52px; border-radius:7px; object-fit:cover; }
.atlantia-catalog-thumbnails span { font-size:.62rem; font-weight:800; line-height:1.18; }
.atlantia-catalog-arrow { bottom:29px; cursor:pointer; }
.atlantia-catalog-arrow:focus-visible,.atlantia-detail-gallery button:focus-visible,.atlantia-catalog-navigation button:focus-visible { outline:3px solid #ffc72c; outline-offset:2px; }

@media (max-width:1100px) {
  .hybrid-learning { grid-template-columns:1fr; }
  .hybrid-learning ol { grid-template-columns:repeat(5,minmax(115px,1fr)); overflow-x:auto; padding-bottom:4px; }
}
@media (max-width:650px) {
  .campus-project-disclaimer { grid-template-columns:1fr; gap:2px; }
  .campus-project-disclaimer b { white-space:normal; }
  .hybrid-learning { padding:11px; }
  .hybrid-learning ol { grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
  .hybrid-learning li { min-height:66px; }
  .hybrid-learning li:last-child { grid-column:1 / -1; }
  .atlantia-space-detail { grid-template-rows:52px auto 108px; }
  .atlantia-detail-gallery { padding:8px 8px 10px 74px; grid-template-columns:42px minmax(0,1fr) 42px; gap-inline:6px; }
  .atlantia-detail-gallery > button { width:42px; height:42px; }
  .atlantia-detail-gallery [data-atlantia-thumbnails] button { min-width:148px; grid-template-columns:60px 1fr; }
  .atlantia-detail-gallery [data-atlantia-thumbnails] img { width:60px; }
  .atlantia-catalog-view { min-height:674px; padding-bottom:104px; }
  .atlantia-catalog-view article { grid-template-rows:300px auto; }
  .atlantia-catalog-navigation { padding-inline:62px; }
  .atlantia-catalog-thumbnails button { min-width:148px; grid-template-columns:58px 1fr; }
  .atlantia-catalog-thumbnails img { width:58px; }
  .atlantia-catalog-arrow { bottom:29px; }
}

/* Aula Virtual: selector directo de las tres plataformas institucionales. */
.virtual-classroom-page { overflow:hidden; background:#edf3ff; }
.virtual-classroom-page .advisor-fab { display:none; }
.virtual-classroom-page .nav-wrap { gap:18px; }
.virtual-classroom-page .nav { gap:14px; font-size:.84rem; }
.virtual-classroom { min-height:calc(100vh - 78px); padding:30px 0 38px; display:grid; align-items:center; background:radial-gradient(circle at 50% 8%,rgba(40,116,255,.18),transparent 32%),linear-gradient(145deg,#f8fbff 0%,#eaf1ff 100%); }
.virtual-classroom-heading { max-width:830px; margin:0 auto 24px; text-align:center; }
.virtual-classroom-heading .eyebrow { margin-bottom:8px; }
.virtual-classroom-heading h1 { font-size:clamp(2.4rem,5vw,4.5rem); }
.virtual-classroom-heading p { margin:10px 0 0; color:var(--muted); font-size:1rem; line-height:1.5; }
.platform-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.platform-card { min-height:445px; padding:22px; position:relative; display:flex; flex-direction:column; align-items:stretch; gap:15px; overflow:hidden; border:1px solid #cedbf1; border-radius:25px; background:white; box-shadow:0 18px 44px rgba(6,31,93,.11); }
.platform-card::before { content:""; height:5px; position:absolute; inset:0 0 auto; background:var(--platform-accent,var(--blue)); }
.platform-status { align-self:flex-start; min-height:30px; padding:6px 9px; display:flex; align-items:center; gap:7px; border:1px solid #d7dfec; border-radius:999px; color:#53627a; background:#f5f7fb; font-size:.72rem; font-weight:800; }
.platform-status span { width:8px; height:8px; border-radius:50%; background:#f0a500; box-shadow:0 0 0 4px rgba(240,165,0,.13); }
.platform-logo { height:128px; padding:15px; display:grid; place-items:center; border:1px solid #e0e7f2; border-radius:18px; background:#fbfcff; }
.platform-logo img { width:auto; height:auto; max-width:100%; max-height:96px; object-fit:contain; }
.platform-copy { text-align:left; }
.platform-card h2 { font-size:1.45rem; letter-spacing:-.02em; }
.platform-card p { margin:7px 0 0; color:var(--muted); font-size:.88rem; line-height:1.5; }
.platform-actions { margin-top:auto; display:grid; gap:8px; }
.platform-actions button,.platform-actions a { width:100%; min-height:44px; padding:10px 13px; display:flex; justify-content:center; align-items:center; gap:8px; border-radius:12px; font-size:.78rem; font-weight:800; }
.platform-actions button { border:0; color:#7b879b; background:#e8edf5; cursor:not-allowed; }
.platform-actions a { border:1px solid #cbd7e9; color:var(--blue); background:white; text-align:center; }
.platform-actions a:hover,.platform-actions a:focus-visible { border-color:var(--blue); background:#f1f6ff; }
.platform-card-moodle { --platform-accent:#f68b1f; }
.platform-card-q10 { --platform-accent:#f18719; }
.platform-card-modulia { --platform-accent:#23bdd8; }
.platform-card-modulia img { max-width:92%; border-radius:0; }
.virtual-access-note { max-width:900px; margin:18px auto 0; padding:14px 17px; display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:center; border:1px solid #cbd8ee; border-radius:17px; background:rgba(255,255,255,.88); box-shadow:0 10px 28px rgba(8,37,97,.07); }
.virtual-access-note > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:white; background:#159756; font-weight:800; }
.virtual-access-note strong { color:var(--navy); font-size:.88rem; }
.virtual-access-note p { margin:4px 0 0; color:var(--muted); font-size:.76rem; line-height:1.45; }
@media (max-width:980px) {
  .virtual-classroom-page { overflow:auto; }
  .virtual-classroom { min-height:calc(100vh - 68px); padding:28px 0 40px; }
  .platform-grid { grid-template-columns:repeat(3,minmax(270px,1fr)); gap:14px; overflow-x:auto; padding:8px 4px 22px; scroll-snap-type:x mandatory; }
  .platform-card { min-height:430px; padding:20px; scroll-snap-align:center; }
}
@media (max-width:700px) {
  .virtual-classroom-heading { margin-bottom:18px; }
  .virtual-classroom-heading h1 { font-size:2.35rem; }
  .virtual-classroom-heading p { font-size:.95rem; }
  .platform-grid { grid-template-columns:1fr; overflow:visible; }
  .platform-card { min-height:410px; padding:18px; }
  .platform-logo { height:118px; }
  .platform-logo img { max-height:86px; }
  .virtual-access-note { grid-template-columns:1fr; }
}

/* Página central de rutas académicas. */
.academic-hub-page { min-width:320px; overflow:hidden; background:#edf3ff; }
.academic-hub-page .advisor-fab { display:none; }
.academic-hub-page .alma-fab { left:auto; right:18px; }
.academic-hub-page .alma-panel { left:auto; right:18px; }
.academic-hub-main { min-height:calc(100vh - 78px); padding:30px 0; display:grid; align-items:center; background:radial-gradient(circle at 88% 5%,rgba(255,190,22,.24),transparent 28%),radial-gradient(circle at 8% 94%,rgba(40,94,226,.16),transparent 30%),#f5f8fe; }
.academic-hub { width:min(1180px,calc(100% - 34px)); }
.academic-hub-heading { margin:0 auto 24px; text-align:center; }
.academic-hub-heading > span { color:var(--blue); font-size:.74rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.academic-hub-heading h1 { margin:6px 0 8px; font-size:clamp(2rem,4vw,3.8rem); line-height:1.02; }
.academic-hub-heading p { margin:0; color:var(--muted); font-size:1rem; }
.academic-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.academic-route-card { min-height:365px; padding:24px; position:relative; display:flex; flex-direction:column; overflow:hidden; border:1px solid #cedaf0; border-radius:25px; color:var(--navy); background:white; box-shadow:0 18px 48px rgba(8,37,97,.1); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.academic-route-card:hover,.academic-route-card:focus-visible { border-color:var(--blue); transform:translateY(-5px); box-shadow:0 24px 55px rgba(8,37,97,.16); }
.academic-route-card::before { content:""; width:150px; height:150px; position:absolute; right:-66px; top:-68px; border-radius:50%; background:var(--route-accent); opacity:.15; }
.academic-route-card.technical { --route-accent:#1e62e6; }.academic-route-card.continuous { --route-accent:#ffbe16; }.academic-route-card.professional { --route-accent:#13a5c4; }
.route-number { position:absolute; right:20px; top:17px; color:#72819f; font-size:.76rem; font-weight:800; letter-spacing:.1em; }
.route-symbol { width:58px; height:58px; margin-bottom:32px; display:grid; place-items:center; border-radius:17px; color:var(--navy); background:var(--route-accent); font-size:1.35rem; font-weight:800; }
.academic-route-card > div:nth-of-type(2) > span { color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.academic-route-card h2 { margin:6px 0 10px; font-size:1.55rem; line-height:1.1; }
.academic-route-card p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.academic-route-card > strong { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #dbe4f2; color:var(--blue); font-size:.82rem; }
.academic-route-card > strong i { color:var(--navy); font-size:1.1rem; font-style:normal; }
.academic-hub-help { margin:17px auto 0; display:flex; justify-content:center; gap:8px; color:var(--muted); font-size:.82rem; }
.academic-hub-help span { color:var(--navy); font-weight:800; }.academic-hub-help p { margin:0; }
.section-option-links { margin-top:22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.section-option-links a { min-width:0; min-height:82px; padding:12px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:center; border:1px solid #cedaf0; border-radius:14px; color:var(--navy); background:white; box-shadow:0 9px 22px rgba(8,37,97,.07); transition:.18s ease; }
.section-option-links a:hover,.section-option-links a:focus-visible { border-color:var(--blue); transform:translateY(-2px); box-shadow:0 13px 28px rgba(8,37,97,.13); }
.section-option-links b { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:var(--navy); background:var(--yellow); font-size:.7rem; }
.section-option-links span,.section-option-links small { min-width:0; display:block; }.section-option-links span { font-size:.78rem; font-weight:800; line-height:1.2; }.section-option-links small { margin-top:3px; color:var(--muted); font-size:.68rem; font-weight:700; }.section-option-links i { color:var(--blue); font-style:normal; }
@media (max-width:980px) {
  .academic-hub-page { overflow-y:auto; overflow-x:hidden; }.academic-hub-main { align-items:start; }.academic-route-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding:5px 3px 20px; }.academic-route-card { min-height:340px; padding:19px; }.academic-route-card h2 { font-size:1.3rem; }
}
@media (max-width:700px) {
  .academic-hub-main { min-height:calc(100vh - 68px); padding:24px 0 90px; }.academic-hub { width:min(100% - 24px,1180px); }.academic-hub-heading { text-align:left; }.academic-hub-heading h1 { font-size:2.25rem; }.academic-hub-heading p { font-size:.92rem; line-height:1.45; }.academic-route-grid { grid-template-columns:1fr; overflow:visible; }.academic-route-card { min-height:310px; padding:21px; }.academic-hub-help { align-items:flex-start; flex-direction:column; }.academic-hub-help p { line-height:1.4; }
  .section-option-links { grid-template-columns:1fr; }.section-option-links a { min-height:68px; }
}

/* Ruta modular: menú persistente, agrupación UCI y estado de matrícula inequívoco. */
.guided-directory-page .directory-stage,
.guided-directory-page .directory-stage.module-open {
  display:grid;
  grid-template-rows:minmax(0,1fr);
  gap:10px;
  overflow:hidden;
}
.guided-directory-page .module-directory-workspace { grid-template-rows:auto minmax(0,1fr); }
.guided-directory-page .module-directory-workspace > .directory-route-menu {
  grid-column:1 / -1;
  grid-row:1;
  padding:10px 14px 0;
}
.guided-directory-page .directory-module-rail { grid-column:1; grid-row:2; }
.guided-directory-page .directory-stage { grid-column:2; grid-row:2; }
.directory-route-menu {
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.directory-route-menu-card {
  width:100%;
  min-width:0;
  min-height:68px;
  margin:0;
  padding:9px 10px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 18px;
  gap:9px;
  align-items:center;
  border:1px solid #cbd8eb;
  border-radius:14px;
  color:var(--navy);
  background:white;
  text-align:left;
  box-shadow:0 6px 18px rgba(8,37,97,.06);
}
a.directory-route-menu-card,
button.directory-route-menu-card { cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
a.directory-route-menu-card:hover,
a.directory-route-menu-card:focus-visible,
button.directory-route-menu-card:hover,
button.directory-route-menu-card:focus-visible {
  border-color:var(--blue);
  box-shadow:0 10px 24px rgba(8,37,97,.13);
  transform:translateY(-1px);
}
.directory-route-menu-card > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:var(--navy);
  background:var(--yellow);
  font-size:.68rem;
  font-weight:800;
}
.directory-route-menu-card small,
.directory-route-menu-card strong,
.directory-route-menu-card em { min-width:0; display:block; }
.directory-route-menu-card small {
  color:var(--blue);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.02em;
}
.directory-route-menu-card strong {
  margin-top:2px;
  overflow:hidden;
  font-size:.79rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.directory-route-menu-card em {
  margin-top:3px;
  overflow:hidden;
  color:#5a6983;
  font-size:.66rem;
  font-style:normal;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.directory-route-menu-card > i { color:var(--blue); font-size:.92rem; font-style:normal; font-weight:800; }
.directory-route-menu-card.recommended { border-color:#a9c3f0; background:linear-gradient(135deg,#f9fbff,#edf4ff); }
.directory-route-menu-card.route-information { box-shadow:inset 4px 0 0 var(--yellow),0 6px 18px rgba(8,37,97,.06); }
.directory-route-menu-card.route-information > i { color:var(--yellow); }
.directory-route-menu-card.disabled { cursor:default; opacity:.72; pointer-events:none; }
.guided-directory-page .stage-enroll.is-disabled,
.guided-directory-page .nav-cta.is-disabled { cursor:not-allowed; opacity:.58; filter:saturate(.35); }
.directory-model-explainer { scroll-margin-top:100px; transition:box-shadow .2s ease; }
.directory-model-explainer.is-emphasized { border-radius:14px; box-shadow:0 0 0 4px rgba(255,190,22,.48),0 12px 30px rgba(8,37,97,.12); }
.guided-directory-page .directory-module-button.entry-now.enrollment-open,
.guided-directory-page .directory-module-button.entry-now.enrollment-open.active {
  color:#0b432c;
  border:2px solid #159756;
  background:linear-gradient(135deg,#edf9f2,#dff5e8);
  box-shadow:inset 5px 0 0 #159756,0 5px 15px rgba(21,151,86,.14);
}
.guided-directory-page .directory-module-button.entry-now.enrollment-open > span,
.guided-directory-page .directory-module-button.entry-now.enrollment-open.active > span { color:white; background:#159756; }
.guided-directory-page .directory-module-button.entry-now.enrollment-open > small,
.guided-directory-page .directory-module-button.entry-now.enrollment-open.active > small { color:#116e42; font-weight:800; }
.guided-directory-page .directory-module-button.entry-now.enrollment-open:focus-visible { outline:3px solid #0b432c; outline-offset:2px; }
.guided-directory-page .directory-source-note strong { color:#116e42; }
.guided-directory-page .directory-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }

@media (max-width:1050px) {
  .directory-route-menu-card { min-height:62px; }
  .guided-directory-page .directory-stage,
  .guided-directory-page .directory-stage.module-open { overflow:auto; }
}

@media (max-width:760px) {
  .directory-route-menu { grid-template-columns:1fr; }
  .guided-directory-page .directory-module-rail {
    padding:12px;
    position:static;
    display:flex;
    flex-direction:column;
  }
  .guided-directory-page .module-directory-workspace > .directory-route-menu {
    margin:0;
    padding:12px 12px 4px;
  }
  .guided-directory-page .directory-module-rail > header { order:0; }
  .guided-directory-page .directory-source-note {
    margin:0 0 5px;
    padding:10px;
    order:1;
    display:block;
    font-size:.82rem;
  }
  .guided-directory-page .directory-source-note strong { display:block; margin-bottom:2px; }
  .guided-directory-page .directory-module-list {
    order:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    overflow:visible;
  }
  .guided-directory-page .directory-block-title {
    min-height:42px;
    padding:8px 10px;
    grid-column:1 / -1;
    display:flex;
    border-radius:11px;
    background:#eaf1ff;
  }
  .guided-directory-page .directory-block-title b { font-size:.82rem; }
  .guided-directory-page .directory-block-title span { font-size:.76rem; }
  .guided-directory-page .directory-module-button {
    min-width:0;
    min-height:84px;
    margin:0;
    grid-template-columns:40px minmax(0,1fr);
  }
  .guided-directory-page .directory-module-button > b { font-size:.88rem; }
  .guided-directory-page .directory-module-button > small { font-size:.76rem; line-height:1.3; }
  .guided-directory-page .directory-stage,
  .guided-directory-page .directory-stage.module-open {
    min-height:0;
    padding:12px 12px 100px;
    display:block;
    overflow:visible;
    scroll-margin-top:76px;
  }
  .directory-route-menu { margin-bottom:10px; }
  .directory-route-menu-card { min-height:72px; }
  .directory-route-menu-card small { font-size:.75rem; }
  .directory-route-menu-card strong { font-size:.92rem; white-space:normal; }
  .directory-route-menu-card em { font-size:.78rem; white-space:normal; }
  .guided-directory-page .directory-facts { grid-template-columns:1fr; }
}

@media (max-width:430px) {
  .guided-directory-page .directory-module-list { grid-template-columns:1fr; }
  .directory-route-menu-card { grid-template-columns:34px minmax(0,1fr) 18px; }
}

@media (prefers-reduced-motion:reduce) {
  .directory-route-menu-card,
  .directory-model-explainer { transition:none; }
}

/* Catálogo modular v16: una sola vista por tarea y circuito circular completo. */
.guided-directory-page .module-directory-workspace {
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
}
.guided-directory-page .module-directory-workspace > .directory-route-menu {
  grid-column:1;
  grid-row:1;
  padding:10px 14px 0;
}
.guided-directory-page .directory-stage,
.guided-directory-page .directory-stage.module-open {
  grid-column:1;
  grid-row:2;
  min-width:0;
  min-height:0;
  padding:10px 14px 14px;
  display:grid;
  grid-template-rows:minmax(0,1fr);
  overflow:auto;
}
.directory-route-menu { grid-template-columns:repeat(4,minmax(0,1fr)); }
.directory-route-menu-card { min-height:72px; padding:10px 12px; }
.directory-route-menu-card small { font-size:.72rem; }
.directory-route-menu-card strong { font-size:.86rem; }
.directory-route-menu-card em { font-size:.72rem; }
.directory-route-menu-card.active {
  color:white;
  border-color:var(--blue);
  background:linear-gradient(135deg,var(--navy),var(--blue));
  box-shadow:0 10px 24px rgba(8,37,97,.19);
}
.directory-route-menu-card.active > span { color:var(--navy); background:var(--yellow); }
.directory-route-menu-card.active small,.directory-route-menu-card.active em { color:#dfe8ff; }
.directory-route-menu-card.active > i { color:var(--yellow); }
.directory-route-menu-card.route-information strong,
.directory-route-menu-card.route-information em { white-space:normal; }

.directory-view {
  width:100%;
  height:100%;
  min-height:0;
  padding:12px;
  display:grid;
  gap:10px;
  overflow:auto;
  border:1px solid #cbd8eb;
  border-radius:22px;
  background:white;
  box-shadow:0 16px 36px rgba(8,37,97,.08);
}
.directory-view[hidden] { display:none !important; }
.directory-modules-view { grid-template-rows:auto minmax(410px,1fr) auto; overflow:hidden; }
.directory-view-head {
  min-width:0;
  min-height:72px;
  padding:8px 10px 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border-bottom:1px solid #e1e8f3;
}
.directory-view-head > div { min-width:0; }
.directory-view-head span { color:var(--blue); font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.directory-view-head h2 { margin:3px 0; color:var(--navy); font-size:clamp(1.35rem,2.2vw,2rem); line-height:1.08; }
.directory-view-head p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.4; }
.directory-view-back {
  min-height:44px;
  padding:9px 13px;
  flex:none;
  border:1px solid #b8c9e7;
  border-radius:12px;
  color:var(--blue);
  background:white;
  font-size:.8rem;
  font-weight:800;
}

.directory-orbit {
  min-width:0;
  min-height:410px;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:radial-gradient(circle at center,rgba(255,190,22,.17) 0 15%,transparent 16%),linear-gradient(145deg,#f9fbff,#edf4ff);
}
.directory-orbit::before {
  content:"";
  position:absolute;
  inset:8%;
  border:2px dashed #95ade0;
  border-radius:50%;
  box-shadow:0 0 0 10px rgba(34,80,190,.035);
}
.directory-orbit::after {
  content:"RECORRIDO CIRCULAR";
  position:absolute;
  left:50%;
  bottom:5.5%;
  padding:3px 9px;
  border-radius:999px;
  color:#5e75a3;
  background:#edf4ff;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.08em;
  transform:translateX(-50%);
}
.directory-orbit-core {
  width:min(29%,300px);
  min-width:238px;
  min-height:156px;
  padding:20px;
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:1px solid #b9cbee;
  border-radius:28px;
  color:white;
  background:linear-gradient(145deg,#061a4f,#1245bb);
  text-align:center;
  box-shadow:0 18px 40px rgba(8,37,97,.18);
  transform:translate(-50%,-50%);
}
.directory-orbit-core > span { color:var(--yellow); font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.directory-orbit-core > strong { margin-top:5px; color:white; font-size:clamp(1.35rem,2.3vw,2.15rem); line-height:1; }
.directory-orbit-core > p { max-width:245px; margin:8px 0 0; color:#dce7ff; font-size:.8rem; line-height:1.35; }
.directory-orbit-core > small { margin-top:10px; padding:5px 8px; border-radius:999px; color:#dff8e9; background:rgba(34,182,104,.2); font-size:.68rem; }
.directory-orbit-core > small b { color:#7df0ae; }
.guided-directory-page .directory-orbit-list {
  width:100%;
  height:100%;
  min-height:0;
  padding:0;
  position:absolute;
  inset:0;
  z-index:3;
  display:block;
  overflow:visible;
}
.guided-directory-page .directory-orbit-list .directory-module-button {
  width:clamp(118px,12vw,158px);
  min-width:0;
  min-height:60px;
  margin:0;
  padding:7px 8px;
  position:absolute;
  left:var(--orbit-left);
  top:var(--orbit-top);
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:2px 7px;
  border:1px solid #cbd8eb;
  border-radius:13px;
  color:var(--navy);
  background:rgba(255,255,255,.97);
  text-align:left;
  box-shadow:0 7px 18px rgba(8,37,97,.1);
  transform:translate(-50%,-50%);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.guided-directory-page .directory-orbit-list .directory-module-button:hover,
.guided-directory-page .directory-orbit-list .directory-module-button:focus-visible {
  z-index:5;
  border-color:var(--blue);
  box-shadow:0 12px 24px rgba(8,37,97,.18);
  transform:translate(-50%,-50%) scale(1.04);
}
.guided-directory-page .directory-orbit-list .directory-module-button > span {
  grid-row:1 / 3;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--blue);
  background:#e5edff;
  font-size:.72rem;
  font-weight:800;
}
.guided-directory-page .directory-orbit-list .directory-module-button > b {
  min-width:0;
  overflow:hidden;
  color:inherit;
  font-size:.7rem;
  line-height:1.18;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.guided-directory-page .directory-orbit-list .directory-module-button > small {
  min-width:0;
  overflow:hidden;
  color:#61708a;
  font-size:.58rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.guided-directory-page .directory-orbit-list .directory-module-button.route-active {
  color:#093c29;
  border:2px solid #159756;
  background:linear-gradient(135deg,#f3fff8,#dff7e9);
  box-shadow:0 9px 22px rgba(21,151,86,.22),0 0 0 4px rgba(21,151,86,.09);
}
.guided-directory-page .directory-orbit-list .directory-module-button.route-active > span { color:white; background:#159756; }
.guided-directory-page .directory-orbit-list .directory-module-button.route-active > small { color:#117247; font-weight:800; }
.guided-directory-page .directory-orbit-list .directory-module-button.virtual-open > small { color:var(--blue); }
.directory-modules-view > .directory-source-note {
  padding:9px 12px;
  color:#4f607c;
  background:#f1f5fc;
  font-size:.78rem;
  text-align:center;
}
.directory-modules-view > .directory-source-note strong { color:var(--blue); }

.directory-recommendations-view { grid-template-rows:auto auto minmax(0,1fr); }
.directory-recommendation-intro {
  padding:13px 15px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-radius:14px;
  color:white;
  background:linear-gradient(120deg,#071c57,#174fd0);
}
.directory-recommendation-intro strong { font-size:1rem; }
.directory-recommendation-intro p { max-width:620px; margin:0; color:#dbe6ff; font-size:.78rem; line-height:1.4; }
.directory-recommendations-view .directory-ranked-routes {
  min-height:0;
  padding:4px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-content:start;
  overflow:auto;
  border:0;
  border-radius:0;
  background:transparent;
}
.directory-recommendations-view .directory-ranked-routes a {
  min-height:112px;
  padding:15px;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  border-radius:15px;
  background:#f7faff;
}
.directory-recommendations-view .directory-ranked-routes a > b { width:42px; height:42px; font-size:.78rem; }
.directory-recommendations-view .directory-ranked-routes strong { padding-right:105px; font-size:.92rem; }
.directory-recommendations-view .directory-ranked-routes small { font-size:.76rem; line-height:1.4; }
.directory-recommendations-view .directory-ranked-routes em { top:15px; right:14px; font-size:.74rem; }

.directory-model-view { grid-template-rows:auto auto auto auto; align-content:start; }
.directory-model-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.directory-model-steps article {
  min-height:150px;
  padding:18px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:13px;
  border:1px solid #cedaee;
  border-radius:17px;
  background:#f8faff;
}
.directory-model-steps article > b { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:var(--navy); background:var(--yellow); font-size:.82rem; }
.directory-model-steps span { color:var(--navy); font-size:1rem; font-weight:800; }
.directory-model-steps p { margin:7px 0 0; color:var(--muted); font-size:.84rem; line-height:1.5; }
.directory-credential-path { padding:14px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:12px; align-items:center; border-radius:18px; background:linear-gradient(135deg,#071c57,#164ac7); }
.directory-credential-path article { min-height:104px; padding:14px; border:1px solid rgba(255,255,255,.15); border-radius:14px; background:rgba(255,255,255,.08); }
.directory-credential-path span,.directory-credential-path strong { display:block; }
.directory-credential-path span { color:var(--yellow); font-size:.74rem; font-weight:800; text-transform:uppercase; }
.directory-credential-path strong { margin-top:5px; color:white; font-size:.96rem; }
.directory-credential-path p { margin:5px 0 0; color:#dce7ff; font-size:.75rem; line-height:1.4; }
.directory-credential-path > i { color:var(--yellow); font-size:1.2rem; font-style:normal; }
.directory-circular-examples { padding:15px; border:1px solid #d1dcee; border-radius:16px; background:white; }
.directory-circular-examples > strong { color:var(--navy); font-size:.92rem; }
.directory-circular-examples > div { margin-top:10px; display:grid; grid-template-columns:repeat(9,auto); gap:7px; align-items:center; }
.directory-circular-examples span { min-height:54px; padding:8px 12px; display:grid; place-items:center; border-radius:12px; color:var(--navy); background:#eaf1ff; font-size:.82rem; font-weight:800; }
.directory-circular-examples span:nth-of-type(odd) { box-shadow:inset 0 -4px 0 var(--yellow); }
.directory-circular-examples span i { display:block; color:var(--muted); font-size:.63rem; font-style:normal; font-weight:800; }
.directory-circular-examples b { color:var(--blue); text-align:center; }

@media (max-width:1120px) {
  .directory-route-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-modules-view { overflow:auto; }
  .directory-orbit { min-height:540px; }
  .guided-directory-page .directory-orbit-list .directory-module-button { width:clamp(112px,14vw,145px); }
}

@media (max-width:760px) {
  .guided-directory-page .module-directory-workspace > .directory-route-menu { padding:12px 12px 4px; }
  .directory-route-menu { grid-template-columns:1fr; }
  .guided-directory-page .directory-stage,
  .guided-directory-page .directory-stage.module-open { min-height:0; padding:8px 12px 100px; overflow:visible; }
  .directory-view { height:auto; padding:10px; overflow:visible; border-radius:18px; }
  .directory-view-head { align-items:flex-start; flex-direction:column; }
  .directory-view-head p { font-size:.88rem; }
  .directory-view-head .stage-enroll,.directory-view-back { width:100%; justify-content:center; text-align:center; }
  .directory-modules-view { grid-template-rows:auto auto auto; }
  .directory-orbit { min-height:0; padding:170px 8px 44px; overflow:visible; }
  .directory-orbit::before { inset:155px 24px 28px; border-radius:80px; }
  .directory-orbit::after { bottom:14px; }
  .directory-orbit-core { width:calc(100% - 32px); min-width:0; min-height:132px; top:16px; transform:translateX(-50%); }
  .guided-directory-page .directory-orbit-list {
    width:100%;
    height:auto;
    position:relative;
    inset:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .guided-directory-page .directory-orbit-list .directory-module-button,
  .guided-directory-page .directory-orbit-list .directory-module-button:hover,
  .guided-directory-page .directory-orbit-list .directory-module-button:focus-visible {
    width:100%;
    min-height:82px;
    position:static;
    transform:none;
  }
  .guided-directory-page .directory-orbit-list .directory-module-button > b { font-size:.78rem; }
  .guided-directory-page .directory-orbit-list .directory-module-button > small { font-size:.66rem; white-space:normal; }
  .directory-modules-view > .directory-source-note { display:block; font-size:.78rem; }
  .directory-recommendation-intro { align-items:flex-start; flex-direction:column; gap:6px; }
  .directory-recommendations-view .directory-ranked-routes { grid-template-columns:1fr; overflow:visible; }
  .directory-model-steps { grid-template-columns:1fr; }
  .directory-credential-path { grid-template-columns:1fr; }
  .directory-credential-path > i { transform:rotate(90deg); text-align:center; }
  .directory-circular-examples > div { grid-template-columns:1fr auto 1fr; }
}

@media (max-width:430px) {
  .guided-directory-page .directory-orbit-list { grid-template-columns:1fr 1fr; }
  .guided-directory-page .directory-orbit-list .directory-module-button { grid-template-columns:34px minmax(0,1fr); padding:7px; }
  .guided-directory-page .directory-orbit-list .directory-module-button > span { width:34px; height:34px; }
  .guided-directory-page .directory-orbit-list .directory-module-button > b { font-size:.72rem; }
  .directory-recommendations-view .directory-ranked-routes strong { padding-right:82px; }
}

/* Ajuste de lectura para monitores: más espacio útil y nombres completos. */
@media (min-width:1121px) {
  .module-directory-shell { grid-template-rows:106px minmax(0,1fr); }
  .directory-heading { padding:10px 0; }
  .directory-heading-grid { height:86px; }
  .directory-heading h1 {
    max-width:none;
    overflow:hidden;
    font-size:clamp(1.7rem,2.25vw,2.15rem);
    line-height:1.05;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .directory-route-menu-card.route-information strong {
    overflow:visible;
    line-height:1.15;
    text-overflow:clip;
    white-space:normal;
  }
  .directory-route-menu-card.route-information em {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .directory-route-menu-card { min-height:74px; }
  .directory-modules-view { grid-template-rows:auto minmax(455px,1fr); }
  .directory-modules-view > .directory-source-note { display:none; }
  .directory-view-head { min-height:66px; padding-top:5px; padding-bottom:8px; }
  .directory-orbit { min-height:455px; }
  .directory-orbit::before { inset:7.5%; }
  .directory-orbit::after { display:none; }
  .guided-directory-page .directory-orbit-list .directory-module-button {
    width:clamp(155px,13vw,184px);
    min-height:76px;
    padding:8px 9px;
    grid-template-columns:34px minmax(0,1fr);
    grid-template-rows:32px auto;
  }
  .guided-directory-page .directory-orbit-list .directory-module-button > span {
    width:32px;
    height:32px;
    grid-column:1;
    grid-row:1;
    font-size:.72rem;
  }
  .guided-directory-page .directory-orbit-list .directory-module-button > b {
    grid-column:1 / -1;
    grid-row:2;
    font-size:.73rem;
    line-height:1.18;
  }
  .guided-directory-page .directory-orbit-list .directory-module-button > small {
    grid-column:2;
    grid-row:1;
    font-size:.62rem;
    white-space:normal;
  }
  .directory-orbit[data-count="20"] { min-height:500px; }
  .directory-orbit[data-count="20"] .directory-module-button {
    width:clamp(140px,11.8vw,166px);
    min-height:70px;
    grid-template-columns:31px minmax(0,1fr);
    grid-template-rows:29px auto;
  }
  .directory-orbit[data-count="20"] .directory-module-button > span { width:29px; height:29px; }
  .directory-orbit[data-count="20"] .directory-module-button > b { font-size:.7rem; }
}

@media (min-width:1121px) and (max-height:820px) {
  .module-directory-shell { grid-template-rows:96px minmax(0,1fr); }
  .directory-heading { padding:7px 0; }
  .directory-heading-grid { height:82px; }
  .directory-heading h1 { font-size:clamp(1.55rem,2vw,1.9rem); }
  .guided-directory-page .module-directory-workspace > .directory-route-menu { padding-top:7px; }
  .directory-route-menu-card { min-height:66px; padding-top:7px; padding-bottom:7px; }
  .guided-directory-page .directory-stage,
  .guided-directory-page .directory-stage.module-open { padding-top:7px; padding-bottom:8px; }
  .directory-view { padding:9px 12px; }
  .directory-view-head { min-height:58px; padding-top:3px; padding-bottom:6px; }
  .directory-view-head h2 { font-size:1.65rem; }
  .directory-view-head p { font-size:.8rem; }
  .directory-modules-view { grid-template-rows:auto minmax(385px,1fr); }
  .directory-orbit[data-count="16"] { min-height:385px; }
  .directory-orbit[data-count="16"] .directory-module-button {
    min-height:62px;
    padding:6px 8px;
    grid-template-rows:26px auto;
  }
  .directory-orbit[data-count="16"] .directory-module-button > span { width:26px; height:26px; font-size:.65rem; }
  .directory-orbit[data-count="16"] .directory-module-button > b { font-size:.67rem; }
  .directory-orbit[data-count="16"] .directory-module-button > small { font-size:.56rem; }
  .directory-orbit[data-count="16"] .directory-orbit-core { min-height:140px; padding:15px; }
  .directory-orbit[data-count="16"] .directory-orbit-core > strong { font-size:1.8rem; }
  .directory-orbit[data-count="16"] .directory-orbit-core > p { font-size:.72rem; }
  .directory-orbit[data-count="20"] { min-height:385px; }
  .directory-orbit[data-count="20"] .directory-module-button {
    width:clamp(132px,11vw,150px);
    min-height:50px;
    padding:5px 7px;
    grid-template-columns:27px minmax(0,1fr);
    grid-template-rows:auto;
  }
  .directory-orbit[data-count="20"] .directory-module-button > span {
    width:25px;
    height:25px;
    grid-column:1;
    grid-row:1;
    font-size:.58rem;
  }
  .directory-orbit[data-count="20"] .directory-module-button > b {
    grid-column:2;
    grid-row:1;
    font-size:.63rem;
    line-height:1.14;
  }
  .directory-orbit[data-count="20"] .directory-module-button > small { display:none; }
}

/* Profesionalízate: recorrido progresivo por universidad, nivel y oferta. */
.professional-choice-shell,
.professional-category-shell,
.professional-offer-shell { width:min(1180px,calc(100% - 34px)); }
.professional-choice-shell { display:grid; gap:24px; }
.professional-choice-heading { max-width:850px; margin:0 auto; text-align:center; }
.professional-step { margin-bottom:11px; display:inline-flex; align-items:center; gap:8px; color:var(--blue); font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.professional-step b { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; color:var(--navy); background:var(--yellow); font-size:.86rem; }
.professional-choice-heading h1,
.professional-category-heading h1,
.professional-offer-heading h1 { color:var(--navy); line-height:1.04; }
.professional-choice-heading h1 { max-width:790px; margin:8px auto 12px; font-size:clamp(2.25rem,4vw,4rem); }
.professional-choice-heading p,
.professional-category-heading p,
.professional-offer-heading p { margin:0; color:var(--muted); font-size:1rem; line-height:1.55; }
.professional-university-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.professional-university-card { min-width:0; min-height:248px; padding:18px; display:grid; grid-template-rows:1fr auto; gap:16px; overflow:hidden; border:1px solid #cedaf0; border-radius:24px; color:var(--navy); background:white; box-shadow:0 18px 45px rgba(8,37,97,.09); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.professional-university-card:hover,
.professional-university-card:focus-visible { border-color:var(--blue); transform:translateY(-5px); box-shadow:0 25px 55px rgba(8,37,97,.16); }
.professional-logo-frame { min-height:158px; padding:22px; display:grid; place-items:center; border-radius:17px; background:linear-gradient(145deg,#f8fbff,#eef4ff); }
.professional-logo-frame img { width:100%; max-width:270px; max-height:105px; object-fit:contain; }
.professional-card-action { min-width:0; padding:0 4px; display:flex; justify-content:space-between; align-items:end; gap:14px; }
.professional-card-action strong { font-size:1rem; line-height:1.2; }
.professional-card-action b { flex:none; color:var(--blue); font-size:.82rem; }
.professional-card-action i { margin-left:7px; color:var(--navy); font-style:normal; }
.professional-recognition-note { max-width:950px; margin:0 auto; padding:14px 18px; display:grid; grid-template-columns:auto 1fr; gap:13px; border-left:5px solid var(--yellow); border-radius:15px; color:#dfe9ff; background:linear-gradient(120deg,var(--navy),#123ba1); }
.professional-recognition-note strong { color:white; }.professional-recognition-note span { font-size:.85rem; line-height:1.5; }

.professional-category-shell,
.professional-offer-shell { padding:24px; border:1px solid #cedaf0; border-radius:28px; background:white; box-shadow:0 22px 55px rgba(8,37,97,.11); }
.professional-back { display:inline-flex; margin-bottom:18px; color:var(--blue); font-size:.82rem; font-weight:800; }
.professional-category-heading,
.professional-offer-heading { display:grid; grid-template-columns:minmax(230px,.38fr) minmax(0,1fr); gap:28px; align-items:center; }
.professional-selected-logo { min-height:154px; padding:25px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(145deg,#f8fbff,#edf3ff); }
.professional-selected-logo img { width:100%; max-width:280px; max-height:110px; object-fit:contain; }
.professional-category-heading h1,
.professional-offer-heading h1 { margin:7px 0 10px; font-size:clamp(2rem,3.2vw,3.3rem); }
.professional-category-grid { margin-top:24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.professional-category-grid a { min-height:185px; padding:19px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; grid-template-rows:auto 1fr; gap:10px 13px; border:1px solid #d7e1f0; border-radius:20px; color:var(--navy); background:#f9fbff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.professional-category-grid a:hover,
.professional-category-grid a:focus-visible { border-color:var(--blue); transform:translateY(-4px); box-shadow:0 18px 35px rgba(8,37,97,.12); }
.professional-category-grid a > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--navy); background:var(--yellow); font-size:.8rem; font-weight:800; }
.professional-category-grid a > div { align-self:center; }.professional-category-grid strong,.professional-category-grid small { display:block; }
.professional-category-grid strong { font-size:1.3rem; }.professional-category-grid small { margin-top:7px; color:var(--muted); font-size:.86rem; line-height:1.45; }
.professional-category-grid a > b { align-self:center; color:var(--blue); font-size:1.2rem; }
.professional-policy { max-width:900px; margin:18px auto 0; color:var(--muted); font-size:.82rem; line-height:1.5; text-align:center; }

.professional-offer-main { align-items:start; }
.professional-offer-heading { align-items:center; }
.professional-route-list { margin-top:23px; display:grid; gap:10px; }
.professional-route-card { min-width:0; padding:13px; display:flex; align-items:stretch; gap:10px; border:1px solid #d7e1f0; border-radius:18px; background:#f9fbff; }
.professional-route-number { width:38px; min-height:62px; flex:none; display:grid; place-items:center; border-radius:12px; color:var(--navy); background:var(--yellow); font-size:.78rem; font-weight:800; }
.professional-route-card > i { flex:none; align-self:center; color:var(--blue); font-size:1.05rem; font-style:normal; font-weight:800; }
.professional-route-stage { min-width:0; flex:1; padding:10px 12px; display:flex; flex-direction:column; justify-content:center; border-radius:12px; background:#edf3ff; }
.professional-route-stage.technical { background:#e8f8ee; }.professional-route-stage.result { background:#eaf0ff; }.professional-route-stage.pending { background:#fff5d5; }
.professional-route-stage small,.professional-route-stage strong { display:block; }
.professional-route-stage small { margin-bottom:4px; color:var(--blue); font-size:.69rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.professional-route-stage.technical small { color:#14783b; }.professional-route-stage.pending small { color:#8a6200; }
.professional-route-stage strong { color:var(--navy); font-size:.86rem; line-height:1.35; }
.professional-offer-notice { min-height:260px; margin-top:24px; padding:36px; display:grid; grid-template-columns:74px minmax(0,1fr); gap:20px; align-items:center; border:1px solid #d7e1f0; border-radius:22px; background:linear-gradient(145deg,#f8fbff,#edf3ff); }
.professional-offer-notice[hidden] { display:none; }
.professional-offer-notice > span { width:74px; height:74px; display:grid; place-items:center; border-radius:22px; color:var(--navy); background:var(--yellow); font-size:1.15rem; font-weight:800; }
.professional-offer-notice strong { display:block; color:var(--navy); font-size:1.35rem; }.professional-offer-notice p { max-width:720px; margin:8px 0 0; color:var(--muted); font-size:.95rem; line-height:1.55; }
.professional-offer-footer { margin-top:18px; padding-top:16px; display:flex; justify-content:space-between; align-items:center; gap:22px; border-top:1px solid #d9e2f1; }
.professional-offer-footer p { max-width:720px; margin:0; color:var(--muted); font-size:.8rem; line-height:1.5; }.professional-offer-footer p strong { color:var(--navy); }
.professional-offer-footer a { min-height:46px; padding:12px 16px; display:flex; align-items:center; gap:18px; flex:none; border-radius:13px; color:white; background:linear-gradient(110deg,var(--navy),var(--blue)); font-size:.82rem; font-weight:800; }
.professional-offer-footer a span { color:var(--yellow); }

@media (max-width:900px) {
  .professional-main { align-items:start; }
  .professional-university-grid { grid-template-columns:1fr; max-width:680px; width:100%; margin:0 auto; }
  .professional-university-card { min-height:205px; }
  .professional-category-heading,.professional-offer-heading { grid-template-columns:1fr; gap:18px; }
  .professional-selected-logo { min-height:126px; }
  .professional-category-grid { grid-template-columns:1fr; }
  .professional-category-grid a { min-height:135px; }
  .professional-route-card { align-items:stretch; flex-direction:column; }
  .professional-route-number { width:100%; min-height:34px; }
  .professional-route-card > i { transform:rotate(90deg); }
}
@media (max-width:700px) {
  .professional-choice-shell,.professional-category-shell,.professional-offer-shell { width:min(100% - 24px,1180px); }
  .professional-choice-heading { text-align:left; }
  .professional-choice-heading h1 { font-size:2.25rem; }
  .professional-university-card { min-height:185px; padding:14px; border-radius:19px; }
  .professional-logo-frame { min-height:115px; padding:17px; }
  .professional-card-action { align-items:flex-start; flex-direction:column; gap:5px; }
  .professional-recognition-note { grid-template-columns:1fr; gap:5px; }
  .professional-category-shell,.professional-offer-shell { padding:16px; border-radius:21px; }
  .professional-category-heading h1,.professional-offer-heading h1 { font-size:2rem; }
  .professional-category-grid a { min-height:145px; grid-template-columns:40px minmax(0,1fr) auto; padding:15px; }
  .professional-offer-notice { min-height:230px; padding:22px; grid-template-columns:1fr; }
  .professional-offer-footer { align-items:stretch; flex-direction:column; }.professional-offer-footer a { justify-content:space-between; }
}

/* Educación continua: recorrido de catálogo para personas y empresas. */
.continuous-catalog-page { min-width:320px; overflow:auto; background:#edf3ff; }
.continuous-catalog-page [data-continuous-view][hidden] { display:none !important; }
.continuous-catalog-main { min-height:calc(100vh - 78px); }
.continuous-entry { min-height:calc(100vh - 78px); padding:32px 0; display:grid; align-items:center; background:radial-gradient(circle at 88% 8%,rgba(255,190,22,.24),transparent 29%),radial-gradient(circle at 8% 92%,rgba(31,102,232,.16),transparent 30%),#f4f7fd; }
.continuous-entry-inner { width:min(1180px,calc(100% - 36px)); }
.continuous-entry-heading { max-width:780px; margin:0 auto 25px; text-align:center; }
.continuous-entry-heading h1 { margin:7px 0 8px; font-size:clamp(2.2rem,4.5vw,4.5rem); line-height:1; }
.continuous-entry-heading p { margin:0; color:var(--muted); font-size:1rem; }
.continuous-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.continuous-door { min-height:420px; padding:30px; position:relative; display:flex; flex-direction:column; overflow:hidden; border:1px solid #cbd8ee; border-radius:30px; color:var(--navy); background:white; text-align:left; box-shadow:0 22px 58px rgba(8,37,97,.12); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.continuous-door::after { content:""; width:230px; height:230px; position:absolute; right:-100px; bottom:-112px; border:36px solid var(--door-accent); border-radius:50%; opacity:.13; }
.continuous-door.people { --door-accent:var(--blue); }
.continuous-door.business { --door-accent:var(--yellow); color:white; border-color:#244fc1; background:linear-gradient(140deg,var(--navy),var(--blue)); }
.continuous-door:hover,.continuous-door:focus-visible { border-color:var(--blue); transform:translateY(-5px); box-shadow:0 28px 65px rgba(8,37,97,.18); }
.continuous-door > span { width:52px; height:52px; display:grid; place-items:center; border-radius:15px; color:var(--navy); background:var(--yellow); font-weight:800; }
.continuous-door > div { margin:auto 0; position:relative; z-index:1; }
.continuous-door small { color:var(--blue); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.continuous-door.business small { color:var(--yellow); }
.continuous-door h2 { max-width:520px; margin:8px 0 12px; color:inherit; font-size:clamp(2rem,3.3vw,3.35rem); line-height:1.02; }
.continuous-door p { max-width:520px; margin:0; color:var(--muted); font-size:1rem; line-height:1.55; }
.continuous-door.business p { color:#dfe8ff; }
.continuous-door > strong { padding-top:18px; position:relative; z-index:1; display:flex; justify-content:space-between; border-top:1px solid #dbe4f3; color:var(--blue); font-size:.9rem; }
.continuous-door.business > strong { color:var(--yellow); border-color:rgba(255,255,255,.2); }
.continuous-door i { font-size:1.2rem; font-style:normal; }

.continuous-toolbar { min-height:50px; padding:7px max(18px,calc((100vw - 1180px)/2)); position:sticky; top:78px; z-index:18; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; border-bottom:1px solid #cad7ec; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.continuous-toolbar button { min-height:36px; padding:7px 11px; border:1px solid #c8d5e8; border-radius:10px; color:var(--blue); background:white; font-size:.76rem; font-weight:800; }
.continuous-toolbar span { color:var(--muted); font-size:.76rem; }
.continuous-toolbar a { color:var(--blue); font-size:.76rem; font-weight:800; }
.continuous-program-catalog,.continuous-module-catalog { min-height:calc(100vh - 78px); background:radial-gradient(circle at 86% 4%,rgba(255,190,22,.2),transparent 25%),#edf3ff; }
.continuous-programs-inner,.continuous-modules-inner { width:min(1180px,calc(100% - 36px)); padding:28px 0 70px; }
.continuous-catalog-heading,.continuous-module-heading { margin-bottom:17px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr); gap:35px; align-items:end; }
.continuous-catalog-heading h1,.continuous-module-heading h1 { margin-top:6px; font-size:clamp(2rem,3.5vw,3.55rem); line-height:1.03; }
.continuous-catalog-heading p,.continuous-module-heading p { margin:0; color:var(--muted); font-size:.96rem; line-height:1.55; }
.continuous-feature-row { display:flex; flex-wrap:wrap; gap:8px; }
.continuous-programs-inner > .continuous-feature-row { margin-bottom:22px; }
.continuous-feature-row span { padding:8px 11px; border:1px solid #c8d6ec; border-radius:999px; color:var(--blue); background:white; font-size:.78rem; font-weight:800; }
.continuous-program-list { display:grid; gap:15px; }
.continuous-area-group { padding:16px; border:1px solid #cbd8ec; border-radius:23px; background:rgba(255,255,255,.9); box-shadow:0 12px 32px rgba(8,37,97,.07); }
.continuous-area-group > header { margin-bottom:13px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center; }
.continuous-area-group > header > span { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:var(--navy); background:var(--yellow); font-size:.75rem; font-weight:800; }
.continuous-area-group header small { color:var(--blue); font-size:.73rem; font-weight:800; }
.continuous-area-group header h2 { margin-top:3px; font-size:1.15rem; }
.continuous-area-group header > b { color:var(--muted); font-size:.75rem; }
.continuous-area-group > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.continuous-program-card { min-height:128px; padding:13px; display:grid; grid-template-columns:42px minmax(0,1fr) 18px; gap:11px; align-items:center; border:1px solid #d4deef; border-radius:16px; color:var(--navy); background:#f8faff; text-align:left; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.continuous-program-card:hover,.continuous-program-card:focus-visible { border-color:var(--blue); transform:translateY(-2px); box-shadow:0 11px 25px rgba(18,56,184,.12); }
.continuous-program-card > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:white; background:var(--blue); font-size:.76rem; font-weight:800; }
.continuous-program-card small,.continuous-program-card strong,.continuous-program-card em { display:block; }
.continuous-program-card small { color:var(--blue); font-size:.68rem; font-weight:800; }
.continuous-program-card strong { margin-top:4px; font-size:.9rem; line-height:1.24; }
.continuous-program-card em { margin-top:7px; color:var(--muted); font-size:.72rem; font-style:normal; }
.continuous-program-card > i { color:var(--blue); font-style:normal; font-weight:800; }

.continuous-module-heading { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.continuous-availability { min-width:185px; padding:15px 18px; display:grid; grid-template-columns:auto 1fr; gap:0 10px; align-items:center; border-radius:17px; color:white; background:linear-gradient(135deg,var(--navy),var(--blue)); }
.continuous-availability b { grid-row:1 / 3; color:var(--yellow); font-size:2.3rem; }
.continuous-availability span,.continuous-availability small { display:block; }
.continuous-availability span { font-size:.76rem; font-weight:800; }
.continuous-availability small { color:#dbe6ff; font-size:.68rem; }
.continuous-module-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.continuous-module-card { min-height:350px; padding:18px; display:flex; flex-direction:column; border:1px solid #ccd9ed; border-radius:20px; background:white; box-shadow:0 12px 30px rgba(8,37,97,.08); }
.continuous-module-card > header { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.continuous-module-card > header span { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:white; background:#159756; font-size:.76rem; font-weight:800; }
.continuous-module-card > header small { color:#117143; font-size:.72rem; font-weight:800; }
.continuous-module-card h2 { margin:15px 0; font-size:1.08rem; line-height:1.28; }
.continuous-module-card dl { margin:0; display:grid; gap:7px; }
.continuous-module-card dl > div { display:grid; grid-template-columns:84px minmax(0,1fr); gap:8px; }
.continuous-module-card dt { color:var(--muted); font-size:.73rem; }
.continuous-module-card dd { margin:0; color:var(--navy); font-size:.76rem; font-weight:800; line-height:1.35; }
.continuous-module-card > p { margin:15px 0; color:var(--muted); font-size:.76rem; line-height:1.48; }
.continuous-module-card > .btn { width:100%; margin-top:auto; justify-content:center; }

.continuous-company { min-height:calc(100vh - 78px); background:radial-gradient(circle at 88% 8%,rgba(255,190,22,.18),transparent 28%),#edf3ff; }
.continuous-company-inner { width:min(1120px,calc(100% - 36px)); min-height:calc(100vh - 128px); padding:26px 0 55px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr); gap:18px; align-items:stretch; }
.continuous-company-story { padding:34px; display:flex; flex-direction:column; justify-content:center; border-radius:26px; color:white; background:linear-gradient(135deg,#092460,#0d7286); }
.continuous-company-story .eyebrow { color:var(--yellow); }
.continuous-company-story h1 { margin:8px 0 12px; color:white; font-size:clamp(2.3rem,4vw,4rem); line-height:1; }
.continuous-company-story > p { margin:0; color:#dce8ef; font-size:.98rem; line-height:1.55; }
.continuous-company-story .continuous-feature-row span { color:white; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.08); }
.continuous-company-price { margin:22px 0; padding:18px; border-radius:18px; color:var(--navy); background:var(--yellow); }
.continuous-company-price small,.continuous-company-price strong,.continuous-company-price span,.continuous-company-price em { display:block; }
.continuous-company-price small { font-size:.72rem; font-weight:800; text-transform:uppercase; }
.continuous-company-price strong { margin:2px 0; font-size:2.7rem; }
.continuous-company-price span { font-weight:800; }
.continuous-company-price em { margin-top:5px; font-size:.72rem; font-style:normal; }
.continuous-company-plan { padding:30px; display:flex; flex-direction:column; border:1px solid #ccd9ed; border-radius:26px; background:white; box-shadow:0 18px 44px rgba(8,37,97,.1); }
.continuous-company-plan header small { color:var(--blue); font-size:.74rem; font-weight:800; text-transform:uppercase; }
.continuous-company-plan h2 { margin-top:5px; font-size:2rem; }
.continuous-company-plan ol { margin:19px 0; padding:0; list-style:none; }
.continuous-company-plan li { padding:14px 0; display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; border-top:1px solid var(--line); }
.continuous-company-plan li > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--navy); background:var(--yellow); font-weight:800; }
.continuous-company-plan li b { font-size:.88rem; }
.continuous-company-plan li p { margin:4px 0 0; color:var(--muted); font-size:.78rem; }
.continuous-company-plan > p { margin:0 0 18px; padding:13px; border-radius:13px; color:var(--muted); background:#eef3fb; font-size:.78rem; line-height:1.5; }
.continuous-company-plan > p b { color:var(--navy); }
.continuous-company-plan > .btn { width:100%; margin-top:auto; justify-content:center; }

@media (max-width:980px) {
  .continuous-entry-grid { grid-template-columns:1fr; }
  .continuous-door { min-height:320px; }
  .continuous-area-group > div,.continuous-module-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .continuous-catalog-heading { grid-template-columns:1fr; gap:12px; }
  .continuous-company-inner { min-height:0; grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .continuous-catalog-main { min-height:calc(100vh - 68px); }
  .continuous-entry { min-height:calc(100vh - 68px); padding:22px 0 82px; align-items:start; }
  .continuous-entry-inner,.continuous-programs-inner,.continuous-modules-inner,.continuous-company-inner { width:min(100% - 24px,1180px); }
  .continuous-entry-heading { margin-bottom:17px; text-align:left; }
  .continuous-entry-heading h1 { font-size:2.35rem; }
  .continuous-entry-heading p { font-size:.92rem; }
  .continuous-door { min-height:290px; padding:21px; border-radius:22px; }
  .continuous-door h2 { font-size:2rem; }
  .continuous-door p { font-size:.9rem; }
  .continuous-toolbar { min-height:48px; top:68px; padding:6px 12px; grid-template-columns:1fr auto; }
  .continuous-toolbar span { display:none; }
  .continuous-toolbar button,.continuous-toolbar a { font-size:.72rem; }
  .continuous-programs-inner,.continuous-modules-inner { padding-top:22px; }
  .continuous-catalog-heading h1,.continuous-module-heading h1 { font-size:2.15rem; }
  .continuous-catalog-heading p,.continuous-module-heading p { font-size:.9rem; }
  .continuous-area-group { padding:12px; border-radius:18px; }
  .continuous-area-group > header { grid-template-columns:42px minmax(0,1fr); }
  .continuous-area-group > header > span { width:42px; height:42px; }
  .continuous-area-group header > b { display:none; }
  .continuous-area-group > div,.continuous-module-list { grid-template-columns:1fr; }
  .continuous-program-card { min-height:112px; }
  .continuous-module-heading { grid-template-columns:1fr; gap:15px; }
  .continuous-availability { justify-self:stretch; }
  .continuous-module-card { min-height:330px; }
  .continuous-company-inner { padding:12px 0 80px; }
  .continuous-company-story,.continuous-company-plan { padding:22px; border-radius:21px; }
  .continuous-company-story h1 { font-size:2.45rem; }
}
