:root {
  --black: #0d0d0f;
  --ink: #16151a;
  --white: #fffafc;
  --muted: #c8c2c7;
  --pink: #ed76c9;
  --hot: #ff248f;
  --violet: #9f42ff;
  --aqua: #65e7e1;
  --yellow: #ffd95a;
  --line: rgba(255,255,255,.16);
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--white);
  background: var(--black);
  font-family: "DM Sans", system-ui, sans-serif;
  line-height: 1.55;
}
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 999; padding: .7rem 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
  padding: .65rem max(1.2rem, calc((100vw - var(--max)) / 2));
  background: rgba(13,13,15,.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.brand { width: 205px; line-height: 0; }
.brand img { width: 100%; height: 54px; object-fit: cover; object-position: center; }
.main-nav { display: flex; align-items: center; gap: 1rem; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.main-nav a { text-decoration: none; }
.main-nav a:hover { color: var(--pink); }
.nav-ticket, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .8rem 1.25rem;
  color: #0b090c !important;
  background: var(--pink);
  border: 1px solid var(--pink);
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.button:hover, .nav-ticket:hover { background: #fff; border-color: #fff; }
.button.secondary { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.55); }
.button.secondary:hover { color: #0b090c !important; background: #fff; }
.button.disabled { color: #aaa !important; background: #242328; border-color: #3a383e; cursor: default; }
.menu-toggle { display: none; color: #fff; background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: .55rem .9rem; font: inherit; }

.hero {
  min-height: 74vh;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 7rem) 1.2rem 4.5rem;
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
}
.eyebrow { margin: 0 0 1rem; color: var(--aqua); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { font-family: "Oswald", Impact, sans-serif; line-height: .94; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(4.6rem, 10vw, 9.4rem); letter-spacing: -.045em; }
h2 { margin: 0 0 1.1rem; font-size: clamp(2.6rem, 5.6vw, 5.5rem); letter-spacing: -.025em; }
h3 { margin: 0 0 .65rem; font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.hero-copy { max-width: 660px; }
.hero-copy .lead { max-width: 600px; margin: 1.5rem 0 2rem; color: #e1dbe0; font-size: clamp(1.05rem, 1.7vw, 1.35rem); }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.type-stack span { display: block; }
.type-stack .pink { color: var(--pink); }
.type-stack .outline { color: transparent; -webkit-text-stroke: 1px var(--white); }

.silent-stage {
  position: relative;
  overflow: hidden;
  min-height: 540px;
  border: 1px solid rgba(237,118,201,.55);
  border-radius: 1.25rem;
  background: #151419;
}
.silent-stage-main { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.silent-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(4,3,7,.94) 100%); }
.silent-stage-inset { position: absolute; z-index: 2; top: 1.2rem; right: 1.2rem; width: 42%; border: 3px solid var(--white); border-radius: .8rem; box-shadow: 0 16px 42px rgba(0,0,0,.52); transform: rotate(3deg); }
.silent-stage-copy { position: absolute; z-index: 3; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; }
.silent-stage p { margin: 1rem 0 0; font-size: 1.1rem; }
.silent-stage p strong { color: var(--aqua); text-transform: uppercase; letter-spacing: .08em; }
.channel-cloud { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.channel-cloud span, .silent-facts span { padding: .5rem .75rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.photo-slot {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  border: 1px solid rgba(237,118,201,.65);
  border-radius: 1.2rem;
  background:
    linear-gradient(135deg, rgba(237,118,201,.22), transparent 45%),
    linear-gradient(315deg, rgba(101,231,225,.14), transparent 52%),
    #17151a;
}
.photo-slot::before { content: ""; position: absolute; inset: 20px; border: 1px dashed rgba(255,255,255,.25); border-radius: .8rem; }
.slot-label { position: absolute; left: 2.1rem; right: 2.1rem; bottom: 2rem; }
.slot-label strong { display: block; max-width: 480px; font-family: "Oswald", sans-serif; font-size: clamp(1.7rem, 3.5vw, 3.5rem); line-height: 1; text-transform: uppercase; }
.slot-label span { display: block; margin-top: .8rem; color: var(--muted); font-size: .86rem; }
.mini-slot { min-height: 290px; }

.section { padding: clamp(4rem, 8vw, 8rem) max(1.2rem, calc((100vw - var(--max)) / 2)); }
.section.alt { background: var(--white); color: var(--black); }
.section.alt .eyebrow { color: #8d146b; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.section-head p { max-width: 500px; margin: 0; color: #817b80; }
.intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 6vw, 7rem); align-items: center; }
.intro-grid p { font-size: 1.08rem; }

.event-grid, .experience-grid, .order-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.event-card, .experience-card, .order-card { position: relative; min-height: 330px; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.event-card { display: flex; flex-direction: column; justify-content: space-between; }
.event-card .number { color: var(--pink); font-family: "Oswald", sans-serif; font-size: 4.4rem; line-height: 1; }
.event-card p, .experience-card p, .order-card p { color: var(--muted); }
.text-link { font-weight: 800; color: var(--pink); text-transform: uppercase; text-decoration: none; letter-spacing: .04em; }
.text-link:hover { color: #fff; }
.experience-card { min-height: 390px; overflow: hidden; }
.experience-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -70px; bottom: -70px; border: 1px solid currentColor; border-radius: 50%; opacity: .25; }
.experience-card:nth-child(2) { color: var(--aqua); }
.experience-card:nth-child(3) { color: var(--yellow); }
.experience-card p { color: #d3cdd2; }
.order-card { min-height: 260px; }

.page-hero { padding: clamp(4rem, 8vw, 8rem) max(1.2rem, calc((100vw - var(--max)) / 2)) 3.5rem; border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 1050px; font-size: clamp(4rem, 9vw, 8.2rem); }
.page-hero p { max-width: 720px; color: var(--muted); font-size: 1.15rem; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.detail-card { padding: 2rem; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.detail-card ul { padding-left: 1.2rem; }
.calendar-shell { padding: 1rem; border: 1px solid var(--line); border-radius: 1.2rem; background: #151419; }
.calendar-row { display: grid; grid-template-columns: 110px 1fr auto; gap: 1.5rem; align-items: center; padding: 1.4rem .5rem; border-bottom: 1px solid var(--line); }
.calendar-row:last-child { border-bottom: 0; }
.calendar-row .when { color: var(--aqua); font-weight: 800; text-transform: uppercase; }
.calendar-row h3 { margin: 0 0 .25rem; font-family: "DM Sans", sans-serif; font-size: 1.1rem; letter-spacing: 0; }
.calendar-row p { margin: 0; color: var(--muted); font-size: .9rem; }
.ticket-note { margin-top: 1rem; color: var(--muted); font-size: .86rem; }
.calendar-hero { background: radial-gradient(circle at 82% 35%, rgba(159,66,255,.22), transparent 32%); }
.calendar-section { background: #070609; }
.calendar-toolbar { display: grid; grid-template-columns: auto 1fr auto; gap: 1.2rem; align-items: center; margin-bottom: 1.5rem; }
.calendar-toolbar h2 { margin-bottom: 0; }
.calendar-arrow { width: 54px; height: 54px; color: var(--white); background: #17151a; border: 1px solid var(--line); border-radius: 50%; font: 800 1.35rem/1 "DM Sans",sans-serif; cursor: pointer; }
.calendar-arrow:hover { color: var(--black); background: var(--pink); border-color: var(--pink); }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7,1fr); gap: 1px; margin-bottom: 1px; color: var(--muted); background: var(--line); border: 1px solid var(--line); }
.calendar-weekdays span { padding: .7rem .8rem; background: #111014; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.event-calendar-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.calendar-day { min-height: 205px; padding: .75rem; background: #121116; }
.calendar-day.is-empty { background: #0b0a0d; }
.calendar-day.is-today { box-shadow: inset 0 0 0 2px var(--aqua); }
.calendar-date { display: flex; justify-content: space-between; align-items: center; margin-bottom: .65rem; }
.calendar-date strong { color: #ece5e9; font-family: "Oswald",sans-serif; font-size: 1.45rem; line-height: 1; }
.mobile-weekday { display: none; color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.calendar-event { display: block; margin-top: .4rem; padding: .55rem .6rem; color: var(--white); background: rgba(237,118,201,.13); border-left: 3px solid var(--pink); border-radius: .35rem; text-decoration: none; }
.calendar-event:hover { background: rgba(237,118,201,.25); }
.calendar-event span, .calendar-event b { display: block; }
.calendar-event span { color: #ddd4da; font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.calendar-event b { margin-top: .1rem; font-size: .72rem; line-height: 1.2; }
.calendar-event.stage { background: rgba(101,231,225,.11); border-left-color: var(--aqua); }
.calendar-event.spotlight { background: rgba(255,217,90,.11); border-left-color: var(--yellow); }
.calendar-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 1.2rem; color: var(--muted); font-size: .78rem; font-weight: 700; }
.calendar-legend > span { display: inline-flex; align-items: center; gap: .4rem; }
.legend-dot { width: .7rem; height: .7rem; border-radius: 50%; background: var(--pink); }
.legend-dot.stage-dot { background: var(--aqua); }
.legend-dot.spotlight-dot { background: var(--yellow); }
.calendar-today { margin-left: auto; padding: .55rem .8rem; color: var(--white); background: transparent; border: 1px solid var(--line); border-radius: 999px; font: inherit; cursor: pointer; }
.calendar-today:hover { color: var(--black); background: var(--white); }
.calendar-section .ticket-note { margin-top: 1.5rem; }
.calendar-special-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.calendar-special-grid a { display: flex; flex-direction: column; min-height: 180px; justify-content: end; padding: 1.4rem; color: var(--black); background: #f4eef1; border-top: 4px solid #8d146b; text-decoration: none; }
.calendar-special-grid a:nth-child(2) { background: #e9fafa; border-top-color: #257b78; }
.calendar-special-grid a:nth-child(3) { background: #fff3c8; border-top-color: #9b7300; }
.calendar-special-grid a:nth-child(4) { background: #ffd4ea; border-top-color: #e33491; }
.calendar-special-grid strong { color: #6f686d; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.calendar-special-grid span { margin-top: .5rem; font-family: "Oswald",sans-serif; font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1; text-transform: uppercase; }
.calendar-special-grid a:hover { transform: translateY(-3px); }

@media (max-width: 1200px) {
  .calendar-special-grid { grid-template-columns: repeat(2,1fr); }
}

.poster-wall { position: relative; min-height: 570px; }
.poster-wall .event-poster { position: absolute; width: 43%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: .75rem; box-shadow: 0 24px 70px rgba(0,0,0,.55); border: 1px solid rgba(255,255,255,.2); }
.poster-wall .poster-1 { left: 5%; top: 3%; transform: rotate(-7deg); z-index: 3; }
.poster-wall .poster-2 { right: 8%; top: 0; transform: rotate(6deg); z-index: 2; }
.poster-wall .poster-3 { left: 10%; bottom: 0; transform: rotate(4deg); z-index: 1; }
.poster-wall .poster-4 { right: 5%; bottom: 2%; transform: rotate(-5deg); z-index: 4; }
.poster-card { padding: 0; overflow: hidden; min-height: 0; }
.poster-link { display: block; aspect-ratio: 4 / 5; overflow: hidden; }
.event-poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.event-card-body { padding: 1.35rem; }
.event-card-body h3 { margin-top: .25rem; }
.card-schedule { margin: 0 0 .4rem; color: var(--aqua) !important; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.full-event-grid { grid-template-columns: repeat(4, 1fr); }
.drag-reel-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem,7vw,8rem); align-items: center; background: radial-gradient(circle at 82% 36%, rgba(159,66,255,.2), transparent 38%); }
.drag-reel-copy > p:not(.eyebrow) { max-width: 560px; color: var(--muted); font-size: 1.08rem; }
.drag-reel-note { display: inline-flex; flex-direction: column; gap: .15rem; margin-top: 1.4rem; padding: .85rem 1rem; border-left: 3px solid var(--pink); background: rgba(255,255,255,.045); }
.drag-reel-note strong { color: var(--white); text-transform: uppercase; letter-spacing: .04em; }
.drag-reel-note span { color: var(--muted); font-size: .84rem; }
.drag-reel-frame { position: relative; justify-self: center; width: min(520px,100%); margin: 0; padding: .7rem; border: 1px solid rgba(237,118,201,.58); border-radius: 1.35rem; background: linear-gradient(145deg, rgba(237,118,201,.18), rgba(101,231,225,.08)); box-shadow: 0 28px 85px rgba(0,0,0,.52); transform: rotate(1deg); }
.drag-reel-frame::before { content: ""; position: absolute; inset: -9px 10px 10px -9px; z-index: -1; border: 1px solid rgba(101,231,225,.55); border-radius: 1.35rem; }
.drag-reel-frame video { display: block; width: 100%; max-height: 720px; aspect-ratio: 9/16; object-fit: cover; border-radius: .85rem; background: #050407; }
.drag-reel-frame figcaption { position: absolute; left: 1.45rem; top: 1.45rem; padding: .5rem .7rem; color: #fff; background: rgba(7,6,9,.8); border-radius: .45rem; font-size: .76rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; backdrop-filter: blur(8px); pointer-events: none; }
.drag-events-section .section-head p { color: #716b70; }
.dark-link:hover { color: #6f1552; }
.menu-teasers { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.menu-teasers article { padding: 1.5rem; border-top: 3px solid var(--hot); background: #f4eef1; }
.menu-teasers span { font-family: "Oswald",sans-serif; color: #8d146b; font-size: 3rem; }
.menu-teasers p { color: #5f5a5d; }
.food-home .section-head { align-items: end; }
.food-home-grid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 230px; gap: 1rem; margin-bottom: 1rem; }
.food-home-grid figure { position: relative; overflow: hidden; grid-column: span 5; margin: 0; border-radius: 1rem; background: #ddd4d9; }
.food-home-grid .food-home-lead { grid-column: span 7; grid-row: span 2; }
.food-home-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.food-home-grid figure:hover img { transform: scale(1.025); }
.food-home-grid figcaption, .food-gallery figcaption { position: absolute; left: .85rem; bottom: .8rem; padding: .5rem .7rem; color: #fff; background: rgba(7,6,9,.8); border-radius: .45rem; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; backdrop-filter: blur(8px); }
.silent-promo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,6vw,6rem); align-items: center; background: radial-gradient(circle at 12% 50%, rgba(159,66,255,.22), transparent 38%); }
.silent-promo img { width: 100%; min-height: 480px; object-fit: cover; border-radius: 1rem; }
.photo-frame { position: relative; }
.photo-frame::before { content: ""; position: absolute; inset: -10px 10px 10px -10px; z-index: -1; border: 1px solid var(--pink); border-radius: 1rem; }
.silent-facts { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0 1.6rem; }
.hours-note, .coming-soon-note { margin: 2rem 0 0; color: #5f5a5d; }
.coming-soon-note { color: var(--muted); font-size: .9rem; }
.atmosphere-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem,6vw,6rem); align-items: center; background: #070609; }
.atmosphere-copy p:last-child { max-width: 520px; color: var(--muted); font-size: 1.05rem; }
.atmosphere-media { min-height: 550px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 1rem; }
.atmosphere-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 1rem; }
.atmosphere-media img:last-child { object-position: center; }
.visit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,8vw,8rem); align-items: center; }
.visit-facts { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.visit-facts div { display: flex; justify-content: space-between; gap: 2rem; padding: 1.6rem; background: var(--ink); }
.visit-facts strong { color: var(--pink); font-family: "Oswald",sans-serif; font-size: 1.6rem; text-transform: uppercase; }
.visit-facts span { text-align: right; color: var(--muted); }
.order-strip { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.order-strip > div:first-child { max-width: 700px; }
.menu-page-hero { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,6vw,6rem); align-items: center; }
.menu-page-hero h1 { font-size: clamp(4rem,8vw,8rem); }
.menu-hero-collage { min-height: 570px; display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 1rem; }
.menu-hero-collage img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 1rem; }
.menu-hero-collage .menu-hero-main { grid-row: span 2; }
.food-gallery-section { background: radial-gradient(circle at 18% 20%, rgba(237,118,201,.17), transparent 30%); }
.food-gallery { display: grid; grid-template-columns: repeat(4,1fr); grid-auto-rows: 275px; gap: 1rem; }
.food-gallery figure { position: relative; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.food-gallery .food-gallery-wide { grid-column: span 2; }
.food-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cocktail-section { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem,6vw,6rem); align-items: center; background: #070609; }
.cocktail-intro p:last-child { max-width: 500px; color: var(--muted); }
.cocktail-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 245px; gap: 1rem; }
.cocktail-gallery figure { overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.cocktail-gallery .cocktail-tall { grid-row: span 2; }
.cocktail-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service-details { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.service-details span { padding: .65rem .9rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .9rem; }
.service-details strong { color: var(--white); }
.menu-layout { columns: 2; column-gap: 3rem; }
.menu-group { break-inside: avoid; margin: 0 0 4rem; }
.menu-group h2 { font-size: clamp(2.7rem,4.5vw,4.5rem); }
.menu-item { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(0,0,0,.15); }
.menu-item h3 { margin: 0; font-family: "DM Sans",sans-serif; font-size: 1.03rem; text-transform: none; }
.menu-item p { margin: .3rem 0 0; color: #716b70; font-size: .86rem; }
.menu-item strong { color: #8d146b; white-space: nowrap; }
.menu-disclaimer { padding-top: 2rem; border-top: 1px solid rgba(0,0,0,.18); color: #716b70; }
.merch-hero { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(2rem,6vw,6rem); align-items: center; max-width: var(--max); margin: 0 auto; padding: clamp(3.5rem,7vw,7rem) 1.2rem; }
.merch-hero h1 { font-size: clamp(4rem,8vw,8rem); }
.merch-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 1.4rem 0 2rem; color: var(--muted); font-size: 1.1rem; }
.merch-hero-photo { position: relative; }
.merch-hero-photo img { display: block; width: 100%; min-height: 540px; max-height: 680px; object-fit: cover; border: 1px solid rgba(237,118,201,.5); border-radius: 1.2rem; }
.merch-color-key { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; flex-wrap: wrap; gap: .45rem; padding: .7rem; background: rgba(7,6,9,.8); border-radius: .7rem; backdrop-filter: blur(8px); }
.swatch { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .55rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.swatch::before { content: ""; width: .75rem; height: .75rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }
.swatch.black { color: #bbb; }
.swatch.yellow { color: #dfff00; }
.swatch.orange { color: #ff6b1a; }
.swatch.pink { color: #ff4bc1; }
.merch-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.merch-card { min-height: 285px; padding: 1.6rem; border: 1px solid rgba(0,0,0,.15); border-radius: 1rem; background: #f4eef1; }
.merch-card:nth-child(4n+2) { background: #fff3c8; }
.merch-card:nth-child(4n+3) { background: #e9fafa; }
.merch-card:nth-child(4) { background: #eee3ff; }
.merch-card:nth-child(5) { background: #ffe2f0; }
.merch-card:nth-child(6) { background: #e3f5dc; }
.merch-card h3 { margin-top: 3.3rem; }
.merch-card p { color: #625d61; }
.merch-type { color: #8d146b; font-size: .74rem; font-weight: 900; letter-spacing: .16em; }
.merch-buy { background: radial-gradient(circle at 75% 30%, rgba(159,66,255,.2), transparent 34%); }
.merch-buy > div:first-child { max-width: 820px; }
.merch-buy > div:first-child p:last-child { color: var(--muted); font-size: 1.05rem; }
.merch-buy-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 2.5rem 0; background: var(--line); border: 1px solid var(--line); }
.merch-buy-steps div { display: flex; align-items: center; gap: 1rem; padding: 1.5rem; background: var(--ink); }
.merch-buy-steps strong { color: var(--pink); font-family: "Oswald",sans-serif; font-size: 2rem; }
.merch-buy-steps span { font-weight: 700; }
.silent-hero { position: relative; padding-top: 3rem; }
.silent-hero-photo { position: relative; width: min(920px,100%); margin-bottom: 2.5rem; }
.silent-hero-photo > img:first-child { display: block; width: 100%; min-height: 430px; max-height: 620px; object-fit: cover; border-radius: 1rem; }
.silent-sign-inset { position: absolute; right: -3%; bottom: -8%; width: min(280px,32%); aspect-ratio: 4/3; object-fit: cover; border: 4px solid var(--black); border-radius: .8rem; box-shadow: 0 18px 50px rgba(0,0,0,.6); transform: rotate(2deg); }
.silent-gallery-section { background: radial-gradient(circle at 75% 20%, rgba(255,36,143,.16), transparent 32%); }
.silent-gallery { display: grid; grid-template-columns: repeat(4,1fr); grid-auto-rows: 250px; gap: 1rem; }
.silent-gallery figure { position: relative; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.silent-gallery img, .silent-gallery video { width: 100%; height: 100%; object-fit: cover; display: block; }
.silent-gallery .gallery-wide { grid-column: span 2; }
.silent-gallery .gallery-tall { grid-row: span 2; }
.silent-gallery .gallery-video { grid-column: span 2; }
.silent-gallery figcaption { position: absolute; left: .9rem; right: .9rem; bottom: .8rem; padding: .55rem .7rem; color: #fff; background: rgba(7,6,9,.78); border-radius: .5rem; font-size: .78rem; font-weight: 700; backdrop-filter: blur(8px); }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.faq-grid details { padding: 1.2rem 1.3rem; border: 1px solid rgba(0,0,0,.17); border-radius: .75rem; background: #f8f2f5; }
.faq-grid summary { cursor: pointer; font-weight: 800; }
.faq-grid p { color: #5f5a5d; }
.event-detail-hero { display: grid; grid-template-columns: 1fr minmax(320px,500px); gap: clamp(2rem,7vw,8rem); align-items: center; max-width: var(--max); margin: 0 auto; padding: clamp(3.5rem,7vw,7rem) 1.2rem; }
.event-detail-hero h1 { font-size: clamp(4rem,8vw,8rem); }
.event-detail-hero .detail-copy > p:not(.eyebrow):not(.schedule-big) { max-width: 650px; color: var(--muted); font-size: 1.1rem; }
.detail-poster { border-radius: 1rem; box-shadow: 0 26px 80px rgba(0,0,0,.52); }
.schedule-big { color: var(--aqua); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.light-card { padding: 2rem; border: 1px solid rgba(0,0,0,.15); border-radius: 1rem; background: #f7f1f4; }
.light-card ul { padding-left: 1.2rem; }

.menu-switcher {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 1.2rem 1.2rem;
  background: var(--line);
  border: 1px solid var(--line);
}
.menu-switcher a { display: flex; flex-direction: column; gap: .25rem; padding: 1.2rem 1.35rem; background: #151419; text-decoration: none; }
.menu-switcher a:hover, .menu-switcher a.active { background: var(--pink); color: var(--black); }
.menu-switcher strong { font-family: "Oswald",sans-serif; font-size: 1.45rem; text-transform: uppercase; }
.menu-switcher span { color: var(--muted); font-size: .82rem; }
.menu-switcher a:hover span, .menu-switcher a.active span { color: #34232e; }
.brunch-hero { border-bottom: 0; }
.gluten-free-note { display: inline-flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: 1.5rem; padding: .85rem 1rem; color: var(--black); background: var(--aqua); border-radius: .7rem; }
.gluten-free-note strong { text-transform: uppercase; }
.brunch-posters { background: radial-gradient(circle at 50% 10%, rgba(237,118,201,.18), transparent 38%); }
.brunch-poster-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem,3vw,2.5rem); align-items: start; }
.brunch-poster-grid a { overflow: hidden; border: 1px solid rgba(237,118,201,.55); border-radius: 1rem; box-shadow: 0 24px 70px rgba(0,0,0,.38); }
.brunch-poster-grid img { display: block; width: 100%; height: auto; }
.brunch-item-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
.brunch-item-grid article { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1.15rem 0; border-top: 1px solid rgba(0,0,0,.16); }
.brunch-item-grid h3 { margin: 0; font-family: "DM Sans",sans-serif; font-size: 1.04rem; text-transform: none; }
.brunch-item-grid p { margin: .35rem 0 0; color: #6f686d; font-size: .88rem; }
.brunch-item-grid article > strong { color: #8d146b; font-size: 1.05rem; }
.brunch-addons { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1.1rem 1.25rem; color: #fff; background: #8d146b; border-radius: .75rem; text-transform: uppercase; }
.drinks-hero { background: radial-gradient(circle at 85% 30%, rgba(159,66,255,.24), transparent 30%); border-bottom: 0; }
.drink-roadmap { background: #070609; }
.drink-category-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.drink-category-grid article { min-height: 260px; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.drink-category-grid span { display: block; margin-bottom: 2.5rem; color: var(--pink); font-family: "Oswald",sans-serif; font-size: 3rem; line-height: 1; }
.drink-category-grid p { color: var(--muted); }
.drink-category-grid article:nth-child(4n+2) span { color: var(--aqua); }
.drink-category-grid article:nth-child(4n+3) span { color: var(--yellow); }
.drink-category-grid article:nth-child(4n) span { color: #c787ff; }
.drink-category-grid article.complete { border-color: var(--pink); box-shadow: inset 0 0 0 1px rgba(237,118,201,.25); }
.drink-category-grid article.complete::after { content: "MENU READY"; display: inline-block; margin-top: 1rem; padding: .35rem .55rem; color: var(--black); background: var(--aqua); border-radius: 999px; font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.drink-category-grid article.in-progress small, .work-note { display: inline-block; margin-top: 1rem; padding: .4rem .65rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.work-note { margin-top: .75rem; border-color: rgba(0,0,0,.18); color: #716b70; }
.slutty-sodas-section { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,6vw,6rem); align-items: start; }
.slutty-sodas-title { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.slutty-sodas-title h2 { color: #8d146b; }
.slutty-sodas-title > strong { color: #8d146b; font-family: "Oswald",sans-serif; font-size: clamp(3.2rem,6vw,5.5rem); line-height: .9; }
.slutty-sodas-upcharge { margin: 0 0 2rem; padding: .8rem 1rem; color: #fff; background: #8d146b; border-radius: .65rem; font-weight: 800; }
.slutty-soda-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.slutty-soda-list article { padding: .8rem 0; border-top: 1px solid rgba(0,0,0,.15); }
.slutty-soda-list h3 { margin: 0 0 .3rem; font-family: "DM Sans",sans-serif; font-size: 1rem; text-transform: none; }
.slutty-soda-list p { margin: 0; color: #6f686d; font-size: .84rem; }
.energy-note { color: #6f686d; font-size: .82rem; }
.slutty-sodas-poster { display: block; position: sticky; top: 96px; }
.slutty-sodas-poster img { display: block; width: 100%; border: 1px solid rgba(0,0,0,.16); border-radius: 1rem; box-shadow: 0 24px 65px rgba(0,0,0,.23); }
.brunch-drinks-feature { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,6vw,6rem); align-items: center; }
.brunch-drinks-feature > div p:not(.eyebrow) { max-width: 560px; color: var(--muted); font-size: 1.05rem; }
.brunch-drink-poster { display: block; max-width: 610px; margin-left: auto; }
.brunch-drink-poster img { display: block; width: 100%; border: 1px solid rgba(0,0,0,.16); border-radius: 1rem; box-shadow: 0 22px 55px rgba(0,0,0,.2); }

.about-hero {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 7rem) 1.2rem;
}
.about-hero h1 { font-size: clamp(4.8rem, 10vw, 9rem); }
.about-lead { max-width: 620px; margin: 1.5rem 0 2rem; color: var(--muted); font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.about-lead strong { display: block; margin-bottom: .55rem; color: var(--white); font-size: 1.18em; }
.about-hero-photo { position: relative; min-height: 610px; }
.about-hero-photo img { display: block; width: 100%; height: 100%; min-height: 610px; object-fit: cover; object-position: 58% center; border: 1px solid rgba(237,118,201,.5); border-radius: 1.2rem; }
.about-location { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; align-items: center; gap: 1rem; padding: .8rem 1rem; background: rgba(7,6,9,.82); border: 1px solid rgba(255,255,255,.18); border-radius: .75rem; backdrop-filter: blur(10px); }
.about-location strong { color: var(--pink); font-family: "Oswald",sans-serif; font-size: 2rem; line-height: 1; }
.about-location span { font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.about-story { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.about-story-heading h2 { max-width: 780px; }
.about-story-copy p { color: #5f5a5d; font-size: 1.08rem; }
.about-definition { position: relative; overflow: hidden; }
.about-definition::after { content: "KIKI"; position: absolute; right: -1.5rem; bottom: -2.7rem; color: rgba(141,20,107,.055); font-family: "Oswald",sans-serif; font-size: clamp(9rem,22vw,22rem); font-weight: 700; line-height: .8; pointer-events: none; }
.about-definition > * { position: relative; z-index: 1; }
.about-name-line { margin: 1.5rem 0 0; color: #8d146b; font-family: "Oswald",sans-serif; font-size: clamp(1.8rem,3.2vw,3rem); font-weight: 700; line-height: 1; text-transform: uppercase; }
.about-story-copy strong { color: var(--black); }
.about-pillar-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.about-pillar-grid article { min-height: 350px; display: flex; flex-direction: column; padding: 1.7rem; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.about-pillar-grid article:nth-child(2) { border-color: rgba(101,231,225,.42); }
.about-pillar-grid article:nth-child(3) { border-color: rgba(255,217,90,.42); }
.about-pillar-grid span { margin-bottom: 3.5rem; color: var(--pink); font-family: "Oswald",sans-serif; font-size: 4rem; line-height: 1; }
.about-pillar-grid article:nth-child(2) span { color: var(--aqua); }
.about-pillar-grid article:nth-child(3) span { color: var(--yellow); }
.about-pillar-grid p { color: var(--muted); }
.about-pillar-grid .text-link { margin-top: auto; }
.about-photo-story { display: grid; grid-template-columns: 1.4fr .8fr .8fr; grid-auto-rows: 440px; gap: 1rem; padding: 0 max(1.2rem, calc((100vw - var(--max)) / 2)) clamp(4rem,8vw,8rem); }
.about-photo-story figure { position: relative; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.about-photo-story img { display: block; width: 100%; height: 100%; object-fit: cover; }
.about-photo-story figcaption { position: absolute; left: .85rem; bottom: .8rem; padding: .5rem .7rem; color: #fff; background: rgba(7,6,9,.8); border-radius: .45rem; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; backdrop-filter: blur(8px); }
.about-community { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,6vw,6rem); align-items: center; background: radial-gradient(circle at 80% 30%, rgba(237,118,201,.18), transparent 36%); }
.about-community-photo img { display: block; width: 100%; min-height: 500px; max-height: 650px; object-fit: cover; border-radius: 1rem; }
.about-community > div:last-child > p:not(.eyebrow) { max-width: 580px; color: var(--muted); font-size: 1.08rem; }
.about-community-callout { padding: 1.3rem 0 0 1.3rem; border-left: 3px solid var(--pink); color: var(--white) !important; font-weight: 700; }
.about-visit { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem,8vw,8rem); align-items: center; }
.about-visit-copy > p:not(.eyebrow) { max-width: 560px; color: #5f5a5d; }
.about-dark-button { color: #fff !important; background: var(--black); border-color: var(--black); }
.about-dark-button:hover { color: #fff !important; background: #8d146b; border-color: #8d146b; }
.about-hours { display: grid; gap: 1px; background: rgba(0,0,0,.18); border: 1px solid rgba(0,0,0,.18); }
.about-hours > div { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; padding: 1.6rem; background: #f6eff3; }
.about-hours strong { color: #8d146b; font-family: "Oswald",sans-serif; font-size: 1.6rem; text-transform: uppercase; }
.about-hours span { color: #5f5a5d; }
.about-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding-top: 0; background: linear-gradient(90deg, transparent 50%, var(--line) 50%, var(--line) calc(50% + 1px), transparent calc(50% + 1px)); }
.about-contact > div { padding-top: clamp(4rem,8vw,8rem); }
.about-contact > div:last-child { padding-left: clamp(2rem,6vw,6rem); }
.about-contact h2 { font-size: clamp(2.6rem,4.7vw,4.6rem); }
.about-contact p:last-child { color: var(--muted); font-size: 1.08rem; }
.about-contact a { text-decoration-color: rgba(237,118,201,.55); text-underline-offset: .2em; }

.memories-hero { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,6vw,6rem); align-items: center; max-width: var(--max); margin: 0 auto; padding: clamp(3.5rem,7vw,7rem) 1.2rem; }
.memories-hero h1 { max-width: 650px; font-size: clamp(4.2rem,8vw,7.8rem); }
.memories-hero-copy > p:not(.eyebrow) { max-width: 580px; margin: 1.4rem 0 2rem; color: var(--muted); font-size: 1.12rem; }
.memories-hero-collage { min-height: 650px; display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 1fr 1fr; gap: 1rem; transform: rotate(.4deg); }
.memories-hero-collage img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; border: 1px solid rgba(237,118,201,.45); border-radius: 1rem; }
.memories-hero-collage .memory-hero-main { grid-row: span 2; }
.memories-intro { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(2rem,7vw,8rem); align-items: end; }
.memories-intro p { color: #5f5a5d; font-size: 1.08rem; }
.memory-wall-section { background: radial-gradient(circle at 12% 15%, rgba(237,118,201,.18), transparent 28%), #070609; }
.memory-wall { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 250px; gap: 1rem; }
.memory-wall figure { position: relative; overflow: hidden; grid-column: span 3; margin: 0; border: 1px solid var(--line); border-radius: 1rem; background: #151419; }
.memory-wall figure.memory-wide { grid-column: span 6; }
.memory-wall figure.memory-tall { grid-row: span 2; }
.memory-wall a { display: block; width: 100%; height: 100%; }
.memory-wall img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
.memory-wall figure:hover img { transform: scale(1.025); filter: saturate(1.1); }
.memory-wall figcaption, .moving-memory-grid figcaption { position: absolute; left: .85rem; bottom: .8rem; padding: .5rem .7rem; color: #fff; background: rgba(7,6,9,.8); border-radius: .45rem; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; backdrop-filter: blur(8px); pointer-events: none; }
.moving-memories { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem,6vw,6rem); align-items: center; }
.moving-memories-copy p:last-child { max-width: 500px; color: #5f5a5d; font-size: 1.06rem; }
.moving-memory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.moving-memory-grid figure { position: relative; overflow: hidden; margin: 0; border: 1px solid rgba(0,0,0,.17); border-radius: 1rem; background: #111; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.moving-memory-grid video { display: block; width: 100%; height: 570px; object-fit: cover; background: #050407; }
.memory-cta { text-align: center; background: radial-gradient(circle at 50% 25%, rgba(159,66,255,.22), transparent 34%); }
.memory-cta h2 { max-width: 900px; margin-inline: auto; }
.memory-cta > p:not(.eyebrow) { color: var(--muted); font-size: 1.12rem; }
.memory-cta .actions { justify-content: center; margin-top: 1.8rem; }

.site-footer { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 2rem; padding: 4rem max(1.2rem, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); color: var(--muted); }
.site-footer img { width: 210px; height: 90px; object-fit: cover; }
.site-footer strong { color: #fff; }
.site-footer a { display: block; margin-top: .35rem; text-decoration: none; }
.site-footer a:hover { color: var(--pink); }
.social-links { display: flex; flex-wrap: wrap; gap: .8rem; }
.draft-note { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: .78rem; }

@media (max-width: 900px) {
  .calendar-special-grid { grid-template-columns: repeat(2,1fr); }
  .menu-toggle { display: block; }
  .main-nav { position: absolute; left: 0; right: 0; top: 78px; display: none; flex-direction: column; align-items: stretch; padding: 1rem 1.2rem 1.5rem; background: var(--black); border-bottom: 1px solid var(--line); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: .7rem 0; }
  .nav-ticket { margin-top: .4rem; }
  .hero, .intro-grid { grid-template-columns: 1fr; }
  .hero { padding-top: 3.5rem; }
  .silent-stage { min-height: 470px; }
  .hero-visual { order: -1; }
  .photo-slot { min-height: 390px; }
  .event-grid, .experience-grid, .order-grid { grid-template-columns: 1fr 1fr; }
  .full-event-grid { grid-template-columns: 1fr 1fr; }
  .poster-wall { min-height: 500px; }
  .silent-promo, .visit-grid, .event-detail-hero, .merch-hero, .about-hero, .about-story, .about-community, .about-visit, .brunch-drinks-feature, .slutty-sodas-section, .drag-reel-section, .memories-hero, .memories-intro, .moving-memories { grid-template-columns: 1fr; }
  .drink-category-grid { grid-template-columns: 1fr 1fr; }
  .brunch-drink-poster { margin-left: 0; }
  .slutty-sodas-poster { position: static; max-width: 640px; }
  .about-hero-photo { min-height: 520px; }
  .about-hero-photo img { min-height: 520px; }
  .about-pillar-grid { grid-template-columns: 1fr; }
  .about-pillar-grid article { min-height: 280px; }
  .about-photo-story { grid-template-columns: 1fr 1fr; grid-auto-rows: 360px; }
  .about-photo-story .about-photo-wide { grid-column: 1 / -1; }
  .merch-grid { grid-template-columns: 1fr 1fr; }
  .atmosphere-section { grid-template-columns: 1fr; }
  .atmosphere-media { min-height: 460px; }
  .silent-gallery { grid-template-columns: repeat(2,1fr); }
  .event-detail-hero > div:last-child { max-width: 520px; }
  .order-strip { display: block; }
  .menu-page-hero, .cocktail-section { grid-template-columns: 1fr; }
  .menu-hero-collage { min-height: 520px; }
  .food-gallery { grid-template-columns: repeat(2,1fr); }
  .menu-layout { columns: 1; }
  .detail-grid { grid-template-columns: 1fr; }
  .calendar-row { grid-template-columns: 1fr; gap: .65rem; }
  .calendar-row .button { justify-self: start; }
  .calendar-day { min-height: 150px; padding: .55rem; }
  .calendar-event { padding: .45rem; }
  .site-footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .brand { width: 160px; }
  h1 { font-size: clamp(4rem, 21vw, 6.4rem); }
  .hero { min-height: auto; padding-top: 2rem; }
  .silent-stage { min-height: 430px; padding: 0; }
  .silent-stage-inset { width: 48%; }
  .silent-stage-copy { left: 1rem; right: 1rem; bottom: 1rem; }
  .channel-cloud span:nth-child(n+6) { display: none; }
  .photo-slot { min-height: 310px; }
  .poster-wall { min-height: 390px; }
  .poster-wall .event-poster { width: 46%; }
  .event-grid, .experience-grid, .order-grid, .full-event-grid, .faq-grid, .menu-teasers, .merch-grid, .merch-buy-steps { grid-template-columns: 1fr; }
  .merch-hero-photo img { min-height: 380px; }
  .food-home-grid { grid-template-columns: 1fr; grid-auto-rows: 280px; }
  .food-home-grid figure, .food-home-grid .food-home-lead { grid-column: auto; grid-row: auto; }
  .menu-hero-collage { min-height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 190px; }
  .menu-hero-collage .menu-hero-main { grid-column: 1 / -1; grid-row: auto; }
  .food-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .food-gallery .food-gallery-wide { grid-column: auto; }
  .cocktail-gallery { grid-template-columns: 1fr; grid-auto-rows: 310px; }
  .cocktail-gallery .cocktail-tall { grid-row: auto; }
  .atmosphere-media { min-height: 620px; grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .silent-hero-photo > img:first-child { min-height: 300px; }
  .silent-sign-inset { right: .6rem; bottom: .6rem; width: 42%; }
  .silent-gallery { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .silent-gallery .gallery-wide, .silent-gallery .gallery-video { grid-column: auto; }
  .silent-gallery .gallery-tall { grid-row: auto; }
  .about-hero { padding-top: 2.4rem; }
  .about-hero-photo, .about-hero-photo img { min-height: 410px; }
  .about-photo-story { grid-template-columns: 1fr; grid-auto-rows: 310px; }
  .about-photo-story .about-photo-wide { grid-column: auto; }
  .about-community-photo img { min-height: 380px; }
  .about-hours > div { grid-template-columns: 1fr; }
  .about-contact { grid-template-columns: 1fr; background: none; }
  .about-contact > div:last-child { padding-left: 0; border-top: 1px solid var(--line); }
  .memories-hero { padding-top: 2.4rem; }
  .memories-hero-collage { min-height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 380px 220px; transform: none; }
  .memories-hero-collage .memory-hero-main { grid-column: 1 / -1; grid-row: auto; }
  .memory-wall { grid-template-columns: 1fr 1fr; grid-auto-rows: 300px; }
  .memory-wall figure, .memory-wall figure.memory-wide { grid-column: auto; }
  .memory-wall figure.memory-tall { grid-row: auto; }
  .moving-memory-grid { grid-template-columns: 1fr; }
  .moving-memory-grid video { height: 540px; }
  .menu-switcher { grid-template-columns: 1fr; }
  .calendar-weekdays { display: none; }
  .event-calendar-grid { grid-template-columns: 1fr; gap: .7rem; background: transparent; border: 0; }
  .calendar-day { display: none; min-height: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .75rem; }
  .calendar-day.has-events, .calendar-day.is-today { display: block; }
  .calendar-day.is-empty { display: none; }
  .mobile-weekday { display: inline; }
  .calendar-event { padding: .7rem .8rem; }
  .calendar-event b { font-size: .88rem; }
  .calendar-legend { align-items: flex-start; }
  .calendar-today { width: 100%; margin-left: 0; }
  .calendar-special-grid { grid-template-columns: 1fr; }
  .menu-switcher a { padding: .9rem 1rem; }
  .brunch-poster-grid, .brunch-item-grid, .drink-category-grid { grid-template-columns: 1fr; }
  .brunch-addons { flex-direction: column; }
  .drag-reel-frame { width: min(430px,100%); transform: none; }
  .slutty-soda-list { grid-template-columns: 1fr; }
  .section-head { display: block; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer .draft-note { grid-column: auto; }
}
