.buyer-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg)}.buyer-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.buyer-header__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);max-width:1100px;margin:0 auto;height:52px}.buyer-header__wordmark{display:flex;align-items:center;flex-shrink:0}.buyer-header__wordmark img{height:22px;width:auto;display:block}.buyer-header__steps{display:flex;align-items:center;gap:var(--space-6)}.buyer-header__step{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-text-muted);position:relative;transition:color .15s ease}.buyer-header__step--done{color:var(--color-green)}.buyer-header__step--current{color:var(--color-navy);font-weight:600}.buyer-header__step+.buyer-header__step:before{content:"·";position:absolute;left:calc(-1 * var(--space-4));color:var(--color-border)}@media (max-width:480px){.buyer-header__steps{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px var(--space-6);font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1;border-radius:var(--radius-sm);border:1.5px solid transparent;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-navy);color:var(--color-text-on-navy);border-color:var(--color-navy)}.btn--primary:hover:not(:disabled){opacity:.88}.btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--ghost:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-navy)}.btn--text{background:transparent;color:var(--color-green);border-color:transparent;padding-left:0;padding-right:0;font-size:14px}.btn--text:hover:not(:disabled){opacity:.75}.btn--sm{padding:7px var(--space-4);font-size:13px}.btn--full{width:100%}.field-group,.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label,.form-field__label{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-text)}.field-input,.form-field__input{padding:10px var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .15s ease;width:100%}.field-input:focus,.form-field__input:focus{border-color:var(--color-green)}.field-input::placeholder,.form-field__input::placeholder{color:var(--color-text-muted)}.form-field__input--error{border-color:var(--color-error)}.field-hint,.form-field__hint{font-size:12px;color:var(--color-text-muted);line-height:1.4}.field-required{color:var(--color-error)}.field-optional{font-size:12px;font-weight:400;color:var(--color-text-muted)}.field-group--nested{padding-left:var(--space-4);border-left:2px solid var(--color-border)}.field-error{color:var(--color-error)}.field-error,.field-warning{font-size:13px;font-weight:500}.field-warning{color:var(--color-amber);background:color-mix(in srgb,var(--color-amber) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-amber) 30%,transparent);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.buyer-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-8);width:100%}.buyer-home{max-width:640px;margin:0 auto;padding:var(--space-12) var(--space-6);gap:var(--space-8)}.buyer-home,.buyer-home__hero{display:flex;flex-direction:column}.buyer-home__hero{gap:var(--space-4)}.buyer-home__headline{font-family:var(--font-display);font-size:clamp(26px,4vw,36px);font-weight:700;line-height:1.1;letter-spacing:-.5px;color:var(--color-text)}.buyer-home__sub{font-size:15px;line-height:1.65;color:var(--color-text);max-width:520px}.buyer-home__form-area{display:flex;flex-direction:column;gap:var(--space-4)}.address-entry-form{display:flex;flex-direction:column;gap:var(--space-3)}.address-entry-form__label{font-size:13px;font-weight:500;color:var(--color-text)}.address-entry-form__row{display:flex;gap:var(--space-2)}.address-entry-form__input{flex:1 1;padding:12px var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .15s ease;min-width:0}.address-entry-form__input:focus{border-color:var(--color-green)}.address-entry-form__input::placeholder{color:var(--color-text-muted)}.address-entry-form__btn{padding:12px var(--space-6);background:var(--color-navy);color:var(--color-text-on-navy);font-family:var(--font-display);font-size:15px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:opacity .15s ease;flex-shrink:0}.address-entry-form__btn:hover:not(:disabled){opacity:.88}.address-entry-form__btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:480px){.address-entry-form__row{flex-direction:column}.address-entry-form__btn{width:100%}}.parcel-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.parcel-card__badge{display:inline-flex;align-items:center;gap:var(--space-2);background:color-mix(in srgb,var(--color-green) 10%,transparent);color:var(--color-green);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:4px var(--space-3);border-radius:var(--radius-sm);width:-moz-fit-content;width:fit-content}.parcel-card__badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--color-green)}.parcel-card__address{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-text);line-height:1.25}.parcel-card__metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4)}.parcel-card__metrics dt{font-size:12px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.parcel-card__metrics dd{font-size:14px;font-weight:600;color:var(--color-text)}.parcel-card__actions{display:flex;flex-direction:column;gap:var(--space-3)}.out-of-area-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.out-of-area-card__heading{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-text)}.out-of-area-card__body{font-size:14px;color:var(--color-text);line-height:1.65}.out-of-area-card__label{font-size:13px;font-weight:500;color:var(--color-text)}.out-of-area-card__row{display:flex;gap:var(--space-2)}.out-of-area-card__input{flex:1 1;padding:10px var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .15s ease;min-width:0}.out-of-area-card__input:focus{border-color:var(--color-green)}.out-of-area-card__reset{margin-top:var(--space-2)}.manual-dims-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.manual-dims-card__heading{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--color-text)}.manual-dims-card__body{font-size:14px;color:var(--color-text-muted);line-height:1.65}.error-card,.manual-dims-card__form{display:flex;flex-direction:column;gap:var(--space-4)}.error-card{background:color-mix(in srgb,var(--color-error) 6%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-error) 25%,var(--color-border));border-radius:var(--radius-md);padding:var(--space-6)}.error-card__message{font-size:14px;color:var(--color-error)}.error-text,.loading-text{padding:var(--space-16) var(--space-6);text-align:center;font-size:14px;color:var(--color-text-muted)}.error-text{color:var(--color-error)}.buyer-menu{max-width:1100px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-16);width:100%}.buyer-menu__layout{display:grid;grid-template-columns:1fr 320px;grid-gap:var(--space-8);gap:var(--space-8);align-items:start}.buyer-menu__catalog{min-width:0}.buyer-menu__heading{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-6)}.menu-category{margin-bottom:var(--space-8)}.menu-category__heading{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--color-text);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-4);letter-spacing:-.2px}.menu-category__grid{display:flex;flex-direction:column;gap:var(--space-3)}.menu-item{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);transition:border-color .15s ease}.menu-item--selected{border-color:var(--color-green);background:color-mix(in srgb,var(--color-green) 4%,var(--color-surface))}.menu-item__body{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.menu-item__info{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.menu-item__badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.menu-item__badge--instant{background:color-mix(in srgb,var(--color-green) 12%,transparent);color:var(--color-green)}.menu-item__badge--assessed{background:color-mix(in srgb,var(--color-amber) 12%,transparent);color:var(--color-amber)}.menu-item__name{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text);line-height:1.35}.menu-item__actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.qty-control{gap:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px}.qty-control,.qty-control__btn{display:flex;align-items:center}.qty-control__btn{justify-content:center;width:28px;height:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;font-size:16px;line-height:1;cursor:pointer;color:var(--color-text);transition:background .1s ease}.qty-control__btn:hover{background:var(--color-bg)}.qty-control__value{font-size:14px;font-weight:600;color:var(--color-text);min-width:24px;text-align:center}.price{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1}.price--instant{color:var(--color-navy)}.price--assessed{color:var(--color-amber)}.price__assessed-label{font-size:12px;font-weight:400;color:var(--color-text-muted);margin-left:2px}.cart-sidebar{position:-webkit-sticky;position:sticky;top:calc(52px + var(--space-6));background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.cart-sidebar__heading{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.cart-sidebar__empty{font-size:13px;color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.cart-sidebar__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.cart-sidebar__line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.cart-sidebar__line:last-child{border-bottom:none;padding-bottom:0}.cart-sidebar__line-name{font-size:13px;color:var(--color-text);line-height:1.35;flex:1 1;min-width:0}.cart-sidebar__subtotal{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-top:2px solid var(--color-border);font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--color-text)}.cart-sidebar__warning{color:var(--color-amber);background:color-mix(in srgb,var(--color-amber) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-amber) 25%,transparent);border-radius:var(--radius-sm)}.cart-sidebar__mixed-banner,.cart-sidebar__warning{font-size:12px;padding:var(--space-3);line-height:1.5}.cart-sidebar__mixed-banner{color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.cart-sidebar__cta{width:100%}.timeline-selector{display:flex;flex-direction:column;gap:var(--space-2)}.timeline-selector__label{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.timeline-selector__options{display:flex;gap:var(--space-1);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px}.timeline-selector__btn{flex:1 1;padding:6px var(--space-2);font-family:var(--font-body);font-size:12px;font-weight:500;border:none;border-radius:3px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .1s ease,color .1s ease;text-align:center}.timeline-selector__btn--active{background:var(--color-surface);color:var(--color-navy);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.06)}@media (max-width:767px){.buyer-menu__layout{grid-template-columns:1fr}.cart-sidebar{position:static;order:-1}}.intake-page{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);gap:var(--space-8)}.intake-page,.intake-page__header{display:flex;flex-direction:column}.intake-page__header{gap:var(--space-3)}.intake-page__heading{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--color-text)}.intake-page__sub{font-size:14px;color:var(--color-text-muted);line-height:1.65}.intake-page__sections{display:flex;flex-direction:column;gap:var(--space-6)}.intake-page__footer{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.intake-service{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.intake-service__header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.intake-service__name{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--color-text);flex:1 1}.intake-service__count{font-size:12px;color:var(--color-text-muted);margin-left:auto}.intake-service__guidance{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-sm)}.intake-service__guidance li{font-size:13px;color:var(--color-text);line-height:1.5;padding-left:var(--space-4);position:relative}.intake-service__guidance li:before{content:"—";position:absolute;left:0;color:var(--color-green)}.intake-service__thumbs{display:flex;flex-wrap:wrap;gap:var(--space-3)}.thumb{position:relative;width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.thumb__img{width:100%;height:100%;object-fit:cover;display:block}.thumb__placeholder{width:100%;height:100%;background:var(--color-bg);font-size:11px;font-weight:700;color:var(--color-text-muted);letter-spacing:.5px}.thumb__placeholder,.thumb__remove{display:flex;align-items:center;justify-content:center}.thumb__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;background:rgba(0,0,0,.55);color:var(--color-text-inverse);border:none;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;transition:background .1s ease}.thumb__remove:hover{background:var(--color-error)}.intake-service__dropzone{display:flex;align-items:center;gap:var(--space-3)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;width:-moz-fit-content;width:fit-content;flex-shrink:0}.badge--assessed{background:color-mix(in srgb,var(--color-amber) 12%,transparent);color:var(--color-amber)}.badge--instant{background:color-mix(in srgb,var(--color-green) 12%,transparent);color:var(--color-green)}.checkout-page{max-width:540px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.checkout-page__header{display:flex;flex-direction:column;gap:var(--space-3)}.checkout-page__heading{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--color-text);letter-spacing:-.3px}.checkout-page__sub{font-size:14px;color:var(--color-text-muted);line-height:1.65}.checkout-form{display:flex;flex-direction:column;gap:var(--space-6)}.checkout-form__footer{padding-top:var(--space-2)}.order-page{max-width:640px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-6)}.order-page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.order-page__heading{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--color-text)}.status-badge{display:inline-flex;align-items:center;padding:4px var(--space-3);border-radius:var(--radius-sm);font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.status-badge--completed,.status-badge--paid{background:color-mix(in srgb,var(--color-green) 10%,transparent);color:var(--color-green);border-color:color-mix(in srgb,var(--color-green) 30%,transparent)}.status-badge--quote-ready,.status-badge--quoted{background:color-mix(in srgb,var(--color-amber) 10%,transparent);color:var(--color-amber);border-color:color-mix(in srgb,var(--color-amber) 30%,transparent)}.status-badge--cancelled,.status-badge--expired,.status-badge--refunded{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 30%,transparent)}.status-badge--dispatched,.status-badge--in-progress{background:color-mix(in srgb,var(--color-navy) 10%,transparent);color:var(--color-navy);border-color:color-mix(in srgb,var(--color-navy) 30%,transparent)}.status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-3)}.status-card--cancelled,.status-card--error{border-color:color-mix(in srgb,var(--color-error) 30%,var(--color-border))}.status-card__title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--color-text)}.status-card__desc{font-size:14px;color:var(--color-text);line-height:1.65}.quote-review{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.quote-review__heading{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-text)}.quote-review__sub{font-size:14px;color:var(--color-text-muted);line-height:1.5}.quote-lines{list-style:none;display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.quote-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border);transition:background .1s ease}.quote-line:last-child{border-bottom:none}.quote-line--accepted{background:var(--color-surface)}.quote-line--declined{background:var(--color-bg);opacity:.55}.quote-line__label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;flex:1 1;min-width:0}.quote-line__checkbox{width:16px;height:16px;accent-color:var(--color-green);flex-shrink:0}.quote-line__name{font-size:14px;color:var(--color-text)}.quote-line__price{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--color-text);flex-shrink:0}.quote-review__total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;border-top:2px solid var(--color-border)}.quote-review__total-label{font-size:14px;color:var(--color-text-muted)}.quote-review__total-amount{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--color-text)}.quote-review__actions{display:flex;flex-direction:column;gap:var(--space-3)}.link{color:var(--color-green);text-decoration:underline;text-underline-offset:2px}.link:hover{opacity:.8}