/* Preparation benefit: prominent amount, persistent eligibility disclosure. */
.consult-dock.benefit-dock{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6px 20px;width:min(600px,calc(100% - 32px));padding:14px 24px 10px;background:linear-gradient(115deg,#fffdf4,#f5e8c9);border:1px solid #b79a55;border-top:3px solid #b79a55;border-radius:14px;box-shadow:0 -4px 28px #63522220;color:#244c3c}
.benefit-dock .dock-saved{display:block;min-height:0;padding:0;text-decoration:none;color:inherit}
.benefit-copy{display:flex;flex-direction:column;align-items:flex-start}
.benefit-label{display:inline-block;padding:3px 12px;border-radius:20px;background:#315746;color:#fff;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.05em}
.benefit-caption{font-size:11px;line-height:1.6;margin-top:4px;color:#635c47}
.benefit-amount{display:flex;align-items:baseline;gap:3px;white-space:nowrap;line-height:1.05}
.benefit-amount b{font-size:56px;letter-spacing:-.055em;color:#947126;font-weight:800;font-variant-numeric:tabular-nums}
.benefit-amount span{font-size:25px;font-weight:800;letter-spacing:-.04em}
.benefit-dock .button.primary{min-height:58px;padding:14px 12px;background:#315746;color:#fff;border-radius:8px;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;transition:background .2s,box-shadow .2s}
.benefit-dock .button.primary:hover{background:#244234;box-shadow:0 3px 12px #24423426}
.benefit-dock a:focus-visible{outline:3px solid #997326;outline-offset:3px}
.benefit-terms{grid-column:1/-1;text-align:center;font-size:11px;line-height:1.6;margin:0;color:#60583f}
body:has(.benefit-dock){padding-bottom:var(--dock-height,180px)}
@media(max-width:800px){.consult-dock.benefit-dock{width:100%;bottom:0;border-radius:12px 12px 0 0;padding:10px 14px calc(8px + env(safe-area-inset-bottom));gap:5px 10px}.benefit-label{font-size:10px;padding:2px 9px}.benefit-caption{font-size:10px;margin-top:3px}.benefit-amount b{font-size:43px}.benefit-amount span{font-size:20px}.benefit-dock .button.primary{font-size:13px;min-height:54px;padding:12px 8px;gap:7px}.benefit-terms{font-size:10px}}
@media(max-width:360px){.benefit-dock .button.primary{font-size:11px;gap:4px}.benefit-amount b{font-size:38px}.benefit-amount span{font-size:18px}.benefit-terms{font-size:9px}}
@media(prefers-reduced-motion:reduce){.benefit-dock .button.primary{transition:none}}

/* Balance the offer and application columns without expanding the fixed banner. */
.consult-dock.benefit-dock{grid-template-columns:max-content minmax(0,1fr);padding:12px 20px 9px;gap:7px 16px}
.benefit-action{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:0}
.benefit-reassurance{margin:0;text-align:center;font-size:12px;font-weight:600;line-height:1.45;color:#315746;white-space:nowrap}
.benefit-reassurance span{font-weight:800;margin-left:2px}
.benefit-dock .button.primary{width:100%;min-height:54px}
@media(max-width:800px){
.consult-dock.benefit-dock{grid-template-columns:max-content minmax(0,1fr);padding:9px 12px calc(7px + env(safe-area-inset-bottom));gap:5px 10px}
.benefit-action{gap:6px}
.benefit-reassurance{font-size:10px;letter-spacing:-.035em}
.benefit-dock .button.primary{min-height:49px;font-size:13px;padding:10px 6px}
.benefit-amount b{font-size:40px}
.benefit-amount span{font-size:19px}
.benefit-caption{margin-top:2px}
}
@media(max-width:360px){
.consult-dock.benefit-dock{gap:5px 8px;padding-left:10px;padding-right:10px}
.benefit-reassurance{font-size:9px}
.benefit-dock .button.primary{font-size:11px}
.benefit-amount b{font-size:36px}
.benefit-amount span{font-size:17px}
}

/* Size the price column to its actual text rather than reserving empty space. */
.benefit-dock .dock-saved{justify-self:start}
.benefit-dock .benefit-copy{width:max-content}
.benefit-dock .benefit-action{align-self:center;justify-content:center;padding-top:0;gap:8px}
.benefit-dock .benefit-reassurance{white-space:normal;text-wrap:balance;line-height:1.45;font-size:15px;font-weight:700}
.benefit-dock .button.primary{flex:none;margin-top:0;min-height:44px;padding:10px 8px;line-height:1.5}
.benefit-dock .benefit-terms{padding-top:5px;margin-top:2px;border-top:1px solid #b79a5538}
@media(max-width:800px){
.consult-dock.benefit-dock{column-gap:16px;padding-top:9px}
.benefit-dock .benefit-action{gap:7px;padding-top:0}
.benefit-dock .benefit-reassurance{font-size:13px;letter-spacing:-.025em}
.benefit-dock .benefit-amount b{font-size:44px}
.benefit-dock .benefit-amount span{font-size:20px}
.benefit-dock .button.primary{min-height:44px;padding:9px 6px}
.benefit-dock .benefit-terms{font-size:9px;padding-top:5px}
}
@media(max-width:360px){
.consult-dock.benefit-dock{column-gap:10px}
.benefit-dock .benefit-amount b{font-size:38px}
.benefit-dock .benefit-amount span{font-size:18px}
}

@media(max-width:360px){.benefit-dock .benefit-reassurance{font-size:12px}}
