@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--green:#063f38;--green-2:#0b564c;--green-3:#0f6a5e;--deep:#032d28;--gold:#dfa914;--gold-2:#efc653;--cream:#f6f0e6;--cream-2:#fbf8f2;--ink:#13221f;--muted:#67716e;--line:#ded7ca;--white:#fff;--shadow:0 18px 50px rgba(4,47,42,.12);--shadow-strong:0 26px 70px rgba(4,47,42,.2);--r:24px;--r-sm:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1220px,calc(100% - 40px));margin-inline:auto}.display,h1,h2,h3,.brandword{font-family:'Playfair Display',Georgia,serif}.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold)}.muted{color:var(--muted)}.sectionHead{max-width:760px;margin:0 auto 42px;text-align:center}.sectionHead.left{margin-left:0;text-align:left}.sectionHead h2{font-size:clamp(2.25rem,4vw,4.25rem);line-height:1.04;letter-spacing:-.035em;margin:10px 0 16px}.sectionHead p{font-size:1.05rem;color:var(--muted)}section{padding:96px 0}.soft{background:var(--cream-2)}.dark{background:var(--green);color:#fff}.dark .muted{color:#c6d5d1}
.topbar{background:var(--deep);color:#fff;font-size:.76rem}.topbar .container{display:flex;justify-content:space-between;padding:7px 0}.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,63,56,.08)}.navin{height:84px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;min-width:190px}.brandLogo{width:112px;height:68px;object-fit:contain;object-position:left center}.links{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:.82rem;font-weight:700}.links a{position:relative;padding:10px 0}.links a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--gold);transition:.2s}.links a:hover:after,.links .active:after{right:0}.navcta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:12px;border:1px solid transparent;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.navcta,.btn.gold{background:linear-gradient(180deg,#f0bd2e 0%,#dfa914 100%);color:#123a32;box-shadow:0 8px 18px rgba(141,103,0,.18),inset 0 1px 0 rgba(255,255,255,.4)}.navcta:hover,.btn.gold:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(141,103,0,.24)}.btn.green{background:linear-gradient(180deg,#075c50 0%,#03483f 100%);color:#fff;box-shadow:0 8px 18px rgba(3,72,63,.18),inset 0 1px 0 rgba(255,255,255,.12)}.btn.green:hover{background:#063f38;transform:translateY(-2px);box-shadow:0 14px 26px rgba(3,72,63,.22)}.btn.ghost{background:#fff;border-color:#d8dedb;color:var(--ink);box-shadow:0 7px 18px rgba(20,45,39,.08)}.menuBtn{display:none;margin-left:auto;border:0;background:none;font-size:1.6rem}.mobileNav{display:none}
.hero{min-height:720px;position:relative;display:grid;align-items:center;color:#fff;background:url('assets/final/hero-final.jpg') center 46%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,45,40,.97) 0%,rgba(3,45,40,.88) 36%,rgba(3,45,40,.35) 72%,rgba(3,45,40,.08) 100%)}.hero .container{position:relative;z-index:1}.heroContent{max-width:680px;padding:90px 0}.hero h1{font-size:clamp(4.2rem,7vw,7.2rem);line-height:.92;letter-spacing:-.045em;margin:14px 0 22px}.hero p{font-size:1.12rem;max-width:620px;color:#edf4f1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.proof{font-size:.9rem;font-weight:600;margin-top:24px}.stars{color:var(--gold);letter-spacing:.08em}.truststrip{border-bottom:1px solid var(--line);background:#fff}.trustgrid{display:grid;grid-template-columns:repeat(4,1fr)}.trustitem{padding:22px;text-align:center;border-right:1px solid var(--line)}.trustitem:last-child{border-right:0}.trustitem b{display:block;color:var(--green)}.trustitem small{color:var(--muted)}
.occasionGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.occasion{position:relative;height:280px;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}.occasion img{width:100%;height:100%;object-fit:cover;transition:.35s}.occasion:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,34,30,.88))}.occasion:hover img{transform:scale(1.035)}.occasion .txt{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;z-index:1}.occasion h3{font-size:1.75rem;margin:0 0 3px}.occasion small{color:#e6efec}.eventMosaic{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}.eventMosaic .bigphoto{min-height:570px;border-radius:var(--r);overflow:hidden}.eventMosaic .bigphoto img{width:100%;height:100%;object-fit:cover}.eventMosaic .side{display:grid;grid-template-rows:1fr 1fr;gap:20px}.eventMosaic .side img{width:100%;height:275px;object-fit:cover;border-radius:var(--r)}
.productgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(4,47,42,.06);display:flex;flex-direction:column}.product>img{width:100%;height:225px;object-fit:cover}.product .body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}.product h3{font-size:1.45rem;line-height:1.15;margin:0}.price{font-weight:800;color:var(--green)}.product .add{margin-top:auto;border:0;background:var(--green);color:#fff;border-radius:14px;padding:13px 14px;font-weight:700;cursor:pointer}.product .add:hover{background:var(--green-2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split img{width:100%;height:520px;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}.split h2{font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:1.02;margin:10px 0 18px;letter-spacing:-.035em}.split p{font-size:1.05rem}.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.check{padding:13px 15px;border-radius:12px;background:rgba(255,255,255,.08);font-weight:600}.ctaBand{background:var(--green);border-radius:28px;color:#fff;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.ctaBand h3{font-size:2.35rem;line-height:1.1;margin:6px 0 0}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.serviceCard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.serviceCard img{width:100%;height:260px;object-fit:cover}.serviceCard .body{padding:22px}.serviceCard h3{font-size:1.65rem;margin:0 0 8px}
.pageHero{background:var(--cream);padding:74px 0;border-bottom:1px solid var(--line)}.pageHero.darkHero{background:var(--green);color:#fff}.pageHero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.98;letter-spacing:-.045em;margin:10px 0 16px;max-width:980px}.pageHero p{font-size:1.08rem;max-width:760px;color:var(--muted)}.darkHero p{color:#d5e2df}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;position:sticky;top:96px;z-index:12;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);padding:12px 0}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:700;cursor:pointer}.chip.active{background:var(--green);border-color:var(--green);color:#fff}.menuList{display:grid;grid-template-columns:1fr 1fr;gap:14px}.menuRow{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;min-height:118px}.menuRow img{width:116px;height:94px;object-fit:cover;border-radius:14px;flex:0 0 auto}.menuRow .info{min-width:0;flex:1}.menuRow h3{font-size:1.32rem;line-height:1.15;margin:0 0 5px}.menuRow .meta{font-size:.8rem;color:var(--muted);margin-bottom:4px}.menuRow button{width:44px;height:44px;border:0;border-radius:13px;background:var(--green);color:#fff;font-size:1.25rem;cursor:pointer;flex:0 0 auto}.categoryDivider{grid-column:1/-1;padding:20px 0 4px;font-weight:800;color:var(--green);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.tierGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tier{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.tier img{width:100%;height:240px;object-fit:cover}.tier .body{padding:22px;display:flex;flex-direction:column;gap:11px;flex:1}.tier .big{font:700 2rem 'Playfair Display';color:var(--green)}.tier h3{font-size:1.35rem;line-height:1.25;margin:0 0 10px}.tier .btn{margin-top:auto}
.cateringGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cateringCard{display:grid;grid-template-columns:42% 58%;min-height:330px;background:var(--green-2);color:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}.cateringCard img{width:100%;height:100%;object-fit:cover}.cateringCard .body{padding:28px;display:flex;flex-direction:column}.cateringCard h3{font-size:2rem;line-height:1.06;margin:6px 0 14px}.cateringCard ul{margin:0 0 22px;padding-left:20px}.cateringCard .priceBig{font-size:1.1rem;font-weight:800;margin-left:auto}.cateringCard .topline{display:flex;align-items:flex-start;gap:10px}.cateringCard .btn{margin-top:auto;align-self:flex-start}.cateringCard.featured{background:var(--deep)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{border:1px solid var(--line);border-radius:20px;padding:25px;background:#fff}.step .num{font:700 2rem 'Playfair Display';color:var(--gold)}.step h3{font-size:1.45rem;margin:8px 0}.quotegrid{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:stretch}.quoteCard{border:1px solid var(--line);border-radius:22px;padding:28px;background:#fff}.quoteCard h2{font-size:2rem;margin-top:0}.map{width:100%;min-height:480px;border:0;border-radius:22px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd6d2;background:#fff;border-radius:12px;padding:13px 14px}.field textarea{min-height:125px;resize:vertical}.formActions{grid-column:1/-1}.quotePanel{background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:30px}
.storyGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.storyCard{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.storyCard img{width:100%;height:430px;object-fit:cover}.storyCard .body{padding:28px}.storyCard h3{font-size:2.1rem;margin:0 0 10px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fact{background:var(--cream);border-radius:20px;padding:24px}.fact b{display:block;font:700 2rem 'Playfair Display';color:var(--green)}
footer{background:var(--deep);color:#d7e4e1;padding:62px 0 24px}.footgrid{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:50px}.footerLogo{width:190px;filter:brightness(1.25)}footer h4{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}footer a{display:block;margin:8px 0}.legal{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:34px;color:#98b0ab;font-size:.82rem}
.cartpill{position:fixed;right:22px;bottom:22px;z-index:75;background:var(--green);color:#fff;border:0;border-radius:999px;padding:13px 18px;box-shadow:var(--shadow);font-weight:800;cursor:pointer}.cartpill span{background:var(--gold);color:#17362f;border-radius:99px;padding:3px 9px;margin-left:7px}.drawer{position:fixed;inset:0;z-index:100;display:none}.drawer.open{display:block}.shade{position:absolute;inset:0;background:rgba(0,0,0,.52)}.panel{position:absolute;right:0;top:0;width:min(520px,96vw);height:100%;overflow:auto;background:#fff;padding:28px}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:14px}.cartItem{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.cartItem img{width:72px;height:68px;object-fit:cover;border-radius:12px}.qty{display:flex;align-items:center;gap:8px;margin-top:6px}.qty button{width:28px;height:28px;border:1px solid var(--line);background:#fff;border-radius:8px}.total{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:800;margin:20px 0}.orderDetails{border-top:1px solid var(--line);padding-top:20px;margin-top:6px}.orderDetails h3{font-size:1.45rem;margin:0 0 12px}.serviceToggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.serviceOption{border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;font-weight:700;text-align:center;background:#fff}.serviceOption.active{border-color:var(--green);background:#eef7f4;color:var(--green)}.drawerForm{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drawerForm input,.drawerForm textarea{width:100%;border:1px solid #cfd6d2;border-radius:10px;padding:11px}.drawerForm textarea{grid-column:1/-1;min-height:80px}.drawerForm .full{grid-column:1/-1}.wa{width:100%;border:0;background:#1fa855;color:#fff;padding:14px;border-radius:14px;font-weight:900;cursor:pointer;margin-top:16px}.notice{font-size:.8rem;color:var(--muted);margin-top:10px}
@media(max-width:1050px){.links{display:none}.menuBtn{display:block}.mobileNav{position:absolute;left:0;right:0;top:84px;background:#fff;padding:18px 20px;border-bottom:1px solid var(--line);box-shadow:0 16px 28px rgba(4,47,42,.08)}.mobileNav.open{display:block}.mobileNav a{display:block;padding:11px 0;font-weight:700}.occasionGrid,.productgrid,.tierGrid{grid-template-columns:repeat(2,1fr)}.serviceGrid{grid-template-columns:1fr 1fr}.cateringGrid{grid-template-columns:1fr}.split,.quotegrid,.eventMosaic{grid-template-columns:1fr}.eventMosaic .bigphoto{min-height:460px}.eventMosaic .side{grid-template-columns:1fr 1fr;grid-template-rows:none}.steps{grid-template-columns:repeat(2,1fr)}.storyGrid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.menuList{grid-template-columns:1fr}}
@media(max-width:680px){.container{width:min(100% - 28px,1220px)}.topbar{display:none}.navin{height:72px}.mobileNav{top:72px}.brand{min-width:0}.brandLogo{width:150px;height:50px}.navcta{display:none}.hero{min-height:700px;background-position:64% center}.hero:before{background:linear-gradient(90deg,rgba(3,45,40,.95),rgba(3,45,40,.73))}.heroContent{padding:80px 0}.hero h1{font-size:3.75rem}.hero p{font-size:1rem}.actions .btn{width:100%}.trustgrid{grid-template-columns:1fr 1fr}.trustitem:nth-child(2){border-right:0}.occasionGrid,.productgrid,.tierGrid,.serviceGrid{grid-template-columns:1fr}.occasion{height:240px}.product>img{height:245px}.eventMosaic .bigphoto{min-height:360px}.eventMosaic .side{grid-template-columns:1fr}.eventMosaic .side img{height:280px}.split{gap:34px}.split img{height:360px}.checkgrid{grid-template-columns:1fr}.ctaBand{padding:28px;display:block}.ctaBand h3{font-size:1.9rem}.ctaBand .btn{margin-top:18px;width:100%}.filters{top:82px;overflow:auto;flex-wrap:nowrap;padding:10px 0}.chip{white-space:nowrap}.menuRow{min-height:108px;padding:10px}.menuRow img{width:94px;height:88px}.menuRow h3{font-size:1.2rem}.tier img{height:250px}.cateringCard{grid-template-columns:1fr}.cateringCard img{height:260px}.cateringCard .body{padding:24px}.steps,.timeline{grid-template-columns:1fr}.storyCard img{height:350px}.pageHero{padding:56px 0}.pageHero h1{font-size:3.25rem}.footgrid{grid-template-columns:1fr;gap:30px}.drawerForm{grid-template-columns:1fr}.drawerForm textarea,.drawerForm .full{grid-column:auto}.panel{padding:20px}.cartpill{right:12px;bottom:12px}.cartItem{grid-template-columns:64px 1fr auto}.serviceToggle{grid-template-columns:1fr 1fr}}

/* Presentation polish */
.footerLogo{object-fit:contain;background:transparent!important}.ctaBand .btn{flex:0 0 auto;white-space:nowrap}.ctaBand{overflow:hidden}.hero{background-position:center 46%}.hero:before{background:linear-gradient(90deg,rgba(3,45,40,.94) 0%,rgba(3,45,40,.79) 38%,rgba(3,45,40,.24) 70%,rgba(3,45,40,.04) 100%)}
@media(max-width:680px){.brandLogo{width:96px;height:58px}.hero{background-position:58% center}.ctaBand .btn{white-space:normal}}
/* Final QA: service cards keep intentional equal heights with aligned CTAs */
.serviceCard{display:flex;flex-direction:column}
.serviceCard .body{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.serviceCard .body .btn{margin-top:auto}
.serviceCard .body p.muted{margin-bottom:18px}
