:root{--blue:#087eb8;--navy:#292968;--yellow:#f5c400;--ink:#181a3d;--paper:#f5f8fb;--white:#fff;--danger:#9b2030;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--navy)}.topbar{z-index:20;background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);display:flex;position:sticky;top:0}.topbar a{color:#fff}.brand{font-weight:900;text-decoration:none}.topbar nav{gap:1rem;display:flex}.page,.mural-title{max-width:1100px;margin:auto;padding:clamp(2rem,6vw,5rem) 1rem}h1{margin:.4rem 0 1.5rem;font-size:clamp(2.2rem,7vw,5rem);line-height:.95}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-weight:900}.card,.result{background:#fff;border:1px solid #d8e3ec;border-radius:1.3rem;margin:1rem 0;padding:clamp(1rem,3vw,2rem);box-shadow:0 12px 35px #193a5612}.narrow{max-width:520px;margin:4rem auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.wide{grid-column:1/-1}label{gap:.35rem;font-weight:700;display:grid}input,select,textarea,button,.button{font:inherit;border:1px solid #b6c8d6;border-radius:.7rem;padding:.8rem 1rem}textarea{min-height:7rem}button,.button{background:var(--blue);color:#fff;cursor:pointer;border:0;width:max-content;font-weight:800;text-decoration:none}.secondary{color:var(--navy);background:#fff}.danger{background:var(--danger)}.inline{align-items:center;display:flex}.inline input{width:auto}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.module{border-bottom:5px solid var(--yellow);background:#fff;border-radius:1.2rem;gap:.8rem;padding:2rem;text-decoration:none;display:grid}.row{justify-content:space-between;align-items:center;display:flex}.flash,.errors{background:#e4f7ed;border-radius:.6rem;max-width:1000px;margin:1rem auto;padding:1rem}.errors{background:#ffe8e8}.table-wrap{overflow:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid #dde7ee;padding:1rem}td small{display:block}.camera-shell{background:#06101f;height:calc(100svh - 65px);position:relative;overflow:hidden}.camera-shell video{object-fit:cover;width:100%;height:100%}.camera-overlay{color:#fff;background:linear-gradient(#0000,#07142ce6);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.8rem;padding:clamp(1rem,6vw,4rem);display:flex;position:absolute;inset:0}.camera-overlay h1{max-width:800px}.list{gap:.7rem;display:grid}.list>a{background:#fff;border-radius:.8rem;justify-content:space-between;padding:1.2rem;text-decoration:none;display:flex}.panorama-placeholder{background:linear-gradient(90deg,#1dc85a,#0ea5e9,#f5c400,#292968);border-radius:1rem;max-width:1400px;height:min(58vw,560px);margin:0 auto;position:relative;overflow:hidden}.panorama-placeholder p{background:#fff9;width:max-content;padding:1rem}.hotspot-link{background:#f5c40099;border:3px solid #fff;border-radius:1rem;place-items:center;height:55%;font-weight:900;text-decoration:none;display:grid;position:absolute;top:20%}.story{max-width:900px;min-height:85vh;margin:auto;padding:8rem 1rem 4rem}.map iframe{border:0;width:100%;height:clamp(320px,45vw,520px);display:block}.search{flex-wrap:wrap;align-items:end;gap:.7rem;margin-bottom:2rem;display:flex}@media (width<=650px){.topbar nav a:first-child{display:none}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.row{align-items:flex-start;gap:1rem}.list>a{flex-direction:column}.camera-overlay h1{font-size:3rem}}.camera-detections{z-index:15;flex-wrap:wrap;gap:.6rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.camera-detections .button{font-size:.85rem}.camera-shell>canvas,.camera-shell video{position:absolute;inset:0}.camera-overlay{pointer-events:none}.camera-overlay button,.camera-overlay a{pointer-events:auto}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}.auto-interaction-form{margin-top:1rem}.compile-status{min-height:1.5rem;color:var(--navy);margin:0;font-weight:700}.compile-status.error{color:var(--danger)}.auto-interaction-form button:disabled{cursor:wait;opacity:.65}
