:root{--cw-paper:#f5f1e8;--cw-paper-deep:#ebe6dc;--cw-ink:#141414;--cw-slate:#566066;--cw-rule:#d8d6cf;--cw-brick:#9a372b;--cw-brick-dark:#7a2d22;--cw-footer:#161715;--cw-display:"Arial Black","Aptos Display",Arial,sans-serif;--header-height:66px;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--cw-ink);background:var(--cw-paper);font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--cw-paper);color:var(--cw-ink)}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:var(--cw-brick)}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px;flex-wrap:wrap;padding:.75rem 2.2rem;background:var(--cw-paper);color:var(--cw-ink);border-bottom:1px solid var(--cw-rule)}
.brand{display:flex;gap:1rem;align-items:center;font-size:1.16rem;font-weight:700;letter-spacing:-.03em;color:var(--cw-ink);text-decoration:none}
.brand a:focus-visible{outline:2px solid var(--cw-brick);outline-offset:5px}
.brand-product{color:var(--cw-slate);font-size:.78rem;font-weight:400;white-space:nowrap;text-decoration:none}
.brand-product:hover{color:var(--cw-ink);text-decoration:underline}
.wordmark{display:inline-flex;align-items:baseline;gap:.32em;font-family:var(--cw-display);font-size:1.05rem;font-weight:900;letter-spacing:-.045em;line-height:1;text-transform:uppercase;white-space:nowrap;color:var(--cw-ink);text-decoration:none}
.wordmark-slash{color:var(--cw-brick)}
.top-nav{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.top-nav a,.scope{color:var(--cw-slate);text-decoration:none;font-size:.9rem}
.top-nav a:hover{color:var(--cw-ink)}
.top-nav a[aria-current=page]{color:var(--cw-ink);border-bottom:2px solid var(--cw-brick);padding:.35rem 0}
main{max-width:1800px;margin:auto}
.workspace{display:grid;grid-template-columns:minmax(300px,27%) minmax(0,1fr);min-height:calc(100vh - var(--header-height))}
.explorer{background:var(--cw-paper-deep);border-right:1px solid var(--cw-rule);padding:1.1rem;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:.6rem;height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));min-height:0;position:sticky;top:var(--header-height);align-self:start}
.section-heading,.asset-head,.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:800;color:var(--cw-brick);margin:0 0 .35rem}
h1,h2,h3,p{margin-top:0}
h1{font-size:1.65rem;line-height:1.15;letter-spacing:-.035em;margin-bottom:.7rem;color:var(--cw-ink)}
h2{font-size:1.75rem;line-height:1.14;letter-spacing:-.035em;margin-bottom:.35rem;color:var(--cw-ink)}
h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:0;color:var(--cw-ink)}
.status-pill{border:1px solid #d9b7b0;background:#f3e3df;color:var(--cw-brick-dark);border-radius:999px;padding:.42rem .65rem;font-size:.74rem;font-weight:750;white-space:nowrap}
.search-label{font-size:.84rem;font-weight:700}
.explorer input,.explorer select,.controls-grid input,.controls-grid select{width:100%;border:1px solid #bdb9ae;background:white;border-radius:7px;padding:.68rem .75rem;color:var(--cw-ink);outline-color:var(--cw-brick)}
.catalogue-controls{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.catalogue-controls>label:first-child,.catalogue-controls>input{grid-column:1/-1}
.catalogue-controls select{font-size:.76rem;padding:.45rem .25rem}
.asset-list-heading{display:flex;justify-content:space-between;gap:.5rem;font-size:.77rem;font-weight:700;color:var(--cw-slate)}
.asset-list{display:grid;grid-auto-rows:max-content;align-content:start;gap:.45rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;position:relative;padding:.2rem .35rem .2rem .15rem}
.asset-item{display:block;width:100%;text-align:left;border:1px solid var(--cw-rule);background:#fff;border-radius:8px;padding:.75rem .85rem;color:var(--cw-ink)}
.asset-item:hover,.asset-item.active{border-color:var(--cw-brick);background:#f8ece9}
.asset-item strong{display:block;font-size:.94rem}
.asset-item span{display:block;color:var(--cw-slate);font-size:.79rem;margin-top:.18rem}
.portfolio-map{height:65vh;min-height:420px;border:1px solid var(--cw-rule);border-radius:9px;background:#d7e4e8;z-index:0;margin-bottom:.8rem}
.portfolio-map .leaflet-popup-content p{margin:.4rem 0}
.portfolio-map .leaflet-popup-content label{display:block;margin-top:.8rem}
.portfolio-map .leaflet-interactive:focus-visible{outline:3px solid var(--cw-brick)}
.map-legends{display:flex;gap:1.5rem;flex-wrap:wrap}
.map-legends>div{flex:1;min-width:220px}
.map-legends p{margin:.4rem 0;font-size:.8rem}
.map-legends>.chart-note{flex-basis:100%}
.map-colour-scale{height:12px;max-width:300px;background:linear-gradient(to right,rgb(211,232,236),rgb(15,83,89));border:1px solid var(--cw-rule)}
.map-size-scale{display:flex;gap:2rem;align-items:center;min-height:44px}
.map-size-scale span{display:inline-block;border:1.5px solid #283e43;border-radius:50%;background:#d3e8ec}
.map-note{font-size:.76rem;color:var(--cw-slate);margin:.15rem 0 0}
.assessment{padding:1.65rem 2rem 2.5rem;min-width:0}
.muted{color:var(--cw-slate);font-size:.85rem;margin:0}
.asset-head{margin-bottom:1.35rem}
.asset-head .muted{line-height:1.5}
.metric-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:.7rem}
.metric{background:#fff;border:1px solid var(--cw-rule);border-radius:9px;padding:1rem;min-height:112px;display:flex;flex-direction:column}
.metric.primary{background:var(--cw-ink);color:#fff;border-color:var(--cw-ink)}
.metric span{font-size:.78rem;font-weight:700;color:var(--cw-slate)}
.metric.primary span,.metric.primary small{color:#b7d9dc}
.metric strong{font-size:1.75rem;line-height:1.25;letter-spacing:-.04em;margin:.15rem 0}
.metric small{font-size:.73rem;color:#708794;margin-top:auto}
.source-line{font-size:.79rem;color:#597481;margin:1rem 0 1.3rem}
.panel{background:#fff;border:1px solid var(--cw-rule);border-radius:10px;padding:1.1rem 1.2rem;margin-bottom:.8rem}
.panel-head{align-items:center;margin-bottom:1rem}
.legend{display:flex;gap:.8rem;flex-wrap:wrap;color:#5c7280;font-size:.76rem}
.dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:.3rem}
.dot.measured{background:#248c98}
.dot.theoretical{background:#b3d5dc}
.dot.fit-included{background:#248c98;border-radius:50%}
.dot.fit-excluded{background:#fff;border:2px solid #d77938;border-radius:50%}
.fit-line-key{display:inline-block;width:14px;border-top:2px dashed #526b79;vertical-align:middle;margin-right:.3rem}
.chart-note{color:#607985;font-size:.8rem;line-height:1.45;margin:-.3rem 0 .65rem}
.fit-chart{position:relative;overflow-x:auto;min-height:350px}
.fit-chart svg{display:block;width:100%;min-width:680px}
.fit-tooltip{position:absolute;z-index:5;pointer-events:none;background:#102a3c;color:#fff;border-radius:6px;padding:.55rem .7rem;font-size:.79rem;line-height:1.5;box-shadow:0 5px 16px #102a3c40;white-space:nowrap}
.fit-tooltip strong{display:block;color:#7ee0df}
.fit-point:focus{outline:none;stroke:#102a3c;stroke-width:3}
.fit-point,.history-month{cursor:pointer}
.fit-point.selected circle{stroke:#102a3c;stroke-width:3}
.history-month.selected rect:not(.hit-area){stroke:#102a3c;stroke-width:2}
.history-month:focus-visible rect:not(.hit-area){stroke:#102a3c;stroke-width:2}
.dot.loss{background:#d77938}
.dot.confirmed{background:#4089bb}
.line-resource{display:inline-block;width:15px;border-top:2px solid #6c5aa4;vertical-align:middle;margin-right:.3rem}
.line-capacity{display:inline-block;width:15px;border-top:2px solid #a33f4b;vertical-align:middle;margin-right:.3rem}
.detail-panel{border-color:var(--cw-brick);scroll-margin-top:1rem}
.detail-summary{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:.85rem}
.detail-summary span{background:#edf5f6;color:#315663;border-radius:5px;padding:.45rem .6rem;font-size:.8rem}
.detail-toolbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:.8rem;font-size:.8rem;color:#5a7582}
.detail-toolbar label{font-weight:700;color:#315363}
.detail-toolbar select{border:1px solid #bdb9ae;background:#fff;border-radius:6px;padding:.4rem .6rem;color:var(--cw-ink)}
.detail-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:#56717f;margin-bottom:.4rem}
.canvas-wrap{position:relative;width:100%;min-width:0}
.canvas-wrap canvas{display:block;width:100%;height:auto;max-height:350px;cursor:crosshair}
.detail-tooltip{position:absolute;z-index:6;pointer-events:none;background:var(--cw-ink);color:#fff;border-radius:6px;padding:.55rem .7rem;font-size:.78rem;line-height:1.5;box-shadow:0 5px 16px #102a3c40;max-width:340px;min-width:230px}
.detail-tooltip strong{display:block;color:#80dfdf}
.detail-tooltip span{display:block}
.curve-heading{margin-top:1.4rem;border-top:1px solid #e0e9ed;padding-top:1.15rem}
.chart{min-height:170px;overflow-x:auto}
.chart svg{display:block;width:100%;min-width:530px}
.production-chart svg{width:var(--chart-width);max-width:none}
.monthly-forecast-chart svg{width:2960px;max-width:none}
.forecast-month:focus-visible rect{stroke:#102a3c;stroke-width:2}
.controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.controls-grid label{font-size:.78rem;color:#375463;font-weight:700;position:relative}
.controls-grid input,.controls-grid select{margin-top:.35rem;font-size:.9rem}
.control-note{display:block;margin-top:.3rem;color:#607985;font-size:.74rem;font-weight:500;line-height:1.35}
.unit{font-weight:500;color:#6a8390}
.month-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin:1.15rem 0 .6rem}
.month-head strong{font-size:.86rem}
.month-head span{color:#6b828e;font-size:.76rem}
  .month-reason[hidden]{display:none}
.month-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #d1dee3;padding:.3rem .48rem;border-radius:5px;font-size:.75rem;color:#375362}
.month-chip:has(input:not(:checked)){background:#f2f3f3;color:#84929a;text-decoration:line-through}
.month-chip input{accent-color:var(--cw-brick);margin:0}
.form-actions{display:flex;align-items:center;gap:1rem;margin-top:1.1rem}
.action-button{background:#166d7c;border:1px solid #166d7c;border-radius:6px;color:#fff;padding:.65rem 1rem;font-size:.85rem;font-weight:750}
.action-button:hover{background:#105664}
.action-button:disabled{opacity:.55;cursor:wait}
.text-button{background:transparent;border:0;color:#187b88;font-weight:700;font-size:.82rem}
.form-actions span{font-size:.8rem;color:#647c88}
.table-wrap{overflow:auto}
.measured-table{max-height:65vh}
table{border-collapse:collapse;width:100%;font-size:.83rem}
th{text-align:left;color:#617987;border-bottom:1px solid #d9e3e7;padding:.55rem .35rem}
td{border-bottom:1px solid #eef2f4;padding:.6rem .35rem}
td:last-child,th:last-child{text-align:right}
.fineprint{color:#6d828c;font-size:.78rem;line-height:1.5;margin:.8rem 0 0}
.error{background:#fff0ed;border:1px solid #d58d7c;border-radius:7px;padding:.8rem;color:#8a3027;margin-bottom:1rem}
.loading{padding:2rem;color:#5d7784}
footer{border-top:1px solid #d2dee3;padding:1rem 2rem;display:flex;justify-content:space-between;gap:1rem;font-size:.74rem;color:#607884}
a{color:var(--cw-brick)}
@media(max-width:900px){.workspace{grid-template-columns:1fr}
.explorer{position:static;height:min(740px,calc(100dvh - var(--header-height)));min-height:500px;grid-template-rows:auto auto auto minmax(0,1fr) auto}
.assessment{padding:1.3rem}
.metric-grid{grid-template-columns:1fr 1fr}
.metric.primary{grid-column:span 2}
.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){.topbar{padding:0 1rem}
.scope{display:none}
.explorer,.assessment{padding:1rem}
.section-heading,.asset-head{flex-wrap:wrap}
.metric-grid{gap:.5rem}
.metric{padding:.8rem;min-height:100px}
.controls-grid{grid-template-columns:1fr 1fr}
.month-head{display:block}
.month-head span{display:block;margin-top:.2rem}
footer{display:block}
footer span{display:block;margin:.35rem 0}
}


[hidden]{display:none!important}
button:focus-visible,[role="tabpanel"]:focus-visible{outline:2px solid #208b97;outline-offset:3px}
.scenario-actions{position:sticky;bottom:0;background:#f5f8fa;border:1px solid #cbd9df;border-radius:8px;padding:.8rem;z-index:7;flex-wrap:wrap}
.text-button:disabled{opacity:.45;cursor:default}
@media(max-width:580px){.scenario-actions{gap:.6rem}.scenario-actions span{flex-basis:100%}}

.configuration-details{font-size:.8rem;color:#597481;margin-bottom:1rem}
.configuration-details summary{cursor:pointer;font-weight:700}
.configuration-details p{margin:.7rem 0;line-height:1.5}
@media(max-width:580px){.detail-panel>.panel-head{flex-direction:column;align-items:flex-start}}

.metric[role="tab"]{text-align:left;cursor:pointer}
.metric[role="tab"]:hover{border-color:#208b97}
.metric[aria-selected="true"]{background:#153c4d;color:white;border-color:#153c4d;box-shadow:0 3px 0 #40c4c5}
.metric[aria-selected="true"] span,.metric[aria-selected="true"] small{color:#b7d9dc}

#panel-summary .controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.month-table-wrap{max-height:32rem;border:1px solid #d4e0e5;border-radius:6px}
.month-table{min-width:700px;font-size:.76rem;table-layout:fixed}
.month-table thead th{position:sticky;top:0;background:#f0f6f8;z-index:1}
.month-table th,.month-table td{padding:.65rem .6rem;vertical-align:top}
.month-table tbody th{font-weight:500;white-space:nowrap}
.month-table td:nth-child(n+3):nth-child(-n+5){text-align:right;font-variant-numeric:tabular-nums}
.month-table td:last-child,.month-table th:last-child{text-align:left}
.month-table .month-chip{border:0;padding:0}
.month-reason,.quality-note{display:block;width:100%;padding:.45rem .5rem;border:1px solid #b8cad1;border-radius:5px;font-size:.76rem}
.quality-note{margin-top:.35rem;color:#607985;background:#f5f8fa;border-color:#e0e9ed}
.month-item:has(input[type="checkbox"]:not(:checked)){background:#f7f9fa}

.month-table tbody th{position:sticky;left:0;background:#fff;z-index:1}
.month-table thead th:first-child{left:0;z-index:2}
.month-item:has(input[type="checkbox"]:not(:checked)) th{background:#f7f9fa}

.month-inspect{padding:.1rem .2rem;font-size:.76rem}
.month-item.selected th{box-shadow:inset 3px 0 #208b97}

.resource-history-legend{margin-bottom:.7rem}
.resource-series-key{display:inline-block;width:16px;height:3px;vertical-align:middle;margin-right:.35rem}
.resource-history-chart svg{min-width:650px}
.resource-history-chart g:focus-visible rect{fill:#153c4d15;stroke:#208b97;stroke-width:1}
.top-nav{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.top-nav a{color:#c4dbe4;text-decoration:none;font-size:.9rem}.top-nav a[aria-current=page]{color:#fff;border-bottom:2px solid #47d4d0;padding:.35rem 0}
.portfolio-page{padding:1.8rem 2rem}.portfolio-actions{display:flex;gap:.6rem;flex-wrap:wrap}.portfolio-actions button{background:#fff;border:1px solid #b8cad1;border-radius:6px;padding:.6rem .8rem;color:#153c4d}
.portfolio-filters{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.portfolio-filters label{display:grid;gap:.4rem;font-size:.83rem;font-weight:700}.portfolio-filters input:not([type=checkbox]),.portfolio-filters select{padding:.6rem;border:1px solid #b8cad1;border-radius:6px;background:#fff}.portfolio-filters .portfolio-check{display:flex;align-items:center;padding:.65rem 0}
.portfolio-table-panel{padding:0;overflow:hidden}.portfolio-table{min-width:2100px;width:100%;font-size:.83rem;border-collapse:collapse}.portfolio-table th{white-space:normal;vertical-align:bottom;background:#f2f7f8}.portfolio-table th,.portfolio-table td{padding:.8rem;border-bottom:1px solid #e0e9ed;vertical-align:top;text-align:right}.portfolio-table th:nth-child(2),.portfolio-table td:nth-child(2),.portfolio-table th:nth-last-child(-n+2),.portfolio-table td:nth-last-child(-n+2){text-align:left}.portfolio-table th:nth-child(2),.portfolio-table td:nth-child(2){position:sticky;left:0;background:#fff;min-width:225px;z-index:1}.portfolio-table td small{display:block;color:#607985;font-size:.7rem;max-width:180px;margin-top:.3rem}.portfolio-table a{color:#176674;font-weight:750;text-decoration:none}.portfolio-table details{width:260px;font-size:.77rem;line-height:1.55}.portfolio-table details summary{cursor:pointer;color:#176674;white-space:nowrap}.portfolio-table details p{margin:.7rem 0;overflow-wrap:anywhere}.portfolio-table tbody tr:hover td{background:#f8fbfc}
@media(max-width:800px){.topbar{height:auto;min-height:66px;padding:1rem;gap:1rem;flex-wrap:wrap}.top-nav .scope{display:none}.portfolio-page{padding:1rem}.portfolio-page>.panel-head{flex-direction:column}}

.configuration-card{padding:.8rem 0;border-bottom:1px solid #dbe6e9}.configuration-card h4{margin:0 0 .35rem}.configuration-card p{margin:.35rem 0;font-size:.85rem;line-height:1.5}.configuration-event{padding:.7rem .9rem;margin:.6rem 0;border-left:3px solid #248c98;background:#f1f7f8}.source-comparison-table{width:100%;border-collapse:collapse;font-size:.83rem}.source-comparison-table th,.source-comparison-table td{padding:.7rem;text-align:left;vertical-align:top;border-bottom:1px solid #dbe6e9}.source-comparison-table small{display:block;margin-top:.3rem;color:#597481;max-width:38rem}.source-evidence{display:flex;gap:.8rem;flex-wrap:wrap}.source-use{padding:.4rem .7rem;font-size:.8rem}#generation-comparison-chart svg{width:100%;min-width:560px}#generation-comparison-chart{overflow-x:auto}

#tab-configuration strong{font-size:1.18rem;line-height:2rem}

/* Calton Works theme: palette and type follow www.caltonworks.com */
:root{--cw-paper:#f5f1e8;--cw-paper-deep:#ebe6dc;--cw-ink:#141414;--cw-slate:#566066;--cw-rule:#d8d6cf;--cw-brick:#9a372b;--cw-brick-dark:#7a2d22;--cw-footer:#161715;--cw-display:"Arial Black","Aptos Display",Arial,sans-serif;--header-height:66px;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--cw-ink);background:var(--cw-paper)}
.topbar{position:sticky;top:0;z-index:20;background:var(--cw-paper);color:var(--cw-ink);border-bottom:1px solid var(--cw-rule)}
.brand{gap:1rem;color:var(--cw-ink);text-decoration:none;letter-spacing:normal}
.brand a:focus-visible{outline:2px solid var(--cw-brick);outline-offset:5px}
.wordmark{display:inline-flex;align-items:baseline;gap:.32em;font-family:var(--cw-display);font-size:1.05rem;font-weight:900;letter-spacing:-.045em;line-height:1;text-transform:uppercase;white-space:nowrap}
.wordmark-slash{color:var(--cw-brick)}
.brand-product{color:var(--cw-slate);font-size:.78rem;font-weight:400;white-space:nowrap}
.top-nav a,.scope{color:var(--cw-slate)}
.top-nav a:hover{color:var(--cw-ink)}
.top-nav a[aria-current=page]{color:var(--cw-ink);border-bottom-color:var(--cw-brick)}
.explorer{background:var(--cw-paper-deep);border-right-color:var(--cw-rule)}
.eyebrow{color:var(--cw-brick)}
h1,h2,h3{font-family:var(--cw-display);font-weight:900;color:var(--cw-ink)}
.muted,.chart-note,.source-line,.map-note,.fineprint,.control-note,.asset-item span,.asset-list-heading{color:var(--cw-slate)}
.status-pill{border-color:#d9b7b0;background:#f3e3df;color:var(--cw-brick-dark)}
.panel,.metric,.month-table-wrap,.asset-item{border-color:var(--cw-rule)}
.explorer input,.explorer select,.controls-grid input,.controls-grid select,.portfolio-filters input:not([type=checkbox]),.portfolio-filters select,.detail-toolbar select{border-color:#bdb9ae;color:var(--cw-ink);outline-color:var(--cw-brick)}
.asset-item{color:var(--cw-ink)}
.asset-item:hover,.asset-item.active{border-color:var(--cw-brick);background:#f8ece9}
.metric.primary,.metric[aria-selected="true"]{background:var(--cw-ink);border-color:var(--cw-ink)}
.metric[aria-selected="true"]{box-shadow:0 3px 0 var(--cw-brick)}
.metric.primary span,.metric.primary small,.metric[aria-selected="true"] span,.metric[aria-selected="true"] small{color:#d6d3ca}
.metric span,.metric small{color:var(--cw-slate)}
.metric[role="tab"]:hover{border-color:var(--cw-brick)}
.action-button{background:var(--cw-brick);border-color:var(--cw-brick)}
.action-button:hover{background:var(--cw-brick-dark)}
.text-button,.portfolio-table a,.portfolio-table details summary,.site-footer a{color:var(--cw-brick)}
.portfolio-actions button{color:var(--cw-ink);border-color:#bdb9ae}
button:focus-visible,[role="tabpanel"]:focus-visible{outline-color:var(--cw-brick)}
.month-item.selected th{box-shadow:inset 3px 0 var(--cw-brick)}
.month-chip input{accent-color:var(--cw-brick)}
.configuration-event{border-left-color:var(--cw-brick);background:var(--cw-paper-deep)}
.detail-panel{border-color:var(--cw-brick)}
.detail-summary span,.month-table thead th,.portfolio-table th{background:var(--cw-paper-deep);color:var(--cw-ink)}
th{color:var(--cw-slate);border-bottom-color:var(--cw-rule)}
.scenario-actions{background:var(--cw-paper-deep);border-color:var(--cw-rule)}
.fit-tooltip,.detail-tooltip{background:var(--cw-ink)}
.fit-tooltip strong,.detail-tooltip strong{color:#e7b3aa}
.about-page{max-width:1180px;margin:0 auto;padding:2rem 1.5rem 3rem}
.about-hero{padding:1.6rem 1.5rem 1.1rem}
.about-hero .eyebrow{margin-bottom:.55rem}
.about-panel > .eyebrow{margin-bottom:.35rem}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.source-card{padding:1rem 1.1rem;border:1px solid var(--cw-rule);border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:.6rem}
.source-card h3{margin:0 0 .1rem;font-size:1rem;letter-spacing:-.02em}
.source-card ul,.disclaimer-list{margin:0;padding-left:1.1rem;display:grid;gap:.55rem;color:var(--cw-ink);line-height:1.55}
.source-card p{margin:0;color:var(--cw-slate);line-height:1.55}
.resource-card{grid-column:1 / -1}
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;color:var(--cw-ink)}
.method-grid p{margin:0;line-height:1.7;color:var(--cw-ink)}

.home-page{max-width:1320px;padding:0 2rem;margin:0 auto}
.home-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(3.5rem,8vw,7rem) 0}
.home-hero-copy h1{max-width:760px;font-size:clamp(2.7rem,5.6vw,5rem);line-height:1.02;letter-spacing:-.065em;margin:.6rem 0 1.2rem}
.home-lede{max-width:690px;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;color:#465156}
.home-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0 0}
.home-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.8rem 1rem;border:1px solid transparent;border-radius:5px;text-decoration:none;font-size:.9rem;font-weight:750;line-height:1.35}
.home-button:hover{text-decoration:none}
.home-button-primary{background:var(--cw-brick);color:#fff}
.home-button-primary:hover{background:var(--cw-brick-dark)}
.home-button-secondary{background:transparent;border-color:#aaa69c;color:var(--cw-ink)}
.home-button-secondary:hover{background:#fff}
.home-caveat{max-width:650px;margin:1.2rem 0 0;color:var(--cw-slate);font-size:.78rem;line-height:1.55}
.home-visual{padding:1.5rem;background:#e8e4da;border:1px solid #d5d0c5;border-radius:12px}
.home-visual-label{margin:0 0 1.3rem;color:var(--cw-slate);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.home-visual-row{display:grid;grid-template-columns:2.2rem 1fr 1.8rem;align-items:center;gap:.75rem;padding:.9rem 0}
.home-visual-number{color:var(--cw-brick);font-size:.76rem;font-weight:800}
.home-visual-row strong,.home-visual-row small,.home-visual-result strong,.home-visual-result small{display:block}
.home-visual-row strong{font-size:.95rem}
.home-visual-row small{margin-top:.25rem;color:var(--cw-slate);font-size:.78rem}
.home-visual-mark{color:var(--cw-brick);font-size:1.15rem}
.home-visual-divider{height:1px;background:#cbc6ba}
.home-visual-result{margin-top:1rem;padding:1.2rem;background:var(--cw-ink);border-radius:7px;color:#fff}
.home-visual-result>span{display:block;margin-bottom:.65rem;color:#e5aaa0;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.home-visual-result strong{font-size:1.12rem;letter-spacing:-.02em}
.home-visual-result small{margin-top:.4rem;color:#c9c9c0;font-size:.78rem;line-height:1.45}
.home-visual-footnote{margin:.8rem 0 0;color:var(--cw-slate);font-size:.7rem;text-align:right}
.home-section{padding:4.5rem 0;border-top:1px solid var(--cw-rule)}
.home-section-heading{max-width:760px;margin-bottom:2rem}
.home-section-heading h2{font-size:clamp(1.8rem,3.3vw,2.8rem);line-height:1.12;letter-spacing:-.045em}
.home-section-heading>p:last-child{max-width:690px;margin:0;color:var(--cw-slate);font-size:1rem;line-height:1.7}
.home-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.home-use-card{padding:1.5rem;background:#fff;border:1px solid var(--cw-rule);border-radius:8px}
.home-use-card>span{display:block;margin-bottom:1.8rem;color:var(--cw-brick);font-size:.76rem;font-weight:800}
.home-use-card h3,.home-assumption-card h3{margin-bottom:.6rem;font-size:1.12rem}
.home-use-card p,.home-assumption-card p{margin:0;color:var(--cw-slate);font-size:.88rem;line-height:1.65}
.home-assumptions{padding-bottom:4rem}
.home-assumption-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.home-assumption-card{padding:1.35rem;background:#ebe6dc;border-radius:8px}
.home-assumption-index{display:block;margin-bottom:1.4rem;color:var(--cw-brick);font-size:.76rem;font-weight:800}
.home-assumption-note{margin:1.2rem 0 0;color:var(--cw-slate);font-size:.8rem;line-height:1.6}
.home-assumption-note a{color:var(--cw-brick);font-weight:700}

.site-footer{max-width:none;margin:2rem 0 0;border:0;background:var(--cw-footer);color:#a8a8a1;padding:2rem max(1.5rem,calc((100% - 1240px)/2));font-size:.78rem;line-height:1.6;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.site-footer>span{display:block;margin:0}
.site-footer .wordmark{display:inline-flex;margin:0;font-size:1.15rem;color:var(--cw-paper);text-decoration:none;align-items:baseline}
.site-footer .wordmark:hover{text-decoration:none}
.footer-made{margin-left:auto!important;margin-top:0!important;padding-top:0;border-top:none;color:var(--cw-paper);font-weight:700;display:inline-flex;align-items:center;gap:.35rem}
.footer-made a{color:var(--cw-paper);text-decoration:underline;text-decoration-color:var(--cw-brick);text-underline-offset:3px}
@media(max-width:800px){.brand-product{display:none}.about-page{padding:1.5rem 1rem 2.5rem}.source-grid,.method-grid{grid-template-columns:1fr}.site-footer{padding:1.5rem 1rem}.footer-made{margin-left:0!important;width:100%}}
@media(max-width:580px){.topbar{gap:.7rem;padding:.75rem 1rem}.wordmark{font-size:.83rem}.top-nav{gap:.75rem;margin-left:auto}.top-nav a{font-size:.74rem;white-space:nowrap}.site-footer{padding:1.5rem 1rem;gap:.6rem}.site-footer .wordmark{font-size:1rem}}
@media(max-width:900px){.home-page{padding:0 1.5rem}.home-hero{grid-template-columns:1fr;gap:2rem;padding:3.5rem 0}.home-visual{max-width:600px}}
@media(max-width:580px){.home-page{padding:0 1rem}.home-hero{padding:2.5rem 0}.home-hero-copy h1{font-size:2.65rem}.home-section{padding:3rem 0}.home-use-grid,.home-assumption-grid{grid-template-columns:1fr}.home-use-card>span,.home-assumption-index{margin-bottom:.8rem}.home-actions{align-items:stretch;flex-direction:column}.home-button{width:100%;text-align:center}}

/* Keep long filter options inside narrow phone layouts. */
.portfolio-filters label{min-width:0;max-width:100%}
.portfolio-filters select,.portfolio-filters input:not([type=checkbox]){min-width:0;max-width:100%}

/* Shared website header treatment; retain the feature's own navigation labels. */
.topbar{display:block;min-height:0;height:auto;padding:0;background:rgba(245,241,232,.96);backdrop-filter:blur(12px);z-index:50}
.header-inner{width:min(1240px,calc(100% - 48px));margin-inline:auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.brand{flex-wrap:wrap;gap:.6rem 1rem}
.brand-product{display:inline;font-family:var(--cw-display);font-weight:900;font-size:.86rem;letter-spacing:-.035em;color:var(--cw-ink);white-space:normal}
.top-nav{gap:clamp(1rem,3vw,2.5rem);margin-left:0}
.top-nav a{font-family:Arial,"Helvetica Neue",sans-serif;font-size:.86rem;font-weight:700;line-height:1.62;color:var(--cw-ink)}
.top-nav a[aria-current=page]{border-bottom:0;padding:0;box-shadow:0 5px 0 -3px var(--cw-ink)}
.top-nav a:focus-visible,.brand-product:focus-visible{outline:3px solid var(--cw-brick);outline-offset:4px}
@media(max-width:760px){
 .header-inner{width:calc(100% - 28px);min-height:0;padding-block:.8rem;gap:1rem}
 .topbar .wordmark{font-size:.83rem}
 .brand-product{font-size:.83rem}
 .top-nav{display:grid;grid-template-columns:repeat(2,auto);gap:.2rem 1.2rem}
 .top-nav a{font-size:.78rem;white-space:normal}
}
