@import url('https://fonts.googleapis.com/css2?family=Belleza&family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--cream:#f2ead5;--cream2:#fbf5e7;--gold:#e8d39a;--olive:#2f382c;--brown:#765a3e;--brown2:#4c392a;--ink:#191612;--muted:#6a5d4d;--serif:"Cormorant Garamond",Georgia,serif;--display:"Belleza","Cormorant Garamond",Georgia,serif;--sans:"Inter",Arial,sans-serif;--head:96px;--bar:39px;--shadow:0 22px 70px rgba(35,28,18,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0 0 1rem}h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;letter-spacing:.035em;line-height:1.1;text-transform:uppercase}button{font:inherit}.skip-link{position:absolute;z-index:999;top:8px;left:8px;padding:10px 14px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.container{width:min(1120px,calc(100% - 44px));margin:auto}.narrow{width:min(780px,calc(100% - 44px))}.section-pad{padding:clamp(74px,9vw,128px) 0}.announcement{min-height:var(--bar);display:grid;place-items:center;padding:8px 18px;background:#34393a;color:#fff;font-family:var(--display);font-size:clamp(13px,1.5vw,17px);letter-spacing:.04em;text-align:center;text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);box-shadow:0 10px 32px rgba(34,30,20,.08);backdrop-filter:blur(12px)}.nav-wrap{position:relative;min-height:var(--head);width:min(1180px,calc(100% - 36px));margin:auto;display:grid;grid-template-columns:1fr 124px 1fr;align-items:center;gap:18px}.brand{position:relative;z-index:2;width:124px;height:124px;margin:-18px auto;border-radius:999px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.08);display:grid;place-items:center;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:clamp(14px,1.7vw,26px)}.desktop-nav-left{justify-content:flex-end}.desktop-nav-right{justify-content:flex-start}.desktop-nav a{position:relative;padding:11px 0;font-family:var(--display);font-size:13.5px;font-weight:700;letter-spacing:.095em;text-transform:uppercase;white-space:nowrap}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--brown);transform:scaleX(0);transition:.22s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.mobile-actions,.mobile-menu{display:none}.hero{position:relative;min-height:calc(100svh - var(--bar) - var(--head));overflow:hidden;background:#15120f;isolation:isolate}.hero-video,.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-video{z-index:-3}.hero-fallback{z-index:-4}.hero-video.is-hidden{display:none}.hero-shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at center,rgba(0,0,0,.08),rgba(0,0,0,.56)),linear-gradient(to top,rgba(0,0,0,.44),transparent 46%,rgba(0,0,0,.18))}.hero-content{min-height:calc(100svh - var(--bar) - var(--head));display:grid;align-content:center;justify-items:center;gap:12px;padding:90px 24px;color:#fff;text-align:center;text-shadow:0 4px 22px rgba(0,0,0,.35)}.hero-content .script{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(38px,6vw,76px);line-height:.8}.hero-content h1{font-size:clamp(52px,10vw,112px);letter-spacing:.17em;margin-left:.17em}.hero-content p:not(.script){margin:0;font-family:var(--display);font-size:clamp(13px,1.8vw,18px);letter-spacing:.18em;text-transform:uppercase}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.video-control{position:absolute;left:26px;bottom:30px;z-index:4;width:48px;height:48px;border:0;border-radius:999px;color:#fff;background:rgba(0,0,0,.26);cursor:pointer;backdrop-filter:blur(10px)}.pause-icon{position:relative;display:block;width:20px;height:22px;margin:auto}.pause-icon:before,.pause-icon:after{content:"";position:absolute;top:1px;width:6px;height:20px;background:currentColor;border-radius:2px}.pause-icon:before{left:2px}.pause-icon:after{right:2px}.video-control.is-paused .pause-icon:before{left:5px;width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:18px solid currentColor;background:transparent;border-radius:0}.video-control.is-paused .pause-icon:after{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 30px 13px;border:1px solid transparent;font-family:var(--display);font-size:14px;font-weight:700;line-height:1;letter-spacing:.105em;text-transform:uppercase;cursor:pointer;transition:.18s}.btn:hover,.btn:focus-visible{transform:translateY(-2px)}.btn-light{background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 12px 35px rgba(0,0,0,.18)}.btn-outline-light{border-color:rgba(255,255,255,.82);color:#fff;background:rgba(255,255,255,.08)}.btn-brown{background:var(--brown);color:#fff;box-shadow:0 14px 28px rgba(76,57,42,.14)}.btn-brown:hover{background:var(--brown2)}.btn-outline-dark{border-color:rgba(25,22,18,.34);background:transparent;color:var(--ink)}.intro{position:relative;background:var(--cream);text-align:center}.intro-decoration{width:min(190px,46vw);height:auto;margin:0 auto 30px;object-fit:contain;mix-blend-mode:multiply;opacity:.95}.eyebrow{margin:0 0 15px;font-family:var(--display);font-weight:700;font-size:clamp(24px,3.3vw,34px);line-height:1.1;color:var(--brown);text-transform:capitalize}.intro h2,.crafted h2,.stay-touch h2{margin-bottom:24px;font-size:clamp(34px,4vw,52px)}.intro p:last-child{max-width:760px;margin:auto;color:#3d3024;font-size:clamp(18px,1.8vw,22px)}.feature-slider{position:relative;min-height:clamp(520px,68vw,760px);background:#1b1713;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .75s}.slide.is-active{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:cover}.slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.18) 50%,rgba(0,0,0,.45)),linear-gradient(to top,rgba(0,0,0,.45),transparent 45%)}.slide-content{position:absolute;inset:0;width:min(920px,calc(100% - 44px));margin:auto;display:grid;align-content:center;justify-items:center;color:#fff;text-align:center}.slide-content p{margin:0 0 12px;font-size:clamp(21px,3vw,34px);font-weight:500;text-transform:capitalize;text-shadow:0 2px 14px rgba(0,0,0,.45)}.slide-content h2{max-width:980px;margin:0 0 28px;font-size:clamp(34px,6vw,74px);color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.45)}.slider-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:54px;height:54px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:48px;line-height:.8;cursor:pointer;backdrop-filter:blur(12px)}.slider-arrow:hover{background:rgba(255,255,255,.22)}.slider-prev{left:24px}.slider-next{right:24px}.slider-dots{position:absolute;left:50%;bottom:28px;z-index:6;display:flex;gap:10px;transform:translateX(-50%)}.slider-dots button{width:12px;height:12px;padding:0;border:1px solid #fff;border-radius:999px;background:transparent;cursor:pointer}.slider-dots button.is-active{background:#fff}.split-section{background:var(--cream2)}.reserve-section{background:var(--cream)}.split-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,78px);align-items:center}.split-grid.reverse{grid-template-columns:1.2fr .8fr}.split-copy{max-width:460px}.split-copy.centered{justify-self:center;text-align:center}.split-copy h2{margin-bottom:22px;font-size:clamp(36px,4.6vw,58px);color:var(--brown)}.split-copy p:not(.eyebrow){color:var(--muted);font-size:clamp(18px,1.7vw,21px)}.image-card{position:relative;overflow:hidden;box-shadow:var(--shadow)}.image-card:before{content:"";position:absolute;inset:14px;z-index:2;border:1px solid rgba(255,255,255,.32);pointer-events:none}.image-card img{width:100%;height:clamp(360px,45vw,560px);object-fit:cover;transition:.7s}.image-card:hover img{transform:scale(1.035)}.image-card.wide img{height:clamp(360px,40vw,520px)}.crafted{position:relative;min-height:620px;display:grid;place-items:center;overflow:hidden;text-align:center;background:var(--gold)}.crafted-bg{position:absolute;inset:0;background:linear-gradient(rgba(242,231,190,.62),rgba(242,231,190,.62)),url('../img/background.jpg') center/cover no-repeat;opacity:.92}.crafted-card{position:relative;z-index:2;padding:clamp(34px,5vw,64px);background:rgba(251,245,231,.82);box-shadow:0 22px 70px rgba(90,72,42,.14);backdrop-filter:blur(3px)}.crafted-card p:not(.eyebrow){color:#4c4438;font-size:clamp(18px,1.7vw,21px)}.stay-touch{position:relative;overflow:hidden;min-height:clamp(360px,32vw,520px);display:grid;place-items:center;background:#f4dea1 url('../img/touch.png') center/cover no-repeat;text-align:center}.stay-touch:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,222,161,.36),rgba(244,222,161,.08) 48%,rgba(244,222,161,.25));pointer-events:none}.stay-touch:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(87,66,39,.16)}.stay-touch .container{position:relative;z-index:1}.stay-touch h2{max-width:780px;margin-left:auto;margin-right:auto}.touch-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px}.map-section{height:430px;background:#d7d7d0}.map-section iframe{display:block;width:100%;height:100%}.site-footer{background:var(--olive);color:rgba(255,255,255,.88)}.footer-grid{display:grid;grid-template-columns:1.05fr 1.55fr .85fr 1.15fr;gap:clamp(26px,4vw,62px);padding:56px 0 45px}.site-footer h2{margin-bottom:18px;color:#f5e7bf;font-size:15px;letter-spacing:.13em}.site-footer p,.site-footer a{font-size:16px;line-height:1.6}.site-footer p{color:rgba(255,255,255,.78)}.site-footer strong{color:#fff;font-family:var(--display);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.footer-link,.site-footer a{color:#f5e7bf;text-decoration:underline;text-underline-offset:3px}.footer-socials{display:flex;flex-direction:column;gap:9px}.footer-bottom{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding:22px 20px calc(22px + env(safe-area-inset-bottom));background:#060606;text-align:center}.footer-bottom p{margin:0;font-size:13px;color:rgba(255,255,255,.72)}.bottom-cta{display:none}
@media(max-width:1080px){.nav-wrap{grid-template-columns:1fr 112px 1fr}.desktop-nav{gap:13px}.desktop-nav a{font-size:12.5px}.brand{width:112px;height:112px}}
@media(max-width:900px){:root{--head:88px}body{padding-bottom:60px}.announcement{font-size:15px}.nav-wrap{width:calc(100% - 28px);grid-template-columns:94px 1fr;min-height:var(--head)}.brand{width:96px;height:96px;margin:-6px 0;justify-self:start}.desktop-nav{display:none}.mobile-actions{display:flex;justify-self:end;align-items:center;gap:18px}.social-icon{display:grid;place-items:center;min-width:22px;height:28px;font-family:Arial,sans-serif;font-size:32px;font-weight:700;color:#000}.social-icon-ig svg{width:27px;height:27px;fill:currentColor}.menu-toggle{display:inline-flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:7px;cursor:pointer}.menu-toggle span{width:42px;height:4px;background:#000;transition:.25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(11px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-11px) rotate(-45deg)}.mobile-menu{position:fixed;top:calc(var(--bar) + var(--head));left:0;right:0;z-index:49;display:grid;max-height:calc(100svh - var(--bar) - var(--head) - 60px);overflow:auto;padding:18px 24px 26px;background:rgba(255,255,255,.98);box-shadow:0 30px 50px rgba(0,0,0,.14);transform:translateY(-120%);opacity:0;pointer-events:none;transition:.26s}.mobile-menu.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-menu a{padding:16px 4px;border-bottom:1px solid rgba(0,0,0,.1);font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hero,.hero-content{min-height:56svh}.hero-content{padding:56px 20px}.hero-content .script{font-size:clamp(34px,10vw,62px)}.hero-content h1{font-size:clamp(48px,14vw,82px)}.hero-cta{display:none}.section-pad{padding:64px 0}.feature-slider{min-height:560px}.slide-content h2{font-size:clamp(34px,8vw,58px)}.slider-arrow{width:44px;height:44px;font-size:42px}.slider-prev{left:10px}.slider-next{right:10px}.split-grid,.split-grid.reverse{grid-template-columns:1fr}.split-copy,.split-copy.centered{max-width:100%;justify-self:stretch;text-align:center}.image-card{order:2}.reserve-section .image-card{order:1}.reserve-section .split-copy{order:2}.footer-grid{grid-template-columns:1fr 1fr}.bottom-cta{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:repeat(5,1fr);min-height:60px;padding-bottom:env(safe-area-inset-bottom);background:#020202;color:#fff;box-shadow:0 -10px 30px rgba(0,0,0,.18)}.bottom-cta a{display:grid;place-items:center;padding:15px 4px 14px;border-right:1px solid rgba(255,255,255,.12);font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.bottom-cta a:last-child{border-right:0}}
@media(max-width:620px){.container,.narrow{width:min(100% - 34px,1120px)}.announcement{min-height:39px;padding:8px 12px}.brand{width:86px;height:86px}.nav-wrap{min-height:88px;grid-template-columns:86px 1fr}.mobile-actions{gap:14px}.feature-slider{min-height:510px}.slide-content{width:min(100% - 34px,920px)}.slide-content h2{margin-bottom:18px}.intro-decoration{width:138px;margin-bottom:24px}.image-card img,.image-card.wide img{height:330px}.crafted{min-height:560px}.crafted-card{padding:30px 22px}.map-section{height:360px}.footer-grid{grid-template-columns:1fr;padding:44px 0 34px;gap:28px}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}.bottom-cta a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* --- AVVA v1.3 refinements --- */
.announcement{padding:10px 0 11px;background:#353838}
.announcement a,.announcement p{text-decoration:none!important}
.announcement-inner{display:flex;align-items:center;justify-content:center;gap:16px;min-height:42px;flex-wrap:wrap}
.announcement p{margin:0;color:#f8f1da;font-family:var(--body);font-size:19px;font-weight:500;letter-spacing:.01em}
.announcement-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 16px;border:1px solid rgba(245,231,191,.55);border-radius:999px;background:rgba(245,231,191,.08);color:#f8f1da;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.18s}
.announcement-btn:hover,.announcement-btn:focus-visible{background:rgba(245,231,191,.18);transform:translateY(-1px)}
.site-header{background:#f7f5f1}
.nav-wrap{position:relative;overflow:visible;grid-template-columns:1fr 180px 1fr;column-gap:22px;min-height:132px;padding:0 34px}
.desktop-nav{gap:22px}
.desktop-nav a{font-size:17px;font-weight:700;letter-spacing:.055em;color:#26211d}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--brown)}
.brand{position:relative;z-index:3;display:grid;place-items:center;width:170px;height:170px;margin:0 auto -28px;border-radius:50%;background:transparent;box-shadow:none}
.brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.08))}
.hero-shade{background:linear-gradient(180deg,rgba(12,10,8,.48),rgba(12,10,8,.42) 20%,rgba(12,10,8,.55) 60%,rgba(12,10,8,.58))}
.hero-content{padding:120px 20px 90px;text-shadow:0 6px 20px rgba(0,0,0,.38)}
.hero-content .script{font-size:clamp(46px,6vw,82px);font-style:italic}
.hero-content h1{margin-top:6px;margin-bottom:10px;font-size:clamp(84px,11vw,158px);line-height:.92}
.hero-content > p:not(.script){font-size:clamp(18px,1.8vw,31px);font-weight:600;letter-spacing:.22em}
.hero-cta .btn{min-height:58px;padding:18px 34px 16px;font-size:16px;letter-spacing:.12em}
.btn{min-height:54px;padding:17px 32px 15px;font-size:15px}
.intro h2,.crafted h2,.stay-touch h2{font-size:clamp(38px,4.2vw,58px)}
.intro p:last-child,.crafted-card p:not(.eyebrow),.split-copy p:not(.eyebrow){font-size:clamp(18px,1.45vw,22px)}
.site-footer{background:linear-gradient(180deg,#394032 0%,#2b3127 100%)}
.footer-grid{align-items:flex-start;padding:62px 0 48px}
.footer-card{padding-right:10px}
.site-footer h2{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#f1dfab;font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.footer-label-icon,.footer-social-icon{display:inline-flex;align-items:center;justify-content:center}
.footer-label-icon svg{width:18px;height:18px;fill:#d1b474}
.footer-social-icon svg{width:18px;height:18px;fill:#d9c287}
.site-footer p,.site-footer a{font-size:16px;line-height:1.8;color:rgba(255,255,255,.9)}
.site-footer p{margin:0 0 14px}
.site-footer strong{display:inline-block;margin-bottom:4px;color:#fff;font-family:var(--display);font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.footer-link,.site-footer a{text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{color:#f6e4b2}
.footer-socials{gap:12px}
.footer-socials a,.contact-line{display:inline-flex;align-items:center;gap:10px}
.footer-bottom{display:flex;align-items:center;justify-content:center;gap:26px;padding:18px 20px calc(18px + env(safe-area-inset-bottom));background:#090909;text-align:center}
.footer-bottom p{display:flex;align-items:center;justify-content:center;min-height:22px;margin:0;font-size:13px;line-height:1.4;color:rgba(255,255,255,.76)}
.footer-bottom a{color:#f1dfab;text-decoration:none}
@media(max-width:1180px){.nav-wrap{grid-template-columns:1fr 150px 1fr;padding:0 20px}.desktop-nav{gap:16px}.desktop-nav a{font-size:15px}.brand{width:148px;height:148px;margin-bottom:-22px}}
@media(max-width:900px){.announcement-inner{gap:10px;min-height:unset}.announcement p{font-size:17px;text-align:center}.announcement-btn{min-height:32px;padding:8px 14px;font-size:11px}.nav-wrap{width:calc(100% - 28px);grid-template-columns:104px 1fr;min-height:108px;padding:0}.brand{width:100px;height:100px;margin:0}.mobile-actions{gap:16px}.social-icon{font-size:34px}.hero-content{padding:88px 20px 72px}.hero-content h1{font-size:clamp(62px,17vw,108px)}.hero-content .script{font-size:clamp(38px,11vw,64px)}.hero-content>p:not(.script){font-size:17px;letter-spacing:.14em}.hero-cta{display:flex;flex-wrap:wrap;justify-content:center}.hero-cta .btn{min-width:160px}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:620px){.announcement{padding:8px 0 10px}.announcement p{font-size:15px;line-height:1.45}.announcement-btn{font-size:10px;letter-spacing:.14em}.nav-wrap{min-height:102px;grid-template-columns:94px 1fr}.brand{width:92px;height:92px}.mobile-actions{gap:13px}.menu-toggle{width:42px;height:42px}.menu-toggle span{width:38px;height:3px}.hero-shade{background:linear-gradient(180deg,rgba(12,10,8,.42),rgba(12,10,8,.38) 18%,rgba(12,10,8,.56) 60%,rgba(12,10,8,.6))}.hero-content{padding:80px 18px 64px}.hero-cta .btn{min-height:50px;padding:15px 22px 13px;font-size:14px}.site-footer p,.site-footer a{font-size:15px}.footer-grid{padding:42px 0 32px}}


/* --- AVVA v1.4 header/footer corrections --- */
.announcement,
.announcement a,
.announcement p,
.announcement *{
  text-decoration:none!important;
  text-underline-offset:0!important;
  border-bottom:0!important;
}
.announcement{
  min-height:52px;
  padding:8px 0;
  background:#303535;
  color:#f7efd8;
  font-family:var(--serif);
  letter-spacing:.015em;
}
.announcement-inner{
  min-height:36px;
  gap:20px;
}
.announcement p{
  font-family:var(--serif);
  font-size:18px;
  font-weight:600;
  line-height:1.25;
  color:#f7efd8;
}
.announcement-btn{
  min-width:150px;
  min-height:34px;
  padding:8px 20px 7px;
  border:0!important;
  border-radius:0;
  background:#f8f7f4;
  color:#2f3333;
  box-shadow:none!important;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.035em;
  text-transform:none;
}
.announcement-btn:hover,.announcement-btn:focus-visible{
  background:#efe7d2;
  color:#181817;
  transform:none;
}

.site-header{
  background:#f7f5f1;
  overflow:visible;
}
.nav-wrap{
  width:min(100%,1340px);
  min-height:86px;
  grid-template-columns:minmax(390px,1fr) 152px minmax(450px,1fr);
  gap:18px;
  padding:0 28px;
  overflow:visible;
}
.desktop-nav{
  gap:24px;
  align-items:center;
}
.desktop-nav-left{justify-content:flex-end}
.desktop-nav-right{justify-content:flex-start}
.desktop-nav a{
  font-family:var(--display);
  font-size:15px;
  font-weight:600;
  line-height:1;
  letter-spacing:.055em;
  color:#171513;
  white-space:nowrap;
}
.brand{
  width:154px;
  height:154px;
  margin:0 auto -58px;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}
.brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 9px 16px rgba(0,0,0,.08));
}
.hero{margin-top:0}
.hero-content{
  padding-top:118px;
}
.site-footer{
  font-family:var(--sans);
}
.site-footer h2{
  font-family:var(--display);
  font-size:14px;
  font-weight:700;
}
.site-footer p,
.site-footer a{
  font-family:var(--sans);
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:0;
}
.site-footer strong{
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.footer-bottom p,
.footer-bottom a{
  font-family:var(--sans);
  font-size:13px;
  line-height:1.4;
}
.footer-link,
.site-footer a{
  text-decoration:none!important;
}
.footer-social-icon svg,
.footer-label-icon svg{
  flex:none;
}

@media(max-width:1280px){
  .nav-wrap{
    grid-template-columns:minmax(330px,1fr) 138px minmax(390px,1fr);
    gap:14px;
    padding:0 18px;
  }
  .desktop-nav{gap:17px}
  .desktop-nav a{font-size:13.5px;letter-spacing:.05em}
  .brand{width:140px;height:140px;margin-bottom:-50px}
}
@media(max-width:1060px){
  .nav-wrap{
    grid-template-columns:minmax(285px,1fr) 126px minmax(340px,1fr);
    gap:12px;
  }
  .desktop-nav{gap:12px}
  .desktop-nav a{font-size:12.5px;letter-spacing:.04em}
  .brand{width:128px;height:128px;margin-bottom:-44px}
}
@media(max-width:900px){
  .announcement{min-height:44px}
  .announcement-inner{gap:10px;min-height:unset}
  .announcement p{font-size:15px;text-align:center}
  .announcement-btn{min-width:132px;min-height:30px;font-size:11px}
  .nav-wrap{
    width:calc(100% - 28px);
    min-height:92px;
    grid-template-columns:92px 1fr;
    gap:10px;
    padding:0;
  }
  .brand{
    width:90px;
    height:90px;
    margin:0;
    justify-self:start;
  }
  .mobile-actions{gap:14px}
  .hero-content{padding-top:70px}
}
@media(max-width:620px){
  .announcement p{font-size:14px}
  .announcement-btn{font-size:10px}
  .nav-wrap{
    min-height:88px;
    grid-template-columns:88px 1fr;
  }
  .brand{width:86px;height:86px}
  .site-footer p,.site-footer a{font-size:14.5px}
}


/* --- AVVA v1.5 compact header + social icon fixes --- */
.announcement,
.announcement *,
.announcement p,
.announcement a{
  text-decoration:none!important;
  text-decoration-line:none!important;
  border-bottom:0!important;
}
.announcement{
  min-height:36px!important;
  height:auto!important;
  padding:3px 0!important;
  line-height:1!important;
  background:#303535;
}
.announcement-inner{
  min-height:30px!important;
  gap:14px!important;
}
.announcement p{
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:600!important;
}
.announcement-btn{
  min-width:128px!important;
  min-height:27px!important;
  padding:5px 13px 4px!important;
  font-size:11px!important;
  line-height:1!important;
}
.site-header{
  overflow:visible!important;
}
.nav-wrap{
  min-height:68px!important;
  grid-template-columns:minmax(350px,1fr) 116px minmax(430px,1fr)!important;
  gap:14px!important;
  padding:0 24px!important;
}
.desktop-nav{
  gap:18px!important;
}
.desktop-nav a{
  font-size:13.5px!important;
  font-weight:600!important;
  letter-spacing:.045em!important;
  line-height:1!important;
}
.brand{
  width:116px!important;
  height:116px!important;
  margin:0 auto -42px!important;
}
.brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.desktop-socials{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin-left:12px;
}
.social-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  padding:0!important;
  color:#111!important;
  line-height:1!important;
  font-size:0!important;
}
.social-icon svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  fill:currentColor!important;
}
.social-icon:hover,
.social-icon:focus-visible{
  color:#765a3e!important;
}
.hero-content{
  padding-top:90px!important;
}

@media(max-width:1280px){
  .nav-wrap{
    grid-template-columns:minmax(310px,1fr) 108px minmax(395px,1fr)!important;
    gap:12px!important;
    padding:0 18px!important;
  }
  .desktop-nav{gap:13px!important}
  .desktop-nav a{font-size:12.3px!important;letter-spacing:.04em!important}
  .desktop-socials{gap:10px;margin-left:8px}
  .brand{width:108px!important;height:108px!important;margin-bottom:-38px!important}
}
@media(max-width:1060px){
  .nav-wrap{
    grid-template-columns:minmax(275px,1fr) 102px minmax(335px,1fr)!important;
    gap:9px!important;
  }
  .desktop-nav{gap:9px!important}
  .desktop-nav a{font-size:11.4px!important;letter-spacing:.035em!important}
  .desktop-socials{gap:8px;margin-left:6px}
  .social-icon{width:20px!important;height:20px!important;min-width:20px!important}
  .social-icon svg{width:16px!important;height:16px!important}
  .brand{width:102px!important;height:102px!important;margin-bottom:-36px!important}
}
@media(max-width:900px){
  .announcement{min-height:34px!important;padding:3px 0!important}
  .announcement-inner{min-height:28px!important;gap:8px!important}
  .announcement p{font-size:13.5px!important;line-height:1.15!important}
  .announcement-btn{min-width:116px!important;min-height:25px!important;padding:5px 10px 4px!important;font-size:9.8px!important}
  .desktop-socials{display:none!important}
  .nav-wrap{
    width:calc(100% - 28px)!important;
    min-height:72px!important;
    grid-template-columns:72px 1fr!important;
    gap:10px!important;
    padding:0!important;
  }
  .brand{
    width:72px!important;
    height:72px!important;
    margin:0!important;
    justify-self:start!important;
  }
  .mobile-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:13px!important;
  }
  .mobile-actions .social-icon{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
  }
  .mobile-actions .social-icon svg{
    width:19px!important;
    height:19px!important;
  }
  .menu-toggle{
    width:34px!important;
    height:34px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
  }
  .menu-toggle span{
    width:31px!important;
    height:3px!important;
  }
  .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)!important}
  .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important}
  .mobile-menu{
    top:calc(34px + 72px)!important;
  }
  .hero-content{
    padding-top:58px!important;
  }
}
@media(max-width:620px){
  .announcement p{font-size:12.5px!important}
  .announcement-btn{min-width:108px!important;font-size:9.3px!important}
  .nav-wrap{
    min-height:68px!important;
    grid-template-columns:68px 1fr!important;
  }
  .brand{width:68px!important;height:68px!important}
  .mobile-actions{gap:11px!important}
  .mobile-actions .social-icon{width:22px!important;height:22px!important;min-width:22px!important}
  .mobile-actions .social-icon svg{width:18px!important;height:18px!important}
  .menu-toggle{width:32px!important;height:32px!important}
  .menu-toggle span{width:30px!important;height:3px!important}
  .mobile-menu{
    top:calc(34px + 68px)!important;
  }
  .hero-content{
    padding-top:52px!important;
  }
}


/* --- AVVA v1.6 spacing + clean social hover + nicer mobile menu --- */

/* No underline/line effect on social icons in desktop navigation */
.desktop-socials,
.desktop-socials a,
.desktop-socials a:hover,
.desktop-socials a:focus,
.desktop-socials a:focus-visible,
.desktop-socials .social-icon,
.desktop-socials .social-icon:hover,
.desktop-socials .social-icon:focus,
.desktop-socials .social-icon:focus-visible{
  text-decoration:none!important;
  text-decoration-line:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background-image:none!important;
}
.desktop-socials a::before,
.desktop-socials a::after,
.desktop-socials .social-icon::before,
.desktop-socials .social-icon::after{
  content:none!important;
  display:none!important;
}

/* Desktop: keep logo slightly away from the top gray bar */
@media(min-width:901px){
  .nav-wrap{
    min-height:72px!important;
  }
  .brand{
    width:106px!important;
    height:106px!important;
    margin:6px auto -38px!important;
  }
}

/* Desktop social icons: small and aligned with menu text */
@media(min-width:901px){
  .desktop-socials{
    height:22px;
    align-items:center!important;
  }
  .desktop-socials .social-icon{
    vertical-align:middle!important;
    transform:translateY(0)!important;
  }
  .desktop-socials .social-icon svg{
    width:17px!important;
    height:17px!important;
  }
}

/* Mobile: give the logo breathing room from top and bottom of the header */
@media(max-width:900px){
  .nav-wrap{
    min-height:76px!important;
    align-items:center!important;
  }
  .brand{
    width:68px!important;
    height:68px!important;
    margin:4px 0!important;
    align-self:center!important;
  }
  .mobile-actions{
    align-items:center!important;
  }
  .mobile-actions .social-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
  }
  .mobile-actions .social-icon svg{
    width:17px!important;
    height:17px!important;
  }
  .menu-toggle{
    align-self:center!important;
  }

  /* Softer, more premium mobile menu reveal */
  .mobile-menu{
    top:calc(34px + 76px)!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    border-radius:0 0 18px 18px;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 24px 60px rgba(18,15,10,.18)!important;
    transform:translateY(-14px) scale(.985)!important;
    transform-origin:top center!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:
      opacity .28s ease,
      transform .34s cubic-bezier(.2,.75,.2,1),
      visibility 0s linear .34s!important;
  }
  .mobile-menu.is-open{
    transform:translateY(0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:
      opacity .24s ease,
      transform .34s cubic-bezier(.2,.75,.2,1),
      visibility 0s!important;
  }
  .mobile-menu a{
    opacity:0;
    transform:translateY(-7px);
    transition:opacity .24s ease, transform .28s ease;
  }
  .mobile-menu.is-open a{
    opacity:1;
    transform:translateY(0);
  }
  .mobile-menu.is-open a:nth-child(1){transition-delay:.03s}
  .mobile-menu.is-open a:nth-child(2){transition-delay:.055s}
  .mobile-menu.is-open a:nth-child(3){transition-delay:.08s}
  .mobile-menu.is-open a:nth-child(4){transition-delay:.105s}
  .mobile-menu.is-open a:nth-child(5){transition-delay:.13s}
  .mobile-menu.is-open a:nth-child(6){transition-delay:.155s}
  .mobile-menu.is-open a:nth-child(7){transition-delay:.18s}
  .mobile-menu.is-open a:nth-child(8){transition-delay:.205s}
}

/* Smaller phones */
@media(max-width:620px){
  .nav-wrap{
    min-height:72px!important;
  }
  .brand{
    width:64px!important;
    height:64px!important;
    margin:4px 0!important;
  }
  .mobile-menu{
    top:calc(34px + 72px)!important;
    left:10px!important;
    right:10px!important;
  }
}

/* Respect users who prefer less motion */
@media(prefers-reduced-motion:reduce){
  .mobile-menu,
  .mobile-menu a{
    transition:none!important;
    transform:none!important;
  }
}


/* --- AVVA v1.7 cleaner mobile hero + slightly larger nav/socials --- */

/* Desktop menu: a touch larger, still compact */
@media(min-width:901px){
  .desktop-nav a{
    font-size:14.4px!important;
    letter-spacing:.047em!important;
  }
  .desktop-socials{
    gap:14px!important;
    margin-left:14px!important;
  }
  .desktop-socials .social-icon{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
  }
  .desktop-socials .social-icon svg{
    width:20px!important;
    height:20px!important;
  }
}
@media(min-width:901px) and (max-width:1280px){
  .desktop-nav a{
    font-size:13px!important;
  }
  .desktop-socials .social-icon{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
  }
  .desktop-socials .social-icon svg{
    width:18.5px!important;
    height:18.5px!important;
  }
}
@media(min-width:901px) and (max-width:1060px){
  .desktop-nav a{
    font-size:12px!important;
  }
}

/* Mobile nav/socials: slightly bigger and still aligned */
@media(max-width:900px){
  .mobile-actions .social-icon{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
  }
  .mobile-actions .social-icon svg{
    width:21px!important;
    height:21px!important;
  }
  .mobile-menu a{
    font-size:18px!important;
    letter-spacing:.095em!important;
  }

  /* Let the video breathe on mobile: remove the big hero words */
  .hero-content .script,
  .hero-content h1{
    display:none!important;
  }
  .hero-content{
    justify-content:flex-end!important;
    padding:0 20px 78px!important;
  }
  .hero-content > p:not(.script){
    max-width:88%;
    margin:0 auto 18px!important;
    font-size:14px!important;
    line-height:1.5!important;
    letter-spacing:.16em!important;
    text-shadow:0 4px 18px rgba(0,0,0,.55);
  }
  .hero-cta{
    display:flex!important;
    gap:10px!important;
  }
  .hero-cta .btn{
    min-width:138px!important;
    min-height:46px!important;
    padding:14px 18px 12px!important;
    font-size:13px!important;
  }
}

/* Very small phones: keep CTA neat */
@media(max-width:480px){
  .hero-content{
    padding-bottom:70px!important;
  }
  .hero-content > p:not(.script){
    font-size:12.5px!important;
    letter-spacing:.13em!important;
  }
  .hero-cta .btn{
    min-width:128px!important;
    font-size:12px!important;
  }
}


/* --- AVVA v1.8 mobile hero + attribution + top-bar polish --- */

/* Keep top announcement in one line on mobile; hide event button only when needed */
.announcement-inner{
  flex-wrap:nowrap!important;
}
.announcement p{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  min-width:0!important;
}
@media(max-width:480px){
  .announcement-btn{
    display:none!important;
  }
  .announcement p{
    width:100%!important;
    text-align:center!important;
    font-size:13px!important;
  }
}

/* More comfortable spacing between social icons and hamburger on mobile */
@media(max-width:900px){
  .mobile-actions{
    gap:16px!important;
  }
  .menu-toggle{
    margin-left:7px!important;
  }
}
@media(max-width:620px){
  .mobile-actions{
    gap:14px!important;
  }
  .menu-toggle{
    margin-left:6px!important;
  }
}

/* Mobile hero: restore Welcome/AVVA briefly, center everything, then fade it away */
@media(max-width:900px){
  .hero-content{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:56svh!important;
    padding:58px 18px 76px!important;
    text-align:center!important;
  }
  .hero-content .script,
  .hero-content h1{
    display:block!important;
    pointer-events:none!important;
    animation:avvaMobileHeroIntroFade 1.05s ease 2s forwards!important;
  }
  .hero-content .script{
    margin:0 0 4px!important;
    font-size:clamp(34px,10vw,56px)!important;
    line-height:1!important;
    opacity:1!important;
  }
  .hero-content h1{
    margin:0 0 14px!important;
    font-size:clamp(52px,16vw,84px)!important;
    line-height:.9!important;
    opacity:1!important;
  }
  .hero-content > p:not(.script){
    width:min(92%,430px)!important;
    max-width:430px!important;
    margin:0 auto 18px!important;
    text-align:center!important;
    font-size:clamp(13px,3.2vw,16px)!important;
    line-height:1.45!important;
    letter-spacing:.17em!important;
  }
  .hero-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    gap:12px!important;
  }
  .hero-cta .btn{
    min-width:142px!important;
    min-height:48px!important;
    padding:14px 18px 12px!important;
    font-size:13px!important;
    letter-spacing:.11em!important;
  }
  @keyframes avvaMobileHeroIntroFade{
    0%{opacity:1;transform:translateY(0);filter:blur(0)}
    70%{opacity:1;transform:translateY(0);filter:blur(0)}
    100%{opacity:0;transform:translateY(-8px);filter:blur(2px);visibility:hidden}
  }
}
@media(max-width:480px){
  .hero-content{
    padding:50px 14px 70px!important;
  }
  .hero-content .script{
    font-size:clamp(30px,9.5vw,44px)!important;
  }
  .hero-content h1{
    font-size:clamp(46px,15vw,68px)!important;
  }
  .hero-content > p:not(.script){
    font-size:12.5px!important;
    letter-spacing:.13em!important;
    margin-bottom:14px!important;
  }
  .hero-cta{
    gap:9px!important;
  }
  .hero-cta .btn{
    min-width:128px!important;
    min-height:45px!important;
    padding:13px 13px 11px!important;
    font-size:12px!important;
  }
}


/* --- AVVA v1.9 video-aware hero fade + menu page styles --- */

/* Hero title stays visible on image/fallback. It fades only after the video has actually loaded. */
.hero-content .script,
.hero-content h1{
  animation:none!important;
  opacity:1;
  visibility:visible;
}
body.video-loaded .hero-content .script,
body.video-loaded .hero-content h1{
  animation:avvaHeroIntroFade 1.15s ease 2s forwards!important;
}
@keyframes avvaHeroIntroFade{
  0%{opacity:1;transform:translateY(0);filter:blur(0)}
  70%{opacity:1;transform:translateY(0);filter:blur(0)}
  100%{opacity:0;transform:translateY(-8px);filter:blur(2px);visibility:hidden}
}
@media(max-width:900px){
  .hero-content .script,
  .hero-content h1{
    display:block!important;
    animation:none!important;
    opacity:1;
    visibility:visible;
  }
  body.video-loaded .hero-content .script,
  body.video-loaded .hero-content h1{
    animation:avvaHeroIntroFade 1.05s ease 2s forwards!important;
  }
}

/* Menu page */
.menu-page{
  background:var(--cream2);
}
.menu-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,10vw,150px) 0 clamp(48px,7vw,86px);
  background:
    linear-gradient(rgba(251,245,231,.90),rgba(251,245,231,.90)),
    url('../img/background.jpg') center/cover no-repeat;
  text-align:center;
}
.menu-hero:before{
  content:"";
  position:absolute;
  inset:auto auto -130px -120px;
  width:360px;
  height:360px;
  border-radius:50%;
  border:1px solid rgba(118,90,62,.18);
  pointer-events:none;
}
.menu-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.menu-hero h1{
  font-size:clamp(48px,7vw,88px);
  letter-spacing:.08em;
  color:var(--ink);
}
.menu-hero p{
  max-width:680px;
  margin:18px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.menu-jump{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:34px;
}
.menu-jump .btn{
  min-width:min(260px,42vw);
  min-height:64px;
  font-size:17px;
}
.menu-content{
  padding:clamp(48px,7vw,84px) 0 clamp(72px,9vw,120px);
  background:linear-gradient(180deg,var(--cream2),var(--cream));
}
.menu-wrap{
  width:min(1060px,calc(100% - 42px));
  margin:0 auto;
}
.menu-section{
  scroll-margin-top:150px;
  margin:0 0 clamp(38px,5vw,64px);
  padding:clamp(32px,5vw,54px);
  background:rgba(255,255,255,.48);
  border:1px solid rgba(118,90,62,.15);
  box-shadow:0 22px 60px rgba(61,48,36,.08);
}
.menu-section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-bottom:30px;
  color:var(--brown);
  font-size:clamp(34px,4vw,54px);
  letter-spacing:.09em;
}
.menu-section-title:before,
.menu-section-title:after{
  content:"";
  width:min(100px,18vw);
  height:1px;
  background:rgba(118,90,62,.36);
}
.menu-note{
  max-width:680px;
  margin:-14px auto 30px;
  text-align:center;
  color:#6b5845;
  font-family:var(--display);
  font-size:16px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 38px;
}
.menu-item{
  position:relative;
  padding:0 0 18px;
  border-bottom:1px solid rgba(118,90,62,.16);
}
.menu-item h3{
  margin:0 0 7px;
  color:#211c17;
  font-size:clamp(23px,2.1vw,30px);
  letter-spacing:.035em;
  text-transform:none;
}
.menu-item p{
  margin:0;
  color:#5d5044;
  font-size:18px;
  line-height:1.55;
}
.menu-tags{
  display:inline-flex;
  gap:6px;
  flex-wrap:wrap;
  margin-left:6px;
  vertical-align:middle;
}
.menu-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  min-height:21px;
  padding:3px 7px 2px;
  border:1px solid rgba(118,90,62,.32);
  border-radius:999px;
  color:#765a3e;
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}
.menu-back{
  display:flex;
  justify-content:center;
  margin-top:22px;
}
.menu-back a{
  color:var(--brown);
  font-family:var(--display);
  font-size:16px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .menu-hero{
    padding:74px 0 44px;
  }
  .menu-jump{
    gap:12px;
  }
  .menu-jump .btn{
    min-width:140px;
    min-height:52px;
    font-size:14px;
  }
  .menu-section{
    scroll-margin-top:128px;
    padding:28px 22px;
  }
  .menu-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .menu-item h3{
    font-size:25px;
  }
  .menu-item p{
    font-size:17px;
  }
}
@media(max-width:520px){
  .menu-wrap{
    width:min(100% - 28px,1060px);
  }
  .menu-section{
    padding:26px 18px;
  }
  .menu-section-title{
    gap:12px;
    font-size:34px;
  }
  .menu-section-title:before,
  .menu-section-title:after{
    width:42px;
  }
}


/* --- AVVA v2.0 menu order, sticky section scroller, Font Awesome icon cleanup --- */

/* Font Awesome icons: cleaner, more restaurant-site appropriate */
.social-icon i,
.footer-social-icon i,
.footer-label-icon i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.social-icon svg,
.footer-social-icon svg,
.footer-label-icon svg{
  display:none!important;
}
.social-icon{
  text-decoration:none!important;
  border-bottom:0!important;
}
.social-icon::before,
.social-icon::after{
  content:none!important;
}
.footer-label-icon i{
  width:20px;
  color:#d1b474;
  font-size:17px;
}
.footer-social-icon i{
  width:19px;
  color:#d9c287;
  font-size:16px;
}
.desktop-socials .social-icon i{
  font-size:20px;
}
.mobile-actions .social-icon i{
  font-size:21px;
}

/* Menu section ordering and spacing refinements */
.menu-page{
  padding-bottom:72px;
}
.menu-section{
  scroll-margin-top:148px;
}
.menu-section-title{
  text-transform:uppercase;
}
#savory-egg-plates .menu-item h3,
#omelettes .menu-item h3{
  color:#765a3e;
}

