#campus-tour-root{position:absolute;inset:0;z-index:1000}footer{display:none}.campus-tour-container{font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;height:100vh;width:100vw;overflow:hidden;position:relative;border-radius:0 !important}body.campus-tour-active,html.campus-tour-active{border-radius:0 !important;overflow:hidden !important}.tour-loading{text-align:center}.tour-loading__logo{height:64px;margin-bottom:30px}.tour-loading__status{font-size:18px;font-weight:500;font-variation-settings:"wght" 500;margin-bottom:10px}.tour-loading__caption{font-size:14px;opacity:.8}.tour-header{background-color:#002856}.tour-header-link{background-color:rgba(0,40,86,.8);color:#fff}.contact-content__title{color:#002856}.contact-list__address{margin-left:26px}.tour-background{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center center;background-repeat:no-repeat;z-index:1;--new-bg-image: none}.tour-background::before{content:"";position:absolute;inset:0;background-image:var(--new-bg-image);background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0;transform:translate3d(0, 10px, 0);transition:opacity 280ms ease,transform 280ms ease;z-index:2;pointer-events:none;will-change:opacity,transform}.tour-background.transitioning::before{opacity:1;transform:translate3d(0, 0, 0)}@media(prefers-reduced-motion: reduce){.tour-background::before{transition:none !important}}.navigation-panel{position:fixed;top:80px;left:0;bottom:0;width:320px;background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);transform:translateX(-100%);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);z-index:1010;border-radius:0 !important;border-right:1px solid rgba(0,0,0,.1);box-shadow:2px 0 20px rgba(0,0,0,.1);contain:layout paint;display:flex;flex-direction:column}.tour-nav-desktop-title{display:none}@media(min-width: 1024px){.tour-nav-desktop-title{display:flex}}.navigation-panel.show{transform:translateX(0)}@media(min-width: 1024px){.navigation-panel{position:fixed;top:80px;left:0;bottom:0;width:320px;transform:none !important;backdrop-filter:none;background:hsla(0,0%,100%,.95);border-right:1px solid rgba(0,0,0,.1);z-index:999}}@media(min-width: 1280px){.navigation-panel{width:300px}}.info-panel{position:fixed;bottom:20px;right:20px;width:400px;max-height:60vh;background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);border-radius:.25rem;box-shadow:0 8px 32px rgba(0,0,0,.15);transform:translateY(100%);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);z-index:1000;border:1px solid rgba(0,0,0,.1);overflow:hidden;contain:layout paint}.info-panel.show{transform:translateY(0)}@media(min-width: 1280px){.info-panel{position:fixed;top:100px;right:20px;bottom:20px;width:380px;max-height:none;height:calc(100vh - 140px);transform:translateY(0) !important;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:.25rem;box-shadow:0 8px 32px rgba(0,0,0,.15)}}.location-list{flex:1;min-height:0;overflow-y:auto;content-visibility:auto;contain-intrinsic-size:1px 600px}.location-item{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.1);cursor:pointer;transition:all .2s ease;background:rgba(0,0,0,0)}.location-item:hover{background:rgba(0,40,86,.05)}.location-item.active{background:rgba(0,40,86,.1);border-left:4px solid #002856;font-weight:600;font-variation-settings:"wght" 600}.location-item h3{margin:0;font-size:16px;font-weight:500;font-variation-settings:"wght" 500;color:#002856;line-height:1.4}.tour-controls-vertical{display:flex;flex-direction:column;gap:8px}.map-control-button{background:#002856;backdrop-filter:blur(10px);border:1px solid #002856;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;border-radius:.25rem;font-weight:500;font-variation-settings:"wght" 500;padding:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;will-change:transform}.map-control-button:hover{background:rgba(0,40,86,.8);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.map-control-button.primary{background:#002856;color:#fff;border-color:#002856}.map-control-button.primary:hover{background:rgba(0,40,86,.8)}.map-control-button i{font-size:16px}.tour-nav-arrow{position:fixed;top:60%;transform:translateY(-50%);background:rgba(0,0,0,.6);color:#fff;border:none;padding:20px;cursor:pointer;font-size:24px;border-radius:0;transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease;z-index:1001;backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.2);min-width:60px;min-height:80px;display:flex;align-items:center;justify-content:center;will-change:transform}.tour-nav-arrow:hover{background:rgba(0,0,0,.8);transform:translateY(-50%) scale(1.02);box-shadow:0 6px 25px rgba(0,0,0,.4)}.tour-nav-arrow:disabled{opacity:.3;cursor:not-allowed;transform:translateY(-50%);background:rgba(0,0,0,.3)}.tour-nav-prev{left:0;border-radius:0 .25rem .25rem 0}.tour-nav-next{right:0;border-radius:.25rem 0 0 .25rem}.tour-btn{padding:10px 16px;border-radius:.25rem;border:none;background:#002856;color:#fff;font-weight:500;font-variation-settings:"wght" 500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;text-decoration:none;min-width:44px;min-height:44px;width:auto;flex-shrink:0}.tour-btn:hover{background:rgba(0,40,86,.8);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,40,86,.3)}.tour-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.tour-btn.secondary{background:hsla(0,0%,100%,.9);color:#002856;border:1px solid rgba(0,40,86,.2)}.tour-btn.secondary:hover{background:#fff;border-color:#002856}.building-name{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);color:#002856;text-align:center;z-index:1001;background:hsla(0,0%,100%,.95);border:1px solid rgba(0,0,0,.1);border-radius:.25rem;box-shadow:0 8px 32px rgba(0,0,0,.15);padding:10px 16px;pointer-events:none;font-family:"Outfit",sans-serif;max-width:min(90vw,720px)}.building-name h1{margin:0;font-size:clamp(16px,2.5vw,24px);font-weight:600;font-variation-settings:"wght" 600;line-height:1.3;letter-spacing:.3px;font-family:"Outfit",sans-serif;text-shadow:none}.info-content{padding:20px;overflow-y:auto;max-height:calc(60vh - 80px);content-visibility:auto;contain-intrinsic-size:1px 400px}@media(min-width: 1280px){.info-content{max-height:calc(100vh - 180px);height:100%;content-visibility:auto;contain-intrinsic-size:1px 600px}}@media(max-width: 1279px){.info-content{max-height:calc(100vh - 120px);height:calc(100vh - 120px);padding:20px;overflow-y:auto}}.info-section{margin-bottom:25px}.info-section:last-child{margin-bottom:0}.info-section h3{margin:0 0 12px 0;font-size:16px;font-weight:600;font-variation-settings:"wght" 600;color:#002856;border-bottom:2px solid #002856;padding-bottom:6px}.info-section p{margin:0 0 12px 0;line-height:1.6;color:#333;font-size:14px}.info-section div p{margin:0 0 12px 0;line-height:1.6;color:#333;font-size:14px}.info-section div h1,.info-section div h2,.info-section div h3,.info-section div h4,.info-section div h5,.info-section div h6{color:#002856;margin:16px 0 8px 0;font-weight:600;font-variation-settings:"wght" 600}.info-section div h1{font-size:18px}.info-section div h2{font-size:17px}.info-section div h3{font-size:16px}.info-section div h4{font-size:15px}.info-section div h5{font-size:14px}.info-section div h6{font-size:13px}.info-section div ul,.info-section div ol{margin:8px 0 12px 20px;color:#333;font-size:14px}.info-section div li{margin-bottom:4px;line-height:1.5}.info-section div a{color:#002856;text-decoration:underline}.info-section div a:hover{text-decoration:none}.info-section div strong,.info-section div b{font-weight:600;font-variation-settings:"wght" 600;color:#002856}.info-section div em,.info-section div i{font-style:italic}.info-section div blockquote{border-left:3px solid #002856;margin:12px 0;padding:8px 0 8px 12px;background:rgba(0,40,86,.05);font-style:italic}.info-section div table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}.info-section div th,.info-section div td{border:1px solid rgba(0,0,0,.1);padding:8px;text-align:left}.info-section div th{background:rgba(0,40,86,.1);font-weight:600;font-variation-settings:"wght" 600;color:#002856}.image-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:10px;margin-top:15px}.image-item{position:relative;aspect-ratio:1;border-radius:.25rem;overflow:hidden;cursor:pointer;transition:transform .2s ease}.image-item:hover{transform:scale(1.05)}.image-item img{width:100%;height:100%;object-fit:cover}.sublocation-item{padding:12px 16px;margin:4px 0;border-radius:.25rem;border:1px solid rgba(0,0,0,0);cursor:pointer;transition:all .2s ease;background:rgba(0,0,0,0)}.sublocation-item:hover{background:rgba(0,40,86,.05);border-color:rgba(0,40,86,.1);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,40,86,.1)}.sublocation-item:active{transform:translateY(0);background:rgba(0,40,86,.1)}.sublocation-item h4{margin:0;font-weight:500;font-variation-settings:"wght" 500;color:#002856;transition:color .2s ease}.sublocation-item:hover h4{color:#002856;font-weight:600;font-variation-settings:"wght" 600}.sublocation-item div{margin:5px 0 0 0;font-size:14px;color:#666;transition:color .2s ease}.sublocation-item:hover div{color:#555}.mini-map{height:200px;border-radius:.25rem;overflow:hidden;margin-bottom:20px;border:1px solid rgba(0,0,0,.1)}.tour-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:all .3s ease;overflow-y:auto}.tour-modal.show{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:.25rem;max-width:90vw;max-height:90vh;overflow:hidden;position:relative;display:flex;flex-direction:column}.modal-content--compact{max-width:600px;padding:30px}.modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;z-index:10}.modal-close:hover{color:#000}.modal-heading{margin:0 0 20px 0;color:#002856}.modal-image{width:100%;height:200px;object-fit:cover;border-radius:.25rem;margin-bottom:20px}.modal-text{line-height:1.6;margin-bottom:20px}.modal-text--muted{font-style:italic}.image-carousel{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;min-height:0}#carousel-container{width:100%;padding:0;margin:0}.carousel-image{display:block;width:100%;height:auto;max-height:calc(90vh - 150px);object-fit:contain;flex-shrink:0}.carousel-caption{padding:15px;background:rgba(0,0,0,.05);text-align:center;flex-shrink:0;min-height:60px;max-height:120px;overflow-y:auto}.carousel-caption__title{margin:0;font-weight:500;font-variation-settings:"wght" 500}.carousel-caption__text{margin:5px 0 0 0;color:#666;font-size:14px}.modal-content.image-carousel{max-height:none}.modal-content.image-carousel .carousel-caption{max-height:none;overflow:visible}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);color:#fff;border:none;padding:15px;cursor:pointer;font-size:18px;border-radius:.25rem;transition:background .2s ease}.carousel-nav:hover{background:rgba(0,0,0,.7)}.carousel-prev{left:0}.carousel-next{right:0}.carousel-indicators{display:flex;justify-content:center;gap:8px;padding:15px;background:rgba(0,0,0,.05);flex-shrink:0;margin-top:auto;min-height:50px}.indicator{width:12px;height:12px;border-radius:50%;background:rgba(0,0,0,.3);cursor:pointer;transition:background .2s ease}.indicator.active{background:#002856}.contact-content{padding:30px;max-width:500px}.contact-section{margin-bottom:25px}.contact-section h3{margin:0 0 10px 0;color:#002856;font-size:18px}.contact-list{list-style:none;padding:0;margin:0}.contact-list li{padding:5px 0;display:flex;align-items:center;gap:10px}.contact-list i{color:#002856;width:16px}.contact-list a{color:#002856;text-decoration:none}.contact-list a:hover{text-decoration:underline}.tour-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:#002856;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease}.tour-loading.hide{opacity:0;pointer-events:none}.loading-spinner{width:40px;height:40px;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media(max-width: 1279px){.info-panel{top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;transform:translateY(100%);z-index:1020}.info-panel.show{transform:translateY(0)}}@media(max-width: 1023px){.navigation-panel{width:280px}.building-name{padding:15px 25px 25px}.building-name h1{font-size:clamp(16px,3.5vw,24px)}.tour-nav-arrow{padding:15px;font-size:20px;min-width:50px;min-height:70px}.tour-nav-prev{left:0}.tour-nav-next{right:0}}@media(min-width: 1024px){.lg\:hidden .map-control-button{display:none !important}.tour-nav-prev{left:320px}.tour-nav-next{right:420px}}@media(min-width: 1280px){.tour-controls-vertical .map-control-button{display:none !important}.tour-nav-prev{left:300px}.tour-nav-next{right:400px}}@media(max-width: 767px){.tour-modal{align-items:center;overflow-y:auto}.modal-content.image-carousel{max-width:90vw;max-height:90vh;width:90vw}.carousel-caption{max-height:120px;overflow-y:auto}.building-name{padding:12px 16px 20px}.building-name h1{font-size:clamp(16px,4vw,22px);font-weight:500;font-variation-settings:"wght" 500}.tour-nav-arrow{padding:12px;font-size:18px;min-width:44px;min-height:60px;top:50%}.tour-nav-prev{left:0}.tour-nav-next{right:0}.tour-controls-vertical{top:100px !important;z-index:1003}.campus-tour-container .absolute.left-4{top:100px;z-index:1003}.navigation-panel{z-index:1015}.navigation-panel,.info-panel,.map-control-button,.tour-nav-arrow{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}.navigation-panel{background:#fff !important;box-shadow:1px 0 10px rgba(0,0,0,.08) !important}.info-panel{background:#fff !important;box-shadow:0 4px 24px rgba(0,0,0,.12) !important}.map-control-button{box-shadow:0 2px 8px rgba(0,0,0,.12) !important}}.location-list::-webkit-scrollbar,.info-panel::-webkit-scrollbar{width:6px}.location-list::-webkit-scrollbar-track,.info-panel::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.location-list::-webkit-scrollbar-thumb,.info-panel::-webkit-scrollbar-thumb{background:rgba(0,40,86,.3);border-radius:.25rem}.location-list::-webkit-scrollbar-thumb:hover,.info-panel::-webkit-scrollbar-thumb:hover{background:rgba(0,40,86,.5)}
