.mhb-opening-night {
	--wine: #64172f;
	--wine2: #35101d;
	--cream: #fbf4e7;
	--paper: #fffdf8;
	--ink: #28201d;
	--gold: #d5a958;
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto 48px;
	color: var(--ink);
	background: var(--paper);
	border: 1px solid #e4d5bf;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 24px 65px rgba(50,25,20,.14);
	font-family: Georgia, "Times New Roman", serif;
}
.mhb-opening-night * { box-sizing: border-box; }
.mhb-opening-night h1, .mhb-opening-night h2, .mhb-opening-night p, .mhb-opening-night figure { margin: 0; }
.mhb-opening-kicker { font: 850 .76rem/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-transform: uppercase; letter-spacing: .18em; }
.mhb-opening-local { min-height: 520px; padding: 72px clamp(25px,8vw,100px); display: flex; flex-direction: column; justify-content: center; color: #fff; text-align: center; background: radial-gradient(circle at 50% 20%,#873553,var(--wine) 48%,var(--wine2)); }
.mhb-opening-local h1 { margin: 12px 0 42px; color: #fff; font-size: clamp(3.2rem,8vw,7.4rem); line-height: .87; letter-spacing: -.055em; }
.mhb-opening-names { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.mhb-opening-names span { padding: 11px 18px; border: 1px solid rgba(255,255,255,.46); border-radius: 999px; background: rgba(255,255,255,.08); font: 750 clamp(.9rem,2vw,1.15rem)/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; opacity: 0; animation: mhb-name-in .48s ease-out forwards; animation-delay: calc(var(--i) * 130ms); }
.mhb-opening-names .mhb-opening-own { color: var(--wine2); background: #fff1c9; border-color: #fff1c9; transform: scale(1.08); }
@keyframes mhb-name-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.mhb-opening-reveal { display: grid; grid-template-columns: 1fr; background: #1d1512; color: #fff; }
.mhb-opening-reveal figure { min-height: 0; aspect-ratio: 2/1; overflow: hidden; }
.mhb-opening-reveal img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mhb-opening-reveal-copy { display: grid; grid-template-columns: .8fr 1.2fr; gap: 42px; align-items: center; width: 100%; padding: 42px clamp(28px,6vw,76px); }
.mhb-opening-reveal-copy .mhb-opening-kicker { grid-column: 1; }
.mhb-opening-reveal h2 { grid-column: 1; margin: 8px 0 0; color: #fff; font-size: clamp(2.7rem,5.2vw,5.2rem); line-height: .91; letter-spacing: -.04em; }
.mhb-opening-menu { grid-column: 2; grid-row: 1/3; display: grid; line-height: 1.25; }
.mhb-opening-menu span { margin-top: 10px; color: #fff; font-size: 1.3rem; font-weight: 750; }
.mhb-opening-menu small { margin-top: 3px; color: #e8ceb1; font: 650 .86rem/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.mhb-opening-check { display: grid; grid-template-columns: .72fr 1.28fr; gap: 48px; align-items: center; padding: 80px clamp(25px,8vw,100px); background: var(--cream); }
.mhb-opening-check h2, .mhb-opening-final h2 { margin-top: 12px; color: var(--wine2); font-size: clamp(2.6rem,5.5vw,5.25rem); line-height: .9; letter-spacing: -.05em; }
.mhb-opening-receipts { position: relative; min-height: 430px; }
.mhb-opening-receipt { position: absolute; width: min(310px,63%); min-height: 370px; padding: 30px 27px 42px; color: #30251f; background-color: #fffdf8; background-image: repeating-linear-gradient(0deg,transparent 0,transparent 29px,rgba(76,56,43,.08) 30px); border: 1px solid #d8cab7; box-shadow: 0 18px 35px rgba(60,32,25,.17); font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.mhb-opening-receipt:after { content: ""; position: absolute; left: 0; right: 0; bottom: -11px; height: 12px; background: linear-gradient(135deg,transparent 6px,#fffdf8 0) 0 0/12px 12px repeat-x; }
.mhb-opening-receipt p { padding-bottom: 13px; border-bottom: 2px dashed #9e8d7c; font: 900 .78rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing: .13em; }
.mhb-opening-receipt strong { display: block; margin: 20px 0 23px; font: 800 1.25rem/1.2 Georgia,"Times New Roman",serif; }
.mhb-opening-receipt span { display: flex; justify-content: space-between; margin: 13px 0; font: 650 .84rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.mhb-opening-receipt span:after { content: "••••"; letter-spacing: .08em; color: #a99785; }
.mhb-opening-receipt b { display: block; margin-top: 28px; padding-top: 17px; border-top: 2px solid #33251f; font: 950 1.15rem/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align: right; }
.mhb-opening-receipt-bistro { left: 1%; top: 34px; transform: rotate(-5deg); }
.mhb-opening-receipt-out { right: 1%; top: 5px; transform: rotate(5deg); }
.mhb-opening-receipt-out b { color: var(--wine); font-size: 2.6rem; }
.mhb-opening-check-stamp { position: absolute; z-index: 2; left: 50%; top: 50%; padding: 14px 18px; color: #fff; background: var(--wine); border: 4px solid #fff; border-radius: 9px; box-shadow: 0 6px 20px rgba(45,17,25,.3); transform: translate(-50%,-35%) rotate(-7deg); font: 950 1.05rem/1.05 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing: .08em; text-align: center; }
.mhb-opening-icons { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: #ddcdb8; }
.mhb-opening-icons article { min-height: 180px; padding: 30px 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: var(--paper); color: var(--wine); }
.mhb-opening-icons svg { width: 56px; height: 56px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.mhb-opening-icons span { font: 850 .86rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align: center; }
.mhb-opening-final { padding: 92px 24px; text-align: center; color: #fff; background: linear-gradient(135deg,var(--wine2),var(--wine)); }
.mhb-opening-final h2 { max-width: 850px; margin: 14px auto 38px; color: #fff; }
.mhb-opening-final-actions { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.mhb-opening-signup { display: inline-flex; min-width: min(360px,100%); min-height: 68px; align-items: center; justify-content: center; padding: 16px 28px; border: 3px solid #fff1c9; border-radius: 999px; color: var(--wine2)!important; background: #fff1c9; font: 950 1.25rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing: .12em; text-decoration: none!important; box-shadow: 0 14px 30px rgba(18,4,9,.32); }
.mhb-opening-signup:hover, .mhb-opening-signup:focus { background: #fff; transform: translateY(-2px); }
.mhb-opening-stories { color: #fff!important; font: 800 .95rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-underline-offset: 5px; }
.mhb-opening-stories:hover, .mhb-opening-stories:focus { color: #fff1c9!important; }
.mhb-opening-night a:focus-visible { outline: 4px solid var(--gold); outline-offset: 4px; }
@media (min-width: 801px) {
	.mhb-opening-night { max-width: 1080px; }
	.mhb-opening-local { min-height: 410px; padding: 52px clamp(25px,6vw,72px); }
	.mhb-opening-local h1 { margin: 10px 0 30px; font-size: clamp(3rem,6.2vw,5.8rem); }
	.mhb-opening-names { gap: 9px; }
	.mhb-opening-names span { padding: 9px 15px; font-size: clamp(.84rem,1.45vw,1rem); }
	.mhb-opening-reveal figure { aspect-ratio: 2.25/1; }
	.mhb-opening-reveal-copy { gap: 32px; padding: 32px clamp(28px,5vw,58px); }
	.mhb-opening-reveal h2 { font-size: clamp(2.5rem,4.4vw,4.2rem); }
	.mhb-opening-menu span { font-size: 1.15rem; }
	.mhb-opening-check { gap: 36px; padding: 58px clamp(25px,6vw,72px); }
	.mhb-opening-check h2, .mhb-opening-final h2 { font-size: clamp(2.5rem,4.5vw,4.2rem); }
	.mhb-opening-receipts { min-height: 350px; }
	.mhb-opening-receipt { width: min(285px,63%); min-height: 305px; padding: 24px 22px 34px; }
	.mhb-opening-receipt strong { margin: 16px 0 18px; font-size: 1.12rem; }
	.mhb-opening-receipt span { margin: 10px 0; }
	.mhb-opening-receipt b { margin-top: 20px; padding-top: 14px; }
	.mhb-opening-receipt-bistro { top: 28px; }
	.mhb-opening-receipt-out b { font-size: 2.25rem; }
	.mhb-opening-icons article { min-height: 138px; padding: 22px 16px; }
	.mhb-opening-icons svg { width: 46px; height: 46px; }
	.mhb-opening-final { padding: 66px 24px; }
	.mhb-opening-final h2 { margin-bottom: 30px; }
}
@media (max-width: 800px) {
	.mhb-opening-night { border-radius: 0; }
	.mhb-opening-reveal-copy { grid-template-columns: 1fr; gap: 18px; padding: 42px 28px 50px; }
	.mhb-opening-reveal-copy .mhb-opening-kicker, .mhb-opening-reveal h2, .mhb-opening-menu { grid-column: 1; grid-row: auto; }
	.mhb-opening-menu { margin-top: 8px; }
	.mhb-opening-check { grid-template-columns: 1fr; gap: 32px; padding-top: 62px; padding-bottom: 62px; }
	.mhb-opening-receipts { width: min(580px,100%); margin: 0 auto; }
	.mhb-opening-icons { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) {
	.mhb-opening-local { min-height: 520px; }
	.mhb-opening-names { gap: 8px; }
	.mhb-opening-names span { padding: 9px 13px; }
	.mhb-opening-reveal figure { aspect-ratio: 1.28/1; }
	.mhb-opening-reveal img { object-position: center center; }
	.mhb-opening-receipts { min-height: 390px; }
	.mhb-opening-receipt { width: 68%; min-height: 338px; padding: 24px 18px 34px; }
	.mhb-opening-receipt strong { font-size: 1.05rem; }
	.mhb-opening-receipt span { font-size: .72rem; }
	.mhb-opening-check-stamp { padding: 11px 13px; font-size: .86rem; }
	.mhb-opening-icons article { min-height: 145px; }
	.mhb-opening-final { padding: 72px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.mhb-opening-names span { opacity: 1; animation: none; }
	.mhb-opening-signup { transition: none; }
}
