/* The calculator separates material to read from documents to prepare. */
/* Clip decorative overflow without creating a scroll container around the sticky result. */
main.pricing-page{overflow:clip}
.pricing-jump{display:inline-flex;gap:10px;align-items:center;margin-top:12px;color:#C7AD7B!important;font-weight:600}
.cost-planner{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start;--planner-gold:#AE8B4E;--planner-navy:#0B1B33}
.planner-controls{min-width:0;display:grid;gap:20px}
.planner-panel{border:1px solid #DED8CB;border-radius:18px;padding:28px;background:#fff;min-width:0}
.planner-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.planner-step{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid #AE8B4E;border-radius:10px;color:#C7AD7B;background:#0B1B33;font-size:14px;font-weight:600}
.planner-heading h3{font-size:1.45rem;margin:0 0 5px;letter-spacing:-.03em}
.planner-heading p{font-size:14px;line-height:1.55;color:#566378;margin:0}
.planner-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 22px}
.planner-tools p{flex:1 1 240px;margin:0;font-size:13px;color:#566378}
.planner-link{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #D6CFBF;border-radius:8px;background:transparent;color:#0B1B33;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.planner-link:hover{background:#F5F1E8;border-color:#AE8B4E}
.planner-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px 26px}
.planner-input{min-width:0}
.planner-input label{display:block;font-size:14px;font-weight:600;color:#0B1B33;margin-bottom:5px}
.planner-input output{display:block;font-size:1.45rem;font-weight:500;font-variant-numeric:tabular-nums;color:#79633D;margin-bottom:6px}
.planner-input .planner-value{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:48px;margin-bottom:8px}
.planner-amount{white-space:nowrap}
.planner-message-count{width:142px;max-width:100%;height:48px;padding:5px 10px;border:1px solid #C9BEA7;border-radius:8px;background:#fff;color:#79633D;font:inherit;font-size:1.45rem;line-height:1.3;font-weight:500;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.planner-message-count::-webkit-inner-spin-button,.planner-message-count::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.planner-review-time{display:inline-block;white-space:nowrap;border:1px solid #E1D4BB;border-radius:999px;background:#F1ECDF;color:#79633D;font-size:12px;font-weight:500;line-height:1.5;padding:4px 10px}
.planner-input input[type=range]{width:100%;height:32px;accent-color:#927345;cursor:pointer;margin:0}
.planner-input .hint{display:block;font-size:12px;line-height:1.5;color:#566378;margin:0}
.planner-note{font-size:13px;line-height:1.65;color:#566378;margin:18px 0 0}
.planner-documents{background:#FCFAF6}
.planner-doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:17px 0;border-top:1px solid #E1DBD0}
.planner-doc-title{font-size:14px;font-weight:600;color:#0B1B33;display:block}
.planner-doc-desc{display:block;margin-top:4px;font-size:12px;color:#566378;line-height:1.5;max-width:36ch}
.planner-doc-controls{display:flex;gap:7px;align-items:center}
.planner-count{display:grid;grid-template-columns:44px 34px 44px;border:1px solid #C9BEA7;border-radius:9px;overflow:hidden;background:white}
.planner-count button{appearance:none;border:0;background:transparent;height:44px;padding:0;display:grid;place-items:center;color:#0B1B33;cursor:pointer;transition:background .15s}
.planner-count button:hover{background:#F1EBDD}
.planner-count button:disabled{color:#B9B3A7;cursor:default}
.planner-count svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none}
.planner-count input{width:34px;min-width:0;border:0;background:transparent;padding:0;text-align:center;color:#0B1B33;font:inherit;font-size:14px;appearance:textfield;-moz-appearance:textfield}
.planner-count input::-webkit-inner-spin-button,.planner-count input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.is-selected .planner-count{border-color:#AE8B4E;background:#FAF6EB}
.planner-hours{font-size:11px;color:#566378;display:flex;gap:5px;align-items:center;white-space:nowrap}
.planner-hours input{font:inherit;font-size:13px;width:58px;min-height:44px;padding:6px;border:1px solid #D6CFBF;background:#fff;border-radius:7px;color:#0B1B33}
.planner-doc-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#566378;margin-top:16px}
.planner-doc-labels strong{font-weight:500;color:#0B1B33}
.planner-extra summary,.planner-assumptions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:600;font-size:14px;color:#0B1B33}
.planner-extra summary::-webkit-details-marker,.planner-assumptions summary::-webkit-details-marker{display:none}
.planner-extra summary::after,.planner-assumptions summary::after{content:'';border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #927345;transition:transform .18s}
.planner-extra[open] summary::after,.planner-assumptions[open] summary::after{transform:rotate(180deg)}
.planner-extra{border-top:1px solid #E1DBD0;padding-top:7px}
.planner-assumptions{border-top:1px solid #E1DBD0;margin-top:20px;padding-top:8px}
.planner-assumption-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0}
.planner-assumption-grid label{font-size:12px;color:#566378;line-height:1.5}
.planner-assumption-grid input{display:block;width:100%;min-height:44px;font:inherit;font-size:16px;margin-top:6px;border:1px solid #C9BEA7;border-radius:8px;padding:8px 10px;color:#0B1B33;background:#fff}
.planner-result{position:sticky;top:130px;background:#0B1B33;color:#F8F5ED;border:1px solid #B59865;border-radius:18px;padding:28px;overflow:hidden}
.planner-result h3{color:#F8F5ED;font-size:1.1rem;line-height:1.35;letter-spacing:-.015em;margin:0 0 16px}
.planner-result .planner-price-distinction{display:block;width:fit-content;background:#F5F1E8;color:#0B1B33;border-radius:6px;padding:7px 10px;font-size:13px;line-height:1.45;font-weight:600;margin:0 0 18px}
.planner-scenario-label{display:block;color:#CFD3DB;font-size:11px;line-height:1.5;margin-bottom:7px}
.planner-result .eyebrow{font-size:10px;color:#C7AD7B;letter-spacing:.12em}
.planner-result output{display:block;color:#F8F5ED;font-size:clamp(2rem,3.5vw,2.8rem);font-variant-numeric:tabular-nums;letter-spacing:-.05em;line-height:1.1;margin-bottom:10px;overflow-wrap:anywhere}
.planner-result .planner-rate{color:#CFD3DB;font-size:13px;line-height:1.6;margin-bottom:24px}
.planner-bars{display:flex;gap:0;height:8px;overflow:hidden;background:#26374F;border-radius:8px;margin-bottom:18px}
.planner-bars span{display:block;height:100%;transition:width .3s ease}
#calc-review-bar{width:40.828%;background:#C7AD7B}#calc-prep-bar{width:59.172%;background:#F5F1E8}
.planner-breakdown{margin:0}
.planner-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 0;border-bottom:1px solid #FFFFFF29;font-size:13px}
.planner-breakdown dt{color:#F4F1EB}.planner-breakdown dt span{display:block;color:#BBC4D0;font-size:12px;margin-top:4px}
.planner-breakdown dd{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;align-self:center;margin:0;color:#F8F5ED}
.planner-result .planner-explanation{font-size:12px;color:#CDD3DD;line-height:1.7;margin:20px 0 0}
.planner-result .planner-explanation strong{color:#F8F5ED;font-weight:600}
.planner-result a{color:#E0C690;text-decoration:underline;text-underline-offset:3px}
.planner-packages-link{margin:0 0 24px;width:100%;text-align:center;font-size:13px}
.planner-mobile-estimate{display:none}
.planner-method{padding:22px 0 0;max-width:100%;font-size:13px;color:#566378}
.planner-method summary{min-height:44px;cursor:pointer;font-weight:600;color:#0B1B33}
.planner-method p{max-width:85ch;font-size:13px;line-height:1.8}
.planner-method a{text-decoration:underline;text-underline-offset:3px;color:#0B1B33}
.planner-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cost-planner :focus-visible{outline:2px solid #927345;outline-offset:3px}
.pricing-upgrades{--upgrade-gap:32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--upgrade-gap);margin:28px 0 20px}
.pricing-upgrade{border:1px solid #D6CCB9;border-radius:16px;padding:26px;background:#fff;position:relative}
.pricing-upgrade small{font-size:12px;color:#79633D;display:block;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.pricing-upgrade h3{font-size:1.25rem;margin:12px 0}.pricing-upgrade strong{font-size:2.1rem;letter-spacing:-.04em;color:#0B1B33;font-weight:500}
.pricing-upgrade p{font-size:13px;color:#566378;margin:10px 0 0;line-height:1.6}
/* Keep the filled direction marker at the midpoint between card borders. */
.pricing-upgrade:not(:last-child)::after{content:'';position:absolute;left:calc(100% + var(--upgrade-gap)/2 + 1px);top:50%;width:8px;height:12px;background:#AE8B4E;clip-path:polygon(0 0,100% 50%,0 100%);transform:translate(-50%,-50%);pointer-events:none}
.pricing-upgrade:last-child{border-color:#AE8B4E}
#packages{scroll-margin-top:130px}#calculator{scroll-margin-top:110px}#calc-result{scroll-margin-top:130px}
@media(max-width:1000px){.cost-planner{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.planner-panel,.planner-result{padding:22px}.planner-doc-controls{flex-direction:column;gap:4px}.planner-assumption-grid{grid-template-columns:1fr}.planner-assumption-grid label{display:grid;grid-template-columns:1fr 100px;gap:12px;align-items:center}.planner-assumption-grid input{margin-top:0}.planner-result output{font-size:2.3rem}}
@media(max-width:760px){.cost-planner{grid-template-columns:1fr}.planner-result{position:static}.planner-mobile-estimate{display:inline-flex}.planner-doc-controls{flex-direction:row;gap:6px}.planner-result output{font-size:3rem}.pricing-upgrades{grid-template-columns:1fr}.pricing-upgrade:not(:last-child)::after{left:50%;top:calc(100% + var(--upgrade-gap)/2 + 1px);width:12px;height:8px;clip-path:polygon(0 0,100% 0,50% 100%)}.planner-doc-labels{flex-wrap:wrap}.planner-inputs{gap:22px}.planner-panel{padding:22px}.planner-tools{gap:8px}.planner-result .planner-rate{margin-bottom:20px}}
@media(max-width:430px){.planner-inputs{grid-template-columns:1fr 1fr}.planner-doc-controls{flex-direction:column;gap:5px}.planner-panel{padding:20px}.planner-heading{gap:10px}.planner-heading h3{font-size:1.3rem}.planner-doc-desc{font-size:12px}.planner-doc-row{gap:9px}.planner-doc-title{font-size:13px}.planner-tools p{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.planner-bars span,.planner-count button,.planner-extra summary::after,.planner-assumptions summary::after{transition:none}}
.planner-allowance{background:#F1ECDF;border:1px solid #D6C8AC;border-radius:12px;padding:17px 18px;margin-top:18px}
.planner-allowance>strong{font-weight:500;font-size:1.45rem;color:#0B1B33;letter-spacing:-.025em}
.planner-allowance>p{font-size:12px;color:#566378;line-height:1.65;margin:7px 0 0}
.planner-allowance .planner-assumptions{margin-top:9px;padding-top:4px}
.planner-allowance label{display:block;font-size:12px;color:#566378;margin:8px 0}
.planner-allowance input{font:inherit;font-size:16px;border:1px solid #C9BEA7;border-radius:8px;padding:10px;width:100%;min-height:44px;color:#0B1B33;background:#fff}

@media(max-width:350px){.planner-inputs{grid-template-columns:1fr}.planner-doc-row{grid-template-columns:1fr}.planner-doc-controls{align-items:flex-start}}
@media(max-width:600px){.planner-inputs{grid-template-columns:1fr}}
@media(min-width:761px) and (max-width:1100px){.planner-inputs{grid-template-columns:1fr}}

.planner-count button:focus-visible,.planner-count input:focus-visible{outline:2px solid #927345;outline-offset:-3px}
.planner-result .planner-packages-link{color:#0B1B33;text-decoration:none}
.planner-result .planner-packages-link:hover{color:#0B1B33;background:#D8BF8C}
#packages .tier.featured::before{content:'Whole case'}
/* Stacked actions share the height needed by the longest label. */
@media(max-width:600px){.pricing-page .callout .cta-row{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}.pricing-page .callout .cta-row>.btn{height:100%;width:100%}}
