*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--azul-900: #14345e;--azul-600: #2b5fa0;--azul-400: #5b8cc4;--manganese: #4b3a6b;--ochre: #d99a2b;--ochre-tint: #f7ecd4;--glaze: #f7f4ed;--tile: #ffffff;--ink: #17202e;--ink-soft: #566072;--line: #d9e0ea;--line-strong: #b7c3d4;--field-bg: #ffffff;--warn-bg: #fdf3e7;--warn-ink: #8a5a12;--font-display: "Bricolage Grotesque", Georgia, serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--radius: 14px;--radius-sm: 9px;--shadow-card: 0 1px 2px rgba(20, 52, 94, .06), 0 8px 24px -16px rgba(20, 52, 94, .35);--focus: 0 0 0 3px rgba(43, 95, 160, .35);--content-max: 1160px}[data-theme=dark]{--azul-900: #0b1f38;--azul-600: #6ea2df;--azul-400: #3f5f86;--manganese: #b8a6df;--ochre: #eab54e;--ochre-tint: #33280f;--glaze: #0e1a2b;--tile: #16283f;--ink: #eaf0f8;--ink-soft: #a7b4c6;--line: #24374f;--line-strong: #33496a;--field-bg: #122135;--warn-bg: #33280f;--warn-ink: #f0cd8f;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 30px -18px rgba(0, 0, 0, .8);--focus: 0 0 0 3px rgba(110, 162, 223, .45)}body{background:var(--glaze);color:var(--ink);font-family:var(--font-sans)}a{color:var(--azul-600)}.app{display:flex;flex-direction:column;min-height:100vh;border-top:3px solid var(--azul-600)}.header,.main,.footer{padding-inline:clamp(var(--s4),4vw,var(--s7))}.header{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;padding-block:var(--s4);border-bottom:1px solid var(--line)}.header__brand{display:flex;align-items:center;gap:var(--s3)}.header__mark{flex:none;display:block}.header__title{font-family:var(--font-display);font-weight:700;font-size:1.35rem;line-height:1.05;letter-spacing:-.01em}.header__subtitle{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:.04em}.nav{display:flex;gap:var(--s2);margin-inline-start:auto}.nav__link{text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.92rem;padding:var(--s2) var(--s3);border-radius:var(--radius-sm)}.nav__link:hover{color:var(--ink);background:color-mix(in srgb,var(--azul-400) 14%,transparent)}.nav__link--active{color:var(--azul-600);background:color-mix(in srgb,var(--azul-400) 18%,transparent)}.header__tools{display:flex;align-items:center;gap:var(--s3)}.langswitch{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden}.langswitch__btn{border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.8rem;font-weight:600;padding:var(--s1) var(--s3);cursor:pointer}.langswitch__btn[aria-pressed=true]{background:var(--azul-600);color:#fff}.iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:999px;background:var(--field-bg);color:var(--ink);cursor:pointer}.iconbtn:hover{border-color:var(--azul-400)}.main{width:100%;max-width:var(--content-max);margin-inline:auto;padding-block:var(--s6)}.calculator{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s5);align-items:start}.panel{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5);box-shadow:var(--shadow-card)}.panel--results{position:sticky;top:var(--s4)}.panel__title{font-family:var(--font-display);font-weight:600;font-size:1.05rem;margin:0 0 var(--s4)}.buyers .panel__title{margin-top:var(--s5)}.form__cols{display:grid;grid-template-columns:1.12fr .88fr;gap:var(--s4) var(--s5);align-items:start}.form__cols>*{min-width:0}.form__span{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.field__label{font-size:.85rem;font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:var(--s2)}.field__optional{font-weight:400;font-size:.72rem;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:999px;padding:0 var(--s2)}.field__hint{margin:0;font-size:.76rem;color:var(--ink-soft)}.select,.num__input{width:100%;min-height:48px;font:inherit;color:var(--ink);background:var(--field-bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--s3)}.num{position:relative;display:flex;align-items:center}.num__input{font-family:var(--font-mono);padding-right:var(--s6)}.num__input::-webkit-outer-spin-button,.num__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num__input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.num__suffix{position:absolute;right:var(--s3);top:50%;transform:translateY(-50%);color:var(--ink-soft);font-family:var(--font-mono);pointer-events:none}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:right 16px center,right 11px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.segmented{display:flex;gap:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden}.segmented__option{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;border:0;border-inline-start:1px solid var(--line-strong);background:var(--field-bg);color:var(--ink-soft);font:inherit;font-size:.85rem;padding:var(--s1) var(--s2);cursor:pointer}.segmented__option:first-child{border-inline-start:0}.segmented__option[aria-pressed=true]{background:var(--azul-600);color:#fff;font-weight:600}.toggle{display:flex;align-items:flex-start;gap:var(--s3);grid-column:1 / -1}.toggle__input{margin-top:3px;width:18px;height:18px;accent-color:var(--azul-600);flex:none}.toggle__label{font-size:.85rem;color:var(--ink)}.mortgage,.buyers{margin-top:var(--s5);border-top:1px solid var(--line);padding-top:var(--s4)}.mortgage__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);margin-top:var(--s3)}.buyer{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s4);margin-bottom:var(--s3);background:color-mix(in srgb,var(--azul-400) 5%,var(--tile))}.buyer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s3)}.buyer__title{font-family:var(--font-display);font-size:.95rem;margin:0}.buyer__remove{border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline}.buyer__remove:hover{color:var(--manganese)}.buyer__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}.btn{font:inherit;font-weight:600;font-size:.9rem;padding:var(--s3) var(--s4);border-radius:var(--radius-sm);border:1px solid var(--azul-600);background:var(--azul-600);color:#fff;cursor:pointer}.btn:hover{background:var(--azul-900);border-color:var(--azul-900)}.btn--ghost{background:transparent;color:var(--azul-600);border-style:dashed;width:100%;margin-top:var(--s2)}.btn--ghost:hover{background:color-mix(in srgb,var(--azul-400) 12%,transparent);color:var(--azul-600);border-color:var(--azul-600)}.btn--soft{background:color-mix(in srgb,var(--azul-400) 12%,transparent);color:var(--azul-600);border-color:transparent}.btn--soft:hover{background:color-mix(in srgb,var(--azul-400) 22%,transparent);border-color:transparent;color:var(--azul-900)}.results__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.results__title{font-family:var(--font-display);font-size:1.1rem;margin:0}.results__base{font-size:.85rem;color:var(--ink-soft)}.results__base strong{font-family:var(--font-mono);color:var(--ink)}.badge{display:inline-block;margin-inline-start:var(--s2);font-size:.68rem;color:var(--azul-600);background:color-mix(in srgb,var(--azul-400) 16%,transparent);border-radius:999px;padding:1px var(--s2)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin:var(--s4) 0}.tile--total{grid-column:1 / -1;flex-direction:row;align-items:baseline;justify-content:space-between}.tile{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s2);min-width:0;min-height:92px;background:radial-gradient(135% 90% at 15% 0%,rgba(255,255,255,.4),transparent 58%),var(--tile);border:1px solid var(--azul-400);border-radius:var(--radius);padding:var(--s4);box-shadow:inset 0 1px #ffffff73,var(--shadow-card)}.tile__label{font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.tile__value{font-family:var(--font-mono);font-weight:600;font-size:1.1rem;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--azul-900)}.tile--total{background:linear-gradient(180deg,var(--ochre-tint),var(--tile));border-color:var(--ochre)}.tile--total .tile__value{color:var(--ink);font-size:1.5rem}[data-theme=dark] .tile__value{color:var(--ink)}.summary{margin:var(--s4) 0;display:grid;gap:var(--s2)}.summary__row{display:flex;justify-content:space-between;border-bottom:1px dotted var(--line);padding-bottom:var(--s2)}.summary__row:last-child{border-bottom:0}.summary dt{color:var(--ink-soft);font-size:.85rem}.summary dd{margin:0;font-family:var(--font-mono);font-weight:500}.breakdown{margin-top:var(--s4)}.breakdown__title{font-family:var(--font-display);font-size:.95rem;margin:0 0 var(--s2)}.bd-buyer{padding:var(--s3) 0}.bd-buyer+.bd-buyer{border-top:1px solid var(--line)}.bd-buyer__head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}.bd-buyer__name{font-weight:600;font-size:.9rem}.bd-lines{margin:0;display:grid;gap:3px}.bd-line{display:flex;justify-content:space-between;gap:var(--s3);font-size:.85rem}.bd-line dt{color:var(--ink-soft)}.bd-line dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.bd-line--total{margin-top:2px;padding-top:3px;border-top:1px dotted var(--line)}.bd-line--total dt{color:var(--ink);font-weight:600}.bd-line--total dd{font-weight:600}.bd-reclaim{margin:var(--s2) 0 0;font-size:.76rem;color:var(--manganese)}.tag{margin-inline-start:var(--s2);font-size:.68rem;color:var(--manganese);border:1px solid color-mix(in srgb,var(--manganese) 40%,transparent);border-radius:999px;padding:0 var(--s2)}.note{font-size:.78rem;color:var(--ink-soft);border-inline-start:3px solid var(--azul-400);padding-inline-start:var(--s3);margin:var(--s4) 0}.warning{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius-sm);padding:var(--s3);font-size:.85rem;margin:var(--s3) 0 0}.sharebox{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}.sharebox__label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:var(--s2)}.sharebox__row{display:flex;gap:var(--s2)}.sharebox__input{flex:1;min-width:0;font-family:var(--font-mono);font-size:.8rem;color:var(--ink);background:var(--field-bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);text-overflow:ellipsis}.results__year{margin:var(--s3) 0 0;font-size:.72rem;color:var(--ink-soft)}.actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.actions .btn{flex:1;min-width:120px}.flash{margin:var(--s3) 0 0;font-size:.8rem;color:var(--azul-600)}.footer{border-top:1px solid var(--line);padding-block:var(--s5);color:var(--ink-soft);font-size:.8rem;max-width:var(--content-max);margin-inline:auto;width:100%}.footer__disclaimer{margin:0 0 var(--s2)}.footer__meta{margin:0}.footer__link{color:var(--azul-600)}.doc{max-width:760px;margin-inline:auto}.doc__title{font-family:var(--font-display);font-weight:700;font-size:2rem;letter-spacing:-.02em;margin:0 0 var(--s2)}.doc__intro{color:var(--ink-soft);font-size:1.02rem;margin:0 0 var(--s6)}.doc__section{margin-bottom:var(--s6)}.doc__h2{font-family:var(--font-display);font-size:1.25rem;margin:0 0 var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--azul-400)}.doc__body p{margin:0 0 var(--s3)}.doc__body code{font-family:var(--font-mono);font-size:.85em;background:color-mix(in srgb,var(--azul-400) 14%,transparent);padding:1px 5px;border-radius:5px}.doc__body ul{margin:0 0 var(--s3);padding-inline-start:var(--s5)}.doc__body li{margin-bottom:var(--s2)}.glossary{margin:0}.glossary__item{padding:var(--s4) 0;border-bottom:1px solid var(--line)}.glossary__term{font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:var(--azul-900)}[data-theme=dark] .glossary__term{color:var(--azul-600)}.glossary__alt{font-family:var(--font-sans);font-weight:400;color:var(--ink-soft);font-size:.9rem}.glossary__def{margin:var(--s2) 0 0;color:var(--ink)}:where(a,button,input,select,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-sm)}#main:focus{outline:none}.skiplink{position:absolute;left:var(--s3);top:-64px;z-index:100;background:var(--azul-600);color:#fff;padding:var(--s2) var(--s4);border-radius:var(--radius-sm);transition:top .15s ease}.skiplink:focus{top:var(--s3)}@media print{.nav,.header__tools,.skiplink,.actions,.btn--ghost,.buyer__remove,.flash,.field__hint,.footer__link,.sharebox{display:none!important}body{background:#fff;color:#000;font-size:11pt}.app{display:block}.header,.main,.footer{padding:0;max-width:none}.header{border-bottom:1.5pt solid #000;margin-bottom:14pt;padding-bottom:6pt}.header__mark{display:none}.panel,.buyer,.tile{border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important}.panel:before,.tile:before{display:none!important}.calculator{display:block}.panel{margin-bottom:16pt}.panel--results{position:static;border-top:1pt solid #000!important;padding-top:10pt!important}.panel__title,.breakdown__title{font-family:var(--font-sans);font-size:12pt;border:0}.field{flex-direction:row;align-items:baseline;gap:8pt;margin-bottom:3pt}.field__label{min-width:150pt;color:#000}.select,.num__input{border:0!important;background:none!important;padding:0!important;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:inherit;color:#000}.num__suffix{position:static;margin-left:2pt}.segmented{border:0!important;display:inline}.segmented__option{display:none!important}.segmented__option[aria-pressed=true]{display:inline!important;background:none!important;color:#000!important;font-weight:700;padding:0!important;border:0!important}.form__grid,.buyer__grid,.mortgage__grid{display:block}.tiles{display:block;margin:6pt 0}.tile{display:flex;justify-content:space-between;min-height:0;padding:3pt 0!important;border-bottom:.5pt solid #999!important}.tile__label{text-transform:none;letter-spacing:0;font-size:11pt;font-weight:400}.tile__value{font-size:11pt;white-space:nowrap;color:#000!important}.tile--total .tile__label,.tile--total .tile__value{font-weight:700;font-size:12pt}.badge,.tag{border:0;background:none;color:#000;padding:0}a{color:#000;text-decoration:none}}@media (max-width: 900px){.calculator{grid-template-columns:1fr}.panel--results{position:static}}@media (max-width: 560px){.form__cols,.mortgage__grid,.buyer__grid{grid-template-columns:1fr}.header{gap:var(--s3)}.nav{order:3;width:100%;margin-inline-start:0}.tiles{grid-template-columns:1fr}}
