.property-report-hydrated .seo-crawl-fallback,.property-report-hydrated .property-report-bootstrap-loader{display:none}
.property-report-bootstrap-loader{display:grid;place-items:center;align-content:center;gap:22px;width:min(100% - 48px,1120px);min-height:570px;margin:30px auto;padding:40px;border:1px solid #d5e0e4;border-radius:18px;background:#fffdf9}
.property-report-bootstrap-spinner{position:relative;width:58px;height:58px;border:2px solid #d4e4e8;border-radius:50%}
.property-report-bootstrap-spinner::before{content:"";position:absolute;inset:-2px;border:3px solid transparent;border-top-color:#3f879d;border-right-color:#3f879d;border-radius:50%;animation:property-report-spin .9s linear infinite}
.property-report-bootstrap-spinner i{position:absolute;inset:17px;border-radius:50%;background:#397b97;box-shadow:0 0 0 7px #e9f3f5}
.property-report-bootstrap-lines{display:grid;gap:9px;width:min(340px,70vw)}
.property-report-bootstrap-lines i{display:block;height:10px;overflow:hidden;border-radius:999px;background:#e5eef0}
.property-report-bootstrap-lines i::after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:#bfd6dc;animation:property-report-scan 1.2s ease-in-out infinite alternate}
.property-report-bootstrap-lines i:nth-child(2){width:82%;justify-self:center}.property-report-bootstrap-lines i:nth-child(2)::after{animation-delay:.15s}.property-report-bootstrap-lines i:nth-child(3){width:58%;justify-self:center}.property-report-bootstrap-lines i:nth-child(3)::after{animation-delay:.3s}
@keyframes property-report-spin{to{transform:rotate(360deg)}}
@keyframes property-report-scan{from{transform:translateX(-25%)}to{transform:translateX(145%)}}
@media(prefers-reduced-motion:reduce){.property-report-bootstrap-spinner::before,.property-report-bootstrap-lines i::after{animation:none}.property-report-bootstrap-spinner::before{border-color:#3f879d}.property-report-bootstrap-lines i::after{width:100%;opacity:.55}}
@media(max-width:600px){.property-report-bootstrap-loader{width:min(100% - 28px,1120px);min-height:480px;padding:28px}}
.report-property-hero>.report-header{position:relative;min-width:0}
.report-property-hero>.report-header>div:first-child{padding:76px 0 0;min-width:0}
.report-property-hero>.report-header .property-report-actions{position:absolute;top:20px;left:28px;right:28px;display:flex;flex-wrap:wrap;gap:7px;margin:0;z-index:4}
.report-property-hero>.report-header .property-report-actions button{flex:0 0 auto}
.report-property-hero{grid-template-columns:minmax(390px,.65fr) minmax(0,1.35fr)}
.report-property-hero>.report-header .report-address-map-link{display:block;max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal;font-size:clamp(32px,3vw,44px)!important}
.report-property-hero>.report-header{align-self:stretch;height:100%;min-height:0}
.report-property-hero>.report-header>div:first-child{display:flex;flex-direction:column;height:100%}
.report-property-hero .report-property-hero-summary{display:grid;gap:7px;margin-top:auto;padding-top:24px;border-top:1px solid #d6e3e7}
.report-property-hero-summary span{color:#397b97;font-size:12px;font-weight:900;letter-spacing:.14em}
.report-property-hero-summary strong{color:#294b58;font-size:21px;line-height:1.15}
.report-property-hero-summary small{color:#68808a;font-size:14px;line-height:1.4}
.report-property-model-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:18px 0 0}
.report-property-model-facts>div{display:grid;gap:3px;padding:12px 0;border-top:1px solid #d6e3e7}
.report-property-model-facts dt{color:#71868e;font-size:12px}
.report-property-model-facts dd{margin:0;color:#294b58;font-size:17px;font-weight:850;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.report-property-hero .report-sunlight-layout{display:block}
.report-property-hero .report-sunlight-scene-topline{display:none}
.report-property-hero .report-sunlight-map-3d{height:420px;min-height:400px}
.report-property-hero .report-sunlight-facts{grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr);align-items:center;margin-top:12px}
.report-property-hero .sunlight-fact-primary{border-bottom:0;border-right:1px solid #d9e6e8;padding:0 18px 0 0}
.report-property-hero .sunlight-fact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-property-hero .report-sunlight-facts>p,.report-property-hero .report-sunlight-source{grid-column:1 / -1}
.report-property-hero .report-sunlight-controls{grid-template-columns:minmax(0,1fr) auto}
.report-sunlight-telemetry{padding:14px 16px 10px;border-top:1px solid #d4e2e5;background:#fffdf9}
.report-sunlight-telemetry-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:2px}
.report-sunlight-telemetry-heading span{color:#397b97;font-size:12px;font-weight:900;letter-spacing:.12em}
.report-sunlight-telemetry-heading strong{color:#294b58;font-size:15px}
.report-sunlight-telemetry-heading b{margin-left:auto;color:#68808a;font-size:13px;font-variant-numeric:tabular-nums}
.report-sunlight-telemetry svg{display:block;width:100%;height:auto;overflow:visible}
.report-sunlight-telemetry-axis{stroke:#9db7be;stroke-width:1.1}
.report-sunlight-telemetry-grid{stroke:#dbe7e9;stroke-width:1;stroke-dasharray:3 3}
.report-sunlight-telemetry svg text{fill:#72878d;font-size:11px}
.report-sunlight-telemetry-altitude{fill:none;stroke:#d88937;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.report-sunlight-telemetry-shadow{fill:none;stroke:#77858a;stroke-width:2;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round}
.report-sunlight-telemetry-cursor{stroke:#3f879d;stroke-width:1.3;stroke-dasharray:4 4}
.report-sunlight-telemetry-current{fill:#3f879d;stroke:#fffdf9;stroke-width:3}
.report-sunlight-telemetry-legend{display:flex;gap:18px;color:#68808a;font-size:12px}
.report-sunlight-telemetry-legend span{display:inline-flex;align-items:center;gap:6px}
.report-sunlight-telemetry-legend i{display:inline-block;width:18px;height:3px;border-radius:999px}
.sunlight-scene-compass circle{fill:rgba(255,253,249,.94);stroke:#7faab5;stroke-width:1.2}
.sunlight-scene-compass path{fill:#397b97;stroke:#fffdf9;stroke-width:1}
.sunlight-scene-compass line{stroke:#9bb8bf;stroke-width:1}
.sunlight-scene-compass text{fill:#315d6c;font-size:9px;font-weight:900}
.sunlight-scene-shadow{fill:#b77937;stroke:#a6692d;stroke-width:.6;opacity:.2}
.report-sunlight-map-reset{top:auto;bottom:126px}
.property-report-gated-content{position:relative;min-width:0}
.property-report-gated-content.is-locked{min-height:1100px}
.property-report-gated-content.is-locked>*:not(.civic-shared-access-overlay){filter:blur(9px);opacity:.58;pointer-events:none;user-select:none}
.civic-shared-access-overlay{position:absolute;inset:0;z-index:5;display:grid;align-items:start;justify-items:center;padding:76px 24px;background:rgba(231,242,245,.3);pointer-events:none}
.civic-shared-access-overlay>div{position:sticky;top:104px;display:grid;justify-items:center;gap:12px;width:min(520px,100%);padding:32px;text-align:center;border:1px solid rgba(255,255,255,.88);border-radius:18px;background:rgba(255,253,249,.9);box-shadow:0 18px 48px rgba(30,66,80,.18);backdrop-filter:blur(16px);pointer-events:auto}
.civic-shared-access-overlay p{margin:0;color:#397b97;font-size:12px;font-weight:900;letter-spacing:.12em}
.civic-shared-access-overlay h3{margin:0;color:#264855;font-size:30px;line-height:1.1}
.civic-shared-access-overlay>div>span{color:#667b84;font-size:16px;line-height:1.45}
.sunlight-neighbour-side{fill:#b9d0d6;stroke:#8eafb8;stroke-width:.8;opacity:.7}
.sunlight-neighbour-roof{fill:#d2e3e6;stroke:#8eafb8;stroke-width:.9;opacity:.82}
.sunlight-subject-side{fill:#33788d;stroke:#244f5e;stroke-width:1.1}
.sunlight-subject-roof{fill:#4f96aa;stroke:#244f5e;stroke-width:1.5}
.report-property-hero .report-sunlight-section{height:100%;box-sizing:border-box}
.report-property-hero .report-sunlight-section .report-sunlight-chart-card{margin-top:10px}
.report-property-hero .report-sunlight-section .report-sunlight-intro{margin-bottom:12px}
.report-sunlight-map-3d{position:relative;height:390px;min-height:360px;overflow:hidden;background:#eaf4f5}
.report-sunlight-map-canvas{position:absolute;inset:0}
.report-sunlight-local-scene{touch-action:none;user-select:none;cursor:grab;background:#eaf4f5}
.report-sunlight-local-scene:active{cursor:grabbing}
.report-sunlight-local-svg{display:block;width:100%;height:100%}
.sunlight-scene-grid{fill:none;stroke:#b7d0d5;stroke-width:.75;stroke-dasharray:3 4;opacity:.8}
.sunlight-scene-axis{fill:none;stroke:#78a4af;stroke-width:1.25;opacity:.85}
.sunlight-scene-side{fill:#b2cbd1;stroke:#7ea4ad;stroke-width:.8;opacity:.86}
.sunlight-scene-roof{fill:#d6e6e8;stroke:#6d98a3;stroke-width:1;opacity:.95}
.sunlight-scene-building.subject .sunlight-scene-side{fill:#397d92;stroke:#224e5d;stroke-width:1.1}
.sunlight-scene-building.subject .sunlight-scene-roof{fill:url(#sunlight-house);stroke:#1f5263;stroke-width:1.5}
.sunlight-scene-model-face{fill:#b1cbd1;stroke:#6f929c;stroke-width:.7;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}
.sunlight-scene-building.subject .sunlight-scene-model-face{fill:#4e94a9;stroke:#244f5e;stroke-width:.9;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.98}
.sunlight-scene-shadow{fill:#77858a;stroke:none;opacity:.3}
.sunlight-scene-ground-compass .sunlight-ground-compass-ring{fill:rgba(239,170,47,.08);stroke:#d8921f;stroke-width:2.2}
.sunlight-scene-ground-compass line{stroke:#dfa02f;stroke-width:1.2;opacity:.95}
.sunlight-scene-ground-compass line.major{stroke:#c87812;stroke-width:2.1}
.sunlight-scene-ground-compass .sunlight-ground-compass-center{fill:#e2a02c;stroke:#fff8e8;stroke-width:1.6}
.sunlight-scene-ground-compass text{fill:#a55f0a;font-size:10px;font-weight:900;paint-order:stroke;stroke:#fff8e8;stroke-width:3.5px;stroke-linejoin:round}
.sunlight-scene-sun-path{fill:none;stroke:#df8d2e;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:1;paint-order:stroke;filter:drop-shadow(0 1px 1px rgba(255,253,249,.85))}
.sunlight-scene-sun-ray{stroke:#e2a049;stroke-width:1.6;stroke-dasharray:5 4;opacity:.75}
.sunlight-scene-sun{fill:#f5ad32;stroke:#fff8e8;stroke-width:3;filter:drop-shadow(0 3px 5px rgba(193,119,25,.3))}
.sunlight-scene-focus{fill:#f6b33c;stroke:#fff8e8;stroke-width:2}
.sunlight-scene-label{fill:#3a6572;font-size:12px;font-weight:800;letter-spacing:.08em}
.sunlight-scene-hud rect{fill:rgba(255,253,249,.92);stroke:#c5dadd;stroke-width:1}
.sunlight-scene-hud text{fill:#315d6c;font-size:12px;font-weight:800}
.sunlight-scene-hud text:first-of-type{fill:#d48629;font-size:15px}
.sunlight-scene-telemetry rect{fill:rgba(248,252,252,.92);stroke:#c5dadd;stroke-width:1}
.sunlight-scene-telemetry-axis{stroke:#88aeb7;stroke-width:1}
.sunlight-scene-telemetry-grid{stroke:#c9dce0;stroke-width:.7;stroke-dasharray:3 3}
.sunlight-scene-telemetry text{fill:#6c858d;font-size:9px}
.sunlight-scene-telemetry-title{fill:#397b97!important;font-size:11px!important;font-weight:900}
.sunlight-scene-telemetry-altitude{fill:none;stroke:#df8d2e;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.sunlight-scene-telemetry-shadow{fill:none;stroke:#8eaeb6;stroke-width:1.8;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round}
.sunlight-scene-telemetry-cursor{stroke:#397b97;stroke-width:1;stroke-dasharray:3 3;opacity:.65}
.sunlight-scene-telemetry-current{fill:#397b97;stroke:#fff;stroke-width:2}
.report-sunlight-scene-tools{position:absolute;right:14px;top:54px;z-index:3;display:grid;overflow:hidden;border:1px solid #bfd4da;border-radius:8px;background:rgba(255,253,249,.94);box-shadow:0 8px 18px rgba(35,53,60,.12)}
.report-sunlight-scene-tools button{width:32px;height:32px;padding:0;border:0;background:transparent;color:#397b97;font:inherit;font-size:20px;line-height:1;cursor:pointer}
.report-sunlight-scene-tools button+button{border-top:1px solid #d4e2e5}
.report-sunlight-scene-tools button:hover,.report-sunlight-scene-tools button:focus-visible{background:#eaf4f5;outline:none}
.report-sunlight-map-3d .maplibregl-canvas{outline:none}
.report-sunlight-map-badge{position:absolute;left:14px;top:14px;z-index:2;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(255,255,255,.78);border-radius:9px;background:rgba(255,253,249,.9);color:#54727c;box-shadow:0 8px 20px rgba(35,53,60,.12);pointer-events:none}
.report-sunlight-map-badge strong{color:#2f7893;font-size:13px;letter-spacing:.1em}
.report-sunlight-map-badge span{font-size:12px}
.report-sunlight-map-north{position:absolute;right:58px;top:16px;z-index:2;color:#315b6b;font-size:15px;font-weight:900;pointer-events:none}
.report-sunlight-map-reset{position:absolute;right:14px;top:148px;bottom:auto;z-index:2;width:auto!important;height:34px!important;min-height:34px;padding:0 10px;border:1px solid #bfd4da;border-radius:8px;background:rgba(255,253,249,.94);color:#397b97;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.report-sunlight-map-reset:hover,.report-sunlight-map-reset:focus-visible{border-color:#397b97;outline:none}
.shadow-length-path{fill:none;stroke:#8eaeb6;stroke-width:2.2;stroke-dasharray:5 4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.property-report-gated-content.is-locked{min-height:900px}}
@media(max-width:900px){.report-property-hero>.report-header>div:first-child{padding-top:76px}}
@media(max-width:600px){.civic-shared-access-overlay{padding:40px 14px}.civic-shared-access-overlay>div{padding:24px 18px}.civic-shared-access-overlay h3{font-size:24px}.report-property-hero>.report-header>div:first-child{padding-top:116px}.report-property-hero>.report-header .property-report-actions{left:18px;right:18px}}
@media(max-width:900px){.report-property-hero{grid-template-columns:1fr}.report-property-hero>.report-header{min-height:340px}.report-property-hero .report-sunlight-facts{grid-template-columns:1fr 1fr}.report-property-hero .sunlight-fact-primary,.report-property-hero .report-sunlight-facts>p,.report-property-hero .report-sunlight-source{grid-column:1 / -1}.report-property-hero .sunlight-fact-primary{border-right:0;border-bottom:1px solid #d9e6e8;padding:0 0 14px}}
@media(max-width:600px){.report-sunlight-map-3d,.report-property-hero .report-sunlight-map-3d{height:360px;min-height:340px}.report-property-hero .report-sunlight-facts{grid-template-columns:1fr}.report-property-hero .sunlight-fact-grid{grid-template-columns:1fr 1fr}.report-sunlight-map-reset{bottom:126px}}

/* Compact daylight controls: the map remains the visual focus and the date shortcuts live inside the date picker. */
.report-sunlight-section>header h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sunlight-scene-hud rect{fill:rgba(255,253,249,.96)}
.sunlight-scene-hud rect+rect{fill:rgba(245,250,250,.96)}
.sunlight-scene-hud text{font-size:12px!important;white-space:nowrap}
.sunlight-scene-hud text+text{fill:#315d6c}
.report-property-hero .report-sunlight-controls{display:grid;grid-template-columns:minmax(185px,220px) minmax(0,1fr);align-items:center;gap:16px;min-height:62px;padding:9px 12px;background:#fffdf9}
.report-sunlight-date-picker{position:relative;min-width:0}
.report-sunlight-date-trigger{display:flex;align-items:center;gap:7px;width:100%;min-height:40px;padding:0 10px;border:1px solid #cbdde3;border-radius:8px;background:#fff;color:#58727b;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.report-sunlight-date-trigger svg{flex:0 0 auto;color:#397b97}
.report-sunlight-date-trigger strong{margin-left:auto;color:#294b58;font-variant-numeric:tabular-nums}
.report-sunlight-date-trigger:hover,.report-sunlight-date-trigger:focus-visible{border-color:#397b97;outline:none}
.report-sunlight-date-popover{position:absolute;left:0;bottom:calc(100% + 8px);z-index:10;display:grid;gap:10px;width:min(310px,calc(100vw - 40px));padding:12px;border:1px solid #cbdde3;border-radius:11px;background:#fffdf9;box-shadow:0 14px 30px rgba(35,53,60,.18)}
.report-sunlight-date-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.report-sunlight-date-shortcuts button{min-height:32px;padding:0 7px;border:1px solid #cbdde3;border-radius:7px;background:#f8fbfb;color:#58727b;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.report-sunlight-date-shortcuts button:hover,.report-sunlight-date-shortcuts button:focus-visible{border-color:#397b97;color:#397b97;outline:none}
.report-sunlight-date-shortcuts button.active{border-color:#397b97;background:#397b97;color:#fff}
.report-sunlight-date-popover label{display:grid;gap:5px;color:#617880;font-size:12px;font-weight:800}
.report-sunlight-date-popover input[type=date]{min-height:38px;border:1px solid #c8d9df;border-radius:8px;background:#fff;color:#294b58;padding:0 9px;font:inherit}
.sunlight-time-control{display:grid;grid-template-columns:auto 1fr!important;align-items:center;gap:12px!important;min-width:0}
.sunlight-time-control span{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.sunlight-time-control output{color:#294b58;font-size:15px;font-variant-numeric:tabular-nums}
.sunlight-time-control input{grid-column:2;width:100%;min-width:0;accent-color:#3f879d}
@media(max-width:600px){.report-property-hero .report-sunlight-controls{grid-template-columns:140px minmax(0,1fr);gap:9px;padding:8px}.report-sunlight-date-trigger{padding:0 7px;font-size:11px}.report-sunlight-date-trigger strong{font-size:11px}.sunlight-time-control{grid-template-columns:1fr!important;gap:4px!important}.sunlight-time-control input{grid-column:auto}.sunlight-time-control span{justify-content:space-between}}

/* Keep report actions in one rail at the top-right of the complete property report. */
.property-report{position:relative}
.property-report-global-actions{position:absolute;top:42px;right:28px;z-index:30}
.property-report-global-actions .property-report-actions{position:static;margin:0;display:flex;flex-wrap:wrap;gap:7px}
.report-property-hero>.report-header>div:first-child{padding-right:0}
@media(max-width:900px){.property-report-global-actions{top:28px;right:28px}.report-property-hero>.report-header>div:first-child{padding-right:0;padding-top:76px}}
@media(max-width:600px){.property-report-global-actions{top:22px;right:18px;left:18px}.property-report-global-actions .property-report-actions{justify-content:flex-end}.report-property-hero>.report-header>div:first-child{padding-top:72px}}
