.financing-page { background: var(--ivory); }
.finance-hero { position: relative; min-height: 760px; height: 92svh; max-height: 900px; overflow: hidden; color: white; background: var(--ink-deep); }
.finance-hero > img, .finance-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.finance-hero > img { object-fit: cover; object-position: center; }
.finance-hero__veil { background: linear-gradient(90deg, rgba(3,17,14,.65) 0%, rgba(3,17,14,.22) 59%, rgba(3,17,14,.02) 100%), linear-gradient(0deg, rgba(3,17,14,.62), transparent 38%); }
.finance-hero__content { position: relative; z-index: 2; padding-top: clamp(175px, 21vh, 225px); }
.finance-hero h1 { max-width: 780px; margin: 0; font: 500 clamp(57px, 5vw, 88px)/.98 Manrope, sans-serif; letter-spacing: -.05em; }
.finance-hero__content > p:not(.eyebrow) { max-width: 650px; margin: 28px 0 34px; color: #dae2df; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.6; }
.finance-hero__actions { display: flex; gap: 14px; }
.finance-hero__foot { position: absolute; z-index: 2; bottom: 0; width: 100%; background: rgba(4,20,17,.88); border-top: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); }
.finance-hero__foot .shell { min-height: 76px; display: flex; align-items: center; justify-content: flex-end; gap: clamp(35px, 5vw, 80px); }
.finance-hero__foot span { color: #dbe2df; font-size: 12px; letter-spacing: .04em; }
.finance-hero__foot span::before { content: "╱"; margin-right: 12px; color: var(--red); }

.finance-simulator { scroll-margin-top: 88px; background: #f5f2ed; }
.application { scroll-margin-top: 88px; }
.simulator-intro { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10%; align-items: end; margin-bottom: 55px; }
.simulator-intro h2 { margin: 0; font: 500 clamp(42px, 4.5vw, 70px)/1.02 Manrope, sans-serif; letter-spacing: -.05em; }
.simulator-intro > p { max-width: 520px; margin: 0 0 6px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.simulator-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }
.simulator-card, .simulator-offer { min-width: 0; padding: clamp(30px, 3.5vw, 52px); border: 1px solid #d9d9d3; background: #fbfaf7; }
.simulator-card { display: flex; flex-direction: column; color: var(--ink); }
.simulator-card__head, .simulator-offer__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; margin: -5px 0 38px; padding-bottom: 24px; border-bottom: 1px solid #d8d9d4; }
.simulator-card__head span, .simulator-card__head strong { display: block; }
.simulator-card__head span, .simulator-offer__head span { display: block; margin-bottom: 6px; color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.simulator-card__head strong { font: 500 22px Manrope, sans-serif; }
.simulator-card__head i, .simulator-offer__head i { color: #9aa49f; font: normal 11px Manrope, sans-serif; }
.field { display: flex; flex-direction: column; gap: 9px; }
.field + .field { margin-top: 24px; }
.field label { font-size: 13px; font-weight: 600; }
.field__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.field__head output { font: 500 22px Manrope, sans-serif; }
.field input:not([type="range"]), .field select, .field textarea { width: 100%; min-height: 54px; padding: 0 15px; color: var(--ink); border: 1px solid #cbd1cd; border-radius: 0; outline: none; background: white; font: inherit; }
.field textarea { padding-block: 14px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(232,36,47,.1); }
.simulator-card .field { padding: 21px 22px; border: 1px solid #dde0dc; background: white; transition: border-color .2s, box-shadow .2s; }
.simulator-card .field:focus-within { border-color: #aeb8b3; box-shadow: 0 10px 30px rgba(6,23,19,.06); }
.simulator-card .field > label, .simulator-card .field__head > label { color: #53605b; font-size: 11px; letter-spacing: .055em; text-transform: uppercase; }
.simulator-card select { min-height: 48px; margin-top: 5px; padding-inline: 0 38px; border: 0; border-bottom: 1px solid #ccd1cd; background-color: white; font: 600 16px Manrope, sans-serif; }
.simulator-card select:focus { border-bottom-color: var(--red); box-shadow: none; }
.fixed-credit-field__label { color: #53605b; font-size: 11px; letter-spacing: .055em; text-transform: uppercase; }
.fixed-credit { position: relative; margin-top: 5px; padding: 18px 54px 18px 19px; border-left: 3px solid var(--red); background: #f4f1eb; }
.fixed-credit::after { content: "✓"; position: absolute; top: 19px; right: 19px; width: 25px; height: 25px; display: grid; place-items: center; color: white; background: var(--ink); font-size: 10px; }
.fixed-credit span, .fixed-credit strong, .fixed-credit small { display: block; }.fixed-credit span { margin-bottom: 5px; color: var(--red); font-size: 9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }.fixed-credit strong { font: 600 17px Manrope, sans-serif; }.fixed-credit small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.amount-entry { position: relative; width: clamp(132px, 35%, 170px); }
.amount-entry input { width: 100% !important; min-height: 52px !important; padding: 0 43px 0 14px !important; border: 1px solid #bfc6c2 !important; border-radius: 8px !important; background: #fbfaf7 !important; font: 600 18px Manrope, sans-serif !important; appearance: textfield; }
.amount-entry input::-webkit-inner-spin-button { appearance: none; }
.amount-entry span { position: absolute; top: 50%; right: 15px; color: var(--ink); font: 500 21px Manrope, sans-serif; transform: translateY(-50%); }
.amount-entry:focus-within input { border-color: var(--red) !important; box-shadow: 0 0 0 3px rgba(232,36,47,.09) !important; }
.duration-entry { position: relative; width: 112px; }
.duration-entry input { width: 100% !important; min-height: 52px !important; padding: 0 48px 0 14px !important; border: 1px solid #bfc6c2 !important; border-radius: 8px !important; background: #fbfaf7 !important; font: 600 18px Manrope, sans-serif !important; appearance: textfield; }
.duration-entry input::-webkit-inner-spin-button { appearance: none; }
.duration-entry span { position: absolute; top: 50%; right: 14px; color: var(--muted); font: 500 12px "DM Sans", sans-serif; transform: translateY(-50%); }
.duration-entry:focus-within input { border-color: var(--red) !important; box-shadow: 0 0 0 3px rgba(232,36,47,.09) !important; }
.simulator-card input[type="range"] { width: 100%; height: 5px; margin: 16px 0 8px; border-radius: 20px; accent-color: var(--red); cursor: pointer; }
.simulator-card input[type="range"]::-webkit-slider-thumb { width: 26px; height: 26px; border: 5px solid white; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 1px var(--red), 0 5px 15px rgba(6,23,19,.16); appearance: none; }
.range-labels { display: flex; justify-content: space-between; color: #77827d; font-size: 10px; }
.credit-limit { margin: 11px 0 0; color: var(--muted); font-size: 11px; }.credit-limit strong { color: var(--ink); font-weight: 600; }
.simulator-card .field + .field { margin-top: 13px; }
.simulator-card > .button { width: 100%; margin-top: auto; transform: translateY(4px); }
.button--dark { color: white; background: var(--ink); }.button--dark:hover { background: #15382f; }
.simulator-offer { display: flex; flex-direction: column; color: white; border-color: var(--ink); background: var(--ink); }
.simulator-offer__head { border-color: rgba(255,255,255,.16); }
.simulator-offer__head strong { display: block; color: white; font: 500 22px Manrope, sans-serif; }
.simulator-offer__head i { color: #82918c; }
.simulator-offer__summary { padding: clamp(25px, 3vw, 38px); color: var(--ink); background: var(--sand); }
.simulator-offer__summary > p { margin: 0 0 12px; color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.simulator-offer__summary > div { display: flex; align-items: baseline; gap: 9px; }
.simulator-offer__summary div strong { font: 500 clamp(48px, 5vw, 76px)/.95 Manrope, sans-serif; letter-spacing: -.055em; }
.simulator-offer [data-monthly].is-updating, .simulator-offer [data-cost].is-updating, .simulator-offer [data-total].is-updating { animation: simulator-value-in .28s ease both; }
@keyframes simulator-value-in { from { opacity: .25; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.simulator-offer__summary div span { color: var(--muted); font-size: 13px; }
.simulator-offer__summary > small { display: block; margin-top: 20px; color: var(--muted); }.simulator-offer__summary small b { color: var(--ink); }
.simulator-offer__details { margin: 22px 0 0; }
.simulator-offer__details div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.simulator-offer__details dt { color: #9eaaa6; font-size: 12px; }.simulator-offer__details dd { margin: 0; font-size: 13px; font-weight: 600; }
.simulator-offer__assurance { display: flex; gap: 13px; margin-top: 24px; }.simulator-offer__assurance > span { width: 28px; height: 28px; display: grid; flex: 0 0 28px; place-items: center; color: white; background: var(--red); font-size: 12px; }
.simulator-offer__assurance p, .simulator-offer__assurance b, .simulator-offer__assurance small { display: block; margin: 0; }.simulator-offer__assurance b { font-size: 12px; }.simulator-offer__assurance small { margin-top: 4px; color: #9eaaa6; font-size: 10px; line-height: 1.5; }
.simulator-legal { margin: 22px 0 0; color: #899791; font-size: 10px; line-height: 1.55; }

.offer-grid { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid #cbd1cd; border-left: 1px solid #cbd1cd; }
.offer-card { grid-column: span 2; min-height: 350px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid #cbd1cd; border-bottom: 1px solid #cbd1cd; background: var(--ivory); transition: .25s ease; }
.offer-card > span { color: #88938f; font-size: 11px; }
.offer-card > p { margin: 65px 0 16px; color: var(--red); font-size: 11px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.offer-card h3 { max-width: 420px; margin: 0 0 35px; font: 500 28px/1.25 Manrope, sans-serif; letter-spacing: -.035em; }
.offer-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; }
.offer-card__actions a, .offer-card button { padding: 0 0 5px; border: 0; border-bottom: 1px solid; color: inherit; background: none; font: 600 13px "DM Sans", sans-serif; cursor: pointer; }
.offer-card:hover { color: white; background: var(--ink); transform: translateY(-3px); }

.application { background: white; }
.application__head { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10%; align-items: end; margin-bottom: 70px; }
.application__head > p { margin: 0 0 7px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.application-layout { display: grid; grid-template-columns: 300px 1fr; gap: 7%; align-items: start; }
.application-progress { position: sticky; top: 130px; }
.application-progress ol { margin: 0; padding: 0; list-style: none; }
.application-progress li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 19px 0; border-top: 1px solid var(--line); opacity: .42; transition: opacity .2s; }
.application-progress li:last-child { border-bottom: 1px solid var(--line); }
.application-progress li.is-active, .application-progress li.is-complete { opacity: 1; }
.application-progress li > span { color: var(--red); font-size: 10px; }
.application-progress b, .application-progress small { display: block; }.application-progress b { font-size: 14px; }.application-progress small { margin-top: 4px; color: var(--muted); }
.application-security { margin-top: 30px; padding: 22px; color: #dce4e1; background: var(--ink); }
.application-security strong { color: white; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.application-security p { margin: 10px 0 0; font-size: 11px; line-height: 1.55; }
.application-form { min-height: 620px; padding: clamp(30px, 5vw, 65px); border: 1px solid #d9dedb; border-top: 4px solid var(--red); background: #fff; box-shadow: 0 28px 75px rgba(6,23,19,.09); }
.application--attention .application-form { animation: application-attention .7s ease both; }
.form-step.is-active { animation: form-step-in .24s ease both; }
@keyframes application-attention { 50% { box-shadow: 0 28px 85px rgba(232,36,47,.18); } }
@keyframes form-step-in { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
.form-step__number { margin: 0 0 15px; color: var(--red); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.form-step h3, .form-complete h3 { max-width: 680px; margin: 0 0 36px; font: 500 clamp(30px, 3vw, 46px)/1.12 Manrope, sans-serif; letter-spacing: -.04em; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 30px; }
.choice-grid label { position: relative; cursor: pointer; }
.choice-grid input { position: absolute; opacity: 0; }
.choice-grid label > span { position: relative; min-height: 98px; display: flex; flex-direction: column; justify-content: center; padding: 19px 21px 19px 25px; border: 1px solid #d3d8d5; background: #f8f7f3; transition: .2s; }
.choice-grid label > span::before { content: ""; position: absolute; top: 14px; bottom: 14px; left: 0; width: 3px; background: transparent; transition: .2s; }
.choice-grid label > span b { font: 600 14px Manrope, sans-serif; }
.choice-grid label > span small { margin-top: 5px; color: var(--muted); }
.choice-grid label:hover > span { border-color: #9ba6a1; transform: translateY(-2px); }
.choice-grid input:checked + span { color: white; border-color: var(--ink); background: var(--ink); box-shadow: 0 13px 28px rgba(6,23,19,.12); }
.choice-grid input:checked + span::before { background: var(--red); }
.choice-grid input:checked + span small { color: #c5cfcb; }
.choice-grid input:focus-visible + span { outline: 3px solid rgba(232,36,47,.24); }
.choice-grid--locked { grid-template-columns: minmax(0,520px); }
.choice-grid--locked label > span { min-height: 86px; cursor: default; }
.simulator-offer__full { min-height: 62px; width: 100%; margin-top: 24px; }
.simulation-handoff { padding: clamp(82px, 9vw, 135px) 0; color: white; background: var(--ink); }
.simulation-handoff__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr); gap: clamp(60px, 8vw, 130px); align-items: center; }
.simulation-handoff__intro .eyebrow { color: var(--red); }
.simulation-handoff__intro h2 { max-width: 620px; margin: 0; font: 500 clamp(36px, 3.7vw, 58px)/1.05 Manrope, sans-serif; letter-spacing: -.045em; }
.simulation-handoff__intro > p:last-child { max-width: 590px; margin: 25px 0 0; color: #b8c4c0; font-size: 15px; line-height: 1.7; }
.simulation-handoff__steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.simulation-handoff__steps li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.simulation-handoff__steps li > span { padding-top: 3px; color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: .1em; }
.simulation-handoff__steps strong { font: 600 16px Manrope, sans-serif; }
.simulation-handoff__steps p { margin: 7px 0 0; color: #aebbb6; font-size: 12px; line-height: 1.55; }
.form-grid { display: grid; gap: 22px; }.form-grid--two { grid-template-columns: repeat(2, 1fr); }.form-grid__full { grid-column: 1 / -1; }
.application-form .field + .field { margin-top: 0; }
.application-form .field input:not([type="range"]), .application-form .field select, .application-form .field textarea { min-height: 58px; border-color: #d3d8d5; background: #fbfaf7; }
.field-hint { color: var(--muted); font-size: 10px; }
.input-suffix { position: relative; }.input-suffix span { position: absolute; top: 17px; right: 16px; color: var(--muted); }.input-suffix input { padding-right: 38px !important; }
.consent { display: grid; grid-template-columns: 20px 1fr; gap: 11px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.consent input { margin-top: 3px; accent-color: var(--red); }.consent a { color: var(--ink); text-decoration: underline; }
.form-privacy-notice { margin: 2px 0 0; padding: 16px 18px; border-left: 2px solid var(--red); background: #f4f1eb; color: var(--muted); font-size: 12px; line-height: 1.65; }
.form-privacy-notice a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.application-recap__reference { margin: -6px 0 20px; font: 600 22px Manrope, sans-serif; color: var(--red); }
.application-recap { margin: 0; }
.application-recap__group { padding: 22px 0; border-top: 1px solid var(--line); }
.application-recap__group:first-child { border-top: 0; padding-top: 0; }
.application-recap__group h4 { margin: 0 0 14px; color: var(--red); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.application-recap__row { display: grid; grid-template-columns: minmax(0, 220px) 1fr; gap: 18px; padding: 9px 0; }
.application-recap__row dt { color: var(--muted); font-size: 13px; }
.application-recap__row dd { margin: 0; font-weight: 600; }
.fixed-credit[data-step2-estimate] { margin-top: 24px; }
@media (max-width: 740px) { .application-recap__row { grid-template-columns: 1fr; gap: 3px; } }
.form-actions { display: flex; justify-content: flex-end; margin-top: 36px; }.form-actions--split { justify-content: space-between; }
.button--outline-dark { color: var(--ink); border-color: #aab3af; background: transparent; }
.button--outline-dark:hover { color: white; background: var(--ink); }
.form-error { min-height: 20px; margin: 12px 0 -10px; color: #bb1822; font-size: 12px; }
.required-fields-note { margin: 0 0 22px; color: var(--muted); font-size: 12px; }
.required-marker, .choice-required { color: #a81620; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.choice-required { margin: 0 0 9px; }
.field-validation-error { display: block; margin-top: 7px; color: #a81620; font-size: 11px; line-height: 1.45; }
.application-form .has-error input:not([type="radio"]), .application-form .has-error select, .application-form .has-error textarea { border-color: #c51f2a; box-shadow: 0 0 0 1px #c51f2a; }
.application-form .choice-grid.has-error { padding: 10px; outline: 1px solid #c51f2a; outline-offset: 4px; }
.application-form .consent.has-error { padding: 12px; outline: 1px solid #c51f2a; }
.form-complete { max-width: 690px; padding-top: 45px; }
.form-complete__mark { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 28px; color: white; background: var(--red); font-size: 23px; }
.form-complete > p:not(.eyebrow) { margin: -10px 0 30px; color: var(--muted); font-size: 17px; line-height: 1.65; }

.finance-process ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid #cbd1cd; border-left: 1px solid #cbd1cd; }
.finance-process li { min-height: 300px; padding: 28px; border-right: 1px solid #cbd1cd; border-bottom: 1px solid #cbd1cd; }
.finance-process li > span { color: var(--red); font-size: 10px; }.finance-process h3 { margin: 85px 0 14px; font: 500 24px Manrope, sans-serif; }.finance-process li p { margin: 0; color: var(--muted); line-height: 1.6; }
.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 10%; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font: 500 19px Manrope, sans-serif; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: var(--red); font-size: 24px; transition: transform .2s; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { max-width: 750px; margin: -5px 0 27px; color: var(--muted); line-height: 1.7; }
.financing-closing .closing__inner > div:first-child { flex: 1; }.financing-closing .closing__inner > div:last-child { flex-shrink: 0; }

@media (max-width: 1050px) {
  .simulator-grid { grid-template-columns: 1fr; gap: 50px; }.simulator-intro { position: static; }
  .offer-card { grid-column: span 3; }
  .application-layout { grid-template-columns: 230px 1fr; gap: 4%; }
  .finance-process ol { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .simulator-intro, .application__head, .faq-layout, .simulation-handoff__inner { grid-template-columns: 1fr; gap: 48px; }
  .application-layout { grid-template-columns: 1fr; }.application-progress { position: static; }.application-progress ol { display: grid; grid-template-columns: repeat(3, 1fr); }.application-progress li { grid-template-columns: 1fr; }.application-security { display: none; }
}
@media (max-width: 740px) {
  .finance-hero { min-height: 720px; height: 100svh; }.finance-hero > img { object-position: 72% center; }.finance-hero__content { padding-top: 128px; }.finance-hero h1 { font-size: clamp(46px, 12vw, 56px); }.finance-hero__content > p:not(.eyebrow) { margin: 20px 0 24px; font-size: 15px; }.finance-hero__actions { width: min(100%, 310px); flex-direction: column; gap: 10px; }.finance-hero__actions .button { width: 100%; min-height: 50px; }.finance-hero__foot .shell { justify-content: space-between; gap: 8px; }.finance-hero__foot span { font-size: 9px; }.finance-hero__foot span::before { display: none; }
  .finance-simulator { padding-top: 80px; }.simulator-intro { margin-bottom: 38px; }.simulator-card, .simulator-offer { margin-inline: -18px; }.simulator-offer { margin-top: -20px; }.simulator-card .field { padding: 18px 16px; }.simulator-card .field__head { align-items: flex-start; flex-direction: column; gap: 12px; }.amount-entry { width: 100%; }.duration-entry { width: 112px; align-self: flex-end; margin-top: -33px; }
  .offer-grid { grid-template-columns: 1fr; }.offer-card { grid-column: auto; min-height: 300px; }.offer-card > p { margin-top: 45px; }
  .application__head { margin-bottom: 45px; }.application-progress ol { grid-template-columns: 1fr; }.application-progress li { display: none; }.application-progress li.is-active { display: grid; grid-template-columns: 42px 1fr; }.application-form { min-height: 0; margin-inline: -18px; }.choice-grid, .form-grid--two { grid-template-columns: 1fr; }.form-actions--split { align-items: stretch; flex-direction: column-reverse; gap: 10px; }.form-actions .button { width: 100%; }.form-grid__full { grid-column: auto; }
  .finance-process ol { grid-template-columns: 1fr; }.finance-process li { min-height: 250px; }.finance-process h3 { margin-top: 60px; }
  .simulation-handoff { padding: 75px 0; }.simulation-handoff__inner { gap: 38px; }.simulation-handoff__steps li { grid-template-columns: 36px 1fr; gap: 12px; padding: 21px 0; }
  .faq-list summary { min-height: 76px; font-size: 17px; }
}
