/* The exported templates use inline desktop layouts; these rules adapt them. */
[data-screen-label] *, [data-screen-label] *::before, [data-screen-label] *::after { box-sizing: border-box; }
[data-screen-label] :is(div, section, label) { min-width: 0; }
[data-screen-label] :is(a, button) { overflow-wrap: anywhere; }
[data-screen-label] img { max-width: 100%; }
[data-screen-label] section[id] { scroll-margin-top: 100px; }
.site-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo-credit { position: absolute; top: 10px; right: 10px; z-index: 1; padding: 5px 8px; background: rgba(0,0,0,.75); color: #fff; font: 10px/1.4 'IBM Plex Mono', monospace; }
.photo-credit:hover { color: #fff; text-decoration: underline; }
.corridor-map-panel { overflow: hidden; }
.corridor-map-panel__top, .corridor-map-panel__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; font: 10px/1.4 'IBM Plex Mono', monospace; letter-spacing: 1.4px; }
.corridor-map-panel__note, .corridor-map-panel__meta { color: var(--muted); }
.corridor-map-shell { position: relative; min-height: 280px; border: 1px solid var(--line); background: #e9edf0; overflow: hidden; }
.corridor-map { width: 100%; height: 360px; min-height: 280px; }
.corridor-map-fallback { display: grid; place-items: center; min-height: 280px; padding: 28px; color: #42484d; background: #e9edf0; font: 13px/1.6 'Archivo', sans-serif; text-align: center; }
.corridor-map-fallback[hidden] { display: none; }
.corridor-map-panel .maplibregl-ctrl-group { border: 1px solid rgba(30,30,30,.18); border-radius: 0; box-shadow: none; }
.corridor-map-panel .maplibregl-ctrl-group button { min-height: 29px; }
.corridor-map-panel .maplibregl-ctrl-attrib { font: 9px/1.3 'IBM Plex Mono', monospace; }
.corridor-map-panel .maplibregl-popup-content { padding: 12px 14px; border-radius: 0; color: #1e1e1e; font: 12px/1.45 'Archivo', sans-serif; }
.corridor-map-panel .maplibregl-popup-close-button { font-size: 18px; }
.form-error { color: #ffbba3; font: 14px/1.5 'Archivo', sans-serif; margin: 10px 0; }
.privacy-consent { position: fixed; right: 20px; bottom: 20px; z-index: 200; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 24px; align-items: center; max-width: 620px; padding: 18px 20px; border: 1px solid #555; background: #1e1e1e; color: #efefef; box-shadow: 0 12px 32px rgba(0,0,0,.32); font: 13px/1.5 'Archivo', sans-serif; }
.privacy-consent[hidden] { display: none; }
.privacy-consent__message { margin: 0; max-width: 430px; }
.privacy-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.privacy-consent__actions button { min-height: 36px; padding: 8px 12px; border: 1px solid #777; background: transparent; color: #efefef; cursor: pointer; font: 11px/1.2 'IBM Plex Mono', monospace; letter-spacing: .6px; }
.privacy-consent__actions button[data-consent-allow] { border-color: #ea5e27; background: #ea5e27; color: #fff; }
@media (max-width: 819px) {
  [data-screen-label] header { padding: 16px 20px !important; gap: 16px !important; }
  [data-screen-label] header > img { height: auto !important; max-width: min(220px, 100%); }
  [data-screen-label] section, [data-screen-label] footer { padding-left: 20px !important; padding-right: 20px !important; }
  [data-screen-label] [data-stack] { grid-template-columns: minmax(0, 1fr) !important; }
  .track-sticky { position: relative; top: auto; }
  [data-screen-label] [data-grid] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-screen-label] [data-stats] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-screen-label] [data-stats] > div { padding: 24px 16px !important; }
  [data-screen-label] [data-stats] > div > div:first-child { font-size: clamp(22px, 6vw, 32px) !important; }
  [data-screen-label] [data-inset] { padding-left: 16px !important; padding-right: 16px !important; }
  .corridor-map { height: 300px; min-height: 240px; }
  .corridor-map-panel__top, .corridor-map-panel__meta { align-items: flex-start; flex-direction: column; }
  [data-screen-label] [data-wrap] { flex-wrap: wrap !important; }
  [data-screen-label] [data-wrap] > :is(a, button) { max-width: 100%; }
  [data-screen-label] :is(input, select, textarea) { font-size: 16px !important; }
  [data-screen-label] :is(button, a[href]) { touch-action: manipulation; }
  [data-screen-label] button { min-height: 40px; }
  [data-screen-label] header nav { white-space: normal !important; }
  [data-screen-label] pre { white-space: pre-wrap; overflow-wrap: anywhere; }
  [data-screen-label] footer { flex-wrap: wrap !important; gap: 20px !important; }
  .privacy-consent { right: 12px; bottom: 12px; left: 12px; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .privacy-consent__actions { justify-content: flex-start; }
}
@media (max-width: 480px) {
  [data-screen-label] [data-grid] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-screen-label] h1 { font-size: clamp(34px, 10.5vw, 46px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  [data-screen-label] *, [data-screen-label] *::before, [data-screen-label] *::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
  [data-rv] { opacity: 1 !important; transform: none !important; }
}
