.service-tool{background:#f6f9fb}
.service-tool .tool-intro{max-width:760px;margin-bottom:34px}
.service-tool .tool-intro h2{margin:16px 0 14px}
.service-tool .tool-intro p{color:#506576;font-size:1.04rem;margin-bottom:0}
.prep-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:22px;align-items:start}
.prep-list,.tool-summary,.quote-card{background:#fff;border:1px solid #dce5ec;border-radius:16px;box-shadow:0 16px 38px #071b2c0b}
.prep-list{padding:26px}
.prep-list fieldset{border:0;margin:0;padding:0;min-width:0}
.prep-list legend{font-size:1.05rem;font-weight:800;margin-bottom:10px;padding:0}
.prep-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;padding:15px 0;border-bottom:1px solid #e3ebf0;align-items:center}
.prep-row:last-child{border-bottom:0;padding-bottom:0}
.prep-choice{display:flex;align-items:start;gap:11px;cursor:pointer;min-width:0}
.prep-choice input{accent-color:#1677ff;width:19px;height:19px;flex:none;margin:2px 0 0}
.prep-choice strong{display:block;color:#071b2c;line-height:1.35}
.prep-choice small{display:block;color:#71808d;font-size:.82rem;margin-top:3px}
.prep-qty,.prep-rate{display:flex;gap:7px;align-items:center;justify-content:end;font-size:.8rem;font-weight:750;color:#526777}
.prep-qty input,.prep-rate input{width:78px;min-height:38px;padding:6px 9px;border:1px solid #cbd8e0;border-radius:8px;color:#071b2c;font-size:.9rem;background:#fff}
.prep-qty input:disabled,.prep-rate input:disabled{background:#f2f5f7;color:#8797a3}
.prep-rate{grid-column:1/-1;justify-content:start;padding-left:30px}
.prep-rate input{width:90px}
.tool-summary{padding:28px;position:sticky;top:100px;background:#071b2c;color:#fff;border-color:#071b2c}
.tool-summary .summary-overline{color:#25c7d9;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.tool-summary h3{font-size:1.3rem;margin:13px 0 18px}
.tool-total{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:850;letter-spacing:-.04em;line-height:1.05;margin-bottom:22px}
.tool-summary .button{width:100%;text-align:center}
.tool-summary p{font-size:.83rem;color:#c8d7e0;line-height:1.5;margin:16px 0 0}
.quote-layout{display:grid;grid-template-columns:minmax(0,.67fr) minmax(0,1.33fr);gap:44px;align-items:start}
.quote-layout .tool-intro{margin:0}
.quote-aside{margin:25px 0 0;padding:20px;border-left:3px solid #25c7d9;background:#e9f3f8;color:#3e5668;border-radius:0 10px 10px 0;line-height:1.6}
.quote-card{padding:32px}
.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}
.quote-field{display:block;font-weight:750;color:#071b2c;font-size:.88rem}
.quote-field input,.quote-field select,.quote-field textarea{display:block;width:100%;font:inherit;font-weight:500;color:#071b2c;background:#fff;border:1px solid #cbd8e0;border-radius:8px;padding:12px 13px;margin-top:8px;min-height:47px}
.quote-field textarea{min-height:106px;resize:vertical}
.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus,.prep-qty input:focus,.prep-rate input:focus{outline:3px solid #25c7d966;border-color:#1677ff}
.quote-field.wide{grid-column:1/-1}
.quote-card .button{margin-top:24px}
.quote-note{font-size:.82rem;color:#627583;margin:12px 0 0}
.quote-status{font-weight:700;color:#12587b;margin:12px 0 0}
@media(max-width:900px){.prep-layout,.quote-layout{grid-template-columns:1fr}.tool-summary{position:static}.quote-layout{gap:24px}}
@media(max-width:560px){.prep-list,.tool-summary,.quote-card{padding:20px}.prep-row{grid-template-columns:1fr}.prep-qty{justify-content:start;padding-left:30px}.quote-grid{grid-template-columns:1fr}.quote-field.wide{grid-column:auto}}

/* Featured service tools appear immediately after their page hero. */
.service-tool--featured{padding-top:68px;padding-bottom:82px;background:linear-gradient(180deg,#eaf3f9 0%,#f6f9fb 42%);border-top:1px solid #d7e7f0}
.service-tool--featured .tool-intro{max-width:830px;margin:0 0 30px}
.service-tool--featured .tool-intro h2{margin-top:12px}
.service-tool--featured .tool-intro p{max-width:740px}
.service-tool--featured .quote-layout{grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr);gap:26px}
.service-tool--featured .quote-aside{margin:0;align-self:start}
.quote-group{padding:0;margin:0 0 28px;border:0;min-width:0}
.quote-group:not(:first-child){padding-top:25px;border-top:1px solid #dce5ec}
.quote-group legend{font-size:1.12rem;font-weight:800;padding:0;margin-bottom:16px;color:#071b2c}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}
.quote-fields .quote-field{min-width:0}
@media(max-width:900px){.service-tool--featured .quote-layout{grid-template-columns:1fr}.service-tool--featured .quote-aside{max-width:none}}
@media(max-width:900px){.service-tool--featured .prep-layout .tool-summary{order:-1}.service-tool--featured .prep-layout{gap:15px}}
@media(max-width:560px){.service-tool--featured{padding-top:47px;padding-bottom:55px}.quote-fields{grid-template-columns:1fr}.quote-group{margin-bottom:22px}.quote-group:not(:first-child){padding-top:22px}}

/* Amazon Prep: calculator first, with compact horizontal service choices. */
.service-tool--featured.prep-first{padding:43px 0 68px;background:linear-gradient(180deg,#eaf3f9 0%,#f6f9fb 100%);border-top:0}
.prep-first .breadcrumbs{margin-bottom:19px}
.prep-first .tool-intro{max-width:none;margin-bottom:23px}
.prep-first .tool-intro h1{font-size:clamp(2rem,3.9vw,3.5rem);line-height:1.12;letter-spacing:-.045em;margin:12px 0 9px;color:#071b2c}
.prep-first .tool-intro p{max-width:830px;font-size:.98rem;line-height:1.5}
.prep-first .prep-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.prep-first .prep-list{padding:21px}
.prep-first .prep-list fieldset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.prep-first .prep-list legend{grid-column:1/-1;width:100%;margin:0 0 12px}
.prep-first .prep-row,.prep-first .prep-row:last-child{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;min-height:82px;padding:12px;border:1px solid #dce5ec;border-radius:10px;background:#fff;min-width:0}
.prep-first .prep-row.is-selected{border-color:#1677ff;background:#f0f8ff}
.prep-first .prep-choice{align-items:flex-start;gap:8px}
.prep-first .prep-choice input{width:17px;height:17px;margin:1px 0 0}
.prep-first .prep-choice strong{font-size:.83rem;line-height:1.25}
.prep-first .prep-choice small{font-size:.72rem;line-height:1.2;margin-top:3px}
.prep-first .prep-row:not(.is-selected) .prep-qty,.prep-first .prep-row:not(.is-selected) .prep-rate{display:none}
.prep-first .prep-qty,.prep-first .prep-rate{justify-content:space-between;flex-wrap:wrap;gap:5px;padding:0 0 0 25px;font-size:.72rem;line-height:1.2}
.prep-first .prep-qty label,.prep-first .prep-rate label{font:inherit;color:inherit;cursor:pointer}
.prep-first .prep-number-control{display:inline-flex;align-items:stretch;flex:none;height:36px}
.prep-first .prep-number-control input{appearance:textfield;-moz-appearance:textfield;width:62px;min-height:36px;height:36px;padding:4px 6px;font-size:.83rem;border-radius:8px 0 0 8px;text-align:center}
.prep-first .prep-number-control input::-webkit-inner-spin-button,.prep-first .prep-number-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.prep-first .prep-step-buttons{display:grid;grid-template-rows:repeat(2,18px)}
.prep-first .prep-step-buttons button{position:relative;display:grid;place-items:center;width:24px;height:18px;padding:0;border:1px solid #cbd8e0;border-left:0;background:#eef5fa;color:#1677ff;font-size:0;line-height:1;cursor:pointer}
.prep-first .prep-step-buttons button::before,.prep-first .prep-step-buttons button[data-prep-step="up"]::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:1px}
.prep-first .prep-step-buttons button::before{width:9px;height:2px}
.prep-first .prep-step-buttons button[data-prep-step="up"]::after{width:2px;height:9px}
.prep-first .prep-step-buttons button:first-child{border-radius:0 7px 0 0;border-bottom:0}
.prep-first .prep-step-buttons button:last-child{border-radius:0 0 7px 0}
.prep-first .prep-step-buttons button:hover:not(:disabled){background:#dceefe}
.prep-first .prep-step-buttons button:disabled{opacity:.45;cursor:not-allowed}
.prep-first .prep-step-buttons button:focus-visible{outline:2px solid #1677ff;outline-offset:1px;z-index:1}
.service-tool--featured.prep-first .prep-layout .tool-summary{order:1}
.prep-first .tool-summary{position:static;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,240px);gap:8px 22px;align-items:center;padding:18px 23px}
.prep-first .tool-summary .summary-overline{grid-column:1;align-self:end}
.prep-first .tool-summary h3{grid-column:1;margin:0;align-self:start;font-size:1.06rem}
.prep-first .tool-total{grid-column:2;grid-row:1/3;font-size:clamp(1.8rem,3vw,2.4rem);margin:0;white-space:nowrap}
.prep-first .tool-summary .button{grid-column:3;grid-row:1/3;margin:0}
.prep-first .tool-summary p{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:9px;margin:0;font-size:.76rem}
.prep-first+.detail-hero{padding-top:72px}
.prep-first+.detail-hero h2{font-size:clamp(2.2rem,3.8vw,3.6rem);line-height:1.13;letter-spacing:-.04em;margin:24px 0}
@media(max-width:1050px){.prep-first .prep-list fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.prep-first .prep-list fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-first .tool-summary{grid-template-columns:1fr auto;gap:5px 10px}.prep-first .tool-total{grid-column:2;grid-row:1/3}.prep-first .tool-summary .button{grid-column:1/-1;grid-row:auto;margin-top:8px}.prep-first .tool-summary p{grid-column:1/-1}}
@media(max-width:560px){.service-tool--featured.prep-first{padding:28px 0 42px}.prep-first .prep-list{padding:14px}.prep-first .prep-row,.prep-first .prep-row:last-child{min-height:79px;padding:10px}.prep-first .tool-summary{padding:17px}.prep-first+.detail-hero{padding-top:48px}}
@media(max-width:360px){.prep-first .prep-list fieldset{grid-template-columns:1fr}}
.prep-quote-disclosure{display:block;width:100%;margin:18px 0 0}
.prep-quote-disclosure>summary{display:block;width:max-content;max-width:100%;list-style:none;cursor:pointer;text-align:center}
.prep-quote-disclosure>summary::-webkit-details-marker{display:none}
.prep-quote-disclosure[open]>summary{margin-bottom:16px}
.prep-quote-card{width:100%;margin-top:0;background:#fff;border:1px solid #d9e0e5;border-radius:12px;padding:clamp(18px,3vw,30px);color:#071b2c;box-shadow:0 16px 35px #071b2c12}
.prep-quote-card h2{margin:0 0 22px}
.prep-quote-card .form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.prep-quote-card .form-fields>*{min-width:0}
.prep-quote-card .form-fields .field-wide{grid-column:1/-1}
.prep-quote-card input,.prep-quote-card textarea{width:100%;min-width:0}
.prep-quote-card textarea{resize:vertical}
.prep-quote-card .button{margin-top:24px;border:0}
@media(max-width:700px){.prep-quote-disclosure{margin-top:14px}.prep-quote-disclosure>summary{width:100%}.prep-quote-card .form-fields{grid-template-columns:1fr;gap:16px}.prep-quote-card .form-fields .field-wide{grid-column:auto}.prep-quote-card .button{width:100%;margin-top:22px}}

/* Keep the request control inside the estimate while the full-width form follows it. */
.prep-first .tool-summary .prep-request-button{grid-column:3;grid-row:1/3;min-width:0;margin:0}
.prep-quote-disclosure[hidden]{display:none}
@media(max-width:700px){.prep-first .tool-summary .prep-request-button{grid-column:1/-1;grid-row:auto;margin-top:6px}}
