:root{
  /* Matched to the business logo */
  --offwhite:#FBF6F2;
  --cream:#F3E9E2;
  --peach:#F3C48B;   /* gold/peach ring */
  --cherry:#D76F7A;  /* pink scoop */
  --noir:#111111;
  --hair:rgba(17,17,17,.12);
  --hair2:rgba(17,17,17,.10);
  --shadow-soft:0 18px 60px rgba(17,17,17,.10);
  --shadow-glass:0 18px 60px rgba(17,17,17,.08);
  --shadow-glow:0 14px 45px rgba(232,124,142,.18), 0 12px 34px rgba(242,195,139,.14);
  --serif:"Playfair Display", ui-serif, Georgia, serif;
  --sans:"Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(1200px 900px at 0% 0%, rgba(243, 196, 139, 0.65), transparent 65%),
    radial-gradient(1100px 800px at 100% 10%, rgba(232, 124, 142, 0.4), transparent 65%),
    radial-gradient(1200px 900px at 50% 100%, rgba(99, 122, 75, 0.3), transparent 65%),
    linear-gradient(135deg, #fff5eb 0%, #f5e4da 45%, #fce9ec 75%, #eff2e4 100%);
  background-size: 200% 200%;
  animation: bg-shift 20s ease infinite alternate;
  background-attachment:fixed;
  color:var(--noir);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

@keyframes bg-shift {
  0% { background-position: 0% 0%; }
  100% { background-position: 100% 100%; }
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

.container{max-width:1200px;margin:0 auto;padding:0 16px}
.section{
  padding:40px 0;
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(250,248,245,.38));
  position:relative;
}

/* Background / glass */
.bg-dessart{
  background:
    radial-gradient(900px 480px at 12% 10%, rgba(242, 195, 139, 0.55) 0%, rgba(242, 195, 139, 0) 60%),
    radial-gradient(760px 520px at 78% 16%, rgba(232, 124, 142, 0.42) 0%, rgba(232, 124, 142, 0) 62%),
    radial-gradient(1100px 760px at 50% 90%, rgba(244, 237, 232, 0.9) 0%, rgba(244, 237, 232, 0) 66%),
    linear-gradient(180deg, var(--offwhite) 0%, var(--cream) 100%);
}
.glass{
  background:rgba(250,248,245,.62);
  border:1px solid var(--hair2);
  box-shadow:var(--shadow-glass);
  backdrop-filter:blur(16px);
}
.grain{position:relative;overflow:hidden}
.grain::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.06;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  z-index:0;
}
.fade-bottom{position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(to bottom, transparent, var(--offwhite));pointer-events:none}

/* Typography */
.h2{font-family:var(--serif);font-size:clamp(32px,3.4vw,52px);letter-spacing:-.02em;line-height:1.05;margin:18px 0 0}
.h3{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;margin:0}
.p{max-width:72ch;color:rgba(17,17,17,.70);line-height:1.75;margin:14px 0 0;font-size:16px}
.p-sm{color:rgba(17,17,17,.66);line-height:1.65;margin:8px 0 0;font-size:14px}
.muted{color:rgba(17,17,17,.72)}
.micro{color:rgba(17,17,17,.60);font-size:12px;letter-spacing:.02em}

/* Badges */
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(17,17,17,.05);
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.badge-peach{border-color:rgba(242,195,139,.32);background:rgba(242,195,139,.14)}
.badge-cherry{border-color:rgba(232,124,142,.32);background:rgba(232,124,142,.14)}
.badge-loved{border-color:rgba(232,124,142,.26);background:rgba(232,124,142,.10);box-shadow:0 14px 40px rgba(232,124,142,.16)}
.badge-noir{border-color:rgba(17,17,17,.22);background:rgba(17,17,17,.05)}
.sparkle{font-size:12px;opacity:.9}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:999px;
  border:1px solid transparent;
  padding:12px 18px;
  font-weight:600;font-size:14px;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s cubic-bezier(.2,.8,.2,1), background .28s, border-color .28s, color .28s;
  user-select:none;
}
.btn-sm{padding:10px 14px;font-size:13px}
.btn-lg{padding:13px 20px;font-size:14px}
.btn-primary{background:var(--noir);color:var(--offwhite);box-shadow:var(--shadow-soft)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}
.btn-ghost{background:transparent;color:var(--noir);border-color:rgba(17,17,17,.15)}
.btn-ghost:hover{background:rgba(17,17,17,.05);border-color:rgba(17,17,17,.22)}
.btn-cream{background:var(--cream);color:var(--noir);border-color:rgba(17,17,17,.10)}
.btn-cream:hover{background:var(--offwhite);box-shadow:var(--shadow-glass)}

.icon-btn{
  width:40px;height:40px;border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.72);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
}

