.pv8-landing-refresh .hero[data-landing-chapter]{background:#122f2d url('/media/pv8-hero-possibilities.webp?v=20261027.1') center/cover no-repeat;padding-top:clamp(44px,6vw,86px);padding-bottom:48px}
.pv8-landing-refresh .hero[data-landing-chapter]::before{background:linear-gradient(180deg,rgba(9,38,35,.88),rgba(9,38,35,.64) 56%,rgba(9,38,35,.25))}
.pv8-landing-refresh .hero[data-landing-chapter] .hero-copy{display:block;width:100%;max-width:1100px;margin:0 auto;text-align:center}
.pv8-landing-refresh .hero[data-landing-chapter] .hero-copy>.teaser-embed{width:100%;max-width:1040px;margin:0 auto}
.pv8-landing-refresh .hero[data-landing-chapter] h1{max-width:1000px;font-size:clamp(40px,5.2vw,76px);line-height:1.05;letter-spacing:-.045em;margin:0 auto 24px;text-wrap:balance}
.pv8-landing-refresh .hero[data-landing-chapter] p.hero-subhead{max-width:640px;color:#e1e9e4;font-size:clamp(16px,1.6vw,20px);margin:0 auto 36px;line-height:1.6;text-wrap:balance}
.pv8-landing-refresh .teaser-search-card{padding:10px 16px 0;border:1px solid #dce3dc;border-radius:14px;text-align:left;box-shadow:0 12px 34px #00161230}
.pv8-landing-refresh .hero[data-landing-chapter] .teaser-form.v2-form{display:block;border:0!important;padding:0!important;background:transparent;box-shadow:none}
.v2-form label{font-size:13px;font-weight:500;color:#223c4c}
.v2-search-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(165px,.85fr) auto;gap:16px;align-items:center}
.v2-form .v2-location,.v2-form .v2-asset{min-width:0;padding:7px 8px}
.v2-form .v2-location{border-right:1px solid #dce3dc}
.v2-search-row label{margin:0;font-size:12px;line-height:1.4}
.v2-form input,.v2-form select{border:1px solid #c4d0d6!important;border-radius:6px;min-height:43px;font:inherit;max-width:100%}
.pv8-landing-refresh .hero .v2-form .v2-location input,.pv8-landing-refresh .hero .v2-form .v2-asset select{border:0!important;background:#fff;width:100%;min-height:40px;margin:0;padding:6px 0;font-size:15px!important;border-radius:0;box-shadow:none}
.pv8-landing-refresh .hero .v2-form input:focus-visible,.pv8-landing-refresh .hero .v2-form select:focus-visible{outline:2px solid var(--pv8-primary);outline-offset:3px}
.v2-extras{display:grid;grid-template-columns:1fr;border-top:1px solid #dce3dc;margin-top:9px}
.v2-form .v2-extras details{margin:0;min-width:0;padding:0 4px 6px}
.v2-extras summary{display:flex;align-items:center;gap:12px;list-style:none;min-height:46px!important;padding:10px 0!important;font-size:12px;color:#345047}
.v2-extras summary::-webkit-details-marker{display:none}
.v2-extras summary::after{content:'+';margin-left:auto;font-size:18px}
.v2-extras details[open]>summary::after{content:'−'}
.v2-input-editor{width:min(1180px,calc(100% - 48px));margin:24px auto;padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}
.v2-input-editor[hidden]{display:none}
.v2-input-editor .v2-two{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.v2-input-editor input{display:block;width:100%;padding:10px}
.pv8-landing-refresh .hero .teaser-form.v2-form .cta{width:auto;min-height:54px;padding:16px 22px;margin:0!important;border:0;border-radius:8px;background:var(--pv8-primary)!important}
.pv8-landing-refresh .hero .teaser-form.v2-form .cta:hover{background:#0c3456!important}
.pv8-landing-refresh .hero p.v2-start-hint{max-width:none;color:#e1e9e4;font-size:12px;margin:14px auto 0;text-align:center}
.pv8-landing-refresh .hero[data-landing-chapter] .teaser-random{margin:8px auto 0}
.pv8-landing-refresh .hero[data-landing-chapter] .teaser-random .teaser-demo-controls{display:flex;justify-content:center}
.pv8-landing-refresh .hero[data-landing-chapter] .teaser-random .teaser-example{color:#eaf4e7;font-size:13px}
.pv8-landing-refresh .hero[data-landing-chapter] #teaserMsg{color:#e1e9e4!important}
.pv8-landing-refresh .hero[data-landing-chapter] #teaserMsg strong{color:#fff!important}
.pv8-landing-refresh .hero .portfolio-entry,.pv8-landing-refresh .hero .demo-entry{justify-content:center}
@media(max-width:820px){.v2-search-row{grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr)}.pv8-landing-refresh .hero .teaser-form.v2-form .cta{grid-column:1/-1;width:100%}}
@media(max-width:580px){.pv8-landing-refresh .hero[data-landing-chapter]{padding:42px 16px 36px}.pv8-landing-refresh .hero[data-landing-chapter] h1{font-size:clamp(36px,9.5vw,50px)}.pv8-landing-refresh .hero[data-landing-chapter] p.hero-subhead{font-size:16px;margin-bottom:28px}.pv8-landing-refresh .teaser-search-card{padding:10px 12px 0}.v2-search-row,.v2-extras{grid-template-columns:1fr;gap:0}.v2-form .v2-location{border-right:0;border-bottom:1px solid #dce3dc}.v2-form .v2-asset{margin-bottom:9px}.v2-extras details+details{border-top:1px solid #dce3dc}.pv8-landing-refresh .hero .v2-form .v2-location input,.pv8-landing-refresh .hero .v2-form .v2-asset select{font-size:16px!important}}
.v2-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v2-form .v2-drop{display:block;position:relative;margin:14px 0 6px;padding:16px;background:#f5f8f8;border:1px dashed #a2b6bd;border-radius:8px;cursor:pointer;font-weight:500;line-height:1.6;text-align:center}
.v2-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.v2-drop span{display:block;font-size:12px;font-weight:400;color:#566975}
.v2-drop:focus-within,.v2-drop.drag{outline:2px solid #076b53;outline-offset:2px}
.v2-hint{font-size:12px!important;color:#506875!important;line-height:1.5!important;margin:8px 0!important}
.v2-form details{margin-top:12px;color:#355463;font-size:13px}.v2-form summary{cursor:pointer;min-height:32px;padding-top:8px}
.v2-form .cta{width:100%;margin-top:16px!important;background:#0c6552!important;color:#fff!important}
.v2-documents{padding:0;list-style:none;font-size:12px;margin:0}.v2-documents li{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid #e0e6e8}.v2-documents p{font-size:12px!important;margin:3px 0!important;color:#526774!important;overflow-wrap:anywhere}.v2-documents strong{overflow-wrap:anywhere}.v2-documents button{flex-shrink:0;align-self:flex-start;border:0;background:transparent;color:#344e5b;font-size:22px;min-width:32px;min-height:32px}
#v2AIConsent{color:#526774;font-size:12px;margin:12px 0}#v2AIConsent[hidden]{display:none}
.v2-results,.v2-reports{width:min(1180px,calc(100% - 48px));margin:42px auto 56px;color:var(--text-primary);line-height:1.6}
.v2-results[hidden],.v2-reports[hidden],#v2ReportReturn[hidden]{display:none}
.v2-results h2,.v2-reports h2{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.035em;margin:0 0 12px}
.v2-results>p{color:var(--text-secondary);font-size:14px}
.v2-controls{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:20px 24px;background:#edf4f1;border-radius:10px;margin:22px 0;color:#254b40}
.v2-controls label{flex:1;min-width:180px}.v2-controls input{display:block;width:100%;accent-color:#0c6552}.v2-controls output{font-size:14px;font-weight:600}.v2-controls p{flex-basis:100%;font-size:12px;margin:0}
.v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v2-card{padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);min-width:0;box-shadow:0 3px 12px #142e2205}
.v2-card.v2-land{grid-column:1/-1}.v2-land .land-valuation-result{display:block}
.v2-card h3{font-size:21px;letter-spacing:-.025em;margin:0 0 12px;font-weight:550}
.v2-card p{font-size:13px;line-height:1.65;color:var(--text-secondary);margin:14px 0}
.v2-card .v2-fit{font-size:12px;background:#f1f3f4;color:#536773;padding:5px 9px;border-radius:5px;display:inline-block;margin:0 0 8px}.v2-card .v2-fit.positive{background:#e7f3eb;color:#156442}
.v2-card .v2-income{font-size:clamp(21px,2.1vw,28px);font-weight:550;color:var(--text-primary);line-height:1.3;letter-spacing:-.025em;margin-top:10px;overflow-wrap:anywhere}.v2-income span{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:var(--text-secondary);margin-top:6px}
.v2-card dl{margin:18px 0;font-size:12px}.v2-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.v2-card dd{text-align:right;margin:0;font-weight:500}.v2-card dt{color:var(--text-secondary)}
.v2-card details{border-top:1px solid var(--border);font-size:12px;padding-top:10px}.v2-card summary{cursor:pointer;font-weight:500;min-height:34px;padding:6px 0}.v2-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:400px;overflow:auto}
.v2-tabs{display:flex;gap:5px;margin-bottom:12px}.v2-tabs button{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);padding:7px 10px;border-radius:5px;font:inherit;font-size:12px;cursor:pointer}.v2-tabs button[aria-pressed=true]{background:#0c6552;color:#fff;border-color:#0c6552}
.v2-wait:before{content:'';display:inline-block;vertical-align:middle;width:12px;height:12px;border:2px solid #c1d2ca;border-top-color:#0c6552;border-radius:50%;margin-right:8px;animation:v2-spin 1s linear infinite}@keyframes v2-spin{to{transform:rotate(360deg)}}
.v2-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.v2-report-grid article{padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}.v2-report-grid h3{font-size:23px;font-weight:500;margin:0}.v2-report-grid p,.v2-report-grid li{font-size:14px;color:var(--text-secondary)}.v2-report-grid ul{padding-left:20px}.v2-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.v2-report-actions .cta{font-size:13px;padding:11px 16px}.v2-report-grid article:first-child{border-color:#92b9a6;background:color-mix(in srgb,var(--surface-1) 96%,#0c6552)}
#v2ReportStatus{font-size:14px;min-height:24px}#v2ReportReturn{padding:18px;background:#edf4f1;border-radius:8px;color:#254b40;margin-bottom:24px}
@media(max-width:980px){.v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v2-grid,.v2-report-grid{grid-template-columns:1fr}.v2-results,.v2-reports,.v2-input-editor{width:calc(100% - 32px)}.v2-input-editor{padding:18px}.v2-two{grid-template-columns:1fr 1fr;gap:8px}.v2-card,.v2-report-grid article{padding:20px}.v2-form input,.v2-form select{font-size:16px!important}.v2-controls{padding:18px}.pv8-landing-refresh .hero[data-landing-chapter]{padding-left:16px;padding-right:16px}.v2-report-actions .cta{flex:1;text-align:center}}
@media(prefers-reduced-motion:reduce){.v2-wait:before{animation:none}}

.v2-card .v2-evidence{color:var(--text-primary);font-size:13px;line-height:1.5;margin:6px 0 16px}
.v2-report-actions button:disabled{opacity:.55;cursor:wait}

#v2MissingInputs[hidden]{display:none}
.v2-missing-inputs{border:1px solid var(--border);border-radius:10px;padding:18px 24px;margin:20px 0;background:var(--surface-1)}
.v2-scenarios{list-style:none;padding:0;margin:18px 0}.v2-scenario{padding:12px 0;border-top:1px solid var(--border)}
.v2-scenario>div{display:flex;justify-content:space-between;gap:10px;font-size:14px}.v2-scenario p{font-size:12px;margin:4px 0}
.v2-failed{color:var(--text-secondary)}.v2-card .v2-split-note{font-size:12px}
/* Once a result expands the hero returns to the light report surface. */
.pv8-welcome .hero[data-landing-chapter]:has(#teaserResults[style*="display: block"]) p.v2-start-hint{color:var(--text-secondary)}
.v2-card{display:flex;flex-direction:column}
.v2-card .v2-value strong,.v2-card .v2-next strong{display:block;font-weight:550;color:var(--text-primary);margin-bottom:4px}
.v2-card .v2-value span,.v2-card .v2-next span{display:block}
.v2-card .v2-screen-note{font-size:12px;padding-top:14px;border-top:1px solid var(--border)}
.v2-card .cta{margin-top:auto;align-self:flex-start;font-size:13px}
#v2MoreOptions{margin:24px 0}
#v2MoreOptions>summary,.v2-reference>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;color:var(--text-primary)}
#v2MoreOptions .v2-grid{margin-top:16px}
.v2-reference{border-top:1px solid var(--border);margin:20px 0;padding-top:4px;font-size:13px;color:var(--text-secondary)}
.v2-reference p{font-size:13px;line-height:1.6}
#v2Reports{padding:28px;border:1px solid var(--border);border-radius:14px;background:var(--surface-1)}
#v2Reports>p{font-size:14px;color:var(--text-secondary)}
#v2MoreOptions[hidden]{display:none}
#v2Reports .v2-report-actions{gap:12px;align-items:center;margin:28px 0}
#v2Reports .v2-report-actions .cta{margin:0;min-height:48px}
.v2-email-form{max-width:620px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}
.v2-email-form[hidden]{display:none}
.v2-email-form label{display:block;margin-bottom:8px;font-size:14px}
.v2-email-form>div{display:flex;gap:12px;align-items:center}
.v2-email-form input{flex:1;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--surface-1);color:var(--text-primary)}
.v2-email-form p{font-size:13px;color:var(--text-secondary)}
@media(max-width:620px){#v2Reports{padding:20px}#v2ContinueSite{flex-basis:100%;white-space:normal}.v2-email-form>div{flex-wrap:wrap}.v2-email-form input{font-size:16px}}
/* The national decision precedes, but does not remove, numerical scenarios. */
.v2-country-decision{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;border-left:3px solid #acc4b3;padding:12px 20px;margin:24px 0;color:var(--text-primary)}
.v2-country-decision[hidden]{display:none}
.v2-country-summary{flex:1 1 420px}
.v2-country-summary h3{margin:0 0 6px;font-size:17px;line-height:1.45}
.v2-country-decision p{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary)}
.v2-country-decision .cta{margin:0;white-space:normal}
#v2CountryStatus{flex-basis:100%}
#v2CountryStatus:empty{display:none}

/* Execution brief: validation is part of the form, never on the hero image. */
#teaserMsg{box-sizing:border-box;background:#fffaf0;border:1px solid #cfb77e;border-radius:6px;color:#704c0f!important;min-height:4.5rem;max-height:10rem;overflow:auto;margin:12px 0 0;padding:10px 12px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
#teaserMsg:empty{visibility:hidden}
body.pv8-screen-result .hero{min-height:0;padding-block:24px;background:var(--paper,#f7f6f2)}
body.pv8-screen-result .hero-grid{display:block}
body.pv8-screen-result .hero h1{font-size:28px;color:#142b3c}
body.pv8-screen-result .hero .hero-subhead{color:#394956;margin:8px 0}
/* Keep main’s status and recovery panel visible in the result screen. */
body.pv8-screen-result .hero .teaser-embed{display:block}
body.pv8-screen-result .teaser-embed>:not(.teaser-search-card){display:none}
body.pv8-screen-result #teaserResults{max-width:1240px;margin:24px auto}
body.pv8-screen-result :is(#engineeringHandoff,#opportunities,#watch,#marketBrief){display:none}
.v2-grid{align-items:start}
@media(max-width:480px){#teaserMsg{min-height:5rem}body.pv8-screen-result #teaserResults{margin:12px}}

html body.pv8-welcome .hero[data-landing-chapter] #teaserMsg{color:#704c0f!important;min-height:4.5rem!important}
@media(max-width:480px){html body.pv8-welcome .hero[data-landing-chapter] #teaserMsg{min-height:5rem!important}}
/* An empty status box takes no room: the files row sits right under the search row. */
html body.pv8-welcome .hero[data-landing-chapter] #teaserMsg:empty{min-height:0!important;height:0;margin:0;padding:0;border:0}
html body.pv8-screen-result .hero[data-landing-chapter]{padding:20px!important;min-height:0!important;background:#f7f6f2!important}
html body.pv8-screen-result .hero[data-landing-chapter] :is(h1,p.hero-subhead){color:#142b3c!important;margin:8px 0!important;max-width:none;font-size:18px}
html body.pv8-screen-result .hero[data-landing-chapter] h1{font-size:26px}
html body.pv8-screen-result .hero[data-landing-chapter] h1 em{color:#142b3c}
html body.pv8-screen-result .hero::before,html body.pv8-screen-result .hero::after{display:none}

.pv8-screen-result #teaserResults :is(#teaserId,#teaserConcierge,#teaserLockedBlock,#teaserRoutesWrap,#teaserNote){display:none!important}

#v2Status{display:inline-flex;gap:6px;border-radius:18px;background:#f7ecd6;color:#80520e;padding:4px 10px;font-size:13px}#v2Status:before{content:'●'}#v2Status[data-status=missing]{background:#fdeeeb;color:#a93624}
/* The first screen is a short comparison. Detailed economics remain one
   tap away, in the same cards, with no second copy of the calculations. */
.v2-card{padding:18px 20px}
.v2-card h3{font-size:19px;margin:0 0 8px}
.v2-card .v2-evidence{border:0;padding:0;margin:0 0 14px;line-height:1.5;overflow-wrap:anywhere}
.v2-card .v2-income{margin:12px 0}
.v2-card .v2-fit{margin:0 0 12px}
.v2-card .v2-route-detail{padding-top:0;margin-top:0}
.v2-card .v2-route-detail>summary,.v2-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 0;list-style:none;cursor:pointer;font-size:13px;font-weight:500}
.v2-route-detail>summary::-webkit-details-marker,.v2-disclosure>summary::-webkit-details-marker{display:none}
.v2-route-detail>summary::after,.v2-disclosure>summary::after{content:'+';font-size:20px;flex-shrink:0}
.v2-route-detail[open]>summary::after,.v2-disclosure[open]>summary::after{content:'−'}
.v2-tabs{flex-wrap:wrap}.v2-tabs button{min-height:44px}
.v2-comparison-note{font-size:12px!important;margin:12px 0 18px}
.v2-summary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.v2-summary-actions .cta{min-height:46px;padding:12px 18px;font-size:14px;text-align:center}
.v2-summary-actions button:disabled{opacity:.55;cursor:wait}
.v2-summary-actions>span{font-size:12px;color:var(--text-secondary)}
#v2SummaryStatus:empty,#v2ReportStatus:empty{display:none}
.v2-disclosure{border-top:1px solid var(--border);padding:0;margin-top:12px;font-size:13px}
.v2-disclosure .v2-grid{margin:12px 0 20px}
.v2-national-evidence,.v2-source-register{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}
.v2-national-evidence>h3,.v2-source-register>h3{font-size:16px;margin:0 0 6px}
.v2-national-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}
.v2-national-card{border:1px solid var(--border);border-radius:10px;padding:14px;overflow-wrap:anywhere}
.v2-national-card h4{font-size:14px;margin:0 0 6px}
.v2-national-card p{margin:5px 0;line-height:1.45}
.v2-source-status{display:inline-block;border-radius:999px;background:var(--surface-muted,#eef3f1);padding:3px 8px;font-weight:600}
.v2-source-register ul{padding-left:20px}.v2-source-register li{margin:7px 0;line-height:1.45}
.v2-development{margin:20px 0}.v2-development[hidden]{display:none}
.v2-development-card{border-color:#a9c9b9;background:var(--surface-muted,#f4f7f5)}
.v2-investment-label{font-weight:700;color:var(--pv8-primary,#12624f)}
.v2-economics-ranges{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.v2-economics-ranges div{border-top:1px solid var(--border);padding-top:8px}.v2-economics-ranges dt{font-size:12px;color:var(--text-secondary)}.v2-economics-ranges dd{font-weight:700;margin:3px 0 0}
.v2-development-card details{margin-top:10px}.v2-development-card li{margin:5px 0;line-height:1.45}
.v2-disclosure summary:focus-visible,.v2-route-detail summary:focus-visible{outline:2px solid var(--pv8-primary,#12624f);outline-offset:3px}
.v2-reports{margin-top:20px}.v2-results{margin-bottom:24px}
@media(max-width:620px){
  .v2-primary-cards{gap:12px}
  .v2-card{padding:16px}
  .v2-card .v2-income{font-size:27px}
  .v2-card .v2-income span{font-size:12px;line-height:1.5}
  .v2-summary-actions .cta{flex:1 1 130px}
  .v2-summary-actions>span{flex-basis:100%}
  .v2-input-editor input{font-size:16px}
  .v2-scenario>div{flex-wrap:wrap}
  .v2-card dl>div{flex-wrap:wrap}
}

/* All opportunities share the same compact, expandable card structure. */
#v2Shortlist{align-items:start}
#v2Shortlist>.v2-card{min-height:230px}
#v2Shortlist>.v2-card>h3{min-height:2.8em}
#v2Shortlist>.v2-card>.v2-evidence{min-height:4.5em}
#v2Shortlist>.v2-card>.v2-route-detail{margin-top:auto}
.v2-matrix-scroll{overflow-x:auto}
.v2-matrix{width:100%;border-collapse:collapse;font-size:13px;text-align:left}
.v2-matrix caption{text-align:left;font-weight:600;padding:10px 0}
.v2-matrix th,.v2-matrix td{padding:12px;border:1px solid var(--border);vertical-align:top}
.v2-matrix thead{background:var(--surface-1)}
.v2-matrix tbody th{width:35%;font-weight:500}
.v2-matrix-status{display:inline-block;padding:3px 8px;background:#eef1f3;border-radius:5px}
.v2-matrix-status[data-status=HIT]{background:#fff0d7;color:#795112}
.v2-matrix td details{border:0;margin:0;padding:0;min-width:130px}
.v2-matrix td summary{padding:0;min-height:24px}
#v2Reports .v2-report-actions{align-items:stretch}
#v2Reports .v2-report-actions .cta{display:flex;align-items:center;justify-content:center;white-space:normal}

#v2Shortlist:not(:has(.v2-route-detail[open])){grid-auto-rows:1fr;align-items:stretch}
