:root { --blue:#176bcc; --deep:#0e4d94; --ink:#08264a; --pale:#deebf9; --muted:#90b7e4; --content-max:1180px; --gutter:max(24px, calc((100vw - var(--content-max))/2)); }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:"Noto Sans KR",sans-serif; color:var(--ink); background:#fff; }
button,a { font:inherit; }
button { cursor:pointer; }
.site-header { position:fixed; z-index:30; inset:0 0 auto; height:76px; padding:0 clamp(16px,2vw,32px); display:flex; align-items:center; gap:clamp(14px,1.6vw,28px); color:#101c32; background:rgba(238,244,251,.72); backdrop-filter:blur(22px) saturate(125%); -webkit-backdrop-filter:blur(22px) saturate(125%); border-bottom:1px solid rgba(255,255,255,.34); box-shadow:0 6px 24px rgba(3,26,53,.06); transition:transform .28s ease,background .3s; will-change:transform; }
.site-header.light { color:var(--blue); background:rgba(255,255,255,.78); }
body.detail-mode .site-header { display:none; }
body.nav-hidden:not(.detail-mode) .site-header { transform:translateY(-110%); }
body.detail-mode.nav-hidden .detail-nav { transform:translateY(-110%); }
.brand { display:flex; align-items:center; flex:0 0 auto; color:inherit; text-decoration:none; }
.university-mark { width:42px; height:42px; margin-right:8px; border:2px solid #1675c7; border-radius:50%; display:grid; place-items:center; color:#1675c7; font-size:10px; font-weight:800; letter-spacing:-.05em; background:rgba(255,255,255,.48); }
.university-name,.college-name { display:flex; flex-direction:column; }
.university-name strong { color:#0869b7; font-size:clamp(17px,1.25vw,24px); line-height:1.05; letter-spacing:.08em; white-space:nowrap; }
.university-name small { margin-top:4px; color:#0869b7; font-size:7px; white-space:nowrap; }
.brand-divider { width:1px; height:44px; margin:0 14px; background:rgba(8,38,74,.12); }
.college-name strong { font-size:clamp(12px,1vw,18px); white-space:nowrap; }
.college-name small { margin-top:7px; color:#71849d; font-size:clamp(8px,.65vw,12px); letter-spacing:.1em; white-space:nowrap; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:clamp(8px,1.2vw,24px); }
.desktop-nav button { border:0; padding:9px 4px; color:#172238; background:none; font-size:14px; font-weight:700; white-space:nowrap; }
.desktop-nav button span { margin-left:4px; color:#73839a; }
.desktop-nav button:hover { color:var(--blue); }
.header-actions { display:flex; align-items:center; gap:10px; }
.header-actions button { height:40px; border:1px solid rgba(8,38,74,.08); border-radius:12px; color:#65758b; background:rgba(255,255,255,.26); font-weight:700; white-space:nowrap; }
.search-button { width:40px; font-size:23px; }
.language-button { padding:0 14px; font-size:12px; }
.header-actions .admission-button { padding:0 16px; color:#fff; background:#0876c9; box-shadow:0 8px 18px rgba(0,105,183,.22); }
.admission-button span { margin-left:8px; font-size:20px; }
.menu-button { display:none; }
.global-menu { position:absolute; right:var(--gutter); top:76px; width:min(360px,calc(100vw - 48px)); padding:12px; border-radius:18px; background:rgba(8,38,74,.94); box-shadow:0 18px 50px rgba(8,38,74,.24); display:none; }
.global-menu.open { display:grid; }
.global-menu button { border:0; padding:14px 16px; text-align:left; color:#fff; background:none; border-radius:10px; }
.global-menu button:hover { background:rgba(255,255,255,.1); }
.scrub-zone { height:100vh; background:#02080e; }
.scrub-stage { position:sticky; top:0; height:100vh; overflow:hidden; background:#1266c5; }
.scrub-video,.scrub-poster,.video-fallback,.video-dim { position:absolute; inset:0; width:100%; height:100%; }
.scrub-poster { z-index:1; margin:0; opacity:1; transition:opacity .22s ease; }
.scrub-poster img { display:block; width:100%; height:100%; object-fit:cover; }
.scrub-poster.is-hidden { opacity:0; pointer-events:none; }
.scrub-video { z-index:1; object-fit:cover; opacity:0; transition:opacity .22s ease; }
.scrub-video.is-ready { opacity:1; }
.video-fallback { background:#02080e url('./assets/higgsfield-pnu-poster.webp') center/cover no-repeat; }
.video-dim { z-index:2; display:block; background:rgba(0,0,0,.25); opacity:0; pointer-events:none; transition:opacity .3s ease; }
.eyebrow { margin:0 0 18px; font-size:13px; font-weight:700; letter-spacing:.16em; opacity:.72; }
.index-heading h1 { margin:0; font-size:clamp(34px,3.4vw,50px); line-height:1.2; letter-spacing:-.045em; }
.mobile-break { display:none; }
.index-overlay { position:absolute; z-index:5; inset:76px 0 0; color:#fff; padding:clamp(42px,7vh,72px) var(--gutter) 22px; display:flex; flex-direction:column; justify-content:space-between; opacity:0; visibility:hidden; transform:translateY(28px); pointer-events:none; transition:opacity .45s ease,transform .45s ease; }
.index-overlay.ready { visibility:visible; pointer-events:auto; }
.index-overlay.ready { text-shadow:0 2px 18px rgba(0,24,58,.28); }
.index-inner { width:min(520px,100%); }
.index-list { margin-top:clamp(34px,6vh,64px); }
.index-item { border-bottom:1px solid rgba(144,183,228,.42); cursor:pointer; }
.index-item:focus-visible { outline:2px solid rgba(255,255,255,.78); outline-offset:5px; border-radius:4px; }
.index-item-main { min-height:76px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:18px; }
.index-item h3 { margin:0; font-size:clamp(20px,1.7vw,27px); }
.index-reveal { max-height:0; opacity:0; overflow:hidden; transition:max-height .35s ease,opacity .25s ease,margin .35s ease; color:var(--muted); }
.index-item:hover .index-reveal,.index-item:focus-within .index-reveal { max-height:90px; opacity:1; margin-top:5px; }
.go-button { opacity:0; transform:translateX(8px); border:1px solid rgba(255,255,255,.24); border-radius:999px; padding:9px 13px; display:flex; align-items:center; gap:8px; color:#fff; background:rgba(255,255,255,.12); backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); transition:.25s; font-size:13px; box-shadow:0 5px 18px rgba(0,20,50,.08); }
.index-item:hover .go-button,.go-button:focus { opacity:1; transform:none; }
.go-button img { width:24px; height:24px; }
.footer { width:min(var(--content-max),100%); margin:0 auto; display:flex; justify-content:space-between; gap:30px; color:rgba(255,255,255,.72); font-size:12px; }
.detail-view { min-height:100vh; padding-top:52px; }
.detail-nav { position:fixed; z-index:30; top:0; left:0; right:0; height:52px; padding:0 var(--gutter); display:flex; align-items:center; gap:6px; background:rgba(250,250,252,.78); backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%); color:#1d1d1f; border-bottom:1px solid rgba(0,0,0,.08); box-shadow:none; transition:transform .28s ease; will-change:transform; }
.detail-nav button { border:0; background:none; color:inherit; font-size:13px; font-weight:600; line-height:1; padding:10px 2px; letter-spacing:-.015em; }
.detail-nav > img { width:14px; height:14px; margin:0 2px; opacity:.58; }
.subnav-wrap { position:relative; }
.subnav-button::after { content:""; width:6px; height:6px; margin:0 2px 3px 8px; display:inline-block; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; opacity:.62; transform:rotate(45deg); transition:transform .2s; }
.subnav-button[aria-expanded="true"]::after { margin-bottom:-1px; transform:rotate(225deg); }
.subnav-menu { position:absolute; top:38px; left:0; min-width:280px; padding:8px; border:1px solid rgba(255,255,255,.45); border-radius:12px; background:rgba(248,250,253,.72); backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%); box-shadow:0 14px 38px rgba(0,0,0,.14); }
.subnav-menu button { display:block; width:100%; padding:12px; text-align:left; border-radius:9px; font-size:15px; }
.subnav-menu button:hover { background:#edf5ff; }
.detail-hero { min-height:680px; padding:110px var(--gutter); display:grid; place-items:center; text-align:center; background:var(--pale); }
.detail-hero h1 { margin:8px 0 18px; color:var(--blue); font-size:clamp(48px,6vw,76px); letter-spacing:-.05em; }
.detail-hero p { max-width:720px; color:#758ba5; font-size:19px; line-height:1.8; }
.detail-body { padding:100px var(--gutter) 140px; background:linear-gradient(110deg,#0e4d94,#1874de); color:#fff; }
.detail-body h2 { max-width:900px; margin:0 0 36px; font-size:clamp(36px,5vw,64px); line-height:1.2; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card { min-height:260px; padding:30px; border:1px solid rgba(255,255,255,.18); border-radius:50%; display:grid; place-content:center; text-align:center; background:rgba(20,112,218,.6); }
.card strong { font-size:23px; }
.card span { margin-top:8px; color:#b8d6f7; }
.org-detail { background:#f7faff; }
.org-hero { min-height:460px; padding:100px var(--gutter) 80px; display:flex; align-items:flex-end; background:linear-gradient(145deg,#eaf4ff 0%,#fff 70%); }
.org-hero-inner,.org-section-inner { width:min(var(--content-max),100%); margin:0 auto; }
.org-kicker { margin:0 0 16px; color:var(--blue); font-weight:800; letter-spacing:.12em; }
.org-hero h1 { max-width:820px; margin:0; color:var(--ink); font-size:clamp(42px,5vw,72px); line-height:1.12; letter-spacing:-.055em; }
.org-hero .lead { max-width:760px; margin:28px 0 0; color:#637790; font-size:18px; line-height:1.8; }
.org-section { padding:110px var(--gutter); scroll-margin-top:52px; }
.org-section-head { margin-bottom:54px; }
.org-section-head span { color:var(--blue); font-weight:800; }
.org-section-head h2 { margin:10px 0 0; font-size:clamp(34px,4vw,54px); letter-spacing:-.045em; }
.relation-map { position:relative; display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:38px; align-items:center; margin:0 auto 70px; }
.relation-map::before { content:""; position:absolute; z-index:0; left:16%; right:16%; top:50%; height:2px; background:linear-gradient(90deg,#79b8fa,#176bcc,#79b8fa); }
.relation-node { position:relative; z-index:1; min-height:170px; padding:26px; border:1px solid #c6dcf4; border-radius:24px; display:grid; place-content:center; text-align:center; background:rgba(255,255,255,.94); box-shadow:0 18px 50px rgba(23,107,204,.08); }
.relation-node.primary { min-height:220px; border:2px solid var(--blue); background:#f6ffe9; transform:translateY(-12px); }
.relation-node small { margin-bottom:7px; color:#7b4c85; }
.relation-node strong { font-size:clamp(20px,2vw,30px); line-height:1.35; }
.relation-node span { margin-top:8px; color:#667b94; }
.departments { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.department-card { grid-column:span 3; min-height:230px; padding:28px; border-radius:24px; color:#fff; background:linear-gradient(145deg,#0e4d94,#1674dc); box-shadow:0 20px 40px rgba(14,77,148,.16); }
.department-card .letter { width:38px; height:38px; margin-bottom:30px; border-radius:50%; display:grid; place-items:center; color:var(--blue); background:#fff; font-weight:900; }
.department-card h3 { margin:0 0 8px; font-size:22px; }
.department-card p { margin:0; color:#c0daf8; line-height:1.6; }
.smart-card { grid-column:span 12; min-height:240px; padding:36px; border:1px solid #dce7f3; border-radius:28px; display:grid; grid-template-columns:1.25fr 1fr; gap:40px; background:#fff; box-shadow:0 18px 50px rgba(8,38,74,.07); }
.smart-card .meta { margin:0 0 18px; color:#657a95; font-weight:700; }
.smart-card h3 { margin:0 0 6px; font-size:34px; }
.smart-card .english { margin:0; color:#71839b; font-family:monospace; font-size:18px; letter-spacing:.06em; }
.smart-card .description { align-self:center; color:#536880; font-size:18px; line-height:1.8; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.chips span { padding:8px 14px; border-radius:999px; color:#182538; background:#f4f7fb; font-weight:700; }
.apex-section { color:#fff; background:linear-gradient(140deg,#082e5c,#0e5eae); overflow:hidden; }
.apex-banner { margin:0 auto 54px; padding:20px 30px; border-radius:999px; text-align:center; color:#dff466; background:#07506a; font-size:clamp(19px,2vw,28px); font-weight:800; }
.apex-banner span { margin-left:8px; color:#fff; }
.apex-units { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.apex-unit { min-height:220px; padding:30px; border:1px solid rgba(255,255,255,.2); border-radius:26px; display:grid; place-content:center; text-align:center; background:rgba(255,255,255,.08); backdrop-filter:blur(12px); }
.apex-unit strong { font-size:25px; }
.apex-unit span { margin-top:10px; color:#b8d7f7; }
.partners { position:relative; min-height:300px; margin-top:55px; display:grid; place-items:center; }
.partners::before { content:"IT Big-Tech 기업 참여형 교육과정 운영"; position:absolute; top:5px; color:#a9ccef; font-weight:700; letter-spacing:.08em; }
.partner-logos { width:min(1000px,92%); height:auto; object-fit:contain; animation:logoFloat 4.8s ease-in-out infinite; filter:drop-shadow(0 20px 25px rgba(0,0,0,.22)); }
@keyframes logoFloat { 0%,100% { transform:translateY(8px); } 50% { transform:translateY(-13px); } }
body.detail-mode { scroll-snap-type:y proximity; }
.org-detail { background:#fff; }
.org-scene { min-height:calc(100svh - 52px); padding:clamp(64px,8vh,100px) var(--gutter); display:grid; place-items:center; scroll-snap-align:start; scroll-snap-stop:always; scroll-margin-top:52px; overflow:hidden; }
.scene-inner { width:min(var(--content-max),100%); margin:auto; }
.scene-center { text-align:center; }
.scene-label { margin:0 0 14px; color:var(--blue); font-weight:800; letter-spacing:.12em; }
.scene-title { margin:0; color:var(--ink); font-size:clamp(42px,5vw,68px); line-height:1.14; letter-spacing:-.055em; }
.scene-copy { max-width:720px; margin:24px auto 0; color:#7a8ea6; font-size:clamp(16px,1.4vw,20px); line-height:1.8; }
.scene-blue { color:#fff; background:linear-gradient(135deg,#0b4a8d,#176fd2); }
.scene-blue .scene-title { color:#fff; }
.scene-blue .scene-label,.scene-blue .scene-copy { color:#b8d8fb; }
.toss-orbits { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,5vw,72px); align-items:center; margin-top:70px; }
.toss-orbit { aspect-ratio:1; border-radius:50%; display:grid; place-content:center; text-align:center; background:#e5f1ff; box-shadow:inset 0 0 0 1px rgba(23,107,204,.04); transition:transform .35s ease,box-shadow .35s ease; }
.toss-orbit:hover { transform:translateY(-10px); box-shadow:0 25px 60px rgba(23,107,204,.14); }
.toss-orbit.primary { color:#fff; background:linear-gradient(145deg,#2786ef,#1468c6); transform:scale(1.08); }
.toss-orbit.primary:hover { transform:scale(1.08) translateY(-10px); }
.toss-orbit strong { font-size:clamp(19px,2vw,28px); line-height:1.35; }
.toss-orbit span { margin-top:8px; color:#7189a4; }
.toss-orbit.primary span { color:#cbe2fb; }
.faculty-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:56px; }
.faculty-card { min-height:270px; padding:28px; border-radius:28px; background:#f1f7ff; transition:transform .3s ease,background .3s ease; }
.faculty-card:hover { transform:translateY(-8px); background:#e7f2ff; }
.faculty-card b { display:block; margin-bottom:54px; color:var(--blue); font-size:15px; }
.faculty-card h3 { margin:0 0 10px; font-size:21px; line-height:1.35; }
.faculty-card p { margin:0; color:#7890aa; line-height:1.6; }
.smart-focus { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.smart-visual { aspect-ratio:1; border-radius:44px; display:grid; place-items:center; background:linear-gradient(145deg,#eaf4ff,#dcecff); }
.smart-visual span { width:58%; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#318ef3,#0f63bf); font-size:clamp(30px,5vw,64px); font-weight:800; box-shadow:0 28px 80px rgba(23,107,204,.28); }
.smart-text .meta { color:var(--blue); font-weight:800; }
.smart-text h2 { margin:14px 0 8px; font-size:clamp(38px,4.5vw,62px); letter-spacing:-.05em; }
.smart-text .english { color:#8294aa; font-family:monospace; }
.smart-text .description { margin-top:30px; color:#526880; font-size:18px; line-height:1.85; }
.apex-circles { display:grid; grid-template-columns:repeat(3,1fr); gap:5vw; margin-top:70px; }
.apex-circle { aspect-ratio:1; border-radius:50%; display:grid; place-content:center; text-align:center; background:rgba(20,107,202,.72); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 20px 70px rgba(0,0,0,.12); }
.apex-circle strong { font-size:clamp(20px,2vw,28px); }
.apex-circle span { margin-top:10px; color:#b8d8fb; }
.partner-stage { min-height:calc(100svh - 52px); position:relative; }
.partner-stage .scene-title { max-width:850px; margin:auto; }
.partner-stage .partner-logos { margin-top:70px; }
.org-scene.compact-scene { padding-top:clamp(42px,6vh,70px); padding-bottom:clamp(42px,6vh,70px); }
.compact-scene .scene-title { font-size:clamp(38px,4.3vw,60px); }
.compact-scene .scene-copy { margin-top:14px; }
.compact-scene .toss-orbits { max-width:920px; margin:42px auto 0; gap:clamp(18px,3vw,42px); }
.compact-scene .toss-orbit { max-height:250px; }
.faculty-flow { position:relative; margin-top:32px; padding-top:95px; }
.ai-seed { position:absolute; z-index:3; left:50%; top:-8px; width:84px; height:84px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#318ef3,#1264bf); font-weight:800; box-shadow:0 18px 45px rgba(23,107,204,.25); opacity:0; transform:translate(-50%,-90px) scale(1.5); }
.is-active .ai-seed { animation:seedDrop .8s cubic-bezier(.22,1,.36,1) forwards; }
.branch-lines { position:absolute; top:72px; left:10%; right:10%; height:52px; opacity:0; }
.branch-lines::before { content:""; position:absolute; left:50%; top:0; width:2px; height:22px; background:#80b9f7; }
.branch-lines::after { content:""; position:absolute; left:0; right:0; top:22px; height:2px; background:linear-gradient(90deg,transparent,#80b9f7 8%,#80b9f7 92%,transparent); transform:scaleX(0); }
.is-active .branch-lines { animation:fadeIn .2s .55s forwards; }
.is-active .branch-lines::after { animation:lineGrow .65s .62s cubic-bezier(.22,1,.36,1) forwards; transform-origin:center; }
.five-faculties { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.faculty-mini { position:relative; min-height:210px; padding:24px 20px; border-radius:24px; background:#f0f7ff; opacity:0; transform:translateY(30px); }
.faculty-mini::before { content:""; position:absolute; left:50%; top:-24px; width:2px; height:24px; background:#80b9f7; }
.faculty-mini b { display:block; margin-bottom:40px; color:var(--blue); font-size:13px; }
.faculty-mini h3 { margin:0; font-size:18px; line-height:1.4; }
.faculty-mini p { margin:8px 0 0; color:#7b90a8; font-size:14px; }
.faculty-mini.smart { color:#fff; background:linear-gradient(145deg,#176fd2,#0e4d94); }
.faculty-mini.smart b,.faculty-mini.smart p { color:#c4ddfa; }
.is-active .faculty-mini { animation:facultyRise .55s cubic-bezier(.22,1,.36,1) forwards; }
.is-active .faculty-mini:nth-child(1) { animation-delay:.8s; }.is-active .faculty-mini:nth-child(2) { animation-delay:.9s; }.is-active .faculty-mini:nth-child(3) { animation-delay:1s; }.is-active .faculty-mini:nth-child(4) { animation-delay:1.1s; }.is-active .faculty-mini:nth-child(5) { animation-delay:1.2s; }
.org-transition { position:relative; }
.traveling-ai-wrap { position:absolute; z-index:8; left:50%; top:calc(50svh - 120px); width:0; height:calc(100svh + 120px); pointer-events:none; }
.traveling-ai { position:sticky; top:calc(50svh - 120px); width:240px; height:240px; margin-left:-120px; border-radius:50%; display:grid; place-content:center; text-align:center; color:#fff; background:linear-gradient(145deg,#318ef3,#1264bf); box-shadow:0 28px 70px rgba(23,107,204,.26); }
.traveling-ai strong { font-size:28px; }
.traveling-ai span { margin-top:8px; color:#cbe2fb; }
.org-transition.departments-active .traveling-ai { animation:softLand .6s cubic-bezier(.2,.9,.25,1.25); }
.orbit-placeholder { aspect-ratio:1; }
.departments-heading .scene-copy { opacity:0; transform:translateY(12px); }
.is-active .departments-heading .scene-copy { animation:facultyRise .5s .35s forwards; }
.org-transition .faculty-flow { padding-top:210px; }
.org-transition .ai-seed { display:none; }
.org-transition .branch-lines { top:184px; }
@keyframes softLand { 0% { transform:translateY(-18px); } 55% { transform:translateY(7px); } 78% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
.apex-combined { display:block; text-align:center; }
.apex-combined .scene-copy { margin-left:auto!important; }
.apex-combined .apex-circles { width:min(760px,100%); margin:34px auto 0; gap:24px; }
.apex-combined .apex-circle { font-size:14px; }
.apex-partners { margin-top:38px; text-align:center; }
.apex-partners p { margin:0 0 18px; color:#b8d8fb; font-weight:700; }
.apex-partners .partner-logos { display:block; width:min(780px,90%); max-height:92px; margin:0 auto; object-fit:contain; }
@keyframes seedDrop { to { opacity:1; transform:translate(-50%,0) scale(1); } }
@keyframes fadeIn { to { opacity:1; } }
@keyframes lineGrow { to { transform:scaleX(1); } }
@keyframes facultyRise { to { opacity:1; transform:translateY(0); } }
@media (max-width:1450px) {
  .site-header { gap:18px; }
  .brand-divider { margin:0 13px; }
  .desktop-nav { gap:8px; }
  .desktop-nav button { font-size:13px; }
  .college-name small { display:none; }
  .language-button { display:none; }
}

/* Programs: vertical wheel input, horizontal chapter movement */
@media (min-width:901px){
  .programs-detail{height:700svh;overflow:visible}
  .programs-detail .program-section{position:fixed;z-index:2;left:0;top:52px;width:100vw;height:calc(100svh - 52px);min-height:0;overflow:visible;will-change:transform;transform:translate3d(100vw,0,0)}
  .programs-detail .program-section:first-of-type{transform:translate3d(0,0,0)}
  .programs-detail .program-stage{position:relative;top:0;width:100%;height:100%;min-height:0}
  .programs-detail .growth-program-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:clamp(10px,1vw,18px);padding-inline:4px;box-sizing:border-box}
  .programs-detail .growth-program-flow>button{position:relative;inset:auto!important;width:100%;height:142px;min-width:0;min-height:142px;max-width:none;top:auto!important;left:auto!important;right:auto!important;padding:12px 14px;box-sizing:border-box;word-break:keep-all;overflow-wrap:normal}
  .programs-detail .growth-program-flow>button small{white-space:nowrap;font-size:8px;letter-spacing:.02em}
  .programs-detail .growth-program-flow>button b{white-space:nowrap;margin:5px 0;font-size:15px;letter-spacing:-.025em}
  .programs-detail .growth-program-flow>button span{font-size:9px;line-height:1.4;word-break:keep-all}
  .programs-detail .program-flow-track,.programs-detail .program-flow-progress,.programs-detail .program-blue-point,.programs-detail .real-project-line,.programs-detail .research-line,.programs-detail .startup-line{opacity:0}
  .programs-detail .program-section::before,.programs-detail .program-section::after{display:none}
  .programs-detail .program-stage{z-index:1}
}
@media (max-width:1120px) {
  .college-name { display:none; }
  .brand-divider { display:none; }
  .desktop-nav button:nth-child(3),.desktop-nav button:nth-child(4) { display:none; }
}
@media (max-width:800px) {
  :root { --gutter:24px; }
  .site-header { height:72px; padding:0 20px; background:rgba(238,244,251,.72); backdrop-filter:blur(24px); }
  .university-mark { width:38px; height:38px; margin-right:8px; font-size:9px; }
  .university-name strong { font-size:18px; }
  .university-name small,.brand-divider,.college-name,.desktop-nav,.header-actions { display:none; }
  .menu-button { display:block; margin-left:auto; border:0; color:var(--blue); background:none; font-weight:700; }
  .mobile-break { display:block; }
  .scrub-zone { height:100svh; }
  .index-overlay { inset:72px 0 0; padding:52px 24px 24px; }
  .index-list { margin-top:48px; }
  .index-item-main { min-height:92px; }
  .index-item h3 { font-size:24px; }
  .index-reveal { font-size:13px; }
  .go-button { width:42px; height:42px; padding:9px; font-size:0; opacity:.7; }
  .footer { flex-direction:column; gap:5px; font-size:10px; }
  .detail-view { padding-top:48px; }
  .detail-nav { top:0; overflow:visible; height:48px; }
  .detail-nav button { font-size:12px; white-space:nowrap; }
  .subnav-menu { position:fixed; top:48px; left:16px; right:16px; min-width:0; }
  .detail-hero { min-height:560px; padding:80px 24px; }
  .cards { grid-template-columns:1fr; }
  .card { min-height:210px; border-radius:28px; }
  .org-hero { min-height:390px; padding:80px 24px 55px; }
  .org-section { padding:76px 24px; scroll-margin-top:48px; }
  .relation-map { grid-template-columns:1fr; gap:14px; }
  .relation-map::before { left:50%; right:auto; top:12%; bottom:12%; width:2px; height:auto; }
  .relation-node,.relation-node.primary { min-height:140px; transform:none; }
  .department-card { grid-column:span 12; min-height:190px; }
  .smart-card { grid-template-columns:1fr; gap:20px; padding:28px; }
  .smart-card h3 { font-size:28px; }
  .apex-units { grid-template-columns:1fr; }
  .partners { min-height:190px; }
  body.detail-mode { scroll-snap-type:y proximity; }
  .org-scene { min-height:calc(100svh - 48px); padding:56px 24px; scroll-margin-top:48px; }
  .toss-orbits,.apex-circles { grid-template-columns:1fr; gap:14px; margin-top:38px; }
  .toss-orbit,.apex-circle { aspect-ratio:auto; min-height:132px; border-radius:26px; }
  .toss-orbit.primary,.toss-orbit.primary:hover { transform:none; }
  .faculty-grid { grid-template-columns:1fr 1fr; margin-top:34px; }
  .faculty-card { min-height:200px; padding:22px; }
  .faculty-card b { margin-bottom:30px; }
  .smart-focus { grid-template-columns:1fr; gap:30px; }
  .smart-visual { max-height:280px; aspect-ratio:1.4; }
  .smart-visual span { width:150px; }
  .five-faculties { grid-template-columns:1fr 1fr; }
  .faculty-flow { padding-top:82px; }
  .branch-lines { display:none; }
  .faculty-mini { min-height:150px; }
  .faculty-mini:last-child { grid-column:1 / -1; }
  .faculty-mini::before { display:none; }
  .faculty-mini b { margin-bottom:20px; }
  .traveling-ai-wrap { top:calc(50svh - 70px); height:calc(100svh + 70px); }
  .traveling-ai { top:calc(50svh - 70px); width:140px; height:140px; margin-left:-70px; }
  .traveling-ai strong { font-size:20px; }
  .org-transition .faculty-flow { padding-top:150px; }
  .apex-combined .apex-circles { grid-template-columns:repeat(3,1fr); }
  .apex-combined .apex-circle { min-height:110px; padding:12px; }
}

/* AI College introduction — continuous cosmic chapters */
body.college-intro-mode { color:#f6f9ff; background:#02070d; scroll-snap-type:none; }
body.college-intro-mode .detail-view { padding-top:52px; }
body.college-intro-mode .detail-nav { color:#eef5fb; border-color:rgba(255,255,255,.1); background:rgba(3,11,19,.7); }
body.college-intro-mode .subnav-menu { border-color:rgba(255,255,255,.12); color:#edf5fb; background:rgba(5,18,29,.72); box-shadow:0 18px 46px rgba(0,0,0,.34); }
body.college-intro-mode .subnav-menu button:hover { background:rgba(103,184,242,.12); }
.college-intro { --cosmic:#02070d; --electric:#1597ff; color:#f7f9fc; background:var(--cosmic); overflow:clip; }
.chapter-nav { display:none; }
.chapter-nav button { border:0; padding:9px 10px; color:rgba(255,255,255,.48); background:none; font-size:12px; font-weight:600; letter-spacing:-.01em; transition:color .25s; }
.chapter-nav .chapter-home { padding-left:0; color:#fff; font-size:13px; font-weight:800; letter-spacing:.06em; }
.chapter-nav > div { display:flex; gap:clamp(6px,1.8vw,28px); }
.chapter-nav [data-chapter].active,.chapter-nav [data-chapter]:hover { color:#fff; }
.intro-chapter { position:relative; height:230svh; background:#02070d; }
.intro-chapter.beginning { height:190svh; }
.intro-chapter.future { height:260svh; }
.chapter-stage { position:sticky; top:52px; height:calc(100svh - 52px); min-height:560px; overflow:hidden; display:grid; place-items:center; isolation:isolate; background:radial-gradient(circle at 58% 46%,rgba(0,79,150,.18),transparent 31%),linear-gradient(145deg,#010407,#03101a 65%,#02070d); }
.chapter-stage::after { content:""; position:absolute; z-index:-1; inset:-20%; pointer-events:none; background-image:radial-gradient(circle,rgba(72,162,255,.48) 0 1px,transparent 1.5px); background-size:91px 91px; opacity:.12; transform:rotate(-8deg); }
.chapter-number { position:absolute; z-index:4; top:82px; left:var(--gutter); margin:0; color:rgba(164,207,249,.72); font-size:11px; font-weight:700; letter-spacing:.16em; }
.beginning .chapter-stage { background:#02070c; }
.beginning .chapter-stage::after { display:none; }
.chapter-heading { position:absolute; z-index:5; top:14%; left:50%; width:min(980px,calc(100% - 48px)); text-align:center; transform:translateX(-50%); }
.chapter-heading p { margin:0 0 18px; color:#75bdf4; font-size:clamp(12px,1.05vw,16px); font-weight:700; letter-spacing:.075em; }
.chapter-heading h1,.chapter-heading h2 { margin:0; font-size:clamp(40px,4.45vw,64px); font-weight:700; line-height:1.08; letter-spacing:-.048em; }
.beginning .chapter-heading p { color:#91a6bb; font-size:clamp(15px,1.4vw,20px); font-weight:500; letter-spacing:-.02em; }
.chapter-interaction { position:absolute; left:0; right:0; top:43%; bottom:4%; }
.launch-point { --proximity:0; --reveal:0; position:absolute; left:50%; top:66%; width:min(680px,80vw); height:160px; outline:0; transform:translate(-50%,-50%); cursor:crosshair; }
.launch-point > .point-core { position:absolute; left:50%; top:50%; width:4px; height:4px; border-radius:50%; background:#b5efff; box-shadow:0 0 calc(10px + 34px * var(--proximity)) calc(2px + 6px * var(--proximity)) rgba(0,151,255,calc(.48 + .32 * var(--proximity))); transition:box-shadow .18s,transform .18s; transform:translate(-50%,-50%) scale(calc(1 + .55 * var(--proximity))); }
.launch-point::before { display:none; }
.point-date { position:absolute; left:50%; top:20px; color:#75bdf4; font-size:11px; font-weight:700; letter-spacing:.16em; white-space:nowrap; transform:translateX(-50%); opacity:calc(.5 + .5 * var(--reveal)); }
.particle-date { position:absolute; inset:0; filter:drop-shadow(0 0 calc(4px + 9px * var(--proximity)) rgba(30,160,255,.46)); }
.particle-fallback { position:absolute; inset:0; display:grid; place-items:center; color:#4eb7ff; font-size:54px; font-weight:700; letter-spacing:.08em; }
.date-particle { position:absolute; width:1.6px; height:1.6px; margin:-.8px 0 0 -.8px; border-radius:50%; background:#78ccff; box-shadow:0 0 3px rgba(50,174,255,.7); opacity:.76; transition:translate .2s cubic-bezier(.2,.8,.2,1),scale .2s,opacity .2s; animation:particleTwinkle 2.7s var(--delay) ease-in-out infinite alternate; will-change:translate,scale; }
.point-note { position:absolute; left:50%; top:172px; width:310px; color:#7891a8; font-size:13px; text-align:center; white-space:nowrap; opacity:clamp(0,calc(var(--proximity) - .12),1); transform:translate(-50%,8px); transition:opacity .22s,transform .3s; }
.launch-point:hover .point-note,.launch-point:focus-visible .point-note { transform:translate(-50%,0); }
.launch-copy { position:absolute; left:50%; top:58px; width:min(430px,72vw); text-align:center; opacity:clamp(0,calc(var(--reveal) + var(--proximity) - .45),1); transform:translate(-50%,10px); transition:opacity .22s,transform .32s; pointer-events:none; }
.launch-point:hover .launch-copy,.launch-point:focus-visible .launch-copy { transform:translate(-50%,0); }
.launch-copy strong { display:block; font-size:clamp(28px,3.2vw,50px); line-height:1.16; letter-spacing:-.055em; }
.launch-copy p { margin:14px 0 0; color:rgba(220,235,250,.68); font-size:clamp(15px,1.4vw,20px); }
@keyframes pointDrift { from { margin:-1px 0 0 -2px; } to { margin:2px 0 0 2px; } }
@keyframes particleTwinkle { from { filter:brightness(.82); } to { filter:brightness(1.28); } }
.chapter-scroll { position:absolute; left:var(--gutter); bottom:30px; margin:0; color:rgba(255,255,255,.4); font-size:10px; letter-spacing:.18em; writing-mode:vertical-rl; }
.keyword-field { position:absolute; }
.keyword-connections { position:absolute; inset:0; width:100%; height:100%; overflow:visible; opacity:var(--lines,0); transition:opacity .18s; }
.keyword-connections path { fill:none; stroke:rgba(72,164,239,.52); stroke-width:1; stroke-dasharray:3 7; vector-effect:non-scaling-stroke; }
.vision-keyword { position:absolute; z-index:2; left:50%; top:50%; color:rgba(171,213,255,.9); font-size:clamp(13px,1.35vw,19px); font-weight:700; letter-spacing:.13em; will-change:transform,opacity; }
.apex-core { --show:0; position:absolute; left:50%; top:50%; display:grid; text-align:center; opacity:var(--show); transform:translate(-50%,-50%) scale(calc(.7 + .3 * var(--show))); }
.apex-core strong { color:#d2dde8; font-size:clamp(38px,5.2vw,76px); letter-spacing:-.055em; text-shadow:0 0 48px rgba(0,132,255,.46); }
.apex-core span { margin-top:8px; color:#8fc8f8; font-size:clamp(11px,1.25vw,17px); letter-spacing:.05em; }
.vision-statement,.excellence-copy,.future-ending { --show:0; position:absolute; left:50%; bottom:9vh; width:min(920px,calc(100% - 48px)); text-align:center; opacity:var(--show); transform:translate(-50%,calc(24px * (1 - var(--show)))); }
.vision-statement p,.excellence-copy p,.future-ending p { margin:0 0 12px; color:#78baf0; font-size:13px; font-weight:600; letter-spacing:.05em; }
.vision-statement h2,.excellence-copy h2,.future-ending h2 { margin:0; font-size:clamp(32px,4.8vw,66px); line-height:1.12; letter-spacing:-.055em; }
.facts-stage { display:grid; place-items:center; }
.fact-connections { position:absolute; inset:2% 7%; width:86%; height:96%; opacity:var(--draw,0); }
.fact-connections path { fill:none; stroke:rgba(45,159,255,.42); stroke-width:1.3; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--draw,0)); pathLength:1; vector-effect:non-scaling-stroke; }
.fact-grid { width:min(1120px,calc(100% - 48px)); display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(40px,9vh,90px) clamp(80px,14vw,200px); }
.fact { --show:0; position:relative; display:flex; flex-direction:column; text-align:center; opacity:var(--show); transform:scale(calc(.76 + .24 * var(--show))) translateY(calc(28px * (1 - var(--show)))); }
.fact strong { color:#d2dde8; font-size:clamp(34px,4.4vw,64px); line-height:1; letter-spacing:-.052em; text-shadow:0 0 38px rgba(0,132,255,.3); }
.fact > span { margin-top:14px; color:#85bce9; font-size:13px; letter-spacing:.04em; }
.fact .counter { color:inherit; font:inherit; letter-spacing:inherit; }
.excellence-copy { bottom:5vh; }
.excellence-copy h2 { font-size:clamp(25px,3.6vw,52px); }
.future-stage { overflow:hidden; }
.scale-stage { position:absolute; inset:0; display:grid; place-items:center; }
.scale-stage span { --show:0; position:absolute; opacity:var(--show); transform:scale(calc(.58 + .42 * var(--show))); color:#d2dde8; font-size:clamp(38px,6vw,88px); font-weight:700; letter-spacing:-.055em; text-shadow:0 0 60px rgba(0,120,255,.35); }
.scale-stage span:nth-child(1) { transform:scale(calc(.5 + .5 * var(--show))); }
.roadmap { --show:0; --line:0; position:absolute; left:50%; top:56%; width:min(1120px,calc(100% - 56px)); display:grid; grid-template-columns:repeat(5,1fr); opacity:var(--show); transform:translate(-50%,-50%); }
.roadmap-line { position:absolute; left:7%; right:7%; top:13px; height:1px; background:rgba(255,255,255,.16); }
.roadmap-line i { display:block; width:calc(100% * var(--line)); height:2px; background:linear-gradient(90deg,#167ee5,#72c9ff); box-shadow:0 0 15px #168ff3; }
.roadmap-year { position:relative; padding-top:34px; text-align:center; }
.roadmap-year::before { content:""; position:absolute; top:7px; left:50%; width:12px; height:12px; border-radius:50%; background:#3c5870; transform:translateX(-50%); }
.roadmap-year b { display:block; color:#8ba9c1; font-size:clamp(20px,2.8vw,36px); }
.roadmap-year span { color:#62829e; font-size:10px; letter-spacing:.14em; }
.roadmap-year.launch::before { background:#76d5ff; box-shadow:0 0 25px 7px rgba(0,151,255,.68); }
.roadmap-year.launch b { color:#dbe6ef; transform:scale(1.15); text-shadow:0 0 25px rgba(0,151,255,.5); }
.roadmap-year.launch span { color:#7ed7ff; font-weight:800; }
.future-ending { bottom:10vh; }

@media (max-width:800px) {
  body.college-intro-mode .detail-view { padding-top:48px; }
  .chapter-stage { top:48px; height:calc(100svh - 48px); }
  .chapter-nav { height:48px; padding:0 10px; }
  .chapter-nav .chapter-home { margin-right:6px; font-size:10px; }
  .chapter-nav > div { min-width:0; margin-left:auto; gap:0; }
  .chapter-nav button { padding:8px 4px; font-size:9px; white-space:nowrap; }
  .chapter-number { top:70px; left:22px; }
  .intro-chapter { height:210svh; }
  .chapter-heading { top:13%; width:calc(100% - 36px); }
  .chapter-heading p { margin-bottom:16px; font-size:11px; line-height:1.5; }
  .chapter-heading h1,.chapter-heading h2 { font-size:clamp(34px,10.5vw,48px); }
  .beginning .chapter-heading p { font-size:14px; }
  .chapter-interaction { top:42%; bottom:3%; }
  .launch-point { left:50%; top:65%; width:92vw; height:104px; }
  .particle-fallback { font-size:38px; }
  .point-note { top:116px; width:280px; font-size:11px; }
  .launch-copy { width:min(330px,84vw); }
  .vision-keyword { font-size:11px; }
  .apex-core { top:43%; width:90%; }
  .fact-grid { gap:70px 18px; }
  .fact strong { font-size:clamp(30px,10vw,48px); }
  .fact span { font-size:11px; }
  .fact-connections { inset:25% 3% 18%; width:94%; height:57%; }
  .roadmap { width:calc(100% - 24px); }
  .roadmap-year b { font-size:16px; }
  .roadmap-year span { font-size:7px; letter-spacing:.04em; }
  .vision-statement,.excellence-copy,.future-ending { bottom:8vh; }
}

@media (prefers-reduced-motion:reduce) {
  .intro-chapter { height:100svh; }
  .launch-point { --reveal:1!important; --proximity:0!important; }
  .date-particle { animation:none!important; transition:none!important; }
  .vision-keyword { display:none; }
  .apex-core { --show:1!important; opacity:1!important; transform:translate(-50%,-50%)!important; }
  .vision-statement,.excellence-copy,.future-ending { --show:1!important; opacity:1!important; transform:translate(-50%,0)!important; }
  .fact,.scale-stage span:last-child,.roadmap { --show:1!important; opacity:1!important; transform:none!important; }
  .scale-stage span:not(:last-child) { display:none; }
  .fact-connections { --draw:1!important; }
}

/* Organization detail — one persistent, evolving graph */
body.org-mode { background:#020a12; scroll-snap-type:none; }
body.org-mode .detail-nav { color:#eef5fb; border-color:rgba(255,255,255,.1); background:rgba(3,11,19,.7); }
body.org-mode .subnav-button::after { color:#8ba5bb; }
body.org-mode .subnav-menu { border-color:rgba(255,255,255,.12); color:#edf5fb; background:rgba(5,18,29,.72); box-shadow:0 18px 46px rgba(0,0,0,.34); }
body.org-mode .subnav-menu button:hover { background:rgba(103,184,242,.12); }
.org-continuum { position:relative; min-height:750svh; color:#f4f7fa; background:#020a12; }
.org-graph-sticky { position:sticky; z-index:2; top:52px; height:calc(100svh - 52px); min-height:600px; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 50% 62%,rgba(0,91,164,.15),transparent 38%),#020a12; }
.org-graph-sticky::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.13; background-image:radial-gradient(circle,rgba(74,164,234,.55) 0 1px,transparent 1.4px); background-size:113px 97px; }
.org-steps { position:relative; z-index:1; margin-top:calc(-100svh + 52px); pointer-events:none; }
.org-steps section { height:150svh; scroll-margin-top:52px; }
.org-headings header { position:absolute; z-index:8; top:5.5%; left:50%; width:min(900px,calc(100% - 48px)); text-align:center; pointer-events:none; }
.org-headings p { margin:0 0 15px; color:#62b7f4; font-size:13px; font-weight:700; letter-spacing:.13em; }
.org-headings h1 { margin:0; color:#f6f8fb; font-size:clamp(36px,3.6vw,54px); line-height:1.08; letter-spacing:-.05em; }
.org-headings [data-org-heading="1"] h1 { font-size:clamp(34px,3.2vw,48px); }
.org-network-svg { position:absolute; z-index:2; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.org-network-svg path { fill:none; stroke:rgba(55,161,240,.52); stroke-width:1.25; stroke-dasharray:1; stroke-dashoffset:1; vector-effect:non-scaling-stroke; transition:opacity .12s; }
.org-node-layer { position:absolute; z-index:4; inset:0; }
.org-node { --near:0; position:absolute; width:clamp(116px,11vw,164px); min-height:58px; padding:10px 12px; border:1px solid rgba(109,189,247,calc(.18 + .34 * var(--near))); border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#d1dce6; background:rgba(5,23,38,calc(.72 + .16 * var(--near))); backdrop-filter:blur(10px); box-shadow:0 0 calc(10px + 28px * var(--near)) rgba(0,130,232,calc(.08 + .2 * var(--near))); transition:border-color .2s,background .2s,box-shadow .2s; will-change:left,top,transform,opacity; }
.org-node small { order:2; margin-top:4px; color:#6faeda; font-size:9px; letter-spacing:.08em; }
.org-node strong { font-size:clamp(12px,1vw,15px); line-height:1.25; letter-spacing:-.025em; }
.org-node[data-node^="unit-"] { width:clamp(188px,15vw,250px); min-height:76px; padding:14px 18px; border-color:rgba(78,155,205,.56); color:#edf7fd; background:radial-gradient(circle at 38% 28%,rgba(30,94,137,.94),rgba(9,36,56,.9) 72%); box-shadow:0 12px 30px rgba(0,14,27,.22),inset 0 1px 0 rgba(141,210,248,.12); }
.org-node[data-node^="unit-"] strong { font-size:clamp(12px,.95vw,15px); line-height:1.28; white-space:nowrap; }
.org-node[data-node^="unit-"] small { margin-top:7px; color:#8ac3e6; font-size:11px; letter-spacing:.035em; }
.org-node-detail { position:absolute; z-index:20; left:50%; bottom:calc(100% + 12px); width:min(310px,78vw); padding:18px 20px; border:1px solid rgba(139,200,242,.24); border-radius:18px; color:#dce8f1; text-align:left; background:rgba(7,23,37,.82); backdrop-filter:blur(18px) saturate(145%); box-shadow:0 18px 50px rgba(0,0,0,.36); opacity:0; visibility:hidden; transform:translate(-50%,8px); transition:opacity .2s,transform .2s,visibility .2s; pointer-events:none; }
.org-node-detail::after { content:""; position:absolute; left:50%; top:100%; border:7px solid transparent; border-top-color:rgba(139,200,242,.24); transform:translateX(-50%); }
.org-node-detail b,.org-node-detail em { display:block; font-style:normal; }
.org-node-detail b { margin-bottom:8px; color:#f1f6fa; font-size:14px; line-height:1.5; }
.org-node-detail em { color:#8fb2ca; font-size:12px; line-height:1.55; }
.org-node[data-node^="unit-"]:hover,.org-node[data-node^="unit-"]:focus-visible { z-index:30; border-color:rgba(125,210,255,.8); color:#fff; background:radial-gradient(circle at 38% 28%,rgba(40,119,169,.98),rgba(11,45,69,.94) 72%); box-shadow:0 16px 38px rgba(23,125,194,.24),inset 0 1px 0 rgba(198,235,255,.18); outline:none; }
.org-node[data-node^="unit-"]:hover .org-node-detail,.org-node[data-node^="unit-"]:focus-visible .org-node-detail { opacity:1; visibility:visible; transform:translate(-50%,0); }
.org-node[data-node="ai"] { width:124px; min-height:124px; border-radius:50%; color:#fff; background:radial-gradient(circle at 36% 30%,#269dff,#0860ac 62%,#073a69); }
.org-node[data-node="ai"] strong { font-size:24px; }
.org-node[data-node="split"] { width:1px; min-height:1px; padding:0; border:0; background:transparent; box-shadow:none; pointer-events:none!important; }
.org-node[data-node="a"],.org-node[data-node="d"],.org-node[data-node="p"],.org-node[data-node="x"] { width:68px; min-height:68px; border-radius:50%; }
.org-node[data-node="a"] strong,.org-node[data-node="d"] strong,.org-node[data-node="p"] strong,.org-node[data-node="x"] strong { font-size:26px; }
.org-node[data-node^="ax-"] { width:102px; min-height:36px; padding:7px 9px; border-radius:999px; }
.org-node[data-node^="ax-"] strong { font-size:10px; white-space:nowrap; }
.org-node[data-node^="ax-"] small { display:none; }
.ax-heading-copy { width:min(760px,88vw); margin:13px auto 0; color:#8198aa; font-weight:400; }
.ax-heading-copy b,.ax-heading-copy small,.ax-heading-copy span { display:block; }
.ax-heading-copy b { color:#91a8b9; font-size:13px; font-weight:500; }
.ax-convergence-active .org-headings [data-org-heading="2"] { top:3.5%; }
.ax-convergence-active .org-headings [data-org-heading="2"] h1 { font-size:clamp(32px,3.2vw,48px); }
.ax-convergence-active .org-node[data-node="unit-x"] { width:clamp(112px,9vw,136px); min-height:clamp(112px,9vw,136px); padding:13px; border-radius:50%; color:#fff; background:radial-gradient(circle at 38% 30%,#218fe7,#075a9f 68%,#06365f); box-shadow:0 0 28px rgba(16,137,220,.17); }
.ax-convergence-active .org-node[data-node="unit-x"] { border:0; }
.ax-convergence-active .org-node[data-node="unit-x"] strong { font-size:clamp(14px,1.35vw,18px); }
.ax-convergence-active .org-node[data-node="unit-x"] small { color:#8ecdf5; font-size:9px; }
.ax-convergence-active .org-node[data-node="unit-x"]::after { content:"17 AX PROGRAMS"; margin-top:6px; color:#8fd0f7; font-size:7px; letter-spacing:.07em; }
.ax-convergence-active .org-node[data-node^="ax-"] { width:clamp(112px,9vw,142px); min-height:46px; padding:9px 14px; border-color:rgba(84,166,216,.62); color:#edf8ff; background:radial-gradient(circle at 36% 24%,rgba(38,112,157,.96),rgba(11,43,65,.91) 74%); box-shadow:0 9px 24px rgba(0,17,31,.2),inset 0 1px 0 rgba(160,218,250,.13); scale:1; transition:opacity .22s,scale .22s,border-color .22s,background .22s,box-shadow .22s,translate .3s cubic-bezier(.2,.75,.2,1); }
.ax-convergence-active .org-node[data-node^="ax-"] strong { font-size:clamp(12px,1vw,14px); font-weight:700; }
.ax-node-detail { position:static; width:100%; max-height:0; overflow:hidden; text-align:center; opacity:0; transition:max-height .22s,opacity .22s,margin .22s; pointer-events:none; }
.ax-node-detail b,.ax-node-detail em { display:block; font-style:normal; }
.ax-node-detail b { display:none; }
.ax-node-detail em { margin-top:4px; color:#95cbe9; font-size:7px; letter-spacing:.07em; }
.ax-convergence-active[data-ax-focus]:not([data-ax-focus=""]) .org-node[data-node^="ax-"] { opacity:.76!important; }
.ax-convergence-active .org-node[data-node^="ax-"].is-ax-focused { z-index:25; min-height:58px; opacity:1!important; scale:1.04; border-color:rgba(133,219,255,.9); background:radial-gradient(circle at 36% 24%,rgba(52,143,194,.98),rgba(13,57,84,.96) 74%); box-shadow:0 14px 34px rgba(49,159,226,.28),inset 0 1px 0 rgba(205,239,255,.2); }
.ax-convergence-active .org-node[data-node^="ax-"].is-ax-focused .ax-node-detail { max-height:18px; margin-top:2px; opacity:1; }
.ax-convergence-active[data-ax-focus]:not([data-ax-focus=""]) .org-network-svg path[data-kind="ax"] { opacity:.16!important; }
.ax-convergence-active .org-network-svg path[data-kind="ax"].is-ax-focused { opacity:1!important; stroke:#6bc8ff; stroke-width:1.8; }
.org-node[data-node^="rail-"] { width:150px; min-height:62px; }
.ecosystem-partners { position:absolute; z-index:7; top:70%; left:50%; width:min(680px,72vw); text-align:center; opacity:0; transform:translate(-50%,12px); transition:opacity .35s,transform .35s; pointer-events:none; }
.ecosystem-active .ecosystem-partners { opacity:1; transform:translate(-50%,0); }
.ecosystem-partners p { margin:0 0 10px; color:#7fa9c7; font-size:10px; letter-spacing:.06em; }
.partner-logo-grid { width:min(600px,100%); margin:0 auto; display:grid; grid-template-columns:repeat(6,1fr); align-items:center; gap:5px 26px; }
.partner-logo-grid img { display:block; width:100%; height:48px; object-fit:contain; animation:ecosystemLogoFloat 5s ease-in-out infinite; filter:drop-shadow(0 8px 14px rgba(0,0,0,.22)); }
.partner-logo-grid img:nth-child(1) { grid-column:1 / span 2; }
.partner-logo-grid img:nth-child(2) { grid-column:3 / span 2; animation-delay:-.8s; }
.partner-logo-grid img:nth-child(3) { grid-column:5 / span 2; animation-delay:-1.6s; }
.partner-logo-grid img:nth-child(4) { grid-column:2 / span 2; animation-delay:-2.4s; }
.partner-logo-grid img:nth-child(5) { grid-column:4 / span 2; animation-delay:-3.2s; }
@keyframes ecosystemLogoFloat { 0%,100% { transform:translateY(3px); } 50% { transform:translateY(-5px); } }
.ecosystem-active .org-node[data-node="edu"],.ecosystem-active .org-node[data-node="research"],.ecosystem-active .org-node[data-node="infra"] { width:clamp(164px,13vw,196px); min-height:clamp(164px,13vw,196px); padding:22px; border:1px solid rgba(61,128,174,.42); border-radius:50%; background:radial-gradient(circle at 40% 32%,rgba(18,81,128,.58),rgba(5,24,39,.72) 70%); box-shadow:none; }
.ecosystem-active .org-node[data-node="edu"] strong,.ecosystem-active .org-node[data-node="research"] strong,.ecosystem-active .org-node[data-node="infra"] strong { font-size:clamp(14px,1.25vw,18px); }
.ecosystem-active .org-node[data-node="edu"] small,.ecosystem-active .org-node[data-node="research"] small,.ecosystem-active .org-node[data-node="infra"] small { margin-top:9px; color:#78b8e3; font-size:10px; letter-spacing:-.01em; }
.org-network-svg path[data-kind="ecos-link"] { stroke:rgba(65,163,230,.48); stroke-width:1.2; }
.growth-supports { position:absolute; z-index:5; top:44%; left:50%; width:min(1100px,80vw); display:grid; grid-template-columns:repeat(3,1fr); gap:8%; opacity:0; transform:translateX(-50%); transition:opacity .35s,transform .35s; pointer-events:none; }
.org-graph-sticky:has(.org-node[data-node^="rail-"][style*="opacity: 1"]) .growth-supports { opacity:1; }
.org-graph-sticky.growth-finalized .growth-supports { opacity:0!important; transform:translate(-50%,-8px); }
.growth-supports article { position:relative; padding:0 0 13px; border-bottom:1px solid rgba(91,160,209,.2); color:#68859b; opacity:.38; transition:opacity .3s,color .3s,border-color .3s,transform .3s; }
.growth-supports article::after { content:""; position:absolute; left:0; bottom:-1px; width:0; height:1px; background:#4aaef2; transition:width .45s; }
.growth-supports article.is-active,.growth-supports article.is-preview { color:#9bc8e8; opacity:1; transform:translateY(-4px); }
.growth-supports article.is-active::after,.growth-supports article.is-preview::after { width:100%; }
.growth-supports small,.growth-supports b,.growth-supports span { display:block; }
.growth-supports small { margin-bottom:6px; font-size:8px; letter-spacing:.14em; }
.growth-supports b { color:inherit; font-size:12px; letter-spacing:.08em; }
.growth-supports span { margin-top:7px; font-size:11px; }
.growth-rail-track,.growth-rail-progress { fill:none; vector-effect:non-scaling-stroke; }
.growth-rail-track { stroke:rgba(57,125,174,.22); stroke-width:1.3; }
.growth-rail-progress { stroke:#3aaef7; stroke-width:1.8; filter:drop-shadow(0 0 5px rgba(50,174,255,.55)); }
.growth-rail-point { fill:#a9e5ff; filter:drop-shadow(0 0 4px #4cbcff) drop-shadow(0 0 12px rgba(57,174,255,.75)); }
.org-node[data-node^="rail-"] { --rail-active:0; overflow:visible; border-color:rgba(91,161,211,calc(.2 + var(--rail-active)*.5)); background:rgba(5,23,38,.82); box-shadow:0 0 calc(var(--rail-active)*28px) rgba(34,156,239,.28); transform-origin:center; }
.org-node[data-node^="rail-"] { scale:calc(1 + var(--rail-active)*.04); transition:border-color .25s,background .25s,box-shadow .25s,scale .25s; }
.org-node[data-node^="rail-"] strong { font-size:16px; }
.org-node[data-node^="rail-"] small { font-size:9px; }
.org-node[data-node^="rail-"].is-active { z-index:18; }
.rail-node-detail { position:absolute; left:50%; bottom:calc(100% + 11px); width:188px; padding:10px 12px; border-left:1px solid rgba(78,173,239,.55); color:#8da9bd; text-align:left; background:linear-gradient(90deg,rgba(7,25,40,.72),transparent); opacity:0; transform:translate(-50%,8px); transition:opacity .3s,transform .3s; pointer-events:none; }
.rail-node-detail i,.rail-node-detail b { display:block; font-style:normal; }
.rail-node-detail i { margin:2px 0; font-size:10px; line-height:1.3; }
.rail-node-detail b { width:max-content; margin-top:9px; padding:4px 8px; border:1px solid rgba(91,174,230,.3); border-radius:999px; color:#78bce9; font-size:9px; letter-spacing:.06em; }
.org-node[data-node^="rail-"].is-active .rail-node-detail,.org-node[data-node^="rail-"].is-complete .rail-node-detail,.org-node[data-node^="rail-"]:hover .rail-node-detail,.org-node[data-node^="rail-"]:focus-visible .rail-node-detail { opacity:1; transform:translate(-50%,0); }
.org-node[data-node^="rail-"].is-passed:not(.is-active) { opacity:.65!important; }
.org-node[data-node^="rail-"]:hover { z-index:20; scale:1.05; border-color:rgba(102,191,250,.75); box-shadow:0 0 26px rgba(34,156,239,.25); }
.growth-final { position:absolute; z-index:6; top:46%; left:50%; text-align:center; opacity:0; transform:translate(-50%,8px); transition:opacity .4s,transform .4s; pointer-events:none; }
.growth-final.visible { opacity:1; transform:translate(-50%,0); }
.growth-final b,.growth-final span { display:block; white-space:nowrap; }
.growth-final b { color:#75b8e5; font-size:11px; letter-spacing:.06em; }
.growth-final span { margin-top:6px; color:#9aacb9; font-size:12px; }
.growth-next { position:absolute; z-index:10; left:50%; bottom:2.8%; border:0; color:#7daac8; background:transparent; font:inherit; font-size:11px; opacity:0; transform:translate(-50%,8px); transition:opacity .3s,transform .3s,color .2s; pointer-events:none; }
.growth-next.visible { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.growth-next:hover { color:#c6e8ff; }
.growth-next span { margin-left:5px; }
@media (max-width:720px) {
  .org-node[data-node^="unit-"] { width:42vw; min-height:64px; padding:10px; }
  .org-node[data-node^="unit-"] strong { font-size:11px; white-space:normal; }
  .ax-convergence-active .org-headings [data-org-heading="2"] { top:2.5%; }
  .ax-heading-copy b { font-size:10px; }
  .ax-heading-copy span { display:none; }
  .ax-convergence-active .org-node[data-node="unit-x"] { width:104px; min-height:104px; }
  .ax-convergence-active .org-node[data-node^="ax-"] { width:42vw; min-height:44px; }
  .partner-logo-grid { gap:2px 8px; }
  .partner-logo-grid img { height:36px; }
  .growth-supports { top:43%; width:86vw; gap:12px; overflow-x:auto; grid-template-columns:repeat(3,190px); scrollbar-width:none; }
  .growth-supports article { min-width:190px; }
  .org-node[data-node^="rail-"] { width:78px; min-height:50px; }
  .org-node[data-node^="rail-"] strong { font-size:11px; }
  .rail-node-detail { width:152px; padding:10px; }
  .rail-node-detail i { font-size:9px; }
  .growth-final b,.growth-final span { max-width:88vw; white-space:normal; }
  .growth-next { bottom:1.5%; width:90vw; }
}
.org-progress-nav { position:fixed; z-index:35; right:22px; top:50%; display:grid; gap:7px; transform:translateY(-50%); }
.org-progress-nav button { width:30px; height:30px; padding:0; border:1px solid transparent; border-radius:50%; color:#516b80; background:transparent; font-size:10px; }
.org-progress-nav button.active { border-color:rgba(102,190,251,.45); color:#a8d9fb; background:rgba(31,123,194,.13); }
.rail-light { position:absolute; z-index:6; top:66%; width:7px; height:7px; border-radius:50%; background:#c4f1ff; box-shadow:0 0 22px 8px rgba(0,151,255,.72); transform:translate(-50%,-50%); pointer-events:none; }

@media (max-width:800px) {
  .org-graph-sticky { top:48px; height:calc(100svh - 48px); min-height:520px; }
  .org-steps { margin-top:calc(-100svh + 48px); }
  .org-steps section { height:165svh; scroll-margin-top:48px; }
  .org-headings header { top:6%; width:calc(100% - 36px); }
  .org-headings p { margin-bottom:10px; font-size:10px; }
  .org-headings h1 { font-size:clamp(30px,9.5vw,44px); }
  .org-node { width:88px; min-height:48px; padding:7px; border-radius:12px; }
  .org-node strong { font-size:10px; }
  .org-node[data-node="ai"] { width:88px; min-height:88px; }
  .org-node[data-node="ai"] strong { font-size:17px; }
  .org-node[data-node="a"],.org-node[data-node="d"],.org-node[data-node="p"],.org-node[data-node="x"] { width:50px; min-height:50px; }
  .org-node[data-node="a"] strong,.org-node[data-node="d"] strong,.org-node[data-node="p"] strong,.org-node[data-node="x"] strong { font-size:19px; }
  .org-node[data-node^="ax-"] { width:72px; min-height:28px; padding:5px; }
  .org-node[data-node^="ax-"] strong { max-width:64px; overflow:hidden; text-overflow:ellipsis; font-size:8px; }
  .org-node[data-node^="rail-"] { width:76px; min-height:50px; }
  .org-progress-nav { right:5px; }
  .org-progress-nav button { width:25px; height:25px; font-size:8px; }
}

@media (prefers-reduced-motion:reduce) {
  .org-node,.org-network-svg path,.rail-light { transition:none!important; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } .scrub-video { display:none; } }

/* Compact transparent global navigation */
.site-header { height:52px; padding:0 max(18px,var(--gutter)); gap:0; background:rgba(242,247,253,.16); backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); border-bottom:1px solid rgba(255,255,255,.14); box-shadow:none; }
.site-header .brand { min-width:0; display:flex; align-items:center; gap:14px; }
.pnu-signature { display:block; width:112px; height:29px; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); }
.ai-hub-name { padding-left:14px; border-left:1px solid rgba(255,255,255,.34); color:#fff; font-size:14px; font-weight:700; letter-spacing:-.02em; white-space:nowrap; text-shadow:0 1px 10px rgba(0,31,70,.35); }
.site-header .header-actions { margin-left:auto; display:flex; }
.site-search { position:relative; width:clamp(180px,18vw,280px); height:34px; display:flex; align-items:center; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.1); transition:background .2s,border-color .2s,width .25s; }
.site-search:focus-within { width:clamp(220px,22vw,340px); border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.16); }
.site-search input { width:100%; height:100%; padding:0 42px 0 15px; border:0; outline:0; color:#fff; background:transparent; font-size:13px; }
.site-search input::placeholder { color:rgba(255,255,255,.72); }
.site-search input::-webkit-search-cancel-button { filter:invert(1); opacity:.65; }
.site-header .header-actions .search-button { position:absolute; right:2px; top:2px; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:transparent; box-shadow:none; }
.search-icon { position:absolute; left:8px; top:8px; width:10px; height:10px; border:1.7px solid #fff; border-radius:50%; }
.search-icon::after { content:""; position:absolute; width:6px; height:1.7px; right:-5px; bottom:-3px; border-radius:2px; background:#fff; transform:rotate(45deg); transform-origin:left center; }
.site-header .menu-button,.site-header .global-menu { display:none!important; }
body.nav-hidden:not(.detail-mode) .site-header { transform:none!important; }
.search-status { position:absolute; right:0; top:40px; width:max-content; max-width:280px; color:#fff; font-size:11px; text-shadow:0 1px 8px rgba(0,25,55,.6); }

/* Apple-like hero hierarchy: fixed title, contents shifted right */
.index-overlay { inset:52px 0 0; padding-top:clamp(82px,12vh,128px); }
.index-inner { width:min(var(--content-max),100%); margin:0 auto; display:grid; grid-template-columns:minmax(270px,1fr) minmax(420px,520px); column-gap:clamp(72px,10vw,170px); align-items:start; }
.index-heading h1 { font-size:clamp(42px,4.5vw,60px); line-height:1.12; font-weight:800; letter-spacing:-.055em; }
.index-heading .muted-title { color:#90b7e4; }
.hero-intro-copy { margin-top:28px; max-width:420px; }
.hero-intro-copy strong { display:block; font-size:clamp(16px,1.45vw,21px); font-weight:700; letter-spacing:-.025em; }
.hero-intro-copy p { margin:4px 0 0; color:rgba(255,255,255,.72); font-size:clamp(13px,1vw,16px); line-height:1.55; letter-spacing:-.015em; }
.index-list { width:100%; margin-top:220px; }
.index-item-main { min-height:68px; }
.index-item h3 { font-size:clamp(18px,1.5vw,24px); letter-spacing:-.025em; }
.index-reveal { font-size:13px; }

@media (max-width:800px) {
  .site-header { height:48px; padding:0 16px; }
  .pnu-signature { width:92px; height:24px; }
  .ai-hub-name { padding-left:10px; font-size:12px; }
  .site-header .header-actions .search-button { width:30px; height:30px; }
  .site-search { width:130px; }
  .site-search:focus-within { width:min(190px,48vw); }
  .site-search input { padding-left:13px; }
  .index-overlay { inset:48px 0 0; padding-top:72px; }
  .index-inner { display:block; }
  .index-heading h1 { font-size:38px; }
  .hero-intro-copy { margin-top:22px; }
  .hero-intro-copy strong { font-size:15px; }
  .hero-intro-copy p { font-size:13px; }
  .index-list { margin-top:152px; }
}

/* Admissions detail — information-first light experience */
body.admissions-mode { color:#172b3d; background:#f5f7fa; scroll-snap-type:none; }
body.admissions-mode .detail-nav { color:#172b3d; background:rgba(250,252,254,.82); border-color:rgba(22,54,78,.1); }
.admissions-detail { --ad-blue:#0877d1; --ad-ink:#172b3d; --ad-muted:#687d8e; --ad-surface:#fff; color:var(--ad-ink); background:#f5f7fa; }
.admission-section { position:relative; height:190svh; }
.admission-section.growth { height:220svh; }
.admission-stage { position:sticky; top:52px; height:calc(100svh - 52px); min-height:620px; padding:clamp(46px,7vh,76px) var(--gutter); display:grid; grid-template-columns:minmax(300px,.82fr) minmax(540px,1.18fr); gap:clamp(42px,7vw,110px); align-content:center; align-items:start; overflow:hidden; background:linear-gradient(145deg,#f8fafc,#eef3f7); }
.admission-left { align-self:start; }
.admission-label { margin:0 0 18px; color:var(--ad-blue); font-size:13px; font-weight:700; letter-spacing:.13em; }
.admission-left h1,.admission-left h2 { margin:0; color:var(--ad-ink); font-size:clamp(34px,3.6vw,54px); font-weight:700; line-height:1.1; letter-spacing:-.045em; }
.admission-subtitle { max-width:470px; margin:24px 0 0; color:var(--ad-muted); font-size:clamp(14px,1.25vw,18px); line-height:1.65; }
.admission-right { align-self:start; min-width:0; }
.admission-copy { max-width:680px; margin-bottom:22px; }
.admission-copy small { display:block; margin-bottom:10px; color:var(--ad-blue); font-size:13px; font-weight:700; }
.admission-copy p { margin:7px 0; color:var(--ad-muted); font-size:15px; line-height:1.65; }
.admission-copy strong { color:#365368; }
.admission-section-nav { position:fixed; z-index:26; right:20px; top:50%; display:grid; gap:8px; transform:translateY(-50%); }
.admission-section-nav button { width:40px; height:40px; padding:0; border:1px solid transparent; border-radius:50%; color:#8b9aa5; background:rgba(255,255,255,.7); font-size:10px; white-space:nowrap; transition:color .25s,border-color .25s,background .25s,transform .25s; }
.admission-section-nav button.active,.admission-section-nav button:hover { border-color:rgba(8,119,209,.25); color:var(--ad-blue); background:#fff; transform:scale(1.06); }
.calendar-card { padding:24px; border:1px solid rgba(20,62,92,.1); border-radius:28px; background:#fff; box-shadow:0 22px 60px rgba(40,70,95,.1); }
.calendar-head { display:flex; justify-content:space-between; align-items:start; gap:24px; }
.calendar-head > span { color:#6f8292; font-size:12px; font-weight:700; letter-spacing:.1em; }
.calendar-head b { display:flex; gap:7px; color:#0d6fbd; font-size:clamp(24px,2.6vw,38px); letter-spacing:-.04em; }
.calendar-head i { --show:0; font-style:normal; opacity:calc(.16 + .84 * var(--show)); transform:translateY(calc(10px * (1 - var(--show)))); transition:.2s; }
.calendar-days { --progress:0; position:relative; margin-top:24px; padding:18px 5%; display:grid; grid-template-columns:repeat(4,1fr); }
.calendar-days::before { content:""; position:absolute; left:12.5%; right:12.5%; top:50%; height:3px; border-radius:999px; background:#e3edf4; transform:translateY(-50%); }
.calendar-progress { position:absolute; left:12.5%; top:50%; width:calc(75% * var(--progress)); height:3px; border-radius:999px; background:#1689df; transform:translateY(-50%); }
.calendar-days span { --show:0; position:relative; z-index:2; width:54px; height:54px; margin:auto; border:1px solid #dbe8f0; border-radius:50%; display:grid; place-items:center; color:#497086; background:#fff; font-weight:700; opacity:calc(.35 + .65 * var(--show)); transform:scale(calc(.8 + .2 * var(--show))); }
.calendar-days span::after { content:""; position:absolute; inset:5px; border-radius:50%; background:rgba(22,137,223,calc(.12 * var(--show))); }
.calendar-card > p { margin:6px 0 0; color:#718697; font-size:12px; text-align:center; }
.admission-actions { margin-top:18px; display:flex; align-items:center; gap:14px; }
.admission-actions a,.admission-actions button,.text-cta { min-height:46px; padding:0 18px; border:1px solid rgba(8,119,209,.15); border-radius:14px; display:inline-flex; align-items:center; color:#126eaf; background:#fff; font:inherit; font-size:13px; font-weight:700; text-decoration:none; transition:.22s; }
.admission-actions a { color:#fff; background:#0877d1; box-shadow:0 10px 24px rgba(8,119,209,.18); }
.admission-actions a span { margin-left:8px; transition:transform .22s; }
.admission-actions a:hover span { transform:translateX(10px); }
.admission-actions button:hover,.text-cta:hover { border-color:rgba(8,119,209,.35); background:#f8fcff; }
.major-scale { position:relative; min-height:430px; display:grid; place-items:center; }
.major-total { --split:0; position:absolute; z-index:3; top:5px; left:50%; display:flex; flex-direction:column; align-items:center; opacity:calc(1 - .15 * var(--split)); transform:translateX(-50%) scale(calc(1 - .25 * var(--split))); }
.major-total strong { color:#0877d1; font-size:clamp(64px,7vw,104px); line-height:1; letter-spacing:-.06em; }
.major-total span { margin-top:7px; color:#738899; font-size:12px; }
.major-lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.major-lines path { fill:none; stroke:#8cc6ed; stroke-width:1.4; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--draw,0)); }
.major-axis-grid { position:absolute; left:0; right:0; bottom:8px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.major-axis { --show:0; min-width:0; min-height:190px; padding:18px 14px; border:1px solid rgba(20,86,130,.1); border-radius:24px; display:flex; flex-direction:column; align-items:flex-start; color:#17364c; background:rgba(255,255,255,.88); box-shadow:0 16px 35px rgba(41,74,98,.08); text-align:left; opacity:var(--show); transform:translateY(calc(22px * (1 - var(--show)))); transition:opacity .25s,transform .25s,box-shadow .2s; }
.major-axis small { color:#0877d1; font-size:10px; font-weight:800; letter-spacing:.07em; }
.major-axis b { margin-top:14px; color:#0d70b8; font-size:25px; }
.major-axis strong { margin-top:7px; font-size:14px; line-height:1.35; }
.major-axis span { margin-top:auto; color:#7b91a1; font-size:9px; }
.major-axis-grid:has(.major-axis:hover) .major-axis:not(:hover) { opacity:.48!important; }
.major-axis:hover { transform:translateY(-5px); box-shadow:0 20px 42px rgba(27,119,181,.15); }
.project-visual { --project:0; position:relative; min-height:430px; padding:34px; border:1px solid rgba(25,77,112,.1); border-radius:32px; background:#fff; box-shadow:0 22px 60px rgba(40,70,95,.09); overflow:hidden; }
.project-visual svg { position:absolute; inset:70px 4% auto; width:92%; height:190px; }
.project-path { fill:none; stroke:#63b1e7; stroke-width:2; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--project)); }
.project-visual circle { fill:#1689df; opacity:calc(.12 + .75 * var(--project)); }
.project-steps { position:relative; z-index:2; min-height:290px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; gap:12px; }
.project-steps article { min-height:130px; padding:18px 14px; border-radius:20px; display:flex; flex-direction:column; justify-content:center; color:#6d8291; background:#f2f6f9; opacity:.42; transform:scale(.94); transition:.3s; }
.project-steps article.active { color:#163a52; background:#e4f3fd; opacity:1; transform:scale(1); }
.project-steps small { color:#1689df; font-size:9px; letter-spacing:.09em; }
.project-steps b { margin-top:8px; font-size:14px; }
.project-steps span { margin-top:7px; font-size:10px; line-height:1.45; }
.project-support { position:absolute; left:0; right:0; bottom:20px; margin:0; color:#5d9bc5; font-size:10px; font-weight:700; letter-spacing:.12em; text-align:center; }
.growth-path { --path:0; position:relative; min-height:190px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; align-items:center; }
.growth-path::before { content:""; position:absolute; left:8%; right:8%; top:50%; height:2px; background:#dce8ef; }
.growth-path > i { position:absolute; left:8%; top:50%; width:calc(84% * var(--path)); height:2px; background:#1689df; }
.growth-path article { --show:0; position:relative; z-index:2; min-height:112px; padding:18px; border-radius:22px; display:flex; flex-direction:column; justify-content:center; background:#fff; box-shadow:0 14px 34px rgba(36,73,99,.09); opacity:calc(.35 + .65 * var(--show)); transform:scale(calc(.92 + .08 * var(--show))); }
.growth-path small { color:#1689df; font-size:10px; font-weight:800; letter-spacing:.08em; }
.growth-path b { margin-top:8px; font-size:14px; }
.program-preview { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 18px; }
.program-preview span { padding:8px 11px; border-radius:999px; color:#537387; background:#e8f1f6; font-size:10px; }

/* Faculty explorer */
body.faculty-mode{background:#f3f6f8;color:#13283a}
body.faculty-mode .site-header{display:none}
body.faculty-mode .detail-nav{color:#173047;background:rgba(247,250,252,.82);border-color:rgba(29,74,108,.1)}
.faculty-detail{min-height:100vh;background:linear-gradient(180deg,#f8fafb 0,#eef3f6 100%);color:#152d40;padding-top:52px}
.faculty-hero{position:relative;display:flex;height:clamp(210px,25vh,270px);box-sizing:border-box;padding:clamp(54px,6vh,70px) var(--gutter) 24px;flex-direction:column;align-items:center;justify-content:center;max-width:1500px;margin:auto;text-align:center}
.faculty-label{position:absolute;top:clamp(62px,8vh,88px);left:var(--gutter);margin:0;color:#1676c4;font-size:12px;line-height:1;font-weight:750;letter-spacing:.16em}
.faculty-hero h1{order:2;margin:12px 0 0;color:#10283c;font-size:clamp(36px,3.6vw,54px);line-height:1.08;letter-spacing:-.05em}
.faculty-hero-subtitle{order:1;margin:0;color:#61798a;font-size:clamp(16px,1.35vw,20px);font-weight:650;line-height:1.45;letter-spacing:-.025em}
.faculty-hero>span{order:3;margin-top:15px;color:#8293a0;font-size:13px;line-height:1.7}
.faculty-explorer{position:relative;max-width:1500px;margin:auto;padding:0 var(--gutter) 120px}
.faculty-representatives{display:flex;width:min(1740px,calc(100vw - 48px));height:clamp(270px,32vh,340px);min-height:0;max-height:none;margin-left:50%;gap:14px;align-items:stretch;transform:translateX(-50%)}
.faculty-rep-card{position:relative;display:flex;min-width:0;padding:14px;flex:1 1 0;flex-direction:column;justify-content:center;border:1px solid rgba(32,94,135,.13);border-radius:24px;background:rgba(255,255,255,.72);color:#18364d;text-align:left;box-shadow:0 8px 30px rgba(26,63,90,.045);cursor:pointer;overflow:hidden;transition:flex-grow .42s cubic-bezier(.22,.61,.36,1),transform .32s,opacity .28s,border-color .28s,box-shadow .28s}
.faculty-rep-card:hover,.faculty-rep-card:focus-visible{display:grid;grid-template-columns:minmax(116px,.8fr) minmax(150px,1.2fr);grid-template-rows:auto auto auto auto 1fr;column-gap:16px;align-content:start;justify-content:stretch;flex-grow:2.15}
.faculty-rep-card:hover .faculty-unit-name,.faculty-rep-card:focus-visible .faculty-unit-name{grid-column:1/-1}
.faculty-rep-card:hover .faculty-portrait,.faculty-rep-card:focus-visible .faculty-portrait{display:block;grid-column:1;grid-row:2/6;margin-bottom:0;animation:facultyPortraitIn .3s ease both}
.faculty-rep-card:hover>strong,.faculty-rep-card:focus-visible>strong{grid-column:2;grid-row:2;align-self:end}
.faculty-rep-card:hover>small,.faculty-rep-card:focus-visible>small{grid-column:2;grid-row:3}
.faculty-rep-card:hover>em,.faculty-rep-card:focus-visible>em{grid-column:2;grid-row:4}
.faculty-rep-card:hover>i,.faculty-rep-card:focus-visible>i{position:absolute;left:14px;bottom:12px}
.faculty-rep-card:hover,.faculty-rep-card:focus-visible,.faculty-rep-card.selected{transform:translateY(-5px) scale(1.025);border-color:rgba(31,132,204,.55);box-shadow:0 18px 48px rgba(22,91,139,.12)}
.faculty-rep-card.dimmed{opacity:.52}.faculty-rep-card:focus-visible{outline:2px solid #1684cf;outline-offset:3px}
.faculty-unit-name{display:block;min-height:38px;color:#3e6987;font-size:10px;font-weight:700;line-height:1.4;word-break:keep-all}
.faculty-portrait{display:none;width:100%;height:clamp(170px,20vh,220px);min-height:0;aspect-ratio:auto;margin:9px 0 12px;border-radius:17px;background:#dceaf3;overflow:hidden}
.faculty-portrait img{display:block;width:100%;height:100%;object-fit:cover}
@keyframes facultyPortraitIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.faculty-rep-card strong,.faculty-rep-card small,.faculty-rep-card em,.faculty-rep-card i{display:block}.faculty-rep-card strong{font-size:18px}.faculty-rep-card small{margin-top:3px;color:#698090;font-size:10px}.faculty-rep-card em{margin-top:10px;color:#3b596d;font-size:10px;font-style:normal;line-height:1.45;word-break:keep-all}.faculty-rep-card i{margin-top:10px;color:#9b7b45;font-size:8px;font-style:normal}
.faculty-rep-expanded{display:block;width:0;max-height:180px;margin:0;opacity:0;overflow:hidden;transition:width .38s cubic-bezier(.22,.61,.36,1),opacity .24s}
.faculty-rep-expanded>b,.faculty-rep-expanded>span{display:block}.faculty-rep-expanded>b{margin-top:10px;color:#1878b7;font-size:8px;letter-spacing:.07em}.faculty-rep-expanded>span{display:-webkit-box;margin-top:4px;color:#657d8d;font-size:9px;line-height:1.5;text-align:left;white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.faculty-rep-card:hover .faculty-rep-expanded,.faculty-rep-card:focus-visible .faculty-rep-expanded{grid-column:2;grid-row:5;width:100%;margin-top:8px;opacity:1}
.faculty-group-head,.faculty-grid{position:relative;z-index:1}
.faculty-panel dl{margin:0;display:grid;gap:14px}.faculty-panel dt{margin-bottom:5px;color:#287eb7;font-size:9px;font-weight:750;letter-spacing:.08em}
.faculty-group-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:22px 0}.faculty-group-head p{margin:0 0 7px;color:#3185bb;font-size:9px;letter-spacing:.13em}.faculty-group-head h2{margin:0;font-size:clamp(26px,2.5vw,38px);letter-spacing:-.035em}.faculty-group-head input{width:min(340px,30vw);padding:12px 18px;border:1px solid rgba(44,102,140,.17);border-radius:999px;background:rgba(255,255,255,.8);color:#19384e;font:inherit;font-size:11px;outline:none}.faculty-group-head input:focus{border-color:#2588cb;box-shadow:0 0 0 3px rgba(37,136,203,.1)}
.faculty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;transition:opacity .16s,transform .16s}.faculty-grid.switching{opacity:0;transform:translateY(8px)}
.faculty-person-card{display:grid;grid-template-columns:48px 1fr;gap:13px;min-height:116px;padding:17px;border:1px solid rgba(39,94,130,.12);border-radius:19px;background:rgba(255,255,255,.65);color:#1a374d;text-align:left;cursor:pointer;transition:.25s}.faculty-person-card:hover,.faculty-person-card:focus-visible{border-color:rgba(38,139,205,.48);background:white;transform:translateY(-3px)}
.faculty-mini-portrait{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#dceaf2;color:#2878aa;font-size:12px;font-weight:740}.faculty-person-card strong,.faculty-person-card small,.faculty-person-card em,.faculty-person-card i{display:block}.faculty-person-card strong{font-size:15px}.faculty-person-card small{margin-top:2px;color:#82929d;font-size:9px}.faculty-person-card em{margin-top:8px;color:#49677b;font-size:10px;font-style:normal;line-height:1.4;word-break:keep-all}.faculty-person-card i{display:-webkit-box;margin-top:8px;color:#7e919e;font-size:9px;font-style:normal;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.faculty-no-result{grid-column:1/-1;padding:50px;text-align:center;color:#8093a1}
.faculty-panel{position:fixed;z-index:102;top:0;right:0;width:min(520px,92vw);height:100vh;padding:70px 38px 40px;box-sizing:border-box;background:rgba(250,252,253,.96);box-shadow:-25px 0 80px rgba(10,38,58,.18);backdrop-filter:blur(24px);transform:translateX(105%);transition:transform .38s cubic-bezier(.22,.61,.36,1);overflow:auto}.faculty-panel.open{transform:none}.faculty-panel-close{position:absolute;right:24px;top:20px;width:36px;height:36px;border:0;border-radius:50%;background:#e7eef3;color:#294b62;font-size:22px;cursor:pointer}.faculty-panel-person{display:flex;align-items:center;gap:18px;margin:24px 0 32px}.faculty-panel-portrait{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#d7e9f3;color:#1775b4;font-size:24px;font-weight:750}.faculty-panel-person h2{margin:0;font-size:34px}.faculty-panel-person p{margin:5px 0 0;color:#778b99}.faculty-panel dl{gap:20px}.faculty-panel dd{margin:0;color:#526b7c;font-size:12px;line-height:1.75;white-space:pre-line}.faculty-panel-backdrop{position:fixed;z-index:101;inset:0;border:0;background:rgba(11,28,40,.28);backdrop-filter:blur(3px)}.faculty-empty{min-height:100vh;padding:150px var(--gutter);background:#f5f8fa}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.faculty-representatives{display:grid;height:auto;max-height:none;grid-template-columns:repeat(3,1fr)}.faculty-rep-card{min-height:440px}.faculty-rep-card:hover,.faculty-rep-card:focus-visible{display:flex}.faculty-rep-card:hover .faculty-unit-name,.faculty-rep-card:focus-visible .faculty-unit-name,.faculty-rep-card:hover .faculty-portrait,.faculty-rep-card:focus-visible .faculty-portrait,.faculty-rep-card:hover>strong,.faculty-rep-card:focus-visible>strong,.faculty-rep-card:hover>small,.faculty-rep-card:focus-visible>small,.faculty-rep-card:hover>em,.faculty-rep-card:focus-visible>em{grid-column:auto;grid-row:auto}.faculty-rep-card:hover>i,.faculty-rep-card:focus-visible>i{position:static}.faculty-rep-card:hover .faculty-rep-expanded,.faculty-rep-card:focus-visible .faculty-rep-expanded{width:100%;margin-top:12px}.faculty-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.faculty-hero{height:auto;min-height:310px;padding:76px 20px 38px}.faculty-label{top:42px;left:20px}.faculty-hero-subtitle{max-width:290px}.faculty-explorer{padding:0 20px 80px}.faculty-representatives{display:flex;width:auto;height:auto;min-height:0;margin-left:0;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;transform:none}.faculty-rep-card{min-height:440px;flex:0 0 210px;scroll-snap-align:start}.faculty-group-head{display:block}.faculty-group-head input{width:100%;box-sizing:border-box;margin-top:18px}.faculty-grid{grid-template-columns:1fr}.faculty-panel{padding:64px 24px 32px}}

/* III. AI College Programs */
body.programs-mode { background:#020c14; color:#eaf2f8; }
body.programs-mode .site-header { display:none; }
body.programs-mode .detail-nav {
  position:fixed; inset:0 0 auto; z-index:80; height:52px; padding:0 var(--gutter);
  color:#eaf2f8; background:rgba(2,12,20,.76); border-color:rgba(138,190,226,.14);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
}
body.programs-mode .detail-nav button { color:inherit; font-size:13px; font-weight:600; }
body.programs-mode .detail-nav > img { opacity:.55; }
body.programs-mode .subnav-menu { background:rgba(8,25,38,.86); border-color:rgba(130,187,226,.18); backdrop-filter:blur(22px); }
.programs-detail { --blue:#318eea; --sky:#83c9f4; --muted:#89a1b3; position:relative; overflow:clip; background:#020c14; color:#eaf2f8; }
.programs-detail::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.45; background:radial-gradient(circle at 67% 48%,rgba(18,93,147,.13),transparent 34%),radial-gradient(circle at 20% 80%,rgba(28,116,180,.08),transparent 30%); }
.program-section { position:relative; min-height:170svh; }
.program-stage { position:sticky; top:52px; min-height:calc(100svh - 52px); box-sizing:border-box; display:grid; grid-template-columns:minmax(300px,.82fr) minmax(540px,1.18fr); gap:clamp(42px,7vw,110px); align-content:center; align-items:start; padding:clamp(46px,7vh,76px) var(--gutter); }
.program-left { padding-top:clamp(6px,2vh,22px); max-width:470px; }
.program-label { margin:0 0 22px; color:#66b7ed; font-size:12px; line-height:1; font-weight:750; letter-spacing:.16em; }
.program-left h1,.program-left h2 { margin:0 0 20px; color:#f4f7fa; font-size:clamp(36px,3.55vw,56px); line-height:1.08; letter-spacing:-.045em; }
.program-left > strong { display:block; margin-bottom:14px; color:#c6d5df; font-size:clamp(15px,1.25vw,19px); line-height:1.45; }
.program-left > p:last-child { margin:0; max-width:410px; color:#8299aa; font-size:14px; line-height:1.8; word-break:keep-all; }
.program-right { position:relative; min-width:0; align-self:center; }
.program-section-nav { position:fixed; z-index:75; right:20px; top:50%; display:grid; gap:12px; transform:translateY(-50%); }
.program-section-nav button { width:36px; height:36px; padding:0; border:1px solid transparent; border-radius:50%; color:#4d687b; background:transparent; font:700 10px/1 inherit; cursor:pointer; transition:.25s ease; }
.program-section-nav button.active,.program-section-nav button:hover { color:#9fd9ff; border-color:rgba(86,174,232,.45); background:rgba(28,111,169,.12); }
.program-journey { position:fixed; z-index:72; left:50%; bottom:18px; width:min(420px,42vw); display:flex; justify-content:space-between; color:#426174; font-size:8px; font-weight:750; letter-spacing:.15em; transform:translateX(-50%); }
.program-journey i,.program-journey b { position:absolute; left:0; right:0; top:-9px; height:1px; background:rgba(104,166,206,.15); }
.program-journey b { right:auto; width:calc(var(--journey,0)*100%); background:#3f9ddd; transition:width .1s linear; }
.program-journey span.active { color:#7ecbfa; }
.program-persistent-line { position:fixed; z-index:1; inset:52px 0 0; width:100vw; height:calc(100svh - 52px); pointer-events:none; overflow:visible; }
.program-persistent-line path { fill:none; vector-effect:non-scaling-stroke; }
.persistent-line-base { stroke:url(#persistentBaseGradient); stroke-width:1.8; }
.persistent-line-progress { stroke:url(#persistentProgressGradient); stroke-width:2.4; filter:drop-shadow(0 0 5px rgba(64,174,241,.28)); }
.persistent-line-point { fill:#b4e9ff; filter:drop-shadow(0 0 7px #4ebcff); }
@media (max-width:900px){.fellowship-orbits{transform:none}.fellowship-orbits button{transform:none!important}.programs-detail .launch-copy{text-align:left}}

.growth-program-flow,.real-project-flow,.research-continuum,.startup-flow { position:relative; min-height:460px; }
.growth-program-flow > svg,.real-project-flow > svg,.research-continuum > svg,.startup-flow > svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.program-flow-track,.program-flow-progress,.real-project-line,.research-line,.startup-line,.startup-branch { fill:none; stroke:rgba(71,153,208,.2); stroke-width:2; vector-effect:non-scaling-stroke; }
.program-flow-progress { stroke:#45a8eb; stroke-width:2.4; filter:drop-shadow(0 0 5px rgba(64,172,239,.45)); }
.program-blue-point { fill:#a8e5ff; filter:drop-shadow(0 0 8px #48baff); }
.growth-program-flow > button { position:absolute; width:138px; min-height:92px; padding:14px 12px; border:1px solid rgba(130,190,228,.22); border-radius:22px; color:#9fb1be; background:linear-gradient(145deg,rgba(26,61,83,.72),rgba(7,26,39,.8)); text-align:left; cursor:pointer; transition:.28s ease; }
.growth-program-flow > button:nth-of-type(1){left:0;top:135px}.growth-program-flow > button:nth-of-type(2){left:17%;top:135px}.growth-program-flow > button:nth-of-type(3){left:34%;top:135px}.growth-program-flow > button:nth-of-type(4){left:52%;top:135px}.growth-program-flow > button:nth-of-type(5){left:69%;top:135px}.growth-program-flow > button:nth-of-type(6){right:0;top:135px}
.growth-program-flow > button,.real-project-steps article,.research-nodes button,.startup-steps article { translate:0 var(--single-float,0px); transition:translate .52s cubic-bezier(.22,.61,.36,1),transform .28s ease,border-color .28s ease,background .28s ease,opacity .28s ease; }
.growth-program-flow button small,.growth-program-flow button span { display:block; color:#7193a8; font-size:9px; line-height:1.45; }
.growth-program-flow button b { display:block; margin:7px 0; color:#d5e1e8; font-size:16px; }
.growth-program-flow > button.active,.growth-program-flow > button:hover { transform:translateY(-5px) scale(1.035); border-color:rgba(110,199,250,.6); color:white; background:linear-gradient(145deg,rgba(39,133,197,.74),rgba(11,48,74,.9)); box-shadow:0 16px 45px rgba(0,86,145,.18); }
.program-note { margin:14px 0 0; color:#668399; font-size:11px; text-align:center; }

.real-project-steps,.startup-steps,.research-nodes { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.real-project-steps article,.startup-steps article { position:relative; width:17%; min-height:90px; padding:14px 10px; box-sizing:border-box; border-radius:18px; border:1px solid rgba(113,178,221,.18); background:rgba(10,30,44,.75); color:#7894a7; transition:.25s ease; }
.real-project-steps small,.startup-steps small { display:block; color:#5c91b4; font-size:8px; letter-spacing:.09em; }
.real-project-steps b,.startup-steps b { display:block; margin:7px 0; color:#c4d4de; font-size:12px; }
.real-project-steps span { font-size:9px; line-height:1.45; }
.real-project-steps article.active,.real-project-steps article:hover,.startup-steps article.active { border-color:rgba(100,196,249,.55); background:rgba(24,91,134,.48); color:#b9d1df; transform:translateY(-5px); }
.real-project-flow svg circle { fill:#4daee9; opacity:calc(.08 + var(--project,0)*.45); }
.urp-bridge { position:absolute; left:12%; right:8%; bottom:15px; padding:17px 22px; border-left:2px solid #318fca; border-radius:0 16px 16px 0; background:rgba(8,31,47,.72); }
.urp-bridge small { color:#68b9ec; font-size:9px; letter-spacing:.12em; }
.urp-bridge b { display:block; margin-top:8px; color:#aebfca; font-size:11px; line-height:1.65; }

.fast-track { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-radius:18px; background:rgba(16,47,68,.62); }
.fast-track small { color:#74c4f3; font-size:9px; letter-spacing:.1em; }.fast-track b{font-size:22px}.fast-track span{color:#829bac;font-size:10px}
.research-nodes { top:45px; height:330px; }
.research-nodes button { width:21%; min-height:82px; border:1px solid rgba(119,181,221,.2); border-radius:50%; aspect-ratio:1.2; color:#869eae; background:rgba(7,28,42,.78); transition:.25s ease; }
.research-nodes button small,.research-nodes button b { display:block; }.research-nodes button small{color:#63a9d6;font-size:8px}.research-nodes button b{margin-top:7px;font-size:11px}
.research-nodes button.active,.research-nodes button:hover{color:#e7f3fa;border-color:#61b9ee;background:rgba(24,102,151,.48);transform:scale(1.04)}
.fellowship-orbits { position:absolute; left:50%; right:auto; bottom:-52px; width:min(560px,72%); height:176px; transform:translateX(-50%); }
.fellowship-orbits > strong { position:absolute; inset:50% auto auto 50%; color:#e5f1f8; font-size:12px; text-align:center; transform:translate(-50%,-50%); }
.fellowship-orbits button { position:absolute; width:110px; padding:8px; border:1px solid rgba(104,176,220,.24); border-radius:999px; color:#8ba8b9; background:#071b28; font-size:8px; }
.fellowship-orbits button:nth-of-type(1){left:0;top:28px}.fellowship-orbits button:nth-of-type(2){right:0;top:28px}.fellowship-orbits button:nth-of-type(3){left:50%;bottom:0;transform:translateX(-50%)}.fellowship-orbits button span{display:none}.fellowship-orbits button:hover span{display:block;margin-top:6px;line-height:1.4}

.startup-flow { min-height:410px; }
.startup-routes { position:absolute; right:0; bottom:0; display:flex; gap:16px; width:48%; }
.startup-routes article { flex:1; padding:15px; border-radius:17px; border:1px solid rgba(94,177,228,.27); background:rgba(15,54,78,.66); }
.startup-routes small { color:#72bceb;font-size:8px}.startup-routes b{display:block;margin-top:7px;color:#b9cad4;font-size:10px;line-height:1.45}
.programs-detail .launch-copy { position:absolute; left:0; right:0; top:-66px; bottom:auto; width:auto; text-align:center; opacity:1; transform:none; }.programs-detail .launch-copy b,.programs-detail .launch-copy span{display:block}.programs-detail .launch-copy b{font-size:24px}.programs-detail .launch-copy span{margin-top:6px;color:#7892a4;font-size:11px}
.infrastructure-strip { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; align-items:center; margin-top:12px; padding:14px 18px; border-top:1px solid rgba(110,174,214,.2); color:#829bab; font-size:9px; }
.infrastructure-strip small{color:#62b3e7;letter-spacing:.1em}.infrastructure-strip b{color:#c0d0da}.infrastructure-strip span{grid-column:1/-1}.infrastructure-strip button{justify-self:start;padding:0;border:0;color:#73bff0;background:none;font:inherit;cursor:pointer}

@media (max-width:900px){
  .program-persistent-line{display:none}
  .program-section{min-height:auto}.program-stage{position:relative;top:0;min-height:100svh;grid-template-columns:1fr;padding:92px 22px 70px;gap:34px}.program-left{max-width:620px}.program-left h1,.program-left h2{font-size:clamp(34px,10vw,48px)}.program-left>p:last-child{font-size:13px}.program-section-nav{right:8px}.program-journey{display:none}.growth-program-flow,.real-project-flow,.research-continuum,.startup-flow{min-height:auto;padding-top:20px}.growth-program-flow>svg,.real-project-flow>svg,.research-continuum>svg,.startup-flow>svg{display:none}.growth-program-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.growth-program-flow>button{position:relative!important;inset:auto!important;width:auto;min-height:100px}.real-project-steps,.startup-steps,.research-nodes{position:relative;display:grid;grid-template-columns:repeat(2,1fr);height:auto}.real-project-steps article,.startup-steps article,.research-nodes button{width:auto;min-height:90px;aspect-ratio:auto}.urp-bridge,.fellowship-orbits,.startup-routes,.launch-copy{position:relative;inset:auto;width:auto;margin-top:18px}.fellowship-orbits{display:grid;grid-template-columns:repeat(3,1fr);height:auto}.fellowship-orbits>strong{position:relative;inset:auto;grid-column:1/-1;transform:none}.fellowship-orbits button{position:relative!important;inset:auto!important;width:auto}.startup-routes{width:auto}.infrastructure-strip{grid-template-columns:1fr}.infrastructure-strip span{grid-column:auto}
}
.final-admission-cta { margin-top:22px; padding:22px 26px; border-radius:26px; display:grid; grid-template-columns:1fr auto; gap:6px 20px; color:#fff; background:#0877d1; }
.final-admission-cta small { font-size:9px; letter-spacing:.13em; opacity:.74; }
.final-admission-cta strong { grid-column:1; font-size:19px; }
.final-admission-cta span { grid-column:1; font-size:12px; opacity:.8; }
.final-admission-cta a { grid-column:2; grid-row:1 / span 3; align-self:center; padding:12px 15px; border-radius:12px; color:#0877d1; background:#fff; font-size:12px; font-weight:800; text-decoration:none; }

@media (max-width:1000px) {
  .admission-stage { grid-template-columns:1fr; align-content:center; gap:34px; overflow-y:auto; }
  .admission-left { align-self:end; }
  .admission-left h1,.admission-left h2 { font-size:clamp(34px,7vw,50px); }
  .admission-right { align-self:start; }
  .major-scale { min-height:390px; }
}

@media (max-width:720px) {
  .admission-section { height:230svh; }
  .admission-section.growth { height:260svh; }
  .admission-stage { top:48px; height:calc(100svh - 48px); min-height:560px; padding:30px 20px 40px; display:block; overflow-y:auto; }
  .admission-label { margin-bottom:11px; font-size:10px; }
  .admission-left h1,.admission-left h2 { font-size:clamp(32px,10vw,44px); }
  .admission-subtitle { margin-top:14px; font-size:13px; }
  .admission-right { margin-top:30px; }
  .admission-copy p { font-size:13px; }
  .admission-section-nav { display:none; }
  .calendar-head { display:block; }
  .calendar-head b { margin-top:12px; font-size:24px; }
  .calendar-days span { width:44px; height:44px; }
  .admission-actions { align-items:stretch; flex-direction:column; }
  .admission-actions a,.admission-actions button,.text-cta { justify-content:center; width:100%; min-height:48px; }
  .major-scale { min-height:630px; }
  .major-axis-grid { grid-template-columns:repeat(2,1fr); }
  .major-axis { min-height:150px; }
  .major-total strong { font-size:70px; }
  .project-visual { min-height:650px; padding:18px; }
  .project-visual svg { inset:70px 0 auto; width:100%; transform:rotate(90deg); }
  .project-steps { min-height:560px; grid-template-columns:1fr; gap:10px; }
  .project-steps article { min-height:108px; }
  .growth-path { min-height:480px; grid-template-columns:1fr; }
  .growth-path::before,.growth-path > i { left:24px; right:auto; top:8%; width:2px; height:84%; }
  .growth-path > i { height:calc(84% * var(--path)); }
  .growth-path article { min-height:92px; margin-left:18px; }
  .final-admission-cta { grid-template-columns:1fr; }
  .final-admission-cta a { grid-column:1; grid-row:auto; margin-top:10px; text-align:center; }
}

/* 모바일 짧은 화면에서 인덱스 메뉴·푸터가 sticky 스테이지 overflow:hidden에 잘려
   접근 불가하던 문제: 오버레이 자체를 스크롤 가능하게 함 */
@media (max-width:800px) {
  .index-overlay { overflow-y:auto; overscroll-behavior:contain; justify-content:flex-start; }
  .index-overlay .footer { margin-top:auto; padding-top:20px; }
}
