/* Tool-only styles. Shared/core styles belong in site.css. */
.bonus-tool-page{overflow-wrap:anywhere}

/* Bonus Calculator + shared Rent structure */
.bonus-tool-hero,.rent-tool-hero{padding:28px 0 30px;background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.bonus-tool-hero-copy>p:first-of-type,.rent-tool-hero-copy>p:first-of-type{max-width:var(--article-width);margin:var(--space-3-5) 0 0;color:var(--color-copy);font-size:var(--text-body);line-height:var(--leading-loose);text-wrap:pretty}
.bonus-tool-reviewed,.rent-tool-reviewed{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1-5);margin:var(--space-3-5) 0 0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.bonus-tool-reviewed strong,.rent-tool-reviewed strong{color:inherit;font-size:inherit;font-weight:700;letter-spacing:normal;text-transform:none}
.bonus-tool-body,.rent-tool-body{padding-block:var(--space-12)}
.bonus-calculator-section>h2,.rent-calculator-section>h2{margin-bottom:var(--space-4)}
.bonus-calculator-fallback,.rent-calculator-fallback{margin:var(--space-4) 0 0;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-frost);color:var(--color-copy)}
.tool-js .bonus-calculator-fallback,.tool-js .rent-calculator-fallback{display:none}
.tool-js .bonus-calculator[inert],.tool-js .rent-calculator[inert]{display:grid}
.bonus-calculator{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);align-items:start;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-6);border:0;border-radius:var(--radius-field);background:var(--color-frost)}
.bonus-calculator[inert],.rent-calculator[inert]{display:none}
.bonus-calculator-form,.bonus-calculator-result,.rent-calculator-form,.rent-calculator-result{min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.bonus-form-row-paired{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bonus-form-row-paired>.bonus-calculator-field{align-content:start}
.bonus-form-row+.bonus-calculator-field{margin-top:18px}
.bonus-calculator-result,.rent-calculator-result{align-self:start;transition:border-color .18s ease}
.bonus-calculator-result:has([data-bonus-result-empty]:not([hidden])),.bonus-calculator-result:has([data-bonus-result-stale]:not([hidden])),.rent-calculator-result:has([data-rent-result-empty]:not([hidden])){border-color:var(--color-aqua-border)}
.bonus-calculator-result:has(.bonus-result-content.is-positive:not([hidden])),.rent-calculator-result:has(.rent-result-content.is-positive:not([hidden])){border-color:var(--color-pine-border)}
.bonus-calculator-result:has(.bonus-result-content.is-negative:not([hidden])),.rent-calculator-result:has(.rent-result-content.is-negative:not([hidden])){border-color:var(--color-negative-border)}
.bonus-calculator-result:has(.bonus-result-content.is-neutral:not([hidden])),.rent-calculator-result:has(.rent-result-content.is-neutral:not([hidden])){border-color:var(--color-border)}
.bonus-calculator-field,.rent-calculator-field{display:grid;gap:7px}
.bonus-calculator-field label,.rent-calculator-field label{font-size:var(--text-card);font-weight:750}
.bonus-calculator-field small,.rent-calculator-field small{color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.bonus-input-shell,.rent-input-shell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:48px;border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:var(--color-canvas);transition:border-color .18s ease,background-color .18s ease}
@media(hover:hover) and (pointer:fine){.bonus-input-shell:hover,.rent-input-shell:hover{border-color:var(--color-pine)}}
.bonus-input-shell>span,.rent-input-shell>span{display:flex;align-items:center;min-height:46px;padding-left:13px;color:var(--color-muted);font-weight:750;line-height:var(--leading-none)}
.bonus-input-shell input,.rent-input-shell input{width:100%;min-height:46px;padding:9px var(--space-3);border:0;background:transparent;color:var(--color-ink);font-variant-numeric:tabular-nums;caret-color:var(--color-pine);appearance:none;-webkit-appearance:none}
.bonus-input-shell input::placeholder,.rent-input-shell input::placeholder{color:var(--color-muted);opacity:1}
.bonus-input-shell input:focus-visible,.rent-input-shell input:focus-visible{outline:0}
.bonus-input-shell:focus-within,.rent-input-shell:focus-within{border-color:var(--color-pine);box-shadow:inset 0 0 0 1px var(--color-pine)}
.bonus-input-shell:has(input[aria-invalid="true"]),.rent-input-shell:has(input[aria-invalid="true"]){border-color:var(--color-negative)}
.bonus-input-shell:has(input[aria-invalid="true"]:focus-visible),.rent-input-shell:has(input[aria-invalid="true"]:focus-visible){border-color:var(--color-negative);box-shadow:inset 0 0 0 1px var(--color-negative)}
@media(forced-colors:active){
  .bonus-input-shell:focus-within,.rent-input-shell:focus-within{outline:2px solid Highlight;outline-offset:2px}
}
.bonus-input-shell-suffix,.rent-input-shell-suffix{grid-template-columns:minmax(0,1fr) auto}
.bonus-input-shell-suffix>span,.rent-input-shell-suffix>span{padding:0 13px 0 0}
.bonus-calculator-field input[aria-invalid="true"],.rent-calculator-field input[aria-invalid="true"]{color:var(--color-negative)}
.bonus-calculator-field .bonus-field-error,.rent-calculator-field .rent-field-error{color:var(--color-negative);font-weight:700}
.bonus-advanced,.rent-advanced{margin-top:var(--space-5);padding-top:18px;border-top:1px solid var(--color-border)}
.bonus-advanced summary,.rent-advanced summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3-5);min-height:var(--touch-target-min);cursor:pointer;list-style:none}
.bonus-advanced summary::-webkit-details-marker,.rent-advanced summary::-webkit-details-marker{display:none}
.bonus-advanced summary::marker,.rent-advanced summary::marker{content:""}
.bonus-advanced-summary-copy,.rent-advanced-summary-copy{display:flex;min-width:0;align-items:baseline;flex-wrap:wrap;gap:3px var(--space-2-5)}
.bonus-advanced-summary-copy strong,.rent-advanced-summary-copy strong{color:var(--color-ink);font-size:var(--text-body);font-weight:800}
.bonus-advanced-summary-copy>span:not(.badge-info),.rent-advanced-summary-copy>span{color:var(--color-muted);font-size:var(--text-sm);font-weight:400}
.bonus-advanced-summary-copy .badge-info{color:var(--color-aqua);font-size:var(--text-xs);font-weight:750}
.bonus-advanced-fields,.rent-advanced-fields{margin-top:18px}
.bonus-currency-note{margin:18px 0 0;color:var(--color-muted);font-size:var(--text-sm)}
.bonus-calculator-submit,.rent-calculator-submit{width:100%;min-height:50px;margin-top:var(--space-5);border-radius:var(--radius-button)}
.bonus-calculator-result h3,.rent-calculator-result h3{margin-bottom:18px}
.bonus-result-empty-guide{display:grid;gap:18px;padding-top:2px}
.bonus-result-empty-lede{margin:0;color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-loose)}
.bonus-result-empty-list{display:grid;gap:0;border-top:1px solid var(--color-aqua-border)}
.bonus-result-empty-item{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--space-2-5);row-gap:2px;padding:var(--space-3-5) 0;border-bottom:1px solid var(--color-aqua-border)}
.bonus-result-empty-item>div{display:contents}
.bonus-result-empty-icon{display:grid;grid-column:1;grid-row:1;place-items:center;align-self:center;width:30px;height:30px;border:1px solid var(--color-aqua-border);border-radius:50%;background:var(--color-canvas);color:var(--color-aqua)}
.bonus-result-empty-icon svg{display:block;width:20px;height:20px;transform:translateY(-2px)}
.bonus-result-empty-item strong,.bonus-result-empty-item div>span{display:block}
.bonus-result-empty-item strong{grid-column:2;grid-row:1;align-self:center;color:var(--color-ink);font-size:var(--text-card);line-height:var(--leading-normal)}
.bonus-result-empty-item div>span{grid-column:2;grid-row:2;color:var(--color-copy);font-size:var(--text-xs);line-height:var(--leading-relaxed)}
.bonus-result-state-message{margin:0;color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-loose)}
.bonus-result-error,.rent-result-error{color:var(--color-negative);font-weight:700}
.bonus-result-label,.rent-result-state{margin:0;color:var(--color-ink);font-size:var(--text-xs);font-weight:850;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.bonus-result-value{margin:var(--space-1-5) 0 var(--space-3);color:var(--color-ink);font-size:clamp(2.6rem,5vw,3.7rem);line-height:var(--leading-none);font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.bonus-result-content.is-positive .bonus-result-label,.bonus-result-content.is-positive .bonus-result-value{color:var(--color-pine)}
.bonus-result-content.is-negative .bonus-result-label,.bonus-result-content.is-negative .bonus-result-value{color:var(--color-negative)}
.bonus-result-content.is-neutral .bonus-result-label,.bonus-result-content.is-neutral .bonus-result-value{color:var(--color-ink)}
.bonus-result-assumptions{margin:0 0 18px;color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);font-variant-numeric:tabular-nums}
.bonus-result-metrics,.rent-result-empty-metrics,.rent-result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--color-border)}
.bonus-result-metrics div{padding:var(--space-4) var(--space-3) var(--space-4) 0}
.bonus-result-metrics div+div,.rent-result-empty-metrics div+div,.rent-result-metrics div+div{padding-left:18px;border-left:1px solid var(--color-border)}
.bonus-result-metrics strong,.bonus-result-metrics span{display:block}
.bonus-result-metrics strong,.rent-result-empty-metrics strong,.rent-result-metrics strong{color:var(--color-ink);font-size:var(--text-h3);font-variant-numeric:tabular-nums}
.bonus-result-metrics span{margin-top:3px;color:var(--color-copy);font-size:var(--text-sm)}
.bonus-result-breakdown,.rent-result-breakdown{margin:18px 0 0}
.bonus-result-breakdown div,.rent-result-breakdown div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-5);padding:var(--space-2-5) 0;border-bottom:1px solid var(--color-border)}
.bonus-result-breakdown dt,.rent-result-breakdown dt{color:var(--color-copy)}
.bonus-result-breakdown dd,.rent-result-breakdown dd{margin:0;font-weight:750;font-variant-numeric:tabular-nums;text-align:right}
.bonus-result-breakdown dd.is-deduction{color:var(--color-negative)}
.bonus-negative-note{margin:var(--space-4) 0 0;color:var(--color-negative);font-size:var(--text-card)}
.bonus-method-equation>strong,.rent-method-equation>strong{display:block;color:var(--color-ink);font-size:var(--text-card)}
.bonus-method-equation>h3{margin-bottom:var(--space-2)}
.bonus-method-equation-intro,.bonus-methodology-intro,.rent-referral-intro,.rent-methodology-intro,.rent-example-intro{max-width:var(--article-width)}
.bonus-method-equation-intro{margin:0 0 var(--space-4)}
.bonus-method-equation-card{padding-block:var(--space-5)}
.bonus-method-equation-flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:stretch;gap:var(--space-2)}
.bonus-method-equation-step{display:grid;min-width:0;min-height:96px;place-items:center;align-content:center;gap:var(--space-2);padding:var(--space-2-5);color:var(--color-ink);font-size:var(--text-card);font-weight:750;text-align:center}
.bonus-method-equation-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-frost);color:var(--color-ink)}
.bonus-method-equation-icon svg{display:block;width:26px;height:26px}
.bonus-method-equation-step.is-info .bonus-method-equation-icon{border-color:var(--color-aqua-border);background:var(--color-aqua-wash);color:var(--color-aqua)}
.bonus-method-equation-step.is-deduction .bonus-method-equation-icon,.rent-method-equation-step-costs .rent-method-equation-icon{border-color:var(--color-negative-border);background:var(--color-negative-wash);color:var(--color-negative)}
.bonus-method-equation-step.is-result .bonus-method-equation-icon,.rent-method-equation-step-result .rent-method-equation-icon{border-color:var(--color-pine-border);background:var(--color-pine-wash);color:var(--color-pine)}
.bonus-method-equation-flow b{display:grid;place-items:center;width:28px;align-self:start;height:40px;margin-top:var(--space-3);line-height:var(--leading-none);color:var(--color-ink);font-size:var(--text-h3);font-weight:800}
.bonus-method-equation-card>p{margin:var(--space-3-5) 0 0;padding-top:var(--space-3-5);border-top:1px solid var(--color-border);color:var(--color-copy);font-size:var(--text-card);text-wrap:pretty}
.bonus-calculator-section>.bonus-method-equation{margin-top:var(--space-6)}
.bonus-brokerage-field,.rent-referral-field{margin-top:var(--space-6);padding:var(--space-6);border-radius:var(--radius-field);background:var(--color-frost)}
.bonus-brokerage-guide-link{margin:var(--space-4) 0 0}
.bonus-brokerage-guide-link a{display:inline-flex;align-items:center;min-height:var(--touch-target-min)}
.brokerage-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.brokerage-offer-card{display:flex;min-width:0;flex-direction:column;padding:var(--space-5);border-radius:var(--radius-card)}
.brokerage-offer-brand{display:flex;align-items:center;min-height:40px}
.brokerage-offer-reward{margin:var(--space-4) 0 0;font-size:var(--text-h3);font-weight:850;letter-spacing:var(--tracking-tight)}
.brokerage-offer-detail{margin:var(--space-1-5) 0 var(--space-4);color:var(--color-muted);font-size:var(--text-card)}
.brokerage-offer-cta{width:100%;min-height:48px;gap:var(--space-2);margin-top:auto;background:var(--color-pine-wash);border-color:var(--color-pine-border-strong);border-radius:var(--radius-button);color:var(--color-pine);font-weight:800}
.brokerage-offer-actions{display:grid;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2)}
.brokerage-offer-actions .button{white-space:normal;text-align:center}
.brokerage-offer-cta-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;transform:translateY(-1px);transition:transform .18s ease}
.brokerage-offer-cta-icon svg{display:block;width:18px;height:18px}
@media(hover:hover) and (pointer:fine){.brokerage-offer-cta:hover .brokerage-offer-cta-icon{transform:translate(2px,-1px)}}
.brokerage-offer-checked{display:flex;align-items:center;gap:5px;margin:var(--space-2-5) 0 0;color:var(--color-muted);font-size:var(--text-xs)}
.brokerage-offer-checked>span{color:var(--color-aqua);font-weight:850}
.brokerage-offer-checked-icon{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px;color:var(--color-aqua)}
.brokerage-offer-checked-icon svg{display:block;width:16px;height:16px}
.bonus-tool-layout,.rent-tool-layout,.stacker-tool-layout{--toc-desktop-display:none;--toc-mobile-display:block;display:flex;min-width:0;flex-direction:column;align-items:center;gap:var(--space-6)}
.bonus-tool-main,.bonus-tool-layout>.page-toc,.rent-tool-main,.rent-tool-layout>.page-toc,.stacker-tool-main,.stacker-tool-layout>.page-toc{width:min(100%,var(--deal-width))}
.bonus-tool-layout>.page-toc,.rent-tool-layout>.page-toc,.stacker-tool-layout>.page-toc{order:-1;position:static;max-height:none;overflow:visible}
.bonus-tool-main,.rent-tool-main,.stacker-tool-main,.bonus-methodology,.rent-methodology{min-width:0}
.bonus-tool-main>*+*,.rent-tool-main>*+*{margin-top:var(--space-12)}
.bonus-methodology-section+.bonus-methodology-section,.rent-methodology-section+.rent-methodology-section{margin-top:var(--space-12)}
.bonus-methodology h2,.rent-methodology h2{margin:0 0 var(--space-4)}
.bonus-methodology h3{margin:0;color:var(--color-ink);font-size:var(--text-body);line-height:var(--leading-normal)}
.bonus-methodology p{color:var(--color-copy);text-wrap:pretty}
.bonus-methodology-intro{margin:0 0 var(--space-5)}
.bonus-result-reading-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-block:1px solid var(--color-border)}
.bonus-result-reading-pair>div{min-width:0;padding-block:var(--space-5)}
.bonus-result-reading-pair>div+div{padding-left:var(--space-6);border-left:1px solid var(--color-border)}
.bonus-result-reading-pair p{margin:7px 0 0;font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.bonus-reading-kicker{display:block;margin-bottom:5px;color:var(--color-pine);font-size:var(--text-xs);font-weight:850;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.bonus-reading-kicker.is-info{color:var(--color-aqua)}
.bonus-methodology .bonus-subsection-heading{margin:28px 0 0;font-size:1.05rem}
.bonus-deduction-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:var(--space-3-5);border-block:1px solid var(--color-border)}
.bonus-deduction-pair>div{min-width:0;padding-block:18px}
.bonus-deduction-pair>div+div{padding-left:var(--space-6);border-left:1px solid var(--color-border)}
.bonus-deduction-pair h3{position:relative;padding-left:var(--space-3-5)}
.bonus-deduction-pair h3::before{content:"";position:absolute;left:0;top:.36em;width:5px;height:5px;border-radius:50%;background:var(--color-negative)}
.bonus-deduction-pair p{margin:7px 0 0;font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.bonus-formula-reference{margin-top:28px}
.bonus-formula-reference h3{margin-bottom:var(--space-3)}
.bonus-formula-ledger{margin:0}
.bonus-formula-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.7fr);gap:18px;align-items:start}
.bonus-formula-row+.bonus-formula-row{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.bonus-formula-row dt{padding-top:var(--space-2);color:var(--color-aqua);font-size:var(--text-xs);font-weight:850;line-height:var(--leading-normal);letter-spacing:.04em;text-transform:uppercase}
.bonus-formula-row dd{min-width:0;margin:0;padding:9px 11px;border-radius:var(--radius-md);background:var(--color-frost);color:var(--color-detail);font-size:var(--text-sm);font-weight:650;line-height:var(--leading-loose);overflow-wrap:anywhere}
.bonus-bank-brokerage-grid,.rent-referral-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.bonus-capital-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-3-5);align-items:start}
.bonus-capital-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--color-aqua-border);border-radius:var(--radius-button);background:var(--color-aqua-wash);color:var(--color-aqua)}
.bonus-capital-icon svg{display:block;width:32px;height:32px}
.bonus-capital-card h3{margin:0 0 var(--space-2)}
.bonus-capital-card strong{display:block;color:var(--color-ink);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.bonus-capital-card p{margin:5px 0 0;font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.bonus-rule-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:var(--space-3-5)}
.bonus-rule-pair.bonus-guide-card{padding-block:var(--space-1-5)}
.bonus-rule-item{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:var(--space-3);min-width:0;padding-block:18px}
.bonus-rule-item+.bonus-rule-item{padding-left:var(--space-6);border-left:1px solid var(--color-border)}
.bonus-rule-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--color-aqua-border);border-radius:50%;background:var(--color-aqua-wash);color:var(--color-aqua)}
.bonus-rule-icon svg{display:block;width:32px;height:32px}
.bonus-rule-item p{margin:7px 0 0;font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.bonus-rule-note{margin:var(--space-3-5) 0 0;font-size:var(--text-card)}
.bonus-guide-field{padding:var(--space-6);border-radius:var(--radius-field);background:var(--color-frost)}
.bonus-guide-field>h2{margin-bottom:var(--space-4)}
.bonus-guide-card,.rent-referral-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.bonus-example-section{container-type:inline-size}
.bonus-example-reconciliation{margin:0}
.bonus-example-line{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-6);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}
.bonus-example-line:first-child{padding-top:0}
.bonus-example-line dt{color:var(--color-detail);font-weight:700}
.bonus-example-line dd{max-width:100%;margin:0 0 0 auto;color:var(--color-ink);font-size:var(--text-lead);font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.bonus-example-line.is-input dd{color:var(--color-aqua)}
.bonus-example-line.is-deduction dd{color:var(--color-muted)}
.bonus-example-line.is-deduction.has-value dd{color:var(--color-negative)}
.bonus-example-line.is-result{margin-top:4px;padding-top:var(--space-4);border-top:1px solid var(--color-pine-border-strong);border-bottom:0}
.bonus-example-line.is-result dt{color:var(--color-ink);font-weight:850}
.bonus-example-line.is-result dd{color:var(--color-pine);font-size:1.75rem;font-weight:850;letter-spacing:var(--tracking-tight)}
/* Reclaim the nested gutter when enlarged text needs room for the currency value. */
@container (max-width:10rem){.bonus-example-card{margin-inline:calc(-1 * var(--space-4))}}
.bonus-example-comparison-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:var(--space-4) 0 18px;border-block:1px solid var(--color-border)}
.bonus-example-comparison-rail>div{padding:15px var(--space-3) 15px 0}
.bonus-example-comparison-rail>div+div{padding-left:var(--space-5);border-left:1px solid var(--color-border)}
.bonus-example-comparison-rail strong,.bonus-example-comparison-rail span{display:block}
.bonus-example-comparison-rail strong{color:var(--color-aqua);font-size:var(--text-h3);font-variant-numeric:tabular-nums}
.bonus-example-comparison-rail span{margin-top:3px;color:var(--color-detail);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.bonus-example-card>p{margin:0;text-wrap:pretty}
.bonus-methodology .bonus-example-caveat{margin:var(--space-4) 0 0;padding:var(--space-3-5) var(--space-4);border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-aqua-wash);color:var(--color-detail);font-size:var(--text-card)}
.bonus-boundary-card{padding-bottom:var(--space-5)}
.bonus-boundary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2-5) var(--space-6);margin:0 0 18px;padding:0;list-style:none}
.bonus-boundary-list li{position:relative;padding-left:var(--space-6);color:var(--color-copy)}
.bonus-boundary-list li::before{content:"";position:absolute;top:.52em;left:2px;width:8px;height:8px;border:1.5px solid var(--color-aqua);border-radius:50%}
.bonus-boundary-card>p{margin:0}
.bonus-provider-terms-note{display:flex;align-items:flex-start;gap:var(--space-3-5);margin:var(--space-4) 0 0;padding:18px var(--space-5);border:1px solid var(--color-aqua-border);border-radius:var(--radius-card);background:var(--color-aqua-wash)}
.bonus-provider-terms-note>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;color:var(--color-aqua)}
.bonus-provider-terms-note svg{width:20px;height:20px}
.bonus-provider-terms-note p{margin:0;text-wrap:pretty}
.bonus-back-to-calculator{margin:var(--space-6) 0 0}
.bonus-back-to-calculator a{display:inline-flex;align-items:center;gap:7px;min-height:var(--touch-target-min);font-weight:750}
.bonus-back-to-calculator svg{display:block;width:18px;height:18px;transform:translateY(-1px)}

