:root{--paper:#f1e7d5;--paper-deep:#e7d7bc;--ink:#36271d;--muted:#6f5c4c;--teal:#176465;--teal-dark:#0d4c4e;--coral:#df6c54;--cream:#fffaf0;--shadow:rgba(68,48,31,.2)}
*{box-sizing:border-box}html{background:var(--paper-deep)}body{margin:0;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 48% 22%,rgba(255,255,255,.58),transparent 31rem),linear-gradient(135deg,#f5ecdc 0%,var(--paper) 48%,var(--paper-deep) 100%);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.corner{position:fixed;z-index:0;width:clamp(150px,17vw,260px);pointer-events:none;opacity:.24}.corner-leaf{top:0;left:0}.corner-floral{top:0;right:0;transform:scaleX(-1)}.corner-bottom{right:0;bottom:0;transform:rotate(180deg);opacity:.18}.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid rgba(23,100,101,.22);background:rgba(241,231,213,.92);box-shadow:0 4px 18px rgba(56,39,28,.08);backdrop-filter:blur(14px)}.nav-shell{width:min(1180px,calc(100% - 36px));min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.nav-logo{width:110px}.nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,38px)}.nav-link{border:0;padding:9px 0;color:var(--teal-dark);background:transparent;font-size:.95rem;font-weight:700;letter-spacing:.055em;text-decoration:none;text-transform:uppercase}.nav-link:hover,.nav-link:focus-visible{color:var(--coral)}.menu-nav{display:inline-flex;border-radius:999px;padding:10px 18px;color:var(--cream);background:var(--teal);box-shadow:4px 4px 0 rgba(51,38,27,.15)}.mobile-toggle{display:none;border:0;padding:10px;color:var(--teal-dark);background:transparent;font:inherit;font-weight:800}main,footer{position:relative;z-index:1}.page-hero{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:clamp(70px,10vw,140px) 0 56px;text-align:center}.hero-logo{width:min(250px,58vw);margin:0 auto 22px}.eyebrow{margin:0 0 12px;color:var(--coral);font-size:.85rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.page-hero h1{max-width:900px;margin:0 auto 20px;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,8vw,7.5rem);font-weight:500;line-height:.94;letter-spacing:-.05em}.page-hero p:last-child{max-width:700px;margin:0 auto;color:var(--muted);font-size:clamp(1.08rem,1.8vw,1.28rem)}.story-wrap{width:min(1080px,calc(100% - 36px));margin:0 auto;padding:10px 0 clamp(80px,10vw,140px);display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(38px,7vw,90px);align-items:start}.story-photo{position:sticky;top:118px;overflow:hidden;border:1px solid rgba(23,100,101,.22);border-radius:22px;background:var(--cream);box-shadow:8px 10px 0 var(--shadow)}.story-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.story-copy{padding-top:8px}.story-copy p{margin:0 0 25px;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.18rem)}.story-copy p:first-child{color:var(--ink);font-size:clamp(1.35rem,2.5vw,1.85rem);font-family:Georgia,"Times New Roman",serif;line-height:1.45}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--teal);border-radius:999px;padding:12px 22px;color:var(--cream);background:var(--teal);box-shadow:4px 4px 0 rgba(51,38,27,.14);font-weight:800;letter-spacing:.03em;text-decoration:none}.coming{min-height:calc(100svh - 82px);width:min(900px,calc(100% - 36px));margin:0 auto;padding:clamp(54px,8vw,90px) 0;display:grid;place-items:center;text-align:center}.coming-card{position:relative;width:100%;overflow:hidden;border:1px solid rgba(23,100,101,.22);border-radius:28px;padding:clamp(48px,9vw,100px) clamp(24px,8vw,80px);background:rgba(255,250,240,.7);box-shadow:9px 10px 0 var(--shadow)}.coming-mark{width:min(220px,55vw);margin:0 auto 16px}.coming h1{margin:0 0 14px;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,8vw,6.8rem);font-weight:500;line-height:.95;letter-spacing:-.05em}.coming h2{margin:0 0 18px;color:var(--coral);font-size:clamp(1.2rem,2.4vw,1.7rem);letter-spacing:.06em}.coming p{max-width:580px;margin:0 auto 28px;color:var(--muted);font-size:1.12rem}.coming-flower{position:absolute;width:170px;right:-30px;bottom:-35px;opacity:.14}footer{padding:58px 18px calc(58px + env(safe-area-inset-bottom));color:var(--cream);background:var(--teal-dark)}.footer-inner{width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px}.footer-logo{width:180px;filter:brightness(0) invert(1);opacity:.95}.footer-heading{margin:0 0 10px;color:#f4b462;font-size:.8rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}footer p{margin:0 0 5px}footer a{text-underline-offset:4px}
@media(max-width:760px){.nav-shell{min-height:72px}.nav-logo{width:92px}.mobile-toggle{display:block}.nav-links{position:absolute;top:100%;right:18px;left:18px;display:none;align-items:stretch;flex-direction:column;gap:0;border:1px solid rgba(23,100,101,.2);border-radius:0 0 16px 16px;padding:10px 18px 18px;background:rgba(241,231,213,.98);box-shadow:0 12px 20px rgba(56,39,28,.12)}.nav-links.open{display:flex}.nav-link{text-align:left}.menu-nav{margin-top:8px;justify-content:center}.story-wrap{grid-template-columns:1fr}.story-photo{position:static;max-width:580px;margin:0 auto}.footer-inner{grid-template-columns:1fr;text-align:center;gap:28px}.footer-logo{margin:0 auto}.corner{width:130px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important}}
.story-photo{margin:0}
@media(max-width:760px){.story-photo{margin:0 auto}}
.nav-link{display:inline-flex;align-items:center;justify-content:center;text-align:center}
.story-photo img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center top}
html.page-transition-ready body{animation:pageFadeIn 2.5s ease both}html.page-transition-out body{opacity:0;transition:opacity 2.5s ease}@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}

