/* The service panel stays beside the illustration on wide screens. */
.site-explorer { padding-bottom: clamp(2rem, 5vw, 5rem); }
.site-explorer-head { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; margin: 0 0 1rem; }
.site-explorer-head h2 { margin: .3rem 0 0; line-height: 1; }
.site-view-switch { display: flex; flex-wrap: wrap; gap: .35rem; padding: .3rem; border: 1px solid #bfc9c5; border-radius: .6rem; background: #f8f6ef; }
.site-view-switch button { padding: .6rem .8rem; min-height: 44px; border: 0; border-radius: .35rem; background: transparent; color: #2e4a66; font: 600 .88rem Barlow, Arial, sans-serif; cursor: pointer; }
.site-view-switch button[aria-pressed="true"] { background: #2e4a66; color: #fff; }
.site-split { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(275px, 1fr); gap: clamp(.75rem, 2vw, 1.65rem); align-items: start; }
.site-scene { margin: 0; background: #eee9de; border: 1px solid #c9c8bc; border-radius: .75rem; overflow: hidden; }
.site-scene [hidden], .site-inspector[hidden] { display: none; }
.site-scene-bar, .site-scene figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem 1rem; padding: .65rem .95rem; font-size: .82rem; color: #334a5a; background: #f8f6ef; }
.site-scene-bar { font-weight: 600; border-bottom: 1px solid #d4d2c8; }
.site-scene figcaption { border-top: 1px solid #d4d2c8; }
.site-panel { display: grid; gap: .55rem; min-width: 0; }
.site-panel-kicker { margin: 0; color: #4a5c66; font-size: .73rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-choices { display: grid; gap: .36rem; }
.site-choice { display: grid; grid-template-columns: 2rem 1fr 1rem; align-items: center; gap: .65rem; min-height: 49px; padding: .55rem .7rem; background: #f8f6ef; border: 1px solid #d4d3c7; border-radius: .5rem; color: #203b53; text-decoration: none; }
.site-choice:hover, .site-choice.is-active { background: #e3eae5; border-color: #8ca29f; }
.site-choice.is-selected { border-color: #2e4a66; box-shadow: inset 3px 0 #2e4a66; }
.site-no { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; background: #e9e3d4; border-radius: 50%; color: #334c5f; font-size: .78rem; font-weight: 700; }
.site-choice.is-selected .site-no { background: #2e4a66; color: white; }
.site-choice strong, .site-choice small { display: block; line-height: 1.16; }
.site-choice strong { font-size: .94rem; }
.site-choice small { margin-top: .22rem; color: #4b5e67; font-size: .78rem; }
.site-arrow { justify-self: end; }
.site-inspector { display: grid; gap: .3rem; background: #2b4358; color: #fff; border-radius: .55rem; padding: .75rem .9rem; scroll-margin: 9rem; }
.site-inspector .site-panel-kicker { color: #e5d8bc; }
.site-inspector-title { margin: 0; font-size: 1.13rem; font-weight: 700; }
.site-inspector a { justify-self: start; display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: white; text-decoration: underline; text-underline-offset: .2em; }
.site-choice:focus-visible, .site-view-switch button:focus-visible, .site-inspector a:focus-visible { outline: 2px solid #9e713b; outline-offset: 2px; }
.site-scene .raster-hotspot[data-zone="montage"] { --area: #a56c32; }
.site-scene .raster-marker { display: inline; }
.site-scene .raster-marker circle { stroke-width: 4; }
.w-world-card { border-radius: .65rem; overflow: hidden; }
.w-world-card:hover, .w-world-card:focus-visible { box-shadow: 0 12px 34px #253f531a; }
.fit-figure { border-radius: .65rem; overflow: hidden; }
.fit-visual-head { border-bottom: 1px solid #b3c2bd; padding-bottom: .6rem; }
.fit-service[open] { box-shadow: inset 3px 0 #2e4a66; border-radius: .3rem; }
@media (max-width: 800px) {
    .site-explorer-head { align-items: flex-start; flex-direction: column; }
    .site-split { grid-template-columns: minmax(0,1fr); }
    .site-choice { min-height: 54px; }
    .site-view-switch { width: 100%; }
    .site-view-switch button { flex: 1; }
    .site-scene .raster-marker circle { r: 34px; }
    .site-scene .raster-marker text { font-size: 23px; }
}
@media (prefers-reduced-motion: no-preference) {
    .site-choice, .site-view-switch button, .w-world-card { transition: background-color .18s ease, box-shadow .18s ease, border-color .18s ease; }
}