@media(max-width:720px){
  .bonus-form-row-paired{grid-template-columns:1fr}
  .bonus-formula-row{grid-template-columns:1fr;gap:5px}
  .bonus-method-equation-flow{grid-template-columns:1fr}
  .bonus-method-equation-step{grid-template-columns:28px 36px minmax(0,1fr);min-height:52px;justify-items:start;align-items:center;column-gap:var(--space-2-5);row-gap:0;padding:9px var(--space-3);text-align:left}
  .bonus-method-equation-step::before{display:grid;place-items:center;grid-column:1;grid-row:1;width:28px;height:36px;line-height:var(--leading-none);color:var(--color-ink);font-size:var(--text-h3);font-weight:850}
  .bonus-method-equation-step:nth-of-type(1)::before{content:"+"}
  .bonus-method-equation-step:nth-of-type(2)::before,.bonus-method-equation-step:nth-of-type(3)::before{content:"−"}
  .bonus-method-equation-step:nth-of-type(4)::before{content:"="}
  .bonus-method-equation-step .bonus-method-equation-icon{grid-column:2;grid-row:1;width:36px;height:36px}
  .bonus-method-equation-step .bonus-method-equation-icon svg{width:24px;height:24px}
  .bonus-method-equation-step>span:last-child{grid-column:3;grid-row:1;min-width:0}
  .bonus-method-equation-flow>b{display:none}
  .brokerage-offer-grid{grid-template-columns:1fr}
  .brokerage-offer-card{padding:var(--space-4)}
  .brokerage-offer-reward{margin-top:var(--space-3-5)}
  .brokerage-offer-detail{margin-bottom:var(--space-3-5)}
  .bonus-advanced-summary-copy{align-items:center;gap:var(--space-2)}
  .bonus-brokerage-field,.bonus-guide-field{padding:var(--space-4)}
  .bonus-guide-card,.rent-referral-card{padding:var(--space-4)}
  .bonus-bank-brokerage-grid,.rent-referral-grid,.bonus-result-reading-pair,.bonus-deduction-pair,.bonus-rule-pair,.bonus-example-comparison-rail{grid-template-columns:1fr}
  .bonus-result-reading-pair>div+div,.bonus-deduction-pair>div+div,.bonus-rule-item+.bonus-rule-item,.bonus-example-comparison-rail>div+div{padding-left:0;border-left:0;border-top:1px solid var(--color-border)}
  .bonus-result-reading-pair>div+div,.bonus-deduction-pair>div+div,.bonus-rule-item+.bonus-rule-item{padding-top:18px}
  .bonus-example-comparison-rail>div{padding:var(--space-3-5) 0}
  .bonus-boundary-list{grid-template-columns:1fr}
}

