.quote-page,.contact-page,.quote-list-page{color:var(--ink, #242722)}.quote-page__hero,.contact-page__hero,.quote-list-page__hero{border-bottom:1px solid var(--line, #d7d7cf);padding-block:55px 35px}.quote-page__hero-copy,.contact-page__hero-copy,.quote-list-page__hero-copy{max-width:800px}.quote-page__hero .display-title,.contact-page__hero .display-title,.quote-list-page__hero .display-title{margin:0;max-width:20ch}.quote-page__hero .display-title{max-width:14ch}.quote-page__lede,.contact-page__lede,.quote-list-page__lede{color:color-mix(in srgb,var(--ink, #242722) 76%,transparent);font-size:clamp(1rem,2vw,1.2rem);line-height:1.65;margin:1.25rem 0 0;max-width:62ch}.quote-page__body{display:grid;gap:clamp(2rem,6vw,5rem)}.quote-page__aside{align-self:start;border-top:3px solid var(--rust, #ac4b31);padding-top:1.25rem}.quote-page__aside h2,.quote-page__aside h3{margin:0}.quote-page__steps{counter-reset:quote-step;display:grid;gap:1rem;list-style:none;margin:1.5rem 0;padding:0}.quote-page__steps li{align-items:start;counter-increment:quote-step;display:grid;gap:.8rem;grid-template-columns:2rem 1fr;line-height:1.5}.quote-page__steps li:before{align-items:center;border:1px solid var(--ink, #242722);content:counter(quote-step);display:flex;font-family:Archivo Variable,Archivo,sans-serif;font-weight:750;height:2rem;justify-content:center;width:2rem}.quote-page__callout{background:var(--ink, #242722);color:var(--paper, #f4f2ed);margin-top:2rem;padding:1.4rem}.quote-page__callout p{margin:0 0 1rem}.quote-page__callout .button{width:100%}.quote-form{background:#fff;border:1px solid var(--line, #d7d7cf);display:grid;gap:clamp(1.4rem,3vw,2.25rem);padding:clamp(1.25rem,4vw,2.5rem)}.quote-form:focus{outline:none}.quote-form__heading{max-width:760px}.quote-form__heading .display-title,.quote-form__heading .section-title{margin:0}.quote-form__intro{color:color-mix(in srgb,var(--ink, #242722) 72%,transparent);line-height:1.65;margin:.9rem 0 0;max-width:65ch}.quote-form__offer{align-items:baseline;background:#f0e4cf;border-left:3px solid var(--rust, #ac4b31);display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:1.25rem;padding:.85rem 1rem}.quote-form__offer strong{font-size:.9rem}.quote-form__offer code{background:#24272214;font-family:Archivo Variable,Archivo,sans-serif;font-size:.82rem;font-weight:750;letter-spacing:.08em;padding:.15rem .35rem}.quote-form__offer p{flex-basis:100%;font-size:.82rem;line-height:1.45;margin:.15rem 0 0}.quote-fieldset{border:0;margin:0;min-width:0;padding:0}.quote-fieldset>legend{margin-bottom:.65rem}.quote-choice-grid{display:grid;gap:.55rem}.quote-choice,.quote-segmented label{cursor:pointer;display:block;position:relative}.quote-choice input,.quote-segmented input{height:1px;opacity:0;position:absolute;width:1px}.quote-choice span,.quote-segmented span{align-items:center;background:var(--paper, #f4f2ed);border:1px solid var(--line, #d7d7cf);display:flex;font-weight:680;min-height:48px;padding:.7rem .9rem}.quote-choice input:checked+span,.quote-segmented input:checked+span{background:var(--ink, #242722);border-color:var(--ink, #242722);color:var(--paper, #f4f2ed)}.quote-choice input:focus-visible+span,.quote-segmented input:focus-visible+span,.quote-check input:focus-visible{outline:3px solid color-mix(in srgb,var(--rust, #ac4b31) 45%,transparent);outline-offset:2px}.quote-segmented{display:grid;gap:.55rem;grid-template-columns:1fr}.quote-form__grid{display:grid;gap:1rem}.quote-control{min-width:0}.quote-control .field{background:#fff;border:1px solid color-mix(in srgb,var(--ink, #242722) 45%,transparent);border-radius:2px;color:var(--ink, #242722);display:block;font:inherit;min-height:48px;padding:.72rem .8rem;width:100%}.quote-control textarea.field{min-height:118px;resize:vertical}.quote-control .field:focus,.quote-fallback__summary:focus{border-color:var(--rust, #ac4b31);outline:3px solid color-mix(in srgb,var(--rust, #ac4b31) 24%,transparent);outline-offset:1px}.quote-control .field[aria-invalid=true]{border-color:#9d231b}.quote-check{align-items:center;cursor:pointer;display:inline-flex;gap:.65rem;margin-top:.7rem;min-height:44px}.quote-check input{accent-color:var(--rust, #ac4b31);height:20px;margin:0;width:20px}.quote-error{color:#842018;font-size:.88rem;font-weight:650;margin:.4rem 0 0}.quote-form__list{background:var(--paper, #f4f2ed);border-left:3px solid var(--rust, #ac4b31);display:grid;gap:1rem;padding:1rem}.quote-form__list p{margin:0}.quote-form__list-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.quote-form__list-heading .text-link{flex-shrink:0;min-height:40px}.quote-form__list ul{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.quote-form__list li{align-items:baseline;border-top:1px solid var(--line, #d7d7cf);display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:space-between;padding-top:.45rem}.quote-details{border-block:1px solid var(--line, #d7d7cf)}.quote-details summary{cursor:pointer;font-family:Archivo Variable,Archivo,sans-serif;font-weight:720;min-height:48px;padding:.85rem 1.5rem .85rem 0}.quote-details__content{padding:.45rem 0 1.25rem}.quote-honeypot{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.quote-form__submit-row{align-items:start;display:grid;gap:.8rem 1.25rem}.quote-form__submit{min-height:50px}.quote-form__submit:disabled{cursor:wait;opacity:.65}.quote-form__submit-row p{line-height:1.5;margin:0}.quote-form__email-link{font-size:.82rem;justify-self:start}.quote-fallback{background:#fff5e8;border:1px solid #c27d35;padding:1.1rem}.quote-fallback h3,.quote-fallback p{margin-top:0}.quote-fallback__summary{background:#fff;border:1px solid var(--line, #d7d7cf);border-radius:2px;display:block;font:.88rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:180px;padding:.75rem;resize:vertical;width:100%}.quote-fallback__actions,.quote-success__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}.quote-fallback__note{font-size:.82rem;margin:.75rem 0 0!important}.quote-success{background:#fff;border:1px solid var(--line, #d7d7cf);border-top:4px solid #42613d;padding:clamp(1.5rem,4vw,3rem)}.quote-success__icon{align-items:center;background:#42613d;color:#fff;display:flex;height:44px;justify-content:center;margin-bottom:1.25rem;width:44px}.quote-success .section-title{margin:0}.quote-success>p:not(.eyebrow){line-height:1.6;max-width:65ch}.quote-success__reference{overflow-wrap:anywhere}.contact-page__layout{display:grid;gap:clamp(2rem,6vw,5rem)}.contact-page__aside{align-self:start}.contact-actions{display:grid;gap:.7rem}.contact-action{align-items:center;background:#fff;border:1px solid var(--line, #d7d7cf);color:var(--ink, #242722);display:grid;gap:.9rem;grid-template-columns:2.5rem 1fr;min-height:72px;padding:.9rem;text-decoration:none}.contact-action:hover{border-color:var(--rust, #ac4b31)}.contact-action__icon{align-items:center;background:var(--ink, #242722);color:var(--paper, #f4f2ed);display:flex;height:2.5rem;justify-content:center;width:2.5rem}.contact-action span:last-child{display:grid;gap:.12rem}.contact-action small{color:color-mix(in srgb,var(--ink, #242722) 68%,transparent)}.contact-hours{border-top:3px solid var(--rust, #ac4b31);margin-top:2rem;padding-top:1.15rem}.contact-hours h2{margin:0 0 .7rem}.contact-hours dl{margin:0}.contact-hours div{border-top:1px solid var(--line, #d7d7cf);display:flex;gap:1rem;justify-content:space-between;padding:.65rem 0}.contact-hours dt,.contact-hours dd{margin:0}.contact-hours dd{font-weight:700;text-align:right}.quote-list-layout{display:grid;gap:clamp(2rem,5vw,4rem)}.quote-list-items{display:grid;gap:.8rem}.quote-list-card{background:#fff;border:1px solid var(--line, #d7d7cf);display:grid;gap:1rem;grid-template-columns:88px minmax(0,1fr);padding:.8rem}.quote-list-card__image{aspect-ratio:1;height:auto;-o-object-fit:cover;object-fit:cover;width:88px}.quote-list-card__body{display:grid;gap:.8rem;min-width:0}.quote-list-card__category,.quote-list-card__price,.quote-list-card__line-total{margin:0}.quote-list-card__category{color:color-mix(in srgb,var(--ink, #242722) 64%,transparent);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.quote-list-card__title{font-size:1.05rem;line-height:1.2;margin:.15rem 0}.quote-list-card__title a{color:inherit;text-decoration:none}.quote-list-card__title a:hover{text-decoration:underline;text-underline-offset:3px}.quote-list-card__price{font-size:.9rem}.quote-list-card__controls{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.quantity-stepper{align-items:stretch;border:1px solid var(--line, #d7d7cf);display:inline-grid;grid-template-columns:44px 54px 44px}.quantity-stepper button,.quantity-stepper input{background:#fff;border:0;border-radius:0;color:var(--ink, #242722);font:inherit;min-height:44px;min-width:44px}.quantity-stepper button{cursor:pointer;font-size:1.2rem}.quantity-stepper button:disabled{cursor:not-allowed;opacity:.35}.quantity-stepper input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border-inline:1px solid var(--line, #d7d7cf);font-weight:700;min-width:0;padding:.25rem;text-align:center;width:54px}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.quote-list-card__remove{background:transparent;border:0;color:#842018;cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;min-height:44px;padding:0 .5rem;text-decoration:underline;text-underline-offset:3px}.quote-list-card__line-total{font-weight:750}.quote-list-summary{align-self:start;background:var(--ink, #242722);color:var(--paper, #f4f2ed);padding:clamp(1.25rem,3vw,2rem)}.quote-list-summary h2{margin:0}.quote-list-summary__amount{align-items:baseline;border-block:1px solid color-mix(in srgb,var(--paper, #f4f2ed) 25%,transparent);display:flex;font-size:1rem;gap:1rem;justify-content:space-between;margin:1.2rem 0;padding:1rem 0}.quote-list-summary__amount strong{font-family:Archivo Variable,Archivo,sans-serif;font-size:clamp(1.5rem,4vw,2rem)}.quote-list-summary__note{color:color-mix(in srgb,var(--paper, #f4f2ed) 78%,transparent);line-height:1.55}.quote-list-summary .button{margin-top:.75rem;width:100%}.quote-list-summary .button-outline{border-color:color-mix(in srgb,var(--paper, #f4f2ed) 65%,transparent);color:var(--paper, #f4f2ed)}.quote-list-summary .button-outline:hover{background:var(--paper, #f4f2ed);color:var(--ink, #242722)}.quote-list-undo{align-items:center;background:#fff;border:1px solid var(--line, #d7d7cf);display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.quote-list-undo p{margin:0}.quote-list-empty{border-top:3px solid var(--rust, #ac4b31);max-width:760px;padding-top:1.5rem}.quote-list-empty h1{margin:0}.quote-list-empty p{line-height:1.65;max-width:58ch}.quote-list-empty__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}@media (min-width: 600px){.quote-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-segmented{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-control--wide{grid-column:1 / -1}.quote-form__submit-row{align-items:center;grid-template-columns:minmax(200px,auto) 1fr}.quote-list-card{grid-template-columns:124px minmax(0,1fr);padding:1rem}.quote-list-card__image{width:124px}.quote-list-card__body{grid-template-columns:minmax(0,1fr) auto}.quote-list-card__controls{align-content:center;align-items:flex-end;flex-direction:column;grid-column:2;grid-row:1}}@media (min-width: 900px){.quote-page__body{grid-template-columns:minmax(0,1fr) minmax(220px,.32fr)}.quote-page__aside{position:sticky;top:7rem}.contact-page__layout{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.contact-page__aside{position:sticky;top:7rem}.quote-list-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.4fr)}.quote-list-summary{position:sticky;top:7rem}}@media (min-width: 1100px){.quote-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.quote-form *,.quote-list-page *,.contact-page *{scroll-behavior:auto!important}}@media (max-width: 767px){.quote-page__hero,.contact-page__hero,.quote-list-page__hero{padding-block:35px 28px}}