/* Navbar */
.nav-wrap{position:fixed;left:0;right:0;top:0;z-index:50;padding:18px 16px;transition:padding .25s ease}
.nav{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;border-radius:999px;
  background:rgba(250,248,245,.62);
  border:1px solid rgba(17,17,17,.10);
  box-shadow:var(--shadow-glass);
  backdrop-filter:blur(16px);
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.nav.scrolled{background:rgba(250,248,245,.62);border-color:rgba(17,17,17,.10);box-shadow:var(--shadow-glass);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:12px}
.logo-img{
  width:38px;height:38px;
  object-fit:contain;
  display:block;
}
.brand.invert .logo-img{
  filter:invert(1) hue-rotate(180deg) saturate(0);
}
.brand-name{
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:.14em;
  text-transform:uppercase;
  display:block;
  color:var(--noir);
}
.brand-sub{font-size:13px;color:rgba(17,17,17,.65);display:block;margin-top:1px}
.nav.scrolled .brand-name{color:var(--noir)}
.nav.scrolled .brand-sub{color:rgba(17,17,17,.65)}
.nav-links{display:none;gap:20px}
.nav-links a{
  font-size:14px;color:rgba(17,17,17,.72);position:relative;padding:10px 6px;
}
.nav-links a:hover{color:var(--noir)}
.nav-links a::after{
  content:"";position:absolute;left:6px;right:6px;bottom:7px;height:1px;width:0;
  background:rgba(17,17,17,.40);transition:width .28s ease;
}
.nav-links a:hover::after{width:calc(100% - 12px)}
.nav.scrolled .nav-links a{color:rgba(17,17,17,.72)}
.nav.scrolled .nav-links a:hover{color:var(--noir)}
.nav.scrolled .nav-links a::after{background:rgba(17,17,17,.40)}
.nav-cta{display:none;gap:10px}
.nav-burger{
  width:44px;height:44px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(17,17,17,.12);background:rgba(250,248,245,.70);backdrop-filter:blur(10px);
  display:inline-flex;align-items:center;justify-content:center;
}
.burger-lines{width:18px;height:2px;background:rgba(17,17,17,.70);position:relative;border-radius:2px}
.burger-lines::before,.burger-lines::after{
  content:"";position:absolute;left:0;width:18px;height:2px;background:rgba(17,17,17,.70);border-radius:2px;transition:transform .25s ease, top .25s ease, opacity .25s ease;
}
.burger-lines::before{top:-6px}
.burger-lines::after{top:6px}
.nav-burger.open .burger-lines{background:transparent}
.nav-burger.open .burger-lines::before{top:0;transform:rotate(45deg)}
.nav-burger.open .burger-lines::after{top:0;transform:rotate(-45deg)}

.mobile-backdrop{
  position:fixed;inset:0;background:rgba(17,17,17,.25);backdrop-filter:blur(6px);z-index:40;
}
.mobile-menu{
  position:fixed;right:12px;top:84px;z-index:60;
  width:min(92vw, 380px);
  border-radius:28px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.86);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(16px);
  padding:14px;
  transform:translateX(36px);
  opacity:0;
  pointer-events:none;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
}
.mobile-menu.open{transform:translateX(0);opacity:1;pointer-events:auto}
.mobile-menu a{display:block;padding:12px 12px;border-radius:18px;color:rgba(17,17,17,.80);font-size:14px}
.mobile-menu a:hover{background:rgba(17,17,17,.05)}
.mobile-menu-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}

/* Hero */
.hero{min-height:100vh;padding-top:110px;position:relative}
.hero-grid{display:grid;gap:44px;align-items:center}
.hero-title{
  margin:18px 0 0;
  font-family:var(--serif);
  font-size:clamp(44px, 5vw, 68px);
  letter-spacing:-.02em;
  line-height:1.02;
}
.hero-title .muted{display:block;color:rgba(17,17,17,.80)}
.hero-accent{position:relative;display:inline-block}
.hero-accent::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:10px;border-radius:999px;background:rgba(232,124,142,.25);filter:blur(2px);
}
.hero-subtitle{margin:14px 0 0;max-width:60ch;color:rgba(17,17,17,.70);line-height:1.75}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;max-width:520px}
.metric{padding:14px 14px;border-radius:26px;text-align:center}
.metric-k{font-family:var(--serif);font-size:18px}
.metric-v{margin-top:4px;font-size:12px;color:rgba(17,17,17,.60)}

