.scenario-studio-page { background: #fff; color: #0a203e; }
.scenario-studio-hero {
	padding: 68px 0 61px;
	border-bottom: 1px solid #d8e2ed;
	background: linear-gradient(112deg, #fff 40%, #f2f6fc);
}
.scenario-studio-hero h1 { max-width: 930px; margin: 10px 0 18px; font: 500 clamp(48px, 5.4vw, 72px)/1.02 Georgia, serif; letter-spacing: -.045em; }
.scenario-studio-hero .container > p:not(.eyebrow) { max-width: 810px; margin: 0; color: #53667d; font-size: 17px; line-height: 1.66; }
.scenario-studio-hero__principles { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 25px; }
.scenario-studio-hero__principles span { position: relative; padding-left: 17px; color: #245174; font-size: 12px; font-weight: 750; }
.scenario-studio-hero__principles span::before { position: absolute; left: 0; color: #16805f; content: '✓'; }
.scenario-studio { display: grid; grid-template-columns: minmax(340px, .72fr) minmax(560px, 1.28fr); gap: 58px; align-items: start; padding-block: 54px 68px; }
.scenario-studio__controls { position: sticky; top: 96px; }
.scenario-studio__controls form { display: grid; gap: 30px; }
.scenario-studio__controls fieldset { display: grid; gap: 10px; margin: 0; padding: 0 0 29px; border: 0; border-bottom: 1px solid #dbe4ee; }
.scenario-studio__controls legend { display: grid; grid-template-columns: 35px 1fr; gap: 3px 13px; width: 100%; margin-bottom: 12px; padding: 0; }
.scenario-studio__controls legend > span { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #eaf2ff; color: #155bc8; font-size: 10px; font-weight: 850; }
.scenario-studio__controls legend div { display: block; }
.scenario-studio__controls legend strong { display: block; font: 600 20px/1.25 Georgia, serif; }
.scenario-studio__controls legend small { display: block; margin-top: 3px; color: #65768b; font-size: 11px; line-height: 1.45; }
.scenario-presets > label { position: relative; display: block; cursor: pointer; }
.scenario-presets > label input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.scenario-presets > label > span { position: relative; display: block; padding: 13px 34px 13px 15px; border: 1px solid #d6e0eb; border-radius: 5px; background: #fff; }
.scenario-presets > label > span::after { position: absolute; top: 16px; right: 15px; width: 10px; height: 10px; border: 1px solid #9fb0c4; border-radius: 50%; content: ''; }
.scenario-presets b,.scenario-presets small { display: block; }
.scenario-presets b { font-size: 12px; }
.scenario-presets small { margin-top: 4px; color: #67788d; font-size: 10px; line-height: 1.4; }
.scenario-presets input:checked + span { border-color: #1764db; background: #f5f8ff; box-shadow: inset 3px 0 0 #1764db; }
.scenario-presets input:checked + span::after { border: 3px solid #1764db; background: #fff; }
.scenario-presets input:focus-visible + span { outline: 3px solid rgba(23, 100, 219, .2); outline-offset: 2px; }
.scenario-intensity > label { display: flex; justify-content: space-between; color: #425873; font-size: 11px; font-weight: 750; }
.scenario-intensity output { color: #155bc8; font-weight: 850; }
.scenario-intensity input[type="range"] { width: 100%; accent-color: #1764db; }
.scenario-intensity__scale { display: flex; justify-content: space-between; color: #7a899c; font-size: 8px; text-transform: uppercase; }
.scenario-allocation > label { display: grid; grid-template-columns: 1fr 100px; gap: 15px; align-items: center; color: #425873; font-size: 11px; }
.scenario-allocation > label > span:last-child { display: flex; align-items: center; border: 1px solid #d3deea; border-radius: 5px; background: #fbfcfe; }
.scenario-allocation input { width: 100%; min-width: 0; padding: 8px 4px 8px 9px; border: 0; background: transparent; color: #102846; font-size: 11px; font-weight: 800; text-align: right; }
.scenario-allocation label b { padding-right: 9px; color: #718197; font-size: 10px; }
.scenario-allocation input:focus { outline: 2px solid #1764db; outline-offset: 1px; }
.scenario-allocation__total { display: flex; justify-content: space-between; margin-top: 3px; padding-top: 10px; border-top: 1px solid #e1e8f0; color: #51647c; font-size: 11px; }
.scenario-allocation__total strong { font-variant-numeric: tabular-nums; }
.scenario-allocation__total strong[data-valid="false"] { color: #b84646; }
.scenario-studio__run { width: 100%; min-height: 49px; }
.scenario-studio__error { min-height: 18px; margin: -20px 0 0; color: #b84646; font-size: 11px; line-height: 1.5; }
.scenario-studio__results { border-top: 4px solid #1764db; outline: 0; }
.scenario-studio__results.is-paused { opacity: .58; }
.scenario-result__headline { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(280px, 1fr); gap: 46px; align-items: end; padding: 26px 0 30px; border-bottom: 1px solid #d9e3ee; }
.scenario-result__headline > div { display: grid; grid-template-columns: auto 1fr; gap: 5px 13px; align-items: end; }
.scenario-result__headline .eyebrow { grid-column: 1 / -1; }
.scenario-result__headline strong { font: 650 48px/1 Georgia, serif; font-variant-numeric: tabular-nums; }
.scenario-result__headline span { max-width: 115px; padding-bottom: 4px; color: #b34a4a; font-size: 10px; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
.scenario-studio__results[data-direction="up"] .scenario-result__headline span { color: #10805d; }
.scenario-result__headline > p { margin: 0; color: #53667d; font-size: 13px; line-height: 1.67; }
.scenario-impact,.scenario-contribution { padding: 29px 0 31px; border-bottom: 1px solid #d9e3ee; }
.scenario-result__heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 17px; }
.scenario-result__heading h2 { margin: 0; font: 600 21px/1.25 Georgia, serif; }
.scenario-result__heading span { color: #738398; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.scenario-impact__axis { display: grid; grid-template-columns: 1fr 1fr; margin: 0 48px 6px 105px; color: #8290a1; font-size: 8px; text-transform: uppercase; }
.scenario-impact__axis span:last-child { text-align: right; }
.scenario-impact__rows > div { display: grid; grid-template-columns: 92px 1fr 42px; gap: 13px; align-items: center; min-height: 36px; }
.scenario-impact__rows strong { font-size: 10px; }
.scenario-impact__rows em { color: #52657c; font-size: 9px; font-style: normal; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.scenario-impact__track { position: relative; height: 9px; border-radius: 5px; background: linear-gradient(90deg, #f8eeee 0 49.8%, #c8d4e2 49.8% 50.2%, #edf7f3 50.2% 100%); }
.scenario-impact__track i { position: absolute; top: 1px; height: 7px; width: calc(var(--impact-width, 0%) / 2); border-radius: 4px; }
.scenario-impact__track i[data-direction="down"] { right: 50%; background: #c65b5b; }
.scenario-impact__track i[data-direction="up"] { left: 50%; background: #16855f; }
.scenario-table { border-top: 1px solid #dce5ef; }
.scenario-table > div { display: grid; grid-template-columns: 1fr repeat(3, minmax(74px, .55fr)); gap: 13px; align-items: center; min-height: 39px; border-bottom: 1px solid #e1e8f0; color: #53667d; font-size: 10px; }
.scenario-table > div > *:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.scenario-table__head { min-height: 31px!important; color: #78879a!important; font-size: 8px!important; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.scenario-table strong { color: #17304f; }
.scenario-table em { font-style: normal; font-weight: 800; }
.scenario-table em[data-direction="down"] { color: #b94d4d; }
.scenario-table em[data-direction="up"] { color: #0f805c; }
.scenario-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-bottom: 1px solid #d9e3ee; }
.scenario-evidence section { padding: 30px 32px 31px 0; }
.scenario-evidence section + section { padding-right: 0; padding-left: 32px; border-left: 1px solid #d9e3ee; }
.scenario-evidence ul { margin: 15px 0 0; padding: 0; list-style: none; }
.scenario-evidence li { position: relative; padding: 10px 0 10px 17px; border-top: 1px solid #e1e8f0; color: #53667d; font-size: 10px; line-height: 1.5; }
.scenario-evidence li::before { position: absolute; top: 12px; left: 2px; color: #167f5d; content: '•'; }
.scenario-evidence section + section li::before { color: #b95050; }
.scenario-result__boundary { display: grid; grid-template-columns: 1fr auto; gap: 38px; padding-top: 27px; }
.scenario-result__boundary strong { color: #204a74; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.scenario-result__boundary p { max-width: 670px; margin: 6px 0 0; color: #65768a; font-size: 10px; line-height: 1.6; }
.scenario-result__boundary nav { display: grid; gap: 8px; align-content: start; }
.scenario-result__boundary a { color: #155bc8; font-size: 10px; font-weight: 800; white-space: nowrap; }
.scenario-method { margin-bottom: 70px; padding: 34px 0 0; border-top: 1px solid #d8e2ed; }
.scenario-method h2 { max-width: 800px; margin: 8px 0 13px; font: 600 31px/1.18 Georgia, serif; }
.scenario-method > p:last-child { max-width: 850px; color: #5c6e84; font-size: 12px; line-height: 1.7; }
.scenario-studio-teaser { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr) auto; gap: 38px; align-items: center; margin-block: 4px 42px; padding-block: 26px; border-block: 1px solid #d8e2ed; }
.scenario-studio-teaser h2 { margin: 5px 0 7px; font: 600 27px/1.15 Georgia, serif; }
.scenario-studio-teaser p:not(.eyebrow) { margin: 0; color: #5a6d84; font-size: 12px; line-height: 1.55; }
.scenario-studio-teaser__map { display: grid; gap: 8px; }
.scenario-studio-teaser__map span { position: relative; height: 5px; border-radius: 4px; background: linear-gradient(90deg, #e8b6b6 0 34%, #d8e2ed 34% 50%, #a7dac8 50% 77%, #edf2f7 77%); }
.scenario-studio-teaser__map small { color: #728196; font-size: 9px; text-align: center; }
@media (max-width: 1050px) {
	.scenario-studio { grid-template-columns: 330px minmax(0, 1fr); gap: 38px; }
	.scenario-result__headline { grid-template-columns: 1fr; gap: 18px; }
	.scenario-result__boundary { grid-template-columns: 1fr; }
	.scenario-studio-teaser { grid-template-columns: 1fr auto; }
	.scenario-studio-teaser__map { display: none; }
}
@media (max-width: 780px) {
	.scenario-studio { grid-template-columns: 1fr; }
	.scenario-studio__controls { position: static; }
	.scenario-evidence { grid-template-columns: 1fr; }
	.scenario-evidence section { padding-right: 0; }
	.scenario-evidence section + section { padding: 0 0 31px; border-top: 1px solid #d9e3ee; border-left: 0; }
}
@media (max-width: 560px) {
	.scenario-studio-hero { padding-block: 48px; }
	.scenario-studio-hero h1 { font-size: 43px; }
	.scenario-studio { padding-block: 40px 55px; }
	.scenario-result__headline > div { grid-template-columns: 1fr; }
	.scenario-result__headline strong { font-size: 43px; }
	.scenario-impact__rows > div { grid-template-columns: 70px 1fr 40px; gap: 8px; }
	.scenario-impact__axis { margin-left: 78px; }
	.scenario-table > div { grid-template-columns: 1fr repeat(3, 58px); gap: 5px; }
	.scenario-studio-teaser { grid-template-columns: 1fr; }
	.scenario-studio-teaser .button { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .scenario-studio__results { scroll-behavior: auto; } }
