.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-block: clamp(2.5rem, 5vw, 5rem); }
.contact-copy h1 { font-size: clamp(3.6rem, 7vw, 6rem); }
.contact-copy .lede { margin-block: 1.5rem 2rem; }
.contact-email { display: flex; align-items: center; gap: 1rem; margin-block: 2rem; text-decoration: none; }
.contact-icon { display: grid; place-items: center; width: 3.3rem; height: 3.3rem; flex: none; border-radius: 50%; background: var(--lime); font-size: 1.5rem; }
.contact-email small { display: block; color: var(--muted); }
.contact-email strong { color: var(--orange-dark); font-size: clamp(1rem, 2vw, 1.35rem); overflow-wrap: anywhere; }
.contact-process { margin-block: 2rem; padding-block: 1.5rem; border-block: 1px solid #d8cebd; }
.contact-process h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin-bottom: 1.25rem; }
.contact-process-steps { list-style: none; padding: 0; margin: 0; counter-reset: catering-step; }
.contact-process-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; counter-increment: catering-step; margin-bottom: 1.1rem; }
.contact-process-steps li::before { content: counter(catering-step); display: grid; place-items: center; width: 2rem; height: 2rem; background: var(--lime); color: var(--ink); border-radius: 50%; font-size: .9rem; font-weight: 900; }
.contact-process-steps strong { display: block; padding-top: .2rem; }
.contact-process-steps p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
.contact-process-steps a { color: var(--orange-dark); overflow-wrap: anywhere; }
.contact-process-note { margin-bottom: 0; font-size: .85rem; color: var(--muted); }
.contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; padding-block: 1rem; border-block: 1px solid #d8cebd; }
.contact-details strong { display: inline-block; margin-bottom: .5rem; }
.contact-phone { display: inline-block; margin-top: .6rem; color: var(--muted); font-size: .85rem; }
.contact-phone a { font-weight: 400; }
.contact-order-note, .contact-spanish { color: var(--muted); font-size: .9rem; }
.contact-order-note a { color: var(--orange-dark); font-weight: 700; }
.contact-card { padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--white); border: 1px solid #e0d4c2; border-top: 5px solid var(--orange); border-radius: var(--radius); box-shadow: 0 14px 45px rgba(21,21,19,.06); }
.contact-card h2 { font-size: clamp(2rem, 4vw, 2.8rem); }
.contact-card > p:not(.eyebrow) { color: var(--muted); }
.contact-card fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.contact-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-field { min-width: 0; margin-bottom: 1.1rem; }
.contact-field label { display: block; margin-bottom: .4rem; font-size: .88rem; font-weight: 800; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; min-height: 3rem; border: 1px solid #b9b0a1; border-radius: .6rem; padding: .7rem .8rem; background: var(--paper); color: var(--ink); font: inherit; font-size: 1rem; }
.contact-field textarea { resize: vertical; min-height: 8rem; }
.contact-optional { color: var(--muted); font-weight: 400; }
.contact-form-note, .contact-privacy { font-size: .8rem; color: var(--muted); }
.contact-privacy { margin-bottom: 0; }
.contact-send { cursor: pointer; font: inherit; font-weight: 900; }
.contact-card fieldset:disabled { opacity: .6; }
.contact-card fieldset:disabled .contact-send { cursor: default; }
.contact-setup { margin-block: 1rem; padding: .75rem 1rem; background: var(--cream); border-radius: .6rem; font-size: .88rem; }
.contact-honey { display: none; }
.contact-card .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.contact-catering { margin-block: .4rem 1.4rem; border: 1px solid #d8cebd; border-radius: .7rem; padding: .9rem 1rem; }
.contact-catering summary { cursor: pointer; font-weight: 800; }
.contact-catering > p { font-size: .83rem; color: var(--muted); }
.contact-catering-menu { color: var(--orange-dark); font-size: .86rem; font-weight: 700; }
.contact-thanks { padding-block: 5rem; min-height: 55vh; }
.contact-thanks h1 { font-size: clamp(3rem, 6vw, 5rem); }
.contact-thanks .button { margin-top: 1rem; }
@media (max-width: 850px) { .contact-layout { grid-template-columns: 1fr; } .contact-copy .lede { max-width: 36rem; } }
@media (max-width: 480px) { .contact-field-pair { grid-template-columns: 1fr; gap: 0; } .contact-details { font-size: .9rem; } .contact-send { width: 100%; } }
