.campus-route{background:#17090e}
.campus-route .campus-panel{padding-right:3vw;padding-bottom:140px}
.campus-route .campus-panel .page-panel-inner{grid-template-columns:.66fr 1.5fr;gap:25px 2vw;align-items:center;min-height:calc(var(--screen-height) - var(--head-safe) - 105px)}
.campus-copy{position:relative;z-index:2}
.campus-copy h1{font-size:clamp(38px,4.1vw,68px);line-height:1.35}
.campus-intro{font-size:14px;line-height:2.1;color:#bba99b;margin:30px 0 0;letter-spacing:.025em}
.campus-views{display:flex;align-items:center;gap:27px;margin-top:38px}
.campus-views button{font:inherit;font-size:14px;padding:0 0 12px;border:0;border-bottom:1px solid #b3986733;background:transparent;color:#b4a298;cursor:pointer;transition:color .3s,border-color .3s}
.campus-views button[aria-pressed=true]{color:#ecd0a0;border-color:#dfbd86}
.campus-views button span{margin-left:9px}
.campus-views button:hover{color:#f5e7cf}
.campus-views button:disabled{cursor:default;opacity:.5}
.campus-views button:focus-visible{outline:1px solid #d5ae75;outline-offset:6px}
.campus-view-hint{font-size:12px;line-height:1.9;color:#bba99b;max-width:27em;min-height:3.8em;margin:18px 0 0}
.campus-experience{position:relative;min-width:0;align-self:center}
.campus-stage{position:relative;width:100%;height:clamp(350px,calc(100svh - var(--head-safe) - 160px),620px);min-height:0;overflow:visible;outline:none;cursor:default;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.campus-experience[data-phase=space] .campus-stage{cursor:grab;touch-action:none}
.campus-experience[data-phase=space] .campus-stage.is-dragging{cursor:grabbing}
.campus-stage:focus-visible{outline:1px solid #d5ae7570;outline-offset:5px}
.campus-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.campus-canvas{opacity:0}
.campus-experience.is-ready .campus-canvas{opacity:1}
.campus-loading,.campus-no-script{position:absolute;inset:0;display:grid;place-content:center;padding:30px;color:#c5b6a7;font-size:14px;line-height:1.9;text-align:center}
.campus-experience.is-ready .campus-loading{display:none}
.campus-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.campus-functions{grid-column:1/-1;margin:0 3vw 0 0;padding:35px 0 0;border-top:1px solid #c8a76d35}
.campus-functions>h2{font-size:clamp(22px,2.05vw,31px);font-weight:350;line-height:1.5;letter-spacing:-.025em;color:#ecd0a0;margin:0 0 28px}
.campus-function-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.campus-function-grid h3{font-size:16px;font-weight:400;line-height:1.5;color:#eee0d4;margin:0 0 13px}
.campus-function-grid p{font-size:14px;line-height:1.9;color:#bba99b;margin:0;max-width:26em}
@media(min-width:1700px){.campus-copy h1{font-size:70px}}
@media(max-width:1050px) and (min-width:761px){.campus-route .campus-panel .page-panel-inner{grid-template-columns:.8fr 1.4fr;gap:25px 1vw}.campus-copy h1{font-size:39px}.campus-intro{font-size:13px}.campus-stage{min-height:0}.campus-views{gap:22px}.campus-function-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px}}
@media(max-width:760px){.campus-route .campus-panel{padding:calc(var(--head-safe) + 22px) 6vw 120px}.campus-route .campus-panel .page-panel-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0}.campus-copy h1{font-size:clamp(33px,8.5vw,49px);line-height:1.25}.campus-intro{font-size:13px;margin-top:20px;line-height:1.9}.campus-views{gap:24px;margin-top:25px}.campus-views button{font-size:13px;padding-bottom:9px}.campus-view-hint{margin-top:14px;min-height:3.8em;max-width:29em}.campus-stage{width:calc(100% + 10vw);height:auto;min-height:0;max-height:none;aspect-ratio:1.06;margin-inline:-5vw}.campus-experience{width:100%;align-self:stretch;margin-top:0}.campus-functions{margin:10px 0 0;padding-top:27px}.campus-functions>h2{font-size:23px;margin-bottom:24px}.campus-function-grid{grid-template-columns:1fr 1fr;gap:27px 22px}.campus-function-grid h3{font-size:16px;margin-bottom:10px}.campus-function-grid p{font-size:14px;line-height:1.85}}
@media(max-width:420px){.campus-function-grid{grid-template-columns:1fr;gap:24px}.campus-function-grid p{max-width:31em}}
@media(prefers-reduced-motion:reduce){.campus-views button{transition:none}}
.campus-interiors{grid-column:1/-1;margin:28px 3vw 0 0;padding-top:35px;border-top:1px solid #c8a76d35}
.campus-interiors>header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.campus-interiors h2{font-size:clamp(22px,2.05vw,31px);font-weight:350;line-height:1.5;color:#ecd0a0;margin:0;letter-spacing:-.025em}
.campus-interiors>header p{font-size:12px;color:#bba99b;line-height:1.8;margin:0;white-space:nowrap}
.campus-interior-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.campus-interior-grid figure{margin:0;min-width:0}
.campus-interior-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.campus-interior-grid figcaption{font-size:14px;line-height:1.8;color:#e2ccbc;margin-top:15px}
.campus-interior-grid figcaption span{font-size:12px;color:#bba99b}
@media(max-width:760px){.campus-interiors{margin:24px 0 0;padding-top:27px}.campus-interiors>header{display:block;margin-bottom:22px}.campus-interiors h2{font-size:23px}.campus-interiors>header p{margin-top:9px}.campus-interior-grid{grid-template-columns:1fr;gap:28px}.campus-interior-grid figcaption{margin-top:12px}}
