@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--gold:#dcae36;--gold2:#ffdf72;--ink:#080808;--panel:#11110f;--cream:#f5f0e7;--muted:#a7a39a;--line:rgba(220,174,54,.25);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topline{height:3px;background:linear-gradient(90deg,#8d6010,var(--gold2),#9a6c13)}.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,6vw,92px);background:rgba(8,8,8,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}.brand{display:flex;align-items:center;gap:12px;min-width:190px}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-family:var(--serif);font-size:24px;box-shadow:0 0 22px #dcae3620}.brand-name{font-size:11px;line-height:1.2;letter-spacing:2px;font-weight:700}.brand-name small{display:block;color:var(--gold);letter-spacing:3.5px;font-size:9px;margin-top:5px}.navlinks{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}.navlinks a{font-size:12px;color:#d5d0c7;transition:color .25s}.navlinks a:hover,.navlinks a.active{color:var(--gold2)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border:1px solid var(--gold);background:var(--gold);color:#15110a;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;transition:transform .25s,background .25s,box-shadow .25s}.nav-cta:hover,.btn:hover{transform:translateY(-3px);background:var(--gold2);box-shadow:0 10px 28px #dcae3629}.btn-outline{background:transparent;color:var(--gold2)}.btn-outline:hover{color:#17130b}.hamburger{display:none;border:1px solid var(--line);background:transparent;color:var(--gold);padding:8px 11px;font-size:20px}.hero{min-height:calc(90vh - 70px);position:relative;display:grid;align-items:center;overflow:hidden;padding:90px clamp(22px,9vw,140px);background:linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.76) 45%,rgba(5,5,5,.15) 100%),url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=2000&q=85') center/cover}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 72% 42%,transparent 0,transparent 30%,#05050590 75%)}.hero-content{position:relative;z-index:1;max-width:690px;animation:rise .9s both}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold2);font-size:10px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase}.eyebrow:before{content:"";width:36px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12}h1{font-size:clamp(48px,7vw,92px);margin:22px 0}.gold{color:var(--gold2);font-style:italic}.hero p{max-width:510px;color:#d1ccc3;font-size:15px;margin-bottom:30px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-note{margin-top:52px;display:flex;align-items:center;gap:15px;color:#c8c0b2;font-size:11px;letter-spacing:1.5px}.hero-note span{height:1px;width:45px;background:var(--gold)}.section{padding:100px clamp(22px,8vw,120px)}.section.alt{background:#0e0e0c}.section-head{max-width:700px;margin:0 auto 45px;text-align:center}.section-head .eyebrow{justify-content:center}.section-head h2{font-size:clamp(34px,4.5vw,56px);margin:18px 0}.section-head p{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dish-card{background:var(--panel);border:1px solid rgba(255,255,255,.07);overflow:hidden;transition:transform .35s,border-color .35s;position:relative}.dish-card:hover{transform:translateY(-8px);border-color:var(--line)}.dish-image{height:230px;overflow:hidden;position:relative}.dish-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.dish-card:hover img{transform:scale(1.07)}.price-tag{position:absolute;top:15px;right:15px;background:#0b0b0be8;color:var(--gold2);padding:8px 11px;font-size:12px}.dish-copy{padding:22px}.dish-copy h3{font-size:23px;margin-bottom:8px}.dish-copy p{color:var(--muted);font-size:12px;min-height:42px}.dish-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff12;padding-top:15px}.dish-bottom span{font-size:10px;letter-spacing:1.5px;color:var(--gold)}.add-btn{border:1px solid var(--line);background:transparent;color:var(--gold2);width:36px;height:36px;font-size:20px;transition:.2s}.add-btn:hover{background:var(--gold);color:#111}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px);align-items:center}.photo-stack{position:relative;padding:0 28px 28px 0}.photo-stack img{display:block;width:100%;height:470px;object-fit:cover;filter:saturate(.8)}.photo-stack:after{content:"";position:absolute;right:0;bottom:0;width:55%;height:55%;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);z-index:-1}.copy h2{font-size:clamp(35px,4.4vw,58px);margin:20px 0}.copy p{color:var(--muted);font-size:14px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.feature{border-left:1px solid var(--gold);padding-left:13px}.feature strong{display:block;font-family:var(--serif);font-size:22px;color:var(--gold2);font-weight:500}.feature small{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.banner{padding:72px 24px;text-align:center;background:linear-gradient(#070707d9,#070707e8),url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1800&q=80') center/cover fixed;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.banner h2{font-size:clamp(34px,5vw,58px);margin:18px auto;max-width:800px}.banner p{color:#c9c2b7}.footer{padding:60px clamp(22px,8vw,120px) 25px;background:#050505;border-top:1px solid #ffffff10}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:38px}.footer h4{color:var(--gold2);font-size:10px;letter-spacing:2px;text-transform:uppercase}.footer p,.footer a{display:block;color:#aaa49a;font-size:12px;margin-bottom:9px}.footer a:hover{color:var(--gold2)}.footer-bottom{border-top:1px solid #ffffff12;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#777;font-size:10px}.page-hero{padding:90px 22px;text-align:center;background:linear-gradient(#050505c9,#050505e8),url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1800&q=80') center/cover}.page-hero h1{font-size:clamp(44px,6vw,74px);margin:15px 0}.page-hero p{color:#c5beb3;max-width:600px;margin:0 auto}.content-narrow{max-width:850px;margin:auto}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;color:var(--gold2);letter-spacing:1.5px;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:14px;background:#141412;border:1px solid #ffffff1b;color:var(--cream);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{min-height:120px;resize:vertical}.notice{display:none;padding:14px;border:1px solid var(--line);color:var(--gold2);margin-bottom:20px;font-size:13px}.notice.show{display:block}.filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 32px}.filter{padding:9px 15px;border:1px solid #ffffff20;background:transparent;color:#bcb5aa;font-size:11px}.filter.active,.filter:hover{background:var(--gold);border-color:var(--gold);color:#111}.menu-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}.cart-panel{position:sticky;top:100px;background:#11110f;border:1px solid var(--line);padding:22px}.cart-panel h3{font-size:25px}.cart-items{display:grid;gap:14px;margin:20px 0}.cart-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}.cart-row small{display:block;color:var(--muted)}.cart-row button{border:0;background:none;color:#c9a24b}.cart-total{border-top:1px solid #ffffff20;padding-top:15px;display:flex;justify-content:space-between;color:var(--gold2)}.empty{color:var(--muted);font-size:12px}.review-card{padding:28px;border:1px solid #ffffff12;background:#10100e}.review-card p{color:#c3bcb0;font-family:var(--serif);font-size:20px}.stars{color:var(--gold2);letter-spacing:3px}.review-card small{color:var(--muted);font-size:10px;letter-spacing:1px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}.contact-card{padding:24px;background:#11110f;border:1px solid #ffffff12}.contact-card .icon{color:var(--gold2);font-size:22px}.contact-card h3{font-size:22px;margin:10px 0}.contact-card p{color:var(--muted);font-size:12px;margin:0}.faq details{padding:18px 0;border-bottom:1px solid #ffffff17}.faq summary{cursor:pointer;color:#eee;font-family:var(--serif);font-size:20px}.faq details p{color:var(--muted);font-size:13px;margin:12px 0 0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.toast{position:fixed;bottom:24px;right:24px;background:var(--gold);color:#111;padding:14px 20px;z-index:100;box-shadow:0 10px 35px #0008;transform:translateY(120px);transition:transform .3s;font-size:12px}.toast.show{transform:translateY(0)}.menu-count{display:inline-grid;place-items:center;border-radius:50%;background:var(--gold);color:#111;width:18px;height:18px;font-size:10px;margin-left:4px}.mobile-nav{display:none}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%,100%{text-shadow:0 0 0 #dcae3600}50%{text-shadow:0 0 28px #dcae3650}}.gold{animation:shimmer 5s infinite}
@media(max-width:980px){.navlinks{gap:13px}.navlinks a{font-size:11px}.nav-cta{padding:11px 12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr 1fr}.menu-layout{grid-template-columns:1fr}.cart-panel{position:relative;top:auto;order:-1}}@media(max-width:720px){.nav{padding:13px 20px}.navlinks{display:none}.hamburger{display:block}.nav-cta{display:none}.mobile-nav{display:flex;position:fixed;inset:0;z-index:60;background:#080808f7;backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:22px;transform:translateX(100%);transition:transform .35s}.mobile-nav.open{transform:translateX(0)}.mobile-nav a{font-family:var(--serif);font-size:30px}.mobile-nav .close{position:absolute;right:25px;top:22px;border:1px solid var(--line);background:none;color:var(--gold);font-size:24px;padding:4px 12px}.hero{min-height:78vh;padding:70px 24px;background-position:58% center}.hero p{font-size:14px}.section{padding:72px 22px}.grid{grid-template-columns:1fr}.dish-image{height:245px}.split{grid-template-columns:1fr}.photo-stack img{height:330px}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-bottom{flex-direction:column}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-cards{grid-template-columns:1fr}.banner{background-attachment:scroll}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* =========================================================
   ODERA BRANDED PAGE LOADER
   ========================================================= */
.site-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:#050505;
  opacity:1;
  visibility:visible;
  transition:opacity .65s ease, visibility .65s ease;
}
.site-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loader-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:210px;
  text-align:center;
  animation:loaderEnter .75s ease both;
}
.loader-logo-wrap{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  position:relative;
}
.loader-logo{
  width:72px;
  height:72px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 14px rgba(220,174,54,.22));
}
.loader-spinner{
  width:34px;
  height:34px;
  border-radius:50%;
  border:2px solid rgba(220,174,54,.18);
  border-top-color:#ffdf72;
  border-right-color:#dcae36;
  animation:loaderSpin .8s linear infinite;
  margin-bottom:22px;
}
.loader-wordmark{
  color:#f5d36b;
  font-family:var(--sans);
  font-weight:700;
  font-size:10px;
  letter-spacing:3px;
}
.loader-subtitle{
  color:#8f897e;
  font-family:var(--sans);
  font-size:8px;
  letter-spacing:4px;
  margin-top:6px;
}
body.loading{
  overflow:hidden;
}
@keyframes loaderSpin{
  to{transform:rotate(360deg)}
}
@keyframes loaderEnter{
  from{opacity:0;transform:translateY(10px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .loader-spinner{animation:none}
}

/* Use the supplied Odera logo in the navigation/footer brand */
.brand-mark{
  width:48px;
  height:48px;
  border:0;
  border-radius:0;
  display:block;
  overflow:hidden;
  box-shadow:none;
}
.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* =========================================================
   DEDICATED MENU PAGE
   ========================================================= */
.menu-hero{
  min-height:58vh;
  display:grid;
  place-items:center;
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:90px 22px;
  background:
    linear-gradient(180deg,rgba(5,5,5,.62),rgba(5,5,5,.94)),
    url('https://images.unsplash.com/photo-1515003197210-e0cd7184f8b5?auto=format&fit=crop&w=2000&q=85') center/cover;
}
.menu-hero:before{
  content:"";
  position:absolute;
  inset:10% 20%;
  border:1px solid rgba(220,174,54,.16);
  transform:rotate(2deg);
  pointer-events:none;
}
.menu-hero-content{position:relative;z-index:1;max-width:820px}
.menu-hero h1{font-size:clamp(52px,8vw,92px);margin:18px 0}
.menu-hero p{max-width:620px;margin:0 auto;color:#d0c8bc;font-size:15px}
.menu-intro{
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}
.menu-intro h2{font-size:clamp(34px,4vw,52px);margin:14px 0}
.menu-intro p{color:var(--muted);font-size:13px}
.menu-toolbar{
  position:sticky;
  top:77px;
  z-index:18;
  background:rgba(8,8,8,.92);
  backdrop-filter:blur(18px);
  border-top:1px solid #ffffff0d;
  border-bottom:1px solid #ffffff12;
  padding:14px 22px;
  margin:0 calc(clamp(22px,8vw,120px) * -1);
}
.menu-toolbar-inner{
  max-width:1120px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.menu-categories{
  display:flex;
  gap:8px;
  overflow:auto;
  scrollbar-width:none;
}
.menu-categories::-webkit-scrollbar{display:none}
.menu-category{
  white-space:nowrap;
  padding:9px 15px;
  border:1px solid #ffffff1a;
  background:transparent;
  color:#aaa49a;
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  transition:.25s;
}
.menu-category:hover,.menu-category.active{
  background:var(--gold);
  border-color:var(--gold);
  color:#111;
}
.menu-count-badge{
  flex:0 0 auto;
  color:var(--gold2);
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.menu-item{
  background:#10100e;
  border:1px solid #ffffff10;
  position:relative;
  overflow:hidden;
  transition:transform .4s,border-color .4s,box-shadow .4s;
}
.menu-item:hover{
  transform:translateY(-7px);
  border-color:var(--line);
  box-shadow:0 20px 55px #0008;
}
.menu-item-image{
  height:280px;
  position:relative;
  overflow:hidden;
}
.menu-item-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;
}
.menu-item:hover .menu-item-image img{
  transform:scale(1.08);
  filter:saturate(1.08);
}
.menu-item-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6));
  pointer-events:none;
}
.menu-item-badge{
  position:absolute;
  z-index:2;
  top:15px;
  left:15px;
  padding:7px 10px;
  background:#090909dd;
  color:var(--gold2);
  border:1px solid #dcae3650;
  font-size:9px;
  letter-spacing:1.5px;
}
.menu-item-price{
  position:absolute;
  z-index:2;
  right:15px;
  bottom:15px;
  padding:8px 11px;
  background:#090909e8;
  color:#ffe18a;
  font-family:var(--serif);
  font-size:16px;
}
.menu-item-body{padding:23px}
.menu-item-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
}
.menu-item h3{font-size:24px;margin:0 0 9px}
.menu-item-body p{color:var(--muted);font-size:12px;min-height:44px;margin-bottom:18px}
.menu-item-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #ffffff12;
  padding-top:15px;
}
.menu-item-meta span{
  color:#837e75;
  font-size:9px;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.menu-add{
  width:40px;
  height:40px;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--gold2);
  font-size:22px;
  transition:.25s;
}
.menu-add:hover{background:var(--gold);color:#111;transform:rotate(90deg)}
.menu-empty{
  grid-column:1/-1;
  padding:70px 20px;
  text-align:center;
  color:var(--muted);
  border:1px dashed #ffffff18;
}
.menu-cart-fab{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:45;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#111;
  padding:14px 18px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  box-shadow:0 14px 40px #0009;
  transition:.25s;
}
.menu-cart-fab:hover{background:var(--gold2);transform:translateY(-4px)}
.menu-cart-number{
  width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;background:#111;color:var(--gold2);font-size:9px;
}
.menu-cart-drawer{
  position:fixed;
  inset:0;
  z-index:70;
  pointer-events:none;
  visibility:hidden;
}
.menu-cart-drawer.open{pointer-events:auto;visibility:visible}
.menu-cart-backdrop{
  position:absolute;inset:0;background:#000b;opacity:0;transition:.3s;
}
.menu-cart-drawer.open .menu-cart-backdrop{opacity:1}
.menu-cart-panel{
  position:absolute;
  top:0;right:0;
  width:min(430px,100%);
  height:100%;
  background:#10100e;
  border-left:1px solid var(--line);
  padding:28px;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
  overflow:auto;
}
.menu-cart-drawer.open .menu-cart-panel{transform:translateX(0)}
.menu-cart-head{
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid #ffffff14;padding-bottom:20px;
}
.menu-cart-head h3{font-size:28px;margin:0}
.menu-cart-close{
  border:1px solid #ffffff1b;background:transparent;color:#aaa;
  width:38px;height:38px;font-size:22px;
}
.menu-cart-items{display:grid;gap:15px;padding:22px 0}
.menu-cart-row{
  display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;
  border-bottom:1px solid #ffffff0c;padding-bottom:15px;
}
.menu-cart-row img{width:58px;height:58px;object-fit:cover}
.menu-cart-row h4{font-family:var(--serif);font-weight:500;font-size:16px;margin:0 0 4px}
.menu-cart-row small{color:var(--muted);font-size:10px}
.menu-cart-row strong{color:var(--gold2);font-size:11px}
.menu-cart-remove{border:0;background:none;color:#8f887e;font-size:10px;padding:0;margin-top:5px}
.menu-cart-footer{
  border-top:1px solid #ffffff18;
  padding-top:20px;
}
.menu-cart-total{display:flex;justify-content:space-between;color:#ddd;margin-bottom:18px}
.menu-cart-total strong{color:var(--gold2);font-family:var(--serif);font-size:24px}

/* =========================================================
   DEDICATED REVIEWS PAGE
   ========================================================= */
.reviews-hero{
  min-height:58vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:90px 22px;
  position:relative;
  background:
    linear-gradient(180deg,#05050588,#050505f2),
    url('https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=2000&q=85') center/cover;
}
.reviews-hero-content{max-width:820px}
.reviews-hero h1{font-size:clamp(52px,8vw,92px);margin:18px 0}
.reviews-hero p{max-width:620px;margin:auto;color:#d0c8bc}
.review-summary{
  display:grid;
  grid-template-columns:1.1fr 2fr;
  gap:25px;
  max-width:1000px;
  margin:-55px auto 70px;
  position:relative;
  z-index:2;
}
.review-score{
  background:#12120f;
  border:1px solid var(--line);
  padding:32px;
  text-align:center;
  box-shadow:0 20px 60px #0008;
}
.review-score-number{
  font-family:var(--serif);
  font-size:72px;
  line-height:1;
  color:var(--gold2);
}
.review-score-stars{color:var(--gold2);letter-spacing:5px;font-size:14px;margin:13px 0}
.review-score small{color:var(--muted);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.review-bars{
  background:#11110f;
  border:1px solid #ffffff10;
  padding:28px;
  display:grid;
  gap:13px;
}
.review-bar{display:grid;grid-template-columns:50px 1fr 35px;gap:10px;align-items:center;font-size:10px;color:#aaa}
.review-track{height:5px;background:#292823;overflow:hidden}
.review-fill{height:100%;background:linear-gradient(90deg,#a8781b,#ffdf72)}
.reviews-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:15px;margin-bottom:25px;
}
.review-filters{display:flex;gap:8px;flex-wrap:wrap}
.review-filter{
  border:1px solid #ffffff18;background:transparent;color:#a9a39a;
  padding:9px 14px;font-size:10px;letter-spacing:1px;
}
.review-filter.active,.review-filter:hover{background:var(--gold);border-color:var(--gold);color:#111}
.review-write-btn{white-space:nowrap}
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.review-card-premium{
  background:#11110f;
  border:1px solid #ffffff10;
  padding:28px;
  position:relative;
  transition:.35s;
}
.review-card-premium:hover{transform:translateY(-6px);border-color:var(--line)}
.review-quote{
  position:absolute;
  top:16px;right:20px;
  color:#dcae3630;
  font-family:Georgia,serif;
  font-size:65px;
  line-height:1;
}
.review-stars{color:var(--gold2);letter-spacing:3px;font-size:12px;margin-bottom:18px}
.review-card-premium h3{font-size:20px;margin-bottom:10px}
.review-card-premium p{color:#bbb4a9;font-family:var(--serif);font-size:16px;line-height:1.65}
.review-author{
  display:flex;align-items:center;gap:12px;
  margin-top:24px;padding-top:16px;border-top:1px solid #ffffff12;
}
.review-avatar{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#3a2b12,#17140e);
  border:1px solid var(--line);
  color:var(--gold2);font-family:var(--serif);
}
.review-author strong{display:block;font-size:11px}
.review-author small{display:block;color:#777;font-size:9px;margin-top:2px}
.review-verified{color:#8fba78;font-size:9px;letter-spacing:.5px;margin-left:auto}
.review-form-wrap{
  max-width:760px;
  margin:70px auto 0;
  background:#10100e;
  border:1px solid #ffffff12;
  padding:34px;
}
.review-form-wrap h2{font-size:36px;margin:10px 0}
.review-form-wrap>p{color:var(--muted);font-size:12px}
.rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px}
.rating-input input{position:absolute;opacity:0;pointer-events:none}
.rating-input label{
  color:#4b463d;
  font-size:25px;
  cursor:pointer;
  transition:.2s;
}
.rating-input label:hover,.rating-input label:hover~label,
.rating-input input:checked~label{color:var(--gold2)}
.review-form-note{color:#777;font-size:10px;margin-top:14px}
.reviews-disclaimer{text-align:center;color:#6f6a62;font-size:10px;margin-top:28px}

/* Existing loading screen remains branded */
@media(max-width:980px){
  .menu-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-summary{grid-template-columns:1fr}
}
@media(max-width:720px){
  .menu-hero,.reviews-hero{min-height:52vh}
  .menu-toolbar{top:68px;margin-left:-22px;margin-right:-22px}
  .menu-toolbar-inner{align-items:flex-start;flex-direction:column}
  .menu-grid,.review-grid{grid-template-columns:1fr}
  .menu-item-image{height:250px}
  .review-summary{margin:-30px 22px 50px}
  .review-score-number{font-size:60px}
  .reviews-toolbar{align-items:flex-start;flex-direction:column}
  .review-write-btn{width:100%}
  .review-form-wrap{padding:24px}
}

/* =========================================================
   ODERA GALLERY PAGE
   ========================================================= */
.gallery-hero{
  min-height:58vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:90px 22px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,#05050570,#050505ef),
    url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=2200&q=85') center/cover;
}
.gallery-hero-content{position:relative;z-index:1;max-width:820px}
.gallery-hero h1{font-size:clamp(52px,8vw,94px);margin:18px 0}
.gallery-hero p{max-width:640px;margin:auto;color:#d0c8bc;font-size:15px}
.gallery-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:30px;
}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}
.gallery-filter{
  border:1px solid #ffffff18;
  background:transparent;
  color:#a9a39a;
  padding:10px 15px;
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  transition:.25s;
}
.gallery-filter:hover,.gallery-filter.active{
  background:var(--gold);
  color:#111;
  border-color:var(--gold);
}
.gallery-note{color:#6f6a62;font-size:10px;letter-spacing:1px}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:90px;
  gap:14px;
}
.gallery-card{
  position:relative;
  overflow:hidden;
  background:#10100e;
  border:1px solid #ffffff0e;
  cursor:pointer;
  min-height:180px;
  transition:transform .45s,border-color .35s;
}
.gallery-card:nth-child(1){grid-column:span 5;grid-row:span 4}
.gallery-card:nth-child(2){grid-column:span 4;grid-row:span 3}
.gallery-card:nth-child(3){grid-column:span 3;grid-row:span 4}
.gallery-card:nth-child(4){grid-column:span 4;grid-row:span 4}
.gallery-card:nth-child(5){grid-column:span 3;grid-row:span 3}
.gallery-card:nth-child(6){grid-column:span 5;grid-row:span 3}
.gallery-card:nth-child(7){grid-column:span 3;grid-row:span 4}
.gallery-card:nth-child(8){grid-column:span 4;grid-row:span 4}
.gallery-card:nth-child(9){grid-column:span 5;grid-row:span 3}
.gallery-card:hover{transform:translateY(-5px);border-color:var(--line)}
.gallery-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s;
}
.gallery-card:hover img{transform:scale(1.08);filter:saturate(1.08)}
.gallery-overlay{
  position:absolute;inset:0;
  display:flex;align-items:flex-end;
  padding:22px;
  background:linear-gradient(180deg,transparent 45%,#000c);
  opacity:.9;
  transition:.35s;
}
.gallery-card:hover .gallery-overlay{background:linear-gradient(180deg,#0001 25%,#000e)}
.gallery-overlay div{transform:translateY(8px);transition:.35s}
.gallery-card:hover .gallery-overlay div{transform:translateY(0)}
.gallery-overlay span{
  display:block;color:var(--gold2);font-size:9px;letter-spacing:2px;
  text-transform:uppercase;margin-bottom:7px;
}
.gallery-overlay h3{margin:0;color:#fff;font-family:var(--serif);font-size:22px}
.gallery-lightbox{
  position:fixed;inset:0;z-index:100;
  background:#030303f5;
  display:grid;place-items:center;
  padding:30px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:.3s;
}
.gallery-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.gallery-lightbox-inner{
  width:min(1100px,100%);
  max-height:90vh;
  position:relative;
  display:grid;
  place-items:center;
}
.gallery-lightbox img{
  max-width:100%;max-height:78vh;
  object-fit:contain;
  box-shadow:0 25px 90px #000;
}
.gallery-lightbox-caption{
  color:#d8d0c4;text-align:center;margin-top:14px;font-size:11px;
  letter-spacing:1px;
}
.gallery-close,.gallery-next,.gallery-prev{
  position:absolute;
  width:44px;height:44px;
  border:1px solid #ffffff2a;
  background:#0c0c0ce8;
  color:#fff;
  font-size:23px;
  display:grid;place-items:center;
  transition:.25s;
}
.gallery-close{right:0;top:-55px}
.gallery-prev{left:0;top:50%;transform:translateY(-50%)}
.gallery-next{right:0;top:50%;transform:translateY(-50%)}
.gallery-close:hover,.gallery-next:hover,.gallery-prev:hover{background:var(--gold);color:#111;border-color:var(--gold)}
.gallery-empty{grid-column:1/-1;padding:70px;text-align:center;color:var(--muted);border:1px dashed #ffffff18}

/* =========================================================
   ODERA CONTACT PAGE
   ========================================================= */
.contact-hero{
  min-height:55vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:90px 22px;
  background:
    linear-gradient(180deg,#05050575,#050505f2),
    url('https://images.unsplash.com/photo-1552566626-52f8b828add9?auto=format&fit=crop&w=2200&q=85') center/cover;
}
.contact-hero-content{max-width:820px}
.contact-hero h1{font-size:clamp(52px,8vw,92px);margin:18px 0}
.contact-hero p{max-width:650px;margin:auto;color:#d0c8bc}
.contact-layout{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:30px;
  align-items:start;
}
.contact-info-panel{
  background:#10100e;
  border:1px solid #ffffff12;
  padding:34px;
}
.contact-info-panel h2{font-size:36px;margin:10px 0 25px}
.contact-info-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  padding:18px 0;
  border-top:1px solid #ffffff12;
}
.contact-info-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  color:var(--gold2);
  font-size:15px;
}
.contact-info-item h4{
  margin:0 0 5px;
  font-size:10px;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.contact-info-item p,.contact-info-item a{
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
  text-decoration:none;
}
.contact-info-item a:hover{color:var(--gold2)}
.contact-form-panel{
  background:#10100e;
  border:1px solid #ffffff12;
  padding:34px;
}
.contact-form-panel h2{font-size:36px;margin:10px 0}
.contact-form-panel>p{color:var(--muted);font-size:12px;margin-bottom:25px}
.contact-form .field input,.contact-form .field textarea,.contact-form .field select{
  background:#0a0a09;
}
.contact-form .field textarea{min-height:155px}
.contact-success{
  display:none;
  border:1px solid #748c5c55;
  background:#536b3b12;
  color:#a9c38d;
  padding:13px 15px;
  font-size:11px;
  margin-bottom:20px;
}
.contact-success.show{display:block}
.contact-map{
  margin-top:30px;
  min-height:260px;
  border:1px solid #ffffff12;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(#0005,#0008),
    url('https://images.unsplash.com/photo-1519501025264-65ba15a82390?auto=format&fit=crop&w=1600&q=80') center/cover;
}
.contact-map-card{
  position:absolute;
  left:25px;bottom:25px;
  background:#0c0c0cee;
  border:1px solid var(--line);
  padding:20px;
  min-width:250px;
}
.contact-map-card .eyebrow{margin-bottom:7px}
.contact-map-card strong{font-family:var(--serif);font-size:20px}
.contact-map-card p{color:#9b958a;font-size:10px;margin-top:5px}
.contact-hours{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:25px;
}
.contact-hour{
  border:1px solid #ffffff10;
  padding:18px;
  background:#0c0c0b;
}
.contact-hour span{display:block;color:#777168;font-size:9px;letter-spacing:1px;text-transform:uppercase}
.contact-hour strong{display:block;color:#e1d8ca;font-family:var(--serif);font-size:15px;margin-top:6px}
.contact-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.contact-social{
  border:1px solid #ffffff17;
  padding:9px 13px;
  color:#9d978e;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1px;
}
.contact-social:hover{border-color:var(--gold);color:var(--gold2)}
@media(max-width:900px){
  .contact-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .gallery-toolbar{align-items:flex-start;flex-direction:column}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .gallery-card:nth-child(n){grid-column:span 1;grid-row:span 1}
  .gallery-card:first-child,.gallery-card:nth-child(6),.gallery-card:nth-child(9){grid-column:span 2}
  .gallery-card:first-child{grid-row:span 2}
  .gallery-lightbox{padding:18px}
  .gallery-prev{left:8px}.gallery-next{right:8px}
  .gallery-close{right:0;top:-50px}
  .contact-hours{grid-template-columns:1fr}
}

/* =========================================================
   ODERA — RESERVATIONS / OUR STORY / FAQ
   ========================================================= */
.res-page-hero,.story-hero,.faq-hero{
  min-height:56vh;display:grid;place-items:center;text-align:center;
  padding:95px 22px;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,#05050570,#050505ef),
    url('https://images.unsplash.com/photo-1515003197210-e0cd7184f8b5?auto=format&fit=crop&w=2200&q=88') center/cover;
}
.story-hero{
  background:
    linear-gradient(90deg,#050505e8,#05050578,#050505d8),
    url('https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=2200&q=88') center/cover;
}
.faq-hero{
  background:
    linear-gradient(180deg,#05050575,#050505ee),
    url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=2200&q=88') center/cover;
}
.res-hero-content,.story-hero-content,.faq-hero-content{max-width:850px}
.res-page-hero h1,.story-hero h1,.faq-hero h1{font-size:clamp(50px,8vw,92px);line-height:1.04;margin:18px 0}
.res-page-hero p,.story-hero p,.faq-hero p{max-width:680px;margin:auto;color:#d0c8bc;font-size:14px}
.reservation-shell{
  max-width:1100px;margin:-90px auto 0;position:relative;z-index:4;
  display:grid;grid-template-columns:1.1fr .65fr;gap:22px;
}
.reservation-card,.reservation-side{
  background:#10100e;border:1px solid #ffffff13;
  box-shadow:0 25px 70px #0008;
}
.reservation-card{padding:34px}
.reservation-card h2,.reservation-side h3{font-family:var(--serif);font-weight:500}
.reservation-card h2{font-size:34px;margin:8px 0 8px}
.reservation-card .intro{color:var(--muted);font-size:12px;margin:0 0 25px}
.res-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.res-field{display:flex;flex-direction:column;gap:7px}
.res-field.full{grid-column:1/-1}
.res-field label{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:#aaa398}
.res-field input,.res-field select,.res-field textarea{
  width:100%;border:1px solid #ffffff18;background:#090908;color:#eee9df;
  padding:14px 13px;outline:none;transition:border-color .25s,box-shadow .25s;
}
.res-field input:focus,.res-field select:focus,.res-field textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px #dcae3610;
}
.res-field textarea{min-height:110px;resize:vertical}
.res-submit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;flex-wrap:wrap}
.res-note{color:#756f66;font-size:10px;max-width:430px}
.reservation-side{padding:28px;align-self:start}
.reservation-side h3{font-size:28px;margin:8px 0 18px}
.res-side-list{display:grid;gap:0}
.res-side-item{padding:15px 0;border-top:1px solid #ffffff12}
.res-side-item span{display:block;color:#777067;text-transform:uppercase;letter-spacing:1px;font-size:8px}
.res-side-item strong{display:block;margin-top:5px;font-size:12px;font-weight:500;color:#ded7cb}
.res-side-item p{margin:4px 0 0;color:#8d877e;font-size:10px}
.res-policy{
  margin-top:22px;padding:16px;border:1px solid #dcae3626;background:#dcae3608;
  color:#9b9387;font-size:10px;line-height:1.7;
}
.res-confirm{
  display:none;padding:16px;margin-bottom:18px;
  border:1px solid #718b5950;background:#536b3b13;color:#b6ca9c;font-size:11px;
}
.res-confirm.show{display:block}
.reservation-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px;
}
.res-benefit{padding:24px;background:#10100e;border:1px solid #ffffff10}
.res-benefit .num{font-family:var(--serif);color:var(--gold2);font-size:25px}
.res-benefit h4{margin:10px 0 5px;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.res-benefit p{margin:0;color:#8d877e;font-size:10px}

.story-intro{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;
}
.story-display{position:relative;min-height:540px}
.story-main-img{
  position:absolute;left:0;top:0;width:78%;height:480px;object-fit:cover;
  border:1px solid #ffffff12;
}
.story-detail-img{
  position:absolute;right:0;bottom:0;width:46%;height:250px;object-fit:cover;
  border:8px solid var(--ink);
}
.story-copy h2{font-size:clamp(35px,4.5vw,58px);line-height:1.08;margin:10px 0 20px}
.story-copy p{color:#aaa399;font-size:13px;line-height:1.9}
.story-signature{font-family:var(--serif);font-size:28px;color:var(--gold2);font-style:italic;margin-top:25px}
.story-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}
.story-value{padding:30px;background:#10100e;border:1px solid #ffffff10;min-height:200px}
.story-value .icon{color:var(--gold2);font-size:22px}
.story-value h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:16px 0 7px}
.story-value p{color:#8f8980;font-size:11px;line-height:1.8;margin:0}
.story-timeline{margin-top:70px;border-top:1px solid #ffffff12}
.story-step{display:grid;grid-template-columns:120px 1fr;gap:35px;padding:30px 0;border-bottom:1px solid #ffffff12}
.story-year{font-family:var(--serif);font-size:24px;color:var(--gold2)}
.story-step h3{font-family:var(--serif);font-size:26px;margin:0 0 7px}
.story-step p{color:#8f8980;font-size:11px;max-width:720px;margin:0}
.story-quote{
  margin-top:65px;padding:70px 30px;text-align:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.story-quote blockquote{max-width:850px;margin:18px auto 0;font-family:var(--serif);font-size:clamp(25px,4vw,48px);line-height:1.3;color:#eee7db}
.story-quote cite{display:block;color:#8b8377;font-size:9px;letter-spacing:2px;text-transform:uppercase;font-style:normal;margin-top:20px}

.faq-wrap{max-width:900px;margin:auto}
.faq-search{
  display:flex;align-items:center;gap:10px;background:#10100e;border:1px solid #ffffff13;
  padding:5px;margin-bottom:28px;
}
.faq-search input{flex:1;border:0;outline:0;background:transparent;color:#eee;padding:13px;font-size:12px}
.faq-search span{color:var(--gold2);padding:0 12px}
.faq-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}
.faq-category{
  border:1px solid #ffffff17;background:transparent;color:#9a948a;padding:9px 13px;
  font-size:9px;letter-spacing:1px;text-transform:uppercase;transition:.25s;
}
.faq-category.active,.faq-category:hover{background:var(--gold);border-color:var(--gold);color:#111}
.faq-list{border-top:1px solid #ffffff12}
.faq-item{border-bottom:1px solid #ffffff12}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  border:0;background:transparent;color:#eee8dc;text-align:left;padding:21px 4px;font-family:var(--serif);font-size:19px;
}
.faq-plus{width:30px;height:30px;border:1px solid #ffffff17;display:grid;place-items:center;color:var(--gold2);font-family:var(--sans);font-size:18px;flex:none;transition:.3s}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer-inner{padding:0 50px 22px 4px;color:#918a80;font-size:11px;line-height:1.9}
.faq-item.open .faq-answer{max-height:300px}
.faq-item.open .faq-plus{transform:rotate(45deg);background:var(--gold);color:#111;border-color:var(--gold)}
.faq-empty{padding:40px;text-align:center;color:#777067;border:1px dashed #ffffff18}
.faq-cta{margin-top:55px;padding:45px;background:#10100e;border:1px solid #ffffff10;display:flex;justify-content:space-between;gap:25px;align-items:center}
.faq-cta h3{font-family:var(--serif);font-size:30px;margin:0 0 5px}
.faq-cta p{color:#8f8980;font-size:10px;margin:0}

@media(max-width:900px){
  .reservation-shell{grid-template-columns:1fr;margin:-55px 22px 0}
  .story-intro{grid-template-columns:1fr;gap:35px}
  .story-display{min-height:480px}
  .story-values{grid-template-columns:1fr}
}
@media(max-width:680px){
  .res-form-grid{grid-template-columns:1fr}
  .res-field.full{grid-column:auto}
  .reservation-card{padding:24px}
  .reservation-benefits{grid-template-columns:1fr}
  .story-display{min-height:400px}
  .story-main-img{height:350px;width:85%}
  .story-detail-img{height:190px;width:50%}
  .story-step{grid-template-columns:75px 1fr;gap:18px}
  .faq-question{font-size:16px}
  .faq-cta{flex-direction:column;align-items:flex-start}
}
