/* Postcode coverage checker + map, in the site's own colours and type (25-10-2026). */
.w1-sec{background:var(--bg);color:var(--ink);padding:64px 0}
.w1-sec.alt{background:var(--bg2)}
.w1-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.w1-eyebrow{font-size:0.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 10px}
.w1-h{font-size:clamp(1.625rem,3vw,2.5rem);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:0;color:var(--ink)}
.w1-lead{font-size:1rem;line-height:1.55;color:var(--muted);margin:12px 0 0;max-width:60ch}
@media (max-width:600px){.w1-sec{padding:48px 0}.w1-wrap{padding:0 20px}}
.w1-cov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}
.w1-cov-form{display:flex;gap:10px;margin-top:22px;max-width:460px}
.w1-cov-form[hidden]{display:none}
.w1-cov-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.w1-cov-form input{flex:1;min-width:0;height:52px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0a0c11;color:var(--ink);font:600 1.0625rem/1 'Archivo',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.w1-cov-form input::placeholder{color:#64748b;text-transform:none;letter-spacing:0;font-family:'Archivo',system-ui,sans-serif;font-weight:400}
.w1-cov-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,123,255,.22)}
.w1-cov-form button{height:52px;padding:0 22px;border:0;border-radius:12px;background:var(--accent);color:#04122b;font:700 1rem/1 'Archivo',system-ui,sans-serif;cursor:pointer}
.w1-cov-form button:hover{background:#5b9bff}
.w1-cov-form button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.w1-cov-out{margin-top:14px;min-height:52px;font-size:1rem;line-height:1.5;max-width:460px}
.w1-cov-out strong{color:var(--ink)}
.w1-cov-out a{color:var(--accent);font-weight:700}
.w1-cov-out .yes{color:#86efac;font-weight:700}
.w1-cov-out .edge{color:#fdba74;font-weight:700}
.w1-cov-out .no{color:#fca5a5;font-weight:700}
.w1-cov-codes{font-family:'Archivo',system-ui,sans-serif;font-size:0.75rem;color:var(--muted);line-height:1.7;margin-top:18px;max-width:460px}
.w1-map{position:relative;border-radius:18px;background:radial-gradient(120% 90% at 30% 20%,#141824,#0a0c11);border:1px solid var(--line);padding:10px}
.w1-map svg{display:block;width:100%;height:auto}
.w1-map .zone{fill:rgba(148,163,184,.07);stroke:rgba(148,163,184,.28);stroke-width:1;transition:fill .3s,stroke .3s}
.w1-map .zone.edge{stroke-dasharray:3 4}
.w1-map .zone.hit{fill:rgba(47,123,255,.22);stroke:var(--accent);stroke-width:2}
.w1-map .zl{font:600 10px 'Archivo',system-ui,sans-serif;fill:#64748b;letter-spacing:.06em}
.w1-map .zl.hit{fill:var(--accent)}
.w1-map .town{fill:var(--ink)}
.w1-map .vill{fill:#64748b}
.w1-map .tl{font:600 12px 'Archivo',system-ui,sans-serif;fill:var(--ink);paint-order:stroke;stroke:#0a0c11;stroke-width:3px;stroke-linejoin:round}
.w1-map a:hover .tl,.w1-map a:focus .tl{fill:var(--accent)}
.w1-map a:focus{outline:none}
.w1-map a:focus-visible .town{stroke:var(--accent);stroke-width:3}
.w1-map .ring{fill:none;stroke:var(--accent);stroke-width:2;opacity:0}
.w1-map .ring.hit{opacity:1}
html.w1-motion .w1-map .ring.hit{animation:w1-ring 1.6s ease-out 2}
@keyframes w1-ring{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.w1-map .ring{transform-box:fill-box;transform-origin:center}
.w1-map-note{position:absolute;right:16px;bottom:12px;font:500 .75rem 'Archivo',system-ui,sans-serif;color:#64748b;letter-spacing:.04em}
@media (max-width:900px){.w1-cov{grid-template-columns:1fr;gap:28px}}
@media (max-width:600px){.w1-cov-form button{padding:0 16px}}
@media (max-width:900px){.w1-cov{grid-template-columns:minmax(0,1fr)}}
.w1-cov-form button{background:linear-gradient(100deg,var(--accent),#38d6ff);color:#04122b}
.w1-cov-form button:hover{filter:brightness(1.08)}
.w1-cov-form input{letter-spacing:.04em}
/* Real-geography base layer under the bubbles (27-10-2026). Quiet on purpose: the bubbles lead. */
.w1-map .base{pointer-events:none}
.w1-map .b-sea{fill:rgba(47,123,255,.09)}
.w1-map .b-coast{fill:none;stroke:rgba(125,170,255,.42);stroke-width:1.1;stroke-linejoin:round}
.w1-map .b-hills{fill:rgba(134,239,172,.07);stroke:rgba(134,239,172,.22);stroke-width:1;stroke-linejoin:round}
.w1-map .b-border{fill:none;stroke:rgba(148,163,184,.38);stroke-width:1;stroke-dasharray:5 3 1 3;stroke-linejoin:round}
.w1-map .b-road{fill:none;stroke:rgba(226,232,240,.17);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.w1-map .b-road.b-mway{stroke:rgba(226,232,240,.34);stroke-width:2}
.w1-map .b-shield{fill:#151a26;stroke:rgba(148,163,184,.45);stroke-width:.8}
.w1-map .b-shield.b-mway{fill:#173066;stroke:rgba(96,165,250,.6)}
.w1-map .b-ref{font:700 8.5px 'Archivo',system-ui,sans-serif;fill:#cbd5e1;letter-spacing:.02em}
.w1-map .bl{font-family:'Archivo',system-ui,sans-serif;paint-order:stroke;stroke:#0d1018;stroke-width:3px;stroke-linejoin:round}
.w1-map .bl-area{font-size:9.5px;font-weight:700;letter-spacing:.22em;fill:#4b5a70}
.w1-map .bl-sea{font-size:11px;font-style:italic;font-weight:500;fill:rgba(125,170,255,.6);stroke:none}
.w1-map .bl-city{font-size:11px;font-weight:600;fill:#8492a6}
.w1-map .bl-hills{font-size:9px;font-weight:700;letter-spacing:.2em;fill:rgba(134,239,172,.55)}
.w1-map{padding-bottom:28px}
.w1-map-note{bottom:9px}
.w1-map-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.w1-map-note a:hover{color:var(--accent)}
/* Phones: the map is ~330px wide, so lift the text and badges back to a readable size. */
@media (max-width:600px){
  .w1-map .tl{font-size:15px;stroke-width:3.5px}
  .w1-map .zl{font-size:14px}
  .w1-map .bl-area{font-size:13px;letter-spacing:.16em}
  .w1-map .bl-hills{font-size:12px;letter-spacing:.14em}
  .w1-map .bl-city,.w1-map .bl-sea{font-size:14px}
  .w1-map .b-badge{transform:scale(1.4)}
}
