
:root{--accent:#b74420;--accent-hover:#963617;--accent-text:#fff;--surface:#e9ecdf;--field:#fff;--deep:#24352f;--deep-text:#f7f4eb;--muted:#505c54;--soft:#f0eee5;--line:#c4cbbf;--map-land:#f5f3e9;--map-water:#dbe9ed}
html[data-colour="blue"]{--accent:#1766a6;--accent-hover:#104e82}html[data-colour="teal"]{--accent:#076c68;--accent-hover:#06534f}html[data-colour="purple"]{--accent:#70449b;--accent-hover:#573379}html[data-colour="rose"]{--accent:#a33461;--accent-hover:#81264c}html[data-colour="red"]{--accent:#a6212d;--accent-hover:#7f1723}
html[data-dark="true"]{color-scheme:dark;--ink:#f2f3ed;--paper:#151c20;--muted:#c6d0d4;--line:#69767b;--surface:#242f35;--field:#1c272d;--deep:#0c1216;--deep-text:#f2f3ed;--soft:#2b373e;--map-land:#26343a;--map-water:#14252f;--accent:#ff8a3d;--accent-hover:#ffa35f;--accent-text:#172025}
html[data-dark="true"][data-colour="blue"]{--accent:#8fcaff;--accent-hover:#b7ddff}html[data-dark="true"][data-colour="teal"]{--accent:#77d9cc;--accent-hover:#a5eadf}html[data-dark="true"][data-colour="purple"]{--accent:#ceb0f6;--accent-hover:#e2cdfc}html[data-dark="true"][data-colour="rose"]{--accent:#ffacc8;--accent-hover:#ffcddd}html[data-dark="true"][data-colour="red"]{--accent:#ff6258;--accent-hover:#ff7c70}
.button,.stamp,.mobile-call{color:var(--accent-text)}.button:hover{background:var(--accent-hover)}.outline{background:transparent;color:var(--ink)}.outline:hover{background:var(--soft)}.dark,.caption{background:var(--deep);color:var(--deep-text)}.dark p{color:var(--deep-text)}.coverage,.contact,.pricing,.certificate-card{background:var(--surface)}.price-card{border-color:var(--line)}.price-card.featured{background:var(--accent);color:var(--accent-text)}.price-card.featured h3{color:var(--accent-text)}.contact input,.contact select,.contact textarea{background:var(--field);border-color:var(--line);color:var(--ink)}.towns span,.audiences span{border-color:var(--line)}.map-key button{color:var(--ink);background:var(--paper)}.google-location{border-color:var(--line)}
.preference-bar{border-bottom:1px solid var(--line);background:var(--soft)}.preference-row{min-height:52px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px;font-size:12px}.preference-row>strong{margin-right:auto}.colour-control{display:flex;gap:8px;align-items:center}.preference-row select{border:1px solid var(--line);background:var(--field);color:var(--ink);padding:7px 26px 7px 9px;border-radius:4px;min-height:36px}.preference-toggle,.reset-preferences{border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:4px;padding:7px 10px;min-height:36px;cursor:pointer;font-size:12px}.preference-toggle[aria-checked="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.toggle-value{font-weight:700;color:var(--accent);margin-left:5px}.reset-preferences{text-decoration:underline;background:transparent}.access-help{font-size:12px;margin:0;padding-bottom:9px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:15px;padding:12px 20px;background:var(--paper);color:var(--ink);z-index:1001;border:3px solid var(--accent)}.skip-link:focus{top:10px}html{scroll-padding-top:155px}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-access="true"]{scroll-behavior:auto}html[data-access="true"] *{transition:none!important;scroll-behavior:auto!important}html[data-access="true"] main p,html[data-access="true"] main li,html[data-access="true"] summary{font-size:18px;line-height:1.85}html[data-access="true"] main a:not(.button):not(.phone):not(.hero-phone){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}html[data-access="true"] .button,html[data-access="true"] input,html[data-access="true"] select,html[data-access="true"] button,html[data-access="true"] summary{min-height:44px}html[data-access="true"] h1,html[data-access="true"] h2,html[data-access="true"] h3{letter-spacing:normal}html[data-access="true"] .note,html[data-access="true"] .service .num{font-size:15px}html[data-access="true"]{--muted:#26352d}html[data-access="true"][data-dark="true"]{--muted:#f2f3ed}
.coverage-diagram{width:100%;height:auto;display:block;background:var(--map-land);border:1px solid var(--line);border-radius:4px}.coverage-diagram text{fill:var(--ink);font-family:Arial,sans-serif;paint-order:stroke;stroke:var(--map-land);stroke-width:4px;stroke-linejoin:round}.coverage-diagram .town-point{fill:var(--ink)}.coverage-diagram .coverage-edge{stroke:var(--accent);fill:var(--accent);fill-opacity:.10;stroke-width:3;stroke-dasharray:8 5}.coverage-diagram .base-point{fill:var(--accent);stroke:var(--paper);stroke-width:3}.coverage-diagram .gridline{stroke:var(--line);stroke-width:.5;stroke-dasharray:3 6}.coverage-map-note{font-size:12px;margin:10px 0}.boundary-key{border:2px dashed var(--accent);background:transparent}.map-layout{grid-template-columns:1.5fr 1fr}.policy-content{max-width:850px}.policy-content h1{font-size:clamp(42px,5vw,64px);letter-spacing:-2px}.policy-content h2{font-size:26px;margin-top:35px;letter-spacing:-.5px}.policy-content p,.policy-content li{color:var(--muted)}.policy-table{width:100%;border-collapse:collapse;font-size:14px}.policy-table th,.policy-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.policy-table th{color:var(--ink)}
@media(max-width:800px){header{position:relative}.preference-row{gap:8px}.preference-row>strong{width:100%;margin-right:0}.preference-toggle,.reset-preferences{font-size:11px}.preference-row select{padding-right:10px}.access-help{font-size:11px}.map-layout{grid-template-columns:1fr}html{scroll-padding-top:20px}.policy-table{font-size:12px}.policy-table th,.policy-table td{padding:8px}.hero-contact{max-width:100%}.hero-phone{white-space:nowrap}}

/* Compact disclosure: the settings remain available without a full toolbar. */
.preference-bar{background:var(--paper);border:0}.preference-shell{display:flex;justify-content:flex-end;height:28px;position:relative}.display-options{border:0;padding:0;position:relative;z-index:30}.display-options>summary{font-size:11px;font-weight:400;line-height:1.4;min-height:28px;padding:5px 0 5px 10px;gap:7px;color:var(--muted);align-items:center}.display-options>summary:after{content:'⌄';font-size:13px;color:currentColor}.display-options[open]>summary:after{content:'⌃'}.preference-panel{position:absolute;right:0;top:32px;width:min(350px,calc(100vw - 44px));padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #0002}.preference-panel .preference-row{padding:0;display:flex;gap:10px;align-items:center}.preference-panel .preference-row>strong{width:100%;font-size:14px;margin:0 0 4px}.preference-panel .colour-control{width:100%;justify-content:space-between;font-size:13px}.preference-panel select{min-width:150px}.preference-panel .preference-toggle{flex:1;white-space:nowrap}.preference-panel .reset-preferences{font-size:12px}.preference-panel .access-help{font-size:12px;padding:12px 0 0;line-height:1.55}.preference-panel .wrap{padding-left:0;padding-right:0}.nav{height:78px}html{scroll-padding-top:120px}html[data-access="true"] .display-options>summary{min-height:44px;font-size:14px}html[data-access="true"] .preference-shell{height:44px}html[data-access="true"] .preference-panel{top:48px}@media(max-width:800px){.nav{height:70px}.preference-shell{height:26px}.display-options>summary{min-height:26px}.preference-panel{top:29px}html{scroll-padding-top:20px}}

.coverage-diagram text{fill:#24352f;stroke:#f7f4eb}.coverage-diagram .town-point{fill:#24352f}.coverage-diagram .coverage-edge{stroke:#b74420;fill:#b74420;fill-opacity:.08;stroke-width:3}.coverage-diagram .base-point{fill:#b74420;stroke:white}.map-attribution{font-size:11px;margin:5px 0}.coverage-diagram{overflow:hidden}

/* Accessibility mode uses a high-contrast palette and larger reading text. */
html[data-access="true"]{
  --paper:#fff;--ink:#121212;--muted:#252525;--line:#525252;
  --surface:#f1f1f1;--field:#fff;--soft:#ededed;--deep:#141414;--deep-text:#fff;
  --accent:#004580;--accent-hover:#002e56;--accent-text:#fff;--focus:#004580;
}
html[data-access="true"][data-dark="true"]{
  --paper:#111;--ink:#fff;--muted:#eee;--line:#aaa;
  --surface:#202020;--field:#171717;--soft:#252525;--deep:#080808;--deep-text:#fff;
  --accent:#ffdc65;--accent-hover:#ffe892;--accent-text:#111;--focus:#ffdc65;
}
html[data-access="true"] body{font-size:18px;line-height:1.65}
html[data-access="true"] main p,html[data-access="true"] main li{font-size:19px;line-height:1.7}
html[data-access="true"] .button,html[data-access="true"] footer,html[data-access="true"] .preference-toggle,
html[data-access="true"] .reset-preferences,html[data-access="true"] .access-help,
html[data-access="true"] .contact label,html[data-access="true"] .gallery figcaption,
html[data-access="true"] .towns span,html[data-access="true"] .audiences span,
html[data-access="true"] .palette-sample,html[data-access="true"] .colour-control{font-size:16px}
html[data-access="true"] .nav a.button{font-size:14px}
html[data-access="true"] .display-options>summary{font-size:14px;line-height:20px}
html[data-access="true"] .hero-email{font-size:18px}
html[data-access="true"] .contact input::placeholder,html[data-access="true"] .contact textarea::placeholder{color:var(--muted);opacity:1}
html[data-access="true"] :focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media(max-width:400px){html[data-access="true"] .nav a.button{font-size:12px}}
