.ui-badge{letter-spacing:.02em;border-radius:999px;width:fit-content;margin:0;padding:.35rem .7rem;font-size:.78rem;font-weight:700}.ui-badge--neutral{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink-muted)}.ui-badge--excellent{background:color-mix(in srgb, var(--good) 22%, transparent);color:color-mix(in srgb, var(--good) 70%, var(--ink))}.ui-badge--good{background:color-mix(in srgb, var(--accent) 28%, transparent);color:color-mix(in srgb, var(--accent) 55%, var(--ink))}.ui-badge--elevated{background:color-mix(in srgb, var(--warn) 24%, transparent);color:color-mix(in srgb, var(--warn) 55%, var(--ink))}.ui-badge--high{background:color-mix(in srgb, var(--bad) 22%, transparent);color:color-mix(in srgb, var(--bad) 55%, var(--ink))}.ui-button{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);font:inherit;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;padding:.75rem 1rem;font-size:.88rem;font-weight:600}.ui-button--ghost:hover{background:color-mix(in srgb, var(--surface) 70%, transparent);border-color:var(--line);color:var(--ink)}.ui-button--accent{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.ui-button--accent:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.ui-button--danger:hover{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:color-mix(in srgb, var(--bad) 12%, transparent)}.ui-checkbox{align-items:center;gap:var(--space-2);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.95rem;font-weight:550;display:inline-flex}.ui-checkbox--muted{color:var(--ink-muted);font-size:.86rem;line-height:1.35}.ui-checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--accent);flex-shrink:0}.ui-input{border:1.5px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 88%, white);width:100%;color:var(--ink);font:inherit;letter-spacing:-.01em;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background var(--duration-fast) ease;outline:none;font-weight:600}.ui-input--md{padding:.85rem .95rem;font-size:1.05rem}.ui-input--lg{padding:.95rem 1rem;font-size:1.15rem}.ui-input::placeholder{color:var(--ink-faint);font-weight:500}.ui-input:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.ui-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent)}.ui-text{margin:0}.ui-text--title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;line-height:1.1}.ui-text--lede{margin-top:var(--space-2);color:var(--ink-muted);font-size:1.02rem;line-height:1.55}.ui-text--section{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);font-size:.78rem;font-weight:650}.ui-text--label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.82rem;font-weight:650}.ui-text--body{color:var(--ink);line-height:1.5}.ui-text--muted{color:var(--ink-muted);line-height:1.5}.ui-text--meta{color:var(--ink-muted);font-size:.86rem;line-height:1.4}.ui-text--metric{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:clamp(2.4rem,7vw,3.4rem);font-weight:800;line-height:1}.ui-text--metricUnit{font-family:var(--font-display);color:var(--ink-soft);font-size:1.4rem;font-weight:700}.ui-text--rowTitle{letter-spacing:-.015em;font-weight:700}.ui-text--rowValue{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;font-size:1.35rem;font-weight:750}.ui-label{display:inline-block}.ui-meter{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:999px;height:8px;overflow:hidden}.ui-meter__fill{border-radius:inherit;height:100%;transition:width .42s var(--ease-out), background var(--duration-med) ease}.ui-meter__fill--excellent{background:var(--good)}.ui-meter__fill--good{background:var(--accent)}.ui-meter__fill--elevated{background:var(--warn)}.ui-meter__fill--high{background:var(--bad)}.ui-stack{display:grid}.ui-stack--gap-sm{gap:var(--space-2)}.ui-stack--gap-md{gap:var(--space-3)}.ui-stack--gap-lg{gap:var(--space-4)}.ui-stack--gap-xl{gap:var(--space-6)}@media (width>=480px){.ui-stack--cols-2{grid-template-columns:1fr 1fr}}@media (width>=560px){.ui-stack--cols-auto-2{grid-template-columns:1.2fr 1fr;align-items:end}.ui-stack--cols-balance-2{grid-template-columns:1fr 1fr}.ui-stack--cols-part-grid{grid-template-columns:1.4fr .8fr;align-items:start}}@media (width>=640px){.ui-stack--cols-form-2{grid-template-columns:1fr 1fr}}.ui-surface--panel{gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 70%, transparent);padding:1.1rem 1rem 1.15rem;display:grid}.ui-surface--result{gap:var(--space-5);border-radius:var(--radius-xl);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-strong) 92%, var(--accent) 8%), var(--surface-strong));border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);padding:1.35rem 1.15rem;display:grid}.ui-surface--result.ui-surface--ready{animation:ui-surface-pop var(--duration-med) var(--ease-out)}.ui-surface--plain{gap:var(--space-3);display:grid}@keyframes ui-surface-pop{0%{transform:scale(.985)}to{transform:scale(1)}}.ui-brand{animation:ui-brand-in .5s var(--ease-out) both;align-items:center;gap:.85rem;display:flex}.ui-brand--compact{gap:.7rem}.ui-brand__mark{background:radial-gradient(circle at 30% 30%, #e8ff9a, var(--accent) 55%, #6f9a20 100%);width:2.4rem;height:2.4rem;box-shadow:inset 0 0 0 1.5px #ffffff40, 0 8px 20px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:.75rem;flex-shrink:0;animation:4.5s ease-in-out infinite ui-brand-pulse}.ui-brand__name{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:1.55rem;font-weight:800;line-height:1}.ui-brand__tag{color:var(--ink-soft);margin:.2rem 0 0;font-size:.78rem;font-weight:500}@keyframes ui-brand-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-brand-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.ui-breakdown{margin:0;padding:0;list-style:none;display:grid}.ui-breakdown__row{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);padding:.75rem 0;display:flex}.ui-breakdown__row:first-child{border-top:0;padding-top:0}.ui-breakdown__meta{margin-top:.2rem}.ui-field{gap:.45rem;min-width:0;display:grid}.ui-field--grow{flex:1}.ui-metric{gap:.25rem;display:grid}.ui-metric__value{align-items:baseline;gap:.15rem;margin:0;line-height:1;display:flex}.ui-stat{gap:.2rem;display:grid}.ui-stat dt{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);font-size:.75rem;font-weight:650}.ui-stat dd{color:var(--ink);letter-spacing:-.015em;margin:0;font-size:1.05rem;font-weight:650}.ui-stat-group{gap:var(--space-3);margin:0;display:grid}@media (width>=480px){.ui-stat-group--cols-2{grid-template-columns:1fr 1fr}}.ui-shell{--rail-width:17.5rem;--dock-height:4.75rem;isolation:isolate;grid-template-rows:1fr auto;grid-template-columns:1fr;min-height:100dvh;display:grid;position:relative}@media (width>=900px){.ui-shell{grid-template-columns:var(--rail-width) 1fr;grid-template-rows:1fr}}.ui-shell__glow{z-index:-2;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 12% -10%, #c8f5422e, transparent 55%), radial-gradient(ellipse 55% 45% at 95% 15%, #3ea88429, transparent 50%), radial-gradient(ellipse 50% 40% at 70% 100%, #1c544059, transparent 55%), var(--bg);position:fixed;inset:0}.ui-shell__grain{z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:fixed;inset:0}.ui-shell__rail{border-right:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--surface-strong) 55%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:1.75rem;padding:1.75rem 1.25rem 1.5rem;display:none}@media (width>=900px){.ui-shell__rail{height:100dvh;display:flex;position:sticky;top:0}}.ui-shell__nav{flex:1;align-content:start;gap:.45rem;display:grid}.ui-shell__nav-item{border-radius:var(--radius-md);width:100%;color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) ease;background:0 0;border:1px solid #0000;gap:.15rem;padding:.85rem .9rem;display:grid}.ui-shell__nav-item:hover{background:color-mix(in srgb, var(--surface) 70%, transparent);border-color:var(--line)}.ui-shell__nav-item.is-active{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-color:color-mix(in srgb, var(--accent) 45%, transparent);transform:translate(2px)}.ui-shell__nav-name{color:var(--ink);font-size:.95rem;font-weight:650}.ui-shell__nav-desc{color:var(--ink-muted);font-size:.78rem}.ui-shell__footer{color:var(--ink-faint);margin:0;font-size:.75rem}.ui-shell__stage{min-width:0;padding:1.25rem 1.15rem calc(var(--dock-height) + 1.25rem)}@media (width>=900px){.ui-shell__stage{padding:clamp(2rem,5vw,3.5rem)}}.ui-shell__stage-inner{width:min(100%,54rem);margin-inline:auto}.ui-shell__mobile-brand{margin-bottom:1.35rem}@media (width>=900px){.ui-shell__mobile-brand{display:none}}.ui-shell__dock{z-index:20;padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:.35rem;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=900px){.ui-shell__dock{display:none}}.ui-shell__dock-item{border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;background:0 0;border:0;flex:1;justify-items:center;gap:.1rem;padding:.55rem .4rem;display:grid}.ui-shell__dock-item.is-active{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--ink);transform:translateY(-1px)}.ui-shell__dock-short{font-family:var(--font-display);letter-spacing:-.02em;font-size:.95rem;font-weight:750}.ui-shell__dock-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:500;overflow:hidden}.ui-table-wrap{-webkit-overflow-scrolling:touch;margin-inline:-.25rem;padding-bottom:.25rem;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:.9rem}.ui-table th,.ui-table td{text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent);white-space:nowrap;padding:.7rem .65rem}.ui-table thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.72rem;font-weight:650}.ui-table tbody th{color:var(--ink);font-weight:650}.ui-table__primary{letter-spacing:-.015em;font-weight:700;display:block}.ui-table__secondary{color:var(--ink-muted);margin-top:.15rem;font-size:.75rem;display:block}.ui-table__strong{font-weight:750}.ui-result-panel{align-content:start;min-height:8rem}.ui-widget-frame{animation:ui-widget-in .42s var(--ease-out) both}.ui-widget-frame__intro{max-width:38rem}@keyframes ui-widget-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.financing__layout{gap:var(--space-4);display:grid}@media (width>=900px){.financing__layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}}.financing__inputs{align-content:start}.financing__computed{border-radius:var(--radius-md);background:color-mix(in srgb, var(--good) 12%, transparent);border:1px solid color-mix(in srgb, var(--good) 28%, transparent);gap:.35rem;padding:.85rem .95rem;display:grid}.financing__computed--accent{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.financing__rates{margin-top:.35rem}.financing__compare{gap:.15rem;display:grid}.financing__compare-head,.financing__compare-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr);align-items:center;gap:.75rem;display:grid}.financing__compare-head{border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.2rem;padding-bottom:.55rem;font-size:.72rem;font-weight:650}.financing__compare-head span:not(:first-child),.financing__compare-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.financing__compare-row{color:var(--ink);border-radius:10px;padding:.55rem .35rem;font-size:.92rem}.financing__compare-row--emphasize{font-weight:700}.financing__compare-row--highlight{background:color-mix(in srgb, var(--good) 14%, transparent)}.financing__schedule-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.financing__schedule-toggle{gap:.45rem;display:flex}.financing__reveal{justify-self:start;margin-top:.35rem}.ltv__headline{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1rem;display:flex}.mortgage__part-head{align-items:end;gap:.75rem;display:flex}.mortgage__add{justify-self:start}.mortgage__section{margin-bottom:.75rem}:root{--font-display:"Bricolage Grotesque", Georgia, serif;--font-body:"Figtree", system-ui, sans-serif;--bg:#0f1c14;--surface:#173023;--surface-strong:#13271c;--ink:#eef6ef;--ink-muted:#c5d6cb;--ink-soft:#a8bdb0;--ink-faint:#87a090;--line:#c8f54224;--accent:#c8f542;--accent-ink:#24320a;--good:#5ee0a0;--warn:#f0c35a;--bad:#ff8b7a;--radius-sm:12px;--radius-md:14px;--radius-lg:18px;--radius-xl:20px;--space-1:.35rem;--space-2:.65rem;--space-3:.85rem;--space-4:1rem;--space-5:1.35rem;--space-6:clamp(1.5rem, 4vw, 2.25rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.18s;--duration-med:.38s;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink);background:var(--bg)}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
