.promotion-calculator{margin:28px 0 32px;padding:24px;border:1px solid #b5cbbb;border-radius:20px;background:linear-gradient(145deg,#edf5ec,#f8fbf7);color:#173d2d;min-width:0;box-sizing:border-box}
.promotion-calculator[hidden],.promotion-calculator [hidden]{display:none!important}
.promotion-calculator *{box-sizing:border-box}
.blog-content .promotion-eyebrow{margin:0 0 9px;color:#3a614b;font-size:11px;font-weight:750;letter-spacing:1.1px;line-height:1.6}
.blog-content .promotion-heading{margin:0 0 12px;font-size:clamp(23px,2.4vw,29px);line-height:1.3;letter-spacing:-.5px}
.promotion-calculator .promotion-intro{margin:0 0 24px;font-size:15px;line-height:1.75}
.promotion-modes{border:0;padding:0;margin:0 0 18px;min-width:0}
.promotion-modes>legend{padding:0;margin-bottom:10px;font-size:15px;font-weight:700}
.promotion-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.promotion-mode-options label{position:relative;display:flex;align-items:center;gap:9px;min-height:66px;padding:12px;border:1px solid #a7c0b0;border-radius:11px;background:#fff;cursor:pointer;font-size:15px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.promotion-mode-options label:has(input:checked){border-color:#0b5238;background:#0b5238;color:#fff}
.promotion-mode-options input{flex:0 0 18px;width:18px;height:18px;margin:0;appearance:auto;accent-color:#0b5238}
.promotion-mode-options small{display:block;font-size:12px;font-weight:450;line-height:1.6}
.promotion-calculator .promotion-help,.promotion-calculator .promotion-section-help{margin:0 0 16px;font-size:13px;line-height:1.7;color:#3d594b}
.promotion-section{min-width:0;margin:0;padding:18px;border:1px solid #b9ccbe;border-radius:15px;background:#fff}
.promotion-section>legend{max-width:100%;padding:0 6px;font-size:16px;line-height:1.6;font-weight:700}
.promotion-section .promotion-help:last-child{margin:16px 0 0}
.promotion-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px}
.promotion-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.promotion-field{min-width:0}
.promotion-field label{display:block;margin:0 0 7px;font-size:13px;line-height:1.5;font-weight:650}
.promotion-field input{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #8ea999;border-radius:9px;background:#fff;color:#153d2c;font:inherit;font-size:17px;line-height:1.4;font-variant-numeric:tabular-nums}
.promotion-field [aria-invalid=true]{border:2px solid #a52d23}
.promotion-calculator .promotion-error{font-size:12px;line-height:1.6;color:#9b241b;margin:6px 0 0}
.promotion-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.promotion-calculator button{min-height:48px;max-width:100%;border-radius:10px;font:inherit;font-size:14px;font-weight:700;line-height:1.5;white-space:normal;cursor:pointer}
.promotion-submit{display:flex;align-items:center;justify-content:center;gap:15px;padding:12px 18px;border:1px solid #0b5238;background:#0b5238;color:#fff}
.promotion-submit:hover{background:#083e2b}
.promotion-secondary{padding:12px 14px;border:1px solid #a1b8a8;background:#fff;color:#245139}
.promotion-secondary:hover{background:#e8f1e5}
.promotion-reset{padding:12px 8px;border:1px solid transparent;background:transparent;color:#245139;text-decoration:underline;text-underline-offset:3px}
.promotion-calculator button:disabled{opacity:.6;cursor:default}
.promotion-calculator :is(input,button,textarea):focus-visible{outline:3px solid #34784f;outline-offset:3px}
.promotion-mode-options label:has(input:focus-visible){outline:3px solid #34784f;outline-offset:3px}
.promotion-calculator .promotion-stale{margin:18px 0 0;font-size:14px;line-height:1.7;color:#345743;border-left:3px solid #769d7e;padding-left:12px}
.promotion-result{margin-top:24px;padding-top:22px;border-top:1px solid #a9c4b2;scroll-margin-top:var(--anchor-offset,115px)}
.blog-content .promotion-result-heading{margin:0 0 14px;font-size:20px;line-height:1.5;letter-spacing:-.3px}
.promotion-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.promotion-payable{min-width:0;padding:18px;border:2px solid #397549;border-radius:12px;background:#f2fbdc}
.promotion-payable>p{margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.6}
.promotion-payable>strong{display:block;font-size:clamp(25px,2.5vw,32px);line-height:1.4;letter-spacing:-.4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.promotion-payable>span{display:block;margin-top:8px;font-size:13px;line-height:1.6}
.promotion-breakdown{min-width:0;margin:0;padding:18px;border:1px solid #b6cbba;border-radius:12px;background:#fff;font-size:13px;line-height:1.6}
.promotion-breakdown>div+div{margin-top:12px;padding-top:12px;border-top:1px solid #d6e3d5}
.promotion-breakdown dt{color:#46614d}
.promotion-breakdown dd{margin:3px 0 0;font-size:19px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.promotion-calculator .promotion-difference{margin:18px 0 0;font-size:16px;font-weight:700;line-height:1.7}
.promotion-difference[data-direction=more]{color:#8c2c21}
.promotion-calculator .promotion-result-note{margin:12px 0 0;font-size:13px;line-height:1.75;color:#34513f}
.promotion-copy{margin-top:16px}
.promotion-copy-help{margin-top:14px;font-size:13px;line-height:1.7}
.promotion-copy-help p{margin:0 0 10px}
.promotion-copy-help label{display:block;margin-bottom:7px;font-weight:650}
.promotion-copy-help textarea{display:block;width:100%;max-width:100%;min-height:180px;resize:vertical;padding:12px;border:1px solid #8ea999;border-radius:9px;background:#fff;color:#153d2c;font:inherit;font-size:14px;line-height:1.6}
.promotion-calculator .promotion-privacy{margin:20px 0 0;color:#486252;font-size:12px;line-height:1.75}
.promotion-announcement{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:761px) and (max-width:1000px){.promotion-fields-three{grid-template-columns:minmax(0,1fr)}.promotion-result-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.promotion-calculator{padding:18px;border-radius:16px}.promotion-section{padding:16px}.promotion-fields,.promotion-fields-three{grid-template-columns:minmax(0,1fr)}.promotion-actions{align-items:stretch;flex-direction:column}.promotion-actions button{width:100%}.promotion-result-cards{grid-template-columns:minmax(0,1fr)}.promotion-mode-options label{padding:10px;gap:7px;font-size:14px}}
@media(max-width:380px){.promotion-calculator{padding:14px}.promotion-mode-options{grid-template-columns:minmax(0,1fr)}.promotion-mode-options label{min-height:60px}.promotion-section{padding:13px}}
@media print{.promotion-calculator{display:none}}