/* Bottom sticky horizontal menu navigation */
.menu-sticky-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:88;
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  background:rgba(7,7,7,.94);
  box-shadow:0 -12px 38px rgba(0,0,0,.20);
  scrollbar-width:none;
}
.menu-sticky-nav::-webkit-scrollbar{
  display:none;
}
.menu-sticky-nav a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:12px 18px 10px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#f7efd8;
  font-family:var(--display);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none!important;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.menu-sticky-nav a:hover,
.menu-sticky-nav a:focus-visible{
  background:#f7efd8;
  color:#161616;
  transform:translateY(-1px);
}
@media(max-width:900px){
  .menu-page{
    padding-bottom:78px;
  }
  .menu-section{
    scroll-margin-top:124px;
  }
  .menu-sticky-nav{
    gap:7px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  }
  .menu-sticky-nav a{
    min-height:40px;
    padding:11px 15px 9px;
    font-size:12px;
    letter-spacing:.07em;
  }
}
@media(max-width:520px){
  .menu-sticky-nav a{
    min-height:38px;
    padding:10px 13px 8px;
    font-size:11px;
  }
}


/* --- AVVA v2.1 completed brunch sections + menu icons + footer strip --- */
.menu-title-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-right:2px;
  border:1px solid rgba(118,90,62,.28);
  border-radius:999px;
  color:#765a3e;
  font-size:19px;
  background:rgba(255,255,255,.36);
}
.menu-section-title{
  flex-wrap:wrap;
}
.menu-sticky-nav a{
  gap:8px;
}
.menu-sticky-nav a i{
  color:#d9c287;
  font-size:13px;
}
.menu-sticky-nav a:hover i,
.menu-sticky-nav a:focus-visible i{
  color:#161616;
}
.menu-footer-bottom{
  margin-bottom:0;
}
.menu-page .menu-footer-bottom{
  position:relative;
  z-index:2;
}
.footer-bottom p,
.footer-bottom a{
  white-space:normal;
}
.footer-bottom p:last-child{
  gap:2px;
}
#savory-egg-plates .menu-item h3,
#omelettes .menu-item h3{
  color:#211c17;
}
@media(max-width:900px){
  .menu-title-icon{
    width:36px;
    height:36px;
    font-size:16px;
  }
  .menu-sticky-nav a i{
    font-size:12px;
  }
}
@media(max-width:520px){
  .menu-section-title{
    gap:10px;
  }
  .menu-title-icon{
    width:34px;
    height:34px;
  }
  .menu-sticky-nav a{
    gap:7px;
  }
}