/* Rent Rewards Calculator */
.rent-calculator-intro{max-width:var(--article-width);margin:0;color:var(--color-copy)}
.rent-calculator{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-6);border:0;border-radius:var(--radius-field);background:var(--color-frost)}
.rent-calculator-field+.rent-calculator-field{margin-top:18px}
.bonus-advanced-chevron,.rent-advanced-chevron{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;color:var(--color-pine);transition:transform .18s ease}
.bonus-advanced-chevron svg,.rent-advanced-chevron svg{display:block;width:20px;height:20px}
.bonus-advanced[open] .bonus-advanced-chevron,.rent-advanced[open] .rent-advanced-chevron{transform:rotate(180deg)}
.rent-result-empty{display:grid;gap:var(--space-5);padding-top:4px}
.rent-result-empty-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-4)}
.rent-result-empty-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-aqua-border);border-radius:var(--radius-button);background:var(--color-canvas);color:var(--color-aqua)}
.rent-result-empty-icon svg{width:24px;height:24px}
.rent-result-empty-label{margin:0;color:var(--color-ink);font-size:var(--text-card);font-weight:800}
.rent-result-empty-value{margin:5px 0 0;color:var(--color-ink);font-size:clamp(2.5rem,5vw,3.4rem);line-height:var(--leading-none);font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rent-result-empty-value span{font-size:var(--text-card);font-weight:700;letter-spacing:var(--tracking-normal);color:var(--color-muted)}
.rent-result-empty-metrics div,.rent-result-metrics div{min-width:0;padding:var(--space-4) var(--space-3) var(--space-4) 0}
.rent-result-empty-metrics strong,.rent-result-empty-metrics span,.rent-result-metrics strong,.rent-result-metrics span{display:block}
.rent-result-empty-metrics span,.rent-result-metrics span{margin-top:3px;color:var(--color-copy);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.rent-result-empty-instruction{display:flex;align-items:flex-start;gap:var(--space-2-5);margin:0;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose)}
.rent-result-empty-instruction>span{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:var(--color-aqua)}
.rent-result-empty-instruction svg{display:block;width:18px;height:18px}
.rent-result-value{margin:var(--space-1-5) 0 var(--space-2);color:var(--color-ink);font-size:clamp(2.5rem,5vw,3.6rem);line-height:var(--leading-none);font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rent-result-content.is-positive .rent-result-state,.rent-result-content.is-positive .rent-result-value,.rent-result-content.is-positive .rent-result-breakdown-total dd{color:var(--color-pine)}
.rent-result-content.is-negative .rent-result-state,.rent-result-content.is-negative .rent-result-value,.rent-result-content.is-negative .rent-result-breakdown-total dd{color:var(--color-negative)}
.rent-result-content.is-neutral .rent-result-state,.rent-result-content.is-neutral .rent-result-value{color:var(--color-ink)}
.rent-result-breakdown .rent-result-breakdown-total{border-bottom:0}
.rent-result-breakdown-total dt,.rent-result-breakdown-total dd{font-weight:850}
.rent-result-explanation{margin:var(--space-4) 0 0;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose)}
.rent-method-equation{margin-top:18px;padding:var(--space-6);border-radius:var(--radius-field);background:var(--color-frost)}
.rent-method-equation-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:0;margin-top:var(--space-3-5);padding:var(--space-3-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.rent-method-equation-step{display:grid;grid-template-columns:28px 36px minmax(0,1fr);min-width:0;min-height:78px;align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-2-5);color:var(--color-ink);font-size:var(--text-card);text-align:left}
.rent-method-equation-step+.rent-method-equation-step{border-left:1px solid var(--color-border)}
.rent-method-equation-step>span:last-child{display:grid;gap:2px}
.rent-method-equation-step strong{font-size:var(--text-card);font-weight:800}
.rent-method-equation-step small{color:var(--color-copy);font-size:var(--text-xs);font-weight:400}
.rent-method-equation-operator{display:grid;place-items:center;width:28px;height:36px;color:var(--color-ink);font-size:var(--text-h3);font-weight:850}
.rent-method-equation-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-aqua-border);border-radius:var(--radius-md);background:var(--color-aqua-wash);color:var(--color-aqua)}
.rent-method-equation-icon svg{display:block;width:24px;height:24px}
.rent-method-equation-step-result{color:var(--color-pine-hover)}
.rent-method-equation-formula{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-3);align-items:start;margin:var(--space-1-5) 0 0;padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--color-border);color:var(--color-copy);font-size:var(--text-sm);line-height:var(--leading-loose)}
.rent-method-equation-formula strong{color:var(--color-ink)}
.rent-method-equation>p{margin:var(--space-3) 0 0;color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.bonus-result-next,.rent-result-next{margin-top:var(--space-4)}
.bonus-result-next a,.rent-result-next a{display:inline-flex;align-items:center;gap:4px;min-height:var(--touch-target-min);font-weight:750}
.bonus-result-next span,.rent-result-next span{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px}
.rent-result-monthly{margin:0;color:var(--color-ink);font-weight:750;font-variant-numeric:tabular-nums}
.rent-result-assumptions,.rent-referral-disclosure{color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-loose)}
.rent-result-assumptions{margin:var(--space-2) 0 var(--space-5)}
.rent-referral-intro{color:var(--color-copy)}
.rent-referral-card{display:flex;flex-direction:column;min-width:0}
.rent-referral-card h3 a{display:inline-flex;align-items:center;min-height:var(--touch-target-min)}
.rent-referral-card h3{margin:0}
.rent-referral-card p{color:var(--color-copy);font-size:var(--text-card);line-height:var(--leading-loose);text-wrap:pretty}
.rent-referral-card .rent-referral-reward{margin:var(--space-4) 0 0;color:var(--color-pine);font-size:1.4rem;font-weight:850}
.rent-referral-facts{margin:0;padding-block:var(--space-3);border-block:1px solid var(--color-border)}
.rent-referral-facts div+div{margin-top:var(--space-2-5)}
.rent-referral-facts dt{color:var(--color-detail);font-size:var(--text-xs);font-weight:800}
.rent-referral-facts dd{margin:3px 0 0;color:var(--color-ink);font-size:var(--text-card)}
.rent-referral-card .rent-referral-note{margin-top:var(--space-4)}
.rent-referral-actions{display:grid;justify-items:start;gap:var(--space-3-5);margin-top:auto;padding-top:var(--space-2)}
.rent-referral-actions .button{max-width:100%;white-space:normal;text-align:center}
.rent-referral-card .rent-referral-checked{display:flex;align-items:center;gap:5px;margin:var(--space-2-5) 0 var(--space-4);color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}
.rent-referral-checked-icon{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px;color:var(--color-aqua)}
.rent-referral-checked-icon svg{display:block;width:16px;height:16px}
.rent-referral-card .rent-referral-details{display:inline-flex;align-items:center;gap:4px}
.rent-referral-details-icon{display:grid;place-items:center;width:16px;height:16px;flex:0 0 16px}
.rent-referral-details-icon svg{display:block;width:16px;height:16px}
/* Rent referral offers: align paired card rows on desktop. */
/* Grid defines 7 shared rows: brand, reward, summary, facts, note, checked, actions. */
/* Cards use subgrid so both cards share those row heights. */
/* Below 721px the grid is 1 column, so this block does not apply and normal flow returns. */
/* If subgrid is unsupported, explicit grid rows still lay out each card normally, just without shared heights. */
@media(min-width:721px){
.rent-referral-grid{grid-template-rows:repeat(7,auto)}
.rent-referral-card{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}
.rent-referral-card h3{grid-row:1}
.rent-referral-card .rent-referral-reward{grid-row:2}
.rent-referral-card .rent-referral-summary{grid-row:3}
.rent-referral-card .rent-referral-facts{grid-row:4}
.rent-referral-card .rent-referral-note{grid-row:5}
.rent-referral-card .rent-referral-checked{grid-row:6}
.rent-referral-card .rent-referral-actions{grid-row:7;margin-top:0}
}
.rent-tool-related-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-6)}
.rent-tool-related-guides .related-tool-card{min-height:76px;padding:var(--space-3) var(--space-3-5)}
@media(max-width:760px){.rent-tool-related-guides{grid-template-columns:1fr}}

