@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&display=swap";:root{--bg: #fafaf7;--fg: #1a1a1a;--muted: #666;--accent: #c8102e;--grid: #e5e5e0;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;font-family:var(--sans);color:var(--fg);background:var(--bg)}.step h1,.step h2{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}.headline{margin:0 0 .5rem;font-family:var(--serif);display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.headline strong{font-size:clamp(1.6rem,3.2vw,2.1rem);font-weight:700;letter-spacing:-.02em}.headline__change{font-family:var(--sans);font-weight:600;font-size:.85rem}*{box-sizing:border-box}body{margin:0}.app{max-width:1100px;margin:0 auto;padding:0 1.25rem 2rem}.scrolly{display:grid;grid-template-columns:1fr;margin-top:1rem}.scrolly__graphic,.scrolly__steps{grid-column:1;grid-row:1}.scrolly__graphic{position:sticky;top:0;height:100vh;display:flex;align-items:center;z-index:0}.scrolly__graphic-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:2.5rem;width:100%;align-items:center}.scrolly__graphic-inner .panel{min-width:0;margin:0}.scrolly__graphic-inner .panel:first-child p,.scrolly__graphic-inner .panel:first-child h2{display:none}.scrolly__graphic-inner .panel:first-child svg{max-height:78vh}.scrolly__graphic-inner .panel:last-child svg{max-height:60vh}.scrolly__steps{z-index:1;pointer-events:none}.step{min-height:100vh;display:flex;align-items:center;pointer-events:none}.step__card{max-width:360px;background:#fafaf7eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--grid);border-radius:6px;padding:1.5rem 1.75rem;box-shadow:0 6px 24px #0000000f;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;pointer-events:auto}.step.is-active .step__card{opacity:1;transform:translateY(0)}.step h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin:0 0 .75rem;letter-spacing:-.02em;line-height:1.15}.step h1{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:0 0 1rem;letter-spacing:-.025em;line-height:1.1}.step__card--intro{max-width:420px}.step__card--intro p{font-size:1.05rem;color:var(--muted)}.step p{font-size:1rem;line-height:1.55;margin:0 0 1rem}@media (max-width: 900px){.scrolly{grid-template-rows:auto auto}.scrolly__graphic{grid-row:1;grid-column:1}.scrolly__steps{grid-row:2;grid-column:1}.scrolly__graphic{position:relative;top:auto;height:auto;z-index:auto}.scrolly__graphic-inner{grid-template-columns:1fr;gap:1rem}.scrolly__graphic-inner .panel:first-child svg,.scrolly__graphic-inner .panel:last-child svg{max-height:50vh}.scrolly__steps{position:relative;z-index:auto;pointer-events:auto}.step{min-height:auto;pointer-events:auto;padding:1rem 0;border-top:1px solid var(--grid)}.step:first-child{border-top:0}.step__card{max-width:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none;padding:0;opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.step{transition:none}}.postcode-search{margin:0 0 2rem;max-width:480px}.postcode-search__row{display:flex;gap:.5rem}.postcode-search input{flex:1;padding:.55rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;font-family:inherit;background:#fff}.postcode-search input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.postcode-search button{padding:.55rem 1rem;background:var(--fg);color:#fff;border:0;border-radius:4px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap}.postcode-search button:hover:not(:disabled){background:#000}.postcode-search button:disabled{opacity:.5;cursor:not-allowed}.postcode-search__message{margin:.4rem 0 0;font-size:.8rem;color:var(--muted);min-height:1em}.postcode-search__message.is-error{color:var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}@media (max-width: 768px){.layout{grid-template-columns:1fr}}.panel h2{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}svg{width:100%;height:auto;display:block}.region-path{stroke:#fff;stroke-width:.5;cursor:pointer;transition:opacity .15s}.region-path:hover{opacity:.8}.region-path.active{stroke:var(--fg);stroke-width:1.5}.tooltip{position:absolute;pointer-events:none;background:var(--fg);color:#fff;padding:.35rem .55rem;border-radius:4px;font-size:.8rem;white-space:nowrap;transform:translate(-50%,-120%)}footer{margin-top:3rem;color:var(--muted);font-size:.85rem}footer a{color:var(--muted)}
