/* v40 · hierarchy, reading rhythm and native progressive disclosure. */
:root{--surface:#faf8f1;--ink:#173f30;--quiet:#596652;--soft:#e6e9dd}
html{scroll-padding-top:96px}body{font-size:16px}p{line-height:1.8}h2{font-size:clamp(32px,3.8vw,46px);margin-bottom:25px}h2 em{font-size:1.12em}
.room-hero{grid-template-columns:1.08fr 1fr;gap:48px;padding:54px 0 30px}.room-hero h1{font-size:clamp(38px,5vw,62px);margin:18px 0 25px}.room-hero h1 em{font-size:1.08em}.room-hero .intro{font-size:18px;max-width:550px}.room-hero>.micro{color:var(--accent)}
.room-status{font:10px/1.8 'DM Mono',monospace;color:var(--quiet);display:flex;align-items:center;gap:9px;margin-top:25px;max-width:450px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.room-cover{margin:0;position:relative;border-radius:2px 56px 2px 2px;overflow:hidden;background:var(--soft);align-self:stretch;min-height:375px}.room-cover>img{width:100%;height:100%;min-height:375px;max-height:510px;object-fit:cover;display:block}.room-cover:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0d2a22d9);pointer-events:none}.room-cover-mark{position:absolute;left:22px;top:22px;display:flex;align-items:center;gap:10px;background:#f9f8efee;padding:8px 14px;color:var(--green);border:1px solid #173f3029}.room-cover-mark svg{width:29px;height:29px}.room-cover-mark span{font:10px 'DM Mono';text-transform:uppercase}.room-cover figcaption{position:absolute;bottom:0;left:0;right:0;z-index:1;color:#f2f0e9;font-size:10px;line-height:1.7;padding:18px 22px}
.room-snapshot{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 35px;padding:0}.room-snapshot article{padding:24px;background:var(--surface);min-width:0}.room-snapshot .micro{color:var(--quiet);font-size:9px;margin-bottom:16px}.room-snapshot strong{display:block;font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.025em}.room-snapshot p{font-size:12px;line-height:1.7;color:var(--quiet);margin:12px 0 0}.room-snapshot .snapshot-test{background:var(--green);color:var(--cream)}.snapshot-test .micro,.snapshot-test p{color:#d4ddcb}.snapshot-test a{display:flex;align-items:center;gap:15px;min-height:44px;text-decoration:none;border-top:1px solid #fffdf333;margin-top:15px;padding-top:12px}.snapshot-test a b{font:32px/1.2 'Instrument Serif';color:#e6c191;white-space:nowrap}.snapshot-test a span{font:9px/1.7 'DM Mono';max-width:170px}.snapshot-test a:hover span{text-decoration:underline}
.room-wayfinding{position:sticky;top:0;z-index:20;background:var(--paper);margin:0;border-top:1px solid #173f3050;box-shadow:0 7px 15px #173f3005}.room-wayfinding .room-nav{position:static;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;border:0;backdrop-filter:none;background:var(--paper)}.room-nav a{position:relative;display:flex;align-items:center;gap:9px;padding:17px 10px;min-height:66px;font-size:11px;line-height:1.4;border-bottom:2px solid transparent}.room-nav a>span{font:9px 'DM Mono';color:#7b876e}.room-nav a[aria-current="location"]{border-bottom-color:var(--green);background:#e6e9dd;color:var(--green);font-weight:600}.room-nav a[aria-current] span{color:var(--accent)}
.room-progress{height:2px;position:relative;background:#173f3010}.room-progress i{display:block;height:100%;width:var(--reading-progress,0%);background:var(--accent);transition:width .15s linear}.room-menu{display:none}.ui-chevron{display:block;width:20px;height:20px;flex:none;transition:transform .22s;color:var(--green)}details[open]>summary>.ui-chevron{transform:rotate(180deg)}
.room-section{padding:48px 0}.research-brief{padding-top:40px}.research-thesis{grid-template-columns:170px 1fr;gap:25px;padding:24px;background:var(--soft);border:0;border-left:2px solid var(--accent);margin:0 0 26px}.research-thesis>p{font-size:30px}.research-flow{margin-bottom:30px}.research-facts{gap:28px}.research-facts>article{padding-top:20px}.research-facts strong{font-size:50px}.research-facts .research-cite{min-height:35px}
.research-offer article,.research-competition article{padding-top:20px}.research-market{padding:25px;margin-top:25px}.research-sizing{padding-top:25px}.research-leads>article{padding:25px;border-top:3px solid var(--accent);border-radius:2px 25px 2px 2px}.research-leads h3{font-size:29px}.research-leads details{margin-bottom:0;border-top:1px solid var(--line);border-bottom:0}.research-leads summary{min-height:55px}.research-leads .research-cite{margin-top:8px;min-height:35px}.research-modules{gap:12px}.research-modules article{padding:25px;border-left:0;border-top:2px solid var(--accent);background:var(--surface)}.research-modules small{font-size:12px}.research-depth summary .depth-number{transform:none!important}.research-depth summary strong{font-size:18px}.research-depth details{margin-bottom:0}.research-gates{padding:28px}
.team-roles{margin:25px 0}.team-roles article{background:transparent;border-top-width:2px;padding:18px 0}.team-roles p{font-size:13px}.plan-overview{border:0;gap:10px;margin:28px 0 0}.plan-overview a{border:1px solid var(--line)!important;background:var(--surface);min-height:80px;padding:15px}.plan-overview span{margin-bottom:8px}.plan-overview strong{font-size:13px}
.launch-plan{margin:30px 0}.plan-step{grid-template-columns:48px 1fr;gap:17px;padding-bottom:24px}.plan-step:before{left:20px;top:42px}.step-count{font:12px 'DM Mono';height:40px;width:40px;display:flex;align-items:center;justify-content:center;background:var(--green);color:var(--cream);border-radius:50%}.step-count:after{display:none}.step-body{padding:25px;background:var(--surface);border-radius:2px 30px 2px 2px}.step-title h3{font-size:clamp(23px,2.7vw,30px);line-height:1.25}.step-title .lead{font-size:9px;padding:7px 10px;max-width:180px}.main-task{font-size:15px;margin-bottom:22px}.deliverable{display:block;padding:19px 22px;background:#e3e8d9;color:var(--green)}.deliverable .micro{color:#5c6a51;font-size:9px;margin-bottom:8px}.deliverable strong{font-weight:500;font-size:17px;line-height:1.5;display:block}
.step-detail{padding:0;margin:18px 0 0;border-bottom:0}.step-detail>summary{display:flex;justify-content:flex-start;gap:12px;min-height:58px;font-weight:500}.step-detail>summary>span:first-child{font-size:13px;color:var(--green);transform:none!important}.step-detail .ui-chevron{margin-left:auto}.role-tokens{display:flex!important;gap:4px;transform:none!important;margin-left:auto}.role-tokens i{font:9px 'DM Mono';font-style:normal;display:flex;width:23px;height:23px;align-items:center;justify-content:center;background:#dce3cf;border-radius:50%;color:#355344}.role-tokens i:nth-child(2){background:#173f30;color:#fffdf3}.role-tokens i:nth-child(3){background:#e7cdae;color:#754324}.step-detail .ui-chevron{margin-left:0}.step-roles{margin:6px 0 18px}.step-roles>div{padding:18px;background:#e9ece2}.step-roles dd{font-size:14px;line-height:1.8}.gate{padding:5px 0 8px;margin-top:10px}.first-action{padding:28px;margin-top:30px}.first-action h3{font-size:27px}
.test-brief{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface)}.test-brief h3{font-size:25px}.test-brief p{font-size:14px}.test-cash .micro{color:#d4ddc9}.test-cash strong{font-size:64px}.test-budget-track{display:flex;gap:3px;height:14px;margin:28px 0 0}.test-budget-track span{min-width:0;background:var(--budget-color)}.budget-tone-0{--budget-color:#173f30}.budget-tone-1{--budget-color:#879a76}.budget-tone-2{--budget-color:#b87b47}.budget-tone-3{--budget-color:#b6b7a7}.test-allocation{gap:0;margin:0 0 25px;border-bottom:1px solid var(--line)}.test-allocation article{background:transparent;padding:22px 18px 22px 0;min-width:0}.test-allocation span{display:flex;gap:7px;align-items:baseline;min-height:40px;font-size:11px;line-height:1.5}.test-allocation span i{width:6px;height:6px;border-radius:50%;flex:none;background:var(--budget-color)}.test-allocation strong{font-size:38px}.test-allocation small{font-size:11px;line-height:1.7}.test-calculation{padding:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 0}.test-calculation summary{padding:10px 0}.test-calculation summary span:first-child{font-size:14px;color:var(--green);transform:none}.test-calculation p{font-size:14px;line-height:1.9;padding:12px 0 22px}.test-lines{border-top:0}.test-lines summary{padding:10px 0}.test-boundaries{margin:25px 0}.test-reality{padding:27px;margin:0 0 35px;border-radius:2px 25px 2px 2px}.test-reality h3{font-size:28px}
.finance-equation{padding-block:24px}.scenario{border-radius:2px 25px 2px 2px}.budget-head{margin-top:30px}.model-lab{background:var(--surface)}.readout>div{background:#e7eadd;padding:20px;border-left-width:2px}.readout p{line-height:1.85}.source-grid{gap:0 28px;margin:20px 0 30px}.source-record{min-width:0;margin:0;padding:0;border:0;border-top:1px solid var(--line);background:transparent;scroll-margin-top:95px}.source-record>summary{gap:18px;min-height:108px;padding:19px 0;font-weight:400}.source-record>summary>span{display:block;transform:none!important;font-size:inherit;color:inherit}.source-record small{display:block;font:9px/1.6 'DM Mono';color:var(--accent);margin-bottom:9px}.source-record strong{font:500 17px/1.4 Manrope;letter-spacing:-.02em;display:block}.source-record time{display:block;font-size:11px;color:var(--quiet);line-height:1.6;margin-top:9px}.source-body{padding:0 0 22px}.source-body p{font-size:14px;line-height:1.8;color:var(--quiet);margin:0 0 15px}.source-body>a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px;color:var(--green)}.source-body>a svg{width:16px;height:16px}.source-record[open]>summary strong{color:var(--accent)}.solar-research-register summary,.solar-partner-brief summary{font-size:14px}.solar-prospect{border-radius:2px 25px 2px 2px}.solar-prospect.prospect-first{border-top-color:var(--accent)}.solar-prospect h3{font-size:28px}.solar-prospect .prospect-fact p,.solar-prospect .prospect-fit p{font-size:14px}.solar-customers .section-intro{font-size:16px}.solar-recommendation{margin-top:25px}.solar-scope-note{margin-bottom:25px}
@media(max-width:760px){html{scroll-padding-top:89px}main{padding-inline:20px}.room-top{min-height:58px;padding-block:6px}.room-hero{grid-template-columns:1fr;gap:24px;padding:30px 0 20px}.room-hero h1{font-size:38px;line-height:1.06;margin:14px 0 20px}.room-hero .intro{font-size:16px;line-height:1.7;margin-bottom:0}.room-status{font-size:9px;margin-top:17px}.room-cover{min-height:260px;max-height:290px;border-radius:2px 38px 2px 2px}.room-cover>img{min-height:260px;height:290px;max-height:290px;object-position:center 40%}.room-cover-mark{left:16px;top:16px;padding:5px 10px}.room-cover-mark svg{width:25px;height:25px}.room-cover-mark span{font-size:9px}.room-cover figcaption{font-size:9px;padding:16px}.room-snapshot{grid-template-columns:1fr 1fr;margin-bottom:25px}.room-snapshot article{padding:18px 15px}.room-snapshot .micro{font-size:8px;margin-bottom:12px}.room-snapshot strong{font-size:16px;line-height:1.4}.room-snapshot p{font-size:11px;margin-top:8px}.room-snapshot .snapshot-test{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:0 20px}.snapshot-test .micro{grid-column:1}.snapshot-test strong,.snapshot-test p{grid-column:1}.snapshot-test a{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;margin:0;border-top:0;border-left:1px solid #fffdf333;padding:0 0 0 18px;max-width:115px}.snapshot-test a b{font-size:32px}.snapshot-test a span{font-size:8px;line-height:1.7}.room-wayfinding .room-nav{display:none}.room-menu{display:block;margin:0;padding:0;border:0;position:relative}.room-menu>summary{display:flex;justify-content:space-between;min-height:66px;gap:18px;padding:9px 2px;list-style:none}.room-current{display:flex!important;align-items:center;gap:12px;transform:none!important;color:var(--green)!important}.room-current small{font:9px/1.5 'DM Mono';color:var(--accent);max-width:40px;flex:none}.room-current strong{font-size:14px;font-weight:600;line-height:1.35}.room-jump{display:flex!important;align-items:center;gap:7px;transform:none!important;color:var(--quiet)!important;font-size:10px!important;flex:none}.room-jump svg{width:17px;height:17px}.room-menu[open] .room-jump svg{transform:rotate(180deg)}.room-menu>nav{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:8px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 35px #173f3026}.room-menu nav a{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px;text-decoration:none;font-size:12px;line-height:1.4}.room-menu nav a>span{font:9px 'DM Mono';color:var(--accent)}.room-menu nav a[aria-current]{background:var(--soft);font-weight:600}.room-section{padding:33px 0}.room-section>.micro{font-size:9px;line-height:1.8}h2{font-size:30px;line-height:1.13;margin-bottom:22px}h2 em{font-size:1.1em}.intro{font-size:16px;line-height:1.75}.research-thesis{display:block;padding:20px;margin-bottom:20px}.research-thesis .micro{margin-bottom:12px;font-size:9px}.research-thesis>p{font-size:26px;line-height:1.25}.research-flow{padding:22px 18px 10px;gap:20px 16px}.research-facts strong{font-size:36px}.research-facts article{grid-template-columns:90px 1fr}.research-facts h3{font-size:15px}.research-facts p{font-size:13px}.research-offer p,.research-competition p,.research-market p,.research-sizing p{font-size:15px;line-height:1.8}.research-leads h3{font-size:28px}.research-leads p,.research-modules p{font-size:14px}.research-leads>article{padding:22px}.research-gates{padding:22px}.research-depth summary strong{font-size:16px}.research-products h3{font-size:21px}.research-products p{font-size:14px}.team-roles{margin:22px 0}.team-roles article{padding:14px 0;border-top:1px solid var(--line);background:transparent}.team-roles p{font-size:12px;line-height:1.7}.plan-overview{gap:8px;margin-top:22px}.plan-overview a{min-height:78px;padding:14px}.launch-plan{margin:25px 0}.plan-step{grid-template-columns:28px 1fr;gap:10px;padding-bottom:20px}.step-count{width:28px;height:28px;font-size:10px}.plan-step:before{left:13px;top:30px}.step-body{padding:20px 16px;border-radius:2px 22px 2px 2px}.step-title h3{font-size:23px;line-height:1.2;margin:0 0 12px}.step-title .lead{font-size:8px;margin:0}.main-task{font-size:14px;line-height:1.75;margin-top:15px;margin-bottom:18px}.deliverable{padding:15px}.deliverable strong{font-size:15px;line-height:1.55}.step-detail>summary{flex-wrap:wrap;gap:8px;min-height:65px;position:relative;padding-right:24px}.step-detail>summary>span:first-child{font-size:12px;max-width:170px}.role-tokens{display:none!important}.step-detail>summary>.ui-chevron{position:absolute;right:0;top:22px;width:17px;height:17px}.step-roles{display:block;margin:8px 0 18px}.step-roles>div{padding:17px 15px}.step-roles dt{font-size:11px}.step-roles dd{font-size:14px;line-height:1.8}.gate{font-size:13px;line-height:1.8}.first-action{padding:23px 20px}.first-action h3{font-size:26px}.test-brief>div{padding:23px 20px}.test-brief h3{font-size:23px}.test-brief p{font-size:14px}.test-cash{display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:center}.test-cash .micro{grid-column:1/-1;margin-bottom:8px}.test-cash strong{font-size:48px;margin:0}.test-cash p{font-size:11px;line-height:1.6}.test-budget-track{height:12px;margin-top:24px}.test-allocation{grid-template-columns:1fr 1fr;margin-top:10px;gap:0 20px}.test-allocation article{padding:16px 0}.test-allocation span{font-size:11px;min-height:32px}.test-allocation strong{font-size:32px}.test-allocation small{font-size:11px}.test-calculation summary{padding:10px 0}.test-calculation summary span:first-child{font-size:13px}.test-calculation p{font-size:14px;line-height:1.85}.test-boundaries .micro{font-size:9px}.test-boundaries p{font-size:14px}.test-reality{padding:23px 20px}.test-reality h3{font-size:26px}.test-reality p{font-size:14px}.scenario{padding:20px}.scenario dl>div{font-size:11px}.period-note,.model-status{font-size:12px;line-height:1.8}.readout p{font-size:14px}.source-grid{display:block;margin-top:25px}.source-record>summary{min-height:105px;gap:20px}.source-record strong{font-size:16px;line-height:1.45}.source-record time{font-size:11px;line-height:1.65}.source-body p{font-size:14px}.source-body>a{font-size:12px}.source-record{scroll-margin-top:90px}.solar-research-counts{gap:1px}.solar-research-counts>div{padding:18px}.solar-customers h2{font-size:30px}.solar-scope-note{font-size:13px}.solar-prospect{padding:22px}.solar-prospect summary{font-size:13px}.solar-prospect dd{font-size:14px}.solar-customers .section-intro{font-size:16px}.research-register~.micro{margin-top:25px}.room-footer p{font-size:23px}}
@media(max-width:360px){.room-hero h1{font-size:34px}.room-snapshot article{padding:16px 13px}.room-snapshot strong{font-size:15px}.room-snapshot .snapshot-test{gap:0 12px}.snapshot-test a{padding-left:13px;max-width:93px}.snapshot-test a b{font-size:27px}.room-current strong{font-size:13px}.room-jump{font-size:9px!important;gap:3px}.research-facts article{grid-template-columns:77px 1fr}.research-facts strong{font-size:32px}.step-body{padding:18px 13px}.step-title h3{font-size:21px}.test-cash{grid-template-columns:1fr}.test-cash strong{font-size:50px}.test-cash p{margin-top:8px}.test-allocation{gap:0 15px}.test-allocation strong{font-size:30px}}
.team-detail{margin:22px 0;border:1px solid var(--line);padding:0 18px;background:#e8ebdf}.team-detail>summary{gap:18px;min-height:62px;flex-wrap:wrap;padding:12px 0}.team-detail>summary>span{transform:none!important;color:var(--green);font-size:13px}.team-detail>summary>.team-names{font:10px/1.8 'DM Mono';color:var(--quiet)}.team-detail .team-roles{margin:0 0 8px}.first-action>summary{color:var(--cream);padding:0;min-height:45px}.first-action>summary>span:first-child{font-size:20px;transform:none!important;color:var(--cream)}.first-action>summary>span:last-child{color:#e6c191}.first-action>div{padding-top:15px}.first-action>div>p{max-width:850px;font-size:14px}.first-action details{border-color:#fffdf344}
.solar-alternatives{border:1px solid var(--line);padding:0 22px;margin:25px 0;background:#e8ebdf}.solar-alternatives>summary{padding:15px 0;min-height:65px}.solar-alternatives>summary>span:first-child{font-size:17px;color:var(--green);transform:none!important}.solar-alternatives .prospect-group-heading{padding-top:15px}.solar-alternatives .solar-prospect-grid{margin-bottom:22px}
.team-detail>summary{display:grid;grid-template-columns:1fr auto 20px}.team-detail>summary>.team-names{margin-left:10px}.team-detail>summary>.ui-chevron{margin-left:auto}@media(max-width:760px){.team-detail>summary{grid-template-columns:1fr 20px}.team-detail>summary>.team-names{grid-row:2;grid-column:1;margin:0}.team-detail>summary>.ui-chevron{grid-column:2;grid-row:1/3}}
.test-scope{margin:18px 0 0;padding:0;border-bottom:0}.test-scope summary{min-height:49px;font-size:13px}.test-scope p{padding-bottom:8px}.test-brief>div:not(.test-cash)>p{font-size:15px;line-height:1.8}@media(max-width:760px){.test-cash{grid-row:1}.test-brief>div:not(.test-cash){grid-row:2}.test-brief>div:not(.test-cash)>p{font-size:14px}}
@media(max-width:760px){.room-cover figcaption{font-size:10px;line-height:1.7}.room-status{font-size:10px}.snapshot-test a span{font-size:10px;line-height:1.5}.snapshot-test a{max-width:125px}.room-snapshot .snapshot-test{gap:0 15px}.research-facts article{grid-template-columns:115px minmax(0,1fr)}.research-facts strong{font-size:33px;overflow-wrap:normal;word-break:normal}.research-facts p{font-size:13px}.team-detail{padding:0 15px;margin:20px 0}.team-detail>summary{gap:5px 15px;min-height:65px}.team-detail>summary>span{font-size:13px}.team-detail>summary>.team-names{font-size:10px}.first-action>summary>span:first-child{font-size:19px}.first-action{margin-top:24px}.first-action>div>p{font-size:14px}}
@media(max-width:360px){.snapshot-test a{max-width:100px}.snapshot-test a span{font-size:9px}.research-facts article{grid-template-columns:100px minmax(0,1fr);gap:0 14px}.research-facts strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){.room-progress i,.ui-chevron{transition:none}}
@media print{.room-wayfinding{display:none}.room-cover{max-height:240px;min-height:0}.room-cover>img{min-height:0;height:240px}.room-snapshot article{print-color-adjust:exact;-webkit-print-color-adjust:exact}.step-detail>summary{display:none}.step-detail:not([open])>*:not(summary){display:block}.source-record,.plan-step{break-inside:avoid}.source-grid{display:block}.source-record>summary{min-height:70px}.source-record .source-body{display:block}.room-hero{padding-top:10px}.room-section{padding-top:25px}}
