.campus-stack-ready>.campus-group{display:none!important}
.campus-stack{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);column-gap:60px;row-gap:30px;align-items:center;margin-top:28px}
.campus-stack-visual{min-width:0}.campus-stack-scene{position:relative;height:clamp(420px,40vw,550px);perspective:1200px;isolation:isolate;touch-action:pan-y;cursor:grab;--drag-x:0px}
.campus-stack-scene:after{content:"";position:absolute;left:18%;right:18%;bottom:25px;height:40px;border-radius:50%;background:#2222;filter:blur(20px);z-index:-1}
.campus-stack-card{position:absolute;left:50%;top:165px;width:86%;padding:0;border:0;border-radius:22px;overflow:hidden;background:#eee;aspect-ratio:16/10;transform-origin:50% 0;transform:translateX(-50%) translateY(calc(var(--stack-depth)*-29px)) scale(calc(1 - var(--stack-depth)*.085)) rotateX(calc(var(--stack-depth)*1.4deg));box-shadow:0 8px 20px #0002;cursor:pointer;transition:transform .75s cubic-bezier(.22,.75,.22,1),filter .5s,box-shadow .5s;filter:brightness(calc(1 - var(--stack-depth)*.055));will-change:transform;user-select:none;-webkit-user-select:none}
.campus-stack-card[hidden]{display:none}.campus-stack-card.is-front{transform:translateX(calc(-50% + var(--drag-x))) translateY(0) scale(1);box-shadow:0 28px 35px -22px #0005}
.campus-stack-scene.is-dragging{cursor:grabbing}.campus-stack-scene.is-dragging .is-front{transition:none}
.campus-stack-card .campus-photo{height:100%;width:100%;aspect-ratio:auto;border-radius:0}
.campus-stack-card .campus-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,50%);transform:scale(var(--focus-zoom,1));pointer-events:none}
.campus-stack-card .campus-badge{display:none}
.campus-stack-caption{position:absolute;inset:0 0 auto;padding:10px 16px 22px;background:linear-gradient(#0009,transparent);text-align:left;color:#fff;font:500 14px/1.4 Gmarket,sans-serif;pointer-events:none}
.campus-stack-card.is-front .campus-stack-caption{inset:auto 0 0;padding:32px 22px 20px;background:linear-gradient(transparent,#000a);font-size:20px}
@media(hover:hover){.campus-stack-card:not(.is-front):hover{filter:brightness(1.06);transform:translateX(-50%) translateY(calc(var(--stack-depth)*-29px - 7px)) scale(calc(1 - var(--stack-depth)*.085)) rotateX(calc(var(--stack-depth)*1.4deg))}}
.campus-stack-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:10px}
.campus-stack-controls button{width:46px;height:46px;border:1px solid #c8c8c8;border-radius:50%;background:transparent;font-size:22px;cursor:pointer;color:#191919}.campus-stack-controls button:hover{background:#191919;color:#fff}
.campus-stack-status{font-size:14px;min-width:200px;text-align:center}.campus-stack-hint{text-align:center;font-size:13px;color:#666;margin:12px 0 0}
.campus-stack-details{min-width:0}.campus-stack-info{padding:0!important;animation:campusInfoIn .4s ease both}.campus-stack-info[hidden]{display:none!important}
.campus-info .campus-description{font-size:16px;line-height:1.85;color:#555;margin:0 0 20px;max-width:40em;word-break:keep-all;overflow-wrap:anywhere}
.campus-stack-role{color:#d80c24;font-size:14px;letter-spacing:.03em;margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid #ddd}
.campus-stack-info h3{font-size:clamp(26px,2.9vw,40px);line-height:1.45;margin:12px 0 24px}.campus-stack-info .campus-address{font-size:16px!important;line-height:1.85;min-height:0}.campus-stack-info .campus-access{font-size:14px!important}.campus-stack-info .campus-phone{font-size:20px;margin-top:20px}.campus-stack-info .campus-actions{padding-top:24px;margin-top:32px}.campus-stack-info .campus-actions a{font-size:14px}
.campus-stack-picker{grid-column:1/-1;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;border-top:1px solid #ddd;padding-top:28px}
.campus-stack-picker button{font:500 14px/1.5 Gmarket,sans-serif;padding:12px 16px;background:transparent;border:1px solid #ddd;cursor:pointer;color:#555;border-radius:4px}.campus-stack-picker button[aria-pressed=true]{color:#d80c24;border-color:#d80c24;background:#d80c2408}.campus-stack-picker button[hidden]{display:none}
@keyframes campusInfoIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.campus-stack{column-gap:30px}.campus-stack-scene{height:430px}.campus-stack-card{top:160px;width:94%}.campus-stack-status{min-width:0;font-size:13px}.campus-stack-controls{gap:12px}}
@media(max-width:760px){.campus-stack{grid-template-columns:1fr;gap:28px}.campus-stack-scene{height:clamp(340px,86vw,520px);max-width:600px;margin:auto}.campus-stack-card{top:145px;width:90%;border-radius:16px;transform:translateX(-50%) translateY(calc(var(--stack-depth)*-26px)) scale(calc(1 - var(--stack-depth)*.085))}.campus-stack-card.is-front{transform:translateX(calc(-50% + var(--drag-x)))}.campus-stack-details{padding:0 6px}.campus-stack-role{margin-bottom:18px}.campus-stack-info h3{font-size:28px;margin-bottom:16px}.campus-stack-info .campus-actions{margin-top:22px;padding-top:20px}.campus-stack-picker{gap:8px;padding-top:22px}.campus-stack-picker button{padding:10px 12px;font-size:13px}.campus-stack-card.is-front .campus-stack-caption{font-size:17px;padding-bottom:16px}.campus-stack-hint{font-size:13px}}
@media(prefers-reduced-motion:reduce){.campus-stack-card{transition:none}.campus-stack-info{animation:none}}
.campus-stack-play{display:block;margin:16px auto 0;padding:10px 18px;background:transparent;border:1px solid #ccc;border-radius:30px;color:#333;font:500 13px/1.5 Gmarket,sans-serif;cursor:pointer}
.campus-stack:not(.is-expanded) .campus-stack-card{transition:transform 1.65s cubic-bezier(.45,0,.2,1),filter 1.2s,box-shadow 1.2s}
.campus-stack .campus-stack-scene.is-dragging .is-front{transition:none}
.campus-stack-group{display:inline-block;padding:3px 7px;margin-right:8px;border-radius:4px;font:500 12px/1.4 Gmarket,sans-serif;color:#fff;vertical-align:middle}.campus-stack-group.admissions{background:#c82032}.campus-stack-group.preparatory{background:#235b91}.campus-stack.is-expanded .campus-stack-card:not(.is-front) .campus-stack-group{display:table;margin-bottom:4px}
.campus-stack.is-expanded .campus-stack-scene:after{display:none}
.campus-stack.is-expanded .campus-stack-card,.campus-stack.is-expanded .campus-stack-card:hover{left:var(--spread-x,0px);top:var(--spread-y,0px);width:var(--spread-width,100%);transform:none;filter:none;transform-origin:center;box-shadow:0 5px 18px #0002;border-radius:12px;transition:left .75s cubic-bezier(.22,.75,.22,1),top .75s cubic-bezier(.22,.75,.22,1),width .75s cubic-bezier(.22,.75,.22,1),transform .75s,filter .5s}
.campus-stack.is-expanded .campus-stack-card:not(.is-front) .campus-stack-caption{inset:auto 0 0;padding:18px 8px 8px;background:linear-gradient(transparent,#000b);font-size:12px}
.campus-stack.is-expanded .campus-stack-card:not(.is-front):hover{filter:brightness(1.08)}
@media(prefers-reduced-motion:reduce){.campus-stack.is-expanded .campus-stack-card{transition:none}}
@media(prefers-reduced-motion:reduce){.campus-stack:not(.is-expanded) .campus-stack-card{transition:none}}

/* Drop the front card out of the viewport; reveal the next card behind it. */
.campus-stack:not(.is-expanded) .campus-stack-scene{overflow:hidden;overflow:clip}
.campus-stack:not(.is-expanded) .campus-stack-card{transition:transform 1.15s cubic-bezier(.22,.75,.22,1),filter .8s,box-shadow .8s}
.campus-stack .campus-falling-card{pointer-events:none!important;transition:none!important;filter:none!important}
.campus-stack-card.is-stack-overflow{visibility:hidden;pointer-events:none}
.campus-stack-info .campus-actions{flex-wrap:wrap;gap:12px 20px}
.campus-stack-card .campus-poster{background:#f7e3e8}
.campus-stack-card .campus-poster img{object-fit:contain}
@media(prefers-reduced-motion:reduce){.campus-stack:not(.is-expanded) .campus-stack-card{transition:none}}

/* Keep navigation beside the stack; spread all campuses across the section. */
#campus{padding-top:42px;padding-bottom:42px}
#campus .section-heading{margin-bottom:18px}
#campus .section-heading h2{font-size:clamp(30px,3.5vw,48px);line-height:1.35}
#campus .campus-filters{margin-top:16px;margin-bottom:0}
.campus-stack{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px 38px;margin-top:20px;align-items:center}
.campus-stack-card{top:150px;width:90%}
.campus-stack-details .campus-stack-role{margin:0 0 10px;padding-bottom:8px}
.campus-stack-details .campus-stack-info h3{font-size:clamp(24px,2.5vw,34px);margin:8px 0 12px}
.campus-stack-details .campus-description{font-size:14px;line-height:1.7;margin-bottom:10px}
.campus-stack-details .campus-address{font-size:13px!important;line-height:1.6}
.campus-stack-details .campus-phone{font-size:17px;margin-top:10px}
.campus-stack-details .campus-actions{margin-top:12px;padding-top:12px;gap:8px 14px}
.campus-stack-details .campus-actions a{font-size:12px}
.campus-stack-details .campus-stack-controls{justify-content:flex-start;gap:12px;margin-top:20px}
.campus-stack-details .campus-stack-status{text-align:left;min-width:0;font-size:12px}
.campus-stack-details .campus-stack-play{margin:10px 0 0;padding:8px 14px}
.campus-stack-details .campus-stack-hint{text-align:left;margin-top:10px}
.campus-stack-picker{padding-top:14px;gap:6px}
.campus-stack-picker button{padding:7px 10px;font-size:12px}
.campus-stack.is-expanded{display:block;position:relative}
.campus-stack.is-expanded .campus-stack-details{position:absolute;right:0;top:0;width:40%;padding:0}
.campus-stack.is-expanded .campus-stack-picker{display:none}
.campus-stack.is-expanded .campus-stack-card:not(.is-front) .campus-stack-caption{font-size:11px;padding:16px 7px 7px}
.campus-stack.is-expanded .campus-stack-card:not(.is-front) .campus-stack-group{font-size:10px;margin-bottom:2px;padding:2px 5px}
@media(max-width:760px){.campus-stack{grid-template-columns:1fr;gap:16px}.campus-stack-card{top:145px}.campus-stack-details .campus-stack-controls{margin-top:12px}.campus-stack.is-expanded .campus-stack-details{width:100%;left:0;right:0}.campus-stack.is-expanded .campus-stack-scene{max-width:none}.campus-stack.is-expanded .campus-stack-card.is-front .campus-stack-caption{font-size:16px}}

/* Reserve enough room for the longest campus label without moving arrows. */
.campus-stack-details .campus-stack-controls{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;width:356px;max-width:100%;justify-content:start;gap:12px}
.campus-stack-details .campus-stack-status{width:100%;min-width:0;text-align:center;white-space:nowrap}
@media(max-width:1000px){.campus-stack-details .campus-stack-controls{grid-template-columns:40px minmax(0,1fr) 40px;width:100%;max-width:356px;gap:8px}.campus-stack-details .campus-stack-controls button{width:40px;height:40px}.campus-stack-details .campus-stack-status{width:100%;font-size:11px}}

.campus-fee-link{margin:10px 0;font-size:14px;line-height:1.6}.campus-fee-link a{color:#555;text-decoration:underline;text-underline-offset:4px}.campus-fee-link a:hover,.campus-fee-link a:focus-visible{color:#c62032}
