/* Purposeful, data-driven previews. Colour is always accompanied by a value. */
.hc-metric{container-type:size;display:flex;flex-direction:column;gap:10px;padding:16px 20px;background:#f5f6f0;min-width:0;min-height:0;color:#203e32;font-variant-numeric:tabular-nums}
.hc-metric-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;flex:none}
.hc-metric-title{font-size:13px;font-weight:750;letter-spacing:-.25px;line-height:1.4}
.hc-metric-switch{display:flex;gap:3px;padding:3px;border:1px solid #d6ddcf;border-radius:9px;background:#e9ede3;flex:none}
.hc-metric-switch button{border:0;background:transparent;border-radius:6px;min-height:36px;padding:6px 11px;color:#60715e;font-size:11px!important;font-weight:700!important;line-height:1.2;white-space:nowrap;transition:background .3s,color .3s,box-shadow .3s}
.hc-metric-switch button[aria-pressed=true]{background:#fff;color:#243d2e;box-shadow:0 2px 6px #203e3210}
.hc-metric .hc-metric-note{flex:none;margin:0;font-size:10px;line-height:1.45;color:#677361;letter-spacing:0}
.hc-invest-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;min-height:0;flex:1}
.hc-invest-map{position:relative;min-width:0;min-height:0;border-radius:11px;overflow:hidden;background:#e9ede1}
.hc-invest-svg{display:block;width:100%;height:100%;padding:3px 0 20px;overflow:visible}
.hc-invest-geography path{fill:#d6dfcd;stroke:#eef2e6;stroke-width:.8;stroke-linejoin:round}
.hc-invest-geography path[data-hcm-region]{stroke:#f6f7f0;stroke-width:2.5;transition:fill .9s}
.hc-invest-pin{color:var(--city-colour);transition:color .9s}
.hc-invest-pin-halo{fill:currentColor;opacity:.2;transform:scale(.9);transition:transform .7s,opacity .7s;transform-origin:center;transform-box:fill-box}
.hc-invest-pin-edge{fill:#fff;opacity:.9}
.hc-invest-pin-core{fill:currentColor;transition:fill .9s}
.hc-invest-pin.is-selected .hc-invest-pin-halo{opacity:.35;transform:scale(1.35)}
.hc-invest-pin.is-selected .hc-invest-pin-core{stroke:#203e32;stroke-width:2}
.hc-invest-map-caption{position:absolute;left:10px;top:10px;font-size:8px;letter-spacing:1.5px;font-weight:750;color:#7c8872;writing-mode:vertical-rl}
.hc-invest-colour-key{position:absolute;bottom:8px;left:10px;right:10px;display:flex;align-items:center;gap:6px;font-size:9px;white-space:nowrap;color:#53674e;font-weight:700}
.hc-invest-ramp{flex:1;height:5px;border-radius:3px;min-width:12px}
.hc-invest-data{display:flex;flex-direction:column;min-width:0;min-height:0;gap:8px}
.hc-invest-picker{position:relative;display:block;flex:none}
.hc-invest-picker>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hc-invest-picker select{width:100%;height:44px;border:1px solid #d7dfcf;border-radius:8px;background:#fcfdf9;color:#233d2d;font:inherit;font-size:15px;font-weight:750;padding:0 28px 0 12px;cursor:pointer;outline-offset:2px}
.hc-invest-picker select:focus-visible{outline:3px solid #9abd51}
.hc-invest-primary{display:flex;flex-direction:column;min-width:0;gap:0}
.hc-invest-primary>span{font-size:11px;line-height:16px;color:#63705c}
.hc-invest-primary>strong{font-size:38px;line-height:44px;letter-spacing:-1.7px;color:#254333;font-weight:700;white-space:nowrap}
.hc-invest[data-map-metric=price] .hc-invest-primary>strong{color:#655395;font-size:32px;letter-spacing:-1.4px}
.hc-invest-primary>small{font-size:10px;line-height:14px;color:#75816e}
.hc-invest-facts{margin:0;display:flex;flex-direction:column;gap:0;min-width:0;flex:1;justify-content:end}
.hc-invest-facts>div{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #dde3d5;min-height:24px;font-size:10px;line-height:1.3}
.hc-invest-facts dt{color:#66725e}
.hc-invest-facts dd{margin:0;font-weight:750;color:#2c4234;font-size:11px;white-space:nowrap}
.hc-invest-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:none}
.hc-invest-comparison button{border:1px solid #d6dfcd;border-radius:8px;background:#f9faf5;padding:7px 10px;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .3s,border-color .3s;font-size:11px!important;color:#3c513e}
.hc-invest-comparison button[aria-pressed=true]{background:#e3edda;border-color:#9fb68c}
.hc-invest-comparison button>span{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.hc-invest-comparison strong{font-size:12px;white-space:nowrap;font-weight:750}
.hc-invest-dot{background:var(--city-colour);display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;transition:background .9s}
.hc-invest[data-map-metric=price] .hc-invest-comparison button[aria-pressed=true]{border-color:#aca0c6;background:#eee9f5}
.hc-finance{gap:10px;padding:16px 20px;background:#f6f6ef}
.hc-finance-rate{display:flex;align-items:center;gap:18px;flex:none;border-top:1px solid #dce2d4;border-bottom:1px solid #dce2d4;padding:10px 0}
.hc-finance-rate>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:123px;flex:none}
.hc-finance-rate>div:first-child>span{font-size:11px;font-weight:700;color:#76826b}
.hc-finance-rate strong{font-size:25px;line-height:1.1;letter-spacing:-1px;font-weight:700}
.hc-finance-rate strong>small{font-size:16px;margin-left:2px;font-weight:600}
.hc-finance-rate-track{position:relative;flex:1;height:5px;min-width:35px;margin:0 4px;border-radius:5px;background:#dfe5d7}
.hc-finance-rate-track>span{position:absolute;inset:0;background:#78995d;transform:scaleX(0);transform-origin:left;border-radius:5px}
.hc-finance-rate-track>i{position:absolute;left:0;top:50%;width:11px;height:11px;background:#314f36;border:2px solid #f5f6ef;box-shadow:0 0 0 1px #9aaf87;border-radius:50%;transform:translate(-50%,-50%)}
.hc-finance-reset{font-size:10px;line-height:1.35;color:#7b856f;flex:none}
.hc-finance-reset strong{font-size:12px;letter-spacing:0;color:#3b503a;font-weight:750}
.hc-finance-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:18px;flex:1;min-height:0}
.hc-finance-result{display:flex;flex-direction:column;justify-content:center;min-width:0}
.hc-finance-result>span{font-size:11px;line-height:1.4;color:#68765e}
.hc-finance-result>strong{font-size:45px;line-height:1.13;letter-spacing:-2px;color:#35543b;font-weight:700;white-space:nowrap;transition:color .35s}
.hc-finance-result>small{font-size:10px;line-height:1.5;color:#79856e;margin-top:2px}
.hc-finance-negative .hc-finance-result>strong{color:#aa684e}
.hc-finance-debt{display:flex;flex-direction:column;gap:2px;padding-top:14px;margin-top:14px;border-top:1px solid #dde4d3}
.hc-finance-debt>span{font-size:10px;line-height:1.3;color:#79856e}
.hc-finance-debt>strong{font-size:21px;line-height:1.25;font-weight:700;color:#354c35;letter-spacing:-.5px}
.hc-finance-debt>small{font-size:10px;line-height:1.4;color:#6d7b62}
.hc-finance-chart{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0}
.hc-finance-chart-title{font-size:10px;font-weight:600;line-height:1.4;color:#78846e;display:block;padding-left:7px;margin-bottom:7px}
.hc-finance-chart>svg{width:100%;height:auto;max-height:170px;overflow:visible}
.hc-finance-chart svg text{font:11px Manrope,Arial,sans-serif;fill:#7d8972}
.hc-finance-grid{stroke:#dce3d2;stroke-width:.75}
.hc-finance-zero{stroke:#a4b196;stroke-width:1}
.hc-finance-reset-line{stroke:#c4ccbc;stroke-width:1;stroke-dasharray:3 5}
.hc-finance-baseline{fill:none;stroke:#9baa89;stroke-width:2;stroke-dasharray:4 5;stroke-linejoin:round}
.hc-finance-scenario{fill:none;stroke:#3d6749;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.hc-finance-endpoint{fill:#3d6749;stroke:#f6f6ef;stroke-width:2;transition:fill .35s}
.hc-finance-negative .hc-finance-scenario{stroke:#b87c5d}
.hc-finance-negative .hc-finance-endpoint{fill:#b87c5d}
.hc-finance-legend{display:flex;align-items:center;gap:9px;padding-left:7px;margin-top:6px;font-size:9px;line-height:1.4;color:#6c7d5f;white-space:nowrap}
.hc-finance-legend>span{display:flex;gap:4px;align-items:center}
.hc-finance-legend i{display:inline-block;width:12px;height:0;border-top:2px solid #3d6749;flex:none}
.hc-finance-legend>span:first-child i{border-top:2px dashed #9baa89}
.hc-finance-legend>strong{margin-left:auto;font-size:11px;font-weight:750;color:#3b5438;white-space:nowrap}
.hc-finance-negative .hc-finance-legend>strong{color:#aa684e}
.hc-finance-negative .hc-finance-legend>span:nth-child(2) i{border-top-color:#b87c5d}
.hc-finance .hc-finance-assumptions{border-top:1px solid #dce3d2;padding-top:9px;font-size:10px;line-height:1.5;max-width:100%}
.hc-metric-reduced *{transition:none!important;animation:none!important}
@container(max-width:480px){
  .hc-metric-title{font-size:12px}
  .hc-invest-body{gap:14px;grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
  .hc-invest-comparison button{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:7px 9px}
  .hc-invest-primary>strong{font-size:36px;line-height:42px}
  .hc-invest[data-map-metric=price] .hc-invest-primary>strong{font-size:29px}
  .hc-finance-body{gap:12px;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr)}
  .hc-finance-result>strong{font-size:38px}
  .hc-finance-legend{flex-wrap:wrap;column-gap:8px;row-gap:3px}
  .hc-finance-legend>strong{width:100%;margin-left:0;padding-top:1px}
}
@container(max-width:370px){
  .hc-invest .hc-metric-top{gap:8px;align-items:stretch;flex-direction:column}
  .hc-invest .hc-metric-title{display:none}
  .hc-invest .hc-metric-switch{width:100%}
  .hc-invest .hc-metric-switch button{flex:1;min-height:38px;font-size:11px!important}
  .hc-invest-body{gap:11px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
  .hc-invest-picker select{font-size:13px;padding-left:9px;padding-right:22px}
  .hc-invest-primary>span{font-size:10px;line-height:14px}
  .hc-invest-primary>strong{font-size:33px;line-height:41px}
  .hc-invest[data-map-metric=price] .hc-invest-primary>strong{font-size:25px;letter-spacing:-1px}
  .hc-invest-primary>small{font-size:9px;line-height:14px}
  .hc-invest-facts>div{min-height:26px;font-size:9px;gap:5px}
  .hc-invest-facts dt{max-width:54px}
  .hc-invest-facts dd{font-size:10px}
  .hc-invest-colour-key{flex-wrap:wrap;gap:4px;left:8px;right:8px;font-size:8px;justify-content:space-between}
  .hc-invest-colour-key .hc-invest-ramp{order:-1;flex:0 0 100%;height:4px}
  .hc-invest-comparison button{padding:7px 6px;font-size:10px!important;gap:5px}
  .hc-invest-comparison button>span{gap:4px}
  .hc-invest-comparison strong{font-size:11px}
  .hc-invest .hc-metric-note{font-size:9px;line-height:1.45}
  .hc-finance .hc-metric-top{gap:8px;align-items:center}
  .hc-finance .hc-metric-title{font-size:12px;max-width:96px;line-height:1.3}
  .hc-finance .hc-metric-switch button{padding:5px 9px;min-height:38px;font-size:11px!important}
  .hc-finance-rate{gap:12px;padding:11px 0}
  .hc-finance-rate>div:first-child{min-width:106px;gap:6px}
  .hc-finance-rate strong{font-size:24px}
  .hc-finance-rate-track{min-width:20px}
  .hc-finance-reset{font-size:9px}
  .hc-finance-reset strong{font-size:11px}
  .hc-finance-body{display:flex;flex-direction:column;gap:11px;justify-content:center}
  .hc-finance-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);column-gap:13px}
  .hc-finance-result>span,.hc-finance-result>strong,.hc-finance-result>small{grid-column:1}
  .hc-finance-result>strong{font-size:37px;line-height:1.2}
  .hc-finance-result>small{font-size:9px;line-height:1.35}
  .hc-finance-debt{grid-column:2;grid-row:1/4;margin:0;padding:2px 0 0 12px;border-top:0;border-left:1px solid #dde4d3;justify-content:center}
  .hc-finance-debt>strong{font-size:20px;line-height:1.4}
  .hc-finance-debt>small{font-size:9px;line-height:1.5}
  .hc-finance-chart{flex:1;min-height:0;justify-content:center}
  .hc-finance-chart-title{margin:0;font-size:9px}
  .hc-finance-chart>svg{max-height:140px;min-height:95px}
  .hc-finance-legend{flex-wrap:nowrap;font-size:9px;padding-left:7px;margin-top:0;gap:9px}
  .hc-finance-legend>strong{width:auto;margin-left:auto;font-size:10px;padding-top:0}
  .hc-finance .hc-finance-assumptions{font-size:9px;line-height:1.45;padding-top:9px}
}
@container(max-width:285px){
  .hc-invest-body{gap:9px;grid-template-columns:minmax(0,.78fr) minmax(0,1fr)}
  .hc-invest-primary>strong{font-size:31px}
  .hc-invest[data-map-metric=price] .hc-invest-primary>strong{font-size:23px}
  .hc-invest-comparison button>span{font-size:9px}
  .hc-invest-comparison strong{font-size:10px}
  .hc-invest-dot{width:5px;height:5px}
  .hc-finance .hc-metric-title{font-size:11px;max-width:83px}
  .hc-finance .hc-metric-switch button{padding:5px 7px;font-size:10px!important}
  .hc-finance-result>strong{font-size:32px}
  .hc-finance-debt{padding-left:10px}
  .hc-finance-debt>strong{font-size:19px}
  .hc-finance-rate>div:first-child{min-width:100px}
  .hc-finance-rate{gap:9px}
  .hc-finance-legend{gap:6px;font-size:8px}
}
@media(max-width:420px){.hc-metric{padding:17px 14px;gap:12px}.hc-finance{padding:18px 15px;gap:12px}}
@media(prefers-reduced-motion:reduce){.hc-metric *{transition:none!important;animation:none!important}}

@container(max-width:370px) and (max-height:430px){
  .hc-finance-rate{padding:7px 0}
  .hc-finance-body{gap:7px}
  .hc-finance-result>strong{font-size:32px;line-height:1.15}
  .hc-finance-result>small{font-size:9px}
  .hc-finance-debt>strong{font-size:19px}
  .hc-finance-chart>svg{min-height:72px;max-height:85px}
  .hc-finance-chart-title{font-size:9px}
  .hc-finance .hc-finance-assumptions{padding-top:7px;font-size:9px;line-height:1.4}
}
