/* Thayer Site Facts — interactive property map (section 02). Uses the page's colour tokens. */
.sm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.sm-bar{display:none}
.sm-ready .sm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;
  padding:12px 14px;background:var(--card);border-bottom:1px solid var(--rule)}
.sm-right{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sm-seg{display:inline-flex;border:1px solid var(--rule-2);border-radius:3px;overflow:hidden;background:var(--card-2)}
.sm-seg button,.sm-tbtn{font:600 14px/1.1 "Libre Franklin",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink-2);
  background:transparent;border:0;padding:9px 13px;min-height:38px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sm-seg button+button{border-left:1px solid var(--rule)}
.sm-seg button:hover{background:#e6eaea;color:var(--ink)}
.sm-seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.sm-tbtn{border:1px solid var(--rule-2);border-radius:3px;background:var(--card);color:var(--navy);display:inline-flex;align-items:center;gap:7px}
.sm-tbtn:hover{background:var(--card-2)}
.sm-tbtn svg{width:15px;height:15px;flex:none}

.sm-ready .sm-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:3/2;min-height:360px;max-height:78vh;
  background:#55603f;touch-action:pan-x pan-y;cursor:grab;-webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;outline:none}
.sm-ready .sm-stage:focus-visible{box-shadow:inset 0 0 0 3px var(--gold-br)}
.sm-stage.is-dragging{cursor:grabbing}
.sm-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;overflow:hidden}
.sm-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}

.sm-lab{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;
  font:700 12.5px/1.25 "Libre Franklin",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);
  background:#fff;border-left:4px solid var(--c,#9FAAA8);padding:4px 8px 4px 7px;border-radius:2px;
  box-shadow:0 1px 3px rgba(0,0,0,.38)}
.sm-lab.is-hidden{display:none}
.sm-lab small{display:block;font:500 11px/1.3 var(--mono);color:var(--ink-2);margin-top:1px;letter-spacing:.01em}
.sm-lab.k161,.sm-lab.k161o{--c:#FF7A1A}
.sm-lab.k69{--c:#A86BFF}
.sm-lab.st{--c:var(--navy)}
.sm-lab.area{background:none;box-shadow:none;border:0;padding:0;text-align:center;color:#fff;font-size:18px;letter-spacing:-.01em;
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9)}
.sm-lab.area small{color:#fff;font:600 11.5px/1.3 var(--mono);text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.9)}
.sm-lab.note{--c:#fff;background:rgba(20,32,30,.82);color:#fff;border-left-color:#fff;font-size:12px}
.sm-lab.note small{color:#dfe6e5}
.sm-lab.road{border-left:0;border:1px solid #9FAAA8;background:#f6f3e7;color:#3d4745;font-size:11.5px;padding:2px 7px;font-weight:700}

.sm-ctl{position:absolute;display:flex;flex-direction:column;gap:6px;right:12px;top:12px}
.sm-ibtn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule-2);border-radius:3px;
  background:#fff;color:var(--navy);font:700 22px/1 "Libre Franklin",sans-serif;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.3);
  -webkit-tap-highlight-color:transparent;padding:0}
.sm-ibtn:hover{background:var(--card-2)}
.sm-ibtn:disabled{color:#b5bdbb;cursor:default}
.sm-north{position:absolute;left:12px;top:12px;width:30px;height:38px;border-radius:3px;background:rgba(255,255,255,.92);
  box-shadow:0 1px 3px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;
  font:800 11px/1 "Libre Franklin",sans-serif;color:var(--navy);pointer-events:none}
.sm-north i{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:11px solid var(--navy);margin-bottom:3px}
.sm-scale{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);padding:4px 8px 5px;border-radius:2px;
  font:600 11.5px/1 var(--mono);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.25);pointer-events:none}
.sm-scale i{display:block;height:6px;border:2px solid var(--ink);border-top:0;margin-bottom:4px}
.sm-attr{position:absolute;right:0;bottom:0;max-width:calc(100% - 124px);background:rgba(255,255,255,.82);padding:3px 7px;
  font:500 10.5px/1.35 var(--mono);color:#3d4745;text-align:right}
.sm-attr a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.sm-loading{position:absolute;left:50%;top:12px;transform:translateX(-50%);background:rgba(11,37,69,.88);color:#fff;
  font:600 12.5px/1 "Libre Franklin",sans-serif;padding:8px 12px;border-radius:3px;pointer-events:none;display:none}
.sm-loading.on{display:block}
.sm-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;
  background:rgba(11,37,69,.58);color:#fff;font:700 18px/1.35 "Libre Franklin",sans-serif;opacity:0;transition:opacity .25s;
  pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.sm-hint.on{opacity:1}

.sm-key{display:none}
.sm-ready .sm-key{display:block;padding:0 20px 14px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.sm-key b{color:var(--ink)}
.sm-grad{display:inline-block;width:120px;height:11px;border:1px solid rgba(0,0,0,.2);vertical-align:-1px;margin:0 6px 0 4px}
.sw.sw-st{background:#fff;border:2px solid var(--ink);width:12px;height:12px}
.sw.sw-wn{background:rgba(20,32,30,.12);border:1.5px dashed var(--ink)}

/* Full screen: the map takes the whole window; everything else on the page waits underneath */
html.sm-lock,html.sm-lock body{overflow:hidden}
.sm.sm-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;margin:0;border:0;display:flex;flex-direction:column;background:var(--card);
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.sm.sm-full .sm-stage{flex:1;aspect-ratio:auto;min-height:0;max-height:none;touch-action:none}
.sm.sm-full .map-legend,.sm.sm-full .sm-key,.sm.sm-full .map-note,.sm.sm-full .sm-print{display:none}
.map-card .sm-print{display:none}   /* the page styles every .map-card img as a block: outrank that on screen */

@media (max-width:560px){
  .sm-ready .sm-bar{padding:10px}
  .sm-seg button,.sm-tbtn{padding:9px 10px;font-size:13.5px}
  .sm-right{width:100%;justify-content:space-between}
  .sm-attr{font-size:9.5px;max-width:calc(100% - 120px)}
  .sm-lab{font-size:12px}
}
@media (max-width:420px){.sm-seg button,.sm-tbtn{padding:9px 8px;font-size:13px}.sm-right{gap:8px}}
@media (max-width:360px){.sm-tbtn span{display:none}.sm-tbtn{padding:9px 10px}}
/* no JavaScript: the two-panel still, split into its two panels on narrow screens */
.map-card .sm-ns-half{display:none}
@media (max-width:700px){
  .map-card .sm-ns-both{display:none}
  .map-card .sm-ns-half{display:block;width:100%;height:auto;aspect-ratio:747/1000;object-fit:cover}
  .map-card .sm-ns-left{object-position:left center}
  .map-card .sm-ns-right{object-position:right center;margin-top:6px}
}
@media print{
  .sm-bar,.sm-ctl,.sm-hint,.sm-loading,.sm-key,.sm-ready .sm-stage{display:none!important}
  .sm-ready .sm-print{display:block!important;width:100%;height:auto;break-inside:avoid}
  /* printing while the map is full screen: print the page as usual */
  html.sm-lock,html.sm-lock body{overflow:visible!important}
  .sm.sm-full{position:static!important;display:block!important;padding:0!important;border:1px solid var(--rule-2)!important}
  .sm.sm-full .map-legend{display:flex!important}
  .sm.sm-full .map-note{display:block!important}
}
@media (prefers-reduced-motion:reduce){.sm-hint{transition:none}}
