.campus-section{margin-top:38px}.campus-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.campus-heading h3{font-size:30px;line-height:1.3;margin:0;font-weight:800;color:var(--navy)}.campus-heading .school-eyebrow{margin-bottom:8px}.campus-description{color:var(--ink2);margin:14px 0 22px}.campus-badge{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;white-space:nowrap;font-size:12px;color:var(--ink2)}.campus-badge b{font-size:18px;color:var(--blue)}.campus-viewer{position:relative;height:600px;overflow:hidden;border:1px solid #cbd5e2;border-radius:24px;background:radial-gradient(ellipse at 50% 40%,#f4f6f8,#dfe7ef);isolation:isolate}.campus-stage{position:absolute;inset:0}.campus-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none;cursor:grab}.campus-stage canvas:active{cursor:grabbing}.campus-stage canvas:focus-visible{outline:3px solid #2563eb;outline-offset:-5px}.campus-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center;color:var(--ink);background:var(--panel)}.campus-loading[hidden]{display:none}.campus-loading button{font:inherit;padding:10px 22px;border-radius:12px;cursor:pointer}.campus-compass{position:absolute;top:22px;right:24px;pointer-events:none;color:#34495c;text-align:right}.campus-compass span{font:700 12px 'IBM Plex Sans Arabic','Segoe UI',Arial,sans-serif;letter-spacing:3px}.campus-compass b{display:block;font-size:12px;margin-top:3px;opacity:.7}.campus-toolbar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:5px;padding:6px;background:#ffffffed;border:1px solid #ffffffa0;border-radius:16px;box-shadow:0 8px 30px #152c4420;max-width:calc(100% - 100px);backdrop-filter:blur(16px)}.campus-toolbar button,.campus-fullscreen,.campus-zoom button{font:700 13px 'Tajawal',sans-serif;background:transparent;border:0;padding:10px 12px;border-radius:10px;color:#35475b;cursor:pointer;white-space:nowrap}.campus-toolbar button:hover{background:#e5eafa}.campus-toolbar button[aria-pressed=true]{background:#2563eb;color:white}.campus-fullscreen{position:absolute;top:18px;left:18px;font-size:26px;line-height:1;background:#ffffffda;width:42px;height:42px;padding:4px}.campus-zoom{position:absolute;bottom:22px;left:18px;display:flex;flex-direction:column;background:#ffffffe8;border-radius:12px;box-shadow:0 4px 15px #152c4418}.campus-zoom button{font-size:23px;line-height:1;width:38px;height:36px;padding:4px}.campus-viewer button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.campus-help{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:12px;color:var(--ink2);font-size:12px}.campus-disclaimer{font-size:12px;color:var(--ink3);margin-top:10px}.campus-viewer:fullscreen{height:100%;width:100%;border:0;border-radius:0}.campus-viewer.is-expanded{position:fixed;inset:0;height:100dvh;width:100vw;z-index:1000;border-radius:0}.campus-viewer.is-expanded .campus-toolbar{bottom:30px}[data-theme=dark] .campus-viewer{background:radial-gradient(ellipse at 50% 35%,#253343,#101821);border-color:#ffffff20}[data-theme=dark] .campus-compass{color:#d0ddeb}[data-theme=dark] .campus-toolbar,[data-theme=dark] .campus-fullscreen,[data-theme=dark] .campus-zoom{background:#152132ed;border-color:#ffffff20}[data-theme=dark] .campus-viewer button{color:#e1e6f3}[data-theme=dark] .campus-toolbar button:hover{background:#38465e}[data-theme=dark] .campus-toolbar button[aria-pressed=true]{background:#2563eb}@media(max-width:640px){.campus-heading h3{font-size:24px}.campus-badge{padding:6px 10px;font-size:10px}.campus-viewer{height:530px;border-radius:18px}.campus-toolbar{bottom:14px;max-width:calc(100% - 64px);width:260px;flex-wrap:wrap;justify-content:center;margin-left:12px}.campus-toolbar button{padding:8px 9px;font-size:12px}.campus-compass{top:16px;right:16px}.campus-zoom{left:10px;bottom:18px}.campus-description{font-size:14px}.campus-help{font-size:11px}}
