.ed-page {
  --ed-teal: #0891b2;
  --ed-teal-dark: #0e7490;
  --ed-purple: #6959cb;
  --ed-purple-dark: #5544b3;
  --ed-muted-surface: rgba(121, 139, 158, .07);
  max-width: 1320px;
  margin: 0 auto;
  padding: 22px clamp(12px, 2.3vw, 30px) 60px;
  color: var(--text-primary);
}
.ed-page *, .ed-page *::before, .ed-page *::after { box-sizing: border-box; }
.ed-page a { text-decoration: none; }
.ed-page button, .ed-page input, .ed-page select { font: inherit; }
.ed-page :focus-visible { outline: 3px solid rgba(8, 145, 178, .45); outline-offset: 2px; }

.ed-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(255px, .85fr);
  align-items: center;
  overflow: hidden;
  min-height: 310px;
  padding: clamp(26px, 4vw, 46px);
  border-radius: 24px;
  color: #f6fbff;
  background: radial-gradient(circle at 83% 43%, rgba(41, 184, 208, .18), transparent 30%), linear-gradient(130deg, #101c37, #142c42 58%, #163a4b);
  box-shadow: 0 18px 44px rgba(13, 31, 52, .17);
}
.ed-hero::after { content: ""; position: absolute; inset: auto -7% -160px auto; width: 440px; height: 300px; border: 1px solid rgba(151, 218, 234, .14); border-radius: 50%; transform: rotate(-20deg); pointer-events: none; }
.ed-hero-copy { position: relative; z-index: 1; max-width: 780px; }
.ed-breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 17px; color: #a8bfcb; font-size: .68rem; }
.ed-breadcrumb a { color: #c6eaf0; font-weight: 750; }.ed-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.ed-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #86d4e2; font-size: .76rem; font-weight: 850; letter-spacing: .015em; }
.ed-eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: #53d9ca; box-shadow: 0 0 0 5px rgba(83, 217, 202, .13); }
.ed-hero h1 { margin: 14px 0 12px; color: #fff; font-size: clamp(1.75rem, 3.35vw, 3rem); font-weight: 900; line-height: 1.35; letter-spacing: -.035em; }
.ed-hero h1 span { color: #6fe3d1; }
.ed-hero-lead { max-width: 680px; margin: 0; color: #d1e2eb; font-size: clamp(.83rem, 1.3vw, .98rem); line-height: 2; }
.ed-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.ed-primary-link, .ed-quiet-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 16px; border-radius: 10px; font-size: .8rem; font-weight: 850; transition: transform .15s, background .15s; }
.ed-primary-link { background: #46cfbd; color: #102637; }
.ed-primary-link:hover { color: #102637; background: #78ebd9; transform: translateY(-1px); }
.ed-quiet-link { border: 1px solid rgba(220, 242, 251, .29); color: #e5f5f7; background: rgba(255, 255, 255, .06); }
.ed-quiet-link:hover { color: #fff; background: rgba(255, 255, 255, .13); }
.ed-hero-caution { display: flex; align-items: start; gap: 7px; margin: 22px 0 0; color: #b8cdd9; font-size: .73rem; line-height: 1.75; }
.ed-hero-caution i { margin-top: 4px; color: #a2e3d9; }
.ed-hero-art { position: relative; width: min(100%, 300px); height: 260px; margin: auto; }
.ed-art-ring { position: absolute; inset: 18px 42px; border: 1px solid rgba(116, 220, 215, .3); border-radius: 50%; transform: rotate(-25deg); }
.ed-art-ring-one::before, .ed-art-ring-two::before { content: ""; position: absolute; top: 10%; right: 12%; width: 9px; height: 9px; border-radius: 50%; background: #5fe2d1; box-shadow: 0 0 18px #52d6c5; }
.ed-art-ring-two { inset: 48px 13px; border-color: rgba(140, 179, 235, .27); transform: rotate(27deg); }
.ed-art-ring-two::before { top: auto; bottom: 13%; right: 11%; background: #a29cf4; box-shadow: 0 0 18px #a29cf4; }
.ed-art-core { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; gap: 13px; transform: translate(-50%, -50%); padding: 16px 20px; border: 1px solid rgba(183, 233, 241, .35); border-radius: 20px; background: rgba(14, 46, 67, .92); box-shadow: 0 15px 35px rgba(3, 20, 34, .3); font-size: 1.35rem; font-weight: 900; direction: ltr; }
.ed-art-core span:first-child { color: #71e8d5; }.ed-art-core span:last-child { color: #bbb5ff; }.ed-art-core i { color: #a5c3d7; font-size: .85rem; }
.ed-art-label { position: absolute; right: 3px; top: 17px; min-width: 110px; padding: 8px 11px; border: 1px solid rgba(185, 232, 239, .28); border-radius: 11px; background: rgba(13, 52, 73, .87); color: #6fe3d1; font-size: .84rem; font-weight: 900; line-height: 1.4; text-align: center; box-shadow: 0 8px 20px rgba(5, 23, 35, .2); }
.ed-art-label small { display: block; color: #c5dbe7; font-size: .64rem; font-weight: 650; }
.ed-art-label-bottom { top: auto; right: auto; bottom: 16px; left: 4px; color: #bbb5ff; }

.ed-jump-nav { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 30px; }
.ed-jump-nav a { display: inline-flex; padding: 7px 12px; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-card); color: var(--text-secondary); font-size: .75rem; font-weight: 780; }
.ed-jump-nav a:hover { color: var(--ed-teal); border-color: rgba(8, 145, 178, .4); }
.ed-section { scroll-margin-top: 24px; margin-top: 34px; }
.ed-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
.ed-section-heading > div { display: flex; align-items: center; gap: 10px; }
.ed-step { display: inline-grid; flex: 0 0 auto; place-items: center; width: 33px; height: 33px; border-radius: 9px; background: rgba(8, 145, 178, .11); color: var(--ed-teal-dark); font-size: .78rem; font-weight: 900; }
.ed-section-heading h2 { margin: 0; color: var(--text-primary); font-size: clamp(1.1rem, 1.75vw, 1.42rem); font-weight: 890; line-height: 1.5; }
.ed-section-heading > p { max-width: 470px; margin: 0; color: var(--text-secondary); font-size: .75rem; line-height: 1.8; }

.ed-form { overflow: hidden; border: 1px solid var(--border-color); border-radius: 18px; background: var(--bg-card); box-shadow: var(--shadow-card); }
.ed-form-main, .ed-form-scenarios { padding: clamp(17px, 2.6vw, 28px); }
.ed-form-scenarios { border-top: 1px solid var(--border-color); background: var(--ed-muted-surface); }
.ed-form-group-title { display: flex; align-items: start; gap: 10px; margin-bottom: 17px; }
.ed-form-group-title > i { display: grid; flex: 0 0 auto; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: rgba(8, 145, 178, .1); color: var(--ed-teal-dark); font-size: .95rem; }
.ed-form-group-title h3 { margin: 0 0 3px; color: var(--text-primary); font-size: .96rem; font-weight: 850; }
.ed-form-group-title p { margin: 0; color: var(--text-secondary); font-size: .73rem; line-height: 1.7; }
.ed-fields { display: grid; gap: 14px; }
.ed-fields-base { grid-template-columns: 1fr 1fr 1.35fr .8fr; }
.ed-field { min-width: 0; }
.ed-field label { display: block; margin-bottom: 6px; color: var(--text-primary); font-size: .75rem; font-weight: 800; }
.ed-field input, .ed-field select { display: block; width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid var(--border-input); border-radius: 9px; background: var(--bg-input); color: var(--text-primary); font-size: .83rem; direction: ltr; text-align: right; outline: 0; box-shadow: none; }
.ed-field select { direction: rtl; cursor: pointer; }
.ed-field input:focus, .ed-field select:focus { border-color: var(--ed-teal); box-shadow: 0 0 0 3px rgba(8, 145, 178, .12); }
.ed-input-unit { position: relative; }
.ed-input-unit input { padding-left: 102px; }
.ed-input-unit > span { position: absolute; top: 50%; left: 10px; transform: translateY(-50%); color: var(--text-secondary); font-size: .7rem; white-space: nowrap; pointer-events: none; }
.ed-fields-money .ed-input-unit input, .ed-fields-pair .ed-input-unit input { padding-left: 30px; }
.ed-field-help, .ed-field-error { display: block; margin-top: 5px; font-size: .68rem; line-height: 1.65; }
.ed-field-help { color: var(--text-secondary); }.ed-field-error { color: var(--danger, #d94242); }
.ed-assumption-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 13px; }
.ed-assumption-card { min-width: 0; margin: 0; padding: 15px; border: 1px solid var(--border-color); border-radius: 13px; background: var(--bg-card); }
.ed-assumption-card legend { float: none; width: auto; margin: 0 0 6px; padding: 0; color: var(--text-primary); font-size: .84rem; font-weight: 850; }
.ed-assumption-card > p { min-height: 44px; margin: 0 0 13px; color: var(--text-secondary); font-size: .7rem; line-height: 1.7; }
.ed-model-dot { display: inline-block; width: 8px; height: 8px; margin-left: 5px; border-radius: 50%; background: var(--ed-teal); }
.ed-assumption-card-monetary .ed-model-dot { background: var(--ed-purple); }
.ed-fields-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }.ed-fields-money { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ed-form-errors { margin: 0 25px 15px; padding: 10px 13px; border: 1px solid rgba(216, 70, 70, .24); border-radius: 10px; background: rgba(216, 70, 70, .07); color: var(--danger, #c03535); font-size: .77rem; }
.ed-form-errors p { margin: 0; }.ed-form-errors p + p { margin-top: 5px; }
.ed-form-footer { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 25px; border-top: 1px solid var(--border-color); }
.ed-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 43px; padding: 9px 18px; border: 0; border-radius: 10px; background: var(--ed-teal); color: #fff; font-size: .82rem; font-weight: 850; cursor: pointer; }
.ed-submit:hover { background: var(--ed-teal-dark); }
.ed-form-footer > span { color: var(--text-secondary); font-size: .7rem; }
.ed-form-footer > span i { margin-left: 3px; color: var(--ed-teal); }

.ed-base-reference { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 13px; padding: 11px 14px; border: 1px solid rgba(8, 145, 178, .24); border-radius: 12px; background: rgba(8, 145, 178, .07); color: var(--text-primary); font-size: .78rem; }
.ed-base-reference > i { color: var(--ed-teal); }.ed-base-reference small { margin-right: auto; color: var(--text-secondary); font-size: .7rem; }
.ed-comparison-inputs { margin-top: 18px; padding: 15px; border: 1px solid var(--border-color); border-radius: 14px; background: var(--ed-muted-surface); }
.ed-comparison-inputs .ed-form-group-title { margin-bottom: 12px; }
.ed-gap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)); gap: 10px; margin-top: 15px; }
.ed-gap-card { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 15px; border: 1px solid rgba(8, 145, 178, .25); border-radius: 13px; background: var(--bg-card); border-right: 3px solid var(--ed-teal); }
.ed-gap-card-purple { border-color: rgba(105, 89, 203, .25); border-right-color: var(--ed-purple); }
.ed-gap-card > span { color: var(--text-secondary); font-size: .72rem; line-height: 1.8; }
.ed-gap-card > strong { color: var(--text-primary); font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.5; overflow-wrap: anywhere; }
.ed-gap-card > strong small { font-size: .68em; font-weight: 500; }
.ed-gap-card > small { color: var(--text-secondary); font-size: .69rem; line-height: 1.8; }
.ed-investment-comparison { margin-top: 20px; padding: 18px; border: 1px solid var(--border-color); border-radius: 15px; background: var(--bg-card); }
.ed-investment-comparison h3 { margin: 0; color: var(--text-primary); font-size: 1rem; }
.ed-investment-comparison > p:not(.ed-results-note):not(.ed-source-unavailable) { color: var(--text-secondary); font-size: .76rem; line-height: 1.8; }
.ed-missing { margin-bottom: 14px; padding: 12px 15px; border: 1px solid rgba(217, 149, 49, .31); border-radius: 12px; background: rgba(232, 165, 56, .08); }
.ed-missing > div { display: flex; gap: 7px; align-items: center; color: var(--text-primary); font-size: .82rem; }.ed-missing i { color: #d4931d; }
.ed-missing ul { display: flex; gap: 5px 20px; flex-wrap: wrap; margin: 8px 0 3px; padding-right: 18px; color: var(--text-secondary); font-size: .73rem; }
.ed-missing p { margin: 6px 0 0; color: var(--text-secondary); font-size: .69rem; }
.ed-chart-card { margin: 0 0 14px; padding: 18px 19px 12px; border: 1px solid var(--border-color); border-radius: 16px; background: var(--bg-card); box-shadow: var(--shadow-card); }
.ed-chart-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.ed-chart-heading h3 { margin: 0 0 3px; font-size: .92rem; font-weight: 850; }.ed-chart-heading p { margin: 0; color: var(--text-secondary); font-size: .7rem; line-height: 1.65; }
.ed-chart-heading > span { padding: 5px 9px; border-radius: 8px; background: var(--ed-muted-surface); color: var(--text-secondary); font-size: .7rem; white-space: nowrap; }
.ed-chart-wrap { position: relative; height: 310px; margin: 13px 0 0; }.ed-chart-wrap canvas { width: 100% !important; height: 100% !important; }
.ed-chart-note { margin: 5px 0 0; color: var(--text-secondary); font-size: .68rem; line-height: 1.7; }
.ed-model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ed-model { min-width: 0; padding: 19px; border: 1px solid var(--border-color); border-radius: 16px; background: var(--bg-card); box-shadow: var(--shadow-card); }
.ed-model-ppp { border-top: 3px solid var(--ed-teal); }.ed-model-monetary { border-top: 3px solid var(--ed-purple); }
.ed-model-head { display: flex; align-items: center; gap: 10px; }
.ed-model-icon { display: grid; flex: 0 0 auto; place-items: center; width: 41px; height: 41px; border-radius: 11px; background: rgba(8, 145, 178, .1); color: var(--ed-teal-dark); }
.ed-model-monetary .ed-model-icon { background: rgba(105, 89, 203, .1); color: var(--ed-purple); }
.ed-model-head small, .ed-future-head small { color: var(--text-secondary); font-size: .68rem; font-weight: 750; }
.ed-model-head h3, .ed-future-head h3 { margin: 2px 0 0; color: var(--text-primary); font-size: .95rem; font-weight: 870; }
.ed-model-description { min-height: 48px; margin: 12px 0; color: var(--text-secondary); font-size: .74rem; line-height: 1.8; }
.ed-model-value { position: relative; padding: 16px; border-radius: 12px; background: rgba(8, 145, 178, .075); }
.ed-model-monetary .ed-model-value { background: rgba(105, 89, 203, .075); }
.ed-model-value > span { display: block; margin-bottom: 5px; color: var(--text-secondary); font-size: .7rem; font-weight: 720; }
.ed-model-value strong { display: flex; align-items: baseline; gap: 7px; color: var(--ed-teal-dark); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 900; line-height: 1.4; }
.ed-model-monetary .ed-model-value strong { color: var(--ed-purple); }
.ed-model-value strong small { color: var(--text-secondary); font-size: .71rem; font-weight: 750; }
.ed-model-value em { position: absolute; bottom: 14px; left: 15px; color: var(--text-secondary); font-size: .7rem; font-style: normal; }
.ed-empty { display: grid; justify-items: start; gap: 5px; min-height: 117px; padding: 15px; border: 1px dashed var(--border-color); border-radius: 12px; color: var(--text-secondary); font-size: .72rem; }
.ed-empty i { color: var(--text-secondary); }.ed-empty strong { color: var(--text-primary); font-size: .78rem; }
.ed-data-details { margin-top: 14px; border-top: 1px solid var(--border-color); }
.ed-data-details summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 1px 1px; color: var(--ed-teal-dark); font-size: .74rem; font-weight: 800; cursor: pointer; list-style: none; }
.ed-model-monetary .ed-data-details summary { color: var(--ed-purple); }.ed-data-details summary::-webkit-details-marker { display: none; }.ed-data-details[open] summary i { transform: rotate(180deg); }
.ed-table-scroll { overflow-x: auto; margin-top: 11px; scrollbar-width: thin; }
.ed-table-scroll table { width: 100%; border-collapse: collapse; min-width: 440px; font-size: .72rem; white-space: nowrap; }
.ed-table-scroll th, .ed-table-scroll td { padding: 9px 10px; border-bottom: 1px solid var(--border-color); text-align: right; }
.ed-table-scroll thead th { background: var(--ed-muted-surface); color: var(--text-secondary); font-weight: 800; }
.ed-table-scroll thead th small { display: block; max-width: 180px; margin-top: 3px; white-space: normal; font-size: .62rem; font-weight: 500; line-height: 1.45; }
.ed-table-scroll tbody th { color: var(--text-primary); font-weight: 850; }.ed-table-scroll tbody td { color: var(--text-primary); }
.ed-table-scroll tbody tr:hover { background: var(--ed-muted-surface); }.ed-table-scroll tbody tr:last-child th, .ed-table-scroll tbody tr:last-child td { border-bottom: 0; }
.ed-na { color: var(--text-secondary); }
.ed-results-note, .ed-future-note { display: flex; align-items: start; gap: 8px; margin: 11px 0 0; padding: 11px 13px; border-radius: 10px; background: var(--ed-muted-surface); color: var(--text-secondary); font-size: .72rem; line-height: 1.85; }
.ed-results-note i { margin-top: 4px; color: var(--ed-teal); }

.ed-future-grid { display: grid; gap: 13px; }
.ed-future-card { min-width: 0; padding: 17px 18px 13px; border: 1px solid var(--border-color); border-radius: 15px; background: var(--bg-card); box-shadow: var(--shadow-card); }
.ed-future-card-ppp { border-right: 3px solid var(--ed-teal); }.ed-future-card-monetary { border-right: 3px solid var(--ed-purple); }
.ed-future-head { display: flex; align-items: center; gap: 10px; }.ed-future-head > i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: var(--ed-teal); background: rgba(8, 145, 178, .1); }.ed-future-card-monetary .ed-future-head > i { color: var(--ed-purple); background: rgba(105, 89, 203, .1); }
.ed-kind { display: inline-block; padding: 3px 8px; border: 1px solid rgba(8, 145, 178, .24); border-radius: 999px; color: var(--ed-teal-dark); background: rgba(8, 145, 178, .07); font-size: .67rem; font-weight: 780; }
.ed-future-card-monetary .ed-kind { border-color: rgba(105, 89, 203, .23); color: var(--ed-purple); background: rgba(105, 89, 203, .07); }
.ed-future-empty { display: flex; align-items: center; gap: 13px; padding: 21px; border: 1px dashed var(--border-color); border-radius: 14px; background: var(--bg-card); }
.ed-future-empty > i { display: grid; flex: 0 0 auto; place-items: center; width: 43px; height: 43px; border-radius: 11px; background: var(--ed-muted-surface); color: var(--text-secondary); font-size: 1.1rem; }
.ed-future-empty strong { color: var(--text-primary); font-size: .84rem; }.ed-future-empty p { margin: 3px 0 0; color: var(--text-secondary); font-size: .73rem; line-height: 1.7; }
.ed-future-empty a { margin-right: auto; color: var(--ed-teal-dark); font-size: .75rem; font-weight: 820; white-space: nowrap; }

.ed-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.ed-method-grid article { min-width: 0; padding: 18px; border: 1px solid var(--border-color); border-radius: 14px; background: var(--bg-card); }
.ed-method-number { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: #fff; background: var(--ed-teal); font-size: .72rem; font-weight: 900; }
.ed-method-grid article:nth-child(2) .ed-method-number { background: var(--ed-purple); }
.ed-method-grid h3 { margin: 10px 0 6px; color: var(--text-primary); font-size: .86rem; font-weight: 850; }
.ed-method-grid p { min-height: 69px; margin: 0 0 12px; color: var(--text-secondary); font-size: .73rem; line-height: 1.85; }
.ed-method-grid code { display: block; overflow-x: auto; padding: 10px 11px; border-radius: 8px; background: var(--ed-muted-surface); color: var(--text-primary); font-family: ui-monospace, Consolas, monospace; font-size: .73rem; text-align: left; white-space: nowrap; }
.ed-method-caveats { display: flex; align-items: start; gap: 9px; margin-top: 13px; padding: 12px 14px; border: 1px solid rgba(228, 159, 42, .24); border-radius: 11px; background: rgba(228, 159, 42, .07); }
.ed-method-caveats i { margin-top: 4px; color: #cd901e; }.ed-method-caveats p { margin: 0; color: var(--text-secondary); font-size: .73rem; line-height: 1.85; }

.ed-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.ed-source-card { display: flex; align-items: start; gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--bg-card); }
.ed-source-mark { display: grid; flex: 0 0 auto; place-items: center; width: 33px; height: 33px; border-radius: 9px; color: var(--ed-teal); background: rgba(8, 145, 178, .09); font-size: .8rem; }
.ed-source-card h3 { margin: 0 0 3px; color: var(--text-primary); font-size: .79rem; font-weight: 850; }.ed-source-card small { display: block; color: var(--text-secondary); font-size: .66rem; line-height: 1.6; }
.ed-source-card a { display: inline-block; margin-top: 7px; color: var(--ed-teal-dark); font-size: .71rem; font-weight: 820; }.ed-source-card a:hover { text-decoration: underline; }
.ed-source-unavailable { margin: 0; padding: 13px; border: 1px dashed var(--border-color); border-radius: 10px; color: var(--text-secondary); font-size: .74rem; }
.ed-source-context { margin-top: 12px; padding: 12px 14px; border-right: 3px solid var(--ed-teal); border-radius: 9px; background: var(--ed-muted-surface); }
.ed-source-context p { margin: 0; color: var(--text-secondary); font-size: .71rem; line-height: 1.9; }.ed-source-context a { color: var(--ed-teal-dark); font-weight: 800; }

html[data-theme="dark"] .ed-page { --ed-teal-dark: #51c8de; --ed-purple: #aaa1f1; }
html[data-theme="special"] .ed-page { --ed-teal-dark: #61ddf3; --ed-purple: #b9b1ff; }

@media (max-width: 1050px) {
  .ed-hero { grid-template-columns: 1.5fr .75fr; }.ed-hero-art { transform: scale(.9); }
  .ed-fields-base { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ed-assumption-grid { grid-template-columns: 1fr; }.ed-assumption-card > p { min-height: 0; }
  .ed-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ed-hero { display: block; min-height: 0; }.ed-hero-art { display: none; }
  .ed-section-heading { display: block; }.ed-section-heading > p { margin: 7px 0 0 43px; }
  .ed-model-grid, .ed-method-grid { grid-template-columns: 1fr; }
  .ed-model-description, .ed-method-grid p { min-height: 0; }
  .ed-chart-wrap { height: 285px; }
}
@media (max-width: 570px) {
  .ed-page { padding: 12px 10px 44px; }.ed-hero { padding: 24px 19px; border-radius: 17px; }
  .ed-hero h1 { font-size: 1.77rem; }.ed-hero-lead { font-size: .82rem; }.ed-hero-actions { margin-top: 18px; }
  .ed-primary-link, .ed-quiet-link { min-height: 40px; padding: 8px 12px; font-size: .72rem; }
  .ed-jump-nav { gap: 5px; margin-bottom: 25px; }.ed-jump-nav a { padding: 6px 9px; font-size: .68rem; }
  .ed-section { margin-top: 28px; }.ed-section-heading > div { gap: 8px; }.ed-section-heading h2 { font-size: 1.08rem; }.ed-section-heading > p { margin-left: 0; }
  .ed-form-main, .ed-form-scenarios { padding: 16px; }.ed-fields-base { grid-template-columns: 1fr; }
  .ed-fields-pair, .ed-fields-money { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ed-assumption-card { padding: 12px; }.ed-field label { font-size: .7rem; }.ed-field input, .ed-field select { font-size: .78rem; }
  .ed-form-footer { padding: 15px 16px; }.ed-submit { width: 100%; }
  .ed-base-reference small { width: 100%; margin-right: 24px; }
  .ed-chart-card, .ed-model, .ed-future-card { padding: 15px; }.ed-chart-wrap { height: 245px; }
  .ed-source-grid { grid-template-columns: 1fr; }.ed-future-empty { align-items: start; flex-wrap: wrap; }.ed-future-empty a { margin-right: 56px; }
}
@media (max-width: 390px) { .ed-fields-pair, .ed-fields-money { grid-template-columns: 1fr; }.ed-model-value em { position: static; display: block; margin-top: 6px; }.ed-hero-actions > a { flex: 1 1 100%; } }
