@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#172b2b;background:#f6f5ef;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c47b35;outline-offset:2px}.shell{max-width:1320px;margin:auto;padding:0 32px}.site-header{background:#172b2b;color:#fff}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.19em;font-size:18px}.brand small{display:block;font-size:10px;letter-spacing:.21em;color:#f5d28b;margin-top:3px}.brand-mark{width:42px;height:42px;border:1px solid #e9c783;border-radius:12px;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:25px;color:#f5d28b;letter-spacing:0}.basket-button{border:1px solid #72817c;background:transparent;color:#fff;padding:10px 13px;border-radius:8px}.basket-button span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:8px;background:#f5d28b;color:#172b2b;border-radius:50%;font-size:13px;font-weight:700}.intro{display:grid;grid-template-columns:1fr 1fr;min-height:330px;background:#e9eee8;overflow:hidden;border-radius:0 0 24px 24px}.intro-copy{padding:52px 6% 45px 9%;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#a2602f;margin:0 0 13px}.intro h1{font:600 clamp(36px,4.3vw,60px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.03em;margin:0 0 18px;max-width:620px}.intro h1 em{color:#a2602f}.intro-copy>p:not(.eyebrow){line-height:1.55;color:#40504e;max-width:510px;margin:0 0 20px}.intro-image{width:100%;height:100%;min-height:330px;object-fit:cover;object-position:center}.service-note{font-weight:700;font-size:14px;color:#263d3b}.service-note span{color:#a2602f;margin-right:6px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr);gap:32px;padding:52px 0 72px;align-items:start}.section-heading,.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.section-heading h2,.panel-heading h2,.modal h2{font:600 32px/1.2 'Playfair Display',Georgia,serif;margin:0}.sample-label{font-size:12px;color:#716d63;text-align:right}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.category-tabs button{min-height:44px;border:1px solid #cbd1c8;background:transparent;border-radius:100px;padding:10px 18px;color:#3d504b;font-weight:700;font-size:14px}.category-tabs button.active{background:#172b2b;border-color:#172b2b;color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-card{background:#fff;border:1px solid #e4e6dc;border-radius:15px;min-height:175px;padding:20px;display:flex;flex-direction:column}.menu-card h3{margin:0 0 7px;font-size:18px}.menu-card p{margin:0;color:#61706a;line-height:1.45;font-size:14px}.menu-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;gap:10px}.menu-card-bottom strong{font-size:17px}.add-button{min-height:44px;background:#e9eee8;border:0;border-radius:8px;padding:9px 16px;font-weight:700;color:#172b2b}.add-button:hover{background:#d7e5d9}.order-panel{background:#fff;border:1px solid #e4e6dc;border-radius:18px;padding:26px;box-shadow:0 12px 35px #18342a0a;position:sticky;top:20px}.cart-qty{font-size:13px;color:#64736e}.cart-items{padding:18px 0;min-height:85px}.empty-cart{color:#697872;line-height:1.5;margin:5px 0}.cart-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef0eb;padding:10px 0}.cart-line strong{font-size:14px}.cart-line small{display:block;color:#62716c;margin-top:3px}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:36px;height:36px;font-size:18px;border:1px solid #cbd3cd;background:#fff;border-radius:7px}.total-line{display:flex;justify-content:space-between;border-top:1px solid #dfe3dc;padding:17px 0;font-size:17px}.fulfilment{border:0;padding:0;margin:10px 0 0}.fulfilment legend{font-weight:700;margin-bottom:11px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice{display:flex;align-items:flex-start;gap:7px;border:1px solid #d8dfd8;border-radius:10px;padding:12px 9px;font-weight:700;font-size:13px;line-height:1.25;cursor:pointer}.choice:has(input:checked){border-color:#315e53;background:#eef5ef}.choice input{accent-color:#315e53;margin:1px 0 0}.choice small{display:block;color:#64736e;font-weight:400;margin-top:4px}.minimum-note{min-height:20px;color:#a2602f;font-size:13px;font-weight:700;margin:10px 0 12px}.order-panel form label,.catering-form label{display:block;font-size:13px;font-weight:700;margin-bottom:13px}.order-panel input:not([type=radio]),.order-panel select,.order-panel textarea,.catering-form input,.catering-form select,.catering-form textarea{display:block;width:100%;border:1px solid #cfd7ce;border-radius:8px;padding:11px 12px;background:#fff;color:#172b2b;font-size:15px;margin-top:7px}.order-panel textarea,.catering-form textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.label-hint{font-weight:400;color:#6d7974}.payment-note{font-size:13px;color:#62716c;line-height:1.4}.primary-button{width:100%;border:0;border-radius:9px;padding:14px 16px;background:#ba6633;color:#fff;font-weight:700}.primary-button:hover{background:#9f5429}.secondary-button{border:1px solid #cbd3cd;border-radius:9px;background:#fff;padding:13px 16px;font-weight:700;color:#172b2b}.form-error{color:#a03228;font-size:13px;min-height:1em;margin-bottom:0}.intro-link{margin:14px 0 0;font-size:14px}.intro-link a{color:#315e53;font-weight:700}.catering{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1fr);gap:40px;background:#fff;border:1px solid #e4e6dc;border-radius:24px;padding:40px;margin:0 0 72px;scroll-margin-top:20px}.catering h2{font:600 32px/1.2 'Playfair Display',Georgia,serif;margin:0 0 14px}.catering-copy>p:not(.eyebrow){line-height:1.55;color:#40504e;margin:0 0 16px}.catering-list{margin:0 0 18px;padding-left:20px;line-height:1.7;color:#263d3b}.catering-note{font-size:14px;color:#62716c}.catering-review,.catering-handed{margin-top:22px;padding-top:22px;border-top:1px solid #e4e6dc}.catering-review .review-content{margin-top:10px}.footer{padding-bottom:35px;display:flex;justify-content:space-between;gap:20px;color:#62716c;font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#102421bb;z-index:10;display:grid;place-items:center;padding:18px}body:not([data-step=review]):not([data-step=sent]) .modal-backdrop{display:none}body[data-step=sent] .review-only,body:not([data-step=sent]) .sent-only{display:none}a.primary-button{display:block;text-align:center;text-decoration:none}.link-button{border:0;background:none;color:#315e53;font-weight:700;padding:12px 0 0;font-size:14px;cursor:pointer}.handoff-note,.sent-copy{font-size:14px;color:#62716c;line-height:1.45;margin:12px 0 0}.modal{background:#fff;width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:18px;padding:28px;position:relative}.back-link{display:none;border:0;background:none;padding:0 0 14px;font-weight:700;color:#315e53;font-size:14px}.step-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:5;background:#fff;border-top:1px solid #dfe3dc;padding:12px 18px calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:14px;box-shadow:0 -8px 24px #18342a12}.step-bar span{font-weight:700;font-size:15px}.step-bar .primary-button{width:auto;min-width:120px}.step-bar .primary-button:disabled{background:#cfd7ce;color:#5f6b66}.close-button{position:absolute;right:20px;top:15px;border:0;background:none;font-size:30px;color:#52645d}.review-content{white-space:pre-line;line-height:1.55;background:#f6f7f2;padding:18px;border-radius:10px;margin:19px 0;font-size:14px}.prototype-note{color:#775029;background:#fcf3df;border-radius:8px;padding:12px;line-height:1.45;font-size:14px}.modal-actions{display:flex;gap:10px}.modal-actions .primary-button{width:auto;flex:1}.copy-status{min-height:18px;font-size:13px;color:#315e53;margin-bottom:0}@media(max-width:900px){.workspace{grid-template-columns:1fr}.back-link{display:inline-block}body[data-step=menu] .step-bar{display:flex}body[data-step=menu] main{padding-bottom:96px}body[data-step=menu] .order-panel{display:none}body:not([data-step=menu]) .catering{display:none}.catering{grid-template-columns:1fr;gap:24px;padding:28px 22px;margin-bottom:48px}body[data-step=details] .menu-section,body[data-step=details] .intro{display:none}body:is([data-step=review],[data-step=sent]) .workspace,body:is([data-step=review],[data-step=sent]) .intro{display:none}body:is([data-step=review],[data-step=sent]) .modal-backdrop{position:static;background:none;padding:0;display:block;margin-top:24px}body:is([data-step=review],[data-step=sent]) .modal{width:100%;max-height:none;border:1px solid #e4e6dc}body:is([data-step=review],[data-step=sent]) .close-button{display:none}.order-panel{position:static}.intro-copy{padding:35px}.intro{min-height:300px}}@media(max-width:650px){.shell{padding-left:18px;padding-right:18px}.header-inner{height:68px}.brand{font-size:15px}.brand-mark{height:36px;width:36px}.basket-button{font-size:13px}.intro{display:flex;flex-direction:column-reverse}.intro-image{height:120px;min-height:120px}.intro-copy{padding:26px 22px 32px}.intro h1{font-size:37px}.workspace{padding-top:34px;gap:25px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:145px}.section-heading{align-items:start}.order-panel{padding:20px}.footer{flex-direction:column}.modal-actions{flex-direction:column}.modal-actions .primary-button{width:100%}.catering .field-grid{grid-template-columns:1fr}}@media(max-width:380px){.field-grid,.choice-row{grid-template-columns:1fr}.sample-label{max-width:110px}}
