.ta-sec-calc, .ta-sec-calc * { box-sizing: border-box; }
.ta-sec-calc { --ta-sec-blue:#5b7dbc; --ta-sec-navy:#23294c; --ta-sec-soft:#f4f7fc; --ta-sec-border:#dce4f2; font-family: Open Sans, Arial, sans-serif; max-width: 980px; margin: 24px auto; color: var(--ta-sec-navy); }
.ta-sec-calc__card { border: 1px solid var(--ta-sec-border); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 18px 45px rgba(35,41,76,.12); }
.ta-sec-calc__header { padding: 28px; background: linear-gradient(135deg, var(--ta-sec-navy), var(--ta-sec-blue)); color: #fff; }
.ta-sec-calc__eyebrow { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .88; }
.ta-sec-calc__title { margin: 0; color: #fff; font-size: clamp(24px, 4vw, 36px); line-height: 1.1; }
.ta-sec-calc__intro { margin: 12px 0 0; max-width: 720px; line-height: 1.55; opacity: .92; }
.ta-sec-calc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 28px; background: var(--ta-sec-soft); }
.ta-sec-calc__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ta-sec-calc__label { font-weight: 700; font-size: 14px; }
.ta-sec-calc__hint { font-style: normal; font-weight: 600; opacity: .72; }
.ta-sec-calc__input-wrap { display: flex; align-items: center; border: 1px solid var(--ta-sec-border); border-radius: 12px; background: #fff; overflow: hidden; }
.ta-sec-calc__prefix { padding: 0 0 0 14px; font-weight: 800; color: var(--ta-sec-blue); }
.ta-sec-calc__input, .ta-sec-calc__select { width: 100%; min-height: 48px; border: 1px solid var(--ta-sec-border); border-radius: 12px; padding: 12px 14px; background: #fff; color: var(--ta-sec-navy); font: inherit; }
.ta-sec-calc__input-wrap .ta-sec-calc__input { border: 0; background: transparent; border-radius: 0; }
.ta-sec-calc__input:focus, .ta-sec-calc__select:focus { outline: 3px solid rgba(91,125,188,.22); border-color: var(--ta-sec-blue); }
.ta-sec-calc__lender-note { display: none; margin: 20px 28px 0; padding: 12px 16px; border-left: 4px solid var(--ta-sec-blue); background: var(--ta-sec-soft); font-size: 13px; font-weight: 600; line-height: 1.5; }
.ta-sec-calc__lender-note.is-ta-sec-active { display: block; }
.ta-sec-calc__notice { display: none; margin: 16px 28px 0; padding: 16px 18px; border-left: 5px solid var(--ta-sec-blue); background: var(--ta-sec-soft); line-height: 1.5; }
.ta-sec-calc__notice.is-ta-sec-active { display: block; }
.ta-sec-calc__results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 28px; }
.ta-sec-calc__result { border: 1px solid var(--ta-sec-border); border-radius: 16px; padding: 18px; background: #fff; }
.ta-sec-calc__result--primary { background: var(--ta-sec-navy); color: #fff; border-color: var(--ta-sec-navy); }
.ta-sec-calc__result-label { display: block; font-size: 13px; font-weight: 700; opacity: .78; margin-bottom: 8px; }
.ta-sec-calc__result-value { display: block; font-size: clamp(24px, 3vw, 34px); line-height: 1; }
.ta-sec-calc__breakdown { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: var(--ta-sec-border); border-top: 1px solid var(--ta-sec-border); }
.ta-sec-calc__breakdown div { padding: 16px; background: #fff; }
.ta-sec-calc__breakdown span { display: block; font-size: 12px; font-weight: 700; opacity: .72; margin-bottom: 6px; }
.ta-sec-calc__breakdown strong { font-size: 18px; }
.ta-sec-calc__is-hidden { display: none !important; }
@media (max-width: 760px) { .ta-sec-calc__grid, .ta-sec-calc__results, .ta-sec-calc__breakdown { grid-template-columns: 1fr; } .ta-sec-calc__header, .ta-sec-calc__grid, .ta-sec-calc__results { padding: 22px; } }
.ta-sec-calc__referral { border-top: 1px solid var(--ta-sec-border); background: #fff; }
.ta-sec-calc__footnote { margin: 0; padding: 12px 28px 24px; font-size: 12px; opacity: .72; line-height: 1.5; }

.ta-sec-calc--stonebridge { --ta-sec-blue:#ed721a; --ta-sec-orange-dark:#c85f15; --ta-sec-soft:#fdf1e6; --ta-sec-border:#f5d6b8; font-family: Effra, Open Sans, Arial, sans-serif; }
.ta-sec-calc--stonebridge .ta-sec-calc__header { background: linear-gradient(135deg, var(--ta-sec-orange-dark), var(--ta-sec-blue)); }
