.re-w-postcode{--pc-l:rgba(195,148,211,.3)}.re-w-postcode .re-pc{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-rows:auto auto 1fr;grid-template-areas:"f map" "towns map" "out map";column-gap:clamp(28px,4.2vw,64px);align-items:start}.re-w-postcode .re-pc-f{grid-area:f}.re-w-postcode .re-pc-out{grid-area:out}.re-w-postcode .re-pc-towns{grid-area:towns}.re-w-postcode .re-pc-r{grid-area:map}.re-w-postcode .re-pc-lab{display:block;margin:0 0 12px;font:600 11px/1.3 Inter,system-ui,sans-serif;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold)}.re-w-postcode .re-pc-field{display:flex;align-items:stretch;border:1px solid var(--pc-l);background:rgba(18,11,21,.5);border-radius:2px;transition:border-color .45s var(--ease),box-shadow .45s var(--ease)}.re-w-postcode .re-pc-field:hover{border-color:rgba(195,148,211,.6)}.re-w-postcode .re-pc-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(195,148,211,.14)}.re-w-postcode .re-pc-in{flex:1 1 auto;min-width:0;width:100%;margin:0;padding:16px 20px;border:0;border-radius:0;background:transparent;color:#fff;outline:none;font:700 clamp(24px,2.3vw,30px)/1 "Archivo",system-ui,sans-serif;font-stretch:118%;letter-spacing:.08em;text-transform:uppercase}.re-w-postcode .re-pc-in::placeholder{color:rgba(245,240,247,.26);letter-spacing:.08em}.re-w-postcode .re-pc-go{flex:none;border-radius:0;margin:0;padding:0 24px;min-height:56px}.re-w-postcode .re-pc-go:focus-visible{outline:2px solid #fff;outline-offset:-4px}.re-w-postcode .re-pc-hint{margin:12px 0 0;max-width:46ch;font-size:13.4px;line-height:1.55;color:var(--muted)}.re-w-postcode .re-pc:has(.re-pc-plot.is-hint) .re-pc-field{animation:re-pc-call 1.5s .2s var(--ease) 2}@keyframes re-pc-call{0%,100%{box-shadow:0 0 0 0 rgba(195,148,211,0)}45%{box-shadow:0 0 0 6px rgba(195,148,211,.2)}}.re-w-postcode .re-pc-towns{margin-top:clamp(22px,2.4vw,30px)}.re-w-postcode .re-pc-rail{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:0}.re-w-postcode .re-pc-rail .d4-pick{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:56px;padding:11px 14px 10px;font-size:15px;color:var(--ink);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.re-w-postcode .re-pc-rail .d4-pick:nth-child(3n){border-right:0}.re-w-postcode .re-pc-rail .d4-pick:active{background:rgba(195,148,211,.14)}.re-w-postcode .re-pc-rail .d4-pick i{font:600 10.5px/1 Inter,system-ui,sans-serif;font-style:normal;letter-spacing:2px;color:var(--muted)}.re-w-postcode .re-pc-rail .d4-pick[aria-pressed=true]{color:var(--gold)}.re-w-postcode .re-pc-rail .d4-pick[aria-pressed=true] i{color:var(--gold)}.re-w-postcode .re-pc-out{margin-top:clamp(22px,2.6vw,30px);padding-top:clamp(18px,2.2vw,24px);border-top:1px solid var(--line);min-height:180px}.re-w-postcode .re-pc-say{margin:0;font-size:15.5px;line-height:1.66;color:var(--muted);max-width:52ch}.re-w-postcode .re-pc-bad{color:var(--ink)}.re-w-postcode .re-pc-v h3{margin:0 0 10px;font:600 clamp(21px,2.1vw,27px)/1.18 "Archivo",system-ui,sans-serif;font-stretch:110%;color:#fff}.re-w-postcode .re-pc-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.re-w-postcode .re-pc-acts .btn{min-height:48px}.re-w-postcode .re-pc-call svg{width:15px;height:15px;fill:var(--gold);flex:none}.re-w-postcode .re-pc-call:hover svg{fill:currentColor}.re-w-postcode .re-pc-again{display:inline-flex;align-items:center;min-height:40px;margin:12px 0 0;padding:0;border:0;background:none;cursor:pointer;font:600 13px/1 Inter,system-ui,sans-serif;letter-spacing:.02em;color:var(--muted);text-decoration:underline;text-decoration-color:rgba(195,148,211,.5);text-underline-offset:5px;transition:color .3s var(--ease),text-decoration-color .3s var(--ease)}.re-w-postcode .re-pc-again:hover{color:var(--gold);text-decoration-color:var(--gold)}.re-w-postcode .re-pc-again:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.re-w-postcode .re-pc-res.re-in,.re-w-postcode .re-pc-v.re-in{animation:re-pc-up .7s var(--ease) both}@keyframes re-pc-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.re-w-postcode .re-pc-r{margin:0;min-width:0}.re-w-postcode .re-pc-map{position:relative;overflow:hidden;border:1px solid var(--pc-l);border-radius:2px;background:radial-gradient(120% 90% at 50% 40%,rgba(43,24,51,.55),rgba(18,11,21,.85));box-shadow:0 40px 90px -50px rgba(0,0,0,.85)}.re-w-postcode .re-pc-bar{display:grid;align-items:center;min-height:64px;padding:12px 18px;border-bottom:1px solid var(--pc-l);background:rgba(18,11,21,.62)}.re-w-postcode .re-pc-bar>*{grid-area:1 / 1;margin:0;min-width:0}.re-w-postcode .re-pc-how{display:flex;align-items:flex-start;gap:10px;font:500 13.5px/1.45 Inter,system-ui,sans-serif;color:var(--ink)}.re-w-postcode .re-pc-how[hidden]{display:none}.re-w-postcode .re-pc-hand{flex:none;width:18px;height:18px;color:var(--gold)}.re-w-postcode .re-pc-touch{display:none}@media(hover:none){.re-w-postcode .re-pc-touch{display:inline}.re-w-postcode .re-pc-fine{display:none}}.re-w-postcode .re-pc-hud[hidden]{display:none}.re-w-postcode .re-pc-hud{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px}.re-w-postcode .re-pc-hud.is-in{animation:re-pc-up .6s var(--ease) both}.re-w-postcode .re-pc-code{display:flex;align-items:baseline;gap:14px;margin:0}.re-w-postcode .re-pc-oc{font:700 clamp(24px,2.3vw,30px)/1 "Archivo",system-ui,sans-serif;font-stretch:118%;letter-spacing:.02em;color:#fff;font-variant-numeric:lining-nums}.re-w-postcode .re-pc-tag{display:inline-flex;align-items:center;gap:9px;font:600 11px/1.3 Inter,system-ui,sans-serif;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);white-space:nowrap}.re-w-postcode .re-pc-tag[hidden]{display:none}.re-w-postcode .re-pc-tag i{width:10px;height:10px;border-radius:1px;background:var(--gold)}.re-w-postcode .re-pc-tag-near i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gold)}.re-w-postcode .re-pc-tag-far i{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(245,240,247,.5)}.re-w-postcode .re-pc-tag-far{color:rgba(245,240,247,.72)}.re-w-postcode .re-pc-mi,.re-w-postcode .re-pc-unk{margin:0;font-size:13.5px;line-height:1.45;color:var(--muted)}.re-w-postcode .re-pc-mi[hidden],.re-w-postcode .re-pc-unk[hidden]{display:none}.re-w-postcode .re-pc-mi b{font:700 17px/1 "Archivo",system-ui,sans-serif;font-stretch:118%;color:var(--gold);font-variant-numeric:lining-nums tabular-nums}.re-w-postcode .re-pc-mi span{color:var(--ink);font-weight:600}.re-w-postcode .re-pc-plot{position:relative}.re-w-postcode .re-pc-svg{display:block;width:100%;height:auto;aspect-ratio:var(--pc-ar);overflow:hidden}.re-w-postcode .re-pc-plot.is-pick .re-pc-svg{cursor:pointer}.re-w-postcode .re-pc-grid path{stroke:rgba(255,255,255,.05);stroke-width:1;vector-effect:non-scaling-stroke;fill:none}.re-w-postcode .re-pc-z30{opacity:.07;fill:#C394D3}.re-w-postcode .re-pc-z15{opacity:.15;fill:#C394D3}.re-w-postcode .re-pc-e30,.re-w-postcode .re-pc-e15{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round}.re-w-postcode .re-pc-e30{stroke:rgba(195,148,211,.28);stroke-width:1}.re-w-postcode .re-pc-e15{stroke:rgba(195,148,211,.75);stroke-width:1.2}.re-w-postcode .re-pc-dots{fill:rgba(219,191,229,.5)}.re-w-postcode .re-pc-line{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:.92}.re-w-postcode .re-pc-halo{fill:rgba(195,148,211,.16);stroke:none;transform-box:fill-box;transform-origin:center;transform:scale(.4);opacity:0;transition:transform .6s var(--ease),opacity .6s var(--ease)}.re-w-postcode .re-pc-dot{fill:#F5F0F7;stroke:#140D17;stroke-width:2}.re-w-postcode .is-base .re-pc-dot{fill:var(--gold)}.re-w-postcode .is-base .re-pc-halo{opacity:1;transform:none;fill:none;stroke:var(--gold);stroke-width:1.2}.re-w-postcode .re-pc-tl{font:600 12.5px Inter,system-ui,sans-serif;letter-spacing:.06em;fill:#F5F0F7;paint-order:stroke;stroke:#160E1A;stroke-width:4px;stroke-linejoin:round}.re-w-postcode .is-base .re-pc-tl{fill:var(--gold)}.re-w-postcode .re-pc-town.is-near .re-pc-halo{opacity:1;transform:scale(1.5);fill:rgba(195,148,211,.22);stroke:none}.re-w-postcode .re-pc-town.is-near .re-pc-tl{fill:#fff}.re-w-postcode .re-pc-pr{fill:rgba(20,13,23,.55);stroke:#fff;stroke-width:2}.re-w-postcode .re-pc-pd{fill:#fff}.re-w-postcode .re-pc-ping{fill:none;stroke:#fff;stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}.re-w-postcode .re-pc-drop.is-in{animation:re-pc-drop .75s var(--ease) both}.re-w-postcode .re-pc-drop.is-in .re-pc-ping{animation:re-pc-ping 1.3s .45s var(--ease) both}@keyframes re-pc-drop{0%{transform:translateY(-36px);opacity:0}55%{opacity:1}100%{transform:none;opacity:1}}@keyframes re-pc-ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.4);opacity:0}}.re-w-postcode .re-pc-dt{font:700 13px Archivo,system-ui,sans-serif;font-stretch:112%;fill:#fff;paint-order:stroke;stroke:#160E1A;stroke-width:5px;stroke-linejoin:round}.re-w-postcode .re-pc-dt tspan{fill:var(--gold)}.re-w-postcode .re-pc-dl.is-in{animation:re-pc-fade .5s var(--ease) both}@keyframes re-pc-fade{from{opacity:0}to{opacity:1}}.re-w-postcode .re-pc-hov{pointer-events:none}.re-w-postcode .re-pc-hr{fill:rgba(195,148,211,.18);stroke:var(--gold);stroke-width:1.4}.re-w-postcode .re-pc-hd{fill:var(--gold)}.re-w-postcode .re-pc-ht{font:700 12.5px Archivo,system-ui,sans-serif;font-stretch:112%;letter-spacing:.04em;fill:#fff;paint-order:stroke;stroke:#160E1A;stroke-width:5px;stroke-linejoin:round}.re-w-postcode .re-pc-scale{position:absolute;left:16px;bottom:14px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.re-w-postcode .re-pc-scale i{display:block;height:6px;width:60px;border:1.5px solid rgba(245,240,247,.7);border-top:0;transition:width .2s linear}.re-w-postcode .re-pc-scale span,.re-w-postcode .re-pc-n{font:600 10.5px/1 Inter,system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:rgba(245,240,247,.7)}.re-w-postcode .re-pc-n{position:absolute;right:16px;top:14px;display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}.re-w-postcode .re-pc-n::before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid rgba(245,240,247,.7)}.re-w-postcode .re-pc-key{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:14px;font-size:13px;line-height:1.4;color:var(--muted)}.re-w-postcode .re-pc-key span{display:inline-flex;align-items:center;gap:9px}.re-w-postcode .re-pc-key i{width:14px;height:14px;border-radius:1px;flex:none}.re-w-postcode .k15 i{background:rgba(195,148,211,.3);box-shadow:inset 0 0 0 1.2px rgba(195,148,211,.85)}.re-w-postcode .k30 i{background:rgba(195,148,211,.1);box-shadow:inset 0 0 0 1px rgba(195,148,211,.35)}.re-w-postcode .kd i{width:6px;height:6px;margin:0 4px;background:rgba(219,191,229,.7)}.re-w-postcode .re-pc-note{margin:8px 0 0;font-size:12.8px;line-height:1.55;color:var(--muted-2,rgba(245,240,247,.52))}.re-w-postcode .re-pc-ghost{position:absolute;z-index:3;left:50%;top:50%;width:44px;height:44px;margin:-5px 0 0 -18px;pointer-events:none;opacity:0;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}.re-w-postcode .re-pc-ghost svg{display:block;width:44px;height:44px}.re-w-postcode .re-pc-ghost-ring{position:absolute;left:18px;top:5px;width:40px;height:40px;margin:-20px 0 0 -20px;border:1.5px solid #F5F0F7;border-radius:50%;opacity:0}.re-w-postcode .re-pc-plot.is-hint .re-pc-ghost{animation:re-pc-ghost 3.4s var(--ease) both}.re-w-postcode .re-pc-plot.is-hint .re-pc-ghost-ring{animation:re-pc-ring 3.4s var(--ease) both}@keyframes re-pc-ghost{0%{opacity:0;transform:translate(60px,70px)}26%{opacity:1;transform:none}36%{transform:scale(.86)}46%{transform:none}82%{opacity:1}100%{opacity:0}}@keyframes re-pc-ring{0%,32%{opacity:0;transform:scale(.4)}38%{opacity:.9;transform:scale(.6)}56%{opacity:0;transform:scale(1.6)}100%{opacity:0}}@media(max-width:1100px)and (min-width:900px){.re-w-postcode .re-pc-out{min-height:0;margin-top:18px;padding-top:14px}.re-w-postcode .re-pc-v h3{font-size:21px;margin-bottom:8px}.re-w-postcode .re-pc-say{font-size:14.5px;line-height:1.58}.re-w-postcode .re-pc-acts{margin-top:14px}.re-w-postcode .re-pc-acts .btn{min-height:46px}.re-w-postcode .re-pc-again{margin-top:6px}.re-w-postcode .re-pc-hint{font-size:13px}.re-w-postcode .re-pc-rail .d4-pick{min-height:50px;padding:9px 12px 8px;font-size:14px}.re-w-postcode .re-pc-bar{padding:10px 14px;min-height:58px}.re-w-postcode .re-pc-acts .btn{padding-left:18px;padding-right:18px}}@media(max-width:899px){.re-w-postcode .re-pc{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:none}.re-w-postcode .re-pc>*,.re-w-postcode .re-pc-r>*{grid-area:auto}.re-w-postcode .re-pc-r{display:contents}.re-w-postcode .re-pc-f{order:1}.re-w-postcode .re-pc-towns{order:2;margin-top:16px}.re-w-postcode .re-pc-map{order:3;margin-top:16px}.re-w-postcode .re-pc-out{order:4;min-height:0;margin-top:16px;padding-top:16px}.re-w-postcode .re-pc-key{order:5;margin-top:22px}.re-w-postcode .re-pc-note{order:6}.re-w-postcode .re-pc-lab{margin-bottom:10px}}@media(max-width:560px){.re-w-postcode .re-pc-in{padding:14px 14px;font-size:24px}.re-w-postcode .re-pc-go{padding:0 18px;min-height:52px}.re-w-postcode .re-pc-hint{margin-top:10px;font-size:12.8px}.re-w-postcode .re-pc-rail .d4-pick{min-height:48px;padding:8px 10px 7px;font-size:14px;gap:4px}.re-w-postcode .re-pc-rail .d4-pick i{font-size:9.5px;letter-spacing:1.6px}.re-w-postcode .re-pc-svg{aspect-ratio:1.6}.re-w-postcode .re-pc-bar{min-height:58px;padding:9px 12px}.re-w-postcode .re-pc-how{font-size:13px;gap:8px}.re-w-postcode .re-pc-code{gap:10px}.re-w-postcode .re-pc-oc{font-size:22px}.re-w-postcode .re-pc-tag{font-size:10px;letter-spacing:1.8px}.re-w-postcode .re-pc-mi,.re-w-postcode .re-pc-unk{font-size:12.5px}.re-w-postcode .re-pc-mi b{font-size:15px}.re-w-postcode .re-pc-acts .btn{flex:1 1 100%;justify-content:center}.re-w-postcode .re-pc-scale{left:10px;bottom:9px}.re-w-postcode .re-pc-n{right:10px;top:9px}.re-w-postcode .re-pc-key{gap:8px 18px;font-size:12.5px}}@media(max-width:360px){.re-w-postcode .re-pc-tl{font-size:11px;letter-spacing:.03em}.re-w-postcode .re-pc-dt{font-size:12px}.re-w-postcode .re-pc-rail .d4-pick{padding:8px 8px 7px;font-size:13px}}@media(prefers-reduced-motion:reduce){.re-w-postcode .re-pc-drop.is-in,.re-w-postcode .re-pc-drop.is-in .re-pc-ping,.re-w-postcode .re-pc-dl.is-in,.re-w-postcode .re-pc-res.re-in,.re-w-postcode .re-pc-v.re-in,.re-w-postcode .re-pc-hud.is-in,.re-w-postcode .re-pc-field{animation:none!important}.re-w-postcode .re-pc-halo{transition:none}.re-w-postcode .re-pc-ghost{display:none}}.re-w-postcode .btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.re-w-postcode .re-pc-field .re-pc-go:focus-visible{outline:2px solid #fff;outline-offset:-4px}