/* Diggin-inspired hero: full-bleed photo + soft overlay + centered content */
.hero.hero--diggin{
  padding-top:118px;
  padding-bottom:44px;
  background-image:
    linear-gradient(180deg, rgba(17,17,17,.68) 0%, rgba(17,17,17,.42) 45%, rgba(17,17,17,.18) 100%),
    url("./assets/hero-bg.jpeg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero.hero--diggin::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 520px at 50% 12%, rgba(0,0,0,.22) 0%, rgba(0,0,0,0) 62%),
    radial-gradient(1000px 680px at 50% 100%, rgba(0,0,0,.16) 0%, rgba(0,0,0,0) 62%);
  z-index:0;
}
.hero.hero--diggin .dessert-aura{opacity:.22}
.hero.hero--diggin .hero-grid{
  position:relative;
  z-index:1;
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
  gap:0;
  max-width:920px;
  margin:0 auto;
  min-height:calc(100vh - 220px);
  align-content:center;
  transform:translateY(34px);
}
.hero.hero--diggin .badge{margin-bottom:14px}
.hero.hero--diggin .hero-title{
  color:white;
  text-shadow:0 18px 60px rgba(0,0,0,.35);
  font-size:clamp(46px, 6.2vw, 86px);
  line-height:.95;
  letter-spacing:-.03em;
  margin:10px 0 0;
  text-align:center;
}
.hero.hero--diggin .hero-title .muted{color:#fff}
.hero.hero--diggin .hero-name{
  display:block;
  font-size:clamp(48px, 7vw, 98px);
  letter-spacing:.04em;
  line-height:.9;
}
.hero.hero--diggin .hero-name-sub{
  display:block;
  margin-top:8px;
  font-size:clamp(36px, 4vw, 58px);
  letter-spacing:.01em;
  color:#fff;
}
.hero.hero--diggin .hero-subtitle{
  color:#fff;
  font-size:clamp(14px, 1.55vw, 18px);
  line-height:1.65;
  margin-top:16px;
  margin-left:auto;
  margin-right:auto;
  max-width:56ch;
  text-align:center;
}
.hero.hero--diggin .badge{background:rgba(250,248,245,.14);border-color:rgba(250,248,245,.22);color:rgba(250,248,245,.88)}
.hero.hero--diggin .btn-primary{background:rgba(243,196,139,.92);border-color:rgba(243,196,139,.35);color:rgba(17,17,17,.92)}
.hero.hero--diggin .btn-primary:hover{box-shadow:0 18px 60px rgba(0,0,0,.24), 0 20px 70px rgba(243,196,139,.22)}
.hero.hero--diggin .btn-cream{background:rgba(250,248,245,.92);border-color:rgba(250,248,245,.35)}
.hero.hero--diggin .btn-ghost{background:rgba(17,17,17,.22);border-color:rgba(250,248,245,.22);color:rgba(250,248,245,.92)}
.hero.hero--diggin .btn-ghost:hover{background:rgba(17,17,17,.32);border-color:rgba(250,248,245,.30)}
.hero.hero--diggin .hero-cta{
  justify-content:center;
  margin-top:20px;
  gap:14px;
}
.hero.hero--diggin .hero-cta .btn-lg{
  padding:14px 24px;
  font-size:16px;
}
.hero.hero--diggin .hero-metrics{max-width:760px;grid-template-columns:repeat(3, minmax(0,1fr))}
.hero.hero--diggin .metric{background:rgba(250,248,245,.10);border:1px solid rgba(250,248,245,.18);box-shadow:0 18px 70px rgba(0,0,0,.22);backdrop-filter:blur(14px)}
.hero.hero--diggin .metric-k{color:rgba(250,248,245,.92)}
.hero.hero--diggin .metric-v{color:rgba(250,248,245,.72)}
.hero.hero--diggin .hero-visual{width:min(920px, 100%);margin-top:10px}
.hero.hero--diggin .visual-shell{background:rgba(250,248,245,.14);border-color:rgba(250,248,245,.22)}
.hero.hero--diggin .visual-left,
.hero.hero--diggin .mini-card{
  background:rgba(250,248,245,.12);
  border-color:rgba(250,248,245,.20);
}
.hero.hero--diggin .visual-title,
.hero.hero--diggin .mini-title{color:rgba(250,248,245,.92)}
.hero.hero--diggin .visual-text,
.hero.hero--diggin .mini-sub,
.hero.hero--diggin .mini-note{color:rgba(250,248,245,.72)}
.hero.hero--diggin .mini-dot{background:rgba(250,248,245,.18);border-color:rgba(250,248,245,.22)}

/* About story */
.about-story{
  padding:104px 0;
  background:linear-gradient(135deg, rgba(255,249,242,.72), rgba(245,237,229,.54), rgba(255,244,246,.48));
}
.about-grid{
  display:grid;
  gap:40px;
  align-items:center;
}
.about-media{
  position:relative;
  width:min(100%, 620px);
  margin:0 auto;
}
.about-photo{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 4/4.5;
  object-fit:cover;
  object-position:center;
  border-radius:24px;
  box-shadow:0 28px 80px rgba(17,17,17,.14);
}
.about-stat-card{
  position:absolute;
  right:-8px;
  bottom:-24px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  min-width:min(78%, 260px);
  padding:20px 22px;
  border-radius:16px;
  text-align:center;
}
.about-stat-card strong{
  display:block;
  font-family:var(--serif);
  font-size:28px;
  line-height:1;
  color:#637A4B;
}
.about-stat-card span{
  display:block;
  margin-top:7px;
  font-size:12px;
  color:rgba(17,17,17,.58);
}
.about-copy{
  max-width:620px;
}
.about-title{
  margin:22px 0 24px;
  font-family:var(--serif);
  font-size:clamp(38px, 8.5vw, 72px);
  line-height:1.05;
  letter-spacing:0;
  color:#2A2725;
}
.about-title span{
  display:block;
  color:#637A4B;
}
.about-copy p{
  margin:0 0 20px;
  color:rgba(42,39,37,.68);
  font-size:17px;
  line-height:1.75;
}
.about-copy p strong{
  color:#111;
  font-weight:700;
}
.about-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.about-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 20px;
  border-radius:999px;
  background:#EFE3DA;
  border:1px solid rgba(17,17,17,.06);
  color:#2A2725;
  font-size:14px;
  font-weight:700;
}

/* Menu showcase */
.menu-showcase{
  background:linear-gradient(135deg, rgba(244,240,234,.78), rgba(255,247,238,.62), rgba(244,247,237,.56));
  padding:92px 0 84px;
}
.menu-head{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.menu-title{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(42px, 5vw, 68px);
  line-height:.98;
  letter-spacing:0;
  color:#2A2725;
}
.menu-title span{
  display:block;
  color:#637A4B;
}
.menu-head p{
  margin:24px auto 0;
  max-width:760px;
  color:rgba(42,39,37,.66);
  font-size:17px;
  line-height:1.65;
}
.menu-search{
  width:min(100%, 448px);
  height:52px;
  margin:48px auto 34px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid rgba(42,39,37,.10);
  background:#F8F5F1;
  box-shadow:0 16px 50px rgba(17,17,17,.04);
}
.menu-search span{
  color:rgba(42,39,37,.52);
  font-size:24px;
  line-height:1;
}
.menu-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#2A2725;
  font-size:15px;
}
.menu-search input::placeholder{
  color:rgba(69,82,112,.55);
}
.menu-tabs{
  display:flex;
  gap:16px;
  overflow-x:auto;
  padding:0 2px 14px;
  scrollbar-width:thin;
}
.menu-tabs button{
  flex:0 0 auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(42,39,37,.72);
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease;
}
.menu-tabs button.active{
  background:#637A4B;
  color:#fff;
  box-shadow:0 14px 32px rgba(99,122,75,.22);
}
.menu-sections{
  display:grid;
  gap:48px;
  margin-top:28px;
}
.menu-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.menu-section-head h3{
  margin:0;
  display:flex;
  align-items:center;
  font-family:var(--serif);
  font-size:clamp(28px, 3vw, 36px);
  color:#111;
}
.menu-section-head > span{
  flex:0 0 auto;
  border-radius:999px;
  background:#EAE8DF;
  color:#637A4B;
  padding:8px 13px;
  font-size:13px;
  font-weight:800;
}
.menu-card-grid{
  display:grid;
  gap:16px;
}
.menu-item-card{
  min-height:104px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  align-items:start;
  padding:22px 20px;
  border-radius:16px;
  background:#FBFAF7;
  box-shadow:0 14px 38px rgba(17,17,17,.06);
}
.veg-dot{
  width:16px;
  height:16px;
  margin-top:8px;
  border-radius:999px;
  border:2px solid #149433;
  position:relative;
}
.veg-dot::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:999px;
  background:#149433;
}
.menu-item-main{
  min-width:0;
}
.menu-item-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.menu-item-top h4{
  margin:0;
  font-family:var(--serif);
  font-size:21px;
  line-height:1.22;
  color:#1F1B18;
}
.menu-item-top strong{
  flex:0 0 auto;
  color:#637A4B;
  font-size:15px;
}
.menu-item-card p{
  margin:12px 0 0;
  color:rgba(42,39,37,.58);
  font-size:14px;
  line-height:1.55;
}
.veg-label{
  display:inline-flex;
  margin-top:12px;
  color:rgba(42,39,37,.58);
  font-size:12px;
  font-weight:700;
}
.menu-note{
  margin-top:48px;
  text-align:center;
  color:rgba(42,39,37,.58);
  font-size:13px;
}

