.fd-calc {
  --fd-navy: #24364B;
  --fd-tan: #C9A77A;
  --fd-beige: #EFE7DD;
  --fd-white: #FFFFFF;
  --fd-text: #4D4C4C;
  --fd-border: #D8D2CB;
  --fd-focus: #24364B;
  max-width: 860px;
  margin: 0 auto;
  color: var(--fd-text);
  font-family: inherit;
  line-height: 1.55;
}
.fd-calc * { box-sizing: border-box; }
.fd-calc__title { color:var(--fd-navy); line-height:1.1; margin:0 0 1rem; font-size:clamp(2rem,5vw,3.25rem); letter-spacing:-.02em; }
.fd-calc h2, .fd-calc h3 { color: var(--fd-navy); line-height: 1.2; }
.fd-calc h2 { margin: 0 0 .4rem; font-size: 1.45rem; }
.fd-calc__intro { font-size: 1.05rem; margin-bottom: 1.5rem; }
.fd-calc__section { background: var(--fd-beige); border-radius: 14px; padding: 1.25rem; margin: 1rem 0; }
.fd-calc__hint { margin-top: 0; }
.fd-calc__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 1rem; margin-top:1rem; }
.fd-calc__field label { display:block; font-weight:700; color:var(--fd-navy); margin-bottom:.3rem; }
.fd-calc__input-wrap { display:flex; align-items:center; background:var(--fd-white); border:1px solid var(--fd-border); border-radius:9px; overflow:hidden; }
.fd-calc__input-wrap:focus-within { outline:3px solid rgba(36,54,75,.18); border-color:var(--fd-focus); }
.fd-calc__currency { padding-left:.75rem; font-weight:700; color:var(--fd-navy); }
.fd-calc input[type="number"] { width:100%; border:0; background:transparent; color:var(--fd-text); font:inherit; padding:.7rem .75rem .7rem .35rem; min-width:0; }
.fd-calc input[type="number"]:focus { outline:none; }
.fd-calc__suffix { padding-right:.75rem; white-space:nowrap; color:var(--fd-text); font-size:.9rem; }
.fd-calc__buffer { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.8rem; }
.fd-calc__buffer button, .fd-calc__reset { border:1px solid var(--fd-navy); border-radius:999px; background:var(--fd-white); color:var(--fd-navy); font:inherit; font-weight:700; cursor:pointer; padding:.55rem .85rem; }
.fd-calc__buffer button[aria-pressed="true"] { background:var(--fd-navy); color:var(--fd-white); }
.fd-calc__buffer button:focus-visible, .fd-calc__reset:focus-visible, .fd-calc a:focus-visible { outline:3px solid rgba(36,54,75,.25); outline-offset:2px; }
.fd-calc__results { background:var(--fd-navy); color:var(--fd-white); border-radius:16px; padding:1.4rem; margin:1.25rem 0; }
.fd-calc__results h2, .fd-calc__results h3 { color:var(--fd-white); }
.fd-calc__total { font-size:clamp(2rem,7vw,3.5rem); line-height:1; font-weight:800; margin:.5rem 0 1.1rem; letter-spacing:-.02em; }
.fd-calc__breakdown { display:grid; gap:.55rem; margin:0; }
.fd-calc__row { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid rgba(255,255,255,.22); padding-top:.55rem; }
.fd-calc__row strong { text-align:right; white-space:nowrap; }
.fd-calc__monthly { margin-top:1rem; background:rgba(255,255,255,.1); border-radius:10px; padding:.9rem; }
.fd-calc__note { font-size:.92rem; opacity:.95; margin-bottom:0; }
.fd-calc__after { background:var(--fd-white); border:1px solid var(--fd-border); border-radius:14px; padding:1.25rem; }
.fd-calc__after a { color:var(--fd-navy); font-weight:700; }
.fd-calc__actions { margin-top:1rem; }
.fd-calc__reset:hover, .fd-calc__buffer button:hover { background:var(--fd-beige); }
.fd-calc__buffer button[aria-pressed="true"]:hover { background:var(--fd-navy); }
.fd-calc__sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:680px) {
  .fd-calc__grid { grid-template-columns:1fr; }
  .fd-calc__section,.fd-calc__results,.fd-calc__after { padding:1rem; }
  .fd-calc__row { align-items:flex-start; }
}
