.presale-candidate-context{margin:.65rem 0 0;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-soft);line-height:1.6}.presale-fieldset{display:grid;gap:1rem;margin:1.25rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.presale-fieldset legend{padding:0 .35rem;font-size:1.05rem;font-weight:900}.presale-fieldset>.field-note,.presale-interim-dates>p{margin:0;color:var(--muted);line-height:1.6}.presale-interim-dates{display:grid;gap:.75rem}.presale-interim-dates h3{margin:0;font-size:1rem}.presale-visual,.presale-calendar{display:grid;gap:1rem;margin-top:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-soft)}.presale-visual :is(h3,p),.presale-calendar :is(h3,p){margin:0}.presale-visual>div:first-child,.presale-calendar>div:first-child{display:grid;gap:.35rem}.presale-visual>div:first-child>p:last-child,.presale-calendar>div:first-child>p:last-child{color:var(--muted);line-height:1.6}.presale-funding-tower{display:flex;align-items:end;justify-content:center;min-height:18rem;padding:1.5rem 1rem 1rem;perspective:700px}.presale-funding-stack{display:flex;flex-direction:column-reverse;width:min(11rem,52vw);height:16rem;filter:drop-shadow(1rem 1rem .8rem color-mix(in srgb,var(--ink) 18%,transparent));transform:rotateY(-18deg) rotateX(4deg);transform-style:preserve-3d}.presale-funding-segment{min-height:.65rem;border:1px solid color-mix(in srgb,var(--ink) 34%,transparent);background:var(--brand)}.presale-funding-segment--loan{background:#d97706}.presale-funding-segment--savings{background:#16a34a}.presale-funding-segment--gap{background:#dc2626}.presale-funding-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0}.presale-funding-legend>div{display:grid;grid-template-columns:auto 1fr;gap:.25rem .55rem;padding:.7rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface)}.presale-funding-legend>div::before{content:"";grid-row:1/3;width:.8rem;border-radius:999px;background:var(--brand)}.presale-funding-legend>div[data-kind="loan"]::before{background:#d97706}.presale-funding-legend>div[data-kind="savings"]::before{background:#16a34a}.presale-funding-legend>div[data-kind="gap"]::before{background:#dc2626}.presale-funding-legend :is(dt,dd){margin:0}.presale-funding-legend dt{font-weight:800}.presale-funding-legend dd{color:var(--muted)}.presale-calendar [data-payment-months]{display:grid;gap:.8rem}.presale-calendar-month{display:grid;gap:.6rem;padding:.85rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}.presale-calendar-month h4{margin:0;font-size:1rem}.presale-calendar-events{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.presale-calendar-event{display:grid;grid-template-columns:minmax(5.5rem,.65fr) minmax(7rem,1fr) minmax(7rem,1fr);gap:.6rem;padding:.65rem;border-radius:.7rem;background:var(--surface-soft);line-height:1.5}.presale-calendar-event strong:nth-of-type(2){text-align:end}.presale-calendar-event--inflow strong:nth-of-type(2){color:#087f5b}.presale-calendar-event--outflow strong:nth-of-type(2){color:#b42318}.presale-calendar-balance{grid-column:1/-1;color:var(--muted);font-size:.9rem}.presale-calendar-balance[data-negative="true"]{color:#b42318;font-weight:800}
@media (max-width:42rem){[data-real-estate-presale] .page-hero{padding-block:.75rem 1.5rem}[data-real-estate-presale] .page-hero h1{font-size:clamp(2.05rem,11vw,2.75rem);line-height:1.05}[data-real-estate-presale] .page-hero p{margin-top:.75rem}[data-real-estate-presale] .calculator-header{padding:1.1rem}.presale-fieldset,.presale-visual,.presale-calendar{padding:.85rem}.presale-funding-legend{grid-template-columns:1fr}.presale-calendar-event{grid-template-columns:1fr 1fr}.presale-calendar-event strong:nth-child(2){text-align:end}.presale-calendar-event strong:nth-of-type(2){grid-column:1/-1;text-align:start}.presale-funding-stack{height:13rem}.presale-funding-tower{min-height:15rem}}
@media (prefers-reduced-motion:reduce){.presale-funding-stack{transform:none}}
[data-presale-result] .utility-result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.presale-calendar,.presale-visual{color:var(--ink)}
.presale-calendar-event strong:nth-of-type(2){white-space:nowrap;font-variant-numeric:tabular-nums}
[data-theme="dark"] .presale-calendar-event--inflow strong:nth-of-type(2){color:#6ee7b7}
[data-theme="dark"] :is(.presale-calendar-event--outflow strong:nth-of-type(2),.presale-calendar-balance[data-negative="true"]){color:#fda4af}
