/* CampusShield in-app guide */
.campus-guide-page{--guide-ink:#173325;--guide-muted:#53695B;--guide-line:#DCE9DE;--guide-soft:#F5F9F5;--guide-teal:#0a8f7b;--guide-deep:#071E13;gap:18px}
.page.campus-guide-page{display:none}
.page.campus-guide-page.active{display:grid}
.campus-guide-page .guide-hero{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:18px;overflow:hidden;padding:clamp(22px,4vw,38px);border:1px solid #cce4df;border-radius:22px;background:radial-gradient(circle at 95% 10%,#d2f4e9 0,transparent 34%),linear-gradient(135deg,#f8fdfb,#eef7f7);color:var(--guide-ink)}
.campus-guide-page .guide-eyebrow{margin:0 0 7px;color:var(--guide-teal);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.campus-guide-page .guide-hero h1{margin:0 0 10px;color:#0B2E1B;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.08;letter-spacing:-.045em}
.campus-guide-page .guide-lead{max-width:780px;margin:0;color:#53695B;font-size:clamp(.9rem,1.7vw,1.05rem);line-height:1.7}
.campus-guide-page .guide-hero-actions,.campus-guide-page .guide-start-actions,.campus-guide-page .guide-bottom-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.campus-guide-page .guide-primary{border:1px solid #087d70;background:#087d70;color:#fff}
.campus-guide-page .guide-primary:hover{background:#066d62}
.campus-guide-page .guide-access-note{margin:13px 0 0;color:#617568;font-size:.75rem;line-height:1.55}
.campus-guide-page .guide-hero-mark{position:relative;display:grid;place-items:center;width:128px;height:128px;justify-self:center;border:1px solid #acd9cd;border-radius:34px;background:linear-gradient(145deg,#071E13,#0b675e);box-shadow:0 18px 40px #0c594422;transform:rotate(4deg)}
.campus-guide-page .guide-hero-mark span{color:#d9fff1;font-size:2.5rem;font-weight:950;letter-spacing:-.12em}
.campus-guide-page .guide-hero-mark i{position:absolute;right:12px;top:7px;color:#72e4c6;font-size:1.25rem;font-style:normal}
.campus-guide-page .guide-start-panel,.campus-guide-page .guide-discovery,.campus-guide-page .guide-bottom-panel{padding:clamp(18px,3vw,26px);border:1px solid var(--guide-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px #173b4608}
.campus-guide-page .guide-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.campus-guide-page .guide-section-heading h2,.campus-guide-page .guide-bottom-panel h2{margin:0;color:var(--guide-ink);font-size:clamp(1.2rem,2.7vw,1.65rem);line-height:1.25;letter-spacing:-.03em}
.campus-guide-page .guide-section-heading p:not(.guide-eyebrow),.campus-guide-page .guide-bottom-panel p:not(.guide-eyebrow){margin:5px 0 0;color:var(--guide-muted);font-size:.82rem;line-height:1.55}
.campus-guide-page .guide-start-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.campus-guide-page .guide-start-steps li{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:14px;border:1px solid #DCE9DE;border-radius:13px;background:#F7FBF7}
.campus-guide-page .guide-step-number{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#e2f5ef;color:#087966;font-size:.72rem;font-weight:900}
.campus-guide-page .guide-start-steps strong{display:block;color:#173325;font-size:.87rem}
.campus-guide-page .guide-start-steps p{margin:3px 0 0;color:#617568;font-size:.77rem;line-height:1.55}
.campus-guide-page .guide-start-actions .btn,.campus-guide-page .guide-bottom-actions .btn,.campus-guide-page .guide-card .btn{min-height:35px;padding:7px 11px;font-size:.72rem}
.campus-guide-page .guide-search{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 14px;border:1px solid #DCE9DE;border-radius:12px;background:#fbfdfd;color:#53695B}
.campus-guide-page .guide-search>span:first-child{font-size:1.45rem}
.campus-guide-page .guide-search input{width:100%;min-width:0;min-height:44px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--guide-ink);font:inherit;font-size:.85rem}
.campus-guide-page .guide-search:focus-within{border-color:#3cae9a;box-shadow:0 0 0 3px #19a58e20}
.campus-guide-page .guide-filter-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.campus-guide-page .guide-filter-row button{min-height:34px;padding:6px 11px;border:1px solid #DCE9DE;border-radius:999px;background:#fff;color:#53695B;font-size:.71rem;font-weight:800;cursor:pointer}
.campus-guide-page .guide-filter-row button:hover{border-color:#83cbbb;color:#087966}
.campus-guide-page .guide-filter-row button.is-active{border-color:#087d70;background:#e6f6f1;color:#08715f}
.campus-guide-page .guide-results{margin:11px 0 0;color:#687E70;font-size:.72rem}
.campus-guide-page .guide-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.campus-guide-page .guide-card{min-width:0;padding:16px;border:1px solid var(--guide-line);border-radius:15px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.campus-guide-page .guide-card:hover{border-color:#b6d9d2;box-shadow:0 9px 20px #1d60500a}
.campus-guide-page .guide-card[hidden]{display:none!important}
.campus-guide-page .guide-card-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.campus-guide-page .guide-card-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#e8f6f1;color:#087966;font-size:1rem;font-weight:900}
.campus-guide-page .guide-card-label{color:#19806f;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.campus-guide-page .guide-card h3{margin:0 0 5px;color:#173325;font-size:.98rem;line-height:1.35}
.campus-guide-page .guide-card>p{margin:0;color:#53695B;font-size:.78rem;line-height:1.55}
.campus-guide-page .guide-card details{margin-top:12px;padding-top:10px;border-top:1px solid #e8eeee}
.campus-guide-page .guide-card summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;color:#087966;font-size:.75rem;font-weight:850;cursor:pointer;list-style:none}
.campus-guide-page .guide-card summary::-webkit-details-marker{display:none}
.campus-guide-page .guide-card summary:after{content:"＋";display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #d7e8e3;border-radius:8px;background:#f4faf8}
.campus-guide-page .guide-card details[open] summary:after{content:"−"}
.campus-guide-page .guide-card details p,.campus-guide-page .guide-card details li{color:#53695B;font-size:.77rem;line-height:1.65}
.campus-guide-page .guide-card details ol,.campus-guide-page .guide-card details ul{padding-left:20px}
.campus-guide-page .guide-card details .btn{margin:4px 5px 0 0}
.campus-guide-page .guide-card-safety{border-color:#efdcb8;background:linear-gradient(145deg,#fffdf8,#fff9ec)}
.campus-guide-page .guide-card-safety .guide-card-icon{background:#fff0d2;color:#95651e}
.campus-guide-page .guide-no-results{padding:20px;border:1px dashed #DCE9DE;border-radius:12px;color:#687E70;text-align:center;font-size:.82rem}
.campus-guide-page .guide-bottom-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#f8fcfb,#edf8f4)}
.campus-guide-page .guide-bottom-actions{flex:0 0 auto;margin:0}
.campus-guide-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.campus-guide-page .guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-guide-page .guide-hero{grid-template-columns:minmax(0,1fr) 108px}.campus-guide-page .guide-hero-mark{width:100px;height:100px;border-radius:28px}}
@media(max-width:680px){.campus-guide-page{gap:12px}.campus-guide-page .guide-hero{grid-template-columns:minmax(0,1fr);padding:19px}.campus-guide-page .guide-hero-mark{display:none}.campus-guide-page .guide-hero-actions .btn{width:100%}.campus-guide-page .guide-start-steps,.campus-guide-page .guide-card-grid{grid-template-columns:minmax(0,1fr)}.campus-guide-page .guide-start-panel,.campus-guide-page .guide-discovery,.campus-guide-page .guide-bottom-panel{padding:15px}.campus-guide-page .guide-section-heading{align-items:flex-start}.campus-guide-page .guide-filter-row{gap:6px}.campus-guide-page .guide-filter-row button{font-size:.67rem;padding:6px 9px}.campus-guide-page .guide-bottom-panel{align-items:flex-start;flex-direction:column}.campus-guide-page .guide-bottom-actions{width:100%;flex-wrap:wrap}.campus-guide-page .guide-bottom-actions .btn{flex:1 1 130px}}
@media(prefers-reduced-motion:reduce){.campus-guide-page .guide-card{transition:none}}
html[data-theme="dark"] .campus-guide-page .guide-hero,html[data-theme="dark"] .campus-guide-page .guide-start-panel,html[data-theme="dark"] .campus-guide-page .guide-discovery,html[data-theme="dark"] .campus-guide-page .guide-bottom-panel,html[data-theme="dark"] .campus-guide-page .guide-card{border-color:#315B40;background:#123522;color:#dcece9}
html[data-theme="dark"] .campus-guide-page .guide-hero h1,html[data-theme="dark"] .campus-guide-page .guide-section-heading h2,html[data-theme="dark"] .campus-guide-page .guide-bottom-panel h2,html[data-theme="dark"] .campus-guide-page .guide-card h3,html[data-theme="dark"] .campus-guide-page .guide-start-steps strong{color:#e4f5f0}
html[data-theme="dark"] .campus-guide-page .guide-lead,html[data-theme="dark"] .campus-guide-page .guide-access-note,html[data-theme="dark"] .campus-guide-page .guide-section-heading p:not(.guide-eyebrow),html[data-theme="dark"] .campus-guide-page .guide-bottom-panel p:not(.guide-eyebrow),html[data-theme="dark"] .campus-guide-page .guide-card>p,html[data-theme="dark"] .campus-guide-page .guide-card details p,html[data-theme="dark"] .campus-guide-page .guide-card details li{color:#A6C2AE}
html[data-theme="dark"] .campus-guide-page .guide-start-steps li,html[data-theme="dark"] .campus-guide-page .guide-search,html[data-theme="dark"] .campus-guide-page .guide-filter-row button{border-color:#41694D;background:#0F2C1C;color:#dcece9}
html[data-theme="dark"] .campus-guide-page .guide-search input{color:#e4f5f0}
html[data-theme="dark"] .campus-guide-page .guide-filter-row button.is-active{border-color:#4dbfa9;background:#183f43;color:#a8f1dc}
html[data-theme="dark"] .campus-guide-page .guide-card-safety{border-color:#725a35;background:#302b20}
html[data-theme="dark"] .campus-guide-page .guide-card summary{color:#91e6cf}
html[data-theme="dark"] .campus-guide-page .guide-results,html[data-theme="dark"] .campus-guide-page .guide-no-results{color:#A6C2AE}
