.simulator-page {overflow-x: clip;}
.simulator-page .banner-inside > .container {position: absolute; left: 50%; bottom: 44px; transform: translateX(-50%); width: 100%;}
.simulator-page .banner-inside h1 {position: static; font-size: clamp(34px, 5vw, 64px); line-height: 1.1; margin: 0 0 18px;}
.simulator-page .banner-inside .breadcrumbs {position: static; color: #fff;}
.simulator-page .banner-inside .breadcrumbs a {color: #fff; padding-left: 0; margin-right: 8px;}
.simulator-page .banner-inside .breadcrumbs span {margin-left: 8px;}
.partnership-simulator {
    --ledger-ink: #102f30;
    --ledger-green: #176b45;
    --ledger-green-dark: #124b35;
    --ledger-line: #cad4c9;
    --ledger-muted: #66776f;
    --ledger-paper: #fffdf8;
    --ledger-accent: #c9f579;
    padding: 76px 24px 88px;
    background: #f3f0e8;
    color: var(--ledger-muted);
}
.simulator-intro, .simulator-shell {max-width: 1360px; margin: 0 auto;}
.simulator-intro {margin-bottom: 30px;}
.simulator-intro h2 {color: var(--ledger-ink); font-size: clamp(28px, 3vw, 40px); margin-bottom: 14px; letter-spacing: -.04em;}
.simulator-intro p {max-width: 760px; line-height: 1.7; margin: 0;}
.simulator-preview-note {font-size: 14px; color: #5e7470;}
.simulator-shell {
    overflow: hidden;
    scroll-margin-top: 104px;
    background: var(--ledger-paper);
    border: 1px solid #bfc9be;
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(26, 52, 41, .1);
}
.simulator-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: min(620px, calc(100% - 48px));
    margin: 20px 24px 0;
    padding: 4px;
    gap: 4px;
    background: #edf1e9;
    border: 1px solid #dbe2d8;
    border-radius: 9px;
}
.simulator-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 18px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #5c6e64;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.3;
}
.simulator-tab small {font-size: .7em; font-weight: 500;}
.simulator-tab svg {width: 23px; height: 23px; flex-shrink: 0;}
.simulator-tab.active {background: var(--ledger-green); color: #fff; box-shadow: 0 3px 10px rgba(23, 107, 69, .18);}
.simulator-tab:focus-visible {outline: 2px solid #00865e; outline-offset: 2px;}
.simulator-shell .tab-content {border-top: 1px solid var(--ledger-line); margin-top: 20px;}
.simulator-shell .tab-pane:focus {outline: none;}
.simulator-shell .tab-pane:focus-visible {outline: 2px solid #00865e; outline-offset: -2px;}
.simulator-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(390px, 5fr);
    grid-template-rows: auto auto auto auto;
    column-gap: 34px;
    padding: 24px;
    align-items: start;
}
.simulator-inputs {display: contents;}
.simulator-inputs h3 {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    color: var(--ledger-ink);
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 12px;
    text-decoration: underline;
    text-decoration-color: #9bb6a5;
    text-underline-offset: 5px;
}
.simulator-site-options {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    min-width: 0;
}
.simulator-site {
    position: relative;
    min-height: 76px;
    padding: 16px 42px 14px 16px;
    border: 1px solid #ced7cd;
    border-radius: 7px;
    background: #fff;
    text-align: left;
    font: inherit;
    cursor: pointer;
}
.simulator-site strong {display: block; color: #334b40; font-size: 15px; line-height: 1.4;}
.simulator-site span {display: block; font-size: 12px; margin-top: 6px; color: #738078;}
.simulator-site::after {content: ''; position: absolute; top: 18px; right: 16px; width: 15px; height: 15px; border: 1px solid #9faea4; border-radius: 50%; background: #fff;}
.simulator-site.selected {background: #f2f7ed; border-color: var(--ledger-green); box-shadow: inset 0 0 0 1px var(--ledger-green);}
.simulator-site.selected::after {border: 4px solid var(--ledger-green);}
.simulator-site.selected strong {color: var(--ledger-green-dark);}
.simulator-site.selected span {color: #55715f;}
.simulator-site:hover {border-color: var(--ledger-green);}
.simulator-site:focus-visible {outline: 2px solid #00825d; outline-offset: 3px;}
.simulator-partnership-model {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-self: stretch;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0 0 0 28px;
    border: 0;
    border-left: 1px solid var(--ledger-line);
}
.simulator-partnership-model legend {grid-column: 1 / -1; align-self: end; padding: 0; margin: 0 0 12px; color: var(--ledger-ink); font-size: 17px; font-weight: 700; text-decoration: underline; text-decoration-color: #9bb6a5; text-underline-offset: 5px;}
.simulator-model-option {display: flex; align-items: center; gap: 10px; min-height: 76px; margin: 0; padding: 14px 16px; border: 1px solid #ced7cd; border-radius: 7px; background: #fff; color: #40564a; font-size: 14px; font-weight: 650; cursor: pointer;}
.simulator-model-option input {width: 18px; height: 18px; margin: 0; accent-color: var(--ledger-green); flex: 0 0 auto;}
.simulator-model-option.selected {border-color: var(--ledger-green); background: #f2f7ed; box-shadow: inset 0 0 0 1px var(--ledger-green); color: var(--ledger-green-dark);}
.simulator-model-option:focus-within {outline: 2px solid #00825d; outline-offset: 3px;}
.simulator-input-note {grid-column: 1 / -1; grid-row: 3; font-size: 13px; color: #66776f; margin: 18px 0 0; padding: 0 0 18px; border-bottom: 1px solid var(--ledger-line);}
.simulator-fields {
    grid-column: 1;
    grid-row: 4;
    display: block;
    min-width: 0;
    border-right: 1px solid var(--ledger-line);
    padding-right: 20px;
}
.simulator-fields[hidden] {display: none;}
.simulator-field {
    position: relative;
    display: grid;
    grid-template-columns: minmax(190px, .92fr) minmax(210px, 1.08fr);
    grid-template-rows: auto auto;
    column-gap: 24px;
    align-items: center;
    min-width: 0;
    min-height: 108px;
    padding: 20px 12px 20px 18px;
    border: 0;
    border-bottom: 1px solid var(--ledger-line);
    border-radius: 0;
    background: transparent;
}
.simulator-start {background: #f7faef;}
.simulator-start::before {content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--ledger-green);}
.simulator-start-label {grid-column: 1; grid-row: 1; display: block; align-self: end; color: var(--ledger-green); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 750; margin: 0 0 5px;}
.simulator-field-top {display: contents;}
.simulator-field-top label {grid-column: 1; grid-row: 1; align-self: start;}
.simulator-start .simulator-field-top label {grid-row: 2;}
.simulator-field label {font-size: 15px; font-weight: 650; line-height: 1.45; color: var(--ledger-ink);}
.simulator-value {grid-column: 2; grid-row: 1; display: inline-flex; align-items: center; justify-self: start; min-height: 42px; border: 1px solid #ccd6cd; border-radius: 6px; background: #fff; padding: 8px 11px; gap: 7px; flex-shrink: 0;}
.simulator-start .simulator-value {grid-row: 2;}
.simulator-value input {width: 74px; padding: 0; border: 0; background: transparent; color: var(--ledger-ink); opacity: 1; -webkit-text-fill-color: var(--ledger-ink); font: inherit; font-weight: 750; text-align: center;}
.simulator-value span {color: #00845d; font-weight: 750; font-size: 13px; white-space: nowrap;}
.simulator-value:focus-within {border-color: var(--ledger-green); box-shadow: 0 0 0 3px rgba(23, 107, 69, .12);}
.simulator-value input:focus {outline: none;}
.simulator-field-help {grid-column: 1; grid-row: 2; align-self: start; margin: 7px 0 0; padding-right: 10px; font-size: 12px; line-height: 1.55; color: #718079;}
.simulator-start .simulator-field-help {grid-row: 3;}
.simulator-range {grid-column: 2; grid-row: 2; display: block; appearance: none; -webkit-appearance: none; width: 100%; height: 30px; margin: 9px 0 0; padding: 0; border: 0; cursor: pointer; background: transparent; accent-color: var(--ledger-green);}
.simulator-start .simulator-range {grid-row: 3;}
.simulator-range::-webkit-slider-runnable-track {height: 7px; border-radius: 999px; background: linear-gradient(to right, var(--ledger-green) var(--position), #b9c9bb var(--position)); box-shadow: inset 0 1px 2px rgba(16, 47, 48, .12);}
.simulator-range::-webkit-slider-thumb {appearance: none; -webkit-appearance: none; width: 23px; height: 23px; margin-top: -8px; border: 4px solid #fff; border-radius: 50%; background: var(--ledger-green); box-shadow: 0 0 0 2px var(--ledger-green-dark), 0 2px 5px rgba(16, 47, 48, .22);}
.simulator-range::-moz-range-track {height: 7px; border-radius: 999px; background: #b9c9bb; box-shadow: inset 0 1px 2px rgba(16, 47, 48, .12);}
.simulator-range::-moz-range-progress {height: 7px; border-radius: 999px; background: var(--ledger-green);}
.simulator-range::-moz-range-thumb {width: 15px; height: 15px; border: 4px solid #fff; border-radius: 50%; background: var(--ledger-green); box-shadow: 0 0 0 2px var(--ledger-green-dark), 0 2px 5px rgba(16, 47, 48, .22);}
.simulator-range:hover::-webkit-slider-thumb {background: var(--ledger-green-dark);}
.simulator-range:hover::-moz-range-thumb {background: var(--ledger-green-dark);}
.simulator-range:focus-visible {outline: 2px solid var(--ledger-green); outline-offset: 3px; border-radius: 6px;}
.simulator-results {
    grid-column: 2;
    grid-row: 4;
    position: sticky;
    top: 104px;
    min-width: 0;
    margin-left: -14px;
    padding: 28px;
    background: #fbfaf4;
    color: #53645c;
    border: 1px solid #d2d9cf;
    border-radius: 9px;
    box-shadow: 0 13px 28px rgba(30, 54, 43, .11);
}
.simulator-results::after {content: ''; position: absolute; top: -1px; right: -1px; width: 34px; height: 34px; background: linear-gradient(225deg, #f3f0e8 50%, #d8ded4 51%, #f8f6f0 53%); border-top-right-radius: 8px; pointer-events: none;}
.simulator-result-label {color: var(--ledger-green); font-weight: 750; font-size: 14px; letter-spacing: .04em; margin: 0 0 10px;}
.simulator-result-amount {font-size: clamp(38px, 3.35vw, 56px); font-weight: 750; letter-spacing: -.045em; color: var(--ledger-green-dark); line-height: 1.05; margin: 0 0 8px; overflow-wrap: anywhere;}
.simulator-result-subtitle {margin: 0 0 20px; font-size: 14px; color: #506158;}
.simulator-results dl {margin: 0;}
.simulator-results dt {font-weight: 500; font-size: 12px; line-height: 1.45; color: #54665d;}
.simulator-results dd {font-size: 16px; font-weight: 750; color: var(--ledger-ink); margin: 6px 0 0; overflow-wrap: anywhere;}
.simulator-income-grid {display: grid; grid-template-columns: 1fr 1fr; padding: 0; border-top: 1px solid #aebbb0; border-bottom: 1px solid #aebbb0;}
.simulator-income-grid > div {padding: 14px 14px 14px 0; background: transparent; border: 0; border-right: 1px solid #aebbb0; border-radius: 0;}
.simulator-income-grid > div + div {padding-left: 14px; padding-right: 0; border-right: 0;}
.simulator-stats {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #aebbb0;}
.simulator-stats > div {padding: 14px 10px; border-right: 1px solid #aebbb0;}
.simulator-stats > div:first-child {padding-left: 0;}
.simulator-stats > div:last-child {padding-right: 0; border-right: 0;}
.simulator-breakdown {display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px;}
.simulator-breakdown > div {display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 13px 0; border-bottom: 1px solid #c7d0c7;}
.simulator-breakdown dd {margin: 0; white-space: nowrap; font-size: 13px; text-align: right;}
.simulator-share {display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; margin-top: 14px; border: 0; border-radius: 7px; background: var(--ledger-accent); color: var(--ledger-ink); font-size: 13px; font-weight: 700;}
.simulator-share strong {color: var(--ledger-ink); font-size: 20px; white-space: nowrap; letter-spacing: -.02em;}
.simulator-roi {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; border-radius: 7px; background: #eef4e9; border: 1px solid #cfdbcd; margin: 18px 0 4px; color: var(--ledger-ink); font-weight: 650;}
.simulator-roi strong {font-size: 30px; color: var(--ledger-green-dark); white-space: nowrap;}
.simulator-roi small {font-size: 12px; color: #687a70;}
.simulator-results-note {font-size: 12px; line-height: 1.65; margin: 18px 0 20px; color: #596a61;}
.simulator-boq {margin: 18px 0; border: 1px solid #cbd4ca; border-radius: 7px; overflow: hidden;}
.simulator-boq summary {padding: 13px 14px; cursor: pointer; color: var(--ledger-green-dark); background: #f3f6ef; font-weight: 700;}
.simulator-boq table {width: 100%; border-collapse: collapse; font-size: 11px; color: #405249;}
.simulator-boq th, .simulator-boq td {padding: 9px 10px; border-top: 1px solid #d6ddd4; text-align: left; vertical-align: top;}
.simulator-boq th:last-child, .simulator-boq td:last-child {text-align: right; white-space: nowrap;}
.simulator-boq td:nth-child(2) {text-align: center;}
.simulator-contact {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 18px; background: var(--ledger-accent); border-radius: 7px; color: var(--ledger-ink); font-weight: 750;}
.simulator-contact:hover {background: #d8fb94; color: var(--ledger-ink);}

@media (max-width: 1199px) {
    .simulator-layout {grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr); column-gap: 24px;}
    .simulator-partnership-model {padding-left: 20px;}
    .simulator-field {grid-template-columns: minmax(150px, .85fr) minmax(180px, 1.15fr); column-gap: 18px; padding-left: 12px;}
    .simulator-fields {padding-right: 12px;}
    .simulator-results {margin-left: -8px; padding: 24px;}
    .simulator-breakdown {grid-template-columns: 1fr;}
}

@media (max-width: 991px) {
    .simulator-layout {grid-template-columns: 1fr; grid-template-rows: auto; gap: 0;}
    .simulator-inputs h3 {grid-column: 1; grid-row: 1;}
    .simulator-site-options {grid-column: 1; grid-row: 2;}
    .simulator-partnership-model {grid-column: 1; grid-row: 3; margin-top: 22px; padding: 20px 0 0; border-top: 1px solid var(--ledger-line); border-left: 0;}
    .simulator-input-note {grid-column: 1; grid-row: 4;}
    .simulator-fields {grid-column: 1; grid-row: 5; padding-right: 0; border-right: 0;}
    .simulator-results {grid-column: 1; grid-row: 6; position: static; margin: 28px 0 0;}
}

@media (max-width: 767px) {
    .partnership-simulator {padding: 42px 14px 64px;}
    .simulator-intro {margin-bottom: 24px;}
    .simulator-shell {border-radius: 9px;}
    .simulator-tabs {width: calc(100% - 28px); margin: 14px 14px 0;}
    .simulator-tab {min-height: 56px; padding: 10px 8px; gap: 7px; font-size: 14px;}
    .simulator-tab small {display: block; margin-top: 2px;}
    .simulator-tab svg {width: 20px; height: 20px;}
    .simulator-layout {padding: 18px 14px;}
    .simulator-inputs h3, .simulator-partnership-model legend {font-size: 16px;}
    .simulator-site-options, .simulator-partnership-model {grid-template-columns: 1fr; gap: 8px;}
    .simulator-site, .simulator-model-option {min-height: 64px; padding-top: 13px; padding-bottom: 12px;}
    .simulator-site::after {top: 15px; right: 14px;}
    .simulator-field {grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; min-height: 0; padding: 18px 8px 20px 12px;}
    .simulator-start-label {grid-column: 1; grid-row: 1;}
    .simulator-field-top label {grid-column: 1; grid-row: 1;}
    .simulator-start .simulator-field-top label {grid-row: 2;}
    .simulator-field-help {grid-column: 1; grid-row: 2; padding-right: 0;}
    .simulator-start .simulator-field-help {grid-row: 3;}
    .simulator-value {grid-column: 1; grid-row: 3; margin-top: 13px;}
    .simulator-start .simulator-value {grid-row: 4;}
    .simulator-range {grid-column: 1; grid-row: 4; margin-top: 10px;}
    .simulator-start .simulator-range {grid-row: 5;}
    .simulator-results {padding: 22px 18px;}
    .simulator-result-amount {font-size: clamp(34px, 10vw, 46px);}
    .simulator-income-grid {grid-template-columns: 1fr;}
    .simulator-income-grid > div, .simulator-income-grid > div + div {padding: 13px 0; border-right: 0;}
    .simulator-income-grid > div + div {border-top: 1px solid #c7d0c7;}
    .simulator-stats {grid-template-columns: 1fr;}
    .simulator-stats > div, .simulator-stats > div:first-child, .simulator-stats > div:last-child {padding: 12px 0; border-right: 0; border-bottom: 1px solid #c7d0c7;}
    .simulator-stats > div:last-child {border-bottom: 0;}
    .simulator-share {align-items: flex-start; flex-wrap: wrap; gap: 6px;}
    .simulator-share strong {width: 100%; font-size: 19px; overflow-wrap: anywhere; white-space: normal;}
    .simulator-roi {align-items: flex-start; flex-wrap: wrap; gap: 8px;}
    .simulator-roi strong {font-size: 28px; white-space: normal;}
    .simulator-contact {padding: 14px 16px; font-size: 14px;}
}

/* Partnership FAQ: numbered, independently expandable questions. */
.partnership-faq {display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 72px; max-width: 1360px; margin: 88px auto 0; padding: 64px 0 0; border-top: 1px solid #dce4d9;}
.partnership-faq-heading h2 {color: #23452c; font-size: clamp(30px, 3.4vw, 46px); letter-spacing: -.04em; line-height: 1.15; margin: 0 0 24px;}
.partnership-faq-heading p {font-size: 16px; line-height: 1.8; max-width: 300px; color: #71806e;}
.partnership-faq-item {border-top: 1px solid #dce4d9;}
.partnership-faq-item:last-child {border-bottom: 1px solid #dce4d9;}
.partnership-faq-item summary {display: grid; grid-template-columns: 32px minmax(0, 1fr) 20px; align-items: baseline; gap: 18px; padding: 26px 0; list-style: none; cursor: pointer;}
.partnership-faq-item summary::-webkit-details-marker {display: none;}
.partnership-faq-number {color: #356f42; font-size: 14px; font-weight: 700;}
.partnership-faq-item h3 {color: #23452c; font-size: 18px; line-height: 1.55; font-weight: 600; margin: 0;}
.partnership-faq-item svg {width: 20px; height: 20px; color: #356f42; align-self: start; margin-top: 4px;}
.partnership-faq-item[open] svg {transform: rotate(180deg);}
.partnership-faq-answer {padding: 0 38px 28px 50px;}
.partnership-faq-answer p {margin: 0; font-size: 16px; line-height: 1.85; color: #71806e;}
.partnership-faq-item summary:hover h3 {color: #356f42;}
.partnership-faq-item summary:focus-visible {outline: 2px solid #356f42; outline-offset: 4px; border-radius: 4px;}
@media (max-width: 767px) {
    .partnership-faq {grid-template-columns: 1fr; gap: 28px; margin-top: 56px; padding-top: 40px;}
    .partnership-faq-heading h2 br {display: none;}
    .partnership-faq-heading p {max-width: none; margin-bottom: 0;}
    .partnership-faq-item summary {grid-template-columns: 24px minmax(0, 1fr) 18px; gap: 10px; padding: 22px 0;}
    .partnership-faq-item h3 {font-size: 16px;}
    .partnership-faq-answer {padding: 0 24px 24px 34px;}
    .partnership-faq-answer p {font-size: 15px;}
}
