:root{--header-height:83px;--bg:#f7fbfa;--surface:#fff;--text-primary:#111111;--text-strong:#111111;--text:#111111;--muted:#5f6872;--border:#d7e0e3;--brand:#087f8c;--brand-dark:#075b65;--focus:#f2be4e;--radius:8px;--outage-accent:#087f8c;--outage-accent-strong:#075b65;--outage-surface:#fff;--outage-border:#dce4e6;--utility-accent:#25658f;--utility-accent-strong:#1f5578;--utility-surface:#fff;--utility-border:#dce4e6}
*{box-sizing:border-box}
html,body,button,input,select,textarea{font-family:Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}body{margin:0;background:var(--bg);color:var(--text-primary);font-size:16.5px;line-height:1.5}
a{color:var(--brand-dark)}
.wrap{width:min(980px,calc(100% - 24px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:1000;background:var(--surface);border-bottom:1px solid var(--border)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-size:18.5px;font-weight:800;color:var(--brand-dark);text-decoration:none;white-space:nowrap}
.site-header nav,.site-footer nav{display:flex;gap:14px;flex-wrap:wrap}.site-header nav a,.site-footer nav a{text-decoration:none}
main.wrap{min-height:calc(100vh - 150px)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;color:var(--muted);font-size:13.5px}.breadcrumbs a{color:var(--brand-dark)}.breadcrumbs strong{font-weight:700}
h1,h2,h3,h4{color:var(--text-primary);font-family:inherit}h1{font-size:30px;line-height:1.22;font-weight:700;margin:6px 0}h2{font-size:22px;line-height:1.3;font-weight:700;margin:20px 0 10px}h3{font-size:18px;line-height:1.35;font-weight:700}h4{font-size:16px;line-height:1.35;font-weight:700}
.page-head{padding:12px 0 14px}.page-head h1{margin:0 0 6px}.meta,.intro,.supporting{color:#245861}.meta{margin:0;font-size:13.5px}
.hero{padding:34px 0 20px}.eyebrow{margin:0 0 7px;color:var(--brand);font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.hero h1{max-width:720px}.hero .intro{max-width:620px;margin:0;font-size:17.5px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin:14px 0}.section-heading{margin-bottom:10px}.section-heading h2{margin:0 0 3px}.section-heading p{margin:0;color:var(--muted);font-size:13.5px}
.lookup{margin:0 0 24px}.lookup-grid{display:grid;grid-template-columns:1fr 1.1fr 1.35fr auto;gap:9px;align-items:end}.lookup label{display:grid;gap:4px;font-size:14px;font-weight:600}.lookup select,.lookup button{min-height:42px;border:1px solid #b9ccd1;border-radius:7px;padding:7px 9px;background:#fff;font:inherit}.lookup button{min-width:108px;background:var(--brand);border-color:var(--brand);color:#fff;font-weight:800;cursor:pointer}
.directory{margin:0 0 22px}.directory-heading{margin-bottom:12px}.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.region{padding:13px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.region h3{margin:0 0 9px;color:var(--text-primary)}
.supporting{margin:0 0 22px}.supporting p{margin:0;font-size:13.5px}
/* Shared outage tabs and LMD-aligned field rows */
.outage-panel{padding:8px 12px;margin-top:0;border-color:#c3d7d5;scroll-margin-top:var(--header-height)}
.outage-list{display:grid;gap:0}.outage-card{display:grid;gap:0;padding:12px 8px;border:0;border-top:1px solid var(--border);border-radius:0;background:var(--surface)}.outage-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px;align-items:start;margin:4px 0;min-width:0}.outage-label{color:var(--text-primary);font-size:14.5px;font-weight:700;line-height:1.45;white-space:nowrap}.outage-value{min-width:0;color:var(--text);font-size:16.5px;line-height:1.5;overflow-wrap:anywhere}.outage-date{color:#d9480f;font-size:16.5px;font-weight:800}.outage-provider{color:var(--text-primary);font-weight:650}.outage-time-row{margin-top:4px;margin-bottom:5px}.outage-time{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--text-primary);font-size:16.5px}.time-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 6px;border:1px solid #e6b85c;border-radius:4px;background:#fff3bf;color:#5c3b00;font-size:15.5px;font-weight:800;line-height:1.25;white-space:nowrap}.outage-area,.outage-reason{font-size:16.5px;line-height:1.58}.outage-reason{color:var(--text-primary)}.status-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #cbdde0;border-radius:999px;background:#f3f8f8;color:var(--brand-dark);font-size:13.5px;font-weight:600;line-height:1.25;white-space:nowrap}.empty{padding:15px 2px;color:var(--muted);font-size:14.5px;line-height:1.55}/* Province/locality density tuning */
.page-head{padding:6px 0 8px;scroll-margin-top:var(--header-height)}.page-head h1{font-size:30px;line-height:1.22}.breadcrumbs{margin:9px 0 6px;gap:6px}

@media(max-width:700px){h1{font-size:24px;line-height:1.25}h2{font-size:20px;line-height:1.3}h3{font-size:17px;line-height:1.35}h4{font-size:16px;line-height:1.35}.page-head h1{font-size:24px;line-height:1.25}.outage-row{grid-template-columns:112px minmax(0,1fr);gap:8px}.outage-value{font-size:16.5px;line-height:1.5}.outage-label{font-size:14.5px}.outage-time strong{font-size:inherit}.outage-area{padding:0;border:0}.outage-card{padding:12px 8px;border-top-color:#cbdcda}.outage-panel{padding:7px 8px;border-color:#c3d7d5}}
@media(max-width:400px){.outage-row{grid-template-columns:108px minmax(0,1fr)}.outage-value{font-size:16.5px}.outage-label{font-size:13.5px}.time-chip{padding-inline:6px}}
/* LMD-aligned status presentation for known public states only */
.status-badge.status-scheduled{border-color:#9ad5ae;background:#e6f6ec;color:#176b3a}.status-badge.status-in-progress{border-color:#e6b85c;background:#fff3bf;color:#68490a}.status-badge.status-completed{border-color:#9ad5ae;background:#e6f6ec;color:#176b3a}.status-badge.status-cancelled{border-color:#e5a6a6;background:#fff0f0;color:#9b2c2c}
/* Phase 7 location navigation and utilities */
.location-selector{margin:0 0 14px}.location-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.location-selector label{display:grid;gap:4px;font-size:14px;font-weight:600;color:var(--text-primary)}.location-selector select{min-height:44px;border:1px solid #b9ccd1;border-radius:7px;padding:8px 9px;background:#fff;font:inherit}.location-selector select:focus{outline:3px solid var(--focus);outline-offset:2px}.page-description{margin:5px 0 0;color:var(--text);font-size:15.5px;line-height:1.5}.brand-image{display:block;width:clamp(300px,30vw,320px);height:auto;max-width:100%;object-fit:contain}.back-to-top{position:fixed;right:16px;bottom:16px;z-index:1100;width:40px;height:40px;border:1px solid var(--brand);border-radius:999px;background:var(--surface);color:var(--brand-dark);font-size:21.5px;font-weight:800;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer}.back-to-top:focus{outline:3px solid var(--focus);outline-offset:2px}.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}@media(max-width:700px){.header-inner{min-height:82px}.location-selector-grid{grid-template-columns:1fr}.location-selector{padding:12px 10px}.location-selector select{min-height:44px;font-size:15.5px}.page-description{font-size:15.5px}.brand-image{width:min(290px,76vw);max-width:100%;height:auto}.back-to-top{right:12px;bottom:12px}}
/* Phase 7 selector compact/search refinement */
.location-selector{margin:0 0 8px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:8px}.location-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.location-selector-grid select,.locality-search input{width:100%;min-height:44px;border:1px solid #b9ccd1;border-radius:7px;padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:15.5px}.location-selector-grid select:focus,.locality-search input:focus{outline:3px solid var(--focus);outline-offset:2px}.locality-search{position:relative;margin-top:8px}.locality-search input:disabled{background:#f3f6f6;color:var(--muted);cursor:not-allowed}.locality-search input::placeholder{color:var(--muted)}.locality-search [data-locality-results]{position:absolute;inset-inline:0;top:calc(100% + 4px);z-index:950;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:7px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.1)}.locality-search [data-locality-results] a{display:flex;align-items:center;min-height:40px;padding:8px 10px;border-bottom:1px solid #edf1f2;color:var(--text);text-decoration:none}.locality-search [data-locality-results] a:last-child{border-bottom:0}.locality-search [data-locality-results] a:hover,.locality-search [data-locality-results] a:focus,.locality-search [data-locality-results] a[aria-selected=true]{background:#f7f9fa;color:var(--brand-dark);outline:none}@media(max-width:700px){.location-selector{padding:7px;margin-bottom:7px}.location-selector-grid{grid-template-columns:1fr;gap:7px}.location-selector-grid select,.locality-search input{min-height:44px;font-size:15.5px}.locality-search{margin-top:7px}}
/* Locality directory disclosure order */
.locality-directory-disclosure{margin:0 0 8px}.locality-directory-disclosure summary{display:inline-flex;min-height:38px;align-items:center;padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--brand-dark);font-size:14.5px;font-weight:700;cursor:pointer;list-style:none}.locality-directory-disclosure summary::-webkit-details-marker{display:none}.locality-directory-disclosure summary:focus{outline:3px solid var(--focus);outline-offset:2px}.locality-directory-disclosure .hide-all{display:none}.locality-directory-disclosure[open] .show-all{display:none}.locality-directory-disclosure[open] .hide-all{display:inline}.locality-directory-disclosure[open] .locality-directory{margin-top:8px}.locality-directory-disclosure .locality-directory{margin-bottom:0}@media(max-width:700px){.locality-directory-disclosure{margin-bottom:7px}.locality-directory-disclosure summary{min-height:40px}}.locality-directory-disclosure summary{display:flex;width:max-content;margin-inline:auto}.unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.unit-link{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}@media(max-width:700px){.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.unit-link{min-height:42px;padding:7px 8px;font-size:14.5px;line-height:1.35}}
/* Home province directory search and mobile region stacking */
.province-directory-search{margin:0 0 10px}.province-directory-search input{display:block;width:100%;min-height:44px;border:1px solid #b9ccd1;border-radius:5px;padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:15.5px}.province-directory-search input:focus{outline:3px solid var(--focus);outline-offset:2px}.province-directory-search input::placeholder{color:var(--muted)}@media(max-width:700px){.directory .region-grid{grid-template-columns:1fr}.province-directory-search{margin-bottom:10px}.province-directory-search input{min-height:44px;font-size:15.5px}.directory .region{min-width:0}}/* Home-A province search and age-friendly readability */
.home-page{color:var(--text-primary)}.home-page .hero h1{font-size:30px;line-height:1.22;font-weight:700}.home-page .hero .intro{font-size:16px;color:var(--muted)}.home-page .location-selector-grid{gap:10px}.home-page .location-selector-grid select{min-height:48px;font-size:15.5px}.home-page .directory-heading h2{font-size:22px;line-height:1.3}.home-page .directory-heading p{font-size:16.5px;color:var(--muted)}.home-page .region h3{font-size:18px;line-height:1.35}.province-search-control{position:relative}.home-page .province-directory-search input{min-height:48px;padding-right:48px;font-size:15.5px;color:var(--text-primary)}.province-directory-search input::placeholder{color:var(--muted)}.province-directory-search [data-province-search-clear]{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:22.5px;line-height:1;cursor:pointer}.province-directory-search [data-province-search-clear]:hover,.province-directory-search [data-province-search-clear]:focus{background:#f7f9fa}.province-directory-search [data-province-search-clear]:focus{outline:3px solid var(--focus);outline-offset:0}.province-directory-search [data-province-search-results]{position:absolute;inset-inline:0;z-index:950;max-height:300px;overflow-y:auto;border:1px solid #b9ccd1;border-radius:7px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.1)}.province-directory-search{position:relative;margin-bottom:10px}.province-search-result{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-bottom:1px solid #e5ecee;color:var(--text-primary);font-size:16.5px;line-height:1.35;text-decoration:none}.province-search-result:last-child{border-bottom:0}.province-search-result:hover,.province-search-result:focus{background:#f7f9fa;color:#075b65;outline:none}.province-search-empty{padding:11px 12px;color:var(--text-primary);font-size:16.5px;line-height:1.4}@media(max-width:700px){.home-page .location-selector-grid select{min-height:48px;font-size:15.5px}.home-page .province-directory-search input{min-height:48px;font-size:16.5px}.home-page .region-grid{gap:12px}}/* Home-B province-first readability */
.home-page{font-size:17.5px;line-height:1.58;color:var(--text-primary)}.home-page .eyebrow{font-size:14.5px;font-weight:800;color:#075b65}.home-page .hero h1{font-size:30px;line-height:1.22;font-weight:700;color:var(--text-primary)}.home-page .hero .intro{font-size:16px;font-weight:500;color:var(--muted);line-height:1.58}.home-page .location-selector-grid select{min-height:50px;padding-inline:12px;font-size:15.5px;font-weight:500;color:var(--text-primary)}.home-page .directory-heading h2{font-size:22px;line-height:1.3;font-weight:700;color:var(--text-primary)}.home-page .directory-heading p{font-size:16.5px;font-weight:450;color:var(--muted)}.home-page .region h3{font-size:18px;line-height:1.35;font-weight:700;color:var(--text-primary)}.home-page .province-directory-search input{min-height:50px;padding-inline:12px 48px;font-size:15.5px;font-weight:500;color:var(--text-primary)}.home-page .province-search-result{min-height:46px;padding:10px 12px;font-size:15.5px;font-weight:500}.home-page .province-search-empty{padding:12px;font-size:16.5px;color:var(--text-primary)}.home-page .supporting{font-size:16.5px;color:var(--muted)}@media(max-width:700px){.home-page .location-selector-grid{gap:10px}.home-page .province-directory-search input{min-height:50px;font-size:15.5px}}/* Shared Province/locality navigation readability */
.location-selector-grid select{min-height:48px;font-size:15.5px;font-weight:500;color:var(--text-primary)}.locality-directory-disclosure summary{min-height:40px;font-size:15.5px;font-weight:700}.locality-directory .section-heading h2{font-size:22px;line-height:1.3;font-weight:700;color:var(--text-primary)}.locality-directory .section-heading p{font-size:16.5px;color:var(--muted)}.unit-link{min-height:46px;padding:9px 10px;font-size:16.5px;font-weight:600;color:var(--text-primary)}@media(max-width:700px){.header-inner{min-height:82px}.location-selector-grid select{min-height:50px;font-size:15.5px}.unit-link{min-height:46px;font-size:16.5px}}.locality-directory-toggle{display:flex;align-items:center;justify-content:center;min-height:40px;margin:8px auto 0;padding:8px 12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--brand-dark);font:inherit;font-size:15.5px;font-weight:700;cursor:pointer}.locality-directory-toggle:focus{outline:3px solid var(--focus);outline-offset:2px}.locality-directory-toggle .hide-all{display:none}@media(max-width:700px){}
.home-content-section{margin:28px 0;padding-top:4px}
.home-content-section h2{margin:0 0 9px}
.home-content-section p{margin:0 0 10px;color:var(--text-primary);font-size:16.5px;line-height:1.65}
.home-content-section p:last-child{margin-bottom:0}
.home-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.home-info-item{padding:10px 0;border-top:1px solid var(--border)}
.home-info-item h3{margin:0 0 4px;font-size:18px;line-height:1.35}
.home-info-item p{margin:0;font-size:15.5px}
.home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;counter-reset:home-step}
.home-steps li{counter-increment:home-step;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text-primary);font-weight:600}
.home-steps li::before{content:counter(home-step) ". ";color:var(--brand-dark);font-weight:800}
.home-data-note{margin-bottom:28px}
@media(max-width:700px){.home-content-section{margin:24px 0}.home-info-grid,.home-steps{grid-template-columns:1fr;gap:0}.home-info-item{padding:10px 0}.home-steps li{margin-top:7px}.home-data-note{margin-bottom:24px}}
/* Homepage UI polish: compact mobile-first utility presentation */
.home-page .hero{padding:24px 0 14px}
.home-page .hero h1{font-size:30px;line-height:1.22;margin:0 0 7px}
.home-page .hero .intro{max-width:620px;margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.home-page .location-selector{margin:0;padding:9px;background:#fff;border:1px solid #dfe7ea;border-radius:5px}
.home-page .location-selector-grid{gap:8px}
.home-page .location-selector-grid select{min-height:46px;padding:8px 10px;border-color:#cbd9dd;border-radius:7px;font-size:15.5px}
.home-page .directory{margin-top:22px}
.home-page .directory-heading{margin-bottom:11px}
.home-page .directory-heading h2{font-size:22px;line-height:1.3;margin-bottom:5px}
.home-page .directory-heading p{font-size:15.5px;line-height:1.5;margin:0 0 12px;color:var(--muted)}
.home-page .region{padding:11px;border-color:#e0e8ea;border-radius:8px}
.home-page .region h3{position:relative;margin:0 0 8px;padding:7px 10px 7px 12px;border:0;border-radius:6px;background:#edf7f6;color:#17464d;font-size:18px;font-weight:700;line-height:1.35}.home-page .region h3:before{content:"";position:absolute;top:8px;left:0;width:4px;height:19px;border-radius:2px;background:#8fbdb9}
.home-page .home-content-section{margin:30px 0;padding-top:0}
.home-page .home-content-section h2{font-size:22px;line-height:1.3;margin:0 0 8px}
.home-page .home-content-section p{font-size:16px;line-height:1.6}
.home-page .home-info-grid{gap:0 20px}
.home-page .home-info-item{padding:12px 0}
.home-page .home-info-item h3{font-size:18px;line-height:1.35}
.home-page .home-info-item p{font-size:15.5px;line-height:1.6}
.home-page .home-steps{gap:10px}
.home-page .home-steps li{display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-top:1px solid #e5ecee;border-radius:0;background:transparent;font-size:15.5px}
.home-page .home-steps li::before{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#f7f9fa;color:#075b65;font-size:13.5px}
.home-page .home-data-note{margin-top:30px;margin-bottom:26px;padding:13px 15px;border:1px solid #e0e8ea;border-left:3px solid #8fbdb9;background:#fff;border-radius:0 8px 8px 0}
.home-page .home-data-note p{margin-bottom:0;font-size:15.5px}
@media(max-width:700px){
    .home-page .hero{padding:18px 0 12px}
    .home-page .hero h1{font-size:24px;line-height:1.25;margin-bottom:6px}
    .home-page .hero .intro{font-size:15.5px;line-height:1.5}

    .home-page .location-selector{padding:8px;margin-bottom:0}
    .home-page .location-selector-grid{gap:7px}
    .home-page .location-selector-grid select{min-height:46px;font-size:15.5px}
    .home-page .directory{margin-top:18px}
    .home-page .directory-heading h2,.home-page .home-content-section h2{font-size:20px;line-height:1.3}
    .home-page .directory-heading p{font-size:14.5px;margin-bottom:11px}
    .home-page .region{padding:9px}
    .home-page .region h3,.home-page .home-info-item h3{font-size:17px;line-height:1.35;margin-bottom:7px}
    .home-page .home-content-section{margin:25px 0}
    .home-page .home-info-item{padding:11px 0}
    .home-page .home-data-note{margin-top:25px;padding:12px 13px}
}
/* Homepage latest outage section and geography links */
.latest-outages{margin:22px 0 0;padding-top:2px}
.latest-outages h2{margin:0 0 10px;font-size:22px;line-height:1.3}
.latest-outages .outage-list{border-top:1px solid #dfe7ea}
.latest-outages .outage-card{padding-inline:8px}
.outage-geography{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px; /*margin:0 0 7px;*/ font-size:16.5px;font-weight:700;line-height:1.35}
.outage-geography a{color:var(--brand-dark);text-decoration:none}
.outage-geography a:hover,.outage-geography a:focus{text-decoration:underline}
.outage-geography-province{font-size:14.5px;font-weight:600;color:var(--text-primary)!important}
.latest-outages .empty{padding:12px 0;border-top:1px solid #dfe7ea}
@media(max-width:700px){
    .latest-outages{margin-top:18px}
    .latest-outages h2{font-size:20px;line-height:1.3;margin-bottom:9px}
    .latest-outages .outage-card{padding-inline:4px}
    .outage-geography{font-size:16.5px; padding-top: 13px; padding-bottom: 8px;}
    .outage-geography-province{font-size:16.5px}
}
/* Final homepage polish */
.home-page .hero{padding-bottom:10px}.home-page .location-selector{margin-top:8px}.home-page .region{border-color:var(--border);background:#fff;padding:9px}.home-page .region-grid{gap:10px}.home-page .home-content-section{margin:26px 0}.home-page .home-info-grid{gap:8px}
@media(max-width:700px){.home-page .hero{padding-top:16px;padding-bottom:9px}.home-page .location-selector{margin-top:7px}.home-page .region{padding:8px}#province-directory-grid .geographic-link-grid{gap:0 10px}#province-directory-grid .geographic-link-grid .geographic-link{min-height:0;padding:9px 8px;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-size:15.5px;line-height:1.4}.home-page .home-content-section{margin:22px 0}.home-page .home-info-item{padding:8px 0}}

/* Global typography normalization */
.brand{font-size:18.5px;line-height:1.25}.back-to-top{font-size:21px}.province-directory-search [data-province-search-clear]{font-size:22px}

/* Power utility information foundation */
.utility-region{margin:26px 0}.utility-region h2{margin:0 0 10px}.utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.utility-link{display:grid;gap:3px;min-height:58px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);text-decoration:none}.utility-link:hover,.utility-link:focus{border-color:var(--brand);color:var(--brand-dark);background:#f7f9fa}.utility-link span{color:var(--muted);font-size:14.5px}.utility-contact h2{margin-top:0}.utility-contact-list{display:grid;gap:9px;margin:0}.utility-contact-list div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding-top:9px;border-top:1px solid var(--border)}.utility-contact-list dt{font-weight:600;color:var(--text-primary)}.utility-contact-list dd{margin:0;overflow-wrap:anywhere}.utility-section h2{margin-top:0}@media(max-width:700px){.utility-grid{grid-template-columns:1fr}.utility-region{margin:22px 0}.utility-contact-list div{grid-template-columns:1fr;gap:3px}.utility-contact-list dt{font-size:14.5px}}
/* Lichmatdien-aligned outage presentation */
:root{--outage-label-color:var(--text-primary);--outage-value-color:var(--text-primary);--outage-border:#dce4e6;--outage-date-color:#c81e1e;--outage-time-bg:#fff4dc;--outage-time-border:#efd39a;--outage-approved-bg:#f0fdf4;--outage-approved-color:#166534;--outage-approved-border:#bbf7d0;--outage-tab-active:#075e6d}
.outage-panel{padding:0;margin-top:0;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-margin-top:var(--header-height)}
.outage-section-title{margin:0 0 8px;padding:0;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.3}







.outage-value.outage-area {font-weight: 550;color:#0a747f;}
.outage-list{display:block}
.outage-date-group{margin-top:13px;border:1px solid var(--outage-border);border-radius:8px;background:#fff;overflow:hidden}
.outage-date-heading{margin:0;padding:10px 13px;border:0;background:#f4f8fa;color:var(--text-primary);font-size:15px;font-weight:620;line-height:1.45}
.outage-date-group-list{border:0;background:#fff;padding:0}
.outage-card{display:block;padding:10px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:#fff;box-shadow:none;font-size:15px;line-height:1.58;overflow:hidden;transition:background .18s ease}
.outage-card:last-child{border-bottom:0}
.outage-card:hover{background:#f7f9fa}
.outage-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:9px;align-items:start;margin:5px 0;padding:0 8px;min-width:0}
.outage-label{color:#3e464f;font-size:15px;font-weight:700;line-height:1.4;white-space:nowrap}
.outage-value{min-width:0;color:var(--outage-value-color);font-size:15px;font-weight:400;line-height:1.58;overflow-wrap:anywhere}
.outage-value.is-company{font-size:15.5px;font-weight:450}
.outage-date{color:#d10c0c;font-size:15.5px;font-weight:550}
.outage-time{display:inline-flex;align-items:baseline;gap:0;color:var(--outage-value-color);font-size:15px}
.time-chip{display:inline-block;margin:0 1px;padding:1px 6px;border:1px solid var(--outage-time-border);border-radius:4px;background:var(--outage-time-bg);color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3;vertical-align:baseline;white-space:nowrap}
.outage-area,.outage-reason{font-size:15px;line-height:1.58}
.outage-status-value{display:inline-flex;align-items:center;gap:6px}
.status-dot{position:relative;display:inline-block;flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:#94a3b8}
.status-dot.status-scheduled,.status-dot.status-completed{width:13px;height:13px;background:#16a34a}
.status-dot.status-scheduled::after,.status-dot.status-completed::after{content:"";position:absolute;left:3px;top:3px;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.status-dot.status-in-progress{background:#2563eb}
.status-dot.status-cancelled{width:13px;height:13px;background:#dc2626}
.status-dot.status-cancelled::before,.status-dot.status-cancelled::after{content:"";position:absolute;left:3px;top:6px;width:7px;height:2px;background:#fff}
.status-dot.status-cancelled::before{transform:rotate(45deg)}
.status-dot.status-cancelled::after{transform:rotate(-45deg)}
.status-badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.45;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(15,23,42,.035)}
.status-badge.status-scheduled,.status-badge.status-completed{border-color:var(--outage-approved-border);background:var(--outage-approved-bg);color:var(--outage-approved-color)}
.status-badge.status-in-progress{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.status-badge.status-cancelled{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.empty{padding:18px 2px;color:var(--muted);font-size:15px;line-height:1.55}
.latest-outages .outage-list{border-top:0}
.latest-outages .outage-card{padding-inline:0}
.locality-power-utility{border-radius:0;box-shadow:none;border-color:#d8e1e2;border-left:3px solid #86aaa5;background:#fff}
.context-navigation{border-radius:0;box-shadow:none;background:#fff}
@media(max-width:700px){
    .outage-section-title{font-size:20px;line-height:1.28}




    .outage-date-group{margin-top:18px;border:0;border-radius:0;background:transparent;overflow:visible}
    .outage-date-heading{margin:0;padding:0 0 8px;border-bottom:1px solid #ddd;background:transparent;color:#c01818;font-size:16px;font-weight:700;line-height:1.45}
    .outage-date-group-list{border:1px solid var(--outage-border);border-top:0;background:#fff}
    .outage-card{padding:10px 0;border-bottom:1px solid var(--border);font-size:15px;line-height:1.58}
    .outage-row{grid-template-columns:100px minmax(0,1fr);gap:8px;margin:5px 0;padding-inline:8px}
    .outage-label{font-size:15px;line-height:1.4}
    .outage-value,.outage-value.is-company,.outage-date,.outage-area,.outage-reason,.outage-time{font-size:16px;line-height:1.55}
    .outage-value.is-company,.outage-date{font-weight:500}
    .time-chip{font-size:14px}
    .status-badge{font-size:13px}
}
@media(max-width:400px){
    .outage-row{grid-template-columns:100px minmax(0,1fr);gap:8px}
    .outage-value,.outage-value.is-company,.outage-date,.outage-area,.outage-reason,.outage-time{font-size:15px}
}
/* In-page outage filter controls */
.outage-filter-empty{margin-top:12px}

/* Single sticky outage tablist */
.outage-tabs{position:sticky;top:var(--header-height);z-index:900;width:100%;margin:2px 0 10px;padding:7px 12px 6px 8px;background:var(--surface);border-bottom:1px solid #e6edf2;box-shadow:0 4px 10px rgba(15,35,45,.035)}
.outage-tabs .tabs{display:flex;align-items:center;justify-content:flex-start;gap:0;width:100%;min-width:0;min-height:0;margin:0;padding:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.outage-tabs .tabs::-webkit-scrollbar{display:none}
.outage-tabs .tab{display:inline-flex;align-items:center;justify-content:center;gap:3px;flex:0 0 auto;min-height:26px;padding:2px 0 3px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#475569;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap;cursor:pointer}
.outage-tabs .tab:hover,.outage-tabs .tab.active{border-bottom-color:var(--outage-tab-active);background:transparent;color:var(--outage-tab-active)}
.outage-tabs .tab:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.outage-tabs .tab small{margin-left:0;color:inherit;font-size:inherit;font-weight:600;font-variant-numeric:tabular-nums}
.outage-tabs .tab-separator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-inline:5px;color:#cbd5e1;font-size:14px;font-weight:600;line-height:1;pointer-events:none;user-select:none}
@media(max-width:700px){
    .outage-tabs{padding:7px 8px 6px 4px}
    .outage-tabs .tabs{display:flex;justify-content:flex-start;gap:0;overflow-x:auto}
    .outage-tabs .tab{width:auto;min-width:max-content;padding:8px 0;font-size:14px;line-height:1.25}
    .outage-tabs .tab-separator{margin-inline:5px;font-size:14px}
}
@media(max-width:389px){
    .outage-tabs .tabs{display:flex;gap:0;overflow-x:auto}
    .outage-tabs .tab{width:auto;flex:0 0 auto;padding-inline:0}
    .outage-tabs .tab-separator{margin-inline:5px}
}

/* Preserve approved back-to-top offset */
.back-to-top{right:36px;bottom:44px}
@media(max-width:700px){.back-to-top{right:32px;bottom:40px}}

/* Data-driven post-outage content */
.post-outage-section{width:100%;max-width:none;min-width:0;box-sizing:border-box;margin:26px 0;padding-top:2px}
.post-outage-section h2{margin:0 0 9px;font-size:22px;line-height:1.3}
.post-outage-section p{margin:0 0 9px;line-height:1.58}
.post-outage-section p:last-child{margin-bottom:0}
.outage-insight-list{display:flex;flex-wrap:wrap;gap:5px 20px;margin:8px 0 8px;padding-left:19px;color:var(--text)}
.outage-summary-table-wrap{width:100%;max-width:none;min-width:0;box-sizing:border-box;overflow-x:auto}
.outage-summary-table{width:100%;max-width:none;min-width:0;box-sizing:border-box;border-collapse:collapse;background:var(--surface);font-size:15px}
.outage-summary-table th,.outage-summary-table td{padding:9px 10px;border:1px solid var(--border);text-align:left;vertical-align:top}
.outage-summary-table thead th{background:#f4f8fa;color:var(--text-strong);font-weight:700}
.outage-summary-table tbody th{color:var(--outage-date-color);font-weight:700;white-space:nowrap}
.post-outage-note{color:var(--muted);font-size:14px}
.outage-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 24px;margin:8px 0 0;padding-left:19px}
.outage-faq-list{display:grid;gap:10px}
.outage-faq-item{padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}
.outage-faq-item h3{margin:0 0 4px;color:var(--text-primary);font-size:18px;line-height:1.35}
.outage-faq-item p{margin:0}
.outage-next-link-list{display:flex;flex-wrap:wrap;gap:7px}
.outage-next-link-list .context-link{display:inline-flex;align-items:center;min-height:40px;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--surface);text-decoration:none}
@media(max-width:700px){
    .post-outage-section{margin:22px 0}
    .outage-summary-table{font-size:14px}
    .outage-summary-table th,.outage-summary-table td{padding:8px 7px}
    .outage-area-list{grid-template-columns:1fr;gap:4px}
    .outage-next-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .outage-next-link-list .context-link{min-width:0;overflow-wrap:anywhere}
}
/* Province outage hub */
.province-locality-table th:first-child{width:52%}
.province-locality-table td,.province-locality-table thead th:not(:first-child){text-align:center}
.province-locality-table tbody th{white-space:normal}
.province-locality-table a,.province-utility-links a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
.province-locality-more{margin-top:10px}
.province-locality-more summary{cursor:pointer;color:var(--link);font-weight:700}
.province-utility-links{display:flex;flex-wrap:wrap;gap:7px 18px;margin:9px 0;padding-left:19px}
.province-utility-links li{min-width:220px}
.province-utility-hotline{margin-top:12px}
@media(max-width:700px){
    .province-locality-table th:first-child{width:46%}
    .province-locality-table th,.province-locality-table td{padding:8px 5px}
    .province-utility-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}
    .province-utility-links li{min-width:0}
}

/* Professional public footer */
.site-footer{margin-top:32px;border-top:1px solid var(--border);background:#eef5f4;color:var(--muted);font-size:14px}
.site-footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1.15fr;gap:28px;padding:24px 0 20px}
.site-footer-brand,.site-footer-group{min-width:0}
.site-footer-name{display:inline-block;margin-bottom:7px;color:var(--brand-dark);font-size:18px;font-weight:800;line-height:1.25;text-decoration:none}
.site-footer p{margin:0;line-height:1.5}
.site-footer-group{display:grid;align-content:start;gap:8px}
.site-footer h2{margin:0;color:var(--text-strong);font-size:14px;line-height:1.3}
.site-footer a{color:var(--brand-dark);text-decoration:none}
.site-footer a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.site-footer a:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}
.site-footer-bottom{display:grid;gap:10px;padding:13px 80px 16px 0;border-top:1px solid #d6e2e0;color:var(--muted);font-size:13px;line-height:1.45}
.site-footer-disclaimer,.site-footer-copyright{margin:0}
@media(max-width:700px){
    .site-footer-inner{grid-template-columns:1fr 1fr;gap:20px 18px;padding:24px 0 18px}
    .site-footer-brand{grid-column:1/-1}
}
@media(max-width:430px){
    .site-footer{margin-top:28px;font-size:14px}
    .site-footer-inner{grid-template-columns:1fr;gap:20px;padding:24px 0 18px}
    .site-footer-brand{grid-column:auto}
    .site-footer-group{gap:8px}
    .site-footer-group a{display:block;padding:1px 0;line-height:1.5}
    .site-footer-bottom{gap:8px;padding:12px 80px 15px 0;font-size:13px}
}
.geographic-link-grid .geographic-link{
    display:flex;
    align-items:center;
    min-width:0;
    min-height:44px;
    padding:8px 10px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--surface);
    color:var(--text);
    font-size:16px;
    font-weight:500;
    line-height:1.35;
    overflow-wrap:anywhere;
    text-decoration:none;
    cursor:pointer;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.geographic-link-grid .geographic-link:hover,
.geographic-link-grid .geographic-link:focus-visible{
    border-color:var(--brand);
    background:#f7f9fa;
    color:var(--brand-dark);
}
.geographic-link-grid .geographic-link:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){.geographic-link-grid .geographic-link,.latest-outages .outage-card-compact{transition:none}}
.geographic-link-grid-heading{
    margin:0 0 10px;
    color:var(--text-primary);
    font-size:22px;
    line-height:1.3;
}
.site-header a:focus,.site-footer a:focus,.tab:focus,.geographic-link:focus,.unit-link:focus,.context-link:focus,.lookup select:focus,.lookup button:focus{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:700px){
    .geographic-link-grid-heading{font-size:20px;line-height:1.3}
    .geographic-link-grid .geographic-link{
        min-height:44px;
        padding:8px 9px;
        font-size:16px;
        font-weight:500;
        line-height:1.35;
    }
}


/* Homepage latest outages: compact mobile-first presentation */

.latest-outages h2{margin:0 0 14px;font-size:22px;font-weight:700;line-height:1.3}
.latest-outages .outage-list{display:grid;gap:12px}
.latest-outages .outage-date-group{margin:0;border:0;border-radius:0;background:transparent;overflow:visible}
.latest-outages .outage-date-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.latest-outages .outage-date-group-list{display:grid;gap:12px;padding:0;border:0;background:transparent}
.latest-outages .outage-card-compact{box-sizing:border-box;display:block;width:100%;padding:13px;border:1px solid #e2eaf0;border-radius:10px;background:#fff;color:var(--text);text-decoration:none;box-shadow:none;overflow:hidden;cursor:default;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.latest-outages .outage-card-compact[href]{cursor:pointer}
.latest-outages .outage-compact-title{color:var(--text-primary);font-size:15.5px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.latest-outages .outage-compact-area{margin-top:0;color:var(--text-primary);font-size:14px;font-weight:400;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.latest-outages .outage-compact-meta{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px;row-gap:7px;margin-top:7px;font-size:14px;line-height:1.3}
.latest-outages .outage-compact-date{flex:0 0 100%;color:#c62828;font-size:15px;font-weight:700;line-height:1.3}
.latest-outages .outage-compact-time{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;color:var(--text-primary);font-size:14px;font-weight:400;line-height:1.3;white-space:nowrap}
.latest-outages .outage-compact-time .time-chip{margin:0;padding:2px 6px;border:1px solid #f4c76b;border-radius:4px;background:#fff4d6;color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}
.latest-outages .outage-compact-status{display:inline-flex;align-items:center;gap:5px}
.latest-outages .outage-compact-status .status-dot{width:7px;height:7px}
.latest-outages .outage-compact-status .status-dot.status-scheduled,.latest-outages .outage-compact-status .status-dot.status-completed{display:none}
.latest-outages .outage-compact-status .status-badge{padding:3px 9px;border-radius:999px;font-size:13px;font-weight:500;line-height:1.2}
.latest-outages .outage-compact-status .status-badge.status-scheduled,.latest-outages .outage-compact-status .status-badge.status-completed{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.latest-outages .outage-compact-status .status-badge.status-scheduled::before,.latest-outages .outage-compact-status .status-badge.status-completed::before{content:"";width:13px;height:13px;border-radius:999px;background:#16a34a;flex:0 0 auto;background-image:linear-gradient(135deg,transparent 52%,#fff 52% 64%,transparent 64%),linear-gradient(45deg,transparent 48%,#fff 48% 62%,transparent 62%);background-size:8px 7px,5px 8px;background-position:3px 4px,2px 5px;background-repeat:no-repeat}
.latest-outages .outage-card-compact:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(hover:hover) and (pointer:fine){
    .latest-outages .outage-card-compact[href]:hover{border-color:#d4e3eb;background:#f7f9fa;box-shadow:0 7px 18px rgba(15,23,42,.05);transform:translateY(-1px)}
}/* Public provincial electricity information pages */
.provincial-utility-page{padding-bottom:18px}

.provincial-utility-intro h1{max-width:780px}
.provincial-contact{}
.provincial-contact h2{margin-top:0}
.provincial-hotline,.provincial-outage-cta,.provincial-source{}
.provincial-hotline-value{font-size:16.5px}
.provincial-local-utility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:8px 0 0;padding:0;list-style:none}
.provincial-local-utility-list li{min-width:0;padding:9px 0;border-top:1px solid var(--border)}
.provincial-local-utility-list a{font-weight:700;color:var(--link);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.provincial-local-utility-list span{display:block;margin-top:2px;color:var(--muted);font-size:13.5px}
.provincial-utility-page .utility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.province-utility-primary-link{margin-top:12px}
@media(max-width:700px){
    .provincial-utility-page{padding-bottom:10px}
    .utility-content-shell--province .provincial-local-utility-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
    .utility-content-shell--province .provincial-local-utility-list li{padding:7px 0}
    .utility-content-shell--province .provincial-utility-page .utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
    .utility-content-shell--province .provincial-utility-page .utility-grid .unit-link{min-width:0;min-height:42px;padding:7px 6px;overflow-wrap:anywhere}
}
@media(max-width:319px){
    .utility-content-shell--province .provincial-utility-page .utility-grid{grid-template-columns:1fr}
}
/* Shared public content UI system */
@media (max-width:700px){
    .content-shell{display:block}
    .content-shell__main{min-width:0}
    .content-shell__sidebar{display:none}
}
@media (min-width:701px){
    .content-shell{
        --content-border:#dce4e6;
        --content-divider:#e5eaec;
        --content-hover:#f7f9fa;
        --content-link:var(--text-primary);
    }
    body:has(.content-shell){background:#f5f8f8}
    .site-header .wrap,.site-footer .wrap,main.wrap:has(.content-shell){width:min(1200px,calc(100% - 32px))}
    .content-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}
    .content-shell__main{min-width:0}
    .content-shell__sidebar{min-width:0;align-self:start;padding:28px 0 20px}
    .home-page .content-shell__sidebar{padding:0}

    .content-shell__main > .breadcrumbs,
    .content-shell__main > .provincial-utility-page > .breadcrumbs{margin:14px 0 0;font-size:14px}
    .content-shell__main > .page-head,
    .content-shell__main > .provincial-utility-page > .page-head{padding:20px 0 24px}
    .content-shell__main > .page-head h1,
    .content-shell__main > .provincial-utility-page > .page-head h1{max-width:780px;margin:0 0 8px;font-size:30px;line-height:1.22}
    .content-shell__main > .page-head .page-description,
    .content-shell__main > .page-head .intro,
    .content-shell__main > .provincial-utility-page > .page-head .page-description{margin:0;color:#111;font-size:16px;line-height:1.6}
    .content-shell__main > .page-head .meta,
    .content-shell__main > .provincial-utility-page > .page-head .meta{margin:0 0 4px;font-size:14px}

    .content-shell__main > .panel,
    .content-shell__main > .location-selector,
    .content-shell__main > .provincial-utility-page > .panel{
        max-width:none;margin:0;padding:20px 22px;border:1px solid var(--content-border);
        border-radius:0px;background:#fff;box-shadow:0 1px 2px rgba(23,55,60,.03);
    }
    .content-shell__main > .outage-panel{scroll-margin-top:var(--header-height)}

    .content-shell__main > .post-outage-section,
    .content-shell__main > .home-content-section,
    .content-shell__main > .utility-section,
    .content-shell__main > .directory-section,
    .content-shell__main > .provincial-utility-page > .post-outage-section,
    .content-shell__main > .provincial-utility-page > .home-content-section,
    .content-shell__main > .provincial-utility-page > .utility-section,
    .content-shell__main > .provincial-utility-page > .directory-section{
        max-width:none;margin:30px 0 0;padding-top:0;
    }
    .content-shell__main > .post-outage-section h2,
    .content-shell__main > .home-content-section h2,
    .content-shell__main > .utility-section h2,
    .content-shell__main > .directory-section h2,
    .content-shell__main > .provincial-utility-page > .post-outage-section h2,
    .content-shell__main > .provincial-utility-page > .home-content-section h2,
    .content-shell__main > .provincial-utility-page > .utility-section h2,
    .content-shell__main > .provincial-utility-page > .directory-section h2{
        margin:0 0 8px;font-size:22px;line-height:1.3; padding-top: 10px;
    }
    #provincial-outage-cta-title {
        padding-top: 10px;}
    #utility-service-areas-title{padding-left: 8px;}

    .content-shell__main > .post-outage-section p,
    .content-shell__main > .home-content-section p,
    .content-shell__main > .utility-section p,
    .content-shell__main > .directory-section p{
        /*max-width:760px;*/ color:var(--text-primary);font-size:15.5px;line-height:1.6;
    }
    .directory-section,.related-navigation{border-top:1px solid var(--content-divider)}
    .directory-section > h2,
    .directory-section > .section-heading h2,
    .related-navigation > .section-heading{padding-top:18px}
    .directory-section > .section-heading{margin:0 0 14px}
    .directory-section > .section-heading h2{margin:0 0 6px}
    .directory-section > .section-heading p,
    .directory-section > .post-outage-note,
    .directory-section > p{margin:0 0 12px;color:var(--muted);font-size:14.5px;line-height:1.55}

    .directory-section .geographic-link-grid,
    .directory-section .utility-grid{
        display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px;
    }
    .directory-section .geographic-link,
    .directory-section .unit-link{
        display:flex;align-items:center;min-width:0;min-height:0;padding:8px;
        border:0;border-top:1px solid var(--content-divider);border-radius:0;
        background:transparent;color:var(--content-link);font-size:15px;font-weight:500;
        line-height:1.4;text-decoration:none;overflow-wrap:anywhere;
        transition:background-color .16s ease,color .16s ease;
    }
    .directory-section .geographic-link:hover,
    .directory-section .geographic-link:focus-visible,
    .directory-section .unit-link:hover,
    .directory-section .unit-link:focus-visible{
        background:var(--content-hover);color:var(--brand-dark);
        text-decoration:underline;text-underline-offset:3px;
    }
    .directory-section .geographic-link:focus-visible,
    .directory-section .unit-link:focus-visible{outline:3px solid var(--focus);outline-offset:1px}

    .province-utility-links,.provincial-local-utility-list{
        display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;
        margin:10px 0 0;padding:0;list-style:none;
    }
    .province-utility-links li,.provincial-local-utility-list li{
        min-width:0;padding:9px 0;border-top:1px solid var(--content-divider);
    }
    .province-utility-links a,.provincial-local-utility-list a{
        display:block;color:var(--content-link);font-size:15px;font-weight:600;
        line-height:1.4;text-decoration:none;overflow-wrap:anywhere;
    }
    .province-utility-links a:hover,.province-utility-links a:focus-visible,
    .provincial-local-utility-list a:hover,.provincial-local-utility-list a:focus-visible{
        color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px;
    }
    .provincial-local-utility-list span{display:block;margin-top:3px;color:var(--muted);font-size:13.5px;font-weight:400}
    .province-utility-hotline{margin-top:16px;color:var(--muted);font-size:14px}
    .province-utility-primary-link{margin:16px 0 0;padding:12px 0px; /*border-left:3px solid #8fbdb9;background:#fff */}
    .province-utility-primary-link a{color:var(--brand-dark);font-weight:700;text-decoration:none}

    .content-shell__main > .utility-directory{
        max-width:none;margin-top:28px;padding:0;border:0;background:transparent;box-shadow:none;
    }
    .utility-directory > .section-heading{margin:0 0 16px}
    .utility-directory .directory-group{margin:0;padding:18px 0 0;border-top:1px solid var(--content-divider)}
    .utility-directory .directory-group + .directory-group{margin-top:22px}
    .utility-directory .directory-group h3{margin:0 0 9px;color:var(--text-primary);font-size:18px;line-height:1.35}
    .utility-directory .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
    .utility-directory .utility-link{
        display:grid;gap:3px;min-width:0;min-height:0;padding:10px 8px;
        border:0;border-top:1px solid var(--content-divider);border-radius:0;
        background:transparent;color:var(--text);text-decoration:none;
    }
    .utility-directory .utility-link:hover,.utility-directory .utility-link:focus-visible{
        background:var(--content-hover);color:var(--brand-dark);
    }
    .utility-directory .utility-link strong{font-size:15px;line-height:1.4}
    .utility-directory .utility-link span{color:var(--muted);font-size:13.5px;line-height:1.35}

    .content-shell__main > .provincial-utility-page{max-width:none;padding-bottom:22px}
    .provincial-utility-page .provincial-contact,
    .provincial-utility-page .provincial-outage-cta,
    .provincial-utility-page .provincial-source{max-width:none}
    .provincial-contact .provincial-hotline{
        max-width:none;margin:18px -22px -20px;padding:16px 22px 18px;
        border-top:1px solid var(--content-border);border-left:3px solid #8fbdb9;background:#fff;
    }
    .provincial-hotline h2{margin:0 0 7px;font-size:22px;line-height:1.3}
    .provincial-hotline p{margin:0 0 6px;font-size:14.5px;line-height:1.55}
    .provincial-hotline p:last-child{margin-bottom:0}
    .content-shell__main > .provincial-utility-page > .post-outage-section{margin-top:28px;padding-left: 18px;}

    .outage-geography{padding-left: 5px; padding-top: 10px; padding-bottom: 5px;}

    .utility-contact-list{display:grid;gap:0;margin:0}
    .utility-contact-list > div{
        display:grid;grid-template-columns:minmax(160px,190px) minmax(0,1fr);gap:16px;
        padding:10px 0;border-top:1px solid var(--content-divider);
    }
    .utility-contact-list > div:first-child{border-top:0;padding-top:0}
    .utility-contact-list dt{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.45}
    .utility-contact-list dd{min-width:0;margin:0;color:var(--text);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
    .utility-contact-list a{color:var(--brand-dark);text-decoration:none}
    .utility-contact-list a:hover,.utility-contact-list a:focus-visible{text-decoration:underline;text-underline-offset:3px}

    .utility-section.directory-section .utility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .utility-summary{max-width:none}
    .utility-summary-item{padding:13px 0;border-top:1px solid var(--content-divider)}
    .utility-summary-item:first-of-type{border-top:0;padding-top:0}
    .utility-summary-item h3{margin:0 0 8px;font-size:18px;line-height:1.35}
    .utility-summary-action{margin:10px 0 0!important}
    .utility-summary-link{color:var(--brand-dark);font-weight:700;text-decoration:none}
    .utility-summary-link:hover,.utility-summary-link:focus-visible{text-decoration:underline;text-underline-offset:3px}

    .related-navigation{margin-top:30px}
    .related-navigation .section-heading{margin:0 0 8px;padding-top:18px}
    .related-navigation .section-heading h2{margin:0 0 5px;font-size:22px;line-height:1.3}
    .related-navigation .section-heading p{margin:0;color:var(--muted);font-size:14px}
    .related-navigation-links{display:flex;flex-wrap:wrap;gap:6px 14px}
    .related-navigation-links .context-link{
        display:inline-flex;align-items:center;min-height:32px;padding:4px 0;border:0;
        background:transparent;color:var(--content-link);font-size:15px;text-decoration:none;
    }
    .related-navigation-links .context-link:hover,
    .related-navigation-links .context-link:focus-visible{
        color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px;
    }
    .related-navigation-links .context-link:first-child{padding:6px 10px;border-radius:5px;background:#fff;font-weight:700}

    .source-note{
        padding:14px 16px!important;border-top:0!important;border-left:3px solid #8fbdb9;background:#fff;
    }
    .source-note h2{padding-top:0!important}
    .source-note p{margin:0 0 7px;font-size:14.5px;line-height:1.55}
    .source-note p:last-child{margin-bottom:0}

    .outage-panel .outage-tabs{margin:0 -22px 12px;padding-left:22px;padding-right:22px}
    .outage-panel .outage-list{border-top:1px solid var(--content-divider)}
    .outage-summary-table{border-color:var(--content-border)}
    .outage-summary-table th,.outage-summary-table td{border-color:var(--content-border)}
    .outage-summary-table thead th{background:#f7f9fa}
    .outage-faq-item{border-top-color:var(--content-divider);background:#fff}
    .content-shell__main a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

    .context-sidebar-nationwide{
        margin-top:20px;
        padding-top:2px;
        border-top:1px solid var(--content-divider);
    }
    .context-sidebar-nationwide-title{
        margin:0 0 10px;
        padding:0 0 8px;
        color:var(--brand-dark);
        font-size:16px;
        font-weight:700;
        line-height:1.35;
        letter-spacing:.045em;
        text-transform:uppercase;
    }
    .context-sidebar-nationwide-title:after{
        content:"";
        display:block;
        width:42px;
        height:2px;
        margin-top:8px;
        border-radius:2px;
        background:#8fbdb9;
    }
    .context-sidebar-regions{display:grid;gap:10px}
    .context-sidebar-province-list{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
        gap:5px 6px;
        margin:0;
        padding:0;
        list-style:none;
    }
    .context-sidebar-province-list li{
        flex:0 0 auto;
        max-width:100%;
    }
    .context-sidebar-province-link{
        display:block;
        min-width:0;
        max-width:100%;
        padding:4px 7px;
        border-radius:5px;
        background:#fff;
        color:#245861;
        font-size:14.5px;
        font-weight:500;
        line-height:1.35;
        text-decoration:none;
        overflow-wrap:anywhere;
        transition:background-color .16s ease,color .16s ease;
    }
    .context-sidebar-province-link:hover,
    .context-sidebar-province-link:focus-visible{
        background:#f7f9fa;
        color:var(--brand-dark);
        text-decoration:underline;
        text-underline-offset:3px;
    }
    .context-sidebar-province-link.is-current{
        background:#f7f9fa;
        color:var(--brand-dark);
        font-weight:700;
    }
    .context-sidebar{display:grid;gap:10px;color:var(--text)}
    .context-sidebar-section,.context-sidebar-region{
        min-width:0;padding:15px;border:1px solid var(--content-border);border-radius:9px;
        background:#fff;box-shadow:0 1px 2px rgba(23,55,60,.025);
    }
    .context-sidebar-section h2,.context-sidebar-region h3{
        margin:0 0 10px;padding:0 0 8px;color:var(--text-strong);
        font-size:16px;font-weight:700;line-height:1.35;
    }
    .context-sidebar-section h2:after,.context-sidebar-region h3:after{
        content:"";display:block;width:42px;height:2px;margin-top:8px;border-radius:2px;background:#8fbdb9;
    }
    .context-sidebar-locality-heading span,.context-sidebar-two-line-heading span{display:block}
    .context-sidebar-locality-heading .context-sidebar-locality-heading-place,.context-sidebar-two-line-heading .context-sidebar-two-line-heading-place{margin-top:2px}
    .context-sidebar-link-list,.context-sidebar-flow-list{margin:0;padding:0;list-style:none}
    .context-sidebar-link-list{display:grid;gap:2px}
    .context-sidebar-link{
        display:flex;padding:7px 8px;border-radius:5px;color:var(--text-primary);
        font-size:15px;font-weight:500;line-height:1.45;text-decoration:none;overflow-wrap:anywhere;
    }
    .context-sidebar-link:hover,.context-sidebar-link:focus-visible{
        background:var(--content-hover);color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px;
    }
    .context-sidebar-flow-list{display:flex;flex-wrap:wrap;gap:5px 6px}
    .context-sidebar-flow-list li{flex:0 0 auto;max-width:100%}
    .context-sidebar-flow-link{
        display:block;max-width:100%;padding:4px 7px;border-radius:5px;background:#fff;
        color:var(--content-link);font-size:15px;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;
    }
    .context-sidebar-flow-link:hover,.context-sidebar-flow-link:focus-visible{
        background:#f7f9fa;color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px;
    }
    .context-sidebar-locality-link{border:1px solid var(--border);background:#f7fbfb}
    .context-sidebar-locality-link:hover,.context-sidebar-locality-link:focus-visible{background:var(--content-hover);color:var(--brand-dark)}
    .context-sidebar__more{display:inline-flex;align-items:center;margin-top:9px;padding:0;border:0;background:transparent;color:var(--brand-dark);font:inherit;font-size:14.5px;font-weight:600;line-height:1.35;text-align:left;text-decoration:none;cursor:pointer}
    .context-sidebar__more:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.context-sidebar__more:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
    .context-sidebar a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
}
/* Desktop homepage V2:polished surface system and full province navigation */ @media (max-width:700px){.home-page .home-layout,.home-page .home-main{display:contents}.home-page .home-sidebar{display:none}}@media (min-width:701px){body:has(main.wrap>.home-page){background:#f5f8f8}main.wrap:has(>.home-page){width:min(1200px,calc(100% - 32px))}body:has(main.wrap>.home-page) .site-footer .wrap{width:min(1200px,calc(100% - 32px))}.home-page{--home-border:#dbe6e4;--home-divider:#e7efee;--home-hover:#f2f8f7}.home-page .home-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.home-page .home-main{display:block;min-width:0;color:var(--text-primary);font-size:16px;line-height:1.6}.home-page .hero{padding:28px 0 24px}.home-page .hero h1{max-width:760px;margin:0 0 8px;color:var(--text-primary);font-size:30px;font-weight:700;line-height:1.22;letter-spacing:-.01em}.home-page .hero .intro{max-width:680px;margin:0;color:var(--muted);font-size:16px;line-height:1.55}.home-page .location-selector{margin:0;padding:18px 20px 20px;border:1px solid var(--home-border);border-radius:11px;background:#fff;box-shadow:0 1px 2px rgba(23,55,60,.035)}.home-page .location-selector-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;}.home-page .location-selector-heading .eyebrow{margin:0 0 3px;color:var(--brand-dark);font-size:14px;font-weight:800}.home-page .location-selector-heading h2{margin:0;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.3}.home-page .location-selector-note{align-self:center;flex:0 1 270px;margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;text-align:right}.home-page .location-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-page .location-field{min-width:0}.home-page .location-field>span{color:var(--text-primary);font-size:14.5px;font-weight:600}.home-page .location-field em{color:var(--muted);font-size:12.5px;font-style:normal;font-weight:400}.home-page .location-selector select{width:100%;min-width:0;min-height:44px;padding:8px 10px;border-color:#c7d8d6;border-radius:7px;background:#fff;color:var(--text-primary);font-size:15.5px}.home-page .directory{margin:32px 0 0;padding:22px 22px 24px;border:1px solid var(--home-border);border-radius:11px;background:#fff;box-shadow:0 1px 2px rgba(23,55,60,.03)}.home-page .directory-heading{margin:0 0 16px;padding:0;border:0}.home-page .directory-heading h2{margin:0 0 6px;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.3}.home-page .directory-heading p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.5}.home-page .province-directory-search{margin:0 0 20px}.home-page .province-directory-search input{min-height:44px;padding:8px 44px 8px 11px;border-color:#c7d8d6;border-radius:7px;background:#fff;font-size:15.5px}.home-page .region-grid{display:block;grid-template-columns:1fr;gap:0}.home-page .region{min-width:0;margin:0;padding:14px 15px;border:1px solid var(--home-border);border-radius:8px;background:#fff}.home-page .region+.region{margin-top:12px;padding-top:14px;border-top:1px solid var(--home-border)}#province-directory-grid .geographic-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}#province-directory-grid .geographic-link-grid .geographic-link{display:flex;align-items:center;min-width:0;min-height:38px;padding:9px 8px;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-size:15.5px;font-weight:500;line-height:1.4;overflow-wrap:anywhere;text-decoration:none;transition:background-color .16s ease,color .16s ease}#province-directory-grid .geographic-link-grid .geographic-link:hover,#province-directory-grid .geographic-link-grid .geographic-link:focus-visible{background:var(--content-hover);color:var(--brand-dark)}#province-directory-grid .geographic-link-grid .geographic-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.home-page .latest-outages{max-width:none;margin:32px 0 0;padding:0;border:0}.home-page .latest-outages h2{margin:0 0 12px;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.3}.home-page .latest-outages .outage-list{display:grid;gap:8px;border:0}.home-page .latest-outages .outage-date-group{margin:0;border:0;border-radius:0;background:transparent;overflow:visible}.home-page .latest-outages .outage-date-group-list{display:grid;gap:8px;padding:0;border:0;background:transparent}.home-page .latest-outages .outage-card-compact{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(135px,.65fr) minmax(185px,.9fr);grid-template-areas:"title date time" "area date status";column-gap:20px;row-gap:5px;align-items:center;width:100%;min-width:0;padding:13px 15px;border:1px solid var(--home-border);border-radius:9px;background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(23,55,60,.025);overflow:hidden;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.home-page .latest-outages .outage-card-compact[href]:hover{border-color:#b9d4d0;background:#f7f9fa;box-shadow:0 2px 8px rgba(23,55,60,.06)}.home-page .latest-outages .outage-card-compact:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.home-page .latest-outages .outage-compact-title{grid-area:title;min-width:0;color:var(--text-primary);font-size:15.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.home-page .latest-outages .outage-compact-area{grid-area:area;min-width:0;margin:0;color:var(--text-primary);font-size:14px;line-height:1.45}.home-page .latest-outages .outage-compact-meta{display:contents}.home-page .latest-outages .outage-compact-date{grid-area:date;align-self:center;min-width:0;color:#c62828;font-size:14.5px;font-weight:600;line-height:1.4}.home-page .latest-outages .outage-compact-time{grid-area:time;justify-self:start;margin:0;color:var(--text-primary);font-size:14px;line-height:1.35;white-space:nowrap}.home-page .latest-outages .outage-compact-time .time-chip{margin:0;padding:3px 7px;border:1px solid #edc36b;border-radius:4px;background:#fff4d6;color:#5c3b00;font-size:14px;font-weight:700;line-height:1.2}.home-page .latest-outages .outage-compact-status{display:inline-flex;align-items:center;gap:5px;justify-self:start;margin:0}.home-page .latest-outages .outage-compact-status .status-badge{padding:3px 8px;border-radius:6px;font-size:13.5px;font-weight:600;line-height:1.25}.home-page .latest-outages .empty{padding:14px 10px;border:1px solid var(--home-border);border-radius:8px;background:#fff}.home-page .home-content-section{margin:32px 0 0;padding:0;border:0}.home-page .home-content-section+.home-content-section{margin-top:30px}.home-page .home-content-section h2{margin:0 0 9px;color:var(--text-strong);font-size:22px;font-weight:700;line-height:1.3}.home-page .home-content-section p{margin:0 0 10px;color:var(--text-primary);font-size:16px;line-height:1.62}.home-page .home-info-grid{gap:0 28px}.home-page .home-info-item{padding:15px 0;border-top:1px solid var(--home-divider)}.home-page .home-info-item h3{margin:0 0 5px;color:var(--text-primary);font-size:18px;line-height:1.35}.home-page .home-info-item p{margin:0;font-size:15.5px;line-height:1.6}.home-page .home-data-note{margin-top:32px;margin-bottom:22px;padding:15px 17px;border:1px solid #cfe3df;border-left:3px solid #6fa9a2;border-radius:8px;background:#fff}.home-page .home-data-note h2{margin-bottom:6px}.home-page .home-data-note p{margin:0;color:var(--text-primary);font-size:15.5px}.home-page .home-sidebar{display:block;align-self:start;min-width:0;padding:28px 0 20px;border:0;background:transparent;color:var(--text)}.home-sidebar-section+.home-sidebar-section{margin-top:20px;padding-top:0;border-top:0}.home-sidebar-section:first-child{padding:16px 16px 17px;border:1px solid var(--home-border);border-radius:9px;background:#fff;box-shadow:0 1px 2px rgba(23,55,60,.03)}.home-sidebar-section:last-child{padding:2px 2px 0}.home-sidebar h2{margin:0 0 10px;color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.35;letter-spacing:.04em;text-transform:uppercase}.home-sidebar h3{margin:0 0 10px;padding:0 0 8px;border:0;color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.35}.home-sidebar h3:after{content:"";display:block;width:42px;height:2px;margin-top:8px;border-radius:2px;background:#8fbdb9}.home-sidebar-list,.home-sidebar-province-list{margin:0;padding:0;list-style:none}.home-sidebar-list li,.home-sidebar-province-list li{min-width:0}.home-sidebar-list li+li{margin-top:2px}.home-sidebar-province-list li{flex:0 0 auto;max-width:100%}.home-sidebar-link,.home-sidebar-province-link{display:flex;align-items:flex-start;min-width:0;color:var(--text);font-size:15px;font-weight:500;line-height:1.45;overflow-wrap:anywhere;text-decoration:none;transition:background-color .16s ease,color .16s ease}.home-sidebar-link{padding:7px 8px;border-radius:5px}.home-sidebar-link:hover,.home-sidebar-link:focus-visible{background:var(--home-hover);color:var(--brand-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.home-sidebar-regions{display:grid;gap:10px}.home-sidebar-region{padding:15px;border:1px solid var(--home-border);border-radius:9px;background:#fff;box-shadow:0 1px 2px rgba(23,55,60,.025)}.home-sidebar-region+.home-sidebar-region{margin-top:0;padding-top:15px;border-top:1px solid var(--home-border)}.home-sidebar-province-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px 6px}.home-sidebar-province-link{display:block;min-width:0;max-width:100%;min-height:0;padding:4px 7px;border-radius:5px;background:#fff;color:#245861;font-size:15px;line-height:1.35;white-space:normal}.home-sidebar-province-link:hover,.home-sidebar-province-link:focus-visible{background:#f7f9fa;color:var(--brand-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.home-sidebar-copy{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.home-sidebar-feature-link{color:var(--brand-dark);font-size:14.5px;font-weight:700;text-decoration:none}.home-sidebar-feature-link:hover,.home-sidebar-feature-link:focus-visible{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.home-sidebar a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}}

/* Two-domain semantic content system */
.content-block{
    --family-accent:var(--outage-accent);
    --family-strong:var(--outage-accent-strong);
    --family-border:#dce4e6;
    background:#fff;
    border:1px solid var(--family-border);
    border-radius:5px;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
    color:var(--text);
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 16px;
}
.content-block--outage{
    --family-accent:var(--outage-accent);
    --family-strong:var(--outage-accent-strong);
    --family-border:#dce4e6;
    border-top:2px solid var(--outage-accent);
}
.content-block--utility{
    --family-accent:var(--utility-accent);
    --family-strong:var(--utility-accent-strong);
    --family-border:#dce4e6;
    border-top:2px solid var(--utility-accent);
}
.content-shell--utility .page-head,
.content-shell--utility .breadcrumbs{
    /*border-left:3px solid var(--utility-accent);
    padding-left:14px;*/
}
.content-shell--outage .page-head h1,
.content-shell--utility .page-head h1,
.content-block h2,
.content-block h3,
.context-sidebar-section h2,
.context-sidebar-region h3,
.context-sidebar-nationwide-title,
.home-sidebar h2,
.home-sidebar h3,
.home-page--outage .directory-heading h2,
.home-page--outage .latest-outages h2,
.home-page--outage .home-content-section h2,
.home-page--outage .region h3{
    color:#21525b;
}
.content-shell--outage .breadcrumbs a,
.content-shell--outage .page-head .eyebrow,
.home-page--outage .hero .eyebrow{
    color:var(--outage-accent-strong);
}
.content-shell--utility .breadcrumbs a,
.content-shell--utility .page-head .eyebrow{
    color:var(--utility-accent-strong);
}
.content-block--outage h2:after,
.content-block--utility h2:after,
.context-sidebar-section--outage h2:after,
.context-sidebar-region--outage h3:after,
.home-sidebar-region.content-block--outage h3:after,
.context-sidebar-nationwide-title:after{
    background:var(--outage-accent);
}
.content-block--utility h2:after,
.context-sidebar-section--utility h2:after,
.context-sidebar-region--utility h3:after,
.home-sidebar-section.content-block--utility h2:after{
    background:var(--utility-accent);
}
.content-block--outage a,
.content-block--utility a{
    color:var(--text);
}
.content-block--outage a:hover,
.content-block--outage a:focus-visible{
    color:var(--outage-accent-strong);
}
.content-block--utility a:hover,
.content-block--utility a:focus-visible{
    color:var(--utility-accent-strong);
}
.content-block--outage .context-link,
.content-block--outage .related-navigation-group__title,
.content-block--outage .utility-outage-cta a,
.content-block--utility .context-link,
.content-block--utility .related-navigation-group__title,
.content-block--utility .utility-summary-link,
.content-block--utility .province-utility-primary-link a,
.content-block--utility .utility-contact-list a,
.content-block--utility .source-note a{
    color:var(--family-strong);
}
.content-block--outage.outage-panel,
.content-block--outage.location-selector,
.content-block--utility.utility-contact,
.content-block--utility.provincial-contact,
.content-block--utility.locality-power-utility,
.content-block--utility.directory-section,
.content-block--utility.source-note,
.content-block--outage.utility-outage-cta{
    border-color:#dce4e6;
    border-top-color:var(--family-accent);
    background:#fff;
}
.content-block--utility.utility-contact,
.content-block--utility.provincial-contact{
    border-left:1px solid #dce4e6;
}
.content-block--utility .utility-contact-list dt{
    color:var(--text);
}
.content-block--utility.directory-section h2,
.content-block--utility.directory-section h3,
.content-block--utility .utility-summary-item h3,
.content-block--outage.utility-outage-cta h2{
    color:var(--text-strong);
}
.content-block--utility .utility-link:hover,
.content-block--utility .utility-link:focus-visible,
.content-block--utility .unit-link:hover,
.content-block--utility .unit-link:focus-visible{
    background:#f7f9fa;
    color:var(--utility-accent-strong);
}
.related-navigation-group{
    margin-top:12px;
    padding:13px 15px;
    border:1px solid #dce4e6;
    /*border-top:2px solid var(--family-accent);*/
    border-radius:0px;
    background:#fff;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
}
.related-navigation-group__title{
    margin:0 0 8px;
    color:var(--text-strong);
    font-size:15px;
    font-weight:800;
    line-height:1.35;
}
.related-navigation-group .related-navigation-links{
    margin:0;
}
.related-navigation-group .context-link{
    color:var(--family-strong);
}
.context-sidebar-section--mixed{
    border-color:#dce4e6;
    background:#fff;
}
.context-sidebar-section--outage,
.context-sidebar-region--outage{
    border-color:#dce4e6;
    border-top:2px solid var(--outage-accent);
    background:#fff;
}
.context-sidebar-section--utility,
.context-sidebar-region--utility{
    border-color:#dce4e6;
    border-top:2px solid var(--utility-accent);
    background:#fff;
}
.context-sidebar-section--outage h2,
.context-sidebar-region--outage h3,
.context-sidebar-section--utility h2,
.context-sidebar-region--utility h3{
    color:var(--text-strong);
}
.context-sidebar-section--outage .context-sidebar-flow-link,
.context-sidebar-region--outage .context-sidebar-province-link,
.context-sidebar-section--utility .context-sidebar-flow-link,
.context-sidebar-region--utility .context-sidebar-province-link{
    background:transparent;
    color:var(--text);
}
.context-sidebar-section--outage .context-sidebar-flow-link:hover,
.context-sidebar-section--outage .context-sidebar-flow-link:focus-visible,
.context-sidebar-region--outage .context-sidebar-province-link:hover,
.context-sidebar-region--outage .context-sidebar-province-link:focus-visible{
    background:#f7f9fa;
    color:var(--outage-accent-strong);
}
.context-sidebar-section--utility .context-sidebar-flow-link:hover,
.context-sidebar-section--utility .context-sidebar-flow-link:focus-visible,
.context-sidebar-region--utility .context-sidebar-province-link:hover,
.context-sidebar-region--utility .context-sidebar-province-link:focus-visible{
    background:#f7f9fa;
    color:var(--utility-accent-strong);
}
.context-sidebar-link--outage,
.context-sidebar-link--utility{
    color:var(--text);
}
.context-sidebar-link--outage:hover,
.context-sidebar-link--outage:focus-visible{
    color:var(--outage-accent-strong);
}
.context-sidebar-link--utility:hover,
.context-sidebar-link--utility:focus-visible{
    color:var(--utility-accent-strong);
}
.home-sidebar-region.content-block--outage,
.home-sidebar-section.content-block--utility{
    border-color:#dce4e6;
    border-top-color:var(--family-accent);
    background:#fff;
}
.home-sidebar h2,
.home-sidebar h3{
    color:var(--text-strong);
}
.home-sidebar-link,
.home-sidebar-province-link{
    color:var(--text);
}
.home-sidebar-link:hover,
.home-sidebar-link:focus-visible,
.home-sidebar-province-link:hover,
.home-sidebar-province-link:focus-visible{
    background:#f7f9fa;
    color:var(--outage-accent-strong);
}
.home-sidebar-feature-link{
    color:var(--utility-accent-strong);
}
.home-sidebar-feature-link:hover,
.home-sidebar-feature-link:focus-visible{
    color:var(--utility-accent);
}
.home-page--outage .geographic-link-grid .geographic-link{
    color:var(--text);
}
.home-page--outage .geographic-link-grid .geographic-link:hover,
.home-page--outage .geographic-link-grid .geographic-link:focus-visible{
    background:#f7f9fa;
    color:var(--outage-accent-strong);
}
.content-shell--outage .location-selector select:focus,
.content-shell--outage .locality-search input:focus,
.home-page--outage .location-selector select:focus,
.home-page--outage .province-directory-search input:focus{
    outline:3px solid var(--outage-accent);
    outline-offset:2px;
}
.content-shell--utility .location-selector select:focus,
.content-shell--utility .locality-search input:focus{
    outline:3px solid var(--utility-accent);
    outline-offset:2px;
}
.related-navigation-group .related-navigation-group__title{
    color:var(--text-strong);
}
.related-navigation-group .related-navigation-links .context-link,
.related-navigation-group .related-navigation-links .context-link:first-child{
    background:#fff;
    color:var(--family-strong);
}
.related-navigation-group .related-navigation-links .context-link:hover,
.related-navigation-group .related-navigation-links .context-link:focus-visible,
.content-block--utility .province-utility-primary-link{
    background:#fff;
}
.content-block--utility .province-utility-primary-link{
    border-left-color:var(--utility-accent);
}
.home-page--outage .home-data-note{
    background:#fff;
    border-color:#dce4e6;
    border-left-color:var(--outage-accent);
}
.home-page--outage .province-search-result:hover,
.home-page--outage .province-search-result:focus,
.home-page--outage .province-directory-search [data-province-search-clear]:hover,
.home-page--outage .province-directory-search [data-province-search-clear]:focus{
    background:#f7f9fa;
}
@media(max-width:700px){
    .content-shell--outage .page-head,
    .content-shell--outage .breadcrumbs,
    .content-shell--utility .page-head,
    .content-shell--utility .breadcrumbs{
        padding-left:5px;
    }
    .content-block{
        padding:12px;
    }
    .related-navigation-group{
        padding:12px;
    }

    .latest-outages h2{font-size:20px;line-height:1.3}
    .post-outage-section h2{font-size:20px;line-height:1.3}
    .outage-faq-item h3{font-size:17px;line-height:1.35}}

/* Homepage province directory and sidebar polish */
.home-page .directory .region,
.home-page .directory .region + .region{
    min-width:0;
    margin:0;
    padding:0 15px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.home-page .directory .region + .region{
    margin-top:20px;
    border-top:0;
}
.home-page .home-sidebar-region.content-block--outage{
    box-shadow:none;
}
.home-page .home-sidebar-province-list,
.home-page .home-sidebar-utility-list{
    gap:6px;
}
.home-page .home-sidebar-province-link,
.home-page .home-sidebar-utility-link{
    display:flex;
    align-items:center;
    min-width:0;
    min-height:34px;
    padding:6px 8px;
    border:1px solid #e2eceb;
    border-radius:5px;
    background:#f7f9f9;
    color:var(--text-primary);
    font-size:14px;
    font-weight:400;
    line-height:1.35;
    overflow-wrap:anywhere;
    text-decoration:none;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.home-page .home-sidebar-province-link:hover,
.home-page .home-sidebar-province-link:focus-visible,
.home-page .home-sidebar-utility-link:hover,
.home-page .home-sidebar-utility-link:focus-visible{
    border-color:#b8d7d3;
    background:#edf6f5;
    color:var(--brand-dark);
    text-decoration:none;
}
.home-page .home-sidebar-province-link:focus-visible,
.home-page .home-sidebar-utility-link:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}
.home-page .home-sidebar-utility{
    padding:15px;
}
.home-page .home-sidebar-copy{
    margin:0;
    color:var(--muted);
    font-size:13.5px;
    line-height:1.5;
}
.home-page .home-sidebar-utility-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:12px 0 0;
    padding:0;
    list-style:none;
}
.home-page .home-sidebar-utility-list li{
    min-width:0;
}
.home-page .home-sidebar-utility-all{
    margin:12px 0 0;
}
.home-page .home-sidebar-feature-link{
    font-size:14px;
    font-weight:500;
}

.context-sidebar-region .context-sidebar-province-link{
    min-height:34px;
    padding:6px 8px;
    border:1px solid #e2eceb;
    border-radius:5px;
    background:#f7f9f9;
    color:var(--text-primary);
    font-size:14px;
    font-weight:400;
    line-height:1.35;
}
.context-sidebar-region .context-sidebar-province-link:hover,
.context-sidebar-region .context-sidebar-province-link:focus-visible,
.context-sidebar-region .context-sidebar-province-link.is-current{
    border-color:#b8d7d3;
    background:#edf6f5;
    color:var(--brand-dark);
}
.context-sidebar-region .context-sidebar-province-link:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}

@media(max-width:700px){
    .home-page .directory .region,
    .home-page .directory .region + .region{
        padding:0 8px;
    }
    .home-page .directory .region + .region{
        margin-top:18px;
    }
    .home-page .home-sidebar-utility-list{
        gap:6px;
    }
    .context-sidebar-region .context-sidebar-province-link{
        min-height:34px;
        font-size:14px;
    }
}

/* Province SEO hub: factual summary, current-unit directory, and narrow-screen reading order */
.province-outage-summary,
.province-facts,
.province-current-directory{margin-top:22px}
.province-outage-summary h2,
.province-facts h2,
.province-current-directory h2{margin:0 0 9px;color:var(--text-primary);font-size:21px;line-height:1.3}
.province-fact-list{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;color:var(--text)}
.province-fact-list li{padding:8px 0;border-top:1px solid var(--border);font-size:15.5px;line-height:1.45}
.province-fact-list strong{color:var(--text-primary);font-size:18px}
.province-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.province-facts-grid>div{padding:10px 0;border-top:1px solid var(--border)}
.province-facts-grid dt{color:var(--muted);font-size:13.5px;font-weight:700}
.province-facts-grid dd{margin:3px 0 0;color:var(--text);font-size:15.5px;line-height:1.45}
.province-facts-utility,.province-source-note,.province-empty-note{margin:10px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}
.province-facts-utility a{color:var(--brand-dark);font-weight:700}
.province-empty-state span{display:block;margin-top:6px;font-size:14px}
.province-current-directory .section-heading p{margin:0 0 10px;color:var(--muted);font-size:15px;line-height:1.5}
.province-current-directory .geographic-link-grid{max-width:none}
.outage-administrative-unit a{color:inherit;font-weight:550}
@media(max-width:700px){
 .province-facts-grid{grid-template-columns:1fr}
 .province-fact-list{display:block}
 .province-fact-list li{padding:8px 0}
 .province-current-directory .geographic-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .province-current-directory .geographic-link{min-height:44px;padding:8px;font-size:15px;line-height:1.35}
}

/* Phase 2 locality SEO hub: factual identity, summary, lineage, and mobile reading order */
.locality-identity,
.locality-outage-summary,
.locality-facts{margin-top:18px}
.locality-identity h2,
.locality-outage-summary h2,
.locality-facts h2{margin:0 0 8px;color:var(--text-primary);font-size:21px;line-height:1.3}
.locality-identity-list,
.locality-outage-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.locality-identity-list>div,
.locality-outage-summary-list>div{padding:9px 0;border-top:1px solid var(--border)}
.locality-identity-list dt,
.locality-outage-summary-list dt{color:var(--muted);font-size:13.5px;font-weight:700}
.locality-identity-list dd,
.locality-outage-summary-list dd{margin:3px 0 0;color:var(--text);font-size:16px;line-height:1.45}
.locality-identity-list a,
.locality-facts a{color:var(--brand-dark);font-weight:650}
.locality-empty-note,
.locality-facts>p,
.locality-formation p,
.locality-power-utility-subsection p,
.locality-source p{max-width:760px;margin:6px 0;color:var(--text);font-size:15.5px;line-height:1.58}
.locality-facts>p{margin-top:0}
.locality-formation,
.locality-power-utility-subsection,
.locality-source{margin-top:20px;padding-top:0;border-top:0}
.locality-formation h3,
.locality-power-utility-subsection h3,
.locality-source h3{margin:0 0 6px;color:var(--text-primary);font-size:17px;line-height:1.35}
.locality-facts-note{color:var(--muted)!important;font-size:14px!important}
.locality-power-utility{margin-top:18px}
@media(max-width:700px){
    .locality-identity-list,
    .locality-outage-summary-list{grid-template-columns:1fr}
    .locality-identity-list dd,
    .locality-outage-summary-list dd{font-size:15.5px}
    .locality-facts>p,
    .locality-formation p,
    .locality-power-utility-subsection p,
    .locality-source p{font-size:15.5px}
}

/* Phase 2 Task 2.4: mobile-first UX and content polish */
@media(max-width:700px){
    .content-shell:not(.home-layout) > .content-shell__sidebar{
        display:block;
        min-width:0;
        margin-top:22px;
        /*padding:20px 0 8px;*/
        border-top:1px solid var(--content-divider,#e5eaec);
    }
    .home-page .content-shell__sidebar{display:none}
}
@media(max-width:700px){
    .content-shell,
    .content-shell__main,
    .content-shell__sidebar,
    .content-shell__main > *{
        min-width:0;
    }
    .content-shell__sidebar{overflow-wrap:anywhere;}
    .breadcrumbs{
        align-items:flex-start;
        gap:5px 7px;
        margin:10px 0 8px;
        font-size:13.5px;
        line-height:1.5;
    }
    .breadcrumbs a,
    .breadcrumbs strong{overflow-wrap:anywhere;}
    .outage-tabs{padding:6px 4px 7px;}
    .outage-tabs .tabs{
        flex-wrap:wrap;
        align-items:center;
        justify-content:flex-start;
        row-gap:3px;
        overflow-x:visible;
        white-space:normal;
    }
    .outage-tabs .tab{
        min-height:44px;
        padding:8px 5px;
        white-space:normal;
        text-align:center;
    }
    .outage-tabs .tab-separator{margin-inline:1px;}
    .directory-section .geographic-link-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0 8px;
    }
    #province-directory-grid .geographic-link-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:0 6px;
    }
    .directory-section .geographic-link{
        min-height:44px;
        padding:9px 7px;
        font-size:15.5px;
        line-height:1.35;
    }
    #province-directory-grid .geographic-link-grid .geographic-link{
        min-height:44px;
        padding:8px 4px;
        font-size:15.5px;
        line-height:1.35;
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .province-current-directory .geographic-link-grid{gap:0 8px;}
    .province-current-directory .geographic-link{min-height:44px;padding:9px 7px;}
    .utility-contact-list dd,
    .province-facts-grid dd,
    .locality-identity-list dd,
    .locality-outage-summary-list dd,
    .locality-source p,
    .locality-formation p,
    .locality-power-utility-subsection p,
    .source-note p,
    .utility-link,
    .related-navigation-links .context-link{overflow-wrap:anywhere;}
    .related-navigation-links,
    .outage-next-link-list{gap:8px;}
    .related-navigation-links .context-link,
    .outage-next-link-list .context-link{min-height:44px;padding:9px 10px;}
}
@media(max-width:360px){
    .outage-row{grid-template-columns:minmax(0,1fr);gap:2px;}
    .outage-label{white-space:normal;line-height:1.3;}
    .outage-value{min-width:0;}
    .directory-section .geographic-link-grid,
    .province-current-directory .geographic-link-grid{grid-template-columns:1fr;}
    .outage-tabs .tab{padding-inline:4px;}
}

/* Phase 3 supporting trust pages and primary navigation */
.site-primary-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.site-primary-nav a{display:inline-flex;align-items:center;min-height:40px;padding:7px 9px;border-radius:6px;color:var(--brand-dark);font-size:14.5px;font-weight:700;text-decoration:none}
.site-primary-nav a:hover{background:#f0f7f6;text-decoration:underline;text-underline-offset:3px}
.supporting-page{display:grid;gap:14px;max-width:820px;margin:0 0 24px}
.supporting-section{margin:0;padding:18px 20px}
.supporting-section h2{margin:0 0 9px}
.supporting-section p{margin:0 0 10px;color:var(--text-primary);font-size:16px;line-height:1.62}
.supporting-section p:last-child{margin-bottom:0}
.supporting-list{display:grid;gap:8px;margin:0;padding-left:22px;color:var(--text-primary);font-size:16px;line-height:1.58}
.supporting-list a,.sitemap-province-list a{overflow-wrap:anywhere}
.sitemap-province-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 18px;margin:12px 0 0;padding:0;list-style:none}
.sitemap-province-list a{display:block;min-height:40px;padding:8px 0;color:var(--brand-dark);font-size:15.5px;line-height:1.45;text-decoration:none}
.sitemap-province-list a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.site-primary-nav{width:100%;padding-bottom:8px}.header-inner{flex-wrap:wrap;gap:4px 12px}.site-primary-nav a{min-height:42px;padding-inline:6px}.supporting-page{gap:12px}.supporting-section{padding:16px 14px}.sitemap-province-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px}}
@media(max-width:430px){.sitemap-province-list{grid-template-columns:1fr}.supporting-section p,.supporting-list{font-size:16px}}
.province-directory-search [data-province-search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
@media(max-width:700px){:root{--header-height:61px}.site-header .header-inner{min-height:60px;flex-wrap:nowrap}.site-header .site-primary-nav{display:none}}
/* Province UI/UX Pass 1: above-the-fold mobile hierarchy */
@media(max-width:700px){
    .province-content-shell .province-head{
        padding:8px 5px 12px;
    }
    .province-content-shell .province-head h1{
        margin:0 0 6px;
        font-size:24px;
        line-height:1.28;
    }
    .province-content-shell .province-head .page-description{
        margin: top 5px;;
        color:#26282b;
        font-size:15.5px;
        line-height:1.5;
    }
    .province-content-shell > .content-shell__main > .location-selector{
        margin:0;
        padding:8px;
    }
    .province-content-shell > .content-shell__main > .location-selector .location-selector-grid{
        gap:7px;
    }
    .province-content-shell > .content-shell__main > .province-outage-summary{
        margin-top:16px;
        padding:10px 12px;
    }
    .province-content-shell > .content-shell__main > .province-outage-summary h2{
        margin-bottom:6px;
        font-size:19px;
        line-height:1.3;
    }
    .province-content-shell > .content-shell__main > .province-outage-summary .province-fact-list li{
        padding:6px 0;
    }
    .province-content-shell > .content-shell__main > .outage-panel{
        margin-top:16px;
    }
}
/* Province UI/UX Pass 2: statistics mobile hierarchy */
@media(max-width:700px){
    .province-content-shell .outage-data-summary,
    .province-content-shell .province-outage-localities,
    .province-content-shell .outage-date-summary{
        margin-top:22px;
        margin-bottom:22px;
    }
    .province-content-shell .outage-data-summary h2,
    .province-content-shell .province-outage-localities h2,
    .province-content-shell .outage-date-summary h2{
        margin-bottom:7px;
        font-size:20px;
        line-height:1.3;
    }
    .province-content-shell .province-locality-table,
    .province-content-shell .outage-date-summary .outage-summary-table{
        display:block;
        width:100%;
        font-size:15px;
    }
    .province-content-shell .province-locality-table thead,
    .province-content-shell .outage-date-summary .outage-summary-table thead{
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
        white-space:nowrap;
        border:0;
    }
    .province-content-shell .province-locality-table tbody,
    .province-content-shell .outage-date-summary .outage-summary-table tbody{
        display:block;
        padding-left: 12px;
    }
    .province-content-shell .province-locality-table tbody tr{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:0 5px;
        padding:8px 0;
        border-bottom:1px solid var(--border);
    }
    .province-content-shell .province-locality-table tbody tr:last-child{
        border-bottom:0;
    }
    .province-content-shell .province-locality-table tbody th{
        grid-column:1/-1;
        padding:0 0 5px;
        border:0;
        color:var(--text-primary);
        white-space:normal;
    }
    .province-content-shell .province-locality-table tbody td{
        padding:3px 2px 0;
        border:0;
        color:var(--text-primary);
        text-align:left;
        font-variant-numeric:tabular-nums;
    }
    .province-content-shell .province-locality-table tbody td:before{
        display:block;
        margin-bottom:2px;
        color:var(--muted);
        font-size:12.5px;
        font-weight:700;
        line-height:1.3;
    }
    .province-content-shell .province-locality-table tbody td:nth-of-type(1):before{content:"Hôm nay";}
    .province-content-shell .province-locality-table tbody td:nth-of-type(2):before{content:"Ngày mai";}
    .province-content-shell .province-locality-table tbody td:nth-of-type(3):before{content:"7 ngày tới";}
    .province-content-shell .outage-date-summary .outage-summary-table tbody tr{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        padding:8px 0;
        border-bottom:1px solid var(--border);
    }
    .province-content-shell .outage-date-summary .outage-summary-table tbody tr:last-child{
        border-bottom:0;
    }
    .province-content-shell .outage-date-summary .outage-summary-table tbody th{
        padding:0 0 4px;
        border:0;
        color:var(--outage-date-color);
        white-space:normal;
    }
    .province-content-shell .outage-date-summary .outage-summary-table tbody td{
        padding:3px 0;
        border:0;
        text-align:left;
        font-variant-numeric:tabular-nums;
    }
    .province-content-shell .outage-date-summary .outage-summary-table tbody td:before{
        color:var(--muted);
        font-size:12.5px;
        font-weight:700;
    }
    .province-content-shell .outage-date-summary .outage-summary-table tbody td:nth-of-type(1):before{content:"Số lịch: ";}
    .province-content-shell .outage-date-summary .outage-summary-table tbody td:nth-of-type(2):before{content:"Khung thời gian: ";}
}
/* Province UI/UX Pass 2.1: final mobile micro polish */
@media(max-width:700px){
.province-content-shell .province-locality-table tbody tr{
        padding:6px 0;
    }
    .province-content-shell .province-locality-table tbody th{
        padding-bottom:4px;
    }
    .province-content-shell .province-locality-table tbody th a{
        display:inline-flex;
        align-items:center;
        min-height:32px;
    }
    .province-content-shell .province-locality-table tbody td{
        padding-top:2px;
    }
    .province-content-shell .outage-data-summary{
        margin-top:28px;
        padding-top:8px;
        border-top:1px solid var(--border);
    }
}
/* Province UI/UX Pass 3: locality directory, facts, and utility polish */
.province-current-directory .province-locality-search{margin:0 0 10px}
.province-locality-search-control{position:relative}
.province-locality-search [data-province-locality-search]{display:block;width:100%;min-height:44px;padding:8px 44px 8px 10px;border:1px solid #b9ccd1;border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:15.5px}
.province-locality-search [data-province-locality-search]:focus{outline:3px solid var(--focus);outline-offset:2px}
.province-locality-search [data-province-locality-search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.province-locality-search [data-province-locality-search-clear]{position:absolute;right:4px;top:4px;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:22px;line-height:1;cursor:pointer}
.province-locality-search [data-province-locality-search-clear]:focus{outline:3px solid var(--focus);outline-offset:1px;border-radius:5px}
.province-locality-empty{margin:8px 0 0;color:var(--muted);font-size:14.5px;line-height:1.45}
.province-current-directory [data-province-locality-grid] .geographic-link[hidden],
.province-current-directory [data-province-locality-search-clear][hidden],
.province-current-directory [data-province-locality-empty][hidden],
.province-current-directory [data-province-locality-toggle][hidden]{display:none}
.province-current-directory .province-locality-toggle{margin-top:10px}
.province-facts-grid{gap:0 18px}
.province-facts-grid>div{padding:8px 0}
.province-power-utilities .province-utility-links{gap:8px 16px}
.province-power-utilities .province-utility-links li{padding:2px 0}
@media(min-width:701px){
    .province-current-directory .province-locality-toggle{display:none}
}
@media(max-width:700px){
    .province-current-directory:not(.is-expanded):not(.has-locality-query) [data-province-locality-extra="true"]{display:none}
    .province-current-directory.is-expanded [data-province-locality-extra="true"]{display:flex}
    .province-current-directory .province-locality-toggle{min-height:44px;margin-top:10px}
    .province-content-shell .province-facts{margin-top:24px;padding:12px}
    .province-content-shell .province-facts-grid{gap:0 14px}
    .province-content-shell .province-facts-grid>div{padding:7px 0}
    .province-content-shell .province-facts-grid dt{font-size:13px}
    .province-content-shell .province-facts-grid dd{margin-top:2px;font-size:15px}
    .province-content-shell .province-power-utilities{margin-top:24px;padding:12px}
    .province-content-shell .province-power-utilities .province-utility-hotline{
        margin-top:10px;
        line-height:1.45;
        overflow-wrap:anywhere;
    }
    .province-content-shell .province-power-utilities .province-utility-primary-link{
        margin:12px 0 0;
        padding:10px 0 0;
        border-top:1px solid var(--border);
        border-left:0;
        background:transparent;
    }
    .province-content-shell .province-power-utilities .province-utility-primary-link a{
        display:inline-flex;
        align-items:baseline;
        gap:4px;
        color:var(--brand-dark);
        font-weight:700;
        line-height:1.45;
    }
    .province-content-shell .province-power-utilities .province-utility-primary-link a::after{
        content:"\2192";
        font-weight:700;
    }
}
/* Province UI/UX Pass 4: supporting content, continuation, and mobile navigation */
.province-content-shell .outage-guidance{
    margin-top:30px;
    padding-top:18px;
    border-top:1px solid var(--content-divider);
}
.province-content-shell .outage-guidance h2,
.province-content-shell .outage-faq h2,
.province-content-shell .outage-next-links h2{
    margin:0 0 9px;
    color:var(--text-primary);
    line-height:1.3;
}
.province-content-shell .outage-guidance p{
    max-width:760px;
    margin:0 0 10px;
    color:var(--text-primary);
    line-height:1.62;
}
.province-content-shell .outage-guidance p:last-child{margin-bottom:0}
.province-content-shell .outage-faq{
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid var(--content-divider);
}
.province-content-shell .outage-faq-list{
    gap:0;
    border-top:1px solid var(--content-divider);
}
.province-content-shell .outage-faq-item{
    padding:12px 0;
    border-top:0;
    border-bottom:1px solid var(--content-divider);
    background:transparent;
}
.province-content-shell .outage-faq-item h3{
    margin:0 0 5px;
    color:var(--text-primary);
    font-size:17px;
    line-height:1.4;
}
.province-content-shell .outage-faq-item p{
    margin:0;
    color:var(--text);
    line-height:1.58;
}
.province-content-shell .outage-next-links{
    margin-top:30px;
    padding-top:18px;
    border-top:1px solid var(--content-divider);
}
.province-content-shell .outage-next-links .section-heading p{
    margin:0;
    color:var(--muted);
    line-height:1.5;
}
.province-content-shell .outage-next-links .related-navigation-group{
    margin-top:16px;
    padding:0;
    border:0;
    background:transparent;
}
.province-content-shell .outage-next-links .related-navigation-group__title{
    margin:0 0 7px;
    color:var(--text-primary);
    font-size:16px;
    line-height:1.4;
}
.province-content-shell .outage-next-links .related-navigation-group.content-block--outage .context-link:first-child{
    padding:8px 10px;
    border:1px solid #b9d4d0;
    border-radius:6px;
    background:transparent;
    color:var(--brand-dark);
    font-weight:700;
}
.province-content-shell .outage-next-links .related-navigation-group.content-block--outage .context-link:first-child::after{
    content:"\2192";
    margin-left:4px;
}
.province-content-shell .outage-next-links .related-navigation-links{
    gap:6px 12px;
}
@media(max-width:700px){
    .province-content-shell .outage-guidance{
        margin-top:26px;
        padding-top:16px;
    }
    .province-content-shell .outage-guidance h2,
    .province-content-shell .outage-faq h2,
    .province-content-shell .outage-next-links h2{
        font-size:20px;
    }
    .province-content-shell .outage-guidance p{
        font-size:15.5px;
        line-height:1.65;
    }
    .province-content-shell .outage-faq{
        margin-top:26px;
        padding-top:16px;
    }
    .province-content-shell .outage-faq-item{
        padding:11px 0;
    }
    .province-content-shell .outage-faq-item h3{
        font-size:16.5px;
        line-height:1.42;
    }
    .province-content-shell .outage-faq-item p{
        font-size:15.5px;
        line-height:1.62;
    }
    .province-content-shell .outage-next-links{
        margin-top:26px;
        padding-top:16px;
    }
    .province-content-shell .outage-next-links .related-navigation-group{
        margin-top:14px;
    }
    .province-content-shell .outage-next-links .related-navigation-links{
        display:flex;
        flex-direction:column;
        gap:0;
    }
    .province-content-shell .outage-next-links .related-navigation-links .context-link{
        min-width:0;
        /*padding:8px 0;*/
        border-top:1px solid var(--border);
        border-radius:0;
        overflow-wrap:anywhere;
        line-height:1.4;
    }
    .province-content-shell .outage-next-links .related-navigation-group.content-block--outage .context-link:first-child{
        padding:9px 0;
        border:0;
        border-top:1px solid var(--border);
        border-radius:0;
        background:transparent;
    }
    .province-content-shell .outage-next-links .related-navigation-group.content-block--outage .context-link:last-child{
        border-bottom:1px solid var(--border);
    }
    .province-content-shell .context-sidebar-province-context{display:none}
    .province-content-shell .context-sidebar{
        margin-top:0px;
        padding-top:0px;
        border-top:1px solid var(--content-divider);
    }
    .province-content-shell .context-sidebar.sidebar-disclosures-ready .context-sidebar-section--mobile-collapsible [data-sidebar-mobile-list]{
        display:none;
    }
    .province-content-shell .context-sidebar-section--mobile-collapsible.is-mobile-expanded [data-sidebar-mobile-list].context-sidebar-flow-list{
        display:flex;
    }
    .province-content-shell .context-sidebar-section--mobile-collapsible.is-mobile-expanded [data-sidebar-mobile-list].context-sidebar-link-list{
        display:grid;
    }
    .province-content-shell .context-sidebar-section--mobile-collapsible .context-sidebar__more{
        min-height:40px;
        margin-top:7px;
    }
    .province-content-shell .context-sidebar-nationwide{
        /*margin-top:22px;
        padding-top:16px;*/
        border-top:1px solid var(--content-divider);
    }
    .province-content-shell .context-sidebar-regions{
        gap:6px;
    }
    .province-content-shell .context-sidebar-region[data-sidebar-region]{
        padding:0;
        border:0;
        background:transparent;
    }
    .province-content-shell .context-sidebar-region[data-sidebar-region] h3{
        display:none;
    }
    .province-content-shell .context-sidebar.sidebar-disclosures-ready .context-sidebar-region[data-sidebar-region] nav{
        display:none;
    }
    .province-content-shell .context-sidebar.sidebar-disclosures-ready .context-sidebar-region[data-sidebar-region].is-expanded nav{
        display:block;
    }
    .province-content-shell .context-sidebar-region-toggle{
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        min-height:42px;
        padding:8px 0;
        border:0;
        border-top:1px solid var(--border);
        background:transparent;
        color:var(--brand-dark);
        font:inherit;
        font-weight:700;
        line-height:1.4;
        text-align:left;
        cursor:pointer;
    }
    .province-content-shell .context-sidebar.sidebar-disclosures-ready .context-sidebar-region-toggle:focus-visible{
        outline:3px solid var(--focus);
        outline-offset:2px;
    }
    .province-content-shell .context-sidebar-region[data-sidebar-region]:last-child .context-sidebar-region-toggle{
        border-bottom:1px solid var(--border);
    }
    .province-content-shell .context-sidebar-region[data-sidebar-region].is-expanded:last-child .context-sidebar-region-toggle{
        border-bottom:0;
    }
}
@media(min-width:701px){
    .province-content-shell .context-sidebar-region-toggle{display:none}
}
/* Shared outage UI consolidation: mobile tabs and records */
@media(max-width:700px){
    .content-shell--outage .outage-panel{
        box-sizing:border-box;
        padding-inline:8px;
    }
    .content-shell--outage .outage-tabs{
        box-sizing:border-box;
        padding-inline:2px;
    }
    .content-shell--outage .outage-tabs .tabs{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0;
        width:100%;
        overflow-x:visible;
        white-space:nowrap;
    }
    .content-shell--outage .outage-tabs .tab{
        /*flex:1 1 0;*/
        min-width:0;
        min-height:40px;
        padding:1px 1px;
        gap:1px;
        font-size:14px;
        line-height:1.2;
        white-space:nowrap;
        text-align:center;
    }
    .content-shell--outage .outage-tabs .tab-separator{
        flex:0 0 auto;
        margin-inline:1px;
        font-size:10px;
        line-height:1;
    }
    .content-shell--outage .outage-date-heading{
        padding-bottom:8px;
    }
    .content-shell--outage .outage-date-group-list{
        border:0;
        background:transparent;
    }
    .content-shell--outage .outage-card{
        padding-top:0px;
        padding-bottom:8px;
        border:0;
        background:transparent;
    }
    .content-shell--outage .outage-date-group-list > .outage-card:not(:last-of-type){
        border-bottom:1px solid #b5b7b7;
    }
    .content-shell--outage .outage-date-group-list .outage-card:first-child{
        padding-top:5px;
    }
    .content-shell--outage .outage-date-group-list .outage-card:last-child{
        padding-bottom:6px;
    }
    .content-shell--outage .outage-card:hover{
        background:transparent;
    }
    .content-shell--outage .outage-row{
        grid-template-columns:100px minmax(0,1fr);
        gap:7px;
        margin:4px 0;
        padding-inline:0;
    }
    .content-shell--outage .outage-label{
        color:#3e464f;
        font-size:14.5px;
        line-height:1.45;
    }
    .content-shell--outage .outage-value{
        font-size:16px;
        line-height:1.55;
    }
    .content-shell--outage .outage-date,
    .content-shell--outage .outage-time{
        font-size:16px;
        font-weight:550;
    }
    .content-shell--outage .time-chip{
        min-height:24px;
        font-size:15.5px;
    }
    .content-shell--outage .outage-area{
        font-weight:550;
        color: #0a747f;
    }
    .content-shell--outage .outage-reason{
        overflow-wrap:anywhere;
    }
    .content-shell--outage .outage-status-value{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:6px;
    }
    .content-shell--outage .outage-status-value .status-badge{
        min-height:26px;
    }
}
@media(max-width:360px){
    .content-shell--outage .outage-tabs .tab{
        font-size:12px;
        padding-inline:0;
    }
    .content-shell--outage .outage-tabs .tab-separator{
        margin-inline:0;
        font-size:9px;
    }
}

/* Approved province profile: editorial factual content */
.province-profile{margin-top:22px}
.province-profile h2{margin:0 0 9px;color:var(--text-primary);font-size:21px;line-height:1.3}
.province-profile p{margin:0;color:var(--text);font-size:15.5px;line-height:1.6}
@media(max-width:700px){.province-profile{margin-top:24px}.province-profile p{font-size:15px;line-height:1.6}}


/* Mobile typography readability system */
@media(max-width:700px){
    body{
        font-size:16px;
        line-height:1.6;
    }
    input,
    select,
    textarea{
        font-size:16px;
    }
    .breadcrumbs{
        font-size:14px;
        line-height:1.5;
    }
    .meta{
        font-size:14px;
        line-height:1.5;
    }
    .home-page,
    .province-content-shell,
    .locality-content-shell,
    .utility-content-shell,
    .supporting-page{
        font-size:16px;
        line-height:1.6;
    }
    .home-page .hero h1,
    .province-content-shell .page-head h1,
    .locality-content-shell .page-head h1,
    .utility-content-shell h1,
    .page-head h1{
        font-size:24px;
        line-height:1.3;
    }
    .home-page h2,
    .province-content-shell h2,
    .locality-content-shell h2,
    .utility-content-shell h2,
    .supporting-page h2{
        font-size:19px;
        line-height:1.35;
    }
    .home-page h3,
    .home-page .region h3,
    .home-page .home-info-item h3,
    .province-content-shell h3,
    .province-content-shell .outage-faq-item h3,
    .locality-content-shell h3,
    .utility-content-shell h3,
    .supporting-page h3{
        font-size:17px;
        line-height:1.4;
    }
    .home-page .hero .intro,
    .home-page .directory-heading p,
    .home-page .home-content-section p,
    .home-page .home-info-item p,
    .home-page .home-data-note p,
    .page-description,
    .content-shell .page-description,
    .province-content-shell .province-profile p,
    .province-content-shell .province-current-directory .section-heading p,
    .province-content-shell .province-facts-utility,
    .province-content-shell .province-source-note,
    .province-content-shell .outage-guidance p,
    .province-content-shell .outage-faq-item p,
    .province-content-shell .outage-next-links .section-heading p,
    .locality-content-shell .locality-facts>p,
    .locality-content-shell .locality-formation p,
    .locality-content-shell .locality-power-utility-subsection p,
    .locality-content-shell .locality-source p,
    .utility-content-shell .section-heading p,
    .utility-content-shell .provincial-hotline p,
    .utility-content-shell .source-note p,
    .supporting-page .supporting-section p,
    .supporting-page .supporting-list{
        font-size:16px;
        line-height:1.65;
    }
    .province-content-shell .province-facts-grid dd,
    .locality-content-shell .locality-identity-list dd,
    .locality-content-shell .locality-outage-summary-list dd,
    .utility-content-shell .utility-contact-list dd,
    .utility-content-shell .utility-link strong,
    .utility-content-shell .utility-summary-item,
    .supporting-page .sitemap-province-list a{
        font-size:16px;
        line-height:1.6;
    }
    .province-content-shell .province-facts-grid dt,
    .locality-content-shell .locality-identity-list dt,
    .locality-content-shell .locality-outage-summary-list dt,
    .utility-content-shell .utility-contact-list dt,
    .utility-content-shell .utility-link span,
    .provincial-local-utility-list span,
    .province-utility-hotline,
    .source-note .post-outage-note,
    .locality-facts-note{
        font-size:14px;
        line-height:1.55;
    }
    .province-content-shell .province-current-directory .geographic-link,
    .locality-content-shell .geographic-link,
    .locality-content-shell .unit-link,
    .utility-content-shell .utility-link,
    .utility-content-shell .utility-summary-link,
    .related-navigation-links .context-link,
    .outage-next-link-list .context-link{
        font-size:16px;
        line-height:1.45;
    }
    .site-footer{
        font-size:14px;
        line-height:1.6;
    }
    .site-footer-bottom{
        font-size:14px;
        line-height:1.5;
    }
    .context-sidebar-flow-link,
    .context-sidebar-link,
    .context-sidebar-province-link{
        font-size:15.5px;
        line-height:1.5;
    }
    .content-shell--outage .outage-label{
        font-size:14.5px;
    }
    
    .content-shell--outage .outage-value,
    .content-shell--outage .outage-area,
    .content-shell--outage .outage-reason{
        font-size:16.5px;
    }
    .outage-value.outage-administrative-unit, .outage-value.is-company{font-size: 15.5px;}
}


/* Desktop sticky context sidebars */
@media(min-width:701px){
    .content-shell__sidebar,
    .home-page .home-sidebar{
        position:sticky;
        top:calc(var(--header-height) + 16px);
        max-height:calc(100vh - var(--header-height) - 32px);
        overflow-y:auto;
        overscroll-behavior:contain;
        scrollbar-gutter:stable;
    }
}
@media(max-width:700px){
    .content-shell__sidebar,
    .home-page .home-sidebar{
        position:static;
        max-height:none;
        overflow:visible;
        overscroll-behavior:auto;
    }
}

/* Searchable locality selector enhancement */
.location-field--locality{min-width:0;position:relative}
.location-field--locality[data-enhanced=true]>select{display:none}
.location-locality-combobox{position:relative}
.location-locality-combobox [data-locality-combobox-input]{display:block;width:100%;min-height:48px;padding:8px 46px 8px 10px;border:1px solid #b9ccd1;border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:15.5px}
.location-locality-combobox [data-locality-combobox-input]:focus{outline:3px solid var(--focus);outline-offset:2px}
.location-locality-combobox [data-locality-combobox-input]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.location-locality-combobox [data-locality-combobox-input]::placeholder{color:var(--muted)}
.location-locality-combobox [data-locality-combobox-clear]{position:absolute;right:4px;top:4px;width:40px;height:40px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:22px;line-height:1;cursor:pointer}
.location-locality-combobox [data-locality-combobox-clear]:hover,.location-locality-combobox [data-locality-combobox-clear]:focus{background:#f7f9fa}
.location-locality-combobox [data-locality-combobox-clear]:focus{outline:3px solid var(--focus);outline-offset:0}
.location-locality-combobox [data-locality-combobox-results]{position:absolute;inset-inline:0;top:calc(100% + 4px);z-index:950;max-height:min(320px,50vh);overflow-y:auto;border:1px solid var(--border);border-radius:7px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.1)}
.location-locality-combobox [data-locality-combobox-results] a,.location-locality-combobox [data-locality-combobox-results] [role=option]{display:flex;align-items:center;min-height:44px;padding:8px 10px;border-bottom:1px solid #edf1f2;color:var(--text);text-decoration:none}
.location-locality-combobox [data-locality-combobox-results] a:last-child,.location-locality-combobox [data-locality-combobox-results] [role=option]:last-child{border-bottom:0}
.location-locality-combobox [data-locality-combobox-results] a:hover,.location-locality-combobox [data-locality-combobox-results] a:focus,.location-locality-combobox [data-locality-combobox-results] a[aria-selected=true]{background:#f7f9fa;color:var(--brand-dark);outline:none}
.location-locality-combobox [data-locality-combobox-results] [aria-disabled=true]{color:var(--muted)}
@media(max-width:700px){
    .location-locality-combobox [data-locality-combobox-input]{min-height:50px;font-size:16px}
    .location-locality-combobox [data-locality-combobox-clear]{top:5px}
    .location-locality-combobox [data-locality-combobox-results]{max-height:min(280px,50vh)}
}

/* AdministrativeUnit desktop refinement */
@media(min-width:701px){
    .locality-content-shell .location-selector-grid{
        grid-template-columns:minmax(0,25fr) minmax(0,30fr) minmax(0,45fr);
    }

    .locality-content-shell .locality-identity-list{
        gap:0 30px;
    }
    .locality-content-shell .locality-identity-list>div{
        padding:8px 0;
        border-top-color:var(--content-divider);
    }
    .locality-content-shell .locality-identity-list dt{
        color:var(--muted);
        font-size:13px;
        font-weight:600;
    }
    .locality-content-shell .locality-identity-list dd{
        color:var(--text-primary);
        font-size:16px;
        font-weight:600;
        line-height:1.4;
    }

    .locality-content-shell .locality-outage-summary-list{
        gap:0 30px;
    }
    .locality-content-shell .locality-outage-summary-list>div{
        padding:9px 0;
        border-top-color:var(--content-divider);
    }
    .locality-content-shell .locality-outage-summary-list dt{
        color:var(--muted);
        font-size:13px;
        font-weight:600;
    }
    .locality-content-shell .locality-outage-summary-list dd{
        color:var(--text-primary);
        font-size:16.5px;
        font-weight:650;
        line-height:1.4;
    }

    .locality-content-shell .outage-affected-areas .post-outage-note:first-of-type{
        margin-bottom:12px;
    }
    .locality-content-shell .outage-affected-areas .outage-area-list{
        gap:8px 28px;
        margin-top:0;
    }
    .locality-content-shell .outage-affected-areas .outage-area-list li{
        min-width:0;
        line-height:1.58;
        overflow-wrap:anywhere;
    }
    .locality-content-shell .outage-affected-areas .outage-area-list li::marker{
        color:var(--muted);
        font-size:.85em;
    }
}


/* AdministrativeUnit alignment and sidebar region cleanup */
@media(min-width:701px){
    .locality-content-shell > .content-shell__main > .locality-identity,
    .locality-content-shell > .content-shell__main > .locality-outage-summary{
        max-width:none;
        padding:18px 22px;
    }
    .locality-content-shell .locality-identity-list > div,
    .locality-content-shell .locality-outage-summary-list > div{
        border-top-color:var(--content-divider);
    }
    .locality-content-shell .locality-outage-summary + .outage-panel{
        margin-top:18px;
    }
    .content-shell__sidebar{
        scrollbar-width:thin;
        scrollbar-color:#c9d3d5 transparent;
    }
    .content-shell__sidebar::-webkit-scrollbar{
        width:8px;
    }
    .content-shell__sidebar::-webkit-scrollbar-track{
        background:transparent;
    }
    .content-shell__sidebar::-webkit-scrollbar-thumb{
        border:2px solid transparent;
        border-radius:999px;
        background-clip:padding-box;
        background-color:#c9d3d5;
    }
}
@media(max-width:700px){
    .province-content-shell .context-sidebar-region[data-sidebar-region] h3{
        display:block;
    }
    .province-content-shell .context-sidebar.sidebar-disclosures-ready .context-sidebar-region[data-sidebar-region] nav,
    .province-content-shell .context-sidebar.sidebar-disclosures-ready .context-sidebar-region[data-sidebar-region].is-expanded nav{
        display:block;
    }
}

/* Shared locality sidebar chips */
.context-sidebar-section--outage .context-sidebar-locality-link{border:1px solid var(--border);background:#f7fbfb;color:var(--content-link)}
.context-sidebar-section--outage .context-sidebar-locality-link:hover,.context-sidebar-section--outage .context-sidebar-locality-link:focus-visible{background:var(--content-hover);color:var(--brand-dark)}
.context-sidebar-section--outage .context-sidebar-locality-link.is-current{background:#e3f2f0;border-color:#8fbdb9;color:var(--brand-dark);font-weight:600}
.context-sidebar-section--outage .context-sidebar-locality-link.is-current:hover,.context-sidebar-section--outage .context-sidebar-locality-link.is-current:focus-visible{background:#d7ece9;color:var(--brand-dark)}

.context-sidebar-section--utility .context-sidebar-utility-link{font-weight:400}


/* AdministrativeUnit compact upper information zone */
@media(min-width:701px){
    .locality-content-shell > .content-shell__main > .locality-identity,
    .locality-content-shell > .content-shell__main > .locality-outage-summary{
        margin-top:12px;
        padding:12px 16px;
    }
    .locality-content-shell > .content-shell__main > .locality-identity h2,
    .locality-content-shell > .content-shell__main > .locality-outage-summary h2{
        margin-bottom:6px;
    }
    .locality-content-shell .locality-identity-list--compact{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:0 18px;
    }
    .locality-content-shell .locality-outage-summary-list--compact{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);
        gap:0 18px;
    }
    .locality-content-shell .locality-identity-list--compact > div,
    .locality-content-shell .locality-outage-summary-list--compact > div{
        padding:6px 0;
    }
    .locality-content-shell > .content-shell__main > .location-selector{
        margin-top:12px;
        padding:10px 14px;
    }
    .locality-content-shell .locality-outage-summary + .outage-panel{
        margin-top:14px;
    }
}
@media(max-width:700px){
    .locality-content-shell > .content-shell__main > .locality-identity,
    .locality-content-shell > .content-shell__main > .locality-outage-summary{
        margin-top:10px;
        padding:12px 14px;
    }
    .locality-content-shell > .content-shell__main > .locality-identity h2,
    .locality-content-shell > .content-shell__main > .locality-outage-summary h2{
        margin-bottom:6px;
    }
    .locality-content-shell .locality-identity-list--compact{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0 14px;
    }
    .locality-content-shell .locality-outage-summary-list--compact{
        grid-template-columns:minmax(0,20fr) minmax(0,25fr) minmax(0,55fr);
        gap:0 8px;
    }
    .locality-content-shell .locality-outage-summary-list--compact > div{
        min-width:0;
    }
    .locality-content-shell .locality-outage-summary-list--compact > div:nth-child(3):last-child{
        grid-column:auto;
    }
    .locality-content-shell .locality-identity-list--compact > div,
    .locality-content-shell .locality-outage-summary-list--compact > div{
        padding:6px 0;
    }
    .locality-content-shell > .content-shell__main > .location-selector{
        margin-top:10px;
        padding:8px 10px;
    }
    .locality-content-shell .locality-outage-summary + .outage-panel{
        margin-top:14px;
    }
}

/* Site-wide main-column width contract */
.content-shell__main > *,
.content-shell__main > .provincial-utility-page > *{
    width:100%;
    max-width:none;
    min-width:0;
    box-sizing:border-box;
    margin-inline:0;
}
.content-shell__main .outage-summary-table-wrap,
.content-shell__main .outage-summary-table,
.content-shell__main .outage-faq-list,
.content-shell__main .outage-faq-item,
.content-shell__main .related-navigation{
    width:100%;
    max-width:none;
    min-width:0;
    box-sizing:border-box;
    margin-inline:0;
}

/* Site-wide component gutters for approved content blocks */
@media(min-width:701px){
    /*.province-content-shell > .content-shell__main > .province-profile,*/
    .province-content-shell > .content-shell__main > .province-current-directory,
    .province-content-shell > .content-shell__main > .province-facts,
    .province-content-shell > .content-shell__main > .province-power-utilities,
    /*.province-content-shell > .content-shell__main > .outage-guidance,*/
    .province-content-shell > .content-shell__main > .outage-faq,
    .province-content-shell > .content-shell__main > .outage-next-links{
        padding-inline:22px;
    }
    .locality-content-shell > .content-shell__main > .post-outage-section:not(.outage-next-links){
        margin-top:24px;
        padding-inline:22px;
    }
    .locality-content-shell > .content-shell__main > .locality-facts{
        margin-top:24px;
        padding:12px 22px;
    }
    .locality-content-shell > .content-shell__main > .outage-next-links{
        margin-top:24px;
        padding-inline:0;
    }
    .locality-content-shell > .content-shell__main > .outage-next-links > .section-heading,
    .locality-content-shell > .content-shell__main > .outage-next-links > .related-navigation-group{
        padding-inline:22px;
    }
}
@media(max-width:700px){
    .locality-content-shell > .content-shell__main > .post-outage-section:not(.outage-next-links){
        margin-top:22px;
        padding-inline:8px;
    }
    .locality-content-shell > .content-shell__main > .locality-facts{
        margin-top:22px;
        padding-inline:8px;
    }
    .locality-content-shell > .content-shell__main > .outage-next-links{
        margin-top:22px;
        padding-inline:0;
    }
    .locality-content-shell > .content-shell__main > .outage-next-links > .section-heading,
    .locality-content-shell > .content-shell__main > .outage-next-links > .related-navigation-group{
        padding-inline:8px;
    }
}
.locality-content-shell .outage-area-list--localities a{
    display:inline-block;
    max-width:100%;
    overflow-wrap:anywhere;
}
.locality-content-shell .outage-area-current-marker{
    margin-left:6px;
    color:var(--muted);
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
}


/* Province outage summary: keep the factual overview as one compact card. */
.province-content-shell > .content-shell__main > .province-outage-summary{
    width:100%;
    max-width:none;
    min-width:0;
    box-sizing:border-box;
    margin-top:14px;
    margin-bottom:14px;
    padding:14px 22px;
    background:#fff;
    border:1px solid var(--family-border,#dce4e6);
    border-radius:5px;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
}
.province-content-shell > .content-shell__main > .province-outage-summary + .outage-panel{
    margin-top:0;
}
.province-content-shell > .content-shell__main > .province-outage-summary .province-fact-list{
    display:grid;
    grid-template-columns:minmax(0,25fr) minmax(0,25fr) minmax(0,58fr);
    gap:0 28px;
}
.province-content-shell > .content-shell__main > .province-outage-summary .province-fact-list__item{
    min-width:0;
}
.province-content-shell > .content-shell__main > .province-outage-summary .province-fact-list__item--localities{
    grid-column:1 / -1;
    margin-top:6px;
    padding-top:10px;
    border-top:1px solid var(--border);
}
@media(max-width:700px){
    .province-content-shell > .content-shell__main > .province-outage-summary{
        margin-top:16px;
        margin-bottom:12px;
        padding:10px 12px;
    }
    .province-content-shell > .content-shell__main > .province-outage-summary .province-fact-list{
        grid-template-columns:minmax(0,1fr);
        gap:0;
    }
    .province-content-shell > .content-shell__main > .province-outage-summary .province-fact-list__item--localities{
        margin-top:4px;
        padding-top:8px;
    }
}



/* Shared mobile regional province navigation */
@media(max-width:700px){
    .context-sidebar-nationwide .context-sidebar-regions{
        display:grid;
        gap:8px;
    }
}


/* Site-wide mobile navigation and directory normalization */
@media(max-width:700px){
    .context-sidebar{
        display:grid;
        gap:10px;
        min-width:0;
        color:var(--text);
    }
    .context-sidebar-section,
    .context-sidebar-region{
        min-width:0;
        padding:12px;
        border:1px solid var(--content-border,#dce4e6);
        border-radius:8px;
        background:#fff;
    }
    .context-sidebar-section h2,
    .context-sidebar-region h3{
        margin:0 0 9px;
        padding:0 0 7px;
        font-size:16px;
        line-height:1.35;
    }
    .context-sidebar-link-list,
    .context-sidebar-flow-list{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
        gap:5px 6px;
        margin:0;
        padding:0;
        list-style:none;
    }
    .context-sidebar-link-list li,
    .context-sidebar-flow-list li{
        flex:0 0 auto;
        min-width:0;
        max-width:100%;
        list-style:none;
    }
    .context-sidebar-link,
    .context-sidebar-flow-link{
        display:block;
        min-width:0;
        max-width:100%;
        min-height:40px;
        padding:7px 8px;
        border:1px solid #e2eceb;
        border-radius:5px;
        background:#f7f9f9;
        color:var(--text-primary);
        font-size:15.5px;
        line-height:1.45;
        overflow-wrap:anywhere;
        text-decoration:none;
    }
    .context-sidebar-flow-link{
        color:var(--content-link,var(--brand-dark));
    }
    .context-sidebar-link:hover,
    .context-sidebar-link:focus-visible,
    .context-sidebar-flow-link:hover,
    .context-sidebar-flow-link:focus-visible{
        background:#edf6f5;
        color:var(--brand-dark);
        text-decoration:underline;
        text-underline-offset:3px;
    }
    .context-sidebar__more{
        display:flex;
        width:max-content;
        min-height:40px;
        margin-top:7px;
        padding:6px 0;
        border:0;
        background:transparent;
        color:var(--brand-dark);
        font:inherit;
        font-size:15px;
        font-weight:600;
        line-height:1.35;
        text-align:left;
        cursor:pointer;
    }
    .context-sidebar__more:focus-visible{
        outline:3px solid var(--focus);
        outline-offset:2px;
    }
    .context-sidebar-section--outage .context-sidebar-locality-link,
    .context-sidebar-section--utility .context-sidebar-utility-link{
        min-height:40px;
        padding:7px 8px;
    }
    .context-sidebar-section--outage .context-sidebar-locality-link.is-current{
        background:#e3f2f0;
        border-color:#8fbdb9;
        color:var(--brand-dark);
        font-weight:600;
    }


    .related-navigation-links{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
        gap:5px 6px;
    }
    .related-navigation-links .context-link{
        display:inline-flex;
        align-items:center;
        min-width:0;
        max-width:100%;
        min-height:40px;
        padding:7px 8px;
        border:1px solid #e2eceb;
        border-radius:5px;
        background:#f7f9f9;
        overflow-wrap:anywhere;
        line-height:1.45;
    }
    .related-navigation-links .context-link:first-child{
        border-color:#b8d7d3;
        background:#edf6f5;
    }

    #utility-service-areas .utility-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:5px 8px;
    }
    #utility-service-areas .unit-link{
        min-width:0;
        min-height:42px;
        padding:7px 6px;
        overflow-wrap:anywhere;
    }
}


/* Unified shared mobile link-list contract */
@media(max-width:700px){
    .shared-mobile-link-list{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
        gap:5px 6px;
        margin:0;
        padding:0;
        list-style:none;
    }
    .shared-mobile-link-list > li{
        flex:0 0 auto;
        min-width:0;
        max-width:100%;
        list-style:none;
    }
    .shared-mobile-link-list > li > a{
        display:block;
        min-width:0;
        max-width:100%;
        min-height:40px;
        padding:7px 8px;
        border:1px solid #e2eceb;
        border-radius:5px;
        background:#f7f9f9;
        color:var(--text-primary);
        font-size:15px;
        line-height:1.45;
        overflow-wrap:anywhere;
        text-decoration:none;
    }
    .shared-mobile-link-list > li > a:hover,
    .shared-mobile-link-list > li > a:focus-visible{
        background:#edf6f5;
        color:var(--brand-dark);
        text-decoration:underline;
        text-underline-offset:3px;
    }
    .shared-mobile-link-list > li > a.is-current{
        border-color:#8fbdb9;
        background:#e3f2f0;
        color:var(--brand-dark);
        font-weight:600;
    }

    .province-content-shell .province-power-utilities .shared-mobile-link-list.province-utility-links{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
        gap:5px 6px;
        margin:8px 0 0;
        padding:0;
        list-style:none;
    }
    .province-content-shell .province-power-utilities .shared-mobile-link-list.province-utility-links > li{
        flex:0 0 auto;
        min-width:0;
        max-width:100%;
        padding:0;
        border:0;
    }
    .province-content-shell .province-power-utilities .shared-mobile-link-list.province-utility-links > li > a{
        min-height:40px;
        padding:7px 8px;
        border:1px solid #e2eceb;
        border-radius:5px;
        background:#f7f9f9;
        color:var(--brand-dark);
        font-weight:600;
    }

    .context-sidebar-nationwide .shared-mobile-link-list.context-sidebar-province-list,
    .province-content-shell .context-sidebar-region[data-sidebar-region] .shared-mobile-link-list.context-sidebar-province-list{
        display:flex;
        flex-wrap:wrap;
        align-items:flex-start;
        gap:5px 6px;
        margin:0;
        padding:0 0 6px;
        border-bottom:1px solid var(--border);
    }
    .context-sidebar-nationwide .shared-mobile-link-list.context-sidebar-province-list > li,
    .province-content-shell .context-sidebar-region[data-sidebar-region] .shared-mobile-link-list.context-sidebar-province-list > li{
        flex:0 0 auto;
        min-width:0;
        max-width:100%;
    }
    .context-sidebar-nationwide .shared-mobile-link-list.context-sidebar-province-list > li > a,
    .province-content-shell .context-sidebar-region[data-sidebar-region] .shared-mobile-link-list.context-sidebar-province-list > li > a{
        min-height:34px;
        padding:6px 8px;
        border:1px solid #e2eceb;
        border-radius:5px;
        background:#f7f9f9;
        color:var(--text-primary);
        font-size:14px;
        font-weight:400;
        line-height:1.35;
    }
    .context-sidebar-nationwide .shared-mobile-link-list.context-sidebar-province-list > li > a.is-current,
    .province-content-shell .context-sidebar-region[data-sidebar-region] .shared-mobile-link-list.context-sidebar-province-list > li > a.is-current{
        border-color:#b8d7d3;
        background:#edf6f5;
        color:var(--brand-dark);
        font-weight:700;
    }
}


/* Desktop outage title/detail spacing */
@media (min-width:701px){
    .content-shell--outage .outage-card{
        padding-top:0;
    }
}
/* Hanoi locality editorial introduction */
.hanoi-locality-intro{margin-top:18px;padding-inline:16px}
.hanoi-locality-intro h2{margin:0 0 8px;color:var(--text-primary);font-size:21px;line-height:1.3}
.hanoi-locality-intro p{max-width:760px;margin:6px 0;color:var(--text);font-size:15.5px;line-height:1.58}
.hanoi-locality-intro p:last-child{margin-bottom:0}
@media(min-width:701px){
    .locality-content-shell > .content-shell__main > .hanoi-locality-intro{margin-top:24px;padding-inline:22px;background-color: #e4f3f2;}
}
@media(max-width:700px){
    .hanoi-locality-intro{margin-top:22px;padding-inline:12px;background-color: #e4f3f2;}
    .hanoi-locality-intro h2{font-size:19px;line-height:1.35}
    .hanoi-locality-intro p{font-size:15.5px;line-height:1.65}
}

/* Province detailed utility contacts: keep each utility together in a compact grid. */
.province-content-shell .province-utility-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:22px;
    row-gap:14px;
    margin-top:14px;
}
.province-content-shell .province-utility-contact-grid .utility-contact-list{
    min-width:0;
    margin:0;
    gap:4px;
    align-content:start;
}
.province-content-shell .province-utility-contact-grid .utility-contact-list dt{
    margin-bottom:2px;
}
.province-content-shell .province-utility-contact-grid .utility-contact-list a{
    overflow-wrap:anywhere;
}
@media(max-width:700px){
    .province-content-shell .province-utility-contact-grid{
        grid-template-columns:1fr;
        row-gap:12px;
    }
}

/* Alternating background for complete shared outage records */
/*.outage-date-group-list > .outage-card-compact:nth-child(even),
.outage-date-group-list > article.outage-card:nth-of-type(even),
.outage-date-group-list > .outage-geography:has(+ article.outage-card:nth-of-type(even)){
    background:#f7faf9;
}*/
.outage-card .outage-administrative-unit a,
.outage-card .outage-management-unit-link{
    color:inherit;
    text-decoration-line:underline;
    text-decoration-thickness:1px;
    text-decoration-color:#7b898d;
    text-underline-offset:2px;
}
.outage-card .outage-administrative-unit a:hover,
.outage-card .outage-administrative-unit a:focus-visible,
.outage-card .outage-management-unit-link:hover,
.outage-card .outage-management-unit-link:focus-visible{
    color:inherit;
    text-decoration-color:currentColor;
}
.outage-card .outage-administrative-unit a:focus-visible,
.outage-card .outage-management-unit-link:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}