:root{
  --dungeon-bg:#10090b;
  --dungeon-panel:#1a1012;
  --dungeon-panel-2:#211316;
  --dungeon-cream:#f5e7cd;
  --dungeon-muted:#bda998;
  --dungeon-red:#8f1f2c;
  --dungeon-red-bright:#b82f3c;
  --dungeon-gold:#c9a66b;
  --dungeon-line:#513238;
}

.menu-page{
  background:
    radial-gradient(circle at 20% 0%,#41151c55 0,transparent 32rem),
    radial-gradient(circle at 90% 25%,#5c162344 0,transparent 30rem),
    linear-gradient(180deg,#0d0709 0%,#13090c 44%,#0d0709 100%);
  color:var(--dungeon-cream);
  min-height:100vh;
}
.menu-page a{color:inherit}
.dungeon-header{
  max-width:1380px;
  border-bottom:1px solid #41282e;
  background:#10090be8;
  position:relative;
  z-index:5;
}
.dungeon-header .public-brand{color:var(--dungeon-cream)}
.dungeon-header .public-brand small{color:#aa9290}
.dungeon-header nav a{color:#d5c2ae}
.dungeon-header nav a:hover,.dungeon-header nav a[aria-current="page"]{color:#fff2d9}
.dungeon-header nav a[aria-current="page"]{position:relative}
.dungeon-header nav a[aria-current="page"]::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-9px;
  height:2px;
  background:var(--dungeon-red-bright);
}
.dungeon-header .account-link{
  background:#211316;
  color:var(--dungeon-cream);
  border-color:#5f3a42;
}
.dungeon-header .account-link:hover{background:#32171d}

.menu-main{
  max-width:1220px;
  padding:0 34px 64px;
}
.menu-hero{
  position:relative;
  text-align:center;
  padding:68px 20px 54px;
  overflow:hidden;
}
.hero-chain{
  position:absolute;
  top:6px;
  left:50%;
  transform:translateX(-50%) rotate(90deg);
  font-size:72px;
  color:#6d5558;
  opacity:.42;
  letter-spacing:-9px;
}
.menu-kicker{
  margin:0 0 13px;
  color:var(--dungeon-gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.menu-hero h1{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(52px,8vw,104px);
  line-height:.88;
  font-weight:500;
  letter-spacing:-4px;
  text-transform:uppercase;
}
.menu-hero h1 em{
  color:var(--dungeon-red-bright);
  font-style:italic;
  font-weight:700;
}
.menu-week{
  margin:24px 0 4px;
  color:#dbc7ad;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
}
.menu-intro{
  margin:4px 0 0;
  color:#a99487;
  font-size:13px;
  letter-spacing:.5px;
}
.hero-rule{
  margin:32px auto 0;
  max-width:480px;
  display:flex;
  align-items:center;
  gap:16px;
  color:var(--dungeon-red-bright);
}
.hero-rule span{height:1px;background:#563238;flex:1}
.hero-rule b{font-size:11px}

.menu-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.day-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  background:
    linear-gradient(135deg,#ffffff08 0,transparent 28%),
    var(--dungeon-panel);
  border:1px solid var(--dungeon-line);
  border-radius:20px;
  box-shadow:0 18px 50px #0005,inset 0 1px #ffffff0a;
}
.day-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--dungeon-red),#3b161d);
}
.day-card.friday{
  grid-column:1/-1;
}
.day-card.served{
  opacity:.76;
  background:
    repeating-linear-gradient(135deg,#ffffff02 0,#ffffff02 9px,transparent 9px,transparent 18px),
    #171012;
}
.day-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:24px 26px 20px;
  border-bottom:1px solid #3d282d;
}
.day-number{
  display:inline-block;
  margin:0 0 4px;
  color:var(--dungeon-red-bright);
  font-size:9px;
  font-weight:900;
  letter-spacing:2px;
}
.day-heading h2{
  margin:0;
  color:var(--dungeon-cream);
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:-1px;
}
.day-date{
  margin:4px 0 0;
  color:#947f76;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
}
.day-tag,.status-stamp{
  flex:none;
  margin-top:4px;
  padding:7px 9px;
  border:1px solid #6a3942;
  border-radius:4px;
  color:#d9bfc0;
  background:#2a1419;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  transform:rotate(1.5deg);
}
.status-stamp{
  border-color:#826b51;
  color:#d9c7a5;
  background:#2a2219;
  transform:rotate(-4deg);
}

.meal-list{padding:0 26px 15px}
.meal{
  padding:21px 0 20px;
  border-bottom:1px solid #372328;
}
.meal:last-child{border-bottom:0}
.meal-course{
  margin:0 0 7px;
  color:var(--dungeon-red-bright);
  font-size:9px;
  font-weight:900;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.meal h3{
  margin:0 0 9px;
  color:#f6e5cb;
  font-family:Georgia,'Times New Roman',serif;
  font-size:23px;
  line-height:1.15;
  font-weight:600;
}
.meal p:last-child{
  margin:0;
  color:var(--dungeon-muted);
  font-size:13px;
  line-height:1.7;
}
.featured-meal{
  position:relative;
}
.featured-meal::after{
  content:'◆';
  position:absolute;
  right:0;
  top:25px;
  color:#5d3037;
  font-size:10px;
}

.aftercare{
  margin:24px 0 0;
  padding:44px 28px;
  text-align:center;
  background:linear-gradient(145deg,#211316,#150c0e);
  border:1px solid var(--dungeon-line);
  border-radius:20px;
  position:relative;
  overflow:hidden;
}
.aftercare::before,.aftercare::after{
  content:'';
  position:absolute;
  top:50%;
  width:18%;
  height:1px;
  background:#4b2a30;
}
.aftercare::before{left:0}.aftercare::after{right:0}
.aftercare-mark{color:var(--dungeon-red-bright);font-size:14px;margin-bottom:12px}
.aftercare h2{
  color:var(--dungeon-cream);
  font-family:Georgia,'Times New Roman',serif;
  font-size:38px;
  font-weight:500;
  margin:0 0 12px;
}
.aftercare>p:not(.menu-kicker){
  color:var(--dungeon-muted);
  font-size:14px;
  margin:0 auto 22px;
  max-width:560px;
}
.dungeon-button{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  text-decoration:none;
  background:var(--dungeon-red);
  border:1px solid #c34a56;
  border-radius:6px;
  color:#fff2e0!important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  box-shadow:0 4px 0 #53121b;
}
.dungeon-button:hover{background:#a72534;transform:translateY(-1px)}

.dungeon-footer{
  max-width:1220px;
  border-top-color:#40272c;
  color:#9d8980;
}
.dungeon-footer .public-brand{color:#dbc9b4}
.dungeon-footer a{color:#cdb8a4}

@media(max-width:800px){
  .menu-board{grid-template-columns:1fr}
  .day-card.friday{grid-column:auto}
  .menu-hero{padding-top:58px}
}
@media(max-width:650px){
  .dungeon-header nav{gap:16px;flex-wrap:wrap}
  .menu-main{padding:0 17px 36px}
  .menu-hero{padding:52px 6px 40px}
  .menu-hero h1{font-size:58px;letter-spacing:-2.4px}
  .hero-chain{font-size:58px;top:0}
  .menu-week{font-size:14px}
  .day-heading{padding:20px 19px 17px}
  .day-heading h2{font-size:30px}
  .meal-list{padding:0 19px 10px}
  .meal{padding:18px 0}
  .meal h3{font-size:21px}
  .aftercare{padding:36px 22px}
  .aftercare::before,.aftercare::after{width:9%}
}
@media(prefers-reduced-motion:reduce){
  .dungeon-button:hover{transform:none}
}


.archive-callout{
  margin:0 0 20px;
  padding:22px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:linear-gradient(135deg,#241419,#160d10);
  border:1px solid var(--dungeon-line);
  border-radius:16px;
}
.archive-callout .menu-kicker{margin-bottom:6px}
.archive-callout h2{
  margin:0 0 5px;
  font-family:Georgia,'Times New Roman',serif;
  color:var(--dungeon-cream);
  font-size:25px;
  font-weight:500;
}
.archive-callout p:last-child{
  margin:0;
  color:var(--dungeon-muted);
  font-size:12px;
}
.secondary-dungeon{
  flex:none;
  background:#25171a;
  border-color:#6d434a;
  box-shadow:0 4px 0 #0d0709;
}
.secondary-dungeon:hover{background:#321b20}

.archive-hero{padding-bottom:42px}
.archive-list{
  display:grid;
  gap:14px;
}
.archive-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 26px;
  text-decoration:none;
  background:linear-gradient(135deg,#211316,#160c0f);
  border:1px solid var(--dungeon-line);
  border-radius:18px;
  box-shadow:0 14px 36px #0004;
}
.archive-card:hover{
  border-color:#85505a;
  transform:translateY(-2px);
}
.archive-card h2{
  margin:0 0 8px;
  color:var(--dungeon-cream);
  font-family:Georgia,'Times New Roman',serif;
  font-size:28px;
  font-weight:500;
}
.archive-card p:last-child{
  margin:0;
  color:var(--dungeon-muted);
  font-size:13px;
  line-height:1.6;
}
.archive-arrow{
  flex:none;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #6b3e46;
  border-radius:50%;
  color:#f0d9c0;
  font-size:20px;
}
.current-archive::before{
  content:'CURRENT';
  position:absolute;
  right:74px;
  margin-top:-52px;
  padding:5px 7px;
  border:1px solid #77573f;
  border-radius:3px;
  color:#d7bc90;
  background:#251c13;
  font-size:7px;
  font-weight:900;
  letter-spacing:1px;
}
.archive-card{position:relative}
.archive-aftercare{margin-top:18px}
.archive-copy-banner{
  margin:0 0 18px;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px dashed #73505a;
  border-radius:9px;
  background:#1a1012;
  color:#ad958b;
  font-size:10px;
  letter-spacing:1px;
}
.archive-copy-banner span{
  color:var(--dungeon-gold);
  font-weight:900;
}
.archive-copy-banner a{
  text-decoration:none;
  color:#ead7bd;
  font-weight:800;
  letter-spacing:0;
}

@media(max-width:650px){
  .archive-callout{
    align-items:flex-start;
    flex-direction:column;
  }
  .archive-callout .dungeon-button{width:100%}
  .archive-card{padding:20px;align-items:flex-start}
  .archive-card h2{font-size:23px}
  .current-archive::before{right:18px;margin-top:-45px}
  .archive-copy-banner{align-items:flex-start;flex-direction:column}
}


.archive-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:650px){.archive-actions{width:100%;justify-content:stretch}.archive-actions .dungeon-button{width:100%}}


/* Website 7.4 meal interaction */
.meal-review-card{display:block;color:inherit;text-decoration:none;margin:0 -10px;padding:21px 10px 20px;border-radius:12px;transition:background .12s,transform .12s,box-shadow .12s}
.meal-review-card:hover{background:#ffffff08;transform:translateY(-1px);box-shadow:0 3px 0 #0002}
.meal-review-card:focus-visible{outline:3px solid var(--dungeon-gold);outline-offset:4px}
.meal-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.meal-topline .meal-course{margin:0}
.meal-status{flex:none;padding:5px 9px;border:1px solid #70525a;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.meal-status.upcoming{background:#2b171c;color:#ffd8d9;border-color:#a34e59}
.meal-status.served{background:#1e251a;color:#dcecc6;border-color:#728a5b}
.meal-review-cta{display:inline-flex;margin-top:12px;padding:8px 11px;border:1px solid #6d434a;border-radius:999px;background:#25171a;color:#f4dfc8;font-size:10px;font-weight:900;letter-spacing:.45px;text-transform:uppercase;box-shadow:0 3px 0 #0d0709}
.day-card.day-served::before{background:linear-gradient(90deg,#6d8b56,#354224)}
.day-card.day-upcoming::before{background:linear-gradient(90deg,var(--dungeon-red),#3b161d)}
@media(prefers-reduced-motion:reduce){.meal-review-card{transition:none}.meal-review-card:hover{transform:none}}