.hero-visual{position:relative}
.visual-shell{border-radius:36px;padding:18px;box-shadow:var(--shadow-soft)}
.hero-visual::before{
  content:"";position:absolute;inset:-22px;border-radius:40px;
  background:linear-gradient(135deg, rgba(242,195,139,.25), rgba(250,248,245,.08), rgba(232,124,142,.20));
  filter:blur(22px);z-index:-1;
}
.visual-shell{display:grid;gap:14px}
.visual-left{border-radius:28px;border:1px solid rgba(17,17,17,.10);background:rgba(244,237,232,.50);padding:16px;position:relative;overflow:hidden}
.visual-left::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:999px;background:rgba(242,195,139,.50);filter:blur(26px)}
.visual-left::after{content:"";position:absolute;left:-60px;bottom:-60px;width:210px;height:210px;border-radius:999px;background:rgba(232,124,142,.35);filter:blur(28px)}
.visual-square{
  aspect-ratio:1/1;border-radius:28px;border:1px solid rgba(17,17,17,.10);
  background:linear-gradient(135deg, var(--offwhite), var(--cream), var(--offwhite));
  position:relative;overflow:hidden;
}
.visual-square .swirl{
  position:absolute;inset:6%;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(242,195,139,.55), rgba(250,248,245,.70), rgba(232,124,142,.35));
  animation:spin 22s linear infinite;
}
.visual-square .swirl::after{
  content:"";position:absolute;inset:0;
  -webkit-mask-image: radial-gradient(180px 120px at 30% 40%, #000 55%, transparent 70%),
    radial-gradient(210px 140px at 70% 60%, #000 52%, transparent 72%),
    radial-gradient(260px 160px at 50% 50%, #000 60%, transparent 78%);
  mask-image: radial-gradient(180px 120px at 30% 40%, #000 55%, transparent 70%),
    radial-gradient(210px 140px at 70% 60%, #000 52%, transparent 72%),
    radial-gradient(260px 160px at 50% 50%, #000 60%, transparent 78%);
  opacity:.70;
  background:transparent;
}
.visual-square .shine{
  position:absolute;inset:0;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), transparent 55%);
}
.visual-caption{position:relative;margin-top:14px}
.visual-title{font-family:var(--serif);font-size:18px}
.visual-text{margin-top:6px;color:rgba(17,17,17,.65);font-size:14px;line-height:1.65}

.visual-right{display:grid;gap:12px}
.mini-card{
  position:relative;overflow:hidden;
  border-radius:28px;border:1px solid rgba(17,17,17,.10);
  background:rgba(250,248,245,.60);
  box-shadow:0 18px 60px rgba(17,17,17,.08);
  padding:16px;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s cubic-bezier(.2,.8,.2,1);
}
.mini-card:hover{transform:translateY(-4px)}
.mini-aura{position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:999px;filter:blur(26px);opacity:.9}
.aura-peach{background:linear-gradient(135deg, rgba(242,195,139,.70), rgba(244,237,232,.45), rgba(250,248,245,.55))}
.aura-cherry{background:linear-gradient(135deg, rgba(232,124,142,.55), rgba(242,195,139,.35), rgba(250,248,245,.55))}
.aura-noir{background:linear-gradient(135deg, rgba(17,17,17,.12), rgba(244,237,232,.55), rgba(250,248,245,.55))}
.aura-cream{background:linear-gradient(135deg, rgba(244,237,232,.65), rgba(250,248,245,.55), rgba(242,195,139,.20))}
.aura-mix{background:linear-gradient(135deg, rgba(242,195,139,.25), rgba(250,248,245,.20), rgba(232,124,142,.22))}

.mini-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mini-title{font-family:var(--serif);font-size:16px}
.mini-sub{margin-top:4px;color:rgba(17,17,17,.65);font-size:14px}
.mini-dot{width:36px;height:36px;border-radius:999px;border:1px solid rgba(17,17,17,.12);background:rgba(250,248,245,.70)}
.mini-rule{position:relative;height:1px;margin-top:14px;background:linear-gradient(to right, transparent, rgba(17,17,17,.15), transparent)}
.mini-note{position:relative;margin-top:14px;color:rgba(17,17,17,.60);font-size:12px;line-height:1.6}

/* Aura blobs */
.dessert-aura{pointer-events:none;position:absolute;inset:0;z-index:0}
.blob{position:absolute;border-radius:999px;filter:blur(32px);opacity:.82;animation:floaty 10s ease-in-out infinite}
.blob-peach{left:-8%;top:-10%;width:340px;height:340px;background:rgba(242,195,139,.55)}
.blob-cherry{right:-10%;top:6%;width:420px;height:420px;background:rgba(232,124,142,.40);animation-delay:.3s}
.blob-cream{left:18%;bottom:-20%;width:520px;height:520px;background:rgba(244,237,232,.80);animation-delay:.5s}
.hairline-line{position:absolute;height:1px;background:linear-gradient(to right, transparent, rgba(17,17,17,.18), transparent);opacity:.3}
.line-left{left:10%;top:30%;width:40%}
.line-right{right:6%;bottom:26%;width:46%}

@keyframes floaty{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(12px,-18px) rotate(6deg)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Curves */
.curve{display:none !important;height:64px;overflow:hidden;background:var(--offwhite)}
.curve svg{width:100%;height:100%;display:block}
.curve.flip{transform:rotate(180deg)}

/* Cards / grid */
.grid{display:grid;gap:14px;margin-top:28px}
.cards{grid-template-columns:repeat(1,1fr)}
.best-grid{grid-template-columns:repeat(1,1fr)}
.exp-grid{grid-template-columns:repeat(1,1fr)}
.card{
  position:relative;overflow:hidden;
  border-radius:30px;border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.70);
  box-shadow:var(--shadow-glass);
  backdrop-filter:blur(14px);
  padding:18px;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s cubic-bezier(.2,.8,.2,1), border-color .32s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:rgba(17,17,17,.18)}
.card-aura{position:absolute;inset:0;opacity:0;transition:opacity .45s ease}
.card:hover .card-aura{opacity:1}

.rule{height:1px;margin-top:14px;background:linear-gradient(to right, transparent, rgba(17,17,17,.14), transparent)}

/* Section headers split */
.split-head{display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-content:space-between}

/* Inputs */
.input,.textarea,select.input{
  width:100%;
  border-radius:18px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.70);
  padding:12px 14px;
  font-size:14px;
  color:var(--noir);
  outline:none;
  box-shadow:0 10px 40px rgba(17,17,17,.06);
}
.input:focus,.textarea:focus,select.input:focus{border-color:rgba(17,17,17,.22);box-shadow:0 10px 40px rgba(232,124,142,.10)}
.textarea{min-height:110px;resize:none;padding:12px 14px}
.search{position:relative;width:min(360px, 100%)}
.search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.55}
.search .input{padding-left:34px}

/* Pills */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pill{
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.70);
  color:rgba(17,17,17,.70);
  font-size:14px;
  transition:background .28s,border-color .28s,color .28s, transform .28s;
}
.pill:hover{background:rgba(17,17,17,.05);border-color:rgba(17,17,17,.18)}
.pill.active{background:var(--noir);border-color:rgba(17,17,17,.25);color:var(--offwhite);box-shadow:var(--shadow-soft)}

/* Menu card */
.menu-card .head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.price{border-radius:999px;border:1px solid rgba(17,17,17,.12);background:rgba(250,248,245,.70);padding:6px 10px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.tag{border-radius:999px;border:1px solid rgba(17,17,17,.12);background:rgba(250,248,245,.65);padding:6px 10px;font-size:12px;color:rgba(17,17,17,.70)}
.tag.link{margin-left:auto;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
.menu-aura{position:absolute;inset:0;opacity:0;transition:opacity .45s ease}
.menu-card:hover .menu-aura{opacity:1}
.menu-aura.peach{background:linear-gradient(135deg, rgba(242,195,139,.35), rgba(250,248,245,.40), rgba(244,237,232,.65))}
.menu-aura.cherry{background:linear-gradient(135deg, rgba(232,124,142,.28), rgba(250,248,245,.40), rgba(244,237,232,.65))}
.menu-aura.cream{background:linear-gradient(135deg, rgba(244,237,232,.45), rgba(250,248,245,.40), rgba(244,237,232,.70))}
.menu-aura.noir{background:linear-gradient(135deg, rgba(17,17,17,.12), rgba(250,248,245,.40), rgba(244,237,232,.70))}

/* Best sellers */
.best{padding:18px}
.best-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.best-media{
  margin-top:14px;border-radius:26px;border:1px solid rgba(17,17,17,.10);
  background:rgba(250,248,245,.60);
  padding:18px;overflow:hidden;position:relative;
}
.best-media .swirl{
  aspect-ratio:16/9;border-radius:24px;border:1px solid rgba(17,17,17,.10);
  background:linear-gradient(135deg, var(--offwhite), rgba(244,237,232,.60), var(--offwhite));
  position:relative;
}
.best-media .swirl::before{
  content:"";position:absolute;inset:0;
  -webkit-mask-image: radial-gradient(180px 120px at 30% 40%, #000 55%, transparent 70%),
    radial-gradient(210px 140px at 70% 60%, #000 52%, transparent 72%),
    radial-gradient(260px 160px at 50% 50%, #000 60%, transparent 78%);
  mask-image: radial-gradient(180px 120px at 30% 40%, #000 55%, transparent 70%),
    radial-gradient(210px 140px at 70% 60%, #000 52%, transparent 72%),
    radial-gradient(260px 160px at 50% 50%, #000 60%, transparent 78%);
  opacity:.55;
  background:radial-gradient(circle at 70% 30%, rgba(242,195,139,.35), transparent 58%);
}
.best-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.chip{border-radius:999px;border:1px solid rgba(17,17,17,.12);background:rgba(250,248,245,.70);padding:6px 10px;font-size:12px;color:rgba(17,17,17,.65)}

/* Masonry gallery */
.gallery-head{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
#gallery{
  background:
    radial-gradient(760px 420px at 18% 20%, rgba(243,196,139,.30), transparent 68%),
    radial-gradient(720px 420px at 86% 22%, rgba(215,111,122,.20), transparent 70%),
    linear-gradient(180deg, rgba(255,250,245,.62), rgba(244,247,237,.42));
}
.gallery-head .p{
  margin-left:auto;
  margin-right:auto;
}
.gallery-grid{
  display:block;
  column-count:2;
  column-gap:16px;
  margin-top:34px;
}
.gallery-card{
  position:relative;
  display:block;
  width:100%;
  margin-bottom:16px;
  break-inside:avoid;
  aspect-ratio: 1/1;
  border:0;
  border-radius:22px;
  overflow:hidden;
  padding:0;
  background:#111;
  box-shadow:0 22px 60px rgba(17,17,17,.12);
  cursor:pointer;
}
.gallery-card:nth-child(even){
  aspect-ratio: 4/5;
}
.gallery-card:nth-child(3n){
  aspect-ratio: 3/4;
}
.gallery-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), filter .5s ease;
}
.gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 42%, rgba(17,17,17,.68));
  opacity:.9;
  pointer-events:none;
}
.gallery-card:hover img{
  transform:scale(1.06);
  filter:saturate(1.06) contrast(1.04);
}
.gallery-overlay{
  display:none;
}
.gallery-lightbox-media{
  background:#111;
}
.gallery-lightbox-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.masonry{columns:1;column-gap:14px;margin-top:28px}
.tile{
  break-inside:avoid;
  margin:0 0 14px;
  border-radius:28px;border:1px solid rgba(17,17,17,.10);
  background:rgba(250,248,245,.70);
  overflow:hidden;
  box-shadow:0 18px 60px rgba(17,17,17,.07);
  transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s;
  cursor:pointer;
}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}
.tile-media{aspect-ratio:4/3;position:relative;overflow:hidden}
.tile-media::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%, rgba(255,255,255,.95), transparent 55%);opacity:.70}
.tile-media .swirl-mask{position:absolute;inset:0;opacity:.55;
  -webkit-mask-image: radial-gradient(180px 120px at 30% 40%, #000 55%, transparent 70%),
    radial-gradient(210px 140px at 70% 60%, #000 52%, transparent 72%),
    radial-gradient(260px 160px at 50% 50%, #000 60%, transparent 78%);
  mask-image: radial-gradient(180px 120px at 30% 40%, #000 55%, transparent 70%),
    radial-gradient(210px 140px at 70% 60%, #000 52%, transparent 72%),
    radial-gradient(260px 160px at 50% 50%, #000 60%, transparent 78%);
}
.tile-media .kind{
  position:absolute;left:14px;bottom:14px;
  border-radius:999px;border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.70);
  padding:6px 10px;font-size:12px;color:rgba(17,17,17,.70);
  backdrop-filter:blur(10px);
}
.tile-body{padding:14px 16px}
.tile-title{font-family:var(--serif);font-size:18px}
.tile-sub{margin-top:6px;font-size:14px;color:rgba(17,17,17,.65)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:80}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.30);backdrop-filter:blur(8px)}
.lightbox-card{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(92vw, 920px);
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}
.lightbox-title{font-family:var(--serif);font-size:20px}
.lightbox-sub{margin-top:4px;color:rgba(17,17,17,.65);font-size:14px}
.lightbox-media{aspect-ratio:16/10;border-top:1px solid rgba(17,17,17,.10);border-bottom:1px solid rgba(17,17,17,.10)}
.lightbox-foot{padding:16px 18px;color:rgba(17,17,17,.70);font-size:14px}

/* Marquee */
.marquee-shell{margin-top:28px;border-radius:32px;position:relative;overflow:hidden;padding:14px}
.marquee{display:flex;gap:14px;width:max-content;animation:marquee 22s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee-fade{position:absolute;top:0;bottom:0;width:64px;pointer-events:none;z-index:2}
.marquee-fade.left{left:0;background:linear-gradient(to right, var(--offwhite), transparent)}
.marquee-fade.right{right:0;background:linear-gradient(to left, var(--offwhite), transparent)}
@keyframes marquee{to{transform:translateX(-50%)}}

.review-card{
  width:360px;flex:0 0 auto;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.5);
  background:linear-gradient(135deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.5) 100%);
  box-shadow:0 12px 40px rgba(17,17,17,.06), inset 0 0 0 1px rgba(255,255,255,.6);
  backdrop-filter:blur(24px);
  padding:24px;
  position:relative;
  overflow:hidden;
}
.review-card::after{
  content:"”";
  position:absolute;
  bottom:-40px;right:20px;
  font-family:var(--serif);
  font-size:160px;
  color:rgba(17,17,17,.04);
  pointer-events:none;
}
.review-head{display:flex;align-items:center;gap:14px}
.review-avatar{
  width:48px;height:48px;
  border-radius:50%;
  background:var(--peach);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:20px;font-weight:600;
  flex-shrink:0;
}
.review-meta{display:flex;flex-direction:column;gap:2px}
.review-name{font-family:var(--serif);font-size:18px;font-weight:600;color:#111}
.review-verified{font-size:13px;color:#555;display:flex;align-items:center;gap:4px}
.review-verified svg{width:14px;height:14px;color:#3b82f6}
.review-stars{margin-top:14px;color:#fbbf24;font-size:14px;letter-spacing:3px}
.review-text{margin-top:12px;font-size:15px;line-height:1.6;color:#444;font-style:italic}

.rating-chip{
  display:flex;align-items:center;gap:10px;
  border-radius:999px;border:1px solid rgba(17,17,17,.12);
  background:rgba(250,248,245,.70);
  padding:10px 14px;
  box-shadow:0 16px 50px rgba(17,17,17,.06);
  color:rgba(17,17,17,.70);
  backdrop-filter:blur(10px);
}
.stars{color:rgba(242,195,139,1);letter-spacing:2px}

/* Reserve */
.reserve-grid{display:grid;gap:28px;align-items:start}
.reserve-notes{display:grid;gap:10px;margin-top:18px}
.note{padding:14px 16px;border-radius:26px}
.note-k{font-family:var(--serif);font-size:18px}
.note-v{margin-top:6px;color:rgba(17,17,17,.65);font-size:14px;line-height:1.65}
.reserve-card .form{margin-top:12px;display:grid;gap:12px}
.form-grid{display:grid;gap:12px}
.field{display:grid;gap:8px}
.label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(17,17,17,.62)}

/* Location */
.loc-grid{display:grid;gap:14px;margin-top:28px}
.loc-map iframe{width:100%;height:320px;border:0;display:block}
.map-frame{border-radius:26px;border:1px solid rgba(17,17,17,.10);overflow:hidden;background:rgba(250,248,245,.60);margin-top:12px}
.loc-info{display:grid;gap:14px}
.link{font-size:14px;color:rgba(17,17,17,.70);text-decoration:underline;text-decoration-color:rgba(17,17,17,.20);text-underline-offset:4px}
.link:hover{color:var(--noir)}

/* Footer */
.footer{
  background:linear-gradient(to bottom, #111, #0a0a0a);
  color:var(--offwhite);
  padding:80px 0 30px;
  position:relative;
  border-top:1px solid rgba(255,255,255,0.05);
}
.footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
}
.footer-grid{display:grid;gap:32px}
.invert{filter:invert(1) hue-rotate(180deg) saturate(0)}
.footer-muted{color:rgba(250,248,245,.65);line-height:1.6}
.footer-icons{display:flex;gap:12px;margin-top:16px}
.icon{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(250,248,245,.15);
  background:rgba(250,248,245,.05);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.icon:hover{
  background:rgba(250,248,245,.15);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(255,255,255,0.08);
}
.footer-col{display:grid;gap:12px;color:rgba(250,248,245,.70)}
.footer-col a{transition:color 0.2s}
.footer-col a:hover{color:var(--offwhite)}
.footer-title{font-family:var(--serif);font-size:20px;color:var(--offwhite);margin-bottom:4px}
.footer-news{display:flex;gap:10px;margin-top:12px}
.footer-input{background:rgba(250,248,245,.08);color:var(--offwhite);border-color:rgba(250,248,245,.15);padding:12px 16px;border-radius:999px;flex:1}
.footer-input::placeholder{color:rgba(250,248,245,.45)}
.footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid rgba(250,248,245,.12);display:flex;flex-direction:column;gap:10px;color:rgba(250,248,245,.50);font-size:13px}
.footer-links{display:flex;gap:20px}
.footer-links a:hover{color:var(--offwhite)}

/* Floating Instagram */
.floating-ig {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(220, 39, 67, 0.4);
  z-index: 9999;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
}
.floating-ig:hover {
  transform: scale(1.1) translateY(-4px);
  box-shadow: 0 14px 40px rgba(220, 39, 67, 0.5);
}
.floating-ig svg {
  width: 28px;
  height: 28px;
}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(40px) scale(0.98);filter:blur(4px);transition:opacity 0.8s cubic-bezier(0.2,0.8,0.2,1),transform 0.8s cubic-bezier(0.2,0.8,0.2,1),filter 0.8s cubic-bezier(0.2,0.8,0.2,1)}
.reveal.in{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}

/* Tilt base */
.tilt{transform-style:preserve-3d}

/* Responsive */
@media (min-width: 768px){
  .nav-links{display:flex}
  .nav-cta{display:flex}
  .nav-burger{display:none}
  .hero-grid{grid-template-columns:1.05fr .95fr}
  .hero.hero--diggin .hero-grid{
    grid-template-columns:1fr;
    min-height:calc(100vh - 300px);
    max-width:960px;
    transform:translateY(48px);
  }
  .cards{grid-template-columns:repeat(2,1fr)}
  .best-grid{grid-template-columns:repeat(2,1fr)}
  .exp-grid{grid-template-columns:repeat(2,1fr)}
  .split-head{flex-direction:row;align-items:flex-end}
  .about-grid{display:grid;grid-template-columns:minmax(0, .9fr) minmax(0, 1fr);align-items:center;gap:72px}
  .about-media{width:460px;height:500px}
  .about-photo{min-height:0;height:100%;aspect-ratio:auto;}
  .about-stat-card{right:-26px;bottom:-24px}
  .menu-card-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .menu-tabs{justify-content:center}
  .gallery-grid{
    column-count:4;
  }
  .feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .reserve-grid{grid-template-columns:1fr 1fr;gap:30px}
  .loc-grid{grid-template-columns:3fr 2fr;align-items:start}
  .footer-grid{grid-template-columns:2fr 1fr 1fr 2fr;align-items:start}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}
  .masonry{columns:2}
  .form-grid{grid-template-columns:1fr 1fr}
}
@media (min-width: 1024px){
  .masonry{columns:3}
  .cards{grid-template-columns:repeat(3,1fr)}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .marquee{animation:none}
  .blob,.visual-square .swirl{animation:none}
  .reveal{transition:none;opacity:1;transform:none}
  .btn,.card,.tile{transition:none}
}

