/* A compact, accessible cost worksheet in the residence's existing palette. */
.hero-cost-link {margin-top:8px;font-size:.875rem;font-weight:600;line-height:1.6}
.hero-cost-link a,.leasing-cost-link {display:inline-flex;align-items:center;min-height:44px}
.leasing-cost-link {margin-top:14px}
.cost-section {border-bottom:1px solid var(--line)}
.cost-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cost-inclusions {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.cost-inclusions li {display:flex;align-items:center;gap:13px;min-width:0;padding:14px 16px;border:1px solid #d5c8ad;background:#f0ebdd;font-size:.875rem;line-height:1.5}
.cost-inclusions li>span {flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border:1px solid #b7c2aa;border-radius:50%;color:var(--pine)}
.cost-inclusions strong {display:block;font-size:1rem;color:var(--ink);font-weight:700;line-height:1.45}
.cost-inclusions li>div {min-width:0}
.cost-inclusions li>div>span {display:block;font-size:.75rem;line-height:1.5;margin-top:4px;color:var(--blue)}
.cost-calculator {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #c6b28a;box-shadow:0 15px 45px #3b342412}
.cost-options-panel,.cost-results-panel {min-width:0;padding:clamp(22px,3vw,32px)}
.cost-options-panel {background:linear-gradient(130deg,#fffcf5,#f0eadd)}
.cost-options-panel>h3 {font-family:var(--serif);font-size:2rem;font-weight:400;letter-spacing:-.035em}
.cost-options-intro {color:var(--muted);font-size:.9375rem;margin-top:7px}
.cost-controls,.cost-cat-picker {border:0;padding:0;min-inline-size:0;margin:0}
.cost-controls {margin-top:22px}
.cost-cat-picker legend {font-size:.9375rem;font-weight:600;line-height:1.6;padding:0}
.cost-cat-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.cost-cat-options label {position:relative;cursor:pointer;min-width:0}
.cost-cat-options input {position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.cost-cat-options span {display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 6px;background:#fffdf7;border:1px solid #acb49e;font-size:.9375rem;line-height:1.5}
.cost-cat-options input:checked+span {background:var(--pine);border-color:var(--pine);color:white;box-shadow:inset 0 -3px var(--gold)}
.cost-cat-options input:focus-visible+span {outline:3px solid var(--brass);outline-offset:4px}
.cost-cat-options label:hover span {border-color:var(--brass)}
.cost-hint {font-size:.8125rem;line-height:1.7;color:var(--muted);margin-top:10px}
.cost-autopay-choice {display:flex;align-items:flex-start;gap:13px;min-height:48px;margin:18px 0;padding-block:16px;border-block:1px solid #d5cbb7;cursor:pointer}
.cost-autopay-choice>input {flex-shrink:0;width:23px;height:23px;margin:1px 0 0;accent-color:var(--pine);cursor:pointer}
.cost-autopay-choice strong {display:block;font-size:.9375rem;line-height:1.6}
.cost-autopay-choice>span>span {display:block;font-size:.8125rem;line-height:1.65;color:var(--muted);margin-top:4px}
.cost-applicants-control {display:flex;align-items:center;justify-content:space-between;gap:16px}
.cost-applicants-control label {font-size:.9375rem;line-height:1.6;font-weight:600}
.cost-applicants-control label>span {display:block;font-size:.8125rem;font-weight:400;color:var(--muted);margin-top:4px}
.cost-applicants-control input {font:inherit;font-size:16px;line-height:1.5;flex-shrink:0;width:84px;min-height:48px;border:1px solid #acb49e;border-radius:0;padding:10px;color:var(--pine);background:#fffdf7}
.cost-controls input:focus-visible {outline:3px solid var(--brass);outline-offset:4px}
.cost-controls input[aria-invalid=true] {border-color:#9c3527}
.cost-input-error {color:#8a3023;font-size:.8125rem;line-height:1.6;margin-top:10px}
.cost-other-costs {margin-top:20px;padding:16px;border-left:2px solid var(--brass);background:#e6e9df}
.cost-other-costs h4 {margin:0;font-size:.875rem;line-height:1.6;font-weight:600}
.cost-other-costs p {margin-top:7px;font-size:.8125rem;line-height:1.7;color:var(--muted)}
.cost-other-costs a {color:var(--pine);font-weight:600}
.cost-results-panel {color:#faf7ed;background:radial-gradient(ellipse at top right,#4b66564d,transparent 70%),var(--pine)}
.cost-results-panel>.eyebrow {color:var(--gold);font-size:.75rem}
.cost-total {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-top:16px;line-height:1.2;font-variant-numeric:tabular-nums}
.cost-total strong {font-family:var(--serif);font-size:clamp(2.75rem,5vw,4.5rem);font-weight:400;letter-spacing:-.045em;line-height:1.1}
.cost-total>span {font-size:1rem;color:#e2e5d8}
.cost-term-note {font-size:.8125rem;line-height:1.8;color:#e2e5d8;margin-top:14px}
.cost-breakdown {margin:16px 0 0}
.cost-breakdown>div {display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-block:10px;border-top:1px solid #adc1ac45;font-size:.875rem;line-height:1.6}
.cost-breakdown dt {min-width:0;color:#e2e5d8}
.cost-breakdown dd {flex-shrink:0;margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.cost-upfront {margin-top:20px;padding-top:20px;border-top:1px solid #d4bb825e}
.cost-upfront h3 {font-family:var(--serif);font-size:1.6rem;letter-spacing:-.02em}
.cost-upfront>p {font-size:.8125rem;line-height:1.7;color:#e2e5d8;margin-top:5px}
.cost-upfront .cost-breakdown {margin-top:16px}
.cost-breakdown .cost-deposit-total {border-top-color:#d9c39480}
.cost-deposit-total dt {font-weight:600;color:var(--gold)}
.cost-payment-note {font-size:.75rem;color:#e2e5d8;line-height:1.75;margin-top:18px}
.cost-results-panel>.button {margin-top:23px;width:100%;font-size:.875rem}
.cost-results-panel :focus-visible {outline-color:var(--gold)}
.cost-eligibility {color:var(--muted);font-size:.8125rem;line-height:1.75;margin-top:20px;max-width:1000px}
@media(max-width:1000px) {
  .cost-inclusions {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
  .cost-calculator {grid-template-columns:minmax(0,1fr)}
  .cost-options-panel,.cost-results-panel {padding:24px}
  .cost-total strong {font-size:3.5rem}
}
@media(max-width:420px) {
  .cost-inclusions {gap:10px}
  .cost-inclusions li {gap:8px;padding:14px 10px;font-size:.8125rem}
  .cost-inclusions li>span {width:22px;height:22px}
  .cost-options-panel,.cost-results-panel {padding:22px 18px}
  .cost-cat-options {gap:8px}
  .cost-cat-options span {font-size:.875rem}
  .cost-breakdown>div {gap:12px}
}
