/* Shared research presentation. All evidence and copy come from the city record. */
.hero-market{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1.3fr);gap:12px 22px;max-width:650px;margin:22px 0 0;padding:24px 25px 16px;background:#fffdf4;color:#0a2459;border-left:5px solid #203e78;box-shadow:5px 5px 0 #203e78}
.hero-market-number{align-self:center;min-width:0}
.hero-market-number strong{display:block;font:400 clamp(38px,4.3vw,62px)/1 var(--serif);letter-spacing:-.06em;font-variant-numeric:lining-nums tabular-nums}
.hero-market-number span{display:block;font-size:12px;line-height:1.4;font-weight:700;margin-top:8px;max-width:180px}
.hero-market-copy p{font-size:14px;line-height:1.55;margin:0 0 10px;text-wrap:pretty}
.hero-market-copy small{font-size:10px;line-height:1.5;display:block}
.hero-market-copy a{font-weight:700}
.market-jump{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid #3d5b9144;padding-top:12px;font-size:11px;font-weight:700;text-decoration:none}
.market-jump span{font-size:22px;line-height:1}
.market-section{padding-top:86px;padding-bottom:70px;background:#fffdf4;color:#0a2459}
.market-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:end;margin-bottom:42px}
.market-heading h2{font-size:clamp(38px,4.3vw,62px);margin:0;text-wrap:balance}
.market-heading>p{font-size:16px;line-height:1.75;margin:0 0 5px}
.market-heading .eyebrow{color:#203e78}
.market-dashboard{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6%;align-items:start}
.market-evidence{min-width:0;background:#203e78;color:#fffdf4;padding:32px;position:relative;border-radius:2px 28px 2px 2px}
.market-comparison{margin:0 0 32px}
.market-comparison figcaption{font:400 29px/1.15 var(--serif);max-width:24ch;text-wrap:balance}
.market-period{font-size:11px;margin:12px 0 23px;color:#fffdf4}
.market-chart-row{margin:0 0 18px}
.market-chart-row>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px}
.market-chart-row strong{font-size:18px;font-variant-numeric:tabular-nums}
.market-chart-row svg{display:block;width:100%;height:12px}
.market-bar-track{fill:#3d5b91}
.market-bar-fill{fill:#fffdf4}
.market-chart-row.national{padding-top:15px;border-top:1px dashed #fffdf466}
.market-chart-row.national .market-bar-fill{fill:#b4c3de}
.market-source-link{font-size:11px;display:inline-block;margin-top:5px}
.market-stats{display:grid;grid-template-columns:1fr;gap:25px}
.market-stat+ .market-stat{padding-top:25px;border-top:1px solid #fffdf455}
.market-stat strong{font:400 clamp(48px,5vw,76px)/1 var(--serif);letter-spacing:-.065em;font-variant-numeric:lining-nums tabular-nums}
.market-stat p{font-size:16px;line-height:1.45;font-weight:700;margin:10px 0}
.market-stat small{display:block;font-size:11px;line-height:1.7}
.market-comparison+.market-stats{grid-template-columns:1fr 1fr;gap:22px;padding-top:28px;border-top:1px solid #fffdf477}
.market-comparison+.market-stats .market-stat+.market-stat{padding-top:0;border-top:0}
.market-comparison+.market-stats .market-stat strong{font-size:clamp(36px,3.3vw,50px)}
.market-comparison+.market-stats .market-stat p{font-size:12px;line-height:1.5}
.market-advice>.eyebrow{border-bottom:1px solid #3d5b9177;margin:0;padding:0 0 18px}
.market-advice article{display:flex;gap:21px;padding:26px 0;border-bottom:1px solid #3d5b9144}
.market-step{flex:none;font:italic 27px/1.1 var(--serif);color:#3d5b91;padding-top:2px}
.market-advice h3{font-size:30px;margin:0 0 14px;text-wrap:balance}
.market-advice article p{font-size:15px;line-height:1.75;margin:0;text-wrap:pretty}
.market-editorial-note{font-size:11px;line-height:1.6;margin:17px 0 0}
.market-areas{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;margin-top:60px;padding-top:40px;border-top:2px solid #203e78}
.market-areas h3{font-size:clamp(29px,3vw,40px);margin:0 0 20px}
.market-areas>div>p{font-size:15px;line-height:1.75;margin-bottom:0}
.market-place{border-bottom:1px solid #3d5b9155}
.market-place:first-child{border-top:1px solid #3d5b9155}
.market-place summary{display:flex;align-items:center;gap:14px;padding:18px 0;list-style:none;font-weight:700;font-size:15px;cursor:pointer}
.market-place summary::-webkit-details-marker,.market-sources summary::-webkit-details-marker{display:none}
.market-place-dot{width:11px;height:11px;border:2px solid #203e78;border-radius:50%;flex:none;position:relative}
.market-place[open] .market-place-dot{background:#203e78;box-shadow:0 0 0 4px #3d5b9122}
.market-place-toggle{margin-left:auto;font:400 24px/1 var(--sans)}
.market-place[open] .market-place-toggle{transform:rotate(45deg)}
.market-place p{font-size:14px;line-height:1.75;margin:0;padding:0 30px 22px 25px}
.market-place p.market-place-context{padding-bottom:12px;color:#203e78}
.market-bottom{display:flex;align-items:flex-start;gap:35px;justify-content:space-between;border-top:1px solid #3d5b9155;margin-top:35px;padding-top:30px}
.market-bottom>.button{flex-shrink:0;max-width:48%}
.market-sources{font-size:12px;width:50%;min-width:0;scroll-margin-top:30px}
.market-sources summary{display:flex;align-items:center;gap:20px;justify-content:space-between;font-weight:700;padding:15px 0;cursor:pointer;list-style:none}
.market-sources summary>span{font-size:22px;font-weight:400}
.market-sources[open] summary>span{transform:rotate(45deg)}
.market-source-body{border-top:1px solid #3d5b9155;padding-top:20px;line-height:1.75}
.market-source-body ul{padding-left:18px;margin:18px 0}
.market-source-body li{margin:0 0 13px;padding-left:3px;overflow-wrap:anywhere}
.market-source-body li>span{display:block;font-size:11px}
.market-source-body dl{margin:20px 0}
.market-source-body dt{font-weight:700}
.market-source-body dd{margin:4px 0 12px}
@media(min-width:651px) and (max-width:1000px){
  .hero-market{grid-template-columns:1fr;padding:20px}.hero-market-number{display:flex;gap:20px;align-items:center}.hero-market-number span{max-width:180px;margin-top:0}
  .market-dashboard{gap:4%}.market-evidence{padding:25px}.market-comparison+.market-stats{grid-template-columns:1fr}.market-comparison+.market-stats .market-stat+.market-stat{padding-top:22px;border-top:1px solid #fffdf455}
}
@media(max-width:850px){
  .market-heading{grid-template-columns:1fr;gap:25px}.market-heading>p{max-width:65ch}.market-areas{gap:5%;grid-template-columns:1fr 1.2fr}
}
@media(max-width:650px){
  .hero-market{order:3;margin:0 0 22px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px 17px;padding:20px 18px 14px;width:100%;box-shadow:4px 4px 0 #203e78}
  .hero-market-number strong{font-size:clamp(37px,10.5vw,54px)}.hero-market-number span{font-size:11px;max-width:135px}
  .hero-market-copy p{font-size:12px;line-height:1.5}.hero-market-copy small{font-size:10px}.market-jump{font-size:10px}
  .hero-description{order:4}.hero-actions{order:5}.contact-card{order:6}
  .market-section{padding-top:55px;padding-bottom:55px}.market-heading{gap:20px;margin-bottom:28px}.market-heading h2{font-size:39px}.market-heading>p{font-size:16px}
  .market-dashboard{grid-template-columns:1fr;gap:35px}.market-evidence{padding:26px}.market-comparison figcaption{font-size:30px}.market-comparison+.market-stats{gap:15px}.market-comparison+.market-stats .market-stat strong{font-size:39px}
  .market-stat strong{font-size:62px}.market-advice article{gap:18px;padding:25px 0}.market-advice article p{font-size:16px}.market-advice h3{font-size:29px}
  .market-areas{grid-template-columns:1fr;gap:25px;margin-top:38px;padding-top:30px}.market-areas h3{font-size:33px}.market-areas>div>p{font-size:16px}.market-place summary{font-size:15px;min-height:58px}.market-place p{font-size:15px;padding-right:8px}
  .market-bottom{flex-direction:column;gap:20px;margin-top:30px;padding-top:26px}.market-bottom>.button{max-width:none;width:100%;font-size:12px}.market-sources{width:100%}.market-source-body{font-size:12px}
}
@media(max-width:350px){.hero-market{grid-template-columns:1fr}.hero-market-number{display:flex;gap:15px;align-items:center}.hero-market-number span{margin:0}.hero-market-copy p{font-size:13px}.market-comparison+.market-stats{grid-template-columns:1fr}}
