.location-layout{grid-template-columns:minmax(0,22rem) minmax(0,1fr);align-items:start;gap:clamp(24px,3vw,48px);display:grid}.location-card{border:1px solid var(--jeil-color-line);background:var(--jeil-color-surface);padding:clamp(24px,2.4vw,32px)}.location-card h3{font-size:var(--jeil-type-subtitle);font-weight:var(--jeil-weight-semibold);letter-spacing:var(--jeil-tracking-subheading)}.location-card dl{margin:var(--jeil-space-6) 0 0;border-top:1px solid var(--jeil-color-ink)}.location-card dl>div{gap:var(--jeil-space-4);border-bottom:1px solid var(--jeil-color-line);grid-template-columns:3.5rem minmax(0,1fr);padding-block:14px;display:grid}.location-card dt{color:var(--jeil-color-muted);font-size:var(--jeil-type-small);line-height:1.7}.location-card dd{align-items:baseline;gap:var(--jeil-space-2) var(--jeil-space-3);min-width:0;font-size:var(--jeil-type-ui);flex-wrap:wrap;margin:0;line-height:1.6;display:flex}.location-card dd a{font-weight:var(--jeil-weight-semibold)}.location-copy{border:1px solid var(--jeil-color-control-line);background:var(--jeil-color-surface);min-height:32px;color:var(--jeil-color-ink);font-size:var(--jeil-type-caption);white-space:nowrap;padding:0 10px}.location-copy[data-state=done]{border-color:var(--jeil-color-ink)}.location-copy[data-state=failed]{border-color:var(--jeil-color-accent);color:var(--jeil-color-accent)}.location-actions{gap:var(--jeil-space-2);margin-top:var(--jeil-space-6);grid-template-columns:1fr 1fr;display:grid}.location-action{justify-content:space-between;align-items:center;gap:var(--jeil-space-2);min-height:var(--jeil-touch-min);border:1px solid var(--jeil-color-control-line);background:var(--jeil-color-surface);color:var(--jeil-color-ink);font-size:var(--jeil-type-small);font-weight:var(--jeil-weight-medium);padding:0 14px;display:inline-flex}.location-action svg{flex-shrink:0;width:14px;height:14px}.location-action--primary{border-color:var(--jeil-color-ink);background:var(--jeil-color-ink);color:var(--jeil-color-inverse);grid-column:1/-1}.location-action:hover{border-color:var(--jeil-color-ink)}.location-action--primary:hover{background:var(--jeil-color-stage-mid)}.location-inquiry{min-height:var(--jeil-touch-min);margin-top:var(--jeil-space-4);border-bottom:1px solid var(--jeil-color-control-line);color:var(--jeil-color-accent);font-size:var(--jeil-type-ui);font-weight:var(--jeil-weight-medium);justify-content:space-between;align-items:center;display:flex}.location-inquiry svg{width:18px;height:18px}.location-note{margin-top:var(--jeil-space-4);color:var(--jeil-color-muted);font-size:var(--jeil-type-caption);line-height:1.7}.location-map{aspect-ratio:4/3;border:1px solid var(--jeil-color-line);background:#eeede8;margin:0;position:relative;overflow:hidden}.location-map>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.location-land{fill:#eeede8}.location-road-casing,.location-road-fill{fill:none;stroke-linecap:round;stroke-linejoin:round}.location-road-casing.location-road--service{stroke:#d9d7cf;stroke-width:5px}.location-road-fill.location-road--service{stroke:#fff;stroke-width:3px}.location-road-casing:is(.location-road--residential,.location-road--unclassified){stroke:#d2d0c7;stroke-width:7px}.location-road-fill:is(.location-road--residential,.location-road--unclassified){stroke:#fff;stroke-width:4.5px}.location-road-casing.location-road--tertiary{stroke:#c9c6bb;stroke-width:9px}.location-road-fill.location-road--tertiary{stroke:#fff;stroke-width:6px}.location-road-casing:is(.location-road--primary,.location-road--primary_link){stroke:#dcb85c;stroke-width:10px}.location-road-fill:is(.location-road--primary,.location-road--primary_link){stroke:#fbe39a;stroke-width:7px}.location-road-casing.location-road--primary_link{stroke-width:7.5px}.location-road-fill.location-road--primary_link{stroke-width:5px}.location-road-casing.location-road--motorway{stroke:#d3924a;stroke-width:12px}.location-road-fill.location-road--motorway{stroke:#f6c27c;stroke-width:8.5px}.location-road-casing.is-tunnel{stroke-dasharray:6 5;opacity:.7}.location-road-fill.is-tunnel{stroke:#f6f5f1}.location-labels{pointer-events:none;position:absolute;inset:0}.location-label{color:#3a3e43;font-size:13px;font-weight:var(--jeil-weight-semibold);letter-spacing:-.01em;white-space:nowrap;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 4px #fff;align-items:center;gap:5px;line-height:1;display:inline-flex;position:absolute}.location-label--bridge{color:#5a5f64;font-size:12px;font-weight:var(--jeil-weight-medium);transform:translate(-108%,-50%)}.location-shield{color:#fff;min-width:22px;height:17px;text-shadow:none;border-radius:3px;place-items:center;padding:0 4px;font-size:11px;font-weight:700;display:inline-grid}.location-shield--national{background:#2563c9}.location-shield--motorway{background:#2563c9;padding-top:2px;box-shadow:inset 0 3px #d23a33}.location-pin{width:28px;height:36px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.location-pin svg{filter:drop-shadow(0 2px 2px #00000040);width:28px;height:36px;display:block}.location-pin path{fill:var(--jeil-color-accent)}.location-pin circle{fill:#fff}.location-pin-label{color:#1c1f25;letter-spacing:-.02em;white-space:nowrap;text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 3px #fff,0 0 5px #fff;font-size:15px;font-weight:700;position:absolute;top:4px;right:calc(100% + 4px)}.location-pin:focus-visible{outline:3px solid var(--jeil-color-focus);outline-offset:3px}.location-scale{border:2px solid #3a3e43;border-top:0;width:12.5%;height:7px;position:absolute;bottom:14px;left:14px}.location-scale span{color:#3a3e43;font-size:11px;font-weight:var(--jeil-weight-semibold);text-shadow:0 0 2px #fff,0 0 3px #fff;position:absolute;bottom:8px;left:0}.location-credit{color:#4a4f55;background:#ffffffd1;padding:3px 8px;font-size:11px;position:absolute;bottom:0;right:0}.location-credit:focus-visible{outline:3px solid var(--jeil-color-focus);outline-offset:-3px}@media (max-width:1023px){.location-layout{grid-template-columns:minmax(0,1fr)}.location-map{order:-1}}@media (max-width:767px){.location-label{gap:3px;font-size:11px}.location-label--bridge{font-size:10px}.location-shield{min-width:18px;height:15px;font-size:10px}.location-pin-label{font-size:13px}.location-actions{grid-template-columns:1fr}.location-label--route60{display:none}.location-scale{bottom:30px}.location-credit{left:0;right:auto}}