/* --- AVVA v2.2 slider arrows + sticky nav cues + events page --- */

/* Homepage slider arrows cleaner and truly centered */
.slider-arrow{
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:999px!important;
  background:rgba(11,11,11,.28)!important;
  color:#fff!important;
  font-size:34px!important;
  line-height:1!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(3px)!important;
}
.slider-prev{left:24px!important}
.slider-next{right:24px!important}
.slider-arrow:hover,
.slider-arrow:focus-visible{
  background:rgba(255,255,255,.92)!important;
  color:#1b1b1b!important;
  transform:translateY(-50%) scale(1.05)!important;
}
@media(max-width:900px){
  .slider-arrow{
    width:46px!important;
    height:46px!important;
    font-size:28px!important;
  }
  .slider-prev{left:12px!important}
  .slider-next{right:12px!important}
}

/* Sticky menu scroller with left-right cues */
.menu-sticky-shell{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:88;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  background:rgba(7,7,7,.94);
  box-shadow:0 -12px 38px rgba(0,0,0,.20);
}
.menu-sticky-nav{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  flex:1 1 auto;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.menu-sticky-arrow{
  flex:0 0 40px;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#f7efd8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.menu-sticky-arrow:hover,
.menu-sticky-arrow:focus-visible{
  background:#f7efd8;
  color:#161616;
  transform:translateY(-1px);
}
.menu-sticky-arrow.is-hidden{
  opacity:.36;
}
.menu-sticky-nav:before,
.menu-sticky-nav:after{
  content:"";
  position:sticky;
  top:0;
  width:20px;
  height:100%;
  flex:0 0 20px;
  pointer-events:none;
}
@media(max-width:900px){
  .menu-sticky-shell{
    gap:6px;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
  }
  .menu-sticky-arrow{
    flex-basis:36px;
    width:36px;
    height:36px;
    font-size:13px;
  }
}

/* Events page styling */
.events-page{
  background:var(--cream2);
}
.events-hero{
  position:relative;
  padding:clamp(88px,10vw,148px) 0 clamp(42px,6vw,72px);
  text-align:center;
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
}
.events-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.events-hero h1{
  font-size:clamp(50px,7vw,90px);
  letter-spacing:.08em;
  color:var(--ink);
}
.events-hero p{
  max-width:760px;
  margin:16px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.events-listing{
  padding:clamp(38px,6vw,76px) 0 clamp(72px,9vw,110px);
}
.events-wrap{
  width:min(1120px,calc(100% - 42px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.event-card{
  display:grid;
  grid-template-columns:minmax(240px,340px) minmax(0,1fr);
  background:rgba(255,255,255,.62);
  border:1px solid rgba(118,90,62,.14);
  box-shadow:0 20px 58px rgba(61,48,36,.09);
  overflow:hidden;
}
.event-card-media{
  background:#e9e1d1;
}
.event-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.event-card-body{
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.event-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:#765a3e;
  font-family:var(--display);
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.event-kicker-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(118,90,62,.28);
  border-radius:999px;
  font-size:14px;
}
.event-card h2{
  margin:0 0 14px;
  color:#171412;
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.event-desc{
  margin:0 0 18px;
  color:#5a4c3e;
  font-size:18px;
  line-height:1.6;
}
.event-time{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  color:#111;
  font-family:var(--display);
  font-size:15px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.event-time i{
  color:#765a3e;
}
@media(max-width:1050px){
  .events-wrap{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .events-wrap{
    width:min(100% - 28px,1120px);
  }
  .event-card{
    grid-template-columns:1fr;
  }
  .event-card-media img{
    aspect-ratio:4/5;
  }
  .event-card-body{
    padding:22px 18px;
  }
  .event-kicker{
    font-size:12px;
  }
  .event-card h2{
    font-size:32px;
  }
  .event-desc{
    font-size:16px;
  }
  .event-time{
    font-size:13px;
  }
}


/* --- AVVA v2.3 functional mobile menu, smoother controls, back-to-top --- */

/* Keep mobile menu working after header/sticky changes */
@media(max-width:900px){
  .mobile-menu{
    display:grid!important;
    z-index:120!important;
  }
  .menu-toggle{
    position:relative;
    z-index:121;
  }
}

/* Better homepage slider arrows */
.slider-arrow i{
  display:block;
  font-size:22px;
  line-height:1;
}
.slider-arrow{
  font-family:var(--sans)!important;
}
.slider-arrow:hover i,
.slider-arrow:focus-visible i{
  transform:scale(1.04);
}
@media(max-width:900px){
  .slider-arrow i{
    font-size:18px;
  }
}

/* Menu sticky arrows: visible cues and smooth horizontal scrolling */
.menu-sticky-nav{
  scroll-behavior:smooth;
}
.menu-sticky-arrow{
  cursor:pointer;
}
.menu-sticky-arrow.is-muted{
  opacity:.52;
}
.menu-sticky-arrow.is-hidden{
  opacity:.52!important;
}

/* Back to top button for Menu and Events */
.back-to-top{
  position:fixed;
  right:18px;
  bottom:calc(78px + env(safe-area-inset-bottom));
  z-index:92;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(7,7,7,.82);
  color:#f7efd8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 36px rgba(0,0,0,.25);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.96);
  transition:opacity .2s ease, transform .24s ease, visibility 0s linear .24s, background .2s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  transition:opacity .2s ease, transform .24s ease, visibility 0s;
}
.back-to-top:hover,
.back-to-top:focus-visible{
  background:#f7efd8;
  color:#161616;
  transform:translateY(-2px) scale(1.02);
}
.events-page .back-to-top{
  bottom:calc(22px + env(safe-area-inset-bottom));
}

/* Events poster should show fully on mobile */
@media(max-width:700px){
  .event-card-media{
    display:grid;
    place-items:center;
    background:#f4efe3;
  }
  .event-card-media img{
    width:100%;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
}

/* Mobile menu entry animation stays soft and functional */
@media(max-width:900px){
  .mobile-menu.is-open{
    display:grid!important;
  }
}


/* --- AVVA v2.4 Jobs page + secure application form --- */
.jobs-page{
  background:#f7f7f5;
  color:#171717;
  font-family:var(--sans);
}
.jobs-main{
  min-height:calc(100svh - 76px);
  padding:26px 18px 76px;
}
.jobs-back{
  position:fixed;
  top:26px;
  left:22px;
  z-index:20;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#5c5c5c;
  font-family:var(--sans);
  font-size:15px;
  font-weight:700;
  text-decoration:none!important;
}
.jobs-back:hover,
.jobs-back:focus-visible{
  color:#111;
}
.jobs-card{
  width:min(560px,100%);
  margin:0 auto;
}
.jobs-logo{
  display:block;
  width:118px;
  margin:0 auto 18px;
}
.jobs-logo img{
  width:100%;
  height:auto;
}
.jobs-intro{
  text-align:center;
  margin-bottom:36px;
}
.jobs-intro h1{
  margin-bottom:14px;
  font-family:var(--sans);
  font-size:28px;
  font-weight:800;
  letter-spacing:.01em;
  text-transform:none;
}
.jobs-intro p{
  margin:0 0 8px;
  color:#222;
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.55;
}
.jobs-intro a{
  color:#111;
  text-decoration:underline;
  text-underline-offset:3px;
}
.jobs-form{
  display:grid;
  gap:22px;
}
.form-field{
  display:grid;
  gap:9px;
}
.form-field label,
.position-field legend,
.resume-row > label:first-child{
  color:#1d1d1d;
  font-family:var(--sans);
  font-size:15px;
  font-weight:800;
}
.form-field label span,
.resume-row span{
  font-weight:700;
}
.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid #6e6e6e;
  border-radius:0;
  background:#fff;
  color:#111;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.45;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.form-field input{
  height:48px;
  padding:0 14px;
}
.form-field textarea{
  min-height:130px;
  resize:vertical;
  padding:14px;
}
.form-field input:focus,
.form-field textarea:focus{
  border-color:#111;
  box-shadow:0 0 0 3px rgba(118,90,62,.14);
}
.consent-box{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0 0 4px 10px;
  color:#0f0f0f;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.45;
}
.consent-box input{
  margin-top:4px;
}
.consent-box strong,
.consent-box em,
.consent-box small{
  display:block;
}
.consent-box em{
  font-style:normal;
  margin-top:2px;
}
.consent-box a{
  color:#096ec3;
  font-weight:800;
  text-decoration:underline;
}
.consent-box small{
  margin-top:6px;
  padding-left:18px;
}
.position-field{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  border:0;
}
.position-field label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-left:12px;
  font-family:var(--sans);
  font-size:15px;
  font-weight:700;
}
.resume-row{
  display:grid;
  grid-template-columns:1fr 190px;
  gap:14px;
  align-items:center;
}
.upload-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:12px 18px;
  border-radius:4px;
  background:#0b7ed0;
  color:#fff!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:800!important;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.upload-button:hover,
.upload-button:focus-within{
  background:#066bb1;
  transform:translateY(-1px);
}
.upload-button input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.submit-button{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:6px;
  background:#0b7ed0;
  color:#fff;
  font-family:var(--sans);
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.submit-button:hover,
.submit-button:focus-visible{
  background:#066bb1;
  transform:translateY(-1px);
}
.form-alert{
  margin:0 0 24px;
  padding:14px 16px;
  border-radius:6px;
  font-family:var(--sans);
  font-size:14px;
  font-weight:700;
}
.form-alert-success{
  background:#e8f6ed;
  color:#125b2b;
  border:1px solid #b7e2c5;
}
.form-alert-error{
  background:#fff0ee;
  color:#872517;
  border:1px solid #f0beb7;
}
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.turnstile-wrap{
  display:flex;
  justify-content:center;
}
.jobs-footer-bottom{
  font-family:var(--sans);
}
@media(max-width:700px){
  .jobs-main{
    padding:20px 16px 64px;
  }
  .jobs-back{
    position:static;
    margin-bottom:10px;
  }
  .jobs-logo{
    width:102px;
  }
  .jobs-card{
    width:100%;
  }
  .jobs-intro{
    margin-bottom:28px;
  }
  .jobs-intro h1{
    font-size:27px;
  }
  .resume-row{
    grid-template-columns:1fr;
  }
  .upload-button{
    width:100%;
  }
}


/* --- AVVA v2.5 Themed Jobs page: same visual language as Menu/Events --- */
.themed-jobs-page{
  background:var(--cream2);
  color:var(--ink);
}
.themed-jobs-page .jobs-main,
.themed-jobs-page .jobs-card,
.themed-jobs-page .jobs-back,
.themed-jobs-page .jobs-logo,
.themed-jobs-page .jobs-intro{
  all:unset;
}
.jobs-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,10vw,150px) 0 clamp(42px,6vw,76px);
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
  text-align:center;
}
.jobs-hero:before{
  content:"";
  position:absolute;
  inset:auto auto -120px -120px;
  width:340px;
  height:340px;
  border-radius:50%;
  border:1px solid rgba(118,90,62,.18);
  pointer-events:none;
}
.jobs-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.jobs-hero h1{
  font-size:clamp(50px,7vw,90px);
  letter-spacing:.08em;
  color:var(--ink);
}
.jobs-hero p{
  max-width:760px;
  margin:16px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.jobs-call-note{
  font-size:clamp(16px,1.4vw,19px)!important;
}
.jobs-call-note a{
  color:var(--brown);
  font-weight:700;
  text-decoration:none;
}
.jobs-form-section{
  padding:clamp(42px,7vw,86px) 0 clamp(72px,9vw,110px);
  background:linear-gradient(180deg,var(--cream2),var(--cream));
}
.jobs-form-wrap{
  width:min(900px,calc(100% - 42px));
}
.themed-jobs-form{
  display:grid;
  gap:26px;
  padding:clamp(28px,5vw,56px);
  background:rgba(255,255,255,.56);
  border:1px solid rgba(118,90,62,.16);
  box-shadow:0 24px 70px rgba(61,48,36,.09);
}
.jobs-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
}
.themed-jobs-form .form-field{
  display:grid;
  gap:10px;
}
.themed-jobs-form .form-field label,
.themed-position-field legend,
.themed-resume-row > label:first-child{
  color:#2a2119;
  font-family:var(--display);
  font-size:18px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.themed-jobs-form .form-field label span,
.themed-resume-row span{
  color:#6f5a45;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.03em;
  text-transform:none;
}
.themed-jobs-form .form-field input,
.themed-jobs-form .form-field textarea{
  width:100%;
  border:1px solid rgba(118,90,62,.34);
  border-radius:0;
  background:rgba(255,255,255,.78);
  color:#1c1712;
  font-family:var(--sans);
  font-size:15px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.themed-jobs-form .form-field input{
  height:54px;
  padding:0 15px;
}
.themed-jobs-form .form-field textarea{
  min-height:150px;
  padding:15px;
  resize:vertical;
}
.themed-jobs-form .form-field input:focus,
.themed-jobs-form .form-field textarea:focus{
  border-color:var(--brown);
  background:#fff;
  box-shadow:0 0 0 3px rgba(118,90,62,.13);
}
.themed-consent-box{
  margin:2px 0 0;
  padding:20px 22px;
  background:rgba(242,234,213,.55);
  border:1px solid rgba(118,90,62,.14);
  color:#3e342b;
}
.themed-consent-box strong,
.themed-consent-box em,
.themed-consent-box small{
  font-family:var(--sans);
}
.themed-consent-box a{
  color:var(--brown);
  text-decoration:none;
  font-weight:800;
}
.themed-consent-box small{
  padding-left:0;
  color:#66584b;
}
.themed-position-field{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  border:0;
}
.position-options{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.position-options label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:12px 18px;
  border:1px solid rgba(118,90,62,.20);
  background:rgba(255,255,255,.46);
  color:#241d17;
  font-family:var(--display);
  font-size:17px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
}
.position-options input{
  accent-color:var(--brown);
}
.themed-resume-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
}
.themed-resume-row .upload-button{
  min-width:210px;
  min-height:52px;
  border-radius:0;
  background:var(--brown);
  color:#fff!important;
  font-family:var(--display)!important;
  font-size:15px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.themed-resume-row .upload-button:hover,
.themed-resume-row .upload-button:focus-within{
  background:#4c392a;
}
.themed-jobs-form .submit-button{
  min-height:58px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
  font-family:var(--display);
  font-size:17px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-jobs-form .submit-button:hover,
.themed-jobs-form .submit-button:focus-visible{
  background:var(--brown);
}
.themed-jobs-page .form-alert{
  width:min(900px,calc(100% - 42px));
  margin:0 auto 26px;
  border-radius:0;
  font-family:var(--sans);
}
.themed-jobs-page .jobs-footer-bottom{
  position:relative;
  z-index:2;
}
@media(max-width:760px){
  .jobs-form-wrap{
    width:min(100% - 28px,900px);
  }
  .themed-jobs-form{
    padding:28px 18px;
  }
  .jobs-form-grid{
    grid-template-columns:1fr;
  }
  .position-options{
    display:grid;
    grid-template-columns:1fr;
  }
  .themed-resume-row{
    grid-template-columns:1fr;
  }
  .themed-resume-row .upload-button{
    width:100%;
  }
}


/* --- AVVA v2.6 Catering page + secure request form --- */
.catering-page{
  background:var(--cream2);
  color:var(--ink);
}
.catering-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,10vw,150px) 0 clamp(42px,6vw,76px);
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
  text-align:center;
}
.catering-hero:before{
  content:"";
  position:absolute;
  inset:auto auto -120px -120px;
  width:340px;
  height:340px;
  border-radius:50%;
  border:1px solid rgba(118,90,62,.18);
  pointer-events:none;
}
.catering-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.catering-hero h1{
  font-size:clamp(50px,7vw,90px);
  letter-spacing:.08em;
  color:var(--ink);
}
.catering-hero p{
  max-width:830px;
  margin:16px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.catering-form-section{
  padding:clamp(42px,7vw,86px) 0 clamp(72px,9vw,110px);
  background:linear-gradient(180deg,var(--cream2),var(--cream));
}
.catering-form-wrap{
  width:min(980px,calc(100% - 42px));
}
.themed-catering-form{
  display:grid;
  gap:26px;
  padding:clamp(28px,5vw,56px);
  background:rgba(255,255,255,.56);
  border:1px solid rgba(118,90,62,.16);
  box-shadow:0 24px 70px rgba(61,48,36,.09);
}
.catering-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
}
.themed-catering-form .form-field{
  display:grid;
  gap:10px;
}
.themed-catering-form .form-field label{
  color:#2a2119;
  font-family:var(--display);
  font-size:18px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.themed-catering-form .form-field label span{
  color:#6f5a45;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.03em;
  text-transform:none;
}
.themed-catering-form .form-field input,
.themed-catering-form .form-field textarea,
.themed-catering-form .form-field select{
  width:100%;
  border:1px solid rgba(118,90,62,.34);
  border-radius:0;
  background:rgba(255,255,255,.78);
  color:#1c1712;
  font-family:var(--sans);
  font-size:15px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.themed-catering-form .form-field input,
.themed-catering-form .form-field select{
  height:54px;
  padding:0 15px;
}
.themed-catering-form .form-field textarea{
  min-height:150px;
  padding:15px;
  resize:vertical;
}
.themed-catering-form .form-field input:focus,
.themed-catering-form .form-field textarea:focus,
.themed-catering-form .form-field select:focus{
  border-color:var(--brown);
  background:#fff;
  box-shadow:0 0 0 3px rgba(118,90,62,.13);
}
.themed-catering-form .submit-button{
  min-height:58px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
  font-family:var(--display);
  font-size:17px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-catering-form .submit-button:hover,
.themed-catering-form .submit-button:focus-visible{
  background:var(--brown);
}
.catering-page .form-alert{
  width:min(980px,calc(100% - 42px));
  margin:0 auto 26px;
  border-radius:0;
  font-family:var(--sans);
}
.catering-page .catering-footer-bottom{
  position:relative;
  z-index:2;
}
@media(max-width:760px){
  .catering-form-wrap{
    width:min(100% - 28px,980px);
  }
  .themed-catering-form{
    padding:28px 18px;
  }
  .catering-form-grid{
    grid-template-columns:1fr;
  }
}


/* --- AVVA v2.7 Private Parties page + secure request form --- */
.party-page{
  background:var(--cream2);
  color:var(--ink);
}
.party-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,10vw,150px) 0 clamp(42px,6vw,76px);
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
  text-align:center;
}
.party-hero:before{
  content:"";
  position:absolute;
  inset:auto auto -120px -120px;
  width:340px;
  height:340px;
  border-radius:50%;
  border:1px solid rgba(118,90,62,.18);
  pointer-events:none;
}
.party-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.party-hero h1{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(42px,6vw,82px);
  letter-spacing:.06em;
  color:var(--ink);
}
.party-hero p{
  max-width:900px;
  margin:16px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.party-form-section{
  padding:clamp(42px,7vw,86px) 0 clamp(72px,9vw,110px);
  background:linear-gradient(180deg,var(--cream2),var(--cream));
}
.party-form-wrap{
  width:min(980px,calc(100% - 42px));
}
.themed-party-form{
  display:grid;
  gap:26px;
  padding:clamp(28px,5vw,56px);
  background:rgba(255,255,255,.56);
  border:1px solid rgba(118,90,62,.16);
  box-shadow:0 24px 70px rgba(61,48,36,.09);
}
.party-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
}
.themed-party-form .form-field{
  display:grid;
  gap:10px;
}
.themed-party-form .form-field label{
  color:#2a2119;
  font-family:var(--display);
  font-size:18px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.themed-party-form .form-field label span{
  color:#6f5a45;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.03em;
  text-transform:none;
}
.themed-party-form .form-field input,
.themed-party-form .form-field textarea,
.themed-party-form .form-field select{
  width:100%;
  border:1px solid rgba(118,90,62,.34);
  border-radius:0;
  background:rgba(255,255,255,.78);
  color:#1c1712;
  font-family:var(--sans);
  font-size:15px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.themed-party-form .form-field input,
.themed-party-form .form-field select{
  height:54px;
  padding:0 15px;
}
.themed-party-form .form-field textarea{
  min-height:150px;
  padding:15px;
  resize:vertical;
}
.themed-party-form .form-field input:focus,
.themed-party-form .form-field textarea:focus,
.themed-party-form .form-field select:focus{
  border-color:var(--brown);
  background:#fff;
  box-shadow:0 0 0 3px rgba(118,90,62,.13);
}
.themed-party-form .submit-button{
  min-height:58px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
  font-family:var(--display);
  font-size:17px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-party-form .submit-button:hover,
.themed-party-form .submit-button:focus-visible{
  background:var(--brown);
}
.party-page .form-alert{
  width:min(980px,calc(100% - 42px));
  margin:0 auto 26px;
  border-radius:0;
  font-family:var(--sans);
}
.party-page .party-footer-bottom{
  position:relative;
  z-index:2;
}
@media(max-width:760px){
  .party-form-wrap{
    width:min(100% - 28px,980px);
  }
  .themed-party-form{
    padding:28px 18px;
  }
  .party-form-grid{
    grid-template-columns:1fr;
  }
}


/* --- AVVA v2.8 shared includes + mobile polish --- */

/* Hide homepage video play/pause button completely */
.video-control{
  display:none!important;
}

/* Brand picture support and transparent mobile logo */
.brand picture,
.brand img{
  display:block;
  width:100%;
  height:100%;
}
.brand img{
  object-fit:contain;
}

/* Mobile menu should attach directly to the header with no awkward gap */
.site-header{
  position:relative;
}
@media(max-width:900px){
  .mobile-menu{
    top:100%!important;
    left:0!important;
    right:0!important;
    border-radius:0 0 18px 18px!important;
  }
}

/* Mobile homepage slider: auto only, no arrows */
@media(max-width:900px){
  .feature-slider .slider-arrow{
    display:none!important;
  }
}

/* Date/input overflow fix across all forms */
*,
*::before,
*::after{
  box-sizing:border-box;
}
.form-field,
.jobs-form-grid,
.catering-form-grid,
.party-form-grid,
.themed-jobs-form,
.themed-catering-form,
.themed-party-form{
  min-width:0;
}
input,
select,
textarea{
  max-width:100%;
}
input[type="date"]{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  -webkit-appearance:none;
  appearance:none;
}

/* Menu page mobile: remove icons and put decorative lines above/below long titles */
@media(max-width:900px){
  .menu-title-icon,
  .menu-sticky-nav a i{
    display:none!important;
  }
  .menu-section-title{
    flex-direction:column!important;
    gap:12px!important;
    text-align:center!important;
    line-height:1.08!important;
  }
  .menu-section-title:before,
  .menu-section-title:after{
    width:74px!important;
    flex:0 0 auto!important;
  }
  .menu-sticky-nav a{
    gap:0!important;
  }
}

/* Sticky menu arrow click/scroll polish */
.menu-sticky-nav{
  scroll-behavior:smooth!important;
}
.menu-sticky-arrow{
  cursor:pointer;
}

/* Header/footer are now powered by includes/header.php and includes/footer-bottom.php */


/* --- AVVA v2.9 homepage hero subtitle fade + announcement link + reservation modal --- */

/* Announcement text can be clicked on mobile when Upcoming Events is hidden */
.announcement-text-link{
  margin:0;
  color:#f8f1da;
  font-family:var(--body);
  font-size:16px;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.15;
  text-decoration:none!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.announcement-text-link:hover,
.announcement-text-link:focus-visible{
  color:#fff;
  text-decoration:none!important;
}
.announcement p{
  display:none!important;
}
@media(max-width:480px){
  .announcement-text-link{
    width:100%;
    text-align:center;
    font-size:13px!important;
  }
}

/* Fade the subtitle too, but only after the video really loaded */
body.video-loaded .hero-content > p:not(.script){
  animation:avvaHeroIntroFade 1.15s ease 2s forwards!important;
}
@media(max-width:900px){
  body.video-loaded .hero-content > p:not(.script){
    animation:avvaHeroIntroFade 1.05s ease 2s forwards!important;
  }
}

/* Reservation modal */
body.modal-open{
  overflow:hidden;
}
.avva-modal{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility 0s linear .28s;
}
.avva-modal.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .28s ease, visibility 0s;
}
.avva-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,8,8,.62);
  backdrop-filter:blur(2px);
}
.avva-modal-card{
  position:relative;
  width:min(760px,calc(100vw - 34px));
  padding:clamp(42px,6vw,72px) clamp(24px,6vw,72px) clamp(38px,5vw,58px);
  background:#fff;
  color:#111;
  text-align:center;
  box-shadow:0 28px 90px rgba(0,0,0,.35);
  transform:translateY(16px) scale(.985);
  transition:transform .34s cubic-bezier(.2,.75,.2,1);
}
.avva-modal.is-visible .avva-modal-card{
  transform:translateY(0) scale(1);
}
.avva-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#222;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:29px;
  cursor:pointer;
}
.avva-modal-close:hover,
.avva-modal-close:focus-visible{
  color:var(--brown);
}
.avva-modal-card h2{
  max-width:560px;
  margin:0 auto 24px;
  color:#111;
  font-size:clamp(30px,4vw,48px);
  line-height:1.22;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.avva-modal-card p{
  margin:0 auto 24px;
  max-width:640px;
  color:#1e1a16;
  font-family:var(--display);
  font-size:clamp(21px,2.2vw,30px);
  line-height:1.35;
}
.avva-modal-card .avva-modal-small{
  font-size:clamp(17px,1.7vw,22px);
  margin-bottom:38px;
}
.avva-modal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:230px;
  min-height:58px;
  padding:16px 38px 14px;
  background:#030303;
  color:#fff;
  font-family:var(--display);
  font-size:19px;
  font-weight:700;
  letter-spacing:.02em;
  text-decoration:none!important;
}
.avva-modal-btn:hover,
.avva-modal-btn:focus-visible{
  background:var(--brown);
}
@media(max-width:700px){
  .avva-modal{
    padding:18px;
    align-items:center;
  }
  .avva-modal-card{
    width:min(100%,560px);
    padding:58px 28px 44px;
  }
  .avva-modal-card h2{
    font-size:30px;
    line-height:1.28;
  }
  .avva-modal-card p{
    font-size:22px;
  }
  .avva-modal-card .avva-modal-small{
    font-size:18px;
    line-height:1.65;
  }
  .avva-modal-btn{
    min-width:min(260px,100%);
  }
}


/* --- AVVA v3.0 announcement fix + scroll-trigger modal --- */

/* The top announcement text is now a link to Events; make it visible again */
.announcement p{
  display:none!important;
}
.announcement-text-link{
  display:block!important;
  flex:0 1 auto;
  max-width:100%;
  margin:0!important;
  color:#f8f1da!important;
  font-family:var(--body);
  font-size:16px!important;
  font-weight:600!important;
  letter-spacing:.01em;
  line-height:1.15!important;
  text-decoration:none!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.announcement-text-link:hover,
.announcement-text-link:focus-visible{
  color:#fff!important;
  text-decoration:none!important;
}
@media(max-width:480px){
  .announcement-text-link{
    width:100%!important;
    text-align:center!important;
    font-size:13px!important;
  }
}


/* --- AVVA v3.1 homepage contact launcher + Contact page --- */

/* Floating contact launcher: homepage only because markup is only in index.php */
.contact-launcher-button{
  position:fixed;
  right:26px;
  bottom:28px;
  z-index:93;
  width:76px;
  height:76px;
  border:0;
  border-radius:999px;
  background:rgba(246,246,244,.92);
  color:#0f0f0f;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.contact-launcher-button i{
  font-size:34px;
}
.contact-launcher-button:hover,
.contact-launcher-button:focus-visible{
  transform:translateY(-2px) scale(1.03);
  background:#fff;
}
.contact-choice-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility 0s linear .24s;
}
.contact-choice-modal.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .24s ease, visibility 0s;
}
.contact-choice-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,10,10,.50);
  backdrop-filter:blur(2px);
}
.contact-choice-card{
  position:relative;
  width:min(640px,calc(100vw - 34px));
  padding:44px 34px 28px;
  background:#fff;
  color:#111;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
  text-align:center;
  transform:translateY(14px) scale(.985);
  transition:transform .3s cubic-bezier(.2,.75,.2,1);
}
.contact-choice-modal.is-visible .contact-choice-card{
  transform:translateY(0) scale(1);
}
.contact-choice-close{
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  color:#696969;
  font-size:30px;
  cursor:pointer;
}
.contact-choice-close:hover,
.contact-choice-close:focus-visible{
  color:var(--brown);
}
.contact-choice-card h2{
  margin:0 0 12px;
  color:#10131d;
  font-size:clamp(42px,5.4vw,62px);
  line-height:1;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.contact-choice-card p{
  margin:0 0 18px;
  color:#333;
  font-family:var(--display);
  font-size:22px;
  font-weight:700;
}
.contact-choice-list{
  display:grid;
  gap:2px;
  width:min(420px,100%);
  margin:0 auto;
  text-align:left;
}
.contact-choice-list a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 8px;
  color:#252525;
  font-family:var(--display);
  font-size:20px;
  text-decoration:none!important;
}
.contact-choice-list a span{
  width:18px;
  height:18px;
  border:1px solid #9da2aa;
  border-radius:999px;
  flex:0 0 auto;
}
.contact-choice-list a:hover,
.contact-choice-list a:focus-visible{
  color:var(--brown);
}
.contact-choice-list a:hover span,
.contact-choice-list a:focus-visible span{
  border-color:var(--brown);
  box-shadow:inset 0 0 0 4px #fff;
  background:var(--brown);
}
@media(max-width:900px){
  .contact-launcher-button{
    right:16px;
    bottom:calc(80px + env(safe-area-inset-bottom));
    width:64px;
    height:64px;
  }
  .contact-launcher-button i{
    font-size:30px;
  }
  .contact-choice-card{
    padding:54px 24px 26px;
  }
  .contact-choice-card h2{
    font-size:42px;
  }
  .contact-choice-card p{
    font-size:20px;
  }
  .contact-choice-list a{
    font-size:18px;
  }
}

/* Contact page */
.contact-page{
  background:var(--cream2);
  color:var(--ink);
}
.contact-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,10vw,150px) 0 clamp(42px,6vw,76px);
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
  text-align:center;
}
.contact-hero:before{
  content:"";
  position:absolute;
  inset:auto auto -120px -120px;
  width:340px;
  height:340px;
  border-radius:50%;
  border:1px solid rgba(118,90,62,.18);
  pointer-events:none;
}
.contact-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.contact-hero h1{
  font-size:clamp(50px,7vw,90px);
  letter-spacing:.08em;
  color:var(--ink);
}
.contact-hero p{
  max-width:760px;
  margin:16px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.contact-form-section{
  padding:clamp(42px,7vw,86px) 0 clamp(72px,9vw,110px);
  background:linear-gradient(180deg,var(--cream2),var(--cream));
}
.contact-form-wrap{
  width:min(900px,calc(100% - 42px));
}
.themed-contact-form{
  display:grid;
  gap:26px;
  padding:clamp(28px,5vw,56px);
  background:rgba(255,255,255,.56);
  border:1px solid rgba(118,90,62,.16);
  box-shadow:0 24px 70px rgba(61,48,36,.09);
}
.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px 26px;
}
.themed-contact-form .form-field{
  display:grid;
  gap:10px;
}
.themed-contact-form .form-field label{
  color:#2a2119;
  font-family:var(--display);
  font-size:18px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.themed-contact-form .form-field label span{
  color:#6f5a45;
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.03em;
  text-transform:none;
}
.themed-contact-form .form-field input,
.themed-contact-form .form-field textarea{
  width:100%;
  border:1px solid rgba(118,90,62,.34);
  border-radius:0;
  background:rgba(255,255,255,.78);
  color:#1c1712;
  font-family:var(--sans);
  font-size:15px;
  outline:none;
}
.themed-contact-form .form-field input{
  height:54px;
  padding:0 15px;
}
.themed-contact-form .form-field textarea{
  min-height:150px;
  padding:15px;
  resize:vertical;
}
.themed-contact-form .form-field input:focus,
.themed-contact-form .form-field textarea:focus{
  border-color:var(--brown);
  background:#fff;
  box-shadow:0 0 0 3px rgba(118,90,62,.13);
}
.themed-contact-form .submit-button{
  min-height:58px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
  font-family:var(--display);
  font-size:17px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-contact-form .submit-button:hover,
.themed-contact-form .submit-button:focus-visible{
  background:var(--brown);
}
.contact-page .form-alert{
  width:min(900px,calc(100% - 42px));
  margin:0 auto 26px;
  border-radius:0;
  font-family:var(--sans);
}
.contact-page .contact-footer-bottom{
  position:relative;
  z-index:2;
}
@media(max-width:900px){
  .contact-form-grid{
    grid-template-columns:1fr;
  }
  .contact-form-wrap{
    width:min(100% - 28px,900px);
  }
  .themed-contact-form{
    padding:28px 18px;
  }
}


/* --- AVVA v3.2 contact launcher: radio choices + Next button + mobile centering fix --- */
.contact-choice-modal{
  width:100dvw!important;
  min-height:100dvh!important;
  padding:18px!important;
  place-items:center!important;
  overflow:hidden auto;
}
.contact-choice-card{
  width:min(640px,100%)!important;
  max-width:calc(100dvw - 36px)!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.contact-choice-form{
  width:min(470px,100%);
  margin:0 auto;
}
.contact-choice-list{
  display:none!important;
}
.contact-choice-option{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 8px;
  color:#252525;
  font-family:var(--display);
  font-size:20px;
  text-align:left;
  cursor:pointer;
}
.contact-choice-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.contact-choice-option span{
  width:19px;
  height:19px;
  border:1px solid #9da2aa;
  border-radius:999px;
  flex:0 0 auto;
  background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.contact-choice-option strong{
  font-weight:400;
}
.contact-choice-option:hover span,
.contact-choice-option:focus-within span{
  border-color:var(--brown);
}
.contact-choice-option input:checked + span{
  border-color:var(--brown);
  box-shadow:inset 0 0 0 4px #fff;
  background:var(--brown);
}
.contact-choice-next{
  width:100%;
  min-height:52px;
  margin-top:24px;
  border:0;
  background:#303442;
  color:#fff;
  font-family:var(--display);
  font-size:18px;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.contact-choice-next:hover,
.contact-choice-next:focus-visible{
  background:#151821;
  transform:translateY(-1px);
}
@media(max-width:900px){
  .contact-choice-modal{
    padding:14px!important;
    align-items:center!important;
    justify-items:center!important;
  }
  .contact-choice-card{
    width:100%!important;
    max-width:calc(100dvw - 28px)!important;
    max-height:calc(100dvh - 28px)!important;
    overflow:auto;
    padding:54px 24px 26px!important;
    left:auto!important;
    right:auto!important;
  }
  .contact-choice-form{
    width:100%!important;
  }
  .contact-choice-option{
    font-size:18px!important;
    padding:11px 4px!important;
  }
  .contact-choice-next{
    min-height:51px;
    margin-top:22px;
  }
}
@media(max-width:420px){
  .contact-choice-card h2{
    font-size:36px!important;
    letter-spacing:.055em;
  }
  .contact-choice-card p{
    font-size:18px!important;
  }
  .contact-choice-option{
    font-size:17px!important;
  }
}

/* --- AVVA v4.0 DB-driven pages --- */
.panel-like-message{padding:36px;background:rgba(255,255,255,.55);border:1px solid rgba(118,90,62,.16);text-align:center;font-family:var(--display);font-size:24px;color:#4d4034}.menu-price{float:right;color:var(--brown);font-size:.85em;margin-left:10px}


/* --- AVVA v4.2 sticky compact public header --- */
.site-header{
  position:sticky!important;
  top:0;
  z-index:90;
  transition:box-shadow .22s ease, transform .22s ease;
}
.site-header.is-compact{
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.site-header .nav-wrap{
  transition:min-height .24s ease, padding .24s ease;
}
.site-header .brand{
  transition:width .24s ease, height .24s ease, transform .24s ease;
}
.site-header.is-compact .nav-wrap{
  min-height:72px;
}
.site-header.is-compact .brand{
  transform:scale(.84);
}
.site-header.is-compact .desktop-nav a{
  font-size:.9em;
}
@media(max-width:900px){
  .site-header.is-compact .nav-wrap{
    min-height:76px;
  }
  .site-header.is-compact .brand{
    transform:scale(.9);
  }
}


/* --- AVVA v4.7 forms integration --- */
.turnstile-wrap{margin:6px 0 14px}
.themed-party-form input:invalid,.themed-party-form select:invalid,.themed-party-form textarea:invalid{box-shadow:none}
.themed-party-form input:user-invalid,.themed-party-form select:user-invalid,.themed-party-form textarea:user-invalid{border-color:#a63a2c;background:#fffaf8}


/* --- AVVA v4.8 AJAX form UX --- */
.form-ajax-alert{
  width:100%;
  margin:0 0 22px;
  padding:15px 18px;
  border-radius:10px;
  border:1px solid rgba(118,90,62,.22);
  background:#fff;
  color:#2b2823;
  font-family:var(--display);
  font-size:18px;
  line-height:1.5;
  text-align:center;
}
.form-ajax-alert.is-error{
  border-color:#d59c91;
  background:#fff4f2;
  color:#8d2c20;
}
.form-ajax-alert.is-success{
  border-color:#b8d5a8;
  background:#f1faed;
  color:#2f6730;
}
.themed-party-form button[disabled],
.themed-catering-form button[disabled],
.themed-jobs-form button[disabled],
.themed-contact-form button[disabled]{
  cursor:wait;
  opacity:.72;
}


/* --- AVVA v5.6 form loading, upload progress, and security UX --- */
.form-submit-progress,
.file-upload-progress{
  position:relative;
  width:100%;
  height:34px;
  margin:10px 0 16px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(118,90,62,.13);
  border:1px solid rgba(118,90,62,.24);
}
.form-submit-progress span,
.file-upload-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(118,90,62,.75), rgba(191,166,103,.9));
  transition:width .18s ease;
}
.form-submit-progress em,
.file-upload-progress em{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  color:#2d241b;
  font-style:normal;
  font-weight:900;
  font-size:13px;
  letter-spacing:.04em;
  text-align:center;
}
.submit-button .fa-spinner,
.themed-party-form button[type="submit"] .fa-spinner,
.themed-catering-form button[type="submit"] .fa-spinner,
.themed-jobs-form button[type="submit"] .fa-spinner,
.themed-contact-form button[type="submit"] .fa-spinner{
  margin-right:9px;
}
.themed-party-form.is-submitting,
.themed-catering-form.is-submitting,
.themed-jobs-form.is-submitting,
.themed-contact-form.is-submitting{
  opacity:.94;
}
.themed-party-form.is-submitting button[type="submit"],
.themed-catering-form.is-submitting button[type="submit"],
.themed-jobs-form.is-submitting button[type="submit"],
.themed-contact-form.is-submitting button[type="submit"]{
  cursor:wait;
}
.resume-help{
  display:block;
  margin-top:9px;
  color:#665b4c;
  font-size:14px;
  line-height:1.55;
}
.upload-button input[type="file"]:invalid + i{
  color:#8b261c;
}
@media(max-width:640px){
  .form-submit-progress,
  .file-upload-progress{
    height:36px;
  }
  .resume-help{
    font-size:13px;
  }
}


/* --- AVVA v6.0 food menu cleanup + mobile icons --- */
.menu-back{
  display:none!important;
}
@media(max-width:900px){
  .menu-sticky-nav a{
    gap:7px!important;
  }
  .menu-sticky-nav a i{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:12px!important;
    color:#d9c287!important;
    min-width:14px!important;
  }
  .menu-sticky-nav a:hover i,
  .menu-sticky-nav a:focus-visible i{
    color:#161616!important;
  }
}


/* --- AVVA v6.1 form validation limits + clean food menu footer --- */
.field-limit{
  display:block;
  margin-top:7px;
  color:#6c6258;
  font-size:13px;
  line-height:1.4;
}
.menu-page .menu-footer-bottom{
  display:none!important;
}


/* --- AVVA v6.2 contact footer + field limits --- */
.footer-contact-page-link{
  display:inline-flex;
  margin-top:4px;
}
.field-limit{
  display:block;
  margin-top:7px;
  color:#6c6258;
  font-size:13px;
  line-height:1.4;
}


/* --- AVVA v6.3 footer Contact Us link polish --- */
.footer-contact-page-link{
  display:inline-flex;
  align-items:center;
  min-height:24px;
}
.site-footer .contact-line .footer-contact-page-link{
  color:rgba(255,255,255,.92);
}
.site-footer .contact-line:hover .footer-contact-page-link,
.site-footer .contact-line:focus-within .footer-contact-page-link{
  color:#f6e4b2;
}


/* --- AVVA v6.7 Android forced dark-mode protection --- */
:root{
  color-scheme:only light;
  supported-color-schemes:light;
}
html{
  color-scheme:only light;
  background:#f2ead5;
}
body{
  color-scheme:only light;
  background:#f2ead5;
  color:#191612;
}
input,
textarea,
select,
button{
  color-scheme:only light;
}
img,
picture,
video,
iframe,
svg,
canvas{
  forced-color-adjust:none;
}
@media (prefers-color-scheme: dark){
  :root,
  html,
  body{
    color-scheme:only light;
  }
  body{
    background:#f2ead5!important;
    color:#191612!important;
  }
  .site-header{
    background:rgba(255,255,255,.94)!important;
    color:#191612!important;
  }
  .announcement{
    background:#34393a!important;
    color:#fff!important;
  }
  .site-footer,
  .footer-bottom,
  .bottom-cta,
  .menu-sticky-shell{
    color-scheme:only light;
  }
  input,
  textarea,
  select{
    background:#fff!important;
    color:#191612!important;
    border-color:#d7c9b5!important;
    -webkit-text-fill-color:#191612;
  }
  input::placeholder,
  textarea::placeholder{
    color:#857b70!important;
    opacity:1;
    -webkit-text-fill-color:#857b70;
  }
}


/* --- AVVA v7.2 Events date/time polish --- */
.events-page .event-kicker{
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:100%;
  line-height:1.35;
  overflow-wrap:anywhere;
  word-break:normal;
}
.events-page .event-kicker-icon{
  flex:0 0 auto;
  margin-top:.08em;
}
.events-page .event-kicker-text{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.events-page .event-time{
  display:flex;
  align-items:center;
  gap:10px;
}
.events-page .event-time i{
  flex:0 0 auto;
}
@media(max-width:560px){
  .events-page .event-kicker{
    font-size:14px;
    letter-spacing:.05em;
  }
}


/* --- AVVA v7.3 Events title/image polish --- */
.events-page .event-card-body{
  min-width:0;
}
.events-page .event-card h2{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.events-page .event-card-media{
  overflow:hidden;
}
.events-page .event-card-media img{
  transition:transform .75s ease, filter .75s ease;
  will-change:transform;
}
.events-page .event-card:hover .event-card-media img,
.events-page .event-card:focus-within .event-card-media img{
  transform:scale(1.035);
}


/* --- AVVA v7.4 Accessibility / legal page --- */
.legal-page{
  background:var(--cream2);
}
.legal-hero{
  position:relative;
  padding:clamp(88px,10vw,148px) 0 clamp(42px,6vw,72px);
  text-align:center;
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
}
.legal-hero .intro-decoration{
  width:min(150px,38vw);
  margin-bottom:22px;
}
.legal-hero h1{
  font-size:clamp(42px,6.4vw,82px);
  letter-spacing:.07em;
  color:var(--ink);
}
.legal-hero p{
  max-width:760px;
  margin:16px auto 0;
  color:#574839;
  font-size:clamp(18px,1.8vw,22px);
}
.legal-content{
  background:var(--cream2);
}
.legal-card{
  background:rgba(255,255,255,.68);
  border:1px solid rgba(118,90,62,.14);
  box-shadow:0 20px 58px rgba(61,48,36,.09);
  padding:clamp(26px,5vw,54px);
}
.legal-card h2{
  margin-bottom:20px;
  color:var(--brown);
  font-size:clamp(30px,4vw,48px);
}
.legal-card h3{
  margin:30px 0 10px;
  color:var(--brown);
  font-size:clamp(22px,2.6vw,30px);
  letter-spacing:.04em;
}
.legal-card p{
  color:#4b4035;
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.75;
}
.legal-card a{
  color:var(--brown);
  text-decoration:underline;
  text-underline-offset:3px;
}


/* --- AVVA v7.5 footer accessibility link placement --- */
.site-footer .contact-line .footer-accessibility-link{
  color:rgba(255,255,255,.92);
}
.site-footer .contact-line:hover .footer-accessibility-link,
.site-footer .contact-line:focus-within .footer-accessibility-link{
  color:#f6e4b2;
}


/* --- AVVA v7.6 Drink Menu page --- */
.drink-menu-page{
  background:#f7f7f3;
}
.drink-hero{
  padding:clamp(62px,7vw,92px) 0 36px;
  text-align:center;
  background:
    linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.86)),
    url('../img/background.jpg') center top/cover repeat;
}
.drink-hero h1{
  margin:0 0 32px;
  color:#050505;
  font-size:clamp(44px,6vw,72px);
  letter-spacing:.12em;
}
.drink-tabs{
  width:min(1320px,calc(100% - 44px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px;
}
.drink-tabs a{
  min-height:58px;
  display:grid;
  place-items:center;
  border:2px solid #83623e;
  border-radius:7px;
  background:#83623e;
  color:#fff;
  font-family:var(--display);
  font-weight:700;
  font-size:20px;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:.2s ease;
}
.drink-tabs a:first-child{
  background:rgba(255,255,255,.40);
  color:#83623e;
}
.drink-tabs a:hover,
.drink-tabs a:focus-visible{
  transform:translateY(-2px);
  background:#5c4129;
  color:#fff;
}
.drink-content{
  padding:clamp(50px,6vw,82px) 0 110px;
  background:
    linear-gradient(rgba(255,255,255,.76),rgba(255,255,255,.78)),
    url('../img/background.jpg') center top/cover repeat;
}
.drink-menu-wrap{
  width:min(960px,calc(100% - 44px));
  margin:0 auto;
  display:grid;
  gap:42px;
}
.drink-section{
  scroll-margin-top:130px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(0,0,0,.04);
  box-shadow:0 16px 42px rgba(0,0,0,.08);
  padding:clamp(28px,4vw,52px);
}
.drink-section-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-bottom:26px;
  text-align:center;
}
.drink-section-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(131,98,62,.28);
  border-radius:999px;
  color:#83623e;
}
.drink-section h2{
  color:#050505;
  font-size:clamp(30px,4vw,42px);
  letter-spacing:.09em;
}
.drink-group{
  max-width:760px;
  margin:0 auto 28px;
  padding-left:16px;
  border-left:1px solid #191919;
}
.drink-group:last-child{
  margin-bottom:0;
}
.drink-group h3{
  margin:0 0 14px;
  text-align:center;
  font-size:clamp(24px,3vw,34px);
  letter-spacing:.08em;
}
.drink-items{
  display:grid;
}
.drink-item{
  padding:10px 14px 11px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.drink-item h4{
  margin:0;
  color:#16130f;
  font-family:var(--serif);
  font-size:21px;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
}
.drink-item p{
  margin:3px 0 0;
  color:#6a5d4d;
  font-size:16px;
  line-height:1.45;
}
.drink-sticky-shell{
  display:flex;
}
@media(max-width:1050px){
  .drink-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .drink-tabs{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .drink-tabs a{
    min-height:50px;
    font-size:16px;
  }
  .drink-section{
    padding:24px 16px;
  }
  .drink-group{
    padding-left:12px;
  }
  .drink-item h4{
    font-size:19px;
  }
}


/* --- AVVA v7.7 Drink Menu redesign to match Food Menu --- */
.drink-menu-page .drink-menu-hero{
  background:
    linear-gradient(rgba(251,245,231,.92),rgba(251,245,231,.92)),
    url('../img/background.jpg') center/cover no-repeat;
}
.drink-menu-page .drink-menu-content{
  background:linear-gradient(180deg,var(--cream2),var(--cream));
}
.drink-menu-page .drink-menu-section{
  scroll-margin-top:130px;
}
.drink-menu-page .drink-group-heading{
  margin:28px 0 18px;
  text-align:center;
  color:var(--brown);
  font-family:var(--display);
  font-size:clamp(24px,3vw,34px);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.drink-menu-page .drink-menu-grid + .drink-group-heading{
  margin-top:42px;
}
.drink-menu-page .drink-menu-item h3{
  overflow-wrap:anywhere;
}
.drink-menu-page .drink-menu-item p{
  min-height:0;
}
.drink-menu-page .drink-sticky-shell{
  display:flex;
}
@media(max-width:700px){
  .drink-menu-page .drink-menu-jump{
    display:none;
  }
}


/* --- AVVA v8.0 Drink menu pills and long-item typography --- */
.drink-menu-page .drink-category-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:30px auto 0;
  max-width:980px;
}
.drink-menu-page .drink-category-pills a{
  min-width:132px;
  padding:13px 22px;
  border:1px solid rgba(118,90,62,.55);
  border-radius:999px;
  background:rgba(255,255,255,.66);
  color:var(--brown);
  font-family:var(--display);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  box-shadow:0 12px 28px rgba(66,46,27,.08);
  transition:transform .22s ease, background .22s ease, color .22s ease;
}
.drink-menu-page .drink-category-pills a:hover,
.drink-menu-page .drink-category-pills a:focus-visible{
  transform:translateY(-2px);
  background:var(--brown);
  color:#fff;
}
.drink-menu-page .drink-menu-item.is-long h3{
  font-size:clamp(19px,1.55vw,24px);
  line-height:1.35;
  letter-spacing:.02em;
}
.drink-menu-page .drink-menu-item.is-long p{
  font-size:15px;
  line-height:1.48;
}
@media(max-width:680px){
  .drink-menu-page .drink-category-pills{
    gap:9px;
  }
  .drink-menu-page .drink-category-pills a{
    min-width:calc(50% - 8px);
    padding:11px 12px;
    font-size:14px;
  }
}


/* --- AVVA v8.3 Events More Info link --- */
.events-page .event-more-info{
  width:max-content;
  margin-top:18px;
}
@media(max-width:560px){
  .events-page .event-more-info{
    width:100%;
  }
}


/* --- AVVA v8.5 public form validation/upload polish --- */
.form-field input.is-invalid,
.form-field textarea.is-invalid,
.form-field select.is-invalid{
  border-color:#9a201a!important;
  box-shadow:0 0 0 3px rgba(154,32,26,.12);
}
.field-error{
  display:block;
  margin-top:7px;
  color:#9a201a;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}
.field-error[hidden]{
  display:none!important;
}
.form-ajax-alert.is-error{
  white-space:normal;
}
.form-submit-progress[hidden],
.upload-progress[hidden]{
  display:none!important;
}


/* --- AVVA v8.7 bottom form messages and gentler validation --- */
.form-message-zone{
  width:100%;
  margin:22px 0 18px;
}
.form-ajax-alert,
.form-alert-inline{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0 0 16px;
  padding:17px 18px;
  border-radius:18px;
  border:1px solid rgba(118,90,62,.22);
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(250,244,231,.94));
  color:#2b2823;
  box-shadow:0 16px 36px rgba(51,37,22,.10);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
  text-align:left;
}
.form-ajax-alert[hidden],
.form-alert-inline[hidden]{
  display:none!important;
}
.form-ajax-alert::before,
.form-alert-inline::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.48);
}
.form-alert-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(118,90,62,.12);
  color:#765a3e;
  font-size:15px;
}
.form-alert-message{
  min-width:0;
  font-weight:800;
}
.form-alert-close{
  width:34px;
  height:34px;
  border:1px solid rgba(118,90,62,.22);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  color:#5e4a33;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:transform .18s ease, background .18s ease;
}
.form-alert-close:hover,
.form-alert-close:focus-visible{
  transform:scale(1.04);
  background:#fff;
}
.form-ajax-alert.is-error,
.form-alert-error.form-alert-inline{
  border-color:rgba(154,32,26,.35);
  background:
    linear-gradient(135deg,rgba(255,248,246,.98),rgba(255,235,231,.96));
  color:#7e211a;
}
.form-ajax-alert.is-error .form-alert-icon{
  background:rgba(154,32,26,.11);
  color:#9a201a;
}
.form-ajax-alert.is-success,
.form-alert-success.form-alert-inline{
  border-color:rgba(46,135,75,.32);
  background:
    linear-gradient(135deg,rgba(247,255,248,.98),rgba(235,248,239,.96));
  color:#245f35;
}
.form-ajax-alert.is-success .form-alert-icon{
  background:rgba(46,135,75,.12);
  color:#2d8b4e;
}
.form-ajax-alert.is-pending{
  border-color:rgba(118,90,62,.32);
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,239,222,.96));
  color:#4f3e29;
}
.form-submit-progress{
  margin:10px 0 0;
}
.form-field input.is-invalid,
.form-field textarea.is-invalid,
.form-field select.is-invalid{
  border-color:#9a201a!important;
  box-shadow:0 0 0 3px rgba(154,32,26,.12);
}
.field-error{
  display:block;
  margin-top:7px;
  color:#9a201a;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}
.field-error[hidden]{
  display:none!important;
}
@media(max-width:620px){
  .form-ajax-alert,
  .form-alert-inline{
    grid-template-columns:auto minmax(0,1fr) auto;
    padding:15px 14px;
    font-size:15px;
  }
}


.form-alert-inline:not(.form-ajax-alert){
  grid-template-columns:minmax(0,1fr) auto;
}
.form-alert-inline > span{
  min-width:0;
  font-weight:800;
}


/* --- AVVA v8.8 stable field errors + better form-message behavior --- */
.form-field{
  position:relative;
}
.form-field:has(> .field-error),
.form-field.has-error-slot{
  padding-bottom:28px;
}
.form-field > .field-error{
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  margin-top:0;
  min-height:18px;
  pointer-events:none;
}
.form-field > .field-error[hidden]{
  display:block!important;
  visibility:hidden;
}
fieldset .field-error{
  margin-top:8px;
}


/* reserve field-error space up front so fields never jump when validation appears */
form[data-ajax-form] .form-field{
  padding-bottom:28px;
}
