:root{--cat-text-heading:#2a2420;--cat-text-body:#6a6253;--cat-text-subtle:#9b9482;--cat-text-meta:#8a836f;--cat-text-placeholder:#b0a994;--cat-surface-warm:#faf8f2;--cat-border-warm:#e0d9c9;--cat-border-card:#e4ddcd;--cat-divider-warm:#f0ebdf;--cat-divider-lavender:#f0e6ed;--cat-section-bg-warm:#f6f3ec;--cat-section-bg-deep:#efe9df;--cat-gold-deep:#a98f2e;--cat-gold-contrast:#2a2410;--cat-gold-tint:#fbf3da;--cat-gold-tint-pale:#fdf8e8;--cat-gold-border:#ecdca0;--cat-gold-text-dark:#7a6420;--cat-sage-tint:#f4f5e8;--cat-sage-border:#9aa06a;--cat-sage-border-soft:#c3c79a;--cat-sage-text-dark:#5c5e36;--cat-success:#3a5c3a;--cat-success-tint:#e2efe2;--cat-magenta-border:#e0cdda;--cat-magenta-light:#c98fbd;--cat-shadow-card:0 2px 16px rgba(42,36,32,.03);--cat-shadow-menu:0 2px 20px rgba(42,36,32,.04);--cat-shadow-summary:0 10px 40px rgba(141,83,131,.13);--cat-hero-subtext:rgba(236,233,222,.72);--cat-hero-pill-text:rgba(236,233,222,.78);--cat-hero-pill-bg:rgba(236,233,222,.07);--cat-hero-pill-border:rgba(236,233,222,.16);--cat-hero-outline-border:rgba(236,233,222,.35);--cat-hero-gold-pill-bg:rgba(225,175,12,.13);--cat-hero-gold-pill-border:rgba(225,175,12,.55);--cat-hero-badge-bg:rgba(40,15,67,.78);--cat-photo-placeholder:#2e124c}.catering-menu{background:var(--cat-section-bg-warm);padding:var(--section-padding-y) 0;width:100%}.catering-menu__inner{margin:0 auto;max-width:var(--max-width-content);padding:0 var(--section-padding-x)}.catering-menu__eyebrow{align-items:center;color:var(--color-secondary-purple);display:flex;font-family:var(--font-family-mono);font-size:10px;gap:9px;letter-spacing:.16em;margin-bottom:8px;text-transform:uppercase}.catering-menu__eyebrow-diamond{background:var(--color-secondary-purple);display:block;flex-shrink:0;height:6px;transform:rotate(45deg);width:6px}.catering-menu__heading{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:clamp(22px,2.5vw,32px);font-weight:800;margin:0 0 12px}.catering-menu__header-row{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:32px}.catering-menu__header-left{flex:1 1 auto}.catering-menu__subtext{color:var(--cat-text-body);font-family:var(--font-family-primary);font-size:15px;line-height:1.55;margin:0;max-width:520px}.catering-menu__price-pill{align-self:flex-start;background:var(--cat-gold-tint);border:1px solid var(--cat-gold-border);border-radius:var(--radius-pill);color:var(--cat-gold-deep);flex-shrink:0;font-family:var(--font-family-mono);font-size:13px;font-weight:600;padding:9px 18px;white-space:nowrap}.catering-packages{display:flex;flex-wrap:wrap;gap:var(--spacing-card-gap);margin-bottom:22px}.catering-package{border-radius:var(--radius-card);display:flex;flex:1 1 340px;flex-direction:column;overflow:hidden}.catering-photo-placeholder{background:var(--cat-photo-placeholder)}.catering-photo-placeholder:after{bottom:12px;color:var(--cat-hero-pill-border);content:attr(data-label);font-family:var(--font-family-mono);font-size:10px;letter-spacing:.06em;position:absolute;right:14px}.catering-package__photo{flex-shrink:0;height:200px;overflow:hidden;position:relative}.catering-package__photo img{display:block;height:100%;inset:0;object-fit:cover;object-position:center;position:absolute;width:100%}.catering-package__body{display:flex;flex:1;flex-direction:column;padding:24px 24px 26px}.catering-package--taco{background:var(--color-surface-card);border:2px solid var(--color-bright-gold)}.catering-package--grains{background:var(--color-surface-card);border:2px solid var(--color-sage-olive)}.catering-package__header{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.catering-package__name{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:19px;font-weight:800;letter-spacing:-.01em}.catering-package__price{font-family:var(--font-family-mono);font-size:14px;font-weight:600;white-space:nowrap}.catering-package--taco .catering-package__price{color:var(--cat-gold-deep)}.catering-package--grains .catering-package__price{color:var(--color-sage-olive)}.catering-package__badge{border-radius:var(--radius-pill);font-family:var(--font-family-mono);font-size:10px;font-weight:600;left:14px;letter-spacing:.06em;padding:6px 12px;position:absolute;text-transform:uppercase;top:14px;white-space:nowrap;z-index:1}.catering-package--taco .catering-package__badge{background:var(--color-bright-gold);color:var(--color-primary-purple)}.catering-package--grains .catering-package__badge{background:var(--color-sage-olive);color:var(--color-off-white)}.catering-package__desc{color:var(--cat-text-body);font-family:var(--font-family-primary);font-size:14.5px;line-height:1.55;margin:0 0 18px}.catering-package__proteins{border-top:1px solid var(--cat-divider-warm);margin-top:auto;padding-top:16px}.catering-package__protein-label{font-family:var(--font-family-mono);font-size:10px;letter-spacing:.08em;margin-bottom:9px;text-transform:uppercase}.catering-package--taco .catering-package__protein-label{color:var(--cat-gold-deep)}.catering-package--grains .catering-package__protein-label{color:var(--color-sage-olive)}.catering-package__protein-pills{display:flex;flex-wrap:wrap;gap:7px}.catering-protein-pill{background:var(--color-surface-card);border:1.5px solid var(--cat-border-warm);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-family-mono);font-size:11px;padding:7px 12px;user-select:none}.catering-protein-pill.is-selected{background:var(--color-bright-gold);border-color:var(--color-bright-gold);color:var(--color-primary-purple)}.catering-package--grains .catering-protein-pill.is-selected{background:var(--color-sage-olive);border-color:var(--color-sage-olive);color:var(--color-off-white)}.catering-protein-pill--veg{background:var(--cat-sage-tint);border:1.5px dashed var(--color-sage-olive);color:var(--color-sage-olive)}.catering-protein-pill--display{background:var(--cat-surface-warm);cursor:default;pointer-events:none}.catering-protein-pill__surcharge{color:var(--color-text-muted);display:block;font-size:9px;letter-spacing:.03em;margin-top:2px}.catering-protein-pill.is-selected .catering-protein-pill__surcharge{color:var(--color-primary-purple)}.catering-package--grains .catering-protein-pill.is-selected .catering-protein-pill__surcharge{color:var(--color-off-white)}.catering-includes{background:var(--color-surface-card);border:1.5px solid var(--cat-border-card);border-radius:var(--radius-card);padding:22px 24px}.catering-includes__label{color:var(--cat-text-meta);font-family:var(--font-family-mono);font-size:11px;letter-spacing:.12em;margin-bottom:16px}.catering-includes__grid{display:flex;flex-wrap:wrap;gap:16px 32px}.catering-includes__item{flex:0 0 max(160px,calc(25% - 24px))}.catering-includes__item-title{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:13px;font-weight:700;margin-bottom:5px}.catering-includes__item-body{color:var(--cat-text-body);font-family:var(--font-family-primary);font-size:12.5px;line-height:1.5}.catering-includes__note{border-top:1px solid var(--cat-divider-warm);color:var(--cat-sage-text-dark);font-family:var(--font-family-mono);font-size:10.5px;font-style:italic;margin-top:14px;padding-top:12px}.catering-builder{background:var(--cat-section-bg-deep);padding:var(--section-padding-y) 0;width:100%}.catering-builder__inner{align-items:flex-start;display:flex;flex-wrap:wrap;gap:28px;margin:0 auto;max-width:var(--max-width-content);padding:0 var(--section-padding-x)}.catering-builder__steps{display:flex;flex:1 1 540px;flex-direction:column;gap:16px;min-width:300px}.catering-builder__summary{align-self:flex-start;flex:0 0 340px;position:sticky;top:90px}.catering-step-card{background:var(--color-surface-card);border:1.5px solid var(--cat-border-card);border-radius:var(--radius-card);overflow:hidden;transition:border-color .2s ease}.catering-step-card.is-complete{border-color:var(--color-bright-gold)}.catering-step-card.is-active{border-color:var(--color-secondary-purple);box-shadow:var(--cat-shadow-card)}.catering-step-card__header{align-items:center;background:var(--color-off-white);border-bottom:1px solid var(--cat-border-card);display:flex;gap:12px;padding:18px 22px}.catering-step-card__badge{color:var(--color-secondary-purple);font-size:18px}.catering-step-card.is-complete .catering-step-card__badge{color:var(--color-bright-gold)}.catering-step-card__title{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:15px;font-weight:700;margin:0}.catering-step-card__body{padding:22px}.catering-step-card__note{color:var(--cat-text-subtle);font-family:var(--font-family-mono);font-size:10.5px;margin-bottom:0;margin-top:10px}.catering-dual-setup-notice{background:var(--cat-sage-tint);border:1.5px solid var(--color-sage-olive);border-radius:var(--radius-button);color:var(--color-sage-olive)}.catering-dual-setup-notice,.catering-gratuity-notice{font-family:var(--font-family-mono);font-size:11px;line-height:1.5;margin-bottom:14px;padding:10px 14px}.catering-gratuity-notice{background:var(--cat-gold-tint-pale);border:1.5px solid var(--cat-gold-border);border-radius:var(--radius-button);color:var(--cat-gold-text-dark)}.catering-step-packages{display:flex;flex-wrap:wrap;gap:12px}.catering-step-package{border:1.5px solid var(--cat-border-warm);border-radius:var(--radius-button);cursor:pointer;flex:0 0 max(200px,calc(50% - 6px));padding:16px 18px;transition:border-color .15s ease,background .15s ease}.catering-step-package:hover{border-color:var(--color-warm-gold)}.catering-step-package.is-selected{background:var(--cat-gold-tint-pale);border-color:var(--color-bright-gold)}.catering-step-package[data-setup=grains].is-selected{background:var(--cat-sage-tint);border-color:var(--color-sage-olive)}.catering-step-package__name{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:14px;font-weight:700;margin-bottom:4px}.catering-step-package__price{color:var(--cat-gold-deep);font-family:var(--font-family-mono);font-size:12px;margin-bottom:4px}.catering-step-package[data-setup=grains] .catering-step-package__price{color:var(--color-sage-olive)}.catering-step-package__note{color:var(--cat-text-subtle);font-family:var(--font-family-mono);font-size:10px}.catering-step-proteins{display:none}.catering-step-proteins.is-active,.catering-step-proteins.is-selected{display:block}.catering-form__field{margin-bottom:18px}.catering-form__field:last-child{margin-bottom:0}.catering-form__label{color:var(--cat-text-body);display:block;font-family:var(--font-family-mono);font-size:10px;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.catering-form__input{background:var(--cat-surface-warm);border:1.5px solid var(--color-purple-a20);border-radius:var(--radius-button);box-sizing:border-box;color:var(--color-primary-purple);display:block;font-family:var(--font-body);font-size:15px;padding:11px 14px;width:100%}.catering-form__input:focus{border-color:var(--color-secondary-purple);outline:none}.catering-form__textarea{min-height:90px;resize:vertical}.catering-form__row{display:flex;gap:var(--spacing-card-gap)}.catering-form__row .catering-form__field{flex:1}.catering-form__error{color:var(--color-secondary-purple);font-family:var(--font-family-mono);font-size:12px;margin-bottom:12px;min-height:18px}.catering-summary{background:var(--color-surface-card);border:1.5px solid var(--cat-magenta-border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:20px;padding:24px 22px}.catering-summary__label{color:var(--cat-text-meta);font-family:var(--font-family-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.catering-summary__section{display:flex;flex-direction:column;gap:10px}.catering-summary__section--costs{border-top:1px solid var(--cat-divider-lavender);padding-top:16px}.catering-summary__row{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.catering-summary__row--total{border-top:1.5px solid var(--cat-divider-lavender);margin-top:6px;padding-top:10px}.catering-summary__key{color:var(--cat-text-meta);font-size:13px}.catering-summary__val{color:var(--cat-text-heading);font-family:var(--font-family-mono);font-size:13px;text-align:right}.catering-summary__val--total{color:var(--cat-gold-deep);font-size:18px;font-weight:700}.catering-summary__steps{border-top:1px solid var(--cat-divider-lavender);padding-top:16px}.catering-summary__steps-label{color:var(--cat-text-meta);font-family:var(--font-family-mono);font-size:10px;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.catering-summary__step{align-items:flex-start;display:flex;gap:12px;margin-bottom:10px}.catering-summary__step:last-child{margin-bottom:0}.catering-summary__step-num{flex-shrink:0;font-size:12px;min-width:22px}.catering-summary__step-text{color:var(--color-text-muted);font-family:var(--font-family-primary);font-size:13px;line-height:1.5}.catering-form__submit{background:var(--color-primary-purple);border:none;border-radius:var(--radius-button);color:var(--color-bright-gold);cursor:pointer;display:block;font-family:var(--font-family-mono);font-size:12px;font-weight:700;letter-spacing:.08em;padding:16px 28px;text-transform:uppercase;width:100%}.catering-form__submit:hover{opacity:.9}.catering-form__microcopy{color:var(--cat-text-subtle);font-family:var(--font-family-mono);font-size:11px;margin-bottom:0;margin-top:8px;text-align:center}.catering-builder__success{margin:40px auto;max-width:560px;padding:var(--section-padding-y) var(--section-padding-x);text-align:center}.catering-form__success-heading{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:24px;font-weight:800;margin-bottom:12px}.catering-form__success-body{color:var(--color-text-muted);font-family:var(--font-family-primary);font-size:16px;line-height:1.6}.catering-step-card{border-width:1px;box-shadow:var(--cat-shadow-card)}.catering-step-card__header{align-items:flex-start;background:transparent;border-bottom:none;padding:26px 28px 0}.catering-step-card__body{padding:16px 28px 26px}.catering-step-card__badge{align-items:center;background:var(--color-secondary-purple);border-radius:50%;color:var(--color-surface-card);display:flex;flex-shrink:0;font-family:var(--font-family-mono);font-size:13px;font-weight:600;height:28px;justify-content:center;line-height:1;width:28px}.catering-step-card.is-complete .catering-step-card__badge{background:var(--color-bright-gold);color:var(--cat-gold-contrast)}.catering-step-card__subtext{color:var(--cat-text-subtle);font-family:var(--font-family-mono);font-size:11px;margin:0 0 18px 41px}.catering-step-package{flex:1 1 220px;position:relative}.catering-step-package.is-selected,.catering-step-package[data-setup=grains].is-selected{border-width:2px}.catering-step-package.is-selected:after{align-items:center;background:var(--color-bright-gold);border-radius:50%;color:var(--cat-gold-contrast);content:"\2713";display:flex;font-family:var(--font-family-mono);font-size:11px;font-weight:700;height:20px;justify-content:center;position:absolute;right:13px;top:13px;width:20px}.catering-step-package[data-setup=grains].is-selected:after{background:var(--color-sage-olive);color:var(--color-off-white)}.catering-dual-setup-notice{border-color:var(--cat-sage-border-soft)}.catering-step-proteins+.catering-step-proteins{margin-top:20px}.catering-step-proteins__header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:11px}.catering-step-proteins__name{color:var(--cat-text-heading);font-family:var(--font-family-primary);font-size:13px;font-weight:700}.catering-step-proteins__count{background:var(--cat-gold-tint);border-radius:var(--radius-pill);color:var(--cat-gold-text-dark);font-family:var(--font-family-mono);font-size:11px;font-weight:500;padding:5px 11px}.catering-step-proteins__count.is-complete{background:var(--cat-success-tint);color:var(--cat-success)}.catering-step-proteins .catering-protein-pill{font-size:12.5px;padding:10px 16px}.catering-protein-pill.is-selected{color:var(--cat-gold-contrast)}.catering-protein-pill--veg.is-selected{background:var(--color-sage-olive);border-color:var(--color-sage-olive);border-style:solid;color:var(--color-off-white)}.catering-guest-stepper{align-items:center;display:flex;gap:12px}.catering-guest-stepper__btn{align-items:center;background:var(--cat-surface-warm);border:1.5px solid var(--cat-border-warm);border-radius:10px;color:var(--color-secondary-purple);cursor:pointer;display:flex;flex:none;font-size:20px;height:42px;justify-content:center;line-height:1;padding:0;user-select:none;width:42px}.catering-guest-stepper__btn:hover{border-color:var(--color-secondary-purple)}.catering-guest-stepper__input{border-color:var(--cat-border-warm);color:var(--cat-text-heading);flex:1;font-family:var(--font-family-mono);font-size:20px;font-weight:600;min-width:0;text-align:center}.catering-guest-stepper__input::-webkit-inner-spin-button,.catering-guest-stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.catering-guest-stepper__input{-moz-appearance:textfield;appearance:textfield}.catering-form__hint{color:var(--cat-text-subtle);display:block;font-family:var(--font-family-mono);font-size:10.5px;margin-top:8px}.catering-guest-min-note{color:var(--color-secondary-purple);display:none;font-family:var(--font-family-mono);font-size:11px;margin:6px 0 0}.catering-guest-min-note.is-visible{display:block}.catering-mobile-subtotal{display:none}.catering-distance-toggle{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.catering-distance-toggle__btn{background:var(--color-surface-card);border:1.5px solid var(--cat-border-warm);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-family-mono);font-size:12px;padding:10px 16px;user-select:none}.catering-distance-toggle__btn.is-active,.catering-distance-toggle__btn:hover{border-color:var(--color-secondary-purple)}.catering-distance-toggle__btn.is-active{background:var(--color-secondary-purple);color:var(--color-surface-card)}.catering-summary{gap:0;overflow:hidden;padding:0}.catering-summary__label{background:var(--color-secondary-purple);color:var(--color-surface-card);font-size:11px;font-weight:500;letter-spacing:.12em;padding:18px 24px}.catering-summary__body{display:flex;flex-direction:column;gap:14px;padding:22px 24px}.catering-summary__body .catering-gratuity-notice{margin-bottom:0}.catering-summary__key{font-family:var(--font-family-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.catering-summary__val--total{font-size:24px;font-weight:600}.catering-summary__val--callback{color:var(--color-secondary-purple);font-size:11.5px}.catering-summary__delivery-tbd{color:var(--color-secondary-purple);display:block;font-family:var(--font-family-mono);font-size:10.5px;text-align:right}.catering-summary__step-num{align-items:center;background:var(--cat-gold-tint);border-radius:50%;color:var(--cat-gold-deep);display:flex;flex:none;font-family:var(--font-family-mono);font-size:9px;font-weight:700;height:18px;justify-content:center;min-width:18px;width:18px}@media (max-width:768px){.catering-menu__header-row{flex-direction:column;gap:14px}.catering-package,.catering-step-package{flex-basis:100%}.catering-builder__inner{flex-direction:column}.catering-builder__summary{order:2;position:static;width:100%}.catering-builder__steps{order:1}.catering-mobile-subtotal{color:var(--cat-gold-deep);display:block;font-family:var(--font-family-mono);font-size:13px;font-weight:600;margin-bottom:0;margin-top:10px}.catering-form__row{flex-direction:column;gap:0}.catering-includes__item{flex-basis:100%}}