@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#102a47;--blue:#176db5;--light:#edf4fa;--ink:#152c42;--muted:#586777;--line:#d6dfe7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.signature{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.08}em{font-weight:400;color:var(--blue)}h1{font-size:clamp(3.6rem,5.5vw,5.8rem);letter-spacing:-.035em}h2{font-size:clamp(2.8rem,4vw,4.5rem);letter-spacing:-.025em}h3{font-size:2.65rem}h4{font-size:1rem;font-weight:600}p{color:var(--muted)}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;line-height:1.15}.brand img{width:72px;height:auto;object-fit:contain}.brand span{font-size:12px;text-transform:uppercase;letter-spacing:.09em}.brand strong{display:block;font-family:Georgia,serif;font-size:29px;letter-spacing:.02em;text-transform:none;font-weight:400}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav>a:not(.btn):hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;background:var(--blue);color:white;padding:17px 24px;border:1px solid transparent;border-radius:3px;font-weight:600;font-size:15px;line-height:1.5;cursor:pointer;transition:background .2s,transform .2s}.btn:hover{background:#115591;transform:translateY(-2px)}.btn span{font-size:21px;font-weight:400}.btn.small{padding:11px 18px;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.hero-copy{padding:65px 7% 45px 11%;background:#f5f8fb}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--blue);margin-bottom:24px}.hero .eyebrow{font-size:11px;letter-spacing:.13em}.intro{max-width:450px;margin:26px 0 29px;font-size:17px}.text-link{display:block;margin-top:18px;font-size:14px}.text-link span{margin-left:16px}.hero-proof{display:flex;gap:15px;align-items:center;margin-top:33px;border-top:1px solid var(--line);padding-top:23px;max-width:430px}.hero-proof strong{font-family:Georgia,serif;font-size:47px;line-height:1;color:var(--blue);font-weight:400}.hero-proof span{font-size:11px;letter-spacing:.08em;line-height:1.8}.hero-image{position:relative;min-height:100%}.hero-image>img{position:absolute;width:100%;height:100%;object-position:48% center}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(6,20,34,.85))}.image-label{position:absolute;left:42px;bottom:39px;z-index:1;color:#fff}.image-label>span{font-size:11px;letter-spacing:.18em}.image-label p{font-family:Georgia,serif;font-size:28px;line-height:1.3;color:#fff;margin-top:13px}.ribbon{display:flex;justify-content:space-between;gap:20px;background:var(--navy);color:white;padding:21px 7%;font-size:13px;letter-spacing:.035em}.section{max-width:1400px;padding:95px 6%;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:42px}.section-heading>p{max-width:390px}.services{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service{border:1px solid var(--line);background:#fff}.service-image{height:300px;position:relative;overflow:hidden}.service-image img{width:100%;height:100%;transition:transform .6s}.service:hover img{transform:scale(1.025)}.service-image span{position:absolute;bottom:0;left:0;background:var(--navy);padding:10px 19px;color:#fff;font-size:11px;letter-spacing:.13em}.service-body{padding:32px}.service-body>p{margin:20px 0;min-height:80px}.service-body ul{list-style:none;padding:0;margin:0 0 25px;font-size:14px;line-height:2.2}.service-body li:before{content:'✓';color:var(--blue);margin-right:12px}.service-link{display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:600;color:var(--blue);border-top:1px solid var(--line);padding-top:20px;font-size:15px}.service-link:hover{color:var(--navy)}.caption{font-size:13px;text-align:center;margin-top:21px}.season{background:var(--navy);color:white;text-align:center;padding:75px 6%}.season .eyebrow{color:#b7d9f7}.season em{color:#b7d9f7}.season p:not(.eyebrow){color:#d4e1ec;margin:28px 0}.occasions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:31px}.occasions span{border:1px solid #567089;border-radius:30px;padding:7px 19px;font-size:14px}.btn.white{background:white;color:var(--navy)}.btn.white:hover{background:#dcecf8}.catering-detail{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.food-frame{height:690px;position:relative}.food-frame img{width:100%;height:100%;object-position:53% center}.food-frame span{position:absolute;bottom:25px;left:25px;background:#fff;padding:12px 17px;font-size:11px;letter-spacing:.14em}.catering-detail h2+p{margin:24px 0}.detail-row{display:flex;gap:18px;border-top:1px solid var(--line);padding:18px 0}.detail-row b{font-family:Georgia,serif;color:var(--blue);font-weight:400;font-size:24px}.detail-row p{font-size:14px;margin-top:4px}.experience{display:grid;grid-template-columns:.65fr 1fr;gap:70px;background:var(--light);max-width:none;padding-left:max(6%,calc((100% - 1232px)/2));padding-right:max(6%,calc((100% - 1232px)/2));align-items:center}.anniversary{text-align:center;border:1px solid #afc7da;padding:42px 16px}.anniversary span{display:block;font-size:11px;letter-spacing:.15em}.anniversary strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:170px;font-weight:400;line-height:1.3;color:var(--blue)}.experience h2{font-size:3.4rem}.experience h2+p{margin:25px 0}.values{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #c2d2df;padding-top:23px}.values p{font-size:14px;margin-top:6px}.faq{display:grid;grid-template-columns:.75fr 1fr;gap:65px}.questions details{border-bottom:1px solid var(--line)}summary{padding:22px 28px 22px 0;cursor:pointer;position:relative;font-weight:500;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:24px;top:15px;color:var(--blue)}details[open] summary:after{content:'−'}.questions p{padding-bottom:22px;font-size:15px}.contact{max-width:none;background:#f5f8fb;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-left:max(6%,calc((100% - 1232px)/2));padding-right:max(6%,calc((100% - 1232px)/2))}.contact-copy>p:not(.eyebrow){margin:24px 0;max-width:390px}.contact-copy .phone{font-size:15px}.signature{font-size:30px!important;padding-top:35px;color:var(--navy)}form{background:white;border:1px solid var(--line);padding:32px}form h3{font-size:2.3rem}form>p{font-size:14px;margin:12px 0 22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{font-size:13px;font-weight:500;display:block}input,select,textarea{width:100%;display:block;padding:12px 13px;border:1px solid #c6d1dc;background:#fff;border-radius:2px;margin-top:6px;color:var(--ink);font-size:16px;min-width:0}textarea{resize:vertical}.full{grid-column:1/-1}form .btn{width:100%;margin-top:22px}.form-note{font-size:12px;line-height:1.65;margin-bottom:0}#form-status:empty{display:none}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 6% 105px}footer p,footer>a{font-size:13px}.floating-wa{position:fixed;z-index:30;right:25px;bottom:22px;display:flex;align-items:center;gap:10px;padding:15px 20px;background:#167448;color:#fff;border-radius:40px;box-shadow:0 5px 22px #102a472e;font-size:14px;font-weight:600}.floating-wa:hover{background:#105d39}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #58a7e6;outline-offset:4px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){.hero-copy{padding-left:calc((100vw - 1320px)/2)}}@media(max-width:1050px){nav{gap:20px}nav>a:not(.btn){display:none}.hero-copy{padding:45px 7%}.hero{min-height:630px}.hero h1{font-size:4rem}.btn{gap:13px;padding:15px 18px}.catering-detail,.contact{gap:35px}.experience{gap:40px}.service-body{padding:25px}.service-body h3{font-size:2.2rem}.experience h2{font-size:3rem}}@media(max-width:700px){header{height:80px;padding:0 5%}.brand{gap:6px}.brand img{width:56px}.brand span{font-size:9px}.brand strong{font-size:25px}.btn.small{font-size:12px;padding:10px 12px;max-width:150px;gap:6px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 34px}.hero h1{font-size:3.7rem}.hero .eyebrow{font-size:10px}.intro{font-size:16px}.hero-image{height:355px}.image-label{left:25px;bottom:25px}.image-label p{font-size:25px}.hero-proof{margin-top:25px}.ribbon{display:grid;grid-template-columns:1fr 1fr;padding:20px 6%;gap:12px;font-size:11px}.section{padding:60px 6%}.section-heading{display:block}.section-heading>p{margin-top:23px}.services{grid-template-columns:1fr;gap:25px}.service-image{height:255px}.service-body>p{min-height:0}.service-body h3{font-size:2.4rem}.caption{text-align:left}.season{padding:55px 6%}.season h2{font-size:2.9rem}.season p br{display:none}.occasions{gap:8px}.occasions span{font-size:12px;padding:6px 12px}.catering-detail,.experience,.faq,.contact{grid-template-columns:1fr;gap:35px}.food-frame{height:350px}.catering-detail h2 br:nth-of-type(1){display:none}.anniversary{padding:23px}.anniversary strong{font-size:115px}.experience h2{font-size:2.8rem}.values{gap:20px}.values h4{font-size:14px}.values p{font-size:13px}.faq{gap:20px}.signature{padding-top:0}.contact form{padding:23px 19px}.fields{gap:15px}.fields label{font-size:12px}footer{padding:30px 6% 110px;flex-wrap:wrap;gap:22px}footer p{max-width:190px;font-size:12px}.floating-wa{right:16px;bottom:16px;font-size:13px;padding:13px 18px}h2{font-size:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
