.price-builder{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;color:#f5f6f6}
.price-builder-heading{grid-column:1/-1}.price-builder-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#b6bfbd}.price-builder h2{font-size:36px;letter-spacing:-.04em;margin:10px 0}.price-builder-heading>p{max-width:640px;line-height:1.6;font-size:14px;color:#b3bcba;margin:0}
.price-blocks{border:0;margin:0;padding:0;min-width:0;display:grid;align-content:start;gap:10px}.price-blocks legend{padding:0;margin-bottom:16px;font-size:16px;font-weight:600}
.price-block{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #ffffff24;border-radius:22px;background:rgba(27,29,29,.84);cursor:pointer;transition:border-color .15s,background .15s}.price-block:hover{border-color:#ffffff70}.price-block:has(input:checked){border-color:#e4e9e7;background:#333838}.price-block input,.block-check input{appearance:none;flex:none;width:22px;height:22px;margin:0;border:1px solid #9ba5a2;border-radius:7px;background:#171b1a;display:grid;place-content:center;cursor:pointer}.price-block input:checked,.block-check input:checked{background:#f0f4f2;border-color:#f0f4f2}.price-block input:checked::after,.block-check input:checked::after{content:'';width:9px;height:5px;border-left:2px solid #121614;border-bottom:2px solid #121614;transform:translateY(-1px) rotate(-45deg)}
.price-block input:focus-visible,.block-check input:focus-visible,.price-builder button:focus-visible{outline:2px solid #fff;outline-offset:5px}.price-block-copy{min-width:0;flex:1}.price-block-copy strong{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere}.price-block-copy>span{display:block;color:#b5bdbb;font-size:12px;line-height:1.6;margin-top:5px}.price-block-amount{flex:none;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.price-summary{align-self:start;position:sticky;top:24px;padding:24px;border:1px solid #ffffff29;border-radius:26px;background:rgba(29,32,31,.95)}.price-summary-label{font-size:12px;color:#b5bdbb}.price-summary h3{margin:8px 0 22px;font-size:20px}.price-summary-result>strong{display:block;font-size:32px;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.price-summary-result>p{color:#bdc5c2;font-size:12px;line-height:1.6;min-height:38px}.price-selected{padding:0;margin:20px 0;list-style:none;display:grid;gap:8px}.price-selected li{font-size:12px;color:#d2d9d6;padding-left:16px;position:relative;overflow-wrap:anywhere}.price-selected li::before{content:'·';position:absolute;left:2px}
.price-builder button{font:inherit;cursor:pointer;border-radius:14px;min-height:44px;width:100%;padding:12px 14px}.price-discuss,.price-recalculate{display:flex;align-items:center;justify-content:space-between;background:#f0f3f2;border:1px solid #f0f3f2;color:#131715;font-size:13px!important}.price-recalculate[hidden]{display:none}.price-reset{background:transparent;color:#c3ccc8;border:1px solid #ffffff20;margin-top:10px;font-size:12px!important}.price-builder button:hover{filter:brightness(.9)}.price-summary-footnote{font-size:11px;color:#b5bdbb;line-height:1.6;margin:18px 0 0}
body:has(.price-builder) .contact-modal{z-index:6000}
@media(max-width:900px){.price-builder{grid-template-columns:1fr}.price-summary{position:static}.price-summary h3{margin-bottom:12px}.price-selected{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.price-builder{gap:22px}.price-block{padding:16px;gap:12px;flex-wrap:wrap}.price-block-copy{flex-basis:calc(100% - 34px)}.price-block-amount{margin-left:34px}.price-summary{padding:20px}.price-selected{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.price-block{transition:none}}
@media(forced-colors:active){.price-block input,.block-check input{appearance:auto}.price-block input::after,.block-check input::after{display:none}}

/* One project type at a time, with a single continuous list of options. */
.pricing-types{display:flex;border-bottom:1px solid #ffffff30;margin:0 0 32px;gap:24px}
.pricing-type{display:flex;align-items:center;min-height:52px;padding:12px 0;color:#b7c0bd;text-decoration:none;font-size:14px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.pricing-type:hover{color:#fff}.pricing-type[aria-current],.pricing-type[aria-selected="true"]{color:#fff;border-bottom-color:#fff}
.pricing-type:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
.pricing-panels{display:block}.pricing-panel[hidden]{display:none}
.pricing-panel .price-builder{gap:24px 32px}.pricing-panel .price-builder h2{font-size:28px;margin:0 0 10px}
.pricing-panel .price-blocks{display:block;border:1px solid #ffffff24;border-radius:20px;overflow:hidden;padding:0 20px;background:rgba(25,29,27,.8)}
.pricing-panel .price-blocks legend{float:left;width:100%;padding:20px 0 14px;margin:0;font-size:13px;color:#bec7c3}
.pricing-panel .price-block{clear:both;border:0;border-top:1px solid #ffffff1c;border-radius:0;padding:16px 0;margin:0;background:transparent;min-height:82px}
.pricing-panel .price-block:has(input:checked){background:transparent}.pricing-panel .price-block:has(input:checked) .price-block-copy strong{color:#fff}
.pricing-panel .price-block:hover{background:#ffffff04}.pricing-panel .price-summary{border-radius:20px}
@media(max-width:900px){.pricing-types{gap:20px}.pricing-type{font-size:13px}.pricing-panel .price-builder{gap:20px}}
@media(max-width:700px){.pricing-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-bottom:24px}.pricing-type{font-size:12px;min-height:48px}.pricing-panel .price-blocks{padding:0 16px}.pricing-panel .price-block{gap:10px}.pricing-panel .price-block-amount{font-size:12px}.pricing-panel .price-builder h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.pricing-type{transition:none}}
