:root{--navy:#102a36;--navy2:#183e4b;--sage:#819b83;--sage-light:#dfe8dc;--paper:#fbf8f0;--ink:#17242a;--muted:#5c6b70;--line:#cbd5ce;--amber:#d79a48;--max:74rem;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}a{color:#175a66;text-underline-offset:.16em;text-decoration-thickness:.08em}a:hover{color:#0d3d47}a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.wrap{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.site-header{background:var(--navy);color:#fff;border-bottom:5px solid var(--sage)}.site-header .wrap{justify-content:space-between;align-items:center;gap:2rem;padding:1rem 0;display:flex}.brand{color:#fff;font-family:Georgia,serif;font-size:1.45rem;text-decoration:none}.brand span{color:#bad0b9}.nav{flex-wrap:wrap;gap:1rem;display:flex}.nav a{color:#e9f0eb;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.nav-toggle{color:#fff;min-height:44px;font:inherit;background:0 0;border:1px solid #b9d2bd;align-items:center;gap:.45rem;padding:.55rem .8rem;font-weight:700;display:none}.hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:clamp(3rem,8vw,7rem) 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#b9d2bd;font-size:.78rem;font-weight:800}h1,h2,h3{color:var(--navy);font-family:Georgia,serif;line-height:1.15}.hero h1{color:#fff;max-width:13ch;margin:.3rem 0 1.2rem;font-size:clamp(2.5rem,7vw,5.5rem)}.hero p{color:#e1ebe5;max-width:62ch;font-size:1.2rem}.button{background:var(--amber);color:#15262d;border-radius:.25rem;padding:.8rem 1.05rem;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 3px #a46925}.section{padding:3.5rem 0}.grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:.35rem;padding:1.25rem;box-shadow:0 .35rem 1rem #17333e0d}.card h2,.card h3{margin-top:0}.article-grid{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:3rem;display:grid}.prose{max-width:48rem}.prose h2{margin-top:2.6rem;font-size:1.75rem}.prose h3{margin-top:1.8rem}.prose table{border-collapse:collapse;width:100%;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:.7rem}.prose blockquote{border-left:5px solid var(--sage);background:var(--sage-light);margin:1.5rem 0;padding:1rem 1.2rem}.toc{border:1px solid var(--line);background:#fff;padding:1rem;position:sticky;top:1rem}.toc strong{font-family:Georgia,serif}.meta{color:var(--muted);font-size:.92rem}.source-list{font-size:.92rem}.partner-shell{min-height:38rem;overflow:hidden}.partner-shell iframe{border:0;width:100%;min-height:32rem;max-height:80rem;display:block}.partner-status{color:var(--muted)}.site-footer{background:var(--navy);color:#e4ece7;margin-top:3rem;padding:2.5rem 0}.site-footer a{color:#fff}.skip{position:absolute;left:-999px}.skip:focus{z-index:9;background:#fff;padding:.5rem;top:1rem;left:1rem}.diagram{border:1px solid var(--line);background:#fff;padding:1rem}@media (width<=800px){.article-grid{grid-template-columns:1fr}.toc{order:-1;position:static}.site-header .wrap{grid-template-columns:1fr auto;align-items:center;gap:.75rem;display:grid}.nav-toggle{display:inline-flex}.nav{border-top:1px solid #fff3;grid-column:1/-1;width:100%;padding-top:.5rem;font-size:.95rem;display:none}.nav[data-open=true]{grid-template-columns:1fr;display:grid}.nav a{padding:.25rem 0}.hero{padding:3rem 0}.partner-shell{min-height:34rem}.partner-shell iframe{min-height:28rem}}.floating-postcode-cta{z-index:80;color:#fff;backdrop-filter:blur(12px);background:#101b2cf2;border:1px solid #fff3;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;width:min(760px,100% - 28px);padding:.7rem .75rem .7rem 1.1rem;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 16px 45px #071a3355}.floating-postcode-cta>span{font-size:.9rem;font-weight:750}.floating-postcode-cta>a{color:#101820;background:#f0b429;border-radius:9px;flex:none;padding:.72rem 1rem;font-weight:900;text-decoration:none}.floating-postcode-cta>a:hover{filter:brightness(1.05)}@media (width<=620px){.floating-postcode-cta>span{display:none}.floating-postcode-cta>a{text-align:center;width:100%}}
