:root{color-scheme:light;--teal:#123f43;--teal-2:#1d686c;--mint:#dff4ef;--orange:#ed6a32;--amber:#f0a43a;--ink:#17363a;--muted:#60797c;--line:#d8e5e3;--wash:#f3f7f6;--paper:#fff;--danger:#b54735}
*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.insights-header{min-height:74px;padding:.8rem clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;background:var(--teal);color:#fff}.brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none}.brand img{border-radius:12px;background:#fff}.brand span{display:grid}.brand strong{font-size:1.05rem}.brand small{color:#cbe2df}.back-link{color:#fff;font-weight:750;text-underline-offset:3px}main{width:min(1200px,100%);margin:auto;padding:clamp(1rem,3vw,2.3rem)}.insights-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;align-items:end;margin-bottom:1.2rem}.eyebrow{display:block;color:var(--orange);font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.insights-intro h1,.section-heading h2{margin:.18rem 0 .35rem;line-height:1.1}.insights-intro h1{font-size:clamp(1.7rem,4vw,2.65rem)}.insights-intro p{margin:.25rem 0;color:var(--muted);max-width:48rem}.insights-controls{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.insights-controls label{display:grid;gap:.3rem;color:var(--muted);font-size:.76rem;font-weight:750}.insights-controls select{min-width:12rem}.insights-controls select,.range-switch,.view-switch{min-height:44px;border:1px solid var(--line);border-radius:13px;background:#fff}.insights-controls select{padding:.55rem .8rem;color:var(--ink);font:inherit}.range-switch,.view-switch{display:flex;padding:3px}.range-switch button,.view-switch button,.metric-switch button{border:0;border-radius:9px;background:transparent;padding:.48rem .72rem;color:var(--muted);font:inherit;font-weight:750;cursor:pointer}.range-switch button[aria-pressed=true],.view-switch button[aria-pressed=true],.metric-switch button[aria-pressed=true]{background:var(--teal);color:#fff}.view-switch{grid-column:1/-1;justify-self:start}.status{grid-column:1/-1;min-height:1.4rem}.privacy-notice{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.1rem;margin:0 0 1rem;border:1px solid #ead7ac;border-radius:15px;background:#fff9e9}.privacy-notice>span{font-size:1.8rem;color:var(--amber)}.privacy-notice p{margin:.3rem 0 0;color:var(--muted)}.insight-section{margin:0 0 1rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 12px 34px rgba(18,63,67,.06)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{font-size:clamp(1.25rem,2.6vw,1.7rem)}.section-note{max-width:35rem;color:var(--muted);font-size:.86rem;text-align:right}.heat-layout{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.5fr);gap:1rem}.flow-card{position:relative;min-height:330px;border-radius:18px;background:radial-gradient(circle at 50% 47%,#e8f7f3 0 19%,transparent 20%),linear-gradient(145deg,#f5faf9,#edf5f3);overflow:hidden}.flow-home,.flow-node{position:absolute;z-index:2;display:grid;text-align:center}.flow-home{left:50%;top:47%;width:132px;height:132px;transform:translate(-50%,-50%);place-content:center;border-radius:50%;background:var(--teal);color:#fff;box-shadow:0 10px 30px rgba(18,63,67,.23)}.flow-home strong{font-size:1.65rem}.flow-home small{padding:0 .5rem;color:#cce2df;font-size:.67rem}.flow-node{min-width:105px;padding:.7rem;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(18,63,67,.08)}.flow-node span{color:var(--muted);font-size:.72rem}.flow-node strong{font-size:1.08rem}.flow-source{top:8%;left:50%;transform:translateX(-50%)}.flow-rooms{bottom:8%;left:7%}.flow-loss{bottom:8%;right:7%}.flow-line{position:absolute;z-index:1;height:3px;background:linear-gradient(90deg,var(--orange),var(--amber));transform-origin:left center}.source-line{width:78px;left:50%;top:27%;transform:rotate(90deg)}.rooms-line{width:92px;left:37%;top:65%;transform:rotate(137deg)}.loss-line{width:92px;left:62%;top:65%;transform:rotate(43deg);background:linear-gradient(90deg,var(--amber),#92aaa8)}.flow-line:after{content:"";position:absolute;right:-1px;top:-4px;border-left:8px solid var(--amber);border-top:5px solid transparent;border-bottom:5px solid transparent}.chart-card{min-width:0;border:1px solid var(--line);border-radius:17px;padding:1rem;background:#fbfdfd}.chart-title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.chart-title>div:first-child{display:grid}.chart-title span{color:var(--muted);font-size:.76rem}.legend-key{white-space:nowrap}.legend-key:before{content:"";display:inline-block;width:.8rem;height:.22rem;margin-right:.35rem;border-radius:2px;background:var(--orange);vertical-align:middle}.chart-host{min-height:250px;margin-top:.7rem}.chart-host.tall{min-height:290px}.insights-chart{display:block;width:100%;height:100%;min-height:245px;overflow:visible}.chart-grid{stroke:#dce8e6;stroke-width:1;vector-effect:non-scaling-stroke}.chart-line{fill:none;stroke:var(--orange);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#areaGradient);opacity:.55}.chart-axis-label{fill:#6b8183;font-size:11px}.chart-empty{height:240px;display:grid;place-content:center;text-align:center;color:var(--muted)}.energy-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:.8rem}.energy-total-card,.metric-tile{min-height:165px;border:1px solid var(--line);border-radius:17px;padding:1rem}.energy-total-card{display:flex;align-items:center;gap:1rem;background:#f7fbfa}.energy-ring{--useful:65%;width:122px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;background:conic-gradient(var(--orange) 0 var(--useful),#dce9e7 var(--useful) 100%);position:relative}.energy-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.energy-ring div{position:relative;z-index:1;display:grid;text-align:center}.energy-ring strong{font-size:1.25rem}.energy-ring span{font-size:.7rem;color:var(--muted)}.energy-total-card p{color:var(--muted)}.metric-tile{display:grid;align-content:center;background:#fff}.metric-tile span{color:var(--muted);font-size:.78rem}.metric-tile strong{margin:.25rem 0;font-size:1.6rem}.metric-tile small{color:var(--muted)}.air-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:.8rem}.air-tile{border:1px solid var(--line);border-radius:15px;padding:1rem;background:#fff}.air-tile[data-state=good]{border-top:4px solid #2f9975}.air-tile[data-state=attention]{border-top:4px solid var(--amber)}.air-tile[data-state=unavailable]{border-top:4px solid #a8b8b6}.air-tile span{display:block;color:var(--muted);font-size:.76rem}.air-tile strong{display:block;margin:.2rem 0;font-size:1.35rem}.air-tile small{color:var(--muted)}.air-chart-card{margin-top:.8rem}.metric-switch{display:flex;gap:.2rem;flex-wrap:wrap;justify-content:flex-end}.metric-switch button{border:1px solid var(--line);padding:.38rem .55rem;font-size:.73rem}.metric-switch button[aria-pressed=true]{border-color:var(--teal)}:focus-visible{outline:3px solid #73b9ff;outline-offset:2px}[hidden]{display:none!important}
@media(max-width:850px){.insights-intro{grid-template-columns:1fr}.heat-layout{grid-template-columns:1fr}.energy-grid{grid-template-columns:1fr 1fr}.air-summary{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start;flex-direction:column}.section-note{text-align:left;margin:0}.view-switch{grid-column:auto}}
@media(max-width:520px){.insights-header{align-items:flex-start}.brand small{display:none}.insights-controls{display:grid;grid-template-columns:1fr}.insights-controls select{width:100%}.range-switch{width:100%}.range-switch button{flex:1}.view-switch{width:100%}.view-switch button{flex:1}.energy-grid,.air-summary{grid-template-columns:1fr}.energy-total-card{justify-content:center}.chart-title{flex-direction:column}.metric-switch{justify-content:flex-start}.flow-card{min-height:300px}.flow-rooms{left:4%}.flow-loss{right:4%}}
@media(prefers-reduced-motion:no-preference){.flow-line:after{animation:flowPulse 1.8s ease-in-out infinite}@keyframes flowPulse{0%,100%{opacity:.35}50%{opacity:1}}}

/* Keep the section navigation usable on narrow phones. */
.insights-header { flex-wrap: wrap; }
.insights-header .brand { min-width: 0; }
