.campus-carousel{position:relative;min-width:0;width:100%;height:570px;padding-bottom:24px;isolation:isolate}.campus-viewport{position:absolute;inset:0 0 24px;border-radius:130px 18px 18px;overflow:hidden;background:#173d48;box-shadow:0 20px 55px #13303b18}.campus-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease}.campus-slide.is-active{opacity:1;visibility:visible;z-index:1}.campus-image{display:block;width:100%;height:100%;object-fit:cover}.campus-slide:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#051c26f2);pointer-events:none}.campus-map{position:absolute;right:18px;top:18px;z-index:2;width:142px;padding:9px 10px 11px;background:transparent;border:0;box-shadow:none;color:#fff;text-shadow:0 1px 4px #092d3d,0 0 8px #092d3d;text-align:center}.campus-map svg{display:block;width:100%;height:96px;filter:drop-shadow(0 1px 3px #092d3d99)}.campus-map span{display:block;font-size:.8rem;font-weight:700;line-height:1.25}.campus-map small{display:block;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;margin-top:3px;color:#fff}.campus-caption{position:absolute;left:28px;right:26px;bottom:82px;z-index:2;color:#fff}.campus-caption>span{font-size:.82rem;color:#d4e9ee;letter-spacing:.035em}.campus-caption strong{display:block;font-family:Manrope,sans-serif;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:600;line-height:1.18;letter-spacing:-.035em;margin-top:8px;max-width:410px}.campus-controls{position:absolute;z-index:3;bottom:45px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.campus-dots,.campus-actions{display:flex;align-items:center;gap:6px}.campus-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:38px;border:1px solid #ffffff5c;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer;font-size:1rem;transition:background .2s}.campus-controls button:hover{background:#ffffff32}.campus-controls button:focus-visible{outline:3px solid white;outline-offset:3px}.campus-dots button{border:0;background:transparent;min-width:25px;height:38px}.campus-dots button span{width:7px;height:7px;border-radius:8px;background:#ffffff70;transition:width .2s}.campus-dots button[aria-pressed=true] span{width:22px;background:#fff}.campus-credit{position:absolute;bottom:0;right:0;font-size:.68rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}@media(min-width:1500px){.campus-carousel{height:615px}}@media(max-width:850px){.campus-carousel{height:530px}.campus-map{width:118px;right:12px;top:12px}.campus-map svg{height:78px}.campus-caption{left:22px;right:18px}.campus-controls{left:16px;right:16px}.campus-controls button{min-width:32px}.campus-dots button{min-width:22px}}@media(max-width:600px){.campus-carousel{height:480px}.campus-viewport{border-top-left-radius:90px}.campus-map{width:130px}.campus-map svg{height:86px}.campus-caption strong{font-size:1.65rem}.campus-caption{bottom:85px}.campus-controls{left:20px;right:20px}}@media(prefers-reduced-motion:reduce){.campus-slide,.campus-controls button,.campus-dots button span{transition:none}}.campus-count{font-size:.9rem;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.06em}.campus-count>span{color:#c8dfe5;font-size:.78rem}.campus-caption strong{margin-top:0}.campus-showcase{min-width:0;width:100%}.campus-school-list{margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 20px}.campus-school-list summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--teal)}.campus-school-list p{font-size:.78rem;color:var(--muted);margin:14px 0}.campus-school-list>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campus-school-list button{text-align:left;background:var(--pale);border:1px solid transparent;border-radius:10px;padding:10px;color:var(--dark);cursor:pointer;min-width:0}.campus-school-list button[aria-pressed=true]{border-color:var(--teal);background:#e3f2f3}.campus-school-list button span{display:block;font:600 .77rem/1.35 Manrope,sans-serif}.campus-school-list button small{display:block;font-size:.65rem;margin-top:4px;color:var(--muted)}.campus-school-list button:focus-visible,.campus-school-list summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}@media(max-width:480px){.campus-school-list>div{grid-template-columns:1fr}}
