.crumbs{display:flex;flex-wrap:wrap;gap:0 8px;font-size:.875rem;color:var(--ds-text-3);margin-bottom:16px}.crumbs a{color:var(--ds-text-2);text-decoration:none;padding-block:12px}.crumbs span{padding-block:12px}.crumbs a:hover{color:var(--ds-accent)}
.th{padding-block:clamp(36px,5vw,72px) clamp(24px,3vw,40px);max-width:820px}
.th>*{animation:rise var(--ds-dur-4) var(--ds-ease-out) both}.th>*:nth-child(2){animation-delay:70ms}.th>*:nth-child(3){animation-delay:140ms}.th>*:nth-child(4){animation-delay:210ms}
.th .lead{margin-top:16px}.priv{margin-top:14px;font-size:.9375rem;color:var(--ds-text-2);display:flex;gap:8px;align-items:flex-start}.priv svg{flex:none;width:17px;height:17px;margin-top:.3em;color:var(--ds-accent)}
.num{font:500 1.0625rem var(--ds-font-body);min-height:48px;padding:0 12px;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-md);background-color:var(--ds-surface);color:var(--ds-text);width:100%;font-variant-numeric:tabular-nums;transition:border-color var(--ds-dur-1) ease-out,box-shadow var(--ds-dur-1) ease-out}
.num:focus{border-color:var(--ds-accent);box-shadow:0 0 0 4px var(--ds-accent-wash);outline:0}
.long{max-width:760px}.long h2{font-size:clamp(1.5rem,1.25rem + 1.1vw,2.25rem);margin-block:clamp(40px,5vw,64px) 14px}.long h3{margin-block:28px 8px}.long p{color:var(--ds-text-2);line-height:1.85;margin-top:10px}
.fm{direction:ltr;text-align:left;font:500 .875rem/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;background-color:var(--ds-surface-2);border-radius:var(--ds-radius-sm);padding:16px 18px;margin:14px 0;overflow-x:auto;max-width:100%;white-space:pre}
.cav{border-inline-start:2px solid var(--ds-border-strong);padding-inline-start:16px}.cav b{color:var(--ds-text);font-weight:600}
.closeb{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;background-color:var(--ds-accent-wash);border-radius:var(--ds-radius-xl);padding:clamp(28px,5vw,56px);margin-top:clamp(48px,7vw,96px)}
.closeb h2{font-size:clamp(1.5rem,1.25rem + 1.1vw,2.25rem)}.closeb p{margin-top:10px;color:var(--ds-text-2);max-width:56ch;line-height:1.8}
@media (max-width:560px){.closeb .btn{flex:1 1 100%}}
/* The calculator reads as a statement: each cost is a line taken off the price, so the subtraction itself explains the result. */
.pc{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,5vw,72px);align-items:start}
.led{border:1px solid var(--ds-border);border-radius:var(--ds-radius);min-width:0}
.led h2{font-size:1.25rem;padding:18px clamp(16px,3vw,28px);border-bottom:1px solid var(--ds-border)}
.lr{display:grid;grid-template-columns:18px minmax(0,1fr) 124px;gap:4px 8px;align-items:center;padding:12px clamp(16px,3vw,28px);border-bottom:1px solid var(--ds-border);font-size:.9375rem;font-weight:500}
.lr em{font-style:normal;color:var(--ds-text-3);font-weight:600}
.lr small{display:block;font-weight:400;color:var(--ds-text-3);font-size:.8125rem;line-height:1.6}
.lb{grid-column:2/-1;display:block;height:3px;border-radius:2px;background-color:var(--ds-surface-2)}
.lb i{display:block;height:100%;border-radius:2px;background-color:var(--ds-chart-1);transition:width var(--ds-dur-3) var(--ds-ease-out)}
.sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px clamp(16px,3vw,28px);border-bottom:1px solid var(--ds-border);background-color:var(--ds-surface-2);font-weight:600}
.sum b{font:600 1.125rem var(--ds-font-display);font-variant-numeric:tabular-nums;white-space:nowrap}
.netb{position:sticky;bottom:8px;z-index:5;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 20px;background-color:var(--ds-ink);color:var(--ds-ink-text);border-radius:var(--ds-radius-sm);margin:10px;padding:14px clamp(14px,2.5vw,24px)}
.pg[data-theme="dark"] .netb{box-shadow:inset 0 0 0 1px var(--ds-ink-line)}
.netb small{display:block;color:var(--ds-ink-text-2);font-size:.8125rem}
.netb .v{font:600 clamp(1.75rem,1.4rem + 1.6vw,2.75rem)/1.15 var(--ds-font-display);font-variant-numeric:tabular-nums;transition:color var(--ds-dur-2) ease-out}
.netb .mg{font:600 1.25rem var(--ds-font-display);color:#fff;font-variant-numeric:tabular-nums}
.rd{padding:6px clamp(16px,3vw,28px) 20px;color:var(--ds-text-2);line-height:1.8;font-size:.9375rem}
.forgot{position:sticky;top:100px}.forgot h2{font-size:clamp(1.3rem,1.15rem + .7vw,1.75rem);margin-bottom:8px}
.forgot div{padding-block:16px;border-bottom:1px solid var(--ds-border)}.forgot b{font-weight:600;display:block}.forgot p{color:var(--ds-text-2);font-size:.9375rem;margin-top:4px;line-height:1.7}
@supports (animation-timeline:view()){.long>*,.closeb,.forgot>div{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 30%}}
@media (max-width:1020px){.pc{grid-template-columns:minmax(0,1fr)}.forgot{position:static}}
@media (max-width:560px){.lr{grid-template-columns:18px minmax(0,1fr) 104px}}

