/* Compact spatial sourcing homepage. All industry catalogues remain independent. */
.city-home{background:#061321;color:#edf5ff}
.city-experience{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 164px);max-height:820px;overflow:hidden;background:radial-gradient(ellipse at 65% 42%,#153c56 0,#081c2c 45%,#060f1c 85%)}
.city-background{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#04101ff5,#04101f55 55%,#04101f77),url('./industries/D-960.webp') center/cover;opacity:.22}
#mesa-city-stage{position:absolute;inset:0}
#mesa-city-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline:none}
.city-overlay{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr) 250px;gap:20px;align-items:center;height:calc(100% - 108px);pointer-events:none}
.city-overlay a,.city-overlay button,.hall-preview{pointer-events:auto}
.city-kicker{font-size:9px;letter-spacing:2px;color:#9abacd;display:flex;align-items:center;gap:9px;margin-bottom:26px}
.city-kicker i{width:5px;height:5px;border-radius:50%;background:#6cd3ff;box-shadow:0 0 12px #33baff}
.city-intro h1{font-size:clamp(54px,5.3vw,78px);line-height:.99;font-weight:500;letter-spacing:-.06em;color:#f1f6fa}
.city-intro h1 em{background:linear-gradient(120deg,#8de4ff,#7b9bff);background-clip:text;-webkit-text-fill-color:transparent}
.city-intro>p{font-size:14px;line-height:1.8;color:#a2b6c8;margin:25px 0}
.city-primary{background:#eef6fb;color:#122b42;font-size:12px;min-height:46px;padding:12px 20px;border:1px solid #ffffff70;border-radius:5px}
.city-primary:hover{background:#99dcff;color:#09223d}
.city-catalogue{display:block;color:#c8d8e4;font-size:11px;margin-top:17px;max-width:max-content;border-bottom:1px solid #627b8b;padding-bottom:3px}
.city-count{display:flex;align-items:center;gap:16px;margin-top:33px;color:#87a3b9}.city-count strong{font-size:33px;font-weight:300;color:#d0e4f5}.city-count span{font-size:8px;line-height:1.8;letter-spacing:1.5px}
.city-interaction{align-self:end;margin-bottom:18px;text-align:center}
.city-map-label{font-size:8px;color:#83a9be;letter-spacing:1.5px}
.city-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.city-controls button{border:1px solid #6d9cba60;background:#0a2238cc;color:#c2deef;border-radius:5px;padding:8px 12px;font-size:10px;cursor:pointer}
.city-controls button:hover{border-color:#9cd5f3}
#city-state{font-size:10px;line-height:1.5;color:#83a9be;min-height:30px}
.hall-preview{background:#0a2033d9;border:1px solid #8ab4cc30;border-radius:10px;overflow:hidden;box-shadow:0 18px 60px #0003;backdrop-filter:blur(12px)}
.hall-image{position:relative}.hall-image img{display:block;width:100%;height:166px;object-fit:cover}.hall-image span{position:absolute;top:12px;left:12px;background:#071c2bd9;border:1px solid #ceeaff44;color:#dceef8;border-radius:3px;padding:3px 7px;font-size:8px;letter-spacing:1.4px}
.hall-details{padding:20px}.hall-eyebrow{font-size:8px;letter-spacing:1.5px;color:#83abc5}.hall-details h2{font-size:23px;font-weight:400;letter-spacing:-.6px;line-height:1.2;margin:12px 0 22px;color:#f0f6fb}.hall-details a{display:flex;justify-content:space-between;font-size:11px;color:#b8e7ff;padding-top:13px;border-top:1px solid #45658055}
.hall-disclosure{font-size:8px;color:#8ba3b5;border-top:1px solid #45658033;padding:10px 20px}
.city-bottom{position:relative;display:flex;align-items:center;gap:18px;height:108px;border-top:1px solid #85b5ce30}
.hall-picker{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.hall-picker label{font-size:9px;letter-spacing:1.4px;color:#8ea9be;white-space:nowrap}.hall-picker select{background:#102b41;color:#e7f1f7;border:1px solid #57789266;padding:12px 36px 12px 14px;border-radius:5px;font:inherit;font-size:12px;width:100%;max-width:440px;min-width:0}
.hall-step{display:flex;gap:8px}.hall-step button{height:40px;width:40px;background:transparent;color:#c4deef;border:1px solid #6e91ab55;border-radius:50%;cursor:pointer;font-size:18px}.hall-step button:hover{background:#284862}
.city-bottom>p{font-size:9px;color:#819bb1;margin-inline-start:auto;line-height:1.8}
.city-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0}
.city-shortcuts a{position:relative;padding:24px 28px;border-inline-end:1px solid #8cb5cd22}
.city-shortcuts a:first-child{padding-inline-start:0}.city-shortcuts a:last-child{border:0}.city-shortcuts span{display:block;font-size:8px;letter-spacing:1.5px;color:#7295ad;margin-bottom:9px}.city-shortcuts strong{display:block;font-size:16px;font-weight:400;letter-spacing:-.3px;padding-inline-end:20px}.city-shortcuts b{position:absolute;right:22px;top:40px;font-weight:400;color:#98c2dc}.city-shortcuts a:hover{color:#9ddfff}
.home .site-footer{padding-top:0;background:#f8fafb}.home .footer-grid{display:none}.home .footer-bottom{margin-top:0;border-top:0;padding:20px 0}
@media(max-width:1100px){.city-overlay{grid-template-columns:240px minmax(0,1fr) 210px;gap:12px}.city-intro h1{font-size:62px}.hall-image img{height:135px}.hall-details{padding:16px}.hall-details h2{font-size:20px}.hall-picker{gap:10px}.hall-picker label{font-size:8px}.city-bottom>p{max-width:180px}}
@media(max-width:760px){.city-experience{height:auto;max-height:none;min-height:0}.city-overlay{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:32px;padding-bottom:20px;gap:20px 14px}.city-intro{grid-column:1/-1;position:relative}.city-intro h1{font-size:54px;line-height:1.02}.city-intro h1 br:nth-of-type(2){display:none}.city-intro h1 em{margin-inline-start:10px}.city-kicker{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}.city-intro>p{font-size:13px;margin:17px 0}.city-count{position:absolute;right:0;bottom:10px;flex-direction:column;gap:4px;align-items:flex-end}.city-count strong{font-size:26px}.city-count span{font-size:6px;text-align:right}.city-interaction{align-self:center;margin:0}.city-map-label{font-size:7px;letter-spacing:.5px}.city-controls{gap:6px}.city-controls button{font-size:9px;padding:8px}.hall-image img{height:110px}.hall-details{padding:12px}.hall-details h2{font-size:17px;margin:9px 0 14px}.hall-eyebrow{font-size:6px}.hall-details a{font-size:10px}.hall-disclosure{font-size:7px;padding:8px 12px}.city-bottom{height:auto;min-height:105px;flex-wrap:wrap;padding:16px 0;gap:12px}.hall-picker{flex-basis:calc(100% - 95px);display:block}.hall-picker label{display:block;margin-bottom:7px}.hall-picker select{font-size:11px;padding:10px 24px 10px 10px}.hall-step{gap:6px;align-self:center;padding-top:15px}.hall-step button{height:32px;width:32px}.city-bottom>p{max-width:none;margin:0;font-size:8px}.city-bottom>p br{display:none}.city-shortcuts{grid-template-columns:1fr}.city-shortcuts a,.city-shortcuts a:first-child{padding:17px 0;border-inline-end:0;border-bottom:1px solid #ffffff18}.city-shortcuts span{font-size:7px;margin-bottom:4px}.city-shortcuts strong{font-size:14px}.city-shortcuts b{top:28px;right:3px}.home .footer-bottom{padding:16px 0}}
@media(prefers-reduced-motion:reduce){.hall-preview{backdrop-filter:none}}
.home .footer-grid{display:grid;padding:25px 0;width:100%}
.compact-footer{padding-top:8px}
.compact-footer summary{cursor:pointer;list-style:none;font-size:12px;padding:14px 0;border-bottom:1px solid #dfe6eb;color:#5b7182}
.compact-footer summary::-webkit-details-marker{display:none}
.compact-footer summary span{float:right}
.compact-footer[open] summary span{transform:rotate(45deg)}
.city-hover-label{position:absolute;z-index:5;pointer-events:none;max-width:min(300px,calc(100% - 16px));padding:10px 14px;background:#082438f5;border:1px solid #78d8ff99;border-radius:6px;color:#e9f7ff;font-size:13px;line-height:1.4;box-shadow:0 8px 30px #0005}.city-hover-label[hidden]{display:none}
