.housing-report{background:#fdfaf6;color:#1a2638;font-family:'Nunito Sans',sans-serif}.housing-report *{box-sizing:border-box}.hg-wrap{width:min(1100px,calc(100% - 44px));margin:auto}.hg-hero{background:#172437;color:#fdfaf6;padding:64px 0 0}.housing-report .hg-kicker{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;line-height:1.6}.hg-hero .hg-kicker,.hg-hero .hg-kicker a{color:#f7a18c}.housing-report h1{font-family:'Lora',serif;font-weight:500;font-size:clamp(3.5rem,8vw,7rem);line-height:1.04;letter-spacing:-.05em;margin:30px 0;color:inherit;max-width:1000px}.housing-report h1 em{color:#bac9ff;font-weight:500}.housing-report .hg-dek{max-width:780px;font-size:clamp(1.15rem,2.3vw,1.5rem);line-height:1.6;color:#e0e5ed}.hg-meta{font-size:.8rem;color:#c3cedc;margin:25px 0 40px}.hg-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #657083}.hg-hero-grid>div{padding:24px 20px 30px 0}.hg-hero-grid span,.hg-flow span,.hg-ledger span,.hg-timeline span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:12px}.hg-hero-grid span{color:#f7a18c}.hg-hero-grid strong{font-family:'Lora',serif;font-size:1.2rem;font-weight:500}.hg-body{padding:50px 0 70px}.housing-report h2{font-family:'Lora',serif;font-size:clamp(2rem,4.7vw,3.5rem);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:18px 0 30px;max-width:950px}.housing-report h3{font-family:'Lora',serif;font-size:1.5rem;font-weight:600;line-height:1.3;margin:28px 0 18px}.hg-body p{max-width:790px;font-size:1.06rem;line-height:1.85;margin:20px 0;color:#29394b}.housing-report a{color:#254ea0;text-decoration:underline;text-underline-offset:3px}.housing-report a:hover{color:#963b2c}.housing-report a:focus-visible,.housing-report input:focus-visible,.hg-table-scroll:focus-visible{outline:3px solid #b34e32;outline-offset:4px}.hg-body .hg-kicker{color:#8f3b2b}.hg-summary{padding:30px 36px;background:#eceff7;border-left:5px solid #486bb1}.hg-summary p{max-width:850px}.hg-body .hg-note{font-size:.86rem;line-height:1.7;color:#45556a}.hg-contents{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;padding:30px 0 40px;font-size:.85rem;font-weight:800}.hg-body>section{padding:55px 0;border-top:1px solid #c4c9d0;scroll-margin-top:35px}.hg-panel{background:#f2eee5;border:1px solid #c7c7c3;padding:28px;margin:32px 0}.hg-panel h3{margin:8px 0 20px}.hg-panel figcaption{font-size:.8rem;line-height:1.7;margin-top:22px;max-width:830px}.hg-population{display:grid;gap:17px;margin:25px 0}.hg-pop-row{display:grid;grid-template-columns:50px 1fr 100px;gap:14px;align-items:center;font-size:.85rem}.hg-bar{height:20px;background:#d6dbe4}.hg-bar>span{display:block;height:100%;background:#4568a5}.hg-pop-row:last-child .hg-bar>span{background:#a45036}.hg-pop-row strong{text-align:right;font-variant-numeric:tabular-nums}.hg-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.hg-controls label{font-size:.85rem;font-weight:800;line-height:1.6}.hg-controls input{display:block;width:100%;max-width:300px;margin-top:8px;padding:11px;border:1px solid #748092;border-radius:0;font:inherit;background:#fff;color:#172437}.hg-body .hg-result{font-family:'Lora',serif;font-size:2rem;color:#254c8d}.hg-flow{display:grid;grid-template-columns:repeat(4,1fr);background:#172437;color:#fdfaf6;margin:30px 0}.hg-flow>div{padding:23px;border-right:1px solid #59687c}.hg-flow span{color:#bac9ff}.hg-flow strong{font-size:.95rem;line-height:1.55;display:block}.hg-table-scroll{overflow-x:auto;margin:30px 0;border:1px solid #c4c9d0}.housing-report table{width:100%;border-collapse:collapse;min-width:690px;text-align:left;font-size:.9rem;line-height:1.65}.housing-report th,.housing-report td{padding:20px;vertical-align:top;border-bottom:1px solid #c4c9d0}.housing-report thead{background:#172437;color:#fdfaf6}.housing-report tbody th{width:23%;background:#eeeee8;font-weight:800}.housing-report small{font-weight:400;color:#45556a}.hg-finance{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.hg-finance>div{border-top:2px solid #667ea6;padding:16px 0}.hg-finance span{font-size:.78rem;display:block;line-height:1.6}.hg-finance strong{display:block;font:500 clamp(1.5rem,3vw,2.2rem)/1.3 'Lora',serif;margin-top:10px}.hg-finance .hg-shortfall{grid-column:1/-1;font-size:.9rem;color:#7a3020}.hg-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b4bccc;border:1px solid #b4bccc;margin:35px 0}.hg-ledger>div{background:#edf0f7;padding:23px}.hg-ledger strong{font:500 2rem/1.2 'Lora',serif}.hg-ledger p{font-size:.88rem;line-height:1.7}.hg-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:35px 0}.hg-timeline>div{border-top:4px solid #ad5e46;padding-top:20px}.hg-timeline h3{font-size:1.35rem;margin-top:12px}.hg-timeline p{font-size:.95rem;line-height:1.8}.hg-body .hg-conclusion{font-family:'Lora',serif;font-size:1.45rem;line-height:1.65;border-left:5px solid #aa573e;padding-left:25px;margin-top:35px}.hg-error{color:#922e21!important}
@media(max-width:650px){.hg-wrap{width:calc(100% - 32px)}.hg-hero{padding-top:35px}.hg-hero-grid{grid-template-columns:1fr}.hg-hero-grid>div{padding:18px 0;border-bottom:1px solid #59687c}.hg-hero-grid span{margin-bottom:6px}.hg-summary{padding:22px}.hg-contents{grid-template-columns:1fr;gap:17px}.hg-panel{padding:20px}.hg-controls{grid-template-columns:1fr}.hg-controls input{max-width:none}.hg-flow,.hg-ledger,.hg-timeline{grid-template-columns:1fr}.hg-flow>div{border-bottom:1px solid #59687c}.hg-finance{grid-template-columns:1fr}.hg-finance strong{font-size:2rem}.hg-pop-row{grid-template-columns:40px 1fr 82px;gap:8px;font-size:.75rem}.hg-body>section{padding:38px 0}.hg-timeline{gap:15px}}
@media print{.hg-contents,.hg-controls,.site-header,.site-footer{display:none}.hg-hero{background:white;color:#172437}.hg-hero .hg-dek,.hg-meta,.hg-hero h1 em{color:#172437}.hg-wrap{width:100%}.hg-body>section{break-before:auto}.hg-panel,.hg-ledger{break-inside:avoid}.housing-report a{color:inherit}.hg-table-scroll{overflow:visible}.housing-report table{min-width:0}}
