/* PHASE_IMM_PORTAL_3_2026_10_20. All rules are scoped; original site chrome is retained. */
.imm-portal{--ip-ink:#172d2a;--ip-teal:#17665b;--ip-line:#d4e2dd;--ip-muted:#50645d;max-width:1180px;margin:0 auto;padding:34px 24px 56px;clear:both;color:var(--ip-ink);background:#fff;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0}
.imm-portal *{box-sizing:border-box;letter-spacing:0}.imm-portal h1,.imm-portal h2,.imm-portal h3{font-family:inherit;font-weight:650;color:var(--ip-ink);line-height:1.25;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.imm-portal h1{font-size:38px;max-width:26ch;margin:8px 0 18px}.imm-portal h2{font-size:26px;margin-bottom:18px;max-width:40ch}.imm-portal h3{font-size:19px;margin:22px 0 10px}.imm-portal p,.imm-portal li{max-width:68ch;color:#344b42}.imm-portal p{margin:12px 0 18px}.imm-portal a{color:#146354;text-decoration:underline;text-underline-offset:3px}.imm-portal a:hover{color:#0b4036}.imm-portal a:focus-visible,.imm-portal button:focus-visible,.imm-portal input:focus-visible,.imm-portal [tabindex]:focus-visible{outline:3px solid #175e91;outline-offset:3px}
.imm-portal .breadcrumbs{font-size:12px;margin-bottom:22px;color:#64776f}.imm-portal .ip-nav{display:flex;gap:8px 20px;flex-wrap:wrap;padding:14px 0;border-block:1px solid var(--ip-line);font-size:13px}.imm-portal .ip-nav a{text-decoration:none;color:#355447}.imm-portal .ip-nav [aria-current=page]{color:#123d30;font-weight:750;text-decoration:underline}.imm-portal .edition{font-size:11px;color:#705114;padding:14px 0 8px}.imm-portal .eyebrow{font-size:11px;font-weight:700;color:#60776b}.imm-portal .ip-intro{padding:26px 0 30px;border-bottom:2px solid #284f40}.imm-portal .ip-intro p{font-size:18px;max-width:64ch;margin-bottom:0}.imm-portal .ip-section{padding:32px 0;border-bottom:1px solid var(--ip-line)}.imm-portal .ip-section:last-child{border-bottom:0}.imm-portal .ownership{padding:22px 0;color:#586b61;font-size:13px;max-width:85ch}.imm-portal .actions,.imm-portal .tool-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:22px 0}.imm-portal .actions a,.imm-portal .tool-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 17px;border:1px solid #8ba99b;border-radius:4px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}.imm-portal .actions .primary{background:var(--ip-teal);border-color:var(--ip-teal);color:white}.imm-portal .actions a:hover{background:#eaf4ee;color:#153d30}.imm-portal .actions .primary:hover{background:#104f46;color:white}
.imm-portal .table-scroll{max-width:100%;overflow:auto;border:1px solid var(--ip-line);border-radius:4px;margin:20px 0;overscroll-behavior-x:contain}.imm-portal table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5;background:white}.imm-portal caption{caption-side:top;text-align:left;padding:14px 16px;color:#425d50;font-size:12px;max-width:none}.imm-portal th,.imm-portal td{padding:14px 16px;border-top:1px solid var(--ip-line);text-align:left;vertical-align:top}.imm-portal thead th{background:#edf4ef;color:#213f30;font-size:12px;font-weight:700}.imm-portal tbody th{font-weight:650;min-width:160px;background:#f9fbf9}.imm-portal tbody tr:nth-child(even) td{background:#f8faf9}.imm-portal .source{display:block;color:#596d62;font-size:11px;line-height:1.55;margin-top:8px;max-width:34ch;white-space:normal;overflow-wrap:anywhere}.imm-portal .source a{color:#3d6351;font-weight:500}.imm-portal .fact-value{font-weight:600;font-size:16px;line-height:1.45;max-width:65ch;white-space:normal;overflow-wrap:anywhere}.imm-portal .ip-section>.source{margin-bottom:22px;max-width:65ch}.imm-portal .ip-section>.fact-value{font-size:18px}.imm-portal .narrow{max-width:680px;border:1px solid var(--ip-line);border-radius:4px;margin:18px 0}.imm-portal .compare-table{min-width:1340px}.imm-portal .compare-table th:first-child{position:sticky;left:0;z-index:1;min-width:165px;max-width:190px;box-shadow:1px 0 var(--ip-line)}.imm-portal .compare-table th,.imm-portal .compare-table td{min-width:185px;max-width:270px}.imm-portal .compare-table td p{font-size:12px;line-height:1.5}.imm-portal .sort{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;padding:0;min-height:36px;font-weight:700}.imm-portal .sort span{font-size:17px;flex:none}.imm-portal .compare-select{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;border:1px solid var(--ip-line);padding:18px 16px 14px;margin:20px 0;border-radius:4px;min-width:0}.imm-portal legend{font-size:13px;padding:0 6px;font-weight:650;color:#365749}.imm-portal label{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:13px;color:#314f42;cursor:pointer}.imm-portal input[type=checkbox]{width:18px;height:18px;accent-color:#17665b;flex:none;margin:0}.imm-portal .reset{font:inherit;font-size:12px;padding:8px 13px;background:#fff;border:1px solid #8ca99b;border-radius:4px;min-height:36px;cursor:pointer}.imm-portal .table-help,.imm-portal .filter-status{font-size:13px;color:#52695d}.imm-portal .province-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.imm-portal .province-item{position:relative;border-top:1px solid var(--ip-line);padding:24px 0;min-width:0}.imm-portal .province-item h3{font-size:22px;margin:0 0 12px;padding-right:40px}.imm-portal .province-item p{font-size:14px;line-height:1.7}.imm-portal .province-code{position:absolute;right:0;top:24px;color:#7d9387;font-size:12px;font-weight:700}.imm-portal .item-tail{font-size:12px;color:#496453;border-left:3px solid #668974;padding-left:12px;margin-top:16px}.imm-portal .table-scroll[hidden],.imm-portal tr[hidden]{display:none!important}
@media(max-width:767px){.imm-portal{padding:24px 16px 36px;font-size:16px}.imm-portal h1{font-size:30px}.imm-portal h2{font-size:23px}.imm-portal h3{font-size:18px}.imm-portal .ip-intro{padding:20px 0 25px}.imm-portal .ip-intro p{font-size:17px}.imm-portal .ip-nav{gap:10px 16px;font-size:12px}.imm-portal .ip-section{padding:26px 0}.imm-portal .province-grid{grid-template-columns:1fr}.imm-portal td,.imm-portal th{padding:12px}.imm-portal .compare-table th:first-child{min-width:140px;max-width:150px}.imm-portal .compare-table th,.imm-portal .compare-table td{min-width:170px}.imm-portal .actions a{width:100%;justify-content:center}.imm-portal .breadcrumbs{font-size:11px;overflow-wrap:anywhere}.imm-portal .source{font-size:11px}.imm-portal .compare-select{gap:4px 12px}}
.imm-portal h1{text-align:left}.imm-portal[data-ip-page=compare-provinces] .ip-intro{padding:18px 0}.imm-portal[data-ip-page=compare-provinces] .ip-intro p{font-size:15px;line-height:1.5}.imm-portal[data-ip-page=compare-provinces] .ip-intro h1{font-size:32px;margin-bottom:10px}.imm-portal[data-ip-page=compare-provinces] .compare-select{margin:16px 0;padding:10px 14px}.imm-portal[data-ip-page=compare-provinces] .table-scroll{margin-top:16px}
@media(max-width:767px){.imm-portal[data-ip-page=compare-provinces] .ip-intro h1{font-size:28px}.imm-portal[data-ip-page=compare-provinces] .ip-intro{padding:14px 0}.imm-portal[data-ip-page=compare-provinces] .compare-select{gap:0 12px;padding:8px 12px}.imm-portal[data-ip-page=compare-provinces] .table-scroll{margin-top:10px}.imm-portal[data-ip-page=compare-provinces] .edition{font-size:10px;padding-top:10px}.imm-portal[data-ip-page=compare-provinces] .breadcrumbs{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.imm-portal *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* PHASE_IMM_PORTAL_REVIEW_R2_2026_10_20: compact tables and mobile record cards. */
.imm-portal .source-line{font-size:12px;line-height:1.55;color:#53695f;max-width:90ch;margin:14px 0 20px;overflow-wrap:anywhere}
.imm-portal .source-line a{font-weight:500}.imm-portal .planning-note{font-size:13px;line-height:1.6;color:#53695f;border-top:1px solid var(--ip-line);padding-top:22px;margin-top:30px;max-width:85ch}
.imm-portal .comparison-wrap{width:100%;max-width:100%;margin:20px 0;border:1px solid var(--ip-line);border-radius:4px}
.imm-portal .compare-table,.imm-portal .services-table{width:100%;min-width:0;table-layout:fixed}
.imm-portal .compare-table th,.imm-portal .compare-table td,.imm-portal .services-table th,.imm-portal .services-table td{min-width:0;max-width:none;padding:13px 10px;overflow-wrap:anywhere;word-break:normal}
.imm-portal .compare-table th:first-child{position:static;min-width:0;max-width:none;box-shadow:none;width:18%}
.imm-portal .compare-table th:nth-child(2),.imm-portal .compare-table th:nth-child(3){width:11%}
.imm-portal .compare-table th:nth-child(4){width:13%}.imm-portal .compare-table th:nth-child(5){width:15%}.imm-portal .compare-table th:nth-child(6),.imm-portal .compare-table th:nth-child(7){width:16%}
.imm-portal .services-table th:first-child{width:14%}.imm-portal .services-table th:nth-child(2){width:17%}.imm-portal .services-table th:nth-child(3){width:20%}.imm-portal .services-table th:nth-child(4){width:23%}.imm-portal .services-table th:nth-child(5){width:14%}.imm-portal .services-table th:nth-child(6){width:12%}
.imm-portal .services-table{font-size:13px;line-height:1.55}.imm-portal .compare-table .cell-value{font-size:15px}.imm-portal .compare-table small{display:block;font-size:11px;line-height:1.4;color:#50645d;margin-top:5px;font-weight:400}
.imm-portal .mobile-label{display:none}.imm-portal sup{font-size:10px;position:relative;top:-.3em}.imm-portal .sort{display:block;min-height:44px;line-height:1.4}.imm-portal .sort span{font-size:14px}
.imm-portal .card-stats{margin:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.imm-portal .card-stats dt{font-size:11px;line-height:1.5;font-weight:500;color:#53695f}.imm-portal .card-stats dd{font-size:16px;margin:5px 0 0;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.imm-portal .mini-chart{margin:24px 0;max-width:680px}.imm-portal .mini-chart figcaption{font-size:13px;font-weight:650;margin-bottom:14px;color:#355447}.imm-portal .chart-legend{display:flex;gap:20px;font-size:12px;line-height:1.4;margin-bottom:14px}.imm-portal .chart-legend span:before{content:"";display:inline-block;width:14px;height:8px;margin-right:6px;background:#17665b}.imm-portal .chart-legend .key-two:before{background:#26749a}
.imm-portal .rent-bar-row{display:grid;grid-template-columns:minmax(100px,30%) minmax(0,1fr);gap:18px;align-items:center;margin:10px 0}.imm-portal .rent-bar-row>span{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.imm-portal .mini-chart svg{display:block;width:100%;height:auto}.imm-portal .tax-chart svg text{font:21px Arial,sans-serif;fill:#172d2a}
.imm-portal .benchmark-tool{padding:26px 0;border-bottom:1px solid var(--ip-line)}.imm-portal .benchmark-tool h2{font-size:24px;margin-bottom:18px}.imm-portal .benchmark-tool>p{font-size:13px;color:#52645e}
.imm-portal .benchmark-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:780px}.imm-portal .benchmark-modes button{min-height:108px;width:100%;padding:18px;border:2px solid transparent;border-radius:6px;font:600 15px/1.5 inherit;cursor:pointer;text-align:left;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.imm-portal .benchmark-modes strong{display:block;font-size:24px;line-height:1.3;margin-top:7px}.imm-portal .income-high{background:#f5c547;color:#28220c}.imm-portal .income-low{background:#1469cf;color:#fff}.imm-portal .benchmark-modes [aria-pressed=true]{border-color:#172d2a;box-shadow:0 0 0 2px #fff inset}.imm-portal .benchmark-result{margin-top:24px}.imm-portal .benchmark-winner{font-size:28px;font-weight:750;margin:8px 0}.imm-portal .benchmark-total{font-size:22px;color:#17665b;font-weight:700}.imm-portal .benchmark-result table{table-layout:fixed}.imm-portal .benchmark-result td,.imm-portal .benchmark-result th{overflow-wrap:anywhere;font-size:13px;padding:12px 8px}.imm-portal .benchmark-result details{margin:16px 0}.imm-portal .benchmark-result summary{cursor:pointer;font-weight:650}
.imm-portal .benchmark-modes button{font-family:inherit;font-size:15px;font-weight:600;line-height:1.5}
.imm-portal .mobile-sort{display:none}
.imm-portal[data-ip-page=methodology] table{table-layout:fixed;font-size:12px}.imm-portal[data-ip-page=methodology] th,.imm-portal[data-ip-page=methodology] td{min-width:0;padding:9px;overflow-wrap:anywhere}
@media(max-width:767px){
 .imm-portal .comparison-wrap{border:0}.imm-portal .compare-table,.imm-portal .services-table,.imm-portal .compare-table tbody,.imm-portal .services-table tbody{display:block;table-layout:auto}
 .imm-portal .compare-table thead,.imm-portal .services-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .imm-portal .compare-table caption,.imm-portal .services-table caption{display:block;padding:10px 0 14px;max-width:100%;line-height:1.6}
 .imm-portal .compare-table tr,.imm-portal .services-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ip-line);border-radius:4px;margin:0 0 16px;overflow:hidden;width:100%}
 .imm-portal .compare-table td,.imm-portal .compare-table th,.imm-portal .services-table td,.imm-portal .services-table th{display:block;width:auto!important;min-width:0!important;max-width:none;padding:12px;border-top:1px solid var(--ip-line);background:#fff}
 .imm-portal .compare-table th:first-child,.imm-portal .services-table th:first-child{grid-column:1/-1;background:#edf4ef;border-top:0;font-size:17px;position:static}
 .imm-portal .services-table td{grid-column:1/-1}.imm-portal .mobile-label{display:block;font-size:11px;font-weight:500;line-height:1.4;color:#50645d;margin-bottom:6px}.imm-portal .cell-value{display:block;font-size:15px;line-height:1.5}.imm-portal .compare-table th:first-child .mobile-label,.imm-portal .services-table th:first-child .mobile-label{display:none}
 .imm-portal .mobile-sort{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:13px}.imm-portal .mobile-sort select{font:inherit;max-width:72%;padding:9px 12px;border:1px solid #8ca99b;border-radius:4px;min-height:44px;background:#fff;color:#172d2a}
 .imm-portal .card-stats{gap:10px}.imm-portal .card-stats dd{font-size:14px}.imm-portal .rent-bar-row{grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:12px}.imm-portal .source-line{font-size:11px}
 .imm-portal .benchmark-modes{gap:10px}.imm-portal .benchmark-modes button{font-size:13px;padding:14px;min-height:116px}.imm-portal .benchmark-modes strong{font-size:20px}.imm-portal .benchmark-winner{font-size:25px}.imm-portal .benchmark-result .table-scroll{overflow:auto}
}
