@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#f6faf9;--surface:#fff;--surface-soft:#eef8f6;--foreground:#172a3a;--muted:#526773;--border:#ccdcda;--primary:#087e78;--primary-dark:#075d59;--navy:#102f42;--accent:#8c2f93;--warning:#fff3cd;--warning-border:#d7a417;--success:#147a55;--danger:#a33434;--shadow:0 12px 34px #102f421c}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background:var(--background);min-height:100%;color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:4px solid #f0a51a}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;font-size:clamp(2rem,5vw,3.75rem);line-height:1.07}h2{font-size:clamp(1.35rem,3vw,2rem);line-height:1.15}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:10px;padding:16px 20px 14px;display:flex}.brand-link{line-height:0;display:block}.brand-logo{object-fit:contain;width:clamp(180px,24vw,290px);height:auto;display:block}.app-header--compact .brand-logo{width:clamp(145px,18vw,205px)}.primary-nav{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.primary-nav a{min-height:44px;color:var(--navy);border-radius:10px;align-items:center;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-flex}.primary-nav a:hover{background:var(--surface-soft)}.demo-banner{background:var(--warning);border-bottom:1px solid var(--warning-border);color:#5d4700;text-align:center;padding:10px 18px;font-size:.9rem}.home-hero,.link-demo,.flow-section,.admin-page,.accessibility-page{width:min(1180px,100% - 32px);margin-inline:auto}.home-hero{text-align:center;padding:clamp(42px,7vw,84px) 0 54px}.home-hero h1{max-width:880px;margin-inline:auto}.eyebrow,.step-label{color:var(--primary-dark);letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:900}.lead{max-width:720px;color:var(--muted);margin:0 auto 32px;font-size:1.2rem}.lead-small{max-width:720px;color:var(--muted);font-size:1.08rem}.choice-grid{gap:14px;display:grid}.choice-grid--four{grid-template-columns:1fr}.choice-card{border:2px solid var(--border);background:var(--surface);min-height:144px;color:var(--foreground);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:22px;font-size:1.13rem;font-weight:850;text-decoration:none;display:flex;box-shadow:0 4px #087e7814}a.choice-card{text-align:center;align-items:center}.choice-card:hover{border-color:var(--primary);transform:translateY(-2px)}.choice-card small{color:var(--muted);font-size:.88rem;font-weight:500}.choice-card__icon{background:var(--surface-soft);width:46px;height:46px;color:var(--primary-dark);border-radius:14px;place-items:center;font-size:1.5rem;display:grid}.link-demo{background:var(--navy);color:#fff;border-radius:24px;gap:24px;margin-bottom:60px;padding:clamp(24px,4vw,42px);display:grid}.link-demo .eyebrow{color:#7be5d8}.link-demo p{color:#dce8ec}.link-demo__actions{flex-wrap:wrap;align-content:center;gap:10px;display:flex}.button{cursor:pointer;text-align:center;border:2px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 20px;font-weight:850;text-decoration:none;display:inline-flex}.button--primary{background:var(--primary);color:#fff}.button--primary:hover{background:var(--primary-dark)}.button--secondary{border-color:var(--primary);background:var(--surface);color:var(--primary-dark)}.link-demo .button--secondary{color:#fff;background:0 0;border-color:#7be5d8}.button--ghost{border-color:var(--border);color:var(--foreground);background:0 0}.button--full{width:100%}.button-row{flex-wrap:wrap;gap:12px;display:flex}.text-button{min-height:44px;color:var(--primary-dark);cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.arrival-toolbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:.9rem;display:flex}.status-dot{background:var(--muted);border-radius:50%;width:10px;height:10px;margin-right:7px;display:inline-block}.arrival-content{min-height:620px;padding:clamp(28px,5vw,60px) 0 90px}.arrival-loading{color:var(--primary-dark);text-align:center;padding:80px 24px;font-size:1.25rem;font-weight:800}.flow-section{padding:0}.flow-card{border:1px solid var(--border);background:var(--surface);width:min(680px,100% - 32px);box-shadow:var(--shadow);border-radius:24px;margin-inline:auto;padding:clamp(24px,5vw,42px)}.flow-card--wide{width:min(1020px,100% - 32px)}.flow-card--narrow{width:min(650px,100% - 32px)}.phone-notification{border:1px solid var(--border);background:#fffffff7;border-radius:28px;width:min(520px,100% - 32px);margin-inline:auto;padding:26px;box-shadow:0 24px 70px #102f4233}.phone-notification h1{font-size:clamp(2rem,8vw,3.2rem)}.notification-brand{background:linear-gradient(140deg, var(--accent), var(--primary));color:#fff;border-radius:16px;place-items:center;width:54px;height:54px;margin-bottom:18px;font-size:1.3rem;font-weight:900;display:grid}.simulation-label{background:var(--warning);color:#5d4700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-bottom:18px;padding:6px 10px;font-size:.75rem;font-weight:900;display:inline-flex}.privacy-note{color:var(--muted);margin:18px 0 0;font-size:.82rem}.linked-destination,.qr-demo{background:var(--surface-soft);border-radius:14px;align-items:center;gap:14px;margin:20px 0;padding:15px;display:flex}.linked-destination>span{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.linked-destination small,.qr-demo small{color:var(--muted);display:block}.permission-points{gap:12px;margin:24px 0;display:grid}.permission-points p{background:var(--surface-soft);border-radius:14px;margin:0;padding:15px}.accessibility-panel{background:var(--navy);color:#fff;padding:18px}.accessibility-panel h2{margin-bottom:12px;font-size:1.1rem}.toggle-grid{flex-wrap:wrap;gap:10px;display:flex}.toggle{cursor:pointer;border:1px solid #8ca5b1;border-radius:10px;align-items:center;gap:9px;min-height:46px;padding:8px 12px;display:flex}.toggle input{accent-color:#42d6c7;width:22px;height:22px}.search-field{max-width:760px;margin:24px 0;display:block}.search-field input,.form-card input{border:2px solid var(--border);background:var(--surface);width:100%;min-height:54px;color:var(--foreground);border-radius:12px;padding:12px 15px}.destination-list{gap:10px;max-width:900px;display:grid}.destination-button{border:2px solid var(--border);background:var(--surface);min-height:70px;color:var(--foreground);cursor:pointer;text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.destination-button:hover{border-color:var(--primary)}.destination-button strong,.destination-button small{display:block}.destination-button small{color:var(--muted);margin-top:3px}.destination-button>span:last-child{color:var(--primary);font-size:2rem}.prefill-note,.accessible-note,.form-note{border-left:4px solid var(--primary);background:var(--surface-soft);color:var(--primary-dark);padding:12px 14px}.route-layout{gap:20px;margin-top:24px;display:grid}.map-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.map-card__top,.map-legend{justify-content:space-between;gap:12px;padding:12px 15px;font-size:.82rem;display:flex}.map-card__top{border-bottom:1px solid var(--border)}.map-card__top span,.map-legend{color:var(--muted)}.map-legend{border-top:1px solid var(--border);flex-wrap:wrap}.legend-line{background:var(--primary);vertical-align:middle;border-radius:99px;width:24px;height:4px;display:inline-block}.legend-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.campus-map,.parking-map,.indoor-map{background-color:#e9f2f2;background-image:linear-gradient(#dce9e8 1px,#0000 1px),linear-gradient(90deg,#dce9e8 1px,#0000 1px);background-size:32px 32px;min-height:370px;position:relative;overflow:hidden}.map-road{background:#c8d3d3;position:absolute;transform:rotate(-10deg)}.map-road--one{width:130%;height:52px;top:54%;left:-10%}.map-road--two{width:50px;height:130%;top:-15%;left:46%;transform:rotate(7deg)}.map-building,.map-parking{color:var(--navy);text-align:center;background:#fff;border:2px solid #96b1b2;border-radius:14px;place-items:center;padding:12px;font-weight:800;display:grid;position:absolute}.map-building--main{width:38%;height:35%;top:12%;right:8%}.map-building--other{width:28%;height:25%;top:13%;left:7%}.map-parking{background:repeating-linear-gradient(90deg,#fff,#fff 17px,#d6e2e2 18px 20px);width:31%;height:27%;bottom:8%;left:8%}.map-route{background:var(--primary);border-radius:99px;width:54%;height:8px;position:absolute;bottom:30%;left:28%;transform:rotate(-25deg);box-shadow:0 0 0 4px #fff}.map-pin{z-index:2;color:#fff;box-shadow:var(--shadow);border-radius:10px;padding:7px 9px;font-size:.72rem;font-weight:900;position:absolute}.map-pin--start{background:var(--accent);bottom:20%;left:21%}.map-pin--end{background:var(--navy);top:40%;right:11%}.route-details,.instruction-panel,.form-card,.wheelchair-card,.status-timeline{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:20px}.detail-row{border-bottom:1px solid var(--border);gap:3px;padding:13px 0;display:grid}.detail-row:last-of-type{border-bottom:0}.detail-row span{color:var(--muted);font-size:.82rem;font-weight:700}.instruction-panel .detail-row{padding:9px 0}.direction-icon{background:var(--navy);color:#fff;border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:20px;font-size:2.2rem;display:grid}.instruction-meta{color:var(--muted);font-weight:700}.mobility-grid{gap:14px;margin-top:24px;display:grid}.mobility-grid button{border:2px solid var(--border);background:var(--surface);min-height:180px;color:var(--foreground);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:24px;display:flex}.mobility-grid button:hover{border-color:var(--primary)}.mobility-grid button>span{background:var(--surface-soft);width:52px;height:52px;color:var(--primary-dark);border-radius:15px;place-items:center;font-size:1.7rem;display:grid}.mobility-grid strong{font-size:1.35rem}.mobility-grid small{color:var(--muted);font-size:.9rem}.parking-map{grid-template-columns:repeat(6,1fr);gap:10px;min-height:360px;padding:24px;display:grid}.parking-map>span{background:#fff9;border:2px solid #b5c7c7;border-radius:5px;min-height:72px}.pickup-pin,.station-pin{z-index:2;color:#fff;box-shadow:var(--shadow);border-radius:12px;padding:10px 12px;position:absolute}.pickup-pin{background:var(--accent);top:45%;left:32%}.pickup-pin strong,.pickup-pin small{display:block}.station-pin{background:var(--primary);font-weight:800;bottom:16%;right:10%}.form-card{gap:13px;display:grid}.form-card label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:800;display:grid}.pickup-time{font-size:1.2rem}.pickup-time strong{color:var(--primary-dark);font-size:2rem}.status-timeline{gap:0;display:grid}.status-timeline>div{border-bottom:1px solid var(--border);min-height:54px;color:var(--muted);align-items:center;gap:12px;padding:10px 0;display:flex}.status-timeline>div span{color:#789098;width:26px}.status-timeline>div.is-complete{color:var(--foreground)}.status-timeline>div.is-complete span{color:var(--success)}.wheelchair-number{color:var(--accent);letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(2rem,5vw,3.6rem);font-weight:900;display:inline-block}.wheelchair-card dl{margin:20px 0}.wheelchair-card dl div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.wheelchair-card dt{color:var(--muted)}.wheelchair-card dd{margin:0;font-weight:800}.record-grid{gap:8px;margin:20px 0;display:grid}.qr-demo>span{font-size:3rem}.indoor-map{min-height:380px}.hall{background:#fff;border:2px solid #b9cbca;position:absolute}.hall--horizontal{width:82%;height:70px;top:48%;left:9%}.hall--vertical{width:70px;height:72%;top:14%;left:46%}.room{text-align:center;background:#fff;border:2px solid #9bb4b4;border-radius:10px;place-items:center;padding:8px;font-size:.78rem;font-weight:800;display:grid;position:absolute}.room--one{width:26%;height:20%;top:22%;left:10%}.room--two{width:23%;height:22%;top:20%;right:10%}.room--destination{border-color:var(--accent);background:#fdf2fd;width:30%;height:20%;bottom:10%;right:8%}.indoor-route{background:var(--primary);border-radius:99px;width:52%;height:8px;position:absolute;top:55%;left:25%;transform:rotate(28deg)}.current-marker{background:var(--navy);color:#fff;border-radius:10px;padding:8px 10px;font-size:.75rem;font-weight:900;position:absolute;top:46%;left:20%}.arrival-confirmation{background:var(--surface);width:min(760px,100% - 32px);box-shadow:var(--shadow);text-align:center;border-radius:26px;margin-inline:auto;padding:clamp(32px,6vw,64px)}.arrival-check{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 22px;font-size:2.8rem;display:grid}.arrival-confirmation .button-row{justify-content:center;margin:28px 0 12px}.dev-controls{z-index:30;color:#3e3200;box-shadow:var(--shadow);background:#fff7cf;border:2px solid #785f08;border-radius:12px;flex-wrap:wrap;align-items:center;gap:5px;padding:8px 10px;font-size:.72rem;display:flex;position:fixed;bottom:10px;left:10px;right:10px}.dev-controls strong{margin-right:4px}.dev-controls button{cursor:pointer;background:#fff;border:1px solid #8d741a;border-radius:7px;min-height:34px;padding:5px 8px;font-weight:700}.admin-page{padding:clamp(34px,6vw,70px) 0}.admin-heading{flex-direction:column;gap:18px;margin-bottom:28px;display:flex}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0;display:grid}.stat-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px}.stat-card span{color:var(--muted);font-size:.82rem;display:block}.stat-card strong{color:var(--navy);margin-top:6px;font-size:2rem;display:block}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}caption{color:var(--muted);text-align:left;padding:16px;font-weight:800}th,td{border-top:1px solid var(--border);text-align:left;vertical-align:top;padding:14px 16px}th{background:var(--surface-soft);color:var(--navy);font-size:.8rem}td small{color:var(--muted);margin-top:4px;display:block}.status-pill{color:#126143;background:#e6f4ef;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900;display:inline-flex}.status-pill--maintenance,.status-pill--missing{color:var(--danger);background:#fde9e9}.status-pill--reserved{color:#7a4d00;background:#fff0d5}.architecture-note{background:var(--navy);color:#fff;border-radius:18px;margin-top:28px;padding:24px}.architecture-note p{color:#d9e6eb;margin-bottom:0}.accessibility-page{padding:clamp(38px,6vw,74px) 0}.accessibility-heading{max-width:760px;margin-bottom:30px}.accessibility-heading h1{margin-bottom:14px}.accessibility-service-grid{gap:16px;display:grid}.accessibility-service-card{border:2px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;align-items:flex-start;min-height:330px;padding:24px;display:flex;box-shadow:0 5px #087e7812}.accessibility-service-card__icon{background:var(--surface-soft);width:58px;height:58px;color:var(--primary-dark);border-radius:17px;place-items:center;margin-bottom:20px;font-size:1.45rem;font-weight:900;display:grid}.accessibility-service-card h2{margin-bottom:10px}.accessibility-service-card p{color:var(--muted);flex:1}.accessibility-service-card .button{width:100%}.accessibility-help{background:var(--navy);color:#fff;border-radius:22px;flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px;padding:clamp(24px,4vw,38px);display:flex}.accessibility-help .eyebrow{color:#7be5d8}.accessibility-help p:last-child{color:#dce8ec;margin-bottom:0}.operations-link{color:var(--muted);text-align:center;margin:24px 0 0;font-size:.9rem}.operations-link a{color:var(--primary-dark);font-weight:800}.practice-banner{color:var(--primary-dark);text-align:center;background:#e1f8f4;border-bottom:1px solid #7bc8bd;flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:11px 18px;display:flex}.practice-page{width:min(1080px,100% - 32px);margin-inline:auto;padding:clamp(38px,6vw,72px) 0 76px}.practice-page--active{width:min(900px,100% - 32px)}.practice-intro{text-align:center;max-width:760px;margin:0 auto 30px}.practice-intro .lead-small{margin-inline:auto}.practice-scenario-grid{gap:16px;display:grid}.practice-scenario-grid button,.practice-choice-grid button{border:2px solid var(--border);background:var(--surface);min-height:190px;color:var(--foreground);cursor:pointer;text-align:left;border-radius:20px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:24px;display:flex;box-shadow:0 5px #087e7814}.practice-scenario-grid button:hover,.practice-choice-grid button:hover{border-color:var(--primary);transform:translateY(-2px)}.practice-scenario-grid button>span,.practice-choice-grid button>span{background:var(--surface-soft);width:54px;height:54px;color:var(--primary-dark);border-radius:16px;place-items:center;font-size:1.65rem;display:grid}.practice-scenario-grid strong,.practice-choice-grid strong{font-size:1.25rem}.practice-scenario-grid small,.practice-choice-grid small{color:var(--muted);font-size:.92rem}.practice-reassurance{color:var(--muted);text-align:center;margin:28px 0 0;font-weight:700}.practice-progress{background:var(--surface);border-radius:14px;margin:0 auto 18px;padding:14px 16px}.practice-progress>div:first-child{justify-content:space-between;gap:16px;display:flex}.practice-progress span{color:var(--muted)}.practice-progress__track{background:var(--border);border-radius:99px;height:9px;margin-top:10px;overflow:hidden}.practice-progress__track span{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.practice-phone-card,.practice-step-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:26px;padding:clamp(24px,5vw,44px)}.practice-phone-card{width:min(600px,100%);margin-inline:auto}.practice-phone-card h1,.practice-step-card h1{font-size:clamp(2rem,6vw,3.25rem)}.practice-step-card--wide{width:100%}.practice-message{color:#111;background:#e9e9ee;border-radius:20px;align-items:flex-start;gap:14px;margin:24px 0 12px;padding:18px;display:flex}.practice-message>span{background:linear-gradient(140deg, var(--accent), var(--primary));color:#fff;border-radius:50%;flex:0 0 48px;place-items:center;height:48px;font-weight:900;display:grid}.practice-message p{margin:5px 0 0}.practice-link-preview{color:var(--primary-dark);overflow-wrap:anywhere;margin:0 0 20px;font-weight:800}.practice-route-summary{gap:10px;margin:24px 0;display:grid}.practice-route-summary>div{background:var(--surface-soft);border-radius:14px;padding:15px}.practice-route-summary span,.practice-route-summary strong{display:block}.practice-route-summary span{color:var(--muted);font-size:.82rem;font-weight:750}.practice-road{background-color:#e9f2f2;background-image:linear-gradient(#dce9e8 1px,#0000 1px),linear-gradient(90deg,#dce9e8 1px,#0000 1px);background-size:30px 30px;border-radius:18px;min-height:240px;margin:0 0 24px;position:relative;overflow:hidden}.practice-road__route{background:var(--primary);border-radius:99px;width:62%;height:12px;position:absolute;top:50%;left:19%;transform:rotate(-12deg);box-shadow:0 0 0 5px #fff}.practice-road__start,.practice-road__end{z-index:2;color:#fff;box-shadow:var(--shadow);border-radius:11px;padding:9px 11px;font-size:.8rem;font-weight:900;position:absolute}.practice-road__start{background:var(--accent);bottom:22%;left:8%}.practice-road__end{background:var(--navy);max-width:180px;top:20%;right:7%}.practice-choice-grid{gap:14px;margin-top:24px;display:grid}.practice-action-callout{background:var(--surface-soft);border-radius:18px;align-items:flex-start;gap:16px;margin:24px 0;padding:20px;display:flex}.practice-action-callout>span{background:var(--primary);color:#fff;border-radius:17px;flex:0 0 58px;place-items:center;height:58px;font-size:1.6rem;display:grid}.practice-action-callout p{color:var(--muted);margin:5px 0 0}.practice-complete{text-align:center}.practice-complete__check{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto 20px;font-size:2.8rem;display:grid}.practice-success-note{background:var(--surface-soft);color:var(--primary-dark);border-radius:16px;gap:3px;margin:24px 0;padding:18px;display:grid}.practice-complete .button-row{justify-content:center}.practice-controls{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.practice-controls button{min-height:48px;color:var(--primary-dark);cursor:pointer;background:0 0;border:0;padding:10px 14px;font-weight:850;text-decoration:underline}.live-view-page{background:#07131b;min-height:100vh}.live-view-banner{color:#5d4700;text-align:center;background:#fff3cd;flex-wrap:wrap;justify-content:center;gap:5px 12px;padding:10px 18px;display:flex}.live-view-permission{background:var(--surface);width:min(720px,100% - 32px);color:var(--foreground);border-radius:26px;margin:clamp(28px,6vw,70px) auto;padding:clamp(26px,5vw,46px);box-shadow:0 28px 80px #00000061}.live-view-mark{background:linear-gradient(145deg, var(--accent), var(--primary));color:#fff;border-radius:18px;place-items:center;width:62px;height:62px;margin-bottom:20px;font-size:1.2rem;font-weight:900;display:grid}.live-view-warning{border-left:5px solid var(--warning-border);background:var(--warning);color:#5d4700;padding:14px;font-weight:750}.live-view-permission .text-button{margin-top:18px;display:inline-flex}.live-view-shell{width:min(760px,100%);margin:0 auto;padding:16px 16px 40px}.live-view-camera{background:#1d313c;border:3px solid #ffffffb3;border-radius:28px;min-height:min(68vh,760px);position:relative;overflow:hidden;box-shadow:0 24px 80px #00000080}.live-view-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.live-view-camera--demo{background:linear-gradient(#6e8792 0 18%,#b9c6c8 18% 72%,#6d7778 72% 100%)}.live-view-hallway{perspective:500px;position:absolute;inset:0;overflow:hidden}.live-view-hallway:before,.live-view-hallway:after{content:"";background:linear-gradient(90deg,#8fa0a3,#dce3e3);width:42%;position:absolute;top:18%;bottom:28%}.live-view-hallway:before{left:-10%;transform:skewY(18deg)}.live-view-hallway:after{right:-10%;transform:skewY(-18deg)scaleX(-1)}.live-view-hallway>span{z-index:1;transform-origin:bottom;background:#ffffffa6;width:4px;height:72%;position:absolute;bottom:0}.live-view-hallway>span:first-child{left:22%;transform:rotate(24deg)}.live-view-hallway>span:nth-child(2){height:50%;left:50%}.live-view-hallway>span:nth-child(3){right:22%;transform:rotate(-24deg)}.live-view-topbar{z-index:3;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07131bdb;border-radius:14px;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:12px 14px;display:flex;position:absolute;top:14px;left:14px;right:14px}.live-view-topbar span{color:#9ef4e9;text-transform:uppercase;font-size:.8rem;font-weight:850}.live-view-arrow{z-index:2;color:#fff;background:#087e78e6;border:8px solid #fff;border-radius:50%;place-items:center;width:clamp(120px,34vw,190px);height:clamp(120px,34vw,190px);font-size:clamp(5rem,17vw,8rem);font-weight:900;line-height:1;display:grid;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 38px #00000073}.live-view-guidance{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07131be6;border-radius:20px;padding:clamp(18px,4vw,28px);position:absolute;bottom:14px;left:14px;right:14px}.live-view-guidance h1{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(1.7rem,5vw,2.7rem)}.live-view-guidance p{margin-bottom:8px}.live-view-distance{color:#8ff1e5;font-size:1.2rem;font-weight:900}.live-view-accessible{color:var(--primary-dark);background:#fff;border-radius:10px;margin-top:8px;padding:8px 10px;font-weight:900;display:inline-flex}.live-view-actions{color:#fff;text-align:center;padding:20px 4px 0}.live-view-actions .button-row{justify-content:center;margin:18px 0 6px}.live-view-actions .text-button{color:#9ef4e9}.arrival-app.is-large-text{font-size:20px}.arrival-app.is-high-contrast{--background:#000;--surface:#111;--surface-soft:#202020;--foreground:#fff;--muted:#e2e2e2;--border:#fff;--primary:#00d9c9;--primary-dark:#7ff9ef;--navy:#000;--accent:#ff74ff}.arrival-app.is-high-contrast .campus-map,.arrival-app.is-high-contrast .parking-map,.arrival-app.is-high-contrast .indoor-map{filter:contrast(1.35)}.arrival-app.is-reduced-motion *,.arrival-app.is-reduced-motion :before,.arrival-app.is-reduced-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (min-width:640px){.choice-grid--four,.permission-points,.record-grid{grid-template-columns:repeat(2,1fr)}.mobility-grid,.stat-grid{grid-template-columns:repeat(3,1fr)}.accessibility-service-grid{grid-template-columns:repeat(2,1fr)}.practice-scenario-grid,.practice-choice-grid,.practice-route-summary{grid-template-columns:repeat(3,1fr)}}@media (min-width:840px){.app-header{flex-direction:row;justify-content:space-between;padding-inline:max(28px,50% - 590px)}.brand-link{margin-left:auto;transform:translate(50%)}.primary-nav{margin-left:auto}.app-header--compact .brand-link{margin-left:0;transform:none}.link-demo{grid-template-columns:1fr 1.25fr}.choice-grid--four{grid-template-columns:repeat(4,1fr)}.route-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start}.admin-heading{flex-direction:row;justify-content:space-between;align-items:end}.stat-grid{grid-template-columns:repeat(6,1fr)}.accessibility-service-grid{grid-template-columns:repeat(3,1fr)}.accessibility-help{flex-direction:row;justify-content:space-between;align-items:center}.accessibility-help>div{max-width:700px}}@media (max-width:639px){h1{font-size:2.2rem}.arrival-toolbar{flex-direction:column;align-items:flex-start}.button-row--stack-mobile{flex-direction:column}.button-row--stack-mobile .button{width:100%}.primary-nav a{padding-inline:8px;font-size:.85rem}.campus-map,.parking-map,.indoor-map{min-height:310px}.map-building--main{width:44%}.map-building--other{display:none}.dev-controls{max-height:110px;overflow-y:auto}.live-view-shell{padding-inline:8px}.live-view-camera{border-radius:20px;min-height:calc(100vh - 245px)}.live-view-topbar{top:8px;left:8px;right:8px}.live-view-guidance{bottom:8px;left:8px;right:8px}}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);margin-top:56px;padding:38px 20px 44px}.site-footer__inner{text-align:center;max-width:780px;margin:0 auto}.site-footer__wordmark{color:var(--primary-dark);letter-spacing:.02em;margin:0 0 14px;font-size:1.05rem;font-weight:900}.site-footer__credit{color:var(--foreground);margin:0 0 20px;font-size:.92rem;line-height:1.7}.site-footer__credit strong{font-weight:800}.site-footer__rule{background:var(--border);width:44px;height:1px;margin:10px auto;display:block}.site-footer__role{color:var(--muted);letter-spacing:.01em;font-size:.82rem;font-weight:600;display:block}.site-footer__legal{margin:0 auto 10px;font-size:.78rem;line-height:1.6}.site-footer__legal--demo{color:#6b7f8a;margin-bottom:0}.about-page{padding:clamp(28px,5vw,56px) 20px 20px}.about-heading{text-align:center;max-width:780px;margin:0 auto 34px}.about-block{border:1px solid var(--border);background:var(--surface);max-width:780px;box-shadow:var(--shadow);border-radius:18px;margin:0 auto 28px;padding:26px clamp(18px,4vw,32px)}.about-block h2{margin-bottom:14px;font-size:1.25rem}.about-block p{margin-bottom:14px;line-height:1.65}.about-block p:last-child{margin-bottom:0}.about-advisor{padding-bottom:6px}.about-advisor__name{color:var(--primary-dark);font-size:1.15rem;font-weight:900;margin-bottom:2px!important}.about-advisor__role{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.88rem;font-weight:700;margin-bottom:16px!important}.about-timeline{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.about-timeline__item{border-left:3px solid var(--primary);background:var(--surface-soft);border-radius:0 12px 12px 0;padding:14px 16px}.about-timeline__period{color:var(--primary-dark);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:900;display:block}.about-timeline__role{margin-top:3px;font-weight:800;display:block}.about-timeline__detail{color:var(--muted);margin-top:3px;font-size:.88rem;display:block}
