:root{
  --region-ink:#163848;
  --region-blue:#1f5578;
  --region-teal:#267983;
  --region-gold:#cf9229;
  --region-violet:#76529b;
  --region-soft:#f5f8f6;
  --region-hero:#edf4f8;
  --region-line:#d8e2df;
}
.regions-site{background:#fff}

/* Category page */
.regions-hero{background:var(--region-hero);border-bottom:1px solid var(--region-line);padding:0 0 54px}
.regions-hero .hero-breadcrumb{padding-top:16px;margin-bottom:28px}
.regions-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:58px;align-items:start}
.regions-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5.2vw,76px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px;color:#123746}
.regions-hero .lead{font-size:19px;max-width:760px;color:#3d5960}
.regions-hero-card,.region-summary-card{background:#fff;border:1px solid rgba(31,89,86,.18);border-radius:20px;padding:25px;box-shadow:0 16px 42px rgba(24,61,71,.07)}
.regions-hero-card>span{font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.regions-hero-card>b{display:block;font-family:Georgia,serif;font-size:74px;line-height:1;color:#1e7378;margin:12px 0}
.regions-directory{display:grid;gap:15px}
.region-directory-row{border:1px solid #d8e3df;border-radius:16px;background:#fff;overflow:hidden}
.region-directory-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px 26px;color:inherit;text-decoration:none}
.region-directory-main:hover{background:#f7fbf9}
.region-directory-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#28777a}
.region-directory-main h2{font-family:Georgia,serif;font-size:29px;margin:4px 0}
.region-directory-main p{margin:0;color:#5b6d70}
.region-directory-stats{text-align:right;display:grid;gap:7px}
.region-directory-stats span:first-child{font-size:13px;color:#5b6d70}
.region-directory-stats b{font-size:18px;color:#183d4c}
.region-directory-stats span:last-child{font-weight:750;color:#16666e}
.sector-disclosure{border-top:1px solid #e0e7e4;background:#f7faf8;padding:0 26px}
.sector-disclosure summary{cursor:pointer;padding:16px 0;font-weight:750;color:#2e555b}
.sector-disclosure ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0 0 8px;margin:0}
.sector-disclosure li{border:1px solid #d1ded9;border-radius:999px;padding:7px 11px;background:#fff;font-size:13px}
.sector-disclosure p{font-size:13px;color:#637579;padding-bottom:17px}
.territorial-method-summary{border:1px solid #d5e1dc;border-radius:18px;background:#fff;padding:28px;max-width:1020px}
.territorial-method-summary>p{font-size:17px;max-width:900px}
.territorial-method-summary details{margin-top:20px;border-top:1px solid #e0e7e4;padding-top:17px}
.territorial-method-summary summary{font-weight:800;cursor:pointer;color:#176a70}
.territorial-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.territorial-method-grid article{background:#f5f9f7;border-radius:13px;padding:19px}
.territorial-method-grid h3{font-size:17px;margin:0 0 9px}
.territorial-method-grid p{font-size:14px;margin:0}
.regions-explore-band{margin-top:15px;background:#eef6f1!important;border-color:#d8e1d5!important}

/* Region detail hero and controls */
.page-type-region-detail .region-detail-hero{background:var(--region-hero);padding-bottom:52px}
.page-type-region-detail .region-detail-hero .hero-breadcrumb{margin-bottom:24px}
.region-highlight{padding:0 .035em;background:linear-gradient(transparent 62%,rgba(226,177,67,.48) 62%,rgba(226,177,67,.48) 91%,transparent 91%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.region-summary-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.region-summary-card div{border-bottom:1px solid #dce4df;padding-bottom:12px}
.region-summary-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#63767a}
.region-summary-card dd{margin:6px 0 0;font-size:24px;font-weight:800;color:#173b4b}
.region-series-note{margin:14px 0 0;padding-top:13px;border-top:1px solid rgba(23,63,78,.13);font-size:12px;line-height:1.45;color:#5d7074}
.region-series-note strong{color:#173f4e}
.region-sticky-shell{position:sticky;top:var(--header-height,68px);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #dce4e1}
.region-controls{display:grid;grid-template-columns:minmax(300px,1.65fr) minmax(170px,.7fr) minmax(115px,.42fr);gap:12px;padding-top:12px;padding-bottom:12px}
.region-controls>div,.region-table-controls>div,.local-sector-filter,.directory-local-controls{display:grid;gap:5px}
.region-controls label,.region-table-controls label,.local-sector-filter label,.directory-local-controls label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#577075}
.region-controls select,.region-table-controls select,.local-sector-filter select,.directory-local-controls select{width:100%;height:42px;border:1px solid #cfdcd7;border-radius:9px;background:#fff;padding:0 12px;color:#173a47;font:600 14px Inter,sans-serif}

/* Shared regional visual language */
.page-type-region-detail .section{padding:66px 0}
.page-type-region-detail .section.soft{background:var(--region-soft);border-top:1px solid var(--region-line);border-bottom:1px solid var(--region-line)}
.page-type-region-detail .section-head{margin-bottom:28px}
.page-type-region-detail .section-head h2{max-width:760px}
.region-chart-card{position:relative;border:1px solid var(--region-line);background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(24,61,71,.035);overflow:visible}
.chart-title-row{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}
.chart-title-row h3{margin:0 0 4px;font-family:Inter,sans-serif;font-size:16px;font-weight:800;letter-spacing:-.015em}
.chart-title-row p{margin:0;color:#65777a;font-size:12.5px}
.empty-state{padding:20px;background:#f5f8f7;border-radius:10px;color:#68797c}

/* Profile: three families x three readings */
.region-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.region-profile-card{border:1px solid var(--region-line);border-radius:18px;padding:22px 23px 20px;background:#fff}
.region-profile-card h3{font-family:Inter,sans-serif;font-size:15px;font-weight:800;letter-spacing:-.015em;margin:0 0 14px}
.region-profile-card>p{font-size:11.5px;color:#71817b;margin:17px 0 0;padding-top:12px;border-top:1px solid #e7ece9}
.profile-row{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:16px;align-items:start;padding:10px 0;border-top:1px solid #edf1ef}
.region-profile-card h3+.profile-row{border-top:0}
.profile-label{display:block;font-size:12px;color:#5e6c67;margin-bottom:7px}
.profile-row strong{text-align:right;font-size:18px;line-height:1.25;font-weight:850;color:var(--region-ink);font-variant-numeric:tabular-nums}
.index-track{height:7px;background:#e4ebe8;border-radius:999px;position:relative}
.index-track:after{content:"";position:absolute;left:50%;top:-4px;width:2px;height:15px;background:#7d8f88;transform:translateX(-50%);border-radius:2px}
.index-fill{position:absolute;left:0;top:0;height:7px;border-radius:999px;background:var(--region-teal)}
.index-fill.low{background:#4f8063}.index-fill.high{background:#cf9229}.index-fill.neutral{background:#4a8790}
.cat-reference-label{display:block;width:max-content;position:relative;left:50%;transform:translateX(-50%);margin-top:5px;font-size:9.5px;line-height:1;color:#7d8984;font-weight:750;letter-spacing:.02em}
.region-method-note{border-left:3px solid #d0a338;padding:11px 0 11px 16px;color:#5b6863;font-size:13px;margin-top:20px;max-width:1040px}
.region-method-note strong{color:#34443e}.region-method-note span{white-space:nowrap}

/* Information tooltip */
.info-tip{position:relative;display:inline-flex;vertical-align:middle;margin-left:5px;font-family:Inter,sans-serif}
.info-tip.compact{margin-left:3px}
.info-tip button{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid #b9cac4;border-radius:50%;background:#fff;color:#3d6266;font:800 12px Inter,sans-serif;cursor:help;padding:0}
.info-tip.compact button{width:18px;height:18px;font-size:10px}
.info-tip-popover{position:absolute;left:50%;bottom:calc(100% + 9px);width:min(340px,78vw);padding:12px 14px;border:1px solid #cddbd6;border-radius:10px;background:#173f4e;color:#fff;font:500 12px/1.45 Inter,sans-serif;letter-spacing:0;box-shadow:0 14px 35px rgba(20,55,68,.2);transform:translate(-50%,5px);opacity:0;visibility:hidden;z-index:40;pointer-events:none}
.info-tip:hover .info-tip-popover,.info-tip:focus-within .info-tip-popover{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Territorial comparison */
.scope-tabs{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}
.scope-tabs button{border:1px solid #cbd9d4;background:#fff;border-radius:999px;padding:9px 14px;font-weight:750;color:#3c5b61;cursor:pointer}
.scope-tabs button.active{background:#173f4e;color:#fff;border-color:#173f4e}
.region-chart-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:28px}
.region-ranking{margin-top:22px;display:grid;gap:10px}
.region-rank-row{display:grid;grid-template-columns:minmax(145px,210px) minmax(170px,1fr) 72px;gap:12px;align-items:center;font-size:12.5px}
.region-rank-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.region-rank-axis{height:10px;background:#e6ece9;border-radius:999px;overflow:hidden}
.region-rank-bar{display:block;height:100%;border-radius:999px;background:#94aaa2}
.region-rank-row.selected{font-weight:850;color:var(--region-ink)}
.region-rank-row.selected .region-rank-bar{background:var(--region-blue)}
.region-rank-row.catalonia-row .region-rank-bar{background:var(--region-gold)}
.region-rank-row strong{text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums}
.region-ranking-context{display:flex;justify-content:space-between;margin:10px 84px 0 222px;font-size:10.5px;color:#82908b}
.region-insight{margin-top:18px;padding-top:15px;border-top:1px solid var(--region-line);font-size:13px;color:#53635d}
.region-insight strong{color:#223d43}
.reg-grid{stroke:#e2e8e5;stroke-width:1}.reg-axis{font:11px Inter,sans-serif;fill:#718083}.reg-line{fill:none;stroke-width:3}.reg-line.region{stroke:var(--region-blue)}.reg-line.cat{stroke:var(--region-gold)}.reg-point.region{fill:var(--region-blue)}.reg-point.cat{fill:var(--region-gold)}
.region-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12px;color:#5c6f73}
.region-legend i{display:inline-block;width:17px;height:3px;background:var(--region-blue);vertical-align:middle;margin-right:6px}
.region-legend .cat i{background:var(--region-gold)}
.territorial-context{margin-top:18px;border-left:3px solid var(--region-teal);background:#edf6f3;padding:15px 18px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.territorial-context p{margin:0;max-width:820px;font-size:13px}.territorial-context a{white-space:nowrap;font-weight:750;font-size:13px}

/* Centre detail chart */
.region-centre-card{width:100%;padding:26px 28px}
.region-centre-head{align-items:end}
.local-sector-filter{width:min(260px,100%)}
.region-centre-chart{display:grid;gap:15px;margin-top:24px}
.region-centre-row{display:grid;grid-template-columns:minmax(210px,31%) minmax(300px,1fr) 76px;gap:16px;align-items:center;min-height:42px}
.region-centre-row>a{text-decoration:none;color:#173a47;font-weight:750;line-height:1.18;min-width:0}
.region-centre-row a span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.region-centre-row a small{display:block;font-weight:500;color:#718084;font-size:10.5px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.region-centre-axis{height:24px;position:relative}
.region-centre-axis:before{content:"";position:absolute;left:0;right:0;top:50%;height:5px;border-radius:999px;background:#dfe8e4;transform:translateY(-50%)}
.centre-dot{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:#1f5578;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(31,85,120,.14);z-index:5}
.median-tick{position:absolute;top:50%;width:3px;height:19px;transform:translate(-50%,-50%);border-radius:2px;z-index:3}
.median-tick.reg{background:var(--region-teal);height:20px}
.median-tick.cat{background:var(--region-gold);height:24px}
.median-tick.type{background:var(--region-violet);height:16px;width:4px}
.region-centre-row>strong{text-align:right;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.region-ref-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:11.5px;color:#5c6f73}
.region-ref-legend span{display:flex;align-items:center;gap:7px}
.region-ref-legend i{display:inline-block;width:3px;height:18px;border-radius:2px}
.region-ref-legend .reg{background:var(--region-teal)}
.region-ref-legend .cat{background:var(--region-gold);height:21px}
.region-ref-legend .type{background:var(--region-violet);width:4px;height:15px}
.region-chart-disclaimer{margin-top:15px;color:#60716c;font-size:12.5px;max-width:1000px}

/* Difference table and directory */
.region-table-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.region-table-controls>div{min-width:230px}
.region-table-context{margin:0 0 13px;color:#61716c;font-size:12px}
.regions-site .table-card{max-width:100%;overflow:hidden;border:1px solid var(--region-line);border-radius:18px;background:#fff}
.regions-site .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.region-difference-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:700px}
.region-difference-table th,.region-difference-table td{padding:13px 15px;border-bottom:1px solid #e5ebe8;font-size:13px}
.region-difference-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#6c7a74;background:#f7f9f8;text-align:left}
.region-difference-table th:first-child{width:49%}.region-difference-table th:not(:first-child){width:17%}
.region-difference-table .num{text-align:right;font-variant-numeric:tabular-nums}
.difference-service{display:block;font-weight:750;color:#173a47;text-decoration:none}
.region-difference-table td small{display:block;color:#78857f;font-size:10.5px;margin-top:2px}
.diff-pos{color:#8a5e12;font-weight:800}.diff-neg{color:#34644a;font-weight:800}
.directory-local-controls{width:min(280px,100%);margin:0 0 13px auto}
.region-centres-table{width:100%;border-collapse:collapse;min-width:780px}
.region-centres-table th,.region-centres-table td{padding:13px 15px;border-bottom:1px solid #e5ebe8;font-size:12.5px;vertical-align:middle}
.region-centres-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#6c7a74;background:#f7f9f8;text-align:left}
.region-centres-table th:first-child{width:33%}.region-centres-table th:nth-child(2){width:22%}.region-centres-table th:nth-child(3){width:27%}.region-centres-table th:last-child{width:18%}
.region-centres-table td:first-child a{font-weight:750;color:#173a47;text-decoration:none}
.region-coverage-chips{display:flex;gap:6px;flex-wrap:nowrap;white-space:nowrap}
.region-coverage-chips span{display:inline-flex;gap:4px;align-items:center;padding:4px 7px;border-radius:5px;background:#edf3f0;color:#52645c;font-size:10.5px}
.region-coverage-chips b{color:#173f4e}

@media(max-width:980px){
 .regions-hero-grid,.region-chart-grid{grid-template-columns:1fr}
 .region-controls{grid-template-columns:1fr 1fr}.region-controls>div:first-child{grid-column:1/-1}
 .region-profile-grid{grid-template-columns:1fr}
 .region-directory-main{grid-template-columns:1fr}.region-directory-stats{text-align:left}
 .territorial-method-grid{grid-template-columns:1fr}
 .territorial-context{display:block}.territorial-context a{display:inline-block;margin-top:10px;white-space:normal}
 .region-centre-row{grid-template-columns:minmax(180px,32%) minmax(220px,1fr) 70px}
}
@media(max-width:650px){
 .regions-hero{padding-bottom:36px}.regions-hero .hero-breadcrumb{margin-bottom:18px}.regions-hero h1{font-size:43px}
 .region-summary-card dl{grid-template-columns:1fr 1fr}
 .region-sticky-shell{top:58px}.region-controls{grid-template-columns:1fr 110px}.region-controls>div:first-child{grid-column:1/-1}
 .page-type-region-detail .section{padding:48px 0}
 .region-chart-card,.region-centre-card{padding:20px}
 .region-rank-row{grid-template-columns:minmax(110px,1fr) 1.15fr 55px;gap:8px}.region-ranking-context{margin-left:0;margin-right:60px;padding-left:calc(45% + 6px)}
 .region-centre-row{grid-template-columns:minmax(115px,38%) 1fr 50px;gap:8px}.region-centre-row a small{display:none}.region-centre-row>strong{font-size:11px}
 .region-ref-legend{display:grid;gap:8px}
 .region-table-controls{display:grid}.region-table-controls>div{min-width:0}
 .chart-title-row.region-centre-head{display:grid}.local-sector-filter{width:100%}
 .region-highlight{background:linear-gradient(transparent 64%,rgba(226,177,67,.48) 64%,rgba(226,177,67,.48) 92%,transparent 92%)}
}

.regions-site .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.regions-site .table-card{max-width:100%;overflow:hidden}
.regions-site .region-centres-table{min-width:760px}
.local-sector-filter[hidden],.directory-local-controls[hidden]{display:none!important}
@media(max-width:650px){
 .info-tip-popover{left:auto;right:-10px;transform:translateY(5px)}
 .info-tip:hover .info-tip-popover,.info-tip:focus-within .info-tip-popover{transform:translateY(0)}
}