/* Catering */
.catering-hero{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:clamp(64px,9vw,120px) 0 clamp(58px,7vw,88px);text-align:center}.catering-logo{width:min(245px,58vw);margin:0 auto 20px}.catering-hero h1{max-width:930px;margin:0 auto;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.6rem,9vw,8rem);font-weight:500;line-height:.88;letter-spacing:-.055em}.catering-deck{margin:20px 0 0;color:var(--coral);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3.8vw,3.2rem);font-style:italic}.catering-intro{width:min(1080px,calc(100% - 36px));margin:0 auto clamp(76px,9vw,125px);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(34px,7vw,86px);align-items:start}.catering-intro-title h2,.dish-heading h2,.catering-cta h2{margin:0;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.04;letter-spacing:-.035em}.catering-intro-title h2{font-size:clamp(2.5rem,5vw,4.8rem)}.catering-intro-copy{padding:8px 0 0;border-top:1px solid rgba(23,100,101,.35)}.catering-intro-copy p{margin:22px 0 0;color:var(--muted);font-size:clamp(1.06rem,1.6vw,1.22rem)}.catering-intro-copy p:first-child{color:var(--ink)}.dish-showcase{position:relative;padding:clamp(74px,9vw,118px) 18px;background:rgba(255,250,240,.66);border-top:1px solid rgba(23,100,101,.16);border-bottom:1px solid rgba(23,100,101,.16)}.dish-heading{width:min(780px,100%);margin:0 auto clamp(38px,6vw,68px);text-align:center}.dish-heading h2{font-size:clamp(2.75rem,6vw,5.4rem)}.dish-heading>p:last-child{max-width:650px;margin:18px auto 0;color:var(--muted);font-size:1.08rem}.dish-grid{width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dish-card{position:relative;min-height:230px;padding:clamp(28px,4vw,46px);overflow:hidden;border:1px solid rgba(23,100,101,.24);border-radius:22px;background:rgba(255,250,240,.9);box-shadow:6px 7px 0 rgba(68,48,31,.14)}.dish-card::after{content:"";position:absolute;width:120px;height:120px;right:-50px;bottom:-55px;border:1px solid rgba(223,108,84,.24);border-radius:50%}.dish-tag{margin:0 0 12px;color:var(--coral);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.dish-card h3{max-width:500px;margin:0 0 12px;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:500;line-height:1.1}.dish-card>p:last-child{max-width:520px;margin:0;color:var(--muted);font-size:1.03rem;line-height:1.55}.catering-cta{width:min(960px,calc(100% - 36px));margin:clamp(78px,10vw,138px) auto;padding:clamp(54px,8vw,86px) clamp(24px,7vw,74px);text-align:center;border:1px solid rgba(23,100,101,.25);border-radius:28px;background:rgba(255,250,240,.76);box-shadow:9px 10px 0 var(--shadow)}.cta-mark{width:min(170px,42vw);margin:0 auto 18px}.catering-cta h2{max-width:760px;margin:0 auto;font-size:clamp(2.65rem,6vw,5.2rem)}.catering-cta>p:not(.eyebrow){max-width:690px;margin:22px auto 30px;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.18rem)}.cta-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.button-outline{color:var(--teal-dark);background:transparent;box-shadow:none}.button-outline:hover,.button-outline:focus-visible{color:var(--cream);background:var(--teal)}
@media(max-width:760px){.catering-intro{grid-template-columns:1fr}.dish-grid{grid-template-columns:1fr}.dish-card{min-height:0}.catering-hero h1{font-size:clamp(3.45rem,18vw,5.4rem)}.cta-actions{flex-direction:column}.cta-actions .button{width:100%}}
.contact-hero{padding-bottom:clamp(46px,6vw,72px)}.contact-hero h1{font-size:clamp(3rem,7vw,6.5rem)}.contact-wrap{width:min(1040px,calc(100% - 36px));margin:0 auto clamp(86px,11vw,150px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(38px,7vw,86px);align-items:start}.contact-intro{padding-top:10px}.contact-intro h2{margin:0 0 18px;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:500;line-height:1.02;letter-spacing:-.04em}.contact-intro>p:last-child{max-width:380px;color:var(--muted);font-size:1.08rem}.contact-form{padding:clamp(28px,5vw,50px);border:1px solid rgba(23,100,101,.24);border-radius:22px;background:rgba(255,250,240,.82);box-shadow:7px 8px 0 var(--shadow)}.contact-form label,.contact-form legend{display:block;margin:0 0 8px;color:var(--teal-dark);font-size:1rem;font-weight:800}.contact-form label:not(.choice){margin-top:22px}.contact-form label span{color:var(--muted);font-size:.88rem;font-weight:500}.contact-form input[type=text],.contact-form input[type=number],.contact-form input[type=date],.contact-form textarea{width:100%;border:1px solid rgba(23,100,101,.35);border-radius:10px;padding:12px 14px;color:var(--ink);background:rgba(255,255,255,.58);font:inherit;font-size:1rem}.contact-form textarea{resize:vertical;min-height:110px}.contact-form fieldset{margin:0;padding:0;border:0}.choice{display:flex!important;align-items:center;gap:10px;margin:0 0 12px!important;color:var(--muted)!important;font-weight:600!important}.choice input{width:18px;height:18px;accent-color:var(--teal)}.contact-form .button{width:100%;margin-top:28px;cursor:pointer}.form-note{margin:14px 0 0;color:var(--muted);font-size:.9rem;text-align:center}@media(max-width:760px){.contact-wrap{grid-template-columns:1fr}.contact-hero h1{font-size:clamp(3.15rem,15vw,5.5rem)}}
