/* A visible navigation, with a compact service row on smaller screens. */
.site-header .nav-wrap{gap:18px;padding-inline:32px;flex-wrap:wrap}
.site-header .desktop-nav{display:flex;gap:22px;white-space:nowrap}
.site-header .menu-toggle,.site-header .mobile-nav{display:none}
.site-header .home-link{flex:none}
.site-header .header-socials{margin-left:auto}
.site-header .nav-cta{margin-left:0;white-space:nowrap}
@media(max-width:1300px){
 .site-header .desktop-nav{order:6;width:100%;justify-content:center;border-top:1px solid #153d2c10;padding-top:11px;gap:30px}
 .site-header .nav-wrap{row-gap:9px;padding-block:10px}
 .site-header .desktop-nav a{padding:6px 0}
 html{scroll-padding-top:160px}
}
@media(max-width:760px){
 .site-header .nav-wrap{padding:9px 20px 0;gap:6px 10px}
 .site-header .brand-logo{width:115px}
 .site-header .desktop-nav{gap:6px 20px;justify-content:flex-start;flex-wrap:wrap;white-space:normal;padding:6px 0 9px;font-size:10px}
 .site-header .desktop-nav a{min-height:30px;display:flex;align-items:center;padding:2px 0}
 .site-header .nav-cta{display:none}
 .site-header .language-switch{gap:2px}
 .site-header .language-switch a{min-width:23px}
 .site-header .header-socials{gap:2px}
 .site-header .header-socials a{width:29px}
 html{scroll-padding-top:175px}
}
@media(max-width:370px){.site-header .nav-wrap{padding-inline:15px;column-gap:7px}.site-header .brand-logo{width:100px}.site-header .desktop-nav{gap:0 16px;font-size:9px}}
/* Tiny porcelain-like objects. No pointer tracking, clutter or heavy imagery. */
.ambient-host{position:relative;isolation:isolate}
.ambient-objects{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:clip}
.ambient-object{position:absolute;display:block;width:150px;height:170px;opacity:.53;transform:rotate(var(--tilt,-9deg));filter:drop-shadow(9px 15px 12px #153d2c0c)}
.ambient-object svg{display:block;width:100%;height:100%;overflow:visible;animation:porcelain-float var(--duration,13s) ease-in-out infinite alternate;animation-delay:var(--delay,0s);animation-play-state:paused}
.ambient-in-view .ambient-object svg{animation-play-state:running}
.ambient-object.balloon-object{left:0;top:45px;--tilt:-13deg;--duration:15s}
.ambient-object.cake-object{right:0;bottom:32px;--tilt:11deg;--delay:-6s}
.services .ambient-object{right:4%;top:12px;width:145px;--tilt:8deg;--delay:-3s}
.cake-section .ambient-object{right:0;top:2px;width:126px;--tilt:-8deg;--duration:16s}
.bars .ambient-object{right:4%;bottom:12px;width:140px;--tilt:10deg;--delay:-8s;opacity:.4}
@keyframes porcelain-float{from{transform:translate3d(0,0,0) rotate(-2deg)}to{transform:translate3d(3px,-11px,0) rotate(3deg)}}
@media(max-width:1000px){.intro .ambient-object{width:100px;opacity:.35}.intro .balloon-object{left:0;top:15px}.intro .cake-object{right:0;bottom:5px}.services .ambient-object,.cake-section .ambient-object{width:100px;opacity:.4}}
@media(max-width:760px){.intro .ambient-object{width:78px;height:100px;opacity:.3}.intro .balloon-object{left:-12px;top:0}.intro .cake-object{display:none}.services .ambient-object{width:78px;height:92px;right:12px;top:0;opacity:.3}.cake-section .ambient-object{width:78px;height:92px;right:-6px;top:0;opacity:.3}.bars .ambient-object{width:90px;height:100px;bottom:3px;right:10px;opacity:.3}}
.motion-off .ambient-object svg{animation:none!important}
@media(prefers-reduced-motion:reduce){.ambient-object svg{animation:none!important}}
/* The classic catering menu is permanently open, including its four categories. */
.catering-menu-disclosure.classic-menu-open{border:0;border-radius:30px;background:linear-gradient(145deg,#193e2f,#28503a 50%,#173c2b);margin-top:55px}
.classic-menu-open .classic-section{padding:44px 36px;background:transparent}
.classic-menu-open .classic-heading{color:var(--paper)}
.classic-menu-open .classic-subtitle em{color:#d4dfb9}
.menu-category-heading{display:flex;gap:17px;align-items:center;padding:22px 0 16px}
.menu-category-heading h4{font:25px Display;line-height:1.12;letter-spacing:-.02em;margin:0}
.menu-category-heading small{display:block;font:9px DM;letter-spacing:.04em;color:var(--muted);margin-top:7px}
@media(max-width:760px){.classic-menu-open .classic-section{padding:30px 20px}.menu-category-heading{gap:10px}.menu-category-heading h4{font-size:23px}.classic-menu-open .classic-menu{padding:25px 18px}.classic-menu-open .classic-subtitle{font-size:35px}}
@media(max-width:760px){
 .site-header .desktop-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;font-size:11px;padding-bottom:6px}
 .site-header .desktop-nav a{min-height:42px;line-height:1.35}
 html{scroll-padding-top:205px}
}
@media(max-width:370px){.site-header .desktop-nav{font-size:10px;gap:0 8px}}
/* Three brief announcements, one at a time. Fixed height prevents layout shifts. */
.announcement.announcement-carousel{position:relative;height:38px;padding:0 90px;display:flex;justify-content:center;align-items:center;overflow:hidden;font-size:11px;line-height:1.35;background:#e5ecd9}
.announcement-track{position:relative;width:100%;max-width:900px;height:100%}
.announcement .announcement-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .45s,transform .45s,visibility 0s .45s;pointer-events:none}
.announcement .announcement-message.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .45s,transform .45s,visibility 0s;pointer-events:auto}
.announcement-message a{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:36px;font-weight:650}
.announcement-message a:hover{text-decoration:underline;text-underline-offset:4px}
.announcement-message a svg{width:16px;height:16px}
.announcement-controls{position:absolute;right:22px;top:0;bottom:0;display:flex;align-items:center;gap:3px}
.announcement-controls button{width:28px;height:34px;font-size:13px;border-radius:50%;display:grid;place-items:center;line-height:1}
.announcement-controls button:hover{background:#153d2c0c}
.announcement-controls button:disabled{opacity:.35;cursor:default}
.announcement-controls #announcement-next{font-size:21px}
@media(max-width:600px){.announcement.announcement-carousel{height:44px;padding:0 70px 0 16px;font-size:9px}.announcement-controls{right:8px;gap:0}.announcement-controls button{width:26px;height:36px}.announcement-message a{min-height:40px}.announcement-message a svg{width:14px;height:14px}}

/* Footer contact paths: call, email, or build a turnkey event request. */
.site-footer .footer-main{grid-template-columns:1.1fr .9fr 1.3fr auto}
.site-footer .footer-contact{min-width:0}
.site-footer .footer-contact .eyebrow{margin-bottom:2px}
.site-footer .footer-contact .footer-phone{font-size:11px;letter-spacing:.035em;color:#d3dfc9;width:fit-content;padding-block:4px;margin-bottom:3px}
.site-footer .footer-contact-button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:12px 16px;border:1px solid #fbf6ed50;border-radius:16px;font-size:12px;line-height:1.5;transition:background .25s,color .25s,border-color .25s}
.site-footer .footer-contact-button span{min-width:0}
.site-footer .footer-contact-button svg{width:18px;height:18px;flex:none}
.site-footer .footer-contact-button:hover{background:#ffffff12;border-color:#fbf6edaa}
.site-footer .footer-contact .footer-project-label{margin:8px 0 -3px;font-size:11px;color:#d3dfc9}
.site-footer .footer-project{background:#fbf6ed;color:#153d2c;border-color:#fbf6ed}
.site-footer .footer-project:hover{background:#e7edd9;color:#153d2c}
.site-footer .footer-contact .footer-socials{margin-top:10px}
@media(max-width:1000px){.site-footer .footer-main{grid-template-columns:1fr 1fr 1.3fr;gap:25px}}
@media(max-width:760px){.site-footer .footer-main{grid-template-columns:1fr 1fr;gap:28px 20px}.site-footer .footer-contact{grid-column:1/-1;max-width:440px;width:100%}.site-footer .footer-contact-button{font-size:12px}.site-footer .footer-contact .footer-phone{font-size:11px}}