@media(max-width:1199px){
  .bonus-tool-body,.rent-tool-body{padding-top:var(--space-8)}
}
@media(min-width:1200px){
  .bonus-tool-layout,.rent-tool-layout,.stacker-tool-layout{--toc-desktop-display:block;--toc-mobile-display:none;display:grid;grid-template-columns:minmax(0,var(--deal-width)) var(--reading-rail-width);align-items:start;gap:var(--reading-rail-gap)}
  .bonus-tool-main,.rent-tool-main,.stacker-tool-main{width:auto;grid-column:1;grid-row:1}
  .bonus-tool-layout>.page-toc,.rent-tool-layout>.page-toc,.stacker-tool-layout>.page-toc{width:auto;order:initial;grid-column:2;grid-row:1;position:sticky;top:var(--space-6);max-height:calc(100vh - var(--space-12));overflow-y:auto}
}
.rent-methodology p,.rent-limitations{color:var(--color-copy)}
.rent-methodology p{text-wrap:pretty}
.rent-example-intro{margin-bottom:0}
.rent-example-flow{width:min(100%,var(--deal-width));margin:22px 0 0;padding:var(--space-6);border-radius:var(--radius-field);background:var(--color-frost)}
.rent-example-context{display:flex;align-items:center;gap:var(--space-2-5);min-width:0;margin-bottom:var(--space-3-5);color:var(--color-copy);font-size:var(--text-card)}
.rent-example-context strong{color:var(--color-ink);font-variant-numeric:tabular-nums}
.rent-example-context-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;color:var(--color-detail)}
.rent-example-context-icon svg{display:block;width:22px;height:22px}
.rent-example-calculation{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1.15fr);align-items:stretch;gap:var(--space-2);padding:var(--space-3-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.rent-example-step{display:grid;align-content:center;justify-items:center;min-width:0;min-height:76px;padding:var(--space-2);text-align:center}
.rent-example-step>span{display:grid;gap:4px;justify-items:center;min-width:0}
.rent-example-step small{color:var(--color-detail);font-size:var(--text-xs);font-weight:750;line-height:var(--leading-relaxed)}
.rent-example-step strong{color:var(--color-ink);font-size:var(--text-h3);font-weight:850;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rent-example-step-result small,.rent-example-step-result strong{color:var(--color-pine-hover)}
.rent-example-step-result strong{font-size:1.45rem}
.rent-example-operator{display:grid;place-items:center;min-width:0;color:var(--color-ink);font-size:var(--text-lead);font-weight:800}
.rent-methodology .rent-example-break-even{display:grid;grid-template-columns:24px auto minmax(0,1fr);align-items:center;gap:var(--space-2) var(--space-2-5);width:min(100%,var(--deal-width));margin:var(--space-3-5) 0 0;color:var(--color-detail);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.rent-example-break-even-icon{display:grid;place-items:center;width:24px;height:24px;color:var(--color-aqua)}
.rent-example-break-even svg{display:block;width:20px;height:20px}
.rent-example-break-even-metric{display:inline-flex;align-items:center;gap:var(--space-2);justify-self:start;padding:5px var(--space-2);border:1px solid var(--color-pine-border);border-radius:var(--radius-md);background:var(--color-pine-wash);color:var(--color-pine-hover)}
.rent-example-break-even-metric>span{font-size:var(--text-xs);font-weight:850;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.rent-example-break-even-metric strong{color:var(--color-pine-hover);font-size:var(--text-card)}
.rent-example-break-even-copy{color:var(--color-detail)}
.rent-limitations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(100%,var(--deal-width));margin:18px 0 0;padding:22px 0 0;border-top:1px solid var(--color-border);list-style:none}
.rent-limitations li{display:flex;align-items:flex-start;gap:var(--space-2-5);min-width:0;padding:0 22px;color:var(--color-copy)}
.rent-limitations li:first-child{padding-left:0}
.rent-limitations li+li{border-left:1px solid var(--color-border)}
.rent-limitation-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;color:var(--color-aqua)}
.rent-limitation-icon svg{display:block;width:22px;height:22px;transform:translateY(-3.5px)}
.rent-limitations li:nth-child(3) .rent-limitation-icon svg{transform:translateY(-5.25px)}
.rent-limitation-copy{min-width:0}
.rent-limitation-copy strong,.rent-limitation-copy span{display:block}
.rent-limitation-copy strong{color:var(--color-ink);font-size:var(--text-card)}
.rent-limitation-copy span{margin-top:var(--space-1-5);font-size:var(--text-card);line-height:var(--leading-loose)}

@media(max-width:720px){
  .bonus-tool-hero-copy h1,.rent-tool-hero-copy h1{max-width:none;font-size:clamp(1.75rem, 1.2rem + 2.4vw, 2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight)}
  .bonus-tool-hero-copy>p:first-of-type,.rent-tool-hero-copy>p:first-of-type{margin-top:var(--space-2-5);font-size:var(--text-body);line-height:var(--leading-loose)}
  .bonus-tool-reviewed,.rent-tool-reviewed{margin-top:var(--space-2-5);font-size:var(--text-sm)}
  .bonus-tool-body,.rent-tool-body{padding-bottom:var(--space-4)}
  .bonus-tool-main>*+*,.rent-tool-main>*+*{margin-top:var(--space-8)}
  .bonus-methodology-section+.bonus-methodology-section,.rent-methodology-section+.rent-methodology-section{margin-top:var(--space-8)}
  .bonus-calculator,.rent-calculator{grid-template-columns:1fr;padding:var(--space-4)}
  .bonus-calculator-form,.bonus-calculator-result,.rent-calculator-form,.rent-calculator-result{padding:var(--space-4)}
  .bonus-result-metrics,.rent-result-empty-metrics,.rent-result-metrics{grid-template-columns:1fr}
  .bonus-result-metrics div+div,.rent-result-empty-metrics div+div,.rent-result-metrics div+div{padding-left:0;border-left:0;border-top:1px solid var(--color-border)}
  .rent-advanced-summary-copy{display:grid;gap:1px}
  .rent-method-equation{padding:var(--space-4)}
  .rent-method-equation-flow{grid-template-columns:1fr;padding:var(--space-3)}
  .rent-method-equation-step{min-height:54px;padding:var(--space-2) 4px}
  .rent-method-equation-step+.rent-method-equation-step{border-top:1px solid var(--color-border);border-left:0}
  .rent-method-equation-step>span:last-child{justify-items:start}
  .rent-method-equation-formula{grid-template-columns:1fr;gap:2px;padding:var(--space-3) 4px 0}
  .rent-referral-field{padding:var(--space-4)}
  .rent-example-flow{width:100%;padding:var(--space-4)}
  .rent-example-context{margin-bottom:var(--space-3)}
  .rent-example-calculation{grid-template-columns:1fr;gap:0;padding:var(--space-3)}
  .rent-example-step{min-height:0;padding:var(--space-2-5) var(--space-2);justify-items:start;text-align:left}
  .rent-example-step>span{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;justify-items:start}
  .rent-example-step strong{justify-self:end}
  .rent-example-operator{height:20px}
  .rent-example-step-result strong{font-size:1.4rem}
  .rent-methodology .rent-example-break-even{grid-template-columns:24px minmax(0,1fr);width:100%;align-items:start}
  .rent-example-break-even-metric{grid-column:2}
  .rent-example-break-even-copy{grid-column:2}
  .rent-limitations{grid-template-columns:1fr;width:100%;gap:18px;padding-top:18px}
  .rent-limitations li{padding:0}
  .rent-limitations li+li{padding-top:18px;border-top:1px solid var(--color-border);border-left:0}
}




/* Keep calculator hero rhythm aligned with guides at the 44px breadcrumb tier. */
@media(max-width:760px){
  .bonus-tool-hero,.rent-tool-hero{padding:var(--space-4) 0 var(--space-6)}
  .bonus-tool-hero .breadcrumbs,.rent-tool-hero .breadcrumbs{margin-bottom:var(--space-2)}
}

/* Tool-specific reduced motion. */
@media(prefers-reduced-motion:reduce){
  .bonus-advanced-chevron,.rent-advanced-chevron{transition:none}
  .brokerage-offer-cta:hover .brokerage-offer-cta-icon{transform:translateY(-1px)}
}

/* Referral Bonus Stacker. Site tokens and buttons, no new radii, plus closer tokens for the dark closer. */
/* Focal buttons use solid aqua, the site's verified/info accent, not the repo's
   brighter 135deg .button-focal gradient: the pine result card read too green. */
.stacker-tool-page .button-focal,.stacker-tool-page .button-focal:hover{background:var(--color-aqua)}
.stacker-tool-hero{padding:28px 0 30px;background:var(--color-frost);border-bottom:1px solid var(--color-border)}
.stacker-tool-hero-copy>p:first-of-type{max-width:var(--article-width);margin:var(--space-3-5) 0 0;color:var(--color-copy);font-size:var(--text-body);line-height:var(--leading-loose);text-wrap:pretty}
.stacker-hero-figures{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:start;gap:var(--space-3);margin-top:var(--space-6)}
.stacker-hero-figure{display:grid;gap:2px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.stacker-hero-figure strong{color:var(--color-pine);font-size:1.75rem;font-weight:850;letter-spacing:var(--tracking-tight);line-height:1.1;font-variant-numeric:tabular-nums}
.stacker-hero-figure span{color:var(--color-muted);font-size:var(--text-sm)}
.stacker-counting-rule{max-width:var(--article-width);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-pine-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.stacker-counting-rule h2{font-size:var(--text-card);font-weight:800;letter-spacing:.01em;margin-bottom:var(--space-3)}
.stacker-rule-row{display:flex;gap:var(--space-3);align-items:flex-start}
.stacker-rule-note{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-detail);font-size:var(--text-card)}
.stacker-rule-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%}
.stacker-rule-icon svg{display:block;width:18px;height:18px}
.stacker-rule-icon-pine{background:var(--color-pine-soft);color:var(--color-pine)}
.stacker-rule-label{font-size:var(--text-card);font-weight:800;color:var(--color-ink)}
.stacker-rule-row p{color:var(--color-detail);font-size:var(--text-card)}
.stacker-tool-reviewed{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1-5);margin:var(--space-3-5) 0 0;color:var(--color-muted);font-size:var(--text-card);line-height:var(--leading-relaxed)}
.stacker-tool-reviewed strong{color:inherit;font-size:inherit;font-weight:700;letter-spacing:normal;text-transform:none}
.stacker-tool-reviewed-icon{display:grid;place-items:center;width:18px;height:18px;color:var(--color-muted)}
.stacker-tool-reviewed-icon svg{display:block;width:18px;height:18px}
/* Full-desktop two-column hero (Guides pattern, 1200px breakpoint): figures
   left, Counting Rule card right, Methodology line under the card. DOM order
   stays stacked-first so mobile and screen readers read figures, rule, then
   methodology. */
@media(min-width:1200px){
  .stacker-tool-hero-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:0 clamp(var(--space-8),6vw,72px);align-items:start}
  .stacker-tool-hero-copy>h1,.stacker-tool-hero-copy>p:first-of-type,.stacker-hero-figures{grid-column:1}
  .stacker-counting-rule{grid-column:2;grid-row:1/span 4;margin-top:0}
  .stacker-tool-reviewed{grid-column:2}
}
.stacker-tool-body{padding-block:var(--space-12)}
.stacker-tool-main>*+*{margin-top:var(--space-8)}
.stacker-calculator-section>h2,.stacker-selected-section>h2,.stacker-excluded-section>h2,.stacker-example-section>h2,.stacker-boundaries-section>h2{margin-bottom:var(--space-4)}
.stacker-calculator-fallback{margin:var(--space-4) 0 0;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-frost);color:var(--color-copy)}
.tool-js .stacker-calculator-fallback{display:none}
.stacker-calculator[inert]{display:none}
.tool-js .stacker-calculator[inert]{display:grid}
.stacker-calculator{margin-top:var(--space-6);padding:var(--space-6);border:0;border-radius:var(--radius-field);background:var(--color-frost)}
.stacker-calculator-controls{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}
.stacker-controls-group{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}
.stacker-control-button{min-height:var(--touch-target-min);padding:0 var(--space-4);border:1px solid var(--color-control-border);border-radius:var(--radius-button);background:var(--color-canvas);color:var(--color-ink);font-size:var(--text-card);font-weight:700;cursor:pointer}
.stacker-calculator-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);align-items:start;gap:var(--space-4);margin-top:var(--space-4)}
.stacker-rows{padding:0 var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.stacker-offer-row{padding:var(--space-4) 0}
.stacker-offer-row+.stacker-offer-row{border-top:1px solid var(--color-border)}
.stacker-row-toggle{display:grid;grid-template-columns:22px 120px minmax(0,1fr) auto;gap:var(--space-3);align-items:start;min-height:var(--touch-target-min);cursor:pointer}
.stacker-offer-check{width:22px;height:22px;margin:4px 0 0;accent-color:var(--color-pine);cursor:pointer;flex:none}
.stacker-offer-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--color-pine-soft);color:var(--color-pine)}
.stacker-offer-icon svg{display:block;width:16px;height:16px}
/* Logos keep their own aspect ratio, uncropped, in a fixed 120x30 slot. The fixed
box is load-bearing: viewBox-only SVGs have no intrinsic size and collapse to
0x0 as flex items without a definite-sized container. */
.stacker-brand-logo{display:flex;align-items:center;width:120px;height:30px;flex:none}
.stacker-brand-logo-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.stacker-row-copy{display:block;min-width:0}
.stacker-row-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.stacker-brand{color:var(--color-ink);font-size:var(--text-body);font-weight:700}
.stacker-pill{display:inline-flex;align-items:center;padding:3px var(--space-2-5);border:1px solid var(--color-pine-border);border-radius:999px;background:var(--color-pine-wash);color:var(--color-pine-hover);font-size:var(--text-xs);font-weight:700;line-height:1.4;white-space:nowrap}
.stacker-detail{display:block;margin-top:4px;color:var(--color-copy);font-size:var(--text-card)}
.stacker-exception-badge{display:inline-flex;align-items:center;padding:3px var(--space-2-5);border-radius:999px;background:var(--color-caution-wash);border:1px solid var(--color-caution-border);color:var(--color-caution-deep);font-size:var(--text-xs);font-weight:700;line-height:1.4;white-space:nowrap}
.stacker-exception-reason{display:block;color:var(--color-muted);font-size:var(--text-sm)}
.stacker-row-copy .stacker-exception-reason{margin-top:4px}
.stacker-verified{display:flex;align-items:center;gap:var(--space-1-5);margin-top:var(--space-1-5);color:var(--color-muted);font-size:var(--text-sm)}
.stacker-verified-icon{display:grid;place-items:center;width:14px;height:14px;flex:0 0 14px;color:var(--color-aqua)}
.stacker-verified-icon svg{display:block;width:14px;height:14px}
.stacker-offer-amount{color:var(--color-ink);font-size:var(--text-h3);font-weight:850;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.stacker-offer-row.is-off .stacker-offer-amount{color:var(--color-muted)}
.stacker-offer-row.is-off .stacker-brand{color:var(--color-copy)}
.stacker-row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-3)}
.stacker-row-cta{min-width:208px;justify-content:center;white-space:nowrap}
.stacker-result-card{align-self:start;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas);position:sticky;top:var(--space-6)}
.stacker-result-label{color:var(--color-muted);font-size:var(--text-xs);font-weight:850;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.stacker-result-total{margin:var(--space-1-5) 0 var(--space-3);color:var(--color-pine);font-size:clamp(2.6rem,5vw,3.7rem);line-height:var(--leading-none);font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stacker-result-sub{margin:0 0 var(--space-4);color:var(--color-detail);font-size:var(--text-card)}
.stacker-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--color-pine-wash)}
.stacker-progress-bar{height:100%;width:0%;border-radius:999px;background:var(--color-pine);transition:width .3s ease}
.stacker-progress-label{margin-top:var(--space-2);color:var(--color-muted);font-size:var(--text-sm)}
.stacker-comp-wrap{margin-top:var(--space-4)}
.stacker-comp-title{color:var(--color-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.stacker-comp-bar{display:flex;gap:2px;height:16px;margin-top:var(--space-2);overflow:hidden;border-radius:var(--radius-sm);background:var(--color-pine-wash)}
.stacker-comp-seg{height:100%;flex:none;background:var(--color-pine);transition:width .3s ease}
.stacker-comp-rest{height:100%;flex:1}
.stacker-comp-legend{display:flex;flex-wrap:wrap;gap:var(--space-1-5);margin-top:var(--space-2)}
.stacker-comp-chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:3px 9px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-frost);color:var(--color-detail);font-size:var(--text-xs);font-weight:700;white-space:nowrap}
.stacker-comp-chip-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--color-pine)}
.stacker-result-primary{width:100%;min-height:50px;margin-top:var(--space-6)}
.stacker-selected-top{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;margin-top:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid var(--color-pine-border);border-radius:var(--radius-card);background:var(--color-pine-wash)}
.stacker-selected-total-label{color:var(--color-detail);font-size:var(--text-h3)}
.stacker-selected-total-label strong{color:var(--color-pine);font-size:1.75rem;font-weight:850;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}
.stacker-selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}
.stacker-selected-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6)}
.stacker-selected-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
.stacker-selected-brand{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}
.stacker-selected-top-row strong{color:var(--color-ink);font-size:var(--text-body)}
.stacker-selected-amount{color:var(--color-ink);font-size:1.5rem;font-weight:850;white-space:nowrap;font-variant-numeric:tabular-nums}
.stacker-selected-detail{margin:0;color:var(--color-copy);font-size:var(--text-card)}
.stacker-selected-checked{display:flex;align-items:center;gap:var(--space-1-5);margin:0;color:var(--color-muted);font-size:var(--text-sm)}
.stacker-selected-card .stacker-exception-reason{margin:0}
.stacker-referral-code{margin:0;color:var(--color-detail);font-size:var(--text-sm)}
.stacker-selected-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto;padding-top:var(--space-4)}
.stacker-selected-actions .button{width:100%;justify-content:center}
.stacker-empty-state{margin-top:var(--space-4);padding:var(--space-6);border:1px dashed var(--color-control-border);border-radius:var(--radius-card);background:var(--color-canvas);color:var(--color-detail);text-align:center}
.stacker-empty-state p{margin:0}
.stacker-empty-state .button{margin-top:var(--space-4)}
.stacker-excluded-disclosure{margin-top:var(--space-6)}
.stacker-excluded-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-6);border:1px solid var(--color-pine-border-strong);border-radius:var(--radius-button);background:var(--color-pine-wash);color:var(--color-pine-hover);font-size:var(--text-card);font-weight:700;cursor:pointer;list-style:none}
.stacker-excluded-toggle::-webkit-details-marker{display:none}
.stacker-excluded-toggle .button-icon{margin-left:0}
.stacker-excluded-toggle .button-icon svg{display:block;width:18px;height:18px;transition:transform .25s ease}
.stacker-excluded-disclosure[open] .stacker-excluded-toggle .button-icon svg{transform:rotate(180deg)}
.stacker-excluded-hide{display:none}
.stacker-excluded-disclosure[open] .stacker-excluded-show{display:none}
.stacker-excluded-disclosure[open] .stacker-excluded-hide{display:inline}
.stacker-excluded-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-8);margin-top:var(--space-4);padding:var(--space-2) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-canvas)}
.stacker-excluded-item{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-top:1px solid var(--color-border)}
.stacker-excluded-item:nth-child(-n+2){border-top:0}
.stacker-excluded-name{color:var(--color-detail);font-size:var(--text-card);font-weight:700}
.stacker-excluded-amount{color:var(--color-negative);font-size:var(--text-card);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.stacker-excluded-reason{display:block;margin-top:2px;color:var(--color-muted);font-size:var(--text-sm)}
.stacker-example-card{padding:var(--space-6)}
.stacker-example-reconciliation div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-5);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}
.stacker-example-reconciliation div:last-child{border-bottom:0;border-top:2px solid var(--color-ink);padding-top:var(--space-3)}
.stacker-example-reconciliation div:last-child dt,.stacker-example-reconciliation div:last-child dd{color:var(--color-ink);font-weight:850}
.stacker-example-reconciliation div:last-child dd{color:var(--color-pine)}
.stacker-example-reconciliation dt{display:flex;align-items:center;gap:var(--space-3);color:var(--color-copy)}
.stacker-example-reconciliation dd{margin:0;font-weight:750;font-variant-numeric:tabular-nums;text-align:right}
.stacker-example-card>p{margin:var(--space-4) 0 0;color:var(--color-detail)}
.stacker-boundary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-6);margin-top:var(--space-6)}
.stacker-boundary-item{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}
.stacker-boundary-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--color-negative-border);border-radius:50%;background:var(--color-negative-wash);color:var(--color-negative)}
.stacker-boundary-icon svg{display:block;width:13px;height:13px}
.stacker-boundary-item p{margin:0;padding-top:4px;color:var(--color-detail);font-size:var(--text-card);font-weight:600}
.stacker-boundary-terms{margin:var(--space-4) 0 0;color:var(--color-copy);font-size:var(--text-card)}
.stacker-closing{margin-top:var(--space-12)}
.stacker-closing .shell{padding:var(--space-8);text-align:center;background:var(--color-frost);border:1px solid var(--color-border);border-radius:var(--radius-field)}
.stacker-closing h2{font-size:1.625rem;font-weight:800;letter-spacing:-.02em}
.stacker-closing-total{display:block;margin-top:var(--space-3);color:var(--color-pine);font-size:clamp(2.6rem,5vw,3.7rem);font-weight:850;letter-spacing:-.04em;line-height:var(--leading-none);font-variant-numeric:tabular-nums}
.stacker-closing p{margin-top:var(--space-2);font-size:var(--text-card)}
.stacker-closing-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}
.stacker-closing-actions .button{min-height:50px}
.stacker-closer{margin-top:96px;background:var(--color-ink);color:var(--color-closer-copy)}
/* The closer band meets the site footer directly: zero the footer gap on this page only. */
body:has(.stacker-tool-page) .site-footer{margin-top:0}
.stacker-closer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding:var(--space-8) 0 var(--space-6)}
.stacker-closer h3{margin:0 0 var(--space-3);color:var(--color-inverse);font-size:var(--text-sm);font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.stacker-closer-links{list-style:none;margin:0;padding:0}
.stacker-closer-links li+li{margin-top:2px}
.stacker-closer-links a{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:36px;padding:2px 0;color:var(--color-closer-copy);font-size:var(--text-card);font-weight:600;text-decoration:none}
.stacker-closer-links a:hover{color:var(--color-inverse)}
.stacker-closer :focus-visible{outline-color:var(--color-pine-soft)}
.stacker-closer-links .button-icon{margin-left:0}
.stacker-closer-links .button-icon svg{display:block;width:13px;height:13px}
.stacker-trust-list{list-style:none;margin:0;padding:0}
.stacker-trust-list li{display:flex;gap:var(--space-2);align-items:flex-start;padding:5px 0;font-size:var(--text-card)}
.stacker-trust-list li>span:first-child{display:grid;place-items:center;width:16px;height:16px;flex:none;margin-top:3px;color:var(--color-closer-accent)}
.stacker-trust-list li>span:first-child svg{display:block;width:16px;height:16px}
.stacker-trust-list strong{color:var(--color-inverse);font-variant-numeric:tabular-nums}
.stacker-closer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);padding:var(--space-6) 0;border-top:1px solid var(--color-closer-border);border-bottom:1px solid var(--color-closer-border);text-align:center}
.stacker-closer-stat-value{display:block;color:var(--color-inverse);font-size:1.5rem;font-weight:850;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stacker-closer-stat-label{display:block;margin-top:2px;color:var(--color-closer-muted);font-size:var(--text-xs);font-weight:600}
.stacker-closer-base{display:flex;justify-content:flex-end;padding:var(--space-4) 0 var(--space-6)}
.stacker-closer-base a{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:36px;color:var(--color-closer-copy);font-size:var(--text-sm);font-weight:700;text-decoration:none}
.stacker-closer-base a:hover{color:var(--color-inverse)}
.stacker-closer-base a span{display:grid;place-items:center}
.stacker-closer-base a svg{display:block;width:14px;height:14px}

/* Mobile sticky total bar: hidden on desktop, fixed to the viewport bottom
   on mobile once the calculator is enhanced. Reuses the deal-mobile-actions
   pattern (z-index 55, safe-area padding). The total is aria-hidden here;
   the sr-only status element already announces it. */
.stacker-mini-bar{display:none}
.stacker-mini-total{font-size:var(--text-card);color:var(--color-closer-copy);white-space:nowrap}
.stacker-mini-total strong{color:var(--color-inverse);font-size:var(--text-h3);font-weight:850;font-variant-numeric:tabular-nums}

@media(max-width:820px){
  .stacker-calculator-grid{grid-template-columns:1fr}
  .stacker-result-card{position:static}
  .stacker-selected-grid{grid-template-columns:1fr}
  .stacker-excluded-grid{grid-template-columns:1fr}
  .stacker-excluded-item:nth-child(2){border-top:1px solid var(--color-border)}
  .stacker-boundary-grid{grid-template-columns:1fr}
  .stacker-closer-grid{grid-template-columns:1fr}
  .stacker-closer-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .stacker-tool-hero{padding:var(--space-4) 0 var(--space-6)}
  .stacker-tool-hero-copy h1{max-width:none;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);line-height:var(--leading-display);letter-spacing:var(--tracking-tight)}
  .stacker-tool-hero-copy>p:first-of-type{margin-top:var(--space-2-5);font-size:var(--text-body);line-height:var(--leading-loose)}
  .stacker-tool-reviewed{margin-top:var(--space-2-5);font-size:var(--text-sm)}
  .stacker-tool-body{padding-bottom:var(--space-4)}
  .stacker-calculator{padding:var(--space-4)}
  .stacker-rows{padding:0 var(--space-4)}
  /* Mobile rows stack the logo above the copy so wide wordmarks fit. */
  .stacker-row-toggle{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"check logo amount" ". copy copy"}
  .stacker-offer-check{grid-area:check}
  .stacker-brand-logo,.stacker-offer-icon{grid-area:logo}
  .stacker-row-copy{grid-area:copy}
  .stacker-offer-amount{grid-area:amount}
  .stacker-row-toggle .stacker-brand-logo{width:150px}
  .stacker-row-cta{width:100%}
  .stacker-result-card,.stacker-selected-card,.stacker-example-card{padding:var(--space-4)}
  .stacker-selected-top{padding:var(--space-4)}
  .stacker-selected-top .button{width:100%}
  .stacker-closing .shell{padding:var(--space-6)}
  .stacker-closing-actions .button{width:100%}
  .stacker-closer{margin-top:var(--space-12)}
  .stacker-mini-bar:not([hidden]){position:fixed;inset:auto 0 0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2-5) var(--space-4) calc(var(--space-2-5) + env(safe-area-inset-bottom));background:var(--color-ink);color:var(--color-inverse)}
  /* While the consent panel is open its own 260px footer rule owns the
  padding, so this rule stands down instead of overriding it. */
  body:not(:has(.analytics-consent:not([hidden]))):has(.stacker-mini-bar:not([hidden])) .site-footer{padding-bottom:var(--stacker-mini-bar-clearance)}
  html:has(.stacker-mini-bar:not([hidden])){scroll-padding-bottom:var(--stacker-mini-bar-clearance)}
}
@media(prefers-reduced-motion:reduce){
  .stacker-progress-bar,.stacker-comp-seg,.stacker-excluded-toggle .button-icon svg{transition:none}
}
