
:root{--teal:#00a6a6;--deep:#003d46;--ink:#082e33;--white:#fff;--mist:#eefafa;--line:#cde5e5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #72fff3;outline-offset:4px}img{display:block;width:100%}.wrap{width:min(1240px,92%);margin:auto}
header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(0,34,40,.82),rgba(0,34,40,.08));color:#fff}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:900;font-size:1.6rem;letter-spacing:-.05em}.logo b{color:#4ef0e6}.navlinks{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.9rem}.navlinks a{opacity:.9}.navlinks a:hover{opacity:1;color:#4ef0e6}.navlinks .brandnav{padding:9px 12px;border:1px solid rgba(255,167,96,.72);border-radius:999px;color:#ffc08b;white-space:nowrap}.navlinks .brandnav:hover{border-color:#ffc08b;color:#fff}.navtoggle{display:none;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(0,47,53,.82);color:#fff;font:inherit;font-weight:900;padding:10px 15px;cursor:pointer}
.hero{min-height:94vh;display:flex;align-items:end;position:relative;color:#fff;background-image:linear-gradient(90deg,rgba(0,43,50,.88) 0%,rgba(0,77,78,.48) 48%,rgba(0,0,0,.15) 100%),url("../img/hero.jpg");background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,36,41,.76),transparent 45%)}.heroin{position:relative;z-index:2;padding:170px 0 78px;max-width:880px}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.23em;text-transform:uppercase;color:#72fff3}.hero h1{font-size:clamp(3.4rem,8vw,7.6rem);line-height:.86;letter-spacing:-.075em;margin:.18em 0}.hero p{font-size:1.25rem;max-width:700px;line-height:1.5}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{padding:14px 20px;border-radius:999px;font-weight:900;display:inline-block}.btn.teal{background:#00aaa7;color:#fff}.btn.ghost{border:1px solid rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px)}
.stats{position:relative;z-index:4;margin-top:-32px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 20px 70px rgba(0,68,75,.16);border-radius:18px;overflow:hidden}.stat{background:#fff;padding:25px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:2rem;color:var(--teal);display:block}.section{padding:88px 0}.section h2{font-size:clamp(2.3rem,5vw,4.5rem);line-height:.98;letter-spacing:-.055em;margin:.18em 0 .5em}.lede{font-size:1.13rem;color:#477078;max-width:760px;line-height:1.65}
.sectorgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:38px}.tile{position:relative;min-height:340px;border-radius:20px;overflow:hidden;color:#fff;grid-column:span 4;background:#056b71}.tile.big{grid-column:span 8;min-height:460px}.tile img{height:100%;object-fit:cover;transition:.55s transform}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,60,65,.92),rgba(0,166,166,.03) 72%)}.tile:hover img{transform:scale(1.055)}.tilecopy{position:absolute;z-index:2;left:25px;right:25px;bottom:24px}.tilecopy small{font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#7bfff5}.tilecopy h3{font-size:1.75rem;margin:.25em 0 0}.tilecopy p{margin:.35em 0 0;color:#dbffff}
.band{background:var(--deep);color:#fff;padding:20px 0;overflow:hidden;white-space:nowrap}.ticker{font-size:1.05rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;word-spacing:2em;animation:scroll 28s linear infinite}@keyframes scroll{to{transform:translateX(-40%)}}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}.mosaic a{overflow:hidden;border-radius:16px;position:relative}.mosaic img{height:100%;object-fit:cover;transition:.4s}.mosaic a:hover img{transform:scale(1.05)}.mosaic .tall{grid-row:span 2}.mosaic .wide{grid-column:span 2}.overlaylabel{position:absolute;bottom:0;left:0;right:0;padding:28px 18px 14px;color:#fff;font-weight:800;background:linear-gradient(transparent,rgba(0,54,59,.88))}
.network{background:linear-gradient(135deg,#e8fbfa,#fff)}.network .lede{margin-bottom:34px}.networkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.networkcard{min-height:270px;padding:32px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.9);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.networkcard:hover,.networkcard:focus-visible{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,71,76,.13);border-color:#74d7d2}.networkcard h3{font-size:1.8rem;margin:.2em 0}.networkcard span{color:var(--teal);font-weight:900}.networkcard p{line-height:1.55;color:#477078}.networkcard strong{margin-top:auto;padding-top:18px;color:#007d7d}.sentinel-card span,.sentinel-card strong{color:#d86118}.image-systems-card span,.image-systems-card strong{color:#e56f21}.cta{background:var(--teal);color:white;border-radius:24px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cta h2{margin:0;font-size:clamp(2rem,4vw,4rem)}
footer{background:#002f35;color:#d9ffff;padding:55px 0 30px;margin-top:70px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px}.foot h3{color:#fff}.foot a{display:block;margin:.45em 0}.copyright{border-top:1px solid rgba(255,255,255,.13);margin-top:34px;padding-top:22px;font-size:.84rem;color:#a9cdcd}.subhero{min-height:62vh;display:flex;align-items:end;color:white;background-size:cover;background-position:center;position:relative}.subhero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,50,55,.94),rgba(0,80,80,.18))}.subheroin{position:relative;z-index:2;padding:150px 0 60px}.subhero h1{font-size:clamp(3rem,7vw,6rem);margin:.1em 0;letter-spacing:-.06em}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery figure{margin:0;border-radius:17px;overflow:hidden;background:#eaf7f7}.gallery img{height:300px;object-fit:cover}.gallery figcaption{padding:14px 16px;font-weight:800;color:#14545a}.textcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.textcard{padding:26px;background:var(--mist);border-radius:16px;border:1px solid var(--line)}
@media(max-width:850px){header{background:rgba(0,47,53,.96)}.navtoggle{display:block}.navlinks{display:none;position:absolute;top:74px;left:4%;right:4%;padding:18px;gap:8px;flex-direction:column;background:#003d46;border:1px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 22px 55px rgba(0,0,0,.25)}.navlinks[data-open]{display:flex}.navlinks a{padding:9px 8px}.statgrid{grid-template-columns:repeat(2,1fr)}.tile,.tile.big{grid-column:span 12;min-height:340px}.mosaic{grid-template-columns:repeat(2,1fr)}.networkgrid,.gallery,.textcards,.foot{grid-template-columns:1fr}.cta{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.statgrid{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr;grid-auto-rows:260px}.mosaic .wide{grid-column:span 1}.mosaic .tall{grid-row:span 1}.hero h1{font-size:3.4rem}}

/* Wastewater capability */
.wwhero{min-height:78vh;background-image:linear-gradient(90deg,rgba(0,39,45,.91),rgba(0,117,119,.40),rgba(0,0,0,.12)),url("../img/ww-hero.webp");background-size:cover;background-position:center;display:flex;align-items:end;color:#fff;position:relative}
.wwhero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,39,45,.84),transparent 48%)}
.wwhero .subheroin{position:relative;z-index:2}
.wwintro{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start}
.wwintro .lede{font-size:1.18rem}
.wwfacts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.wwfact{background:var(--mist);border:1px solid var(--line);padding:21px;border-radius:16px}
.wwfact strong{display:block;color:var(--teal);font-size:1.2rem;margin-bottom:5px}
.wwgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:15px;margin-top:34px}
.wwtile{grid-column:span 4;min-height:320px;position:relative;border-radius:20px;overflow:hidden;color:#fff;background:#07565d}
.wwtile.wide{grid-column:span 8}
.wwtile img{height:100%;object-fit:cover;transition:.55s}
.wwtile:hover img{transform:scale(1.05)}
.wwtile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,49,55,.94),rgba(0,166,166,.05) 72%)}
.wwtile .tilecopy{z-index:3}
.wwchapter{padding:84px 0}
.wwchapter:nth-of-type(even){background:#f2fbfb}
.wwsplit{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.wwsplit.reverse .wwcopy{order:2}.wwsplit.reverse .wwphotos{order:1}
.wwcopy h2{font-size:clamp(2.2rem,4.6vw,4rem);letter-spacing:-.05em;line-height:1;margin:.18em 0 .35em}
.wwcopy p{font-size:1.08rem;line-height:1.7;color:#3e686e}
.wwlist{list-style:none;padding:0;margin:22px 0}.wwlist li{padding:10px 0;border-bottom:1px solid var(--line);font-weight:800}.wwlist li:before{content:"↗";color:var(--teal);margin-right:10px}
.wwphotos{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:240px 240px;gap:10px}
.wwphotos img{height:100%;object-fit:cover;border-radius:15px}
.wwphotos img:first-child{grid-row:span 2}
.wwgallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wwgallery figure{margin:0;position:relative;overflow:hidden;border-radius:15px;min-height:260px}
.wwgallery img{height:100%;object-fit:cover;transition:.45s}
.wwgallery figure:hover img{transform:scale(1.045)}
.wwgallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 16px 15px;color:white;font-weight:900;background:linear-gradient(transparent,rgba(0,49,55,.92))}
@media(max-width:850px){.wwintro,.wwsplit{grid-template-columns:1fr}.wwsplit.reverse .wwcopy,.wwsplit.reverse .wwphotos{order:initial}.wwtile,.wwtile.wide{grid-column:span 12}.wwgallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.wwfacts,.wwgallery{grid-template-columns:1fr}.wwphotos{grid-template-columns:1fr;grid-template-rows:260px}.wwphotos img:first-child{grid-row:span 1}}

/* Premium coverage page */
.cover-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:#023b42;color:#fff}
.cover-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(0,37,43,.96) 0%,rgba(0,83,88,.82) 42%,rgba(0,166,166,.20) 100%),url("../img/ww-light-2.webp") center/cover no-repeat;transform:scale(1.02)}
.cover-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 70% 42%,rgba(42,255,244,.18),transparent 20%),linear-gradient(0deg,rgba(0,37,43,.92),transparent 56%)}
.cover-hero .subheroin{position:relative;z-index:2;padding-bottom:72px}
.cover-kicker{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}
.cover-kicker span{border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08);backdrop-filter:blur(7px);border-radius:999px;padding:8px 13px;font-weight:800;font-size:.82rem;letter-spacing:.02em}
.cover-proof{position:relative;z-index:4;margin-top:-38px}
.cover-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cover-proof-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 18px 55px rgba(0,38,44,.16)}
.cover-proof-card strong{font-size:2.15rem;color:var(--teal);display:block;letter-spacing:-.04em;line-height:1}
.cover-proof-card span{display:block;margin-top:7px;font-weight:900;color:#173f45}
.cover-map-stage{padding:74px 0;background:linear-gradient(#fff,#f3fbfb)}
.cover-map-shell{position:relative;background:#fff;border:1px solid #dbe9e9;border-radius:26px;overflow:hidden;box-shadow:0 24px 80px rgba(0,58,63,.14)}
.cover-map-shell img{width:100%;height:auto;display:block}
.cover-map-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,166,166,.04),transparent 24%,transparent 74%,rgba(0,166,166,.04))}
.cover-map-tag{position:absolute;left:24px;bottom:24px;z-index:3;background:rgba(0,45,51,.92);color:white;padding:14px 17px;border-radius:12px;backdrop-filter:blur(8px);font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.cover-map-tag b{color:#61f4ed}
.cover-scope{padding:78px 0;background:#062f36;color:#fff}
.cover-scope-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start}
.cover-scope h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:.95;letter-spacing:-.055em;margin:.2em 0}
.cover-scope p{color:#c9e4e4;font-size:1.08rem}
.cover-region-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cover-region{position:relative;min-height:145px;border:1px solid rgba(255,255,255,.12);border-radius:17px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(0,166,166,.08));overflow:hidden}
.cover-region:after{content:"";position:absolute;width:140px;height:140px;border:1px solid rgba(90,255,245,.18);border-radius:50%;right:-56px;top:-56px;box-shadow:0 0 0 22px rgba(90,255,245,.04),0 0 0 44px rgba(90,255,245,.025)}
.cover-region strong{display:block;color:#6cf5ef;font-size:1.15rem;margin-bottom:4px}
.cover-photo-strip{padding:76px 0}
.cover-photos{display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-template-rows:230px 230px;gap:12px}
.cover-photo{position:relative;border-radius:18px;overflow:hidden;color:#fff}
.cover-photo:first-child{grid-row:span 2}
.cover-photo img{width:100%;height:100%;object-fit:cover;transition:.5s}
.cover-photo:hover img{transform:scale(1.045)}
.cover-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,48,54,.88),transparent 62%)}
.cover-photo span{position:absolute;z-index:2;left:18px;bottom:15px;font-weight:900}
.cover-cta{padding:84px 0;background:linear-gradient(135deg,#0ba4a5,#00717a);color:white}
.cover-cta-box{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.cover-cta h2{font-size:clamp(2.2rem,4vw,3.9rem);letter-spacing:-.05em;margin:0 0 8px}
@media(max-width:850px){.cover-proof-grid{grid-template-columns:repeat(2,1fr)}.cover-scope-grid{grid-template-columns:1fr}.cover-photos{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.cover-photo:first-child{grid-column:span 2;grid-row:auto}.cover-cta-box{grid-template-columns:1fr}}
@media(max-width:520px){.cover-proof-grid,.cover-region-grid,.cover-photos{grid-template-columns:1fr}.cover-photo:first-child{grid-column:auto}.cover-photos{grid-template-rows:repeat(5,220px)}.cover-map-tag{position:static;border-radius:0}.cover-proof{margin-top:-20px}}

/* =========================================================
   Interactive CSS Coverage Map
   ========================================================= */
.coverage-stage{
  position:relative;
  min-height:760px;
  overflow:hidden;
  border-radius:32px;
  background:
    radial-gradient(circle at 55% 42%, rgba(0,194,190,.18), transparent 28%),
    linear-gradient(145deg,#032f38 0%,#06434b 45%,#087b7d 100%);
  box-shadow:0 28px 90px rgba(0,47,56,.24);
  isolation:isolate;
}
.coverage-stage::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent 88%);
  pointer-events:none;
}
.coverage-copy{
  position:absolute;left:6%;top:8%;z-index:6;color:#fff;width:min(430px,42%);
}
.coverage-copy .eyebrow{color:#71f1e9}
.coverage-copy h2{font-size:clamp(2.7rem,5vw,5.2rem);line-height:.92;margin:.18em 0}
.coverage-copy p{color:#d9f3f2;font-size:1.05rem}
.map-shell{
  position:absolute;right:3%;top:3%;width:61%;height:94%;z-index:2;
}
.uk-map{
  position:absolute;inset:0;
  filter:drop-shadow(0 26px 25px rgba(0,0,0,.18));
}
.map-region{
  position:absolute;
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-align:center;font-weight:900;
  letter-spacing:.02em;
  text-shadow:0 2px 8px rgba(0,0,0,.32);
  background:linear-gradient(145deg,#11bbb7,#087d84);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:inset 0 0 30px rgba(255,255,255,.08),0 8px 28px rgba(0,0,0,.13);
  transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;
  cursor:pointer;
  z-index:3;
}
.map-region:hover,.map-region:focus-visible{
  transform:translateY(-5px) scale(1.035);
  filter:brightness(1.18);
  box-shadow:0 16px 38px rgba(0,0,0,.25),0 0 0 4px rgba(113,241,233,.17);
  z-index:7;outline:none;
}
.map-region span{font-size:.78rem;line-height:1.08;padding:5px}
/* Abstract CSS silhouette blocks — intentionally graphical rather than geographic GIS */
.r-highlands{left:45%;top:5%;width:20%;height:18%;clip-path:polygon(28% 0,70% 10%,100% 48%,73% 100%,20% 88%,0 42%)}
.r-scotland{left:40%;top:20%;width:27%;height:20%;clip-path:polygon(22% 0,84% 8%,100% 47%,74% 100%,18% 89%,0 42%)}
.r-north{left:43%;top:38%;width:25%;height:14%;clip-path:polygon(9% 12%,91% 0,100% 73%,58% 100%,0 77%)}
.r-nw{left:40%;top:50%;width:19%;height:16%;clip-path:polygon(14% 0,100% 8%,87% 100%,0 78%)}
.r-ne{left:58%;top:49%;width:17%;height:16%;clip-path:polygon(0 5%,86% 0,100% 82%,11% 100%)}
.r-wales{left:31%;top:61%;width:20%;height:18%;clip-path:polygon(30% 0,100% 17%,83% 100%,17% 87%,0 39%)}
.r-midlands{left:50%;top:62%;width:22%;height:15%;clip-path:polygon(0 12%,88% 0,100% 77%,18% 100%)}
.r-east{left:70%;top:58%;width:17%;height:21%;clip-path:polygon(0 0,77% 10%,100% 50%,64% 100%,16% 79%)}
.r-southwest{left:38%;top:76%;width:24%;height:17%;clip-path:polygon(0 48%,33% 5%,100% 0,88% 55%,43% 100%,10% 88%)}
.r-southeast{left:61%;top:77%;width:26%;height:15%;clip-path:polygon(0 0,80% 10%,100% 48%,77% 100%,17% 85%)}
.r-iow{left:66%;top:92%;width:8%;height:4%;border-radius:50%}
.r-ni{left:13%;top:49%;width:15%;height:16%;clip-path:polygon(25% 0,82% 15%,100% 61%,60% 100%,0 73%,5% 28%)}

.coverage-node{
  position:absolute;z-index:9;width:15px;height:15px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 7px rgba(113,241,233,.18);
}
.coverage-node::before,.coverage-node::after{
  content:"";position:absolute;border:1px solid rgba(113,241,233,.55);
  border-radius:50%;inset:-13px;animation:coveragePulse 2.6s infinite;
}
.coverage-node::after{inset:-26px;animation-delay:1.3s}
@keyframes coveragePulse{0%{opacity:.75;transform:scale(.55)}100%{opacity:0;transform:scale(1.35)}}
.node-glasgow{right:36%;top:31%}.node-manchester{right:31%;top:55%}.node-london{right:15%;top:79%}.node-iow{right:24%;top:92%}

.map-legend{
  position:absolute;left:6%;bottom:7%;z-index:7;
  display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px;width:min(420px,42%);
}
.legend-card{
  padding:16px 18px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);backdrop-filter:blur(8px);
  color:#fff;border-radius:14px;
}
.legend-card strong{font-size:1.45rem;display:block;color:#7bf4ec}
.legend-card small{color:#d7eeee}
.region-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.region-link{
  position:relative;min-height:180px;border-radius:18px;overflow:hidden;
  padding:22px;display:flex;flex-direction:column;justify-content:end;
  background:linear-gradient(145deg,#0aa6a6,#07525b);color:white;
  transition:.25s;box-shadow:0 12px 35px rgba(5,68,74,.10)
}
.region-link::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.20),transparent 32%)}
.region-link:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(5,68,74,.22)}
.region-link small,.region-link h3,.region-link p{position:relative;z-index:2}
.region-link small{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#cafffb}
.region-link h3{font-size:1.35rem;margin:.28em 0}
.region-link p{margin:0;color:#e1f7f6}
.coverage-note{padding:18px 20px;background:#effbfa;border-left:4px solid #0aa6a6;border-radius:10px;margin-top:20px}

@media(max-width:900px){
  .coverage-stage{min-height:980px}
  .coverage-copy{position:relative;left:auto;top:auto;width:auto;padding:42px 7% 0}
  .map-shell{top:235px;right:0;width:100%;height:620px}
  .map-legend{left:6%;bottom:4%;width:88%;grid-template-columns:repeat(4,1fr)}
  .region-links{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .coverage-stage{min-height:920px;border-radius:22px}
  .coverage-copy h2{font-size:2.7rem}
  .map-shell{top:275px;height:510px;transform:scale(.94)}
  .map-region span{font-size:.58rem}
  .map-legend{grid-template-columns:repeat(2,1fr)}
  .region-links{grid-template-columns:1fr}
}

/* Image Systems heritage links */
.image-systems-links{background:#111;color:#fff}
.image-systems-links .lede{color:#c9c9c5}
.heritage-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}
.heritage-feature{display:grid;grid-template-columns:190px 1fr;min-height:220px;overflow:hidden;border:1px solid #3c3c39;background:#1a1a19;transition:transform .2s ease,border-color .2s ease}
.heritage-feature:hover,.heritage-feature:focus-visible{transform:translateY(-4px);border-color:#f07b25}
.heritage-feature img{height:100%;object-fit:cover;filter:sepia(.25) saturate(.82) contrast(1.04);transition:filter .2s ease}
.heritage-feature:hover img,.heritage-feature:focus-visible img{filter:sepia(.05) saturate(1) contrast(1.04)}
.heritage-feature div{padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.heritage-feature small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#f29a5b;font-weight:900}
.heritage-feature h3{font-size:1.45rem;margin:.35em 0 .28em}
.heritage-feature p{margin:0;color:#c9c9c5;line-height:1.5}
.heritage-feature strong{margin-top:auto;padding-top:16px;color:#f28a3f}
.heritage-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px}
.archive-main-link{display:inline-block;padding:13px 18px;background:#f07b25;color:#111;font-weight:900;border-radius:999px}
.archive-secondary-link{font-weight:900;color:#fff;border-bottom:1px solid #6b6b66;padding:8px 0}
@media(max-width:900px){.heritage-feature-grid{grid-template-columns:1fr}}

/* Archive-derived interactive coverage */
.coverage-hero-lede{color:#d9f3f2;max-width:790px}
.coverage-live-section{padding:92px 0;background:linear-gradient(180deg,#eefafa 0%,#fff 100%)}
.coverage-section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end;margin-bottom:32px}
.coverage-section-head h2{font-size:clamp(2.6rem,5vw,4.9rem);line-height:.94;letter-spacing:-.055em;margin:.16em 0 0}
.coverage-section-head p{margin:0;color:#477078;line-height:1.65;font-size:1.03rem}
.coverage-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(370px,.8fr);gap:18px;align-items:stretch}
.coverage-map-card,.coverage-browser{border:1px solid #c8e1e1;border-radius:25px;background:#fff;box-shadow:0 24px 70px rgba(0,58,63,.11);overflow:hidden}
.coverage-map-card{padding:20px}
.coverage-map-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 4px 16px}
.coverage-map-heading small,.coverage-browser-head small{display:block;color:#5a8186;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.coverage-map-heading strong{font-size:1.35rem}
.coverage-reset{appearance:none;border:1px solid #b6d9d8;border-radius:999px;background:#f2fbfb;color:#006f74;padding:10px 14px;font:inherit;font-weight:900;cursor:pointer}
.coverage-reset:hover{background:#dff8f7}
.archive-uk-map{position:relative;min-height:700px;overflow:hidden;border-radius:19px;background:
 radial-gradient(circle at 62% 42%,rgba(80,255,241,.17),transparent 22%),
 linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
 linear-gradient(145deg,#032f38,#075b63 56%,#06969a);
 background-size:auto,34px 34px,34px 34px,auto}
.archive-uk-map:before{content:"PROJECT COVERAGE";position:absolute;left:24px;bottom:20px;color:rgba(255,255,255,.3);font-size:.67rem;font-weight:900;letter-spacing:.22em}
.coverage-zone{appearance:none;position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.42);background:linear-gradient(145deg,#16c8c0,#087b83);color:#fff;font:inherit;font-weight:900;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.32);cursor:pointer;filter:drop-shadow(0 12px 18px rgba(0,29,34,.23));transition:transform .2s ease,filter .2s ease,background .2s ease;isolation:isolate}
.coverage-zone:hover,.coverage-zone:focus-visible{transform:translateY(-5px) scale(1.025);filter:brightness(1.13) drop-shadow(0 18px 25px rgba(0,29,34,.3));z-index:8}
.coverage-zone.is-active{background:linear-gradient(145deg,#ffad68,#ed7133);color:#fff;z-index:9;box-shadow:0 0 0 5px rgba(255,173,104,.18)}
.coverage-zone>span{position:relative;z-index:4;font-size:.76rem;line-height:1.05;pointer-events:none}
.coverage-zone>b{position:absolute;z-index:5;right:8%;top:9%;display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:rgba(0,39,46,.82);color:#fff;font-size:.7rem;pointer-events:none}
.coverage-density{position:absolute;inset:0;z-index:2;pointer-events:none}
.coverage-density>i{position:absolute;left:var(--dot-x);top:var(--dot-y);width:4px;height:4px;border-radius:50%;background:#d9fffb;box-shadow:0 0 0 3px rgba(217,255,251,.12);animation:coverageDot 2.1s ease-in-out var(--dot-delay) infinite alternate}
@keyframes coverageDot{to{opacity:.42;transform:scale(.72)}}
.zone-scotland{left:40%;top:4%;width:26%;height:23%;clip-path:polygon(24% 0,70% 8%,100% 45%,76% 100%,17% 87%,0 38%)}
.zone-north-west{left:31%;top:27%;width:24%;height:20%;clip-path:polygon(20% 0,100% 8%,84% 100%,0 77%)}
.zone-north-east{left:55%;top:27%;width:20%;height:18%;clip-path:polygon(0 5%,84% 0,100% 81%,12% 100%)}
.zone-yorkshire{left:52%;top:44%;width:27%;height:17%;clip-path:polygon(10% 0,92% 8%,100% 72%,55% 100%,0 77%)}
.zone-wales{left:25%;top:51%;width:25%;height:23%;clip-path:polygon(28% 0,100% 17%,82% 100%,16% 87%,0 39%)}
.zone-midlands{left:47%;top:59%;width:26%;height:17%;clip-path:polygon(0 10%,89% 0,100% 76%,17% 100%)}
.zone-east{left:72%;top:57%;width:18%;height:25%;clip-path:polygon(0 0,77% 11%,100% 49%,63% 100%,15% 79%)}
.zone-london{left:69%;top:78%;width:15%;height:10%;border-radius:42% 58% 55% 45%}
.zone-south-east{left:57%;top:81%;width:31%;height:14%;clip-path:polygon(0 0,79% 10%,100% 47%,77% 100%,16% 84%)}
.zone-south-west{left:26%;top:74%;width:37%;height:20%;clip-path:polygon(0 48%,31% 6%,100% 0,87% 56%,42% 100%,10% 87%)}
.coverage-map-pulse{position:absolute;z-index:12;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.15);pointer-events:none}
.coverage-map-pulse:after{content:"";position:absolute;inset:-16px;border:1px solid rgba(255,255,255,.55);border-radius:50%;animation:coverageMapPulse 2.5s infinite}
@keyframes coverageMapPulse{from{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(1.3)}}
.pulse-north{left:47%;top:37%}.pulse-midlands{left:58%;top:68%}.pulse-london{left:76%;top:83%}
.coverage-map-key{display:flex;gap:20px;flex-wrap:wrap;padding:15px 4px 2px;color:#54767b;font-size:.76rem;font-weight:800}
.coverage-map-key span{display:flex;align-items:center;gap:7px}
.coverage-map-key i{width:12px;height:12px;border-radius:3px;background:#0caeaa}.coverage-map-key .key-active{background:#f0823f}
.coverage-browser{display:flex;flex-direction:column;padding:22px;min-height:780px}
.coverage-search{display:grid;gap:8px}
.coverage-search span{font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#54767b}
.coverage-search input{min-height:50px;border:1px solid #c8e1e1;border-radius:13px;padding:0 14px;background:#f5fbfb;color:#0b3c42;font:inherit}
.coverage-search input:focus{outline:3px solid rgba(0,166,166,.2);border-color:#00a6a6}
.coverage-browser-head{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:24px 0 14px;border-bottom:1px solid #dcecec}
.coverage-browser-head h2{font-size:2rem;line-height:1;margin:.2em 0 0}
.coverage-browser-head>strong{font-size:2.4rem;color:#00a6a6}
.coverage-site-list{display:grid;gap:7px;max-height:350px;overflow:auto;padding:12px 4px 12px 0;scrollbar-color:#86cecb #edf7f7}
.coverage-site-button{appearance:none;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid #d4e8e7;border-radius:12px;background:#fff;color:#164c51;font:inherit;text-align:left;cursor:pointer}
.coverage-site-button:hover,.coverage-site-button.is-active{border-color:#54beba;background:#edfbfa}
.coverage-site-button span small,.coverage-site-button span strong{display:block}.coverage-site-button span small{font-size:.64rem;color:#6e9296;font-weight:900}.coverage-site-button span strong{margin-top:2px}
.coverage-site-button>b{display:grid;place-items:center;min-width:29px;height:29px;padding:0 7px;border-radius:999px;background:#075d64;color:#fff;font-size:.7rem}
.coverage-loading{color:#668a8e}
.coverage-site-detail{margin-top:auto;padding:20px;border-radius:17px;background:linear-gradient(145deg,#003e47,#08777a);color:#fff;min-height:235px}
.coverage-site-detail>small{color:#8ffff8;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.coverage-site-detail h3{font-size:1.75rem;margin:.25em 0}.coverage-site-detail p{color:#d7eeee;line-height:1.5}
.coverage-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.coverage-detail-facts span{padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#d7eeee;font-size:.72rem}.coverage-detail-facts b{display:block;color:#fff;font-size:1rem}
.coverage-file-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#8ffff8}.coverage-site-detail ul{margin:.45em 0 0;padding-left:18px;color:#d7eeee;font-size:.72rem;line-height:1.5}
.coverage-privacy-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:17px 19px;border-left:4px solid #f0823f;border-radius:10px;background:#fff6ef;color:#6d4a31}.coverage-privacy-note strong{white-space:nowrap;color:#b84e16}
.coverage-evidence-section{padding:92px 0;background:#062f36;color:#fff}
.coverage-evidence-section h2{font-size:clamp(2.5rem,5vw,4.7rem);line-height:.96;letter-spacing:-.055em;margin:.18em 0 .55em}
.coverage-evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.coverage-evidence-grid article{min-height:215px;padding:23px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(0,166,166,.08))}.coverage-evidence-grid article>strong{font-size:2.6rem;color:#70f6ee}.coverage-evidence-grid h3{margin:.4em 0}.coverage-evidence-grid p{color:#c7e4e3;line-height:1.55}
@media(max-width:1050px){.coverage-workspace{grid-template-columns:1fr}.coverage-browser{min-height:700px}.coverage-section-head{grid-template-columns:1fr}.coverage-evidence-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.archive-uk-map{min-height:600px}.coverage-map-card{padding:12px}.coverage-zone>span{font-size:.58rem}.coverage-zone>b{min-width:23px;height:23px;font-size:.6rem}.coverage-privacy-note{display:block}.coverage-privacy-note strong{display:block;margin-bottom:4px}.coverage-evidence-grid{grid-template-columns:1fr}.coverage-map-pulse{display:none}}
@media(max-width:520px){.coverage-live-section{padding:70px 0}.archive-uk-map{min-height:520px}.coverage-map-heading{align-items:flex-start;flex-direction:column}.coverage-zone>span{font-size:.5rem}.coverage-zone>b{right:4%;top:5%;min-width:20px;height:20px;padding:0 5px}.coverage-browser{min-height:660px;padding:15px}.coverage-detail-facts{grid-template-columns:1fr}.coverage-site-list{max-height:300px}}
@media(max-width:560px){.heritage-feature{grid-template-columns:1fr}.heritage-feature img{height:190px}.heritage-feature div{min-height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker{animation:none}.tile img,.mosaic img,.networkcard,.heritage-feature,.heritage-feature img{transition:none}}
