/* Local Plan Monitor - localplanmonitor.co.uk
   Brand: ink navy + mint, with a red > amber > green "supply" scale. Fonts: Inter Tight (headings), Inter (text). */
:root{
  --ink:#0d1b2a;--ink-2:#16293c;--ink-3:#23394f;
  --paper:#f5f7f4;--card:#ffffff;--line:#dde4e1;--line-2:#eef2f0;
  --text:#132232;--muted:#566776;
  --mint:#3ddc97;--mint-d:#0f7f55;--mint-l:#e3f8ee;
  --red:#ff5c45;--red-d:#c2321f;--red-l:#ffe9e5;
  --orange:#ff9a3c;--orange-d:#b45d0b;--orange-l:#fff0e1;
  --amber:#ffc83d;--amber-d:#8a6400;--amber-l:#fff6dc;
  --green:#3ddc97;--green-d:#0f7f55;--green-l:#e3f8ee;
  --none:#9aa7b2;--none-l:#eef1f3;
  --radius:14px;--wrap:1180px;
  --head:"Inter Tight","Inter",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:16px/1.6 var(--body)}
img,svg{max-width:100%}
a{color:var(--mint-d);text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--head);line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(40px,6.4vw,76px);font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(28px,3.6vw,42px);font-weight:800}
h3{font-size:21px;font-weight:700;letter-spacing:-.015em}
h4{font-size:16px;font-weight:700;letter-spacing:0}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid var(--mint);outline-offset:2px}

