:root {
    --mortgage-green: #087443;
    --mortgage-green-dark: #055735;
    --mortgage-red: #c42a1d;
    --mortgage-ink: #14251f;
    --mortgage-muted: #60736b;
    --mortgage-line: #d9e5df;
    --mortgage-soft: #f3f8f5;
    --mortgage-warm: #fbf7f1;
    --mortgage-white: #fff;
    --mortgage-shadow: 0 22px 60px rgba(17, 55, 40, .12);
}

.re-mortgage-embed-body { margin:0; padding:12px; background:#f3f8f5; }
.re-mortgage-embed-body main { width:100%; min-width:0; }

.re-mortgage-page { padding: clamp(24px, 4vw, 64px) 0 80px; background: linear-gradient(180deg, #f2f8f5 0, #fff 28%); }
.re-mortgage-page-hero { padding: clamp(38px, 7vw, 92px) 0 clamp(24px, 4vw, 52px); background: radial-gradient(circle at 80% 20%, rgba(8,116,67,.14), transparent 34%), #eef7f2; }
.re-mortgage-page-hero__grid { display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(250px, .55fr); gap:clamp(28px,5vw,72px); align-items:center; }
.re-mortgage-page-hero h1 { max-width:850px; margin:10px 0 18px; font-size:clamp(2.15rem,6vw,5rem); line-height:.98; letter-spacing:-.055em; color:var(--mortgage-ink); }
.re-mortgage-page-hero p { max-width:720px; margin:0; color:var(--mortgage-muted); font-size:clamp(1.02rem,2vw,1.28rem); line-height:1.65; }
.re-mortgage-page-hero aside { padding:24px; border:1px solid rgba(8,116,67,.18); border-radius:22px; background:rgba(255,255,255,.78); backdrop-filter:blur(10px); }
.re-mortgage-page-hero aside strong { display:block; margin-bottom:8px; font-size:1.05rem; color:var(--mortgage-green-dark); }
.re-mortgage-page-hero aside span { display:block; color:var(--mortgage-muted); line-height:1.55; }
.re-mortgage-page-info { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.re-mortgage-page-info article { padding:22px; border:1px solid var(--mortgage-line); border-radius:18px; background:#fff; }
.re-mortgage-page-info h3 { margin:0 0 8px; color:var(--mortgage-ink); font-size:1.05rem; }
.re-mortgage-page-info p { margin:0; color:var(--mortgage-muted); line-height:1.6; }

.re-mortgage-widget, .re-mortgage-widget * { box-sizing:border-box; }
.re-mortgage-widget { width:min(100%, 1180px); margin-inline:auto; color:var(--mortgage-ink); font:400 16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow:clip; border:1px solid var(--mortgage-line); border-radius:28px; background:var(--mortgage-white); box-shadow:var(--mortgage-shadow); }
.re-mortgage-widget__header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:clamp(24px,4vw,42px); border-bottom:1px solid var(--mortgage-line); background:linear-gradient(135deg,#fff,#f2f8f5); }
.re-mortgage-widget__header h2 { margin:7px 0 8px; max-width:760px; font-size:clamp(1.55rem,3.4vw,2.55rem); line-height:1.08; letter-spacing:-.035em; }
.re-mortgage-widget__header p { max-width:720px; margin:0; color:var(--mortgage-muted); }
.re-mortgage-kicker { color:var(--mortgage-green); font-size:.75rem; font-weight:800; letter-spacing:.18em; }
.re-mortgage-private { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; max-width:180px; padding:8px 12px; border-radius:999px; color:var(--mortgage-green-dark); background:#e6f5ec; font-size:.78rem; font-weight:750; text-align:center; }

.re-mortgage-form { padding:clamp(22px,4vw,42px); }
.re-mortgage-form fieldset { min-width:0; margin:0 0 28px; padding:0; border:0; }
.re-mortgage-form legend { width:100%; display:flex; align-items:center; gap:10px; margin:0 0 17px; color:var(--mortgage-ink); font-size:1.08rem; font-weight:800; }
.re-mortgage-form legend span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#fff; background:var(--mortgage-green); font-size:.78rem; }
.re-mortgage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.re-mortgage-grid--rates { grid-template-columns:repeat(3,minmax(0,1fr)); }
.re-mortgage-grid--costs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.re-mortgage-form label { display:flex; min-width:0; flex-direction:column; gap:7px; color:var(--mortgage-ink); font-weight:720; }
.re-mortgage-form label > span { font-size:.86rem; }
.re-mortgage-form label b { color:var(--mortgage-red); }
.re-mortgage-form input, .re-mortgage-form select { width:100%; min-width:0; min-height:50px; padding:11px 13px; border:1px solid #b8cac1; border-radius:12px; color:var(--mortgage-ink); background:#fff; font:inherit; font-weight:620; }
.re-mortgage-form input:focus, .re-mortgage-form select:focus, .re-mortgage-button:focus-visible, .re-mortgage-table-wrap:focus-visible { outline:3px solid rgba(8,116,67,.25); outline-offset:2px; border-color:var(--mortgage-green); }
.re-mortgage-form input[aria-invalid="true"] { border-color:var(--mortgage-red); background:#fff8f7; }
.re-mortgage-input { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; min-height:50px; border:1px solid #b8cac1; border-radius:12px; background:#fff; overflow:hidden; }
.re-mortgage-input:focus-within { outline:3px solid rgba(8,116,67,.25); border-color:var(--mortgage-green); }
.re-mortgage-input > span { padding:0 12px; color:var(--mortgage-muted); font-weight:800; }
.re-mortgage-input input { min-height:48px; border:0; border-radius:0; outline:0!important; }
.re-mortgage-form label small { min-height:1.2em; color:var(--mortgage-muted); font-size:.75rem; font-weight:450; line-height:1.35; }
.re-mortgage-form label small[data-field-error]:not(:empty) { color:var(--mortgage-red); font-weight:680; }
.re-mortgage-costs { margin:4px 0 28px; border:1px solid var(--mortgage-line); border-radius:18px; background:var(--mortgage-soft); }
.re-mortgage-costs summary { cursor:pointer; padding:17px 20px; color:var(--mortgage-ink); font-weight:800; }
.re-mortgage-costs summary span { color:var(--mortgage-muted); font-size:.8rem; font-weight:500; }
.re-mortgage-costs > p { margin:0; padding:0 20px 15px; color:var(--mortgage-muted); font-size:.88rem; }
.re-mortgage-costs .re-mortgage-grid { padding:0 20px 20px; }
.re-mortgage-errors { margin:0 0 20px; padding:14px 16px; border-left:4px solid var(--mortgage-red); border-radius:10px; color:#7e1c14; background:#fff1ef; font-weight:650; }
.re-mortgage-form__actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.re-mortgage-form__actions p { flex:1 1 280px; margin:0; color:var(--mortgage-muted); font-size:.83rem; }
.re-mortgage-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:11px 18px; border:1px solid transparent; border-radius:12px; cursor:pointer; font:inherit; font-weight:800; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.re-mortgage-button:hover { transform:translateY(-1px); }
.re-mortgage-button:disabled { cursor:wait; opacity:.58; transform:none; }
.re-mortgage-button--primary { min-height:52px; padding-inline:24px; color:#fff; background:var(--mortgage-green); box-shadow:0 10px 24px rgba(8,116,67,.2); }
.re-mortgage-button--primary:hover { background:var(--mortgage-green-dark); }
.re-mortgage-button--secondary { color:var(--mortgage-green-dark); border-color:#9dbfaf; background:#fff; }
.re-mortgage-button--quiet { color:var(--mortgage-green-dark); border-color:var(--mortgage-line); background:var(--mortgage-soft); }
.re-mortgage-progress { display:flex; align-items:center; gap:12px; margin-top:18px; padding:13px 15px; border-radius:12px; color:var(--mortgage-green-dark); background:#e8f5ee; font-weight:680; }
.re-mortgage-progress i { width:20px; height:20px; border:3px solid #a8d3bd; border-top-color:var(--mortgage-green); border-radius:50%; animation:re-mortgage-spin .8s linear infinite; }
@keyframes re-mortgage-spin { to { transform:rotate(360deg); } }

.re-mortgage-results { padding:clamp(22px,4vw,42px); border-top:1px solid var(--mortgage-line); background:#f8fbf9; }
.re-mortgage-results > header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:20px; }
.re-mortgage-results h3 { margin:6px 0 0; font-size:clamp(1.35rem,3vw,2.15rem); letter-spacing:-.03em; }
.re-mortgage-results > header > span { color:var(--mortgage-muted); font:650 .74rem/1.4 ui-monospace,monospace; }
.re-mortgage-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.re-mortgage-stat { padding:17px; border:1px solid var(--mortgage-line); border-radius:14px; background:#fff; }
.re-mortgage-stat span { display:block; margin-bottom:5px; color:var(--mortgage-muted); font-size:.78rem; }
.re-mortgage-stat strong { display:block; font-size:clamp(1.15rem,2vw,1.55rem); }
.re-mortgage-stat small { display:block; margin-top:5px; color:var(--mortgage-muted); }
.re-mortgage-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.re-mortgage-scenario { position:relative; min-width:0; padding:21px; border:1px solid var(--mortgage-line); border-radius:18px; background:#fff; }
.re-mortgage-scenario[data-scenario="fixed"] { border-top:4px solid var(--mortgage-green); }
.re-mortgage-scenario[data-scenario="variable"] { border-top:4px solid #2f6fb0; }
.re-mortgage-scenario[data-scenario="variable_stress"] { border-top:4px solid var(--mortgage-red); }
.re-mortgage-scenario h4 { min-height:2.5em; margin:0 0 13px; font-size:1rem; }
.re-mortgage-scenario__rate { color:var(--mortgage-muted); font-size:.8rem; }
.re-mortgage-scenario__payment { display:block; margin:5px 0 14px; font-size:clamp(1.6rem,3vw,2.35rem); line-height:1; letter-spacing:-.04em; }
.re-mortgage-scenario dl { display:grid; gap:8px; margin:0; }
.re-mortgage-scenario dl div { display:flex; justify-content:space-between; gap:10px; padding-top:8px; border-top:1px dashed var(--mortgage-line); }
.re-mortgage-scenario dt { color:var(--mortgage-muted); font-size:.76rem; }
.re-mortgage-scenario dd { margin:0; text-align:right; font-size:.8rem; font-weight:780; }
.re-mortgage-chart { display:grid; gap:10px; margin:20px 0 28px; padding:18px; border:1px solid var(--mortgage-line); border-radius:16px; background:#fff; }
.re-mortgage-bar { display:grid; grid-template-columns:minmax(120px,210px) minmax(0,1fr) auto; gap:10px; align-items:center; }
.re-mortgage-bar > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--mortgage-muted); font-size:.8rem; }
.re-mortgage-bar i { display:block; width:var(--bar-width); min-width:4px; height:14px; border-radius:999px; background:var(--bar-color,var(--mortgage-green)); }
.re-mortgage-bar strong { font-size:.82rem; }
.re-mortgage-schedule { padding:22px; border:1px solid var(--mortgage-line); border-radius:18px; background:#fff; }
.re-mortgage-schedule__head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:15px; }
.re-mortgage-schedule h4 { margin:0 0 4px; font-size:1.12rem; }
.re-mortgage-schedule p { margin:0; color:var(--mortgage-muted); font-size:.82rem; }
.re-mortgage-schedule label { display:grid; gap:5px; color:var(--mortgage-muted); font-size:.75rem; font-weight:700; }
.re-mortgage-schedule select { min-height:42px; max-width:260px; padding:8px 11px; border:1px solid #b8cac1; border-radius:10px; background:#fff; }
.re-mortgage-table-wrap { max-width:100%; overflow:auto; overscroll-behavior:contain; border:1px solid var(--mortgage-line); border-radius:12px; }
.re-mortgage-table-wrap table { width:100%; min-width:760px; border-collapse:collapse; font-size:.79rem; }
.re-mortgage-table-wrap th,.re-mortgage-table-wrap td { padding:10px 12px; border-bottom:1px solid #e8efeb; text-align:right; white-space:nowrap; }
.re-mortgage-table-wrap th:first-child,.re-mortgage-table-wrap td:first-child,.re-mortgage-table-wrap th:nth-child(2),.re-mortgage-table-wrap td:nth-child(2) { text-align:left; }
.re-mortgage-table-wrap th { position:sticky; top:0; z-index:1; color:#fff; background:var(--mortgage-green-dark); }
.re-mortgage-schedule > button { margin-top:13px; }
.re-mortgage-disclosure { margin-top:18px; padding:18px; border:1px solid #eadcc7; border-radius:16px; color:#5f5140; background:var(--mortgage-warm); }
.re-mortgage-disclosure strong { display:block; margin-bottom:7px; color:#463a2e; }
.re-mortgage-disclosure ul { margin:0; padding-left:20px; }
.re-mortgage-disclosure li + li { margin-top:5px; }
.re-mortgage-result-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.re-mortgage-save { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:11px 15px; align-items:center; margin-top:18px; padding:16px; border:1px solid var(--mortgage-line); border-radius:15px; background:#fff; }
.re-mortgage-save label { display:flex; gap:9px; align-items:flex-start; color:var(--mortgage-muted); font-size:.82rem; }
.re-mortgage-save input { flex:0 0 auto; width:18px; height:18px; margin-top:1px; accent-color:var(--mortgage-green); }
.re-mortgage-save [data-mortgage-save-status] { grid-column:1/-1; color:var(--mortgage-green-dark); font-size:.8rem; font-weight:680; }
.re-mortgage-saved { margin-top:18px; }
.re-mortgage-saved h4 { margin:0 0 10px; }
.re-mortgage-saved-list { display:grid; gap:8px; }
.re-mortgage-saved-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:12px 14px; border:1px solid var(--mortgage-line); border-radius:12px; background:#fff; }
.re-mortgage-saved-row span { color:var(--mortgage-muted); font-size:.78rem; }
.re-mortgage-noscript { margin:20px; padding:14px; color:#7e1c14; background:#fff1ef; }
.re-mortgage-widget--compact { border-radius:20px; box-shadow:0 14px 38px rgba(17,55,40,.1); }
.re-mortgage-widget--compact .re-mortgage-widget__header,.re-mortgage-widget--compact .re-mortgage-form,.re-mortgage-widget--compact .re-mortgage-results { padding:22px; }
.re-mortgage-widget--compact .re-mortgage-grid,.re-mortgage-widget--compact .re-mortgage-grid--rates,.re-mortgage-widget--compact .re-mortgage-grid--costs { grid-template-columns:repeat(2,minmax(0,1fr)); }

[dir="rtl"] .re-mortgage-table-wrap th,[dir="rtl"] .re-mortgage-table-wrap td { text-align:left; }
[dir="rtl"] .re-mortgage-table-wrap th:first-child,[dir="rtl"] .re-mortgage-table-wrap td:first-child,[dir="rtl"] .re-mortgage-table-wrap th:nth-child(2),[dir="rtl"] .re-mortgage-table-wrap td:nth-child(2) { text-align:right; }
[dir="rtl"] .re-mortgage-disclosure ul { padding-left:0; padding-right:20px; }

@media (max-width:900px) {
    .re-mortgage-page-hero__grid { grid-template-columns:1fr; }
    .re-mortgage-page-hero aside { max-width:620px; }
    .re-mortgage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .re-mortgage-grid--rates,.re-mortgage-grid--costs { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .re-mortgage-comparison { grid-template-columns:1fr; }
    .re-mortgage-scenario h4 { min-height:0; }
}

@media (max-width:640px) {
    .re-mortgage-page { padding-top:18px; }
    .re-mortgage-page-info { grid-template-columns:1fr; }
    .re-mortgage-widget { width:100%; border-radius:18px; }
    .re-mortgage-widget__header { display:block; }
    .re-mortgage-private { margin-top:14px; }
    .re-mortgage-grid,.re-mortgage-grid--rates,.re-mortgage-grid--costs,.re-mortgage-widget--compact .re-mortgage-grid,.re-mortgage-widget--compact .re-mortgage-grid--rates,.re-mortgage-widget--compact .re-mortgage-grid--costs { grid-template-columns:1fr; }
    .re-mortgage-costs .re-mortgage-grid { padding-inline:14px; }
    .re-mortgage-costs > p { padding-inline:14px; }
    .re-mortgage-costs summary { padding-inline:14px; }
    .re-mortgage-form__actions,.re-mortgage-result-actions { align-items:stretch; flex-direction:column; }
    .re-mortgage-button { width:100%; }
    .re-mortgage-results > header,.re-mortgage-schedule__head { display:block; }
    .re-mortgage-results > header > span { display:block; margin-top:8px; overflow-wrap:anywhere; }
    .re-mortgage-summary { grid-template-columns:1fr; }
    .re-mortgage-schedule { padding:14px; }
    .re-mortgage-schedule label { margin-top:14px; }
    .re-mortgage-schedule select { width:100%; max-width:none; }
    .re-mortgage-bar { grid-template-columns:95px minmax(0,1fr); }
    .re-mortgage-bar strong { grid-column:2; }
    .re-mortgage-save { grid-template-columns:1fr; }
    .re-mortgage-save [data-mortgage-save-status] { grid-column:auto; }
}

@media (prefers-reduced-motion:reduce) {
    .re-mortgage-button { transition:none; }
    .re-mortgage-progress i { animation-duration:1.8s; }
}

@media print {
    .re-header,.re-mobile-drawer,.re-mobile-bottom,.re-prefooter,.re-footer,.re-mortgage-form,.re-mortgage-widget__header,.re-mortgage-result-actions,.re-mortgage-save,.re-mortgage-saved { display:none!important; }
    .re-mortgage-page { padding:0; background:#fff; }
    .re-mortgage-widget,.re-mortgage-results,.re-mortgage-scenario,.re-mortgage-schedule { border:0; box-shadow:none; }
    .re-mortgage-results { padding:0; }
    .re-mortgage-comparison { grid-template-columns:repeat(3,1fr); }
    .re-mortgage-table-wrap { overflow:visible; }
    .re-mortgage-table-wrap table { min-width:0; font-size:8pt; }
}
