/* Wedding and corporate journeys, version 0.8.11. */
.wedding-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.wedding-service-card { min-width:0; background:#3a3026; }
.wedding-service-image { height:19rem; overflow:hidden; }
.wedding-service-image img { display:block; width:100%; height:100%; object-fit:cover; }
.wedding-service-card:first-child img { object-position:center 78%; }
.wedding-service-copy { padding:clamp(1.5rem,2.5vw,2.5rem); }
.wedding-service-copy > small,.wedding-privileges > div > small { color:#d8bd8e; font-size:.7rem; letter-spacing:.14em; }
.wedding-service-copy h3 { margin:.85rem 0 1.5rem; font-family:var(--xinoble-display); }
.wedding-service-copy ul { display:grid; gap:.9rem; padding:0; margin:0; list-style:none; }
.wedding-service-copy li { padding-top:.9rem; border-top:1px solid #655444; color:#eee2d4; font-size:.95rem; line-height:1.9; }
.wedding-service-note { padding:1rem; margin:1.5rem 0 0; background:#493b2e; color:#eee2d4; font-size:.875rem; line-height:1.9; }
.wedding-service-original { margin-top:1.5rem; border-top:1px solid #655444; }
.wedding-service-original summary { display:flex; justify-content:space-between; align-items:center; min-height:3.5rem; color:#e0c69e; font-size:.875rem; cursor:pointer; }
.wedding-service-original img { display:block; width:min(100%,56rem); height:auto; margin:1rem auto 0; }
.wedding-service-original[open] summary > span,.wedding-menu-original[open] summary > span { transform:rotate(45deg); }
.wedding-privileges { display:grid; grid-template-columns:minmax(13rem,.7fr) minmax(0,2fr); gap:3rem; padding-top:2.5rem; margin-top:2.5rem; border-top:1px solid #655444; }
.wedding-privileges h3 { margin:.85rem 0 0; font-family:var(--xinoble-display); }
.wedding-privileges ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding:0; margin:0; list-style:none; }
.wedding-privileges strong { display:block; margin-bottom:.75rem; font-size:1rem; font-weight:500; color:#ead8b8; }
.wedding-privileges li > span { color:#e2d5c6; font-size:.95rem; line-height:1.9; }
.xinoble-editorial-page .wedding-source-note { margin-block:1.75rem 0; color:#716456; font-size:.875rem; line-height:1.8; }
.xinoble-editorial-page .hub-section--dark .wedding-source-note { color:#d9cbb9; }
.wedding-dish-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--xinoble-card-gap); }
.wedding-dish { min-width:0; margin:0; background:#eee7dc; }
.wedding-dish > div { aspect-ratio:1; overflow:hidden; background:#eee7dc; padding:clamp(.5rem,1vw,1rem); }
.wedding-dish img { display:block; width:100%; height:100%; object-fit:contain; }
.wedding-dish figcaption { padding:1rem 1.25rem; border-top:1px solid #d9c9b4; color:#544333; font-size:1rem; }
.wedding-menu-overview { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; margin-bottom:2rem; background:#c5b49c; border:1px solid #c5b49c; }
.wedding-menu-overview a { display:grid; align-content:center; gap:.85rem; padding:1.35rem; min-height:8rem; background:#f8f1e6; color:#493929; text-decoration:none; }
.wedding-menu-overview a:hover,.wedding-menu-overview a:focus-visible { background:#e8d9c0; }
.wedding-menu-overview strong { font-family:var(--xinoble-display); font-size:clamp(1.3rem,2.1vw,2rem); font-weight:400; }
.wedding-menu-overview small { margin-left:.35rem; font-family:var(--xinoble-body); font-size:.75rem; }
.wedding-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.wedding-menu-card { min-width:0; padding:clamp(1.5rem,3vw,3rem); border:1px solid #c8b69c; background:#fcf7ee; scroll-margin-top:calc(var(--xinoble-header-height) + 1.5rem); }
.wedding-menu-card > header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.25rem; padding-bottom:1.5rem; border-bottom:1px solid #cdbda8; }
.wedding-menu-card h3 { margin:.75rem 0 0; font-family:var(--xinoble-display); }
.wedding-menu-card .xinoble-kicker { margin:0; font-size:.65rem; letter-spacing:.12em; }
.wedding-menu-price { margin:0; color:#86633e; font-family:var(--xinoble-display); font-size:clamp(1.8rem,3vw,2.75rem); line-height:1.15; }
.wedding-menu-price > span { display:block; margin-top:.6rem; color:#716456; font-family:var(--xinoble-body); font-size:.8rem; }
.wedding-menu-groups { display:grid; gap:1.6rem; padding-top:1.5rem; }
.wedding-menu-group h4 { margin:0 0 .8rem; color:#85643f; font-size:1rem; font-weight:500; }
.wedding-menu-group ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.25rem; row-gap:.45rem; padding:0; margin:0; list-style:none; }
.wedding-menu-group li { min-width:0; color:#514638; font-size:.95rem; line-height:1.8; overflow-wrap:anywhere; }
.wedding-menu-original { margin-top:1.8rem; border-top:1px solid #cdbda8; }
.wedding-menu-original summary { display:flex; justify-content:space-between; gap:1rem; min-height:3.25rem; align-items:center; color:#6d5133; cursor:pointer; font-size:.85rem; }
.wedding-menu-original img { display:block; width:100%; height:auto; margin-top:.75rem; }
.wedding-menu-card--signature { grid-column:1/-1; background:#372d23; color:#fff7ec; border-color:#372d23; }
.wedding-menu-card--signature .wedding-menu-groups { grid-template-columns:minmax(0,1fr) minmax(0,1.65fr) minmax(0,1fr); gap:2rem; }
.wedding-menu-card--signature .wedding-menu-group:first-child ul,.wedding-menu-card--signature .wedding-menu-group:last-child ul { grid-template-columns:minmax(0,1fr); }
.wedding-menu-card--signature :is(.wedding-menu-group li,.wedding-menu-price > span) { color:#e6daca; }
.wedding-menu-card--signature :is(.wedding-menu-price,.wedding-menu-group h4,.wedding-menu-original summary) { color:#e0c69e; }
.wedding-menu-card--signature :is(header,.wedding-menu-original) { border-color:#67533e; }
.wedding-menu-footnote { padding:2rem 0 0; margin-top:2rem; border-top:1px solid #c8b69c; }
.wedding-menu-footnote h3 { margin:0 0 1rem; font-family:var(--xinoble-display); }
.wedding-menu-footnote > p { max-width:56rem; color:#716456; line-height:1.85; }
.corporate-event-banner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); min-height:28rem; background:#372d23; color:#fff7ec; }
.corporate-event-banner > div { position:relative; min-height:28rem; }
.corporate-event-banner img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.corporate-event-banner > section { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(1.75rem,4vw,4rem); }
.corporate-event-banner h3 { margin:0 0 1rem; font-family:var(--xinoble-display); }
.corporate-event-banner p:not(.xinoble-kicker) { color:#e2d5c6; font-size:1rem; line-height:1.9; }
.corporate-event-banner .xinoble-button { margin-top:1.5rem; }
.corporate-event-venues { display:grid; gap:1.5rem; margin-top:2rem; }
.corporate-event-venues > article { display:grid; grid-template-columns:minmax(14rem,.65fr) minmax(0,1.35fr); gap:2rem; padding:2rem; background:#fcf7ee; border:1px solid #d0c0a8; }
.corporate-event-venues h3 { margin:0 0 .8rem; font-family:var(--xinoble-display); }
.corporate-event-venues header > p { color:#716456; font-size:.9rem; line-height:1.8; }
.corporate-event-venues dl { display:grid; gap:1rem; margin:0; }
.corporate-event-venues dl > div { display:grid; grid-template-columns:4.5rem minmax(0,1fr); gap:1rem; }
.corporate-event-venues dt { color:#86633e; font-size:.85rem; line-height:1.8; }
.corporate-event-venues dd { margin:0; color:#514638; font-size:.95rem; line-height:1.85; }

@media (max-width:68rem) {
	.wedding-service-grid { grid-template-columns:minmax(0,1fr); }
	.wedding-service-card { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); }
	.wedding-service-image { height:auto; min-height:24rem; }
	.wedding-privileges { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
	.wedding-menu-overview { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.wedding-menu-card--signature .wedding-menu-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.wedding-menu-card--signature .wedding-menu-group:first-child ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.wedding-menu-card--signature .wedding-menu-group--hot { grid-column:1/-1; }
	.wedding-menu-card--signature .wedding-menu-group--dessert { grid-column:1/-1; }
	.wedding-menu-card--signature .wedding-menu-group:last-child ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:48rem) {
	.wedding-service-card,.corporate-event-banner,.corporate-event-venues > article { grid-template-columns:minmax(0,1fr); }
	.wedding-service-image { height:19rem; min-height:0; }
	.wedding-service-copy { padding:1.5rem; }
	.wedding-privileges ul { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
	.wedding-dish-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
	.wedding-dish figcaption { padding:.9rem 1rem; }
	.wedding-menu-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.wedding-menu-overview a:last-child { grid-column:1/-1; }
	.wedding-menu-overview a { min-height:6rem; padding:1rem; }
	.wedding-menu-grid { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
	.wedding-menu-card--signature { grid-column:auto; }
	.wedding-menu-card--signature .wedding-menu-groups { grid-template-columns:minmax(0,1fr); }
	.wedding-menu-group ul { gap:.5rem 1rem; }
	.corporate-event-banner > div { min-height:0; aspect-ratio:16/10; }
	.corporate-event-banner > section { padding:1.5rem; }
	.corporate-event-venues > article { padding:1.5rem; gap:1rem; }
	.corporate-event-venues dl > div { grid-template-columns:minmax(0,1fr); gap:.35rem; }
}