/* ---------- Masthead ---------- */
.mast{background:var(--ink);position:sticky;top:0;z-index:1000;border-bottom:1px solid #ffffff14}
.mast-inner{max-width:var(--wrap);margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;flex:none}
.brand img{width:auto;height:28px;display:block;transform:translateY(-1px)}
.brand .wm{font:800 17px/0.95 var(--head);letter-spacing:-.01em;text-transform:uppercase}
.brand .wm span{display:block;color:var(--mint)}
.brand:hover{color:#fff}
.mast nav{margin-left:auto;display:flex;gap:2px}
.mast nav a{color:#c9d4de;text-decoration:none;font-size:14.5px;font-weight:600;padding:8px 11px;border-radius:8px;white-space:nowrap}
.mast nav a:hover{color:#fff;background:#ffffff12}
.mast nav a.active{color:var(--ink);background:var(--mint)}
.menu{display:none;margin-left:auto;background:transparent;border:1px solid #ffffff33;color:#fff;font:600 14px var(--body);padding:8px 12px;border-radius:8px;cursor:pointer}
@media(max-width:1120px){
  .menu{display:block}
  .mast nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--ink);flex-direction:column;padding:8px 16px 18px;border-bottom:1px solid #ffffff1f}
  .mast nav.open{display:flex}
  .mast nav a{padding:12px}
}

/* ---------- Sample-data ribbon ---------- */
.ribbon{background:var(--amber);color:#3a2a00;font-size:13.5px;font-weight:600;text-align:center;padding:7px 16px}

/* ---------- Hero ---------- */
.hero{background:var(--ink);color:#fff;padding:72px 0 80px;position:relative;overflow:hidden}
.hero h1{color:#fff;max-width:900px}
.hero h1 em{font-style:normal;color:var(--mint)}
.hero .lead{font-size:clamp(18px,2vw,21px);color:#b9c6d3;max-width:690px;margin-top:20px}
.eyebrow{font:700 13px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:18px}
.hero.page{padding:56px 0 60px}
.hero.page h1{font-size:clamp(36px,5vw,60px)}
.crumbs{font-size:13.5px;color:#8fa1b3;margin-bottom:18px}
.crumbs a{color:#c9d4de}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:end}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px}}

/* hero search */
.search{display:flex;gap:8px;margin-top:32px;max-width:620px;position:relative}
.search input{flex:1;min-width:0;border:0;border-radius:12px;padding:16px 18px;font:500 16px var(--body);color:var(--text)}
.search button{flex:none}
.suggest{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#fff;border-radius:12px;box-shadow:0 18px 40px #0007;overflow:hidden;z-index:20;display:none}
.suggest a{display:flex;justify-content:space-between;gap:12px;padding:11px 16px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line-2);font-size:15px}
.suggest a:hover,.suggest a.on{background:var(--mint-l)}
.suggest small{color:var(--muted)}

/* hero supply chart (decorative + live) */
.hero-chart{background:var(--ink-2);border:1px solid #ffffff14;border-radius:18px;padding:22px 22px 18px}
.hero-chart h4{color:#fff;margin-bottom:4px}
.hero-chart p{color:#8fa1b3;font-size:13px;margin:0 0 14px}
.hc-row{display:grid;grid-template-columns:148px 1fr 40px;gap:10px;align-items:center;font-size:13.5px;color:#d7e0e8;padding:5px 0}
.hc-row a{color:#d7e0e8;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-row a:hover{color:#fff;text-decoration:underline}
.hc-track{height:10px;background:#ffffff14;border-radius:6px;position:relative;overflow:visible}
.hc-track i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.hc-track:after{content:"";position:absolute;left:100%;top:-4px;bottom:-4px;border-left:2px dashed #ffffff66}
.hc-row b{font-weight:700;text-align:right;color:#fff}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:11px;padding:13px 20px;font:700 15px var(--body);cursor:pointer;text-decoration:none;background:var(--mint);color:var(--ink);transition:transform .12s ease,background .12s}
.btn:hover{color:var(--ink);background:#5ee8ab;transform:translateY(-1px)}
.btn.dark{background:var(--ink);color:#fff}.btn.dark:hover{background:var(--ink-3);color:#fff}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid #ffffff4d}.btn.ghost:hover{background:#ffffff14}
.btn.line{background:#fff;color:var(--ink);border:1.5px solid var(--line)}.btn.line:hover{border-color:var(--ink)}
.btn.small{padding:9px 14px;font-size:14px;border-radius:9px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- Sections ---------- */
.section{padding:80px 0}
.section.tight{padding:56px 0}
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.dark{background:var(--ink);color:#c9d4de}
.section.dark h2,.section.dark h3{color:#fff}
.sec-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;margin-bottom:40px;align-items:end}
.sec-head p{color:var(--muted);font-size:17.5px;margin:0}
.section.dark .sec-head p{color:#9fb0c0}
.kicker{font:700 12.5px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mint-d);margin-bottom:12px}
.section.dark .kicker{color:var(--mint)}
@media(max-width:860px){.sec-head{grid-template-columns:1fr;gap:12px}}

.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.5em}
.prose p,.prose li{font-size:17px;color:#24364a}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.layout{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start}
.toc{position:sticky;top:96px;font-size:14.5px}
.toc b{display:block;font:700 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc a{display:block;color:var(--text);text-decoration:none;padding:6px 0 6px 12px;border-left:2px solid var(--line)}
.toc a:hover{border-color:var(--mint);color:var(--mint-d)}
@media(max-width:960px){.layout{grid-template-columns:1fr}.toc{position:static;display:none}}

/* ---------- Cards / grids ---------- */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card p{color:var(--muted);margin-bottom:0}
.card.link{text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s}
.card.link:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 30px #0d1b2a14}
.card .more{margin-top:auto;padding-top:18px;font-weight:700;color:var(--mint-d);font-size:15px}
.card .num{font:800 13px var(--body);letter-spacing:.1em;color:var(--mint-d);margin-bottom:14px}
.feature{position:relative;overflow:hidden}
.feature .ico{width:46px;height:46px;border-radius:12px;background:var(--ink);display:grid;place-items:center;margin-bottom:18px}
.feature .ico svg{width:24px;height:24px}
.section.dark .card{background:var(--ink-2);border-color:#ffffff17}
.section.dark .card p{color:#9fb0c0}
.section.dark .card h3{color:#fff}

/* stat tiles */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stat{background:#fff;padding:22px 24px}
.stat b{display:block;font:800 36px/1 var(--head);letter-spacing:-.03em;color:var(--ink)}
.stat span{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}

/* notices */
.notice{border-radius:12px;padding:16px 20px;background:var(--amber-l);border:1px solid #f2dc9a;font-size:15px;color:#4a3a06}
.notice.info{background:var(--mint-l);border-color:#b7ecd2;color:#0b4d34}
.notice.warn{background:var(--red-l);border-color:#ffc6bd;color:#6e1d11}
.callout{border-left:5px solid var(--mint);background:#fff;padding:22px 26px;border-radius:0 var(--radius) var(--radius) 0;margin:28px 0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.callout.red{border-left-color:var(--red)}
.callout.amber{border-left-color:var(--amber)}
.callout h4{margin-bottom:6px}
.callout p:last-child{margin:0}

/* ---------- Stage timeline ---------- */
.stages{counter-reset:st;display:grid;gap:0;position:relative}
.stage{display:grid;grid-template-columns:64px 1fr;gap:20px;position:relative;padding-bottom:30px}
.stage:before{content:"";position:absolute;left:31px;top:58px;bottom:0;width:2px;background:var(--line)}
.stage:last-child:before{display:none}
.stage .dot{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--mint);display:grid;place-items:center;font:800 20px var(--head);position:relative;z-index:1}
.stage.gate .dot{background:var(--mint);color:var(--ink)}
.stage.gate .dot:after{content:"";position:absolute;inset:-6px;border:2px dashed var(--mint);border-radius:50%}
.stage .body{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.stage .body h3{margin-bottom:6px}
.stage .meta{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.tag{display:inline-block;font:700 11.5px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:20px;background:var(--line-2);color:var(--muted)}
.tag.mint{background:var(--mint-l);color:var(--mint-d)}
.tag.ink{background:var(--ink);color:#fff}
.tag.amber{background:var(--amber-l);color:var(--amber-d)}
.stage dl{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;margin:12px 0 0;font-size:15px}
.stage dt{font-weight:700;color:var(--ink)}
.stage dd{margin:0;color:#3a4c5e}
@media(max-width:640px){.stage{grid-template-columns:44px 1fr;gap:12px}.stage .dot{width:44px;height:44px;font-size:16px}.stage:before{left:21px;top:44px}.stage dl{grid-template-columns:1fr}.stage dt{margin-top:6px}}

/* horizontal mini-track (home / profile) */
.track{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin:18px 0 8px}
.track span{height:10px;border-radius:5px;background:var(--line)}
.track span.done{background:var(--mint)}
.track span.now{background:var(--ink);box-shadow:0 0 0 3px var(--mint)}
.track-labels{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;font-size:11.5px;color:var(--muted);line-height:1.25}

/* process overview strip */
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.strip a{background:var(--ink-2);border:1px solid #ffffff17;border-radius:12px;padding:18px;text-decoration:none;color:#c9d4de;font-size:14px;line-height:1.45}
.strip a b{display:block;color:#fff;font:700 16px/1.2 var(--head);margin:8px 0 6px}
.strip a i{font-style:normal;font:800 12px var(--body);color:var(--mint);letter-spacing:.08em}
.strip a:hover{border-color:var(--mint)}
.strip a.g{border-color:#3ddc9766}
@media(max-width:980px){.strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.strip{grid-template-columns:1fr 1fr}}

/* ---------- Toolbars, tables ---------- */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px}
.toolbar input,.toolbar select{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:11px 13px;font:500 15px var(--body);color:var(--text);min-width:0}
.toolbar input[type=search]{flex:1 1 240px}
.toolbar select{flex:0 1 auto}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:8px 14px;font:600 14px var(--body);cursor:pointer;color:var(--text)}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip .n{opacity:.6;margin-left:4px;font-weight:500}
.table-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto}
table.data{width:100%;border-collapse:collapse;font-size:15px;min-width:820px}
table.data th{position:sticky;top:0;background:#f0f4f2;text-align:left;font:700 12px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
table.data th button{all:unset;cursor:pointer}
table.data th button:after{content:" ↕";opacity:.4}
table.data td{padding:12px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
table.data tr:last-child td{border-bottom:0}
table.data tbody tr:hover{background:#f8fbf9}
table.data td a.auth{font-weight:700;color:var(--ink);text-decoration:none}
table.data td a.auth:hover{color:var(--mint-d);text-decoration:underline}
table.data .sub{display:block;font-size:13px;color:var(--muted)}
.rank{font:800 15px var(--head);color:var(--muted);width:44px}
.result-count{font-size:14px;color:var(--muted);margin:0 0 10px}
.table-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-top:12px}

/* supply pill + bar */
.ys{display:inline-flex;align-items:center;gap:6px;font:800 15px var(--head);padding:5px 10px;border-radius:8px;white-space:nowrap}
.ys.r{background:var(--red-l);color:var(--red-d)}
.ys.o{background:var(--orange-l);color:var(--orange-d)}
.ys.a{background:var(--amber-l);color:var(--amber-d)}
.ys.g{background:var(--green-l);color:var(--green-d)}
.ys.n{background:var(--none-l);color:#5d6b76;font-weight:600;font-family:var(--body);font-size:13px}
.sbar{position:relative;height:12px;background:var(--line-2);border-radius:6px;min-width:96px}
.sbar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.sbar:after{content:"";position:absolute;left:83.333%;top:-4px;bottom:-4px;border-left:2px dashed var(--ink)}
.c-r{background:var(--red)}.c-o{background:var(--orange)}.c-a{background:var(--amber)}.c-g{background:var(--green)}.c-n{background:var(--none)}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:var(--muted);margin:12px 0}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.stage-pill{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--line-2);color:var(--ink);white-space:nowrap}
.stage-pill.new{background:var(--mint-l);color:var(--mint-d)}
.due{font-size:13px;font-weight:700}
.due.soon{color:var(--red-d)}
.sys{font:700 11px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ---------- Map page ---------- */
.map-shell{display:grid;grid-template-columns:330px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:640px}
.map-side{border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:18px;max-height:720px;overflow:auto}
.map-side h4{margin:0 0 8px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.map-side label{display:flex;align-items:center;gap:10px;font-size:15px;padding:5px 0;cursor:pointer}
.map-side label i{width:16px;height:16px;border-radius:4px;flex:none}
.map-side label small{margin-left:auto;color:var(--muted)}
.map-side select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px;font:500 15px var(--body)}
.map-side .opp{background:var(--ink);color:#c9d4de;border-radius:12px;padding:16px}
.map-side .opp h4{color:var(--mint)}
.map-side .opp select{background:var(--ink-2);color:#fff;border-color:#ffffff33}
.map-side .opp p{font-size:13px;margin:8px 0 0}
.map-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.map-totals div{background:var(--paper);border-radius:10px;padding:12px}
.map-totals b{display:block;font:800 24px var(--head);color:var(--ink)}
.map-totals span{font-size:12.5px;color:var(--muted)}
#map{min-height:640px;height:100%;background:#dfe7e3;position:relative}
.map-flag{position:absolute;z-index:500;left:12px;bottom:12px;background:var(--amber);color:#3a2a00;font:700 12.5px var(--body);padding:7px 11px;border-radius:8px;pointer-events:none}
.leaflet-popup-content{font:14px/1.5 var(--body);margin:14px 16px;min-width:220px}
.leaflet-popup-content h4{margin:0 0 4px;font-size:16px}
.leaflet-popup-content .tag{margin-bottom:8px}
.leaflet-popup-content dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0}
.leaflet-popup-content dt{color:var(--muted)}
.leaflet-popup-content dd{margin:0;font-weight:600}
.site-list{border-top:1px solid var(--line);margin-top:20px}
@media(max-width:900px){.map-shell{grid-template-columns:1fr}.map-side{border-right:0;border-bottom:1px solid var(--line);max-height:none}#map{min-height:480px}}

/* ---------- Calculator ---------- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.calc-in{padding:28px;display:grid;gap:16px}
.calc-in label{display:grid;gap:6px;font-weight:600;font-size:15px}
.calc-in label small{font-weight:400;color:var(--muted)}
.calc-in input,.calc-in select{border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;font:600 16px var(--body)}
.calc-out{background:var(--ink);color:#c9d4de;padding:28px;display:flex;flex-direction:column;gap:14px}
.calc-out .big{font:800 72px/1 var(--head);letter-spacing:-.04em;color:#fff}
.calc-out .big small{font-size:22px;letter-spacing:0;color:#9fb0c0;margin-left:6px}
.calc-out .verdict{display:inline-block;font:700 13px var(--body);letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border-radius:8px;align-self:flex-start}
.calc-out table{width:100%;border-collapse:collapse;font-size:14.5px}
.calc-out td{padding:7px 0;border-bottom:1px solid #ffffff17}
.calc-out td:last-child{text-align:right;color:#fff;font-weight:700}
.gauge{height:16px;background:#ffffff17;border-radius:8px;position:relative;margin:4px 0 2px}
.gauge i{position:absolute;left:0;top:0;bottom:0;border-radius:8px;transition:width .3s}
.gauge:after{content:"5 yrs";position:absolute;left:83.333%;top:-6px;bottom:-6px;border-left:2px dashed #fff;font:700 11px var(--body);color:#fff;padding-left:5px;line-height:28px;top:-26px;bottom:-6px}
@media(max-width:820px){.calc{grid-template-columns:1fr}}

/* worked example table */
table.simple{width:100%;border-collapse:collapse;font-size:15.5px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
table.simple td,table.simple th{padding:12px 16px;border-bottom:1px solid var(--line-2);text-align:left}
table.simple th{background:#f0f4f2;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.simple td.n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
table.simple tr.total td{background:var(--ink);color:#fff;font-weight:700}

/* comparison two-col */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.vs .card h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.vs{grid-template-columns:1fr}}

/* site categories key */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;border-top:6px solid}
.cat h4{margin-bottom:6px}
.cat p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:980px){.cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cats{grid-template-columns:1fr}}

/* profile */
.profile-top{display:grid;grid-template-columns:1fr 340px;gap:24px}
.kv{display:grid;grid-template-columns:190px 1fr;gap:0;font-size:15px}
.kv div{padding:11px 0;border-bottom:1px solid var(--line-2)}
.kv div:nth-child(odd){font-weight:700;color:var(--ink)}
.supply-card{background:var(--ink);color:#c9d4de;border-radius:var(--radius);padding:26px}
.supply-card .big{font:800 64px/1 var(--head);color:#fff;letter-spacing:-.04em}
.supply-card .big small{font-size:20px;color:#9fb0c0;letter-spacing:0}
@media(max-width:900px){.profile-top{grid-template-columns:1fr}.kv{grid-template-columns:1fr}.kv div:nth-child(odd){border-bottom:0;padding-bottom:0}}

/* newsletter / CTA band */
.cta{background:var(--mint);border-radius:22px;padding:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.cta h2{margin:0}
.cta p{margin:10px 0 0;color:#0b3a28;font-size:17px}
.cta form{display:flex;gap:8px}
.cta input{flex:1;min-width:0;border:0;border-radius:11px;padding:14px 16px;font:500 16px var(--body)}
@media(max-width:820px){.cta{grid-template-columns:1fr;padding:30px}}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:#9fb0c0;padding:56px 0 34px;margin-top:0;font-size:14.5px}
footer a{color:#d7e0e8}
footer a:hover{color:var(--mint)}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.foot .brand{margin-bottom:14px}
.foot h4{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin-bottom:7px}
@media(max-width:820px){.foot{grid-template-columns:1fr}}
/* Footer legal text and copyright (matches the other network sites) */
.legal{display:flex;justify-content:space-between;gap:20px;margin-top:2rem;padding-top:20px;border-top:1px solid #ffffff1f}
.legal p{margin:0 0 1em}
.text_small{font-size:10px;line-height:140%;color:#c7d9d0}
.copyright{margin-top:1rem;font-size:13px;color:#b8c8bb}
@media(max-width:980px){.legal{display:block}}

.muted{color:var(--muted)}
.mt0{margin-top:0}.mb0{margin-bottom:0}
.center{text-align:center}
.hide{display:none!important}

/* grid children must be allowed to shrink on small screens */
.hero-grid>*,.profile-top>*,.grid>*,.layout>*,.vs>*,.cta>*{min-width:0}
.track,.track-labels{grid-auto-columns:minmax(0,1fr)}
.track-labels span{overflow-wrap:anywhere}
@media(max-width:640px){.track-labels{font-size:10px}.hero{padding:48px 0 56px}.section{padding:56px 0}.card{padding:22px}.calc-out .big{font-size:56px}.search{flex-direction:column}.search .btn{justify-content:center}}
@media(max-width:640px){.cta form{flex-direction:column}.cta{padding:26px 22px}}

/* live data */
.kv .sub,.supply-card .sub{display:block;font-size:13.5px;color:var(--muted);font-weight:400}
.table-wrap.tall{max-height:78vh}
table.data td:first-child a.auth{display:inline-block;min-width:150px}
table.data .tag{font-size:10px;padding:4px 7px;vertical-align:1px}
