.campus-tour{padding:0;background:#07101a;color:#fff;scroll-margin-top:110px}.tour-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tour-stage{--tour-gold:#e6b44d;position:relative;isolation:isolate;background:#07101a;color:#fff;font-family:Geist,Arial,sans-serif;overflow:hidden}.tour-scene{position:relative;min-height:660px;background:#0b1521;color:#fff}.tour-stage.is-ready{height:calc(100svh - 110px);min-height:660px;max-height:1000px}.tour-stage.is-ready .tour-scene{position:absolute;inset:0;min-height:0}.tour-scene[hidden]{display:none}.tour-image{position:absolute;inset:0;overflow:hidden;z-index:0}.tour-image>img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}.tour-photo-enter{animation:tour-photo-in .42s ease-out both}@keyframes tour-photo-in{from{opacity:.25;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.tour-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgb(3 10 18 / .90) 0%,rgb(6 17 29 / .70) 22%,rgb(6 17 29 / .22) 58%,rgb(4 12 22 / .32) 100%),linear-gradient(0deg,rgb(3 10 18 / .9) 0%,rgb(3 10 18 / .10) 35%,rgb(3 10 18 / .08) 80%,rgb(3 10 18 / .40) 100%)}.tour-topbar{position:absolute;z-index:4;inset:0 0 auto;display:none;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px}.is-ready .tour-topbar{display:flex}.tour-brand{display:flex;align-items:center;gap:12px;font:400 10px/1.5 'Geist Mono',monospace;letter-spacing:.18em;color:#f1f2f4;margin:0}.tour-brand>span{width:7px;height:7px;border-radius:50%;background:#d6173b;box-shadow:0 0 12px #d6173b99;flex-shrink:0}.tour-enter,.tour-playback{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #fff6;border-radius:999px;color:#fff;background:#08142155;font:400 10px/1.5 'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.tour-enter:hover,.tour-playback:hover{background:#ffffff15;border-color:#ffffffad}.tour-enter:active,.tour-playback:active{background:#ffffff26}.tour-copy{position:absolute;z-index:2;left:30px;top:46%;transform:translateY(-50%);max-width:510px;padding-right:12px}.tour-count{font:400 12px/1.5 'Geist Mono',monospace;letter-spacing:.14em;color:var(--tour-gold);margin:0 0 24px}.tour-copy h3{font:200 clamp(48px,4.27vw,86px)/1.08 Geist,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 24px;color:#f5f5f5}.tour-description{max-width:43ch;font:400 17px/1.65 Geist,Arial,sans-serif;letter-spacing:0;color:#e0e2e6;margin:0}.tour-directions{position:absolute;z-index:4;right:38px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;gap:14px}.is-ready .tour-directions{display:flex}.tour-directions button{display:grid;place-items:center;width:52px;height:52px;padding:12px;border:1px solid #fff6;border-radius:50%;background:#08142155;color:#fff}.tour-directions button:hover:not(:disabled){background:#ffffff18;border-color:#fff}.tour-directions button:active:not(:disabled){background:#ffffff26}.tour-directions button:disabled{opacity:.3;cursor:default}.tour-directions img{width:24px;height:24px;object-fit:contain}.tour-previous img{transform:rotate(-90deg)}.tour-next img{transform:rotate(90deg)}.tour-route{display:none;position:absolute;z-index:4;left:50%;bottom:16px;transform:translateX(-50%);width:min(960px,calc(100% - 180px));height:144px}.is-ready .tour-route{display:block}.tour-route-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.tour-route-line path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round}.tour-path-base{stroke:#c9d1da66;stroke-dasharray:1 9}.tour-path-progress{stroke:var(--tour-gold);stroke-dasharray:none;stroke-dashoffset:0}.tour-stop{position:absolute;left:var(--stop-x);top:var(--stop-y);transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fff0;color:#b7bdc6}.tour-stop-dot{position:relative;display:block;width:9px;height:9px;border-radius:50%;background:#a3a9af;transition:background .2s,box-shadow .2s}.tour-stop.is-visited .tour-stop-dot{background:var(--tour-gold)}.tour-stop[aria-selected=true]{color:#fff}.tour-stop[aria-selected=true] .tour-stop-dot{width:16px;height:16px;background:var(--tour-gold);box-shadow:0 0 0 3px #fff,0 0 0 7px #e6b44d35,0 0 22px #e6b44d55}.tour-stop:hover{color:#fff}.tour-stop:hover .tour-stop-dot{box-shadow:0 0 0 5px #e6b44d2b}.tour-stop-label{position:absolute;left:50%;top:calc(50% + 19px);transform:translateX(-50%);font:400 10px/1.35 'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap}.tour-stop:nth-of-type(even) .tour-stop-label{top:auto;bottom:calc(50% + 19px)}.tour-load-error{position:absolute;z-index:5;left:30px;bottom:180px;max-width:320px;padding:16px 20px;border:1px solid #ffffff5c;border-radius:6px;background:#0b1521;color:#fff;font:400 14px/1.5 Geist,Arial,sans-serif}.tour-load-error[hidden]{display:none}.tour-load-error p{margin:0}.tour-retry{min-height:44px;padding:10px 20px;margin-top:12px;border-radius:999px;background:#b01030;color:#fff;font:500 13px/1.4 Geist,Arial,sans-serif}.tour-stage :is(button,a,[tabindex]):focus-visible{outline:3px solid var(--tour-gold);outline-offset:5px}.tour-immersive-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;margin:0;background:#07101a;color:#fff;overflow:hidden}.tour-immersive-dialog::backdrop{background:#030a12eb}.tour-immersive-dialog[open]{display:block}.tour-immersive-dialog .tour-stage.is-ready{width:100%;height:100dvh;max-height:none;min-height:0}@media(max-width:1000px){.tour-copy{max-width:480px}.tour-copy h3{font-size:60px}.tour-description{font-size:16px;max-width:37ch}.tour-route{width:calc(100% - 100px)}}@media(max-width:640px){.campus-tour{scroll-margin-top:90px}.tour-stage.is-ready{height:calc(100svh - 90px);min-height:660px;max-height:880px}.tour-topbar{padding:18px}.tour-brand{font-size:8px;gap:8px;letter-spacing:.12em}.tour-enter{font-size:9px;padding:9px 12px;min-height:44px}.tour-copy{left:22px;right:78px;top:40%;max-width:none;padding:0}.tour-copy h3{font-size:clamp(36px,11vw,50px);margin-bottom:20px}.tour-count{font-size:10px;margin-bottom:20px}.tour-description{font-size:14px;line-height:1.65;max-width:28ch}.tour-directions{right:18px;top:44%;gap:10px}.tour-directions button{width:44px;height:44px;padding:10px}.tour-directions img{width:21px;height:21px}.tour-route{width:calc(100% - 40px);bottom:14px;height:126px}.tour-stop-label{font:400 10px/1.25 Geist,Arial,sans-serif;text-transform:none;letter-spacing:0}.tour-stop-dot{width:7px;height:7px}.tour-stop[aria-selected=true] .tour-stop-dot{width:12px;height:12px;box-shadow:0 0 0 2px #fff,0 0 0 6px #e6b44d35,0 0 17px #e6b44d55}.tour-shade{background:linear-gradient(90deg,rgb(3 10 18 / .85),rgb(6 17 29 / .64) 48%,rgb(6 17 29 / .35)),linear-gradient(0deg,rgb(3 10 18 / .95),rgb(3 10 18 / .10) 45%,rgb(3 10 18 / .25))}.tour-load-error{left:22px;right:22px;bottom:155px}}@media(max-width:360px){.tour-copy{right:70px}.tour-copy h3{font-size:36px}.tour-brand{font-size:7px;gap:7px}.tour-topbar{padding-inline:14px}.tour-route{width:calc(100% - 36px)}.tour-stop-label{font-size:9px}.tour-description{font-size:13px}}@media(max-height:650px){.tour-immersive-dialog .tour-copy{top:43%;max-width:500px}.tour-immersive-dialog .tour-copy h3{font-size:clamp(34px,8vw,44px);margin-bottom:16px}.tour-immersive-dialog .tour-count{margin-bottom:12px}.tour-immersive-dialog .tour-description{font-size:14px;line-height:1.5}.tour-immersive-dialog .tour-route{height:100px;bottom:8px}.tour-immersive-dialog .tour-topbar{padding-top:10px}.tour-immersive-dialog .tour-directions{top:43%}}@media(prefers-reduced-motion:reduce){.tour-photo-enter{animation:none}.tour-path-progress,.tour-stop-dot{transition:none}}@media(max-width:640px){.tour-image>img[src$="/l2.webp"]{object-position:32% 50%}}@media(max-height:500px){.tour-immersive-dialog .tour-copy h3{font-size:36px;margin-bottom:12px}.tour-immersive-dialog .tour-count{font-size:10px;margin-bottom:8px}.tour-immersive-dialog .tour-description{font-size:13px;line-height:1.5;max-width:45ch}.tour-immersive-dialog .tour-route{height:78px;bottom:3px}.tour-immersive-dialog .tour-topbar{padding-block:8px}}.tour-copy .tour-visit{min-height:44px;min-width:0;padding:11px 24px;font-size:12px;letter-spacing:.04em;margin-top:24px}@media(max-height:500px){.tour-copy .tour-visit{margin-top:12px;padding:8px 18px;font-size:11px}}.tour-enter[hidden]{display:none}.tour-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.tour-playback[aria-pressed=true]{border-color:#e6b44d;color:#f3d694}.tour-image>video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;border-radius:0;pointer-events:none;opacity:0;transition:opacity .35s ease;background:#fff0}.tour-image.is-video-playing>video{opacity:1}.tour-stage:not(.is-ready) .tour-playback{display:none}@media(max-width:640px){.tour-topbar{gap:10px}.tour-controls{gap:7px}.tour-playback{font-size:9px;padding:9px 11px}.tour-stop-label{max-width:70px;width:max-content;white-space:normal;text-align:center;font-size:9.5px}.tour-stop-label{line-height:1.25}.tour-route{height:136px;bottom:14px}.tour-image>video[src*="23_library"]{object-position:32% 50%}}@media(max-width:360px){.tour-playback,.tour-enter{font-size:8px;padding-inline:10px}.tour-controls{gap:6px}.tour-stop-label{font-size:9px;max-width:64px}}@media(prefers-reduced-motion:reduce){.tour-image>video{transition:none}}@media(max-width:640px){.tour-image>img[src*="23_library"]{object-position:32% 50%}}@media(max-height:500px){.tour-immersive-dialog .tour-route{bottom:16px}}.tour-stage.is-ready .tour-scene{background:#fff0}.tour-image.tour-crossfade{z-index:0;opacity:1;pointer-events:none;transition:opacity var(--tour-fade-ms,800ms) cubic-bezier(.4,0,.2,1);will-change:opacity}.tour-image.tour-crossfade>video{opacity:1;transition:none}.tour-image.tour-crossfade.is-leaving{opacity:0}.tour-image>video{transition:none}@media(prefers-reduced-motion:reduce){.tour-image.tour-crossfade{transition:none}}