/* Printed banquet stationery: quiet charcoal on a warm, fibrous sheet. */
:root{--menu-paper:#FFFCF4;--menu-rule:#D8CBAE;--menu-icon:#897448;--menu-shadow:rgba(64,46,20,.085);--speech-paper:#FFFFFF}
.menu-grid{display:block;max-width:920px}
.menu-title{text-align:center;padding:0;margin-bottom:46px}
.menu-title h2{font-size:34px;line-height:1.7}
.menu-title h2 br{display:none}
.menu-title>p:last-of-type{margin-top:17px;font-size:13px}
.menu-title>p:last-of-type br{display:none}
.menu-motif{display:none}
.menu-paper{display:block;background-color:var(--menu-paper);border:0;padding:60px 56px 70px;max-width:710px;margin:auto;box-shadow:0 8px 30px var(--menu-shadow)}
.menu-paper:before{opacity:.14}
.menu-paper:after{display:none}
.menu-paper-top{justify-content:center;gap:24px;font-family:var(--serif);font-size:29px;color:var(--ink);margin:0 0 24px;font-weight:400}
#course-list{width:100%;text-align:center}
.course{padding:29px 0 31px;border:0;position:relative}
.course+.course:before{content:'';display:block;position:absolute;top:0;left:calc(50% - 13px);width:26px;height:1px;background:var(--menu-rule)}
.course-icon{display:block;width:27px;height:27px;margin:0 auto 11px;background:var(--menu-icon);mask:var(--course-icon) center/contain no-repeat}
.course h3{font-family:var(--serif);font-size:11px;letter-spacing:.17em;color:var(--text-secondary);line-height:1.9;margin:0 0 11px}
.course .dish-name{font-family:var(--serif);font-size:17px;line-height:1.95;letter-spacing:.055em;color:var(--ink)}
.dish-line{display:block}
.dish-phrase{display:inline-block;white-space:nowrap}
.course-comments{display:flex;flex-direction:column;align-items:center;gap:9px;margin:23px auto 0;max-width:395px}
.course-comment{display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%;position:relative}
.comment-portrait{width:76px;height:90px;object-fit:contain;object-position:bottom;flex:0 0 76px;filter:url(#portrait-paper-edge)}
.course-comment .speech-bubble{position:relative;padding:11px 18px;background:var(--speech-paper);border:1px solid var(--menu-rule);border-radius:22px;font-family:var(--body);font-size:14px;line-height:1.75;letter-spacing:.015em;text-align:center;max-width:270px;color:var(--ink);box-shadow:0 2px 6px var(--menu-shadow)}
.speech-bubble:before{content:'';position:absolute;left:-6px;top:50%;width:10px;height:10px;background:var(--speech-paper);border-left:1px solid var(--menu-rule);border-bottom:1px solid var(--menu-rule);transform:translateY(-50%) rotate(45deg);border-radius:0 0 0 2px}
.speech-phrase{display:inline-block;white-space:nowrap}
.course-comment.groom{flex-direction:row-reverse;margin-left:0}
.course-comment.groom .speech-bubble:before{left:auto;right:-6px;transform:translateY(-50%) rotate(225deg)}
.course-comment.groom .comment-portrait{height:96px}
.course-comment.groom .speech-bubble{max-width:252px}
.drinks-paper{position:relative;background:var(--menu-paper);padding:48px 50px 52px;max-width:850px;margin:auto;box-shadow:0 8px 30px var(--menu-shadow)}
.drinks-paper:before{content:'';position:absolute;inset:0;background:url('assets/platinum/paper-fiber.jpg') center/512px 300px repeat;opacity:.14;pointer-events:none;mix-blend-mode:multiply}
.drinks-paper>*{position:relative}
.drinks-paper-heading{text-align:center;margin-bottom:35px}
.drinks-paper-heading h3{font-family:var(--serif);font-size:25px;letter-spacing:.3em;font-weight:400;margin:10px 0 4px}
.drinks-paper-heading>p{font-size:11px;color:var(--text-secondary);letter-spacing:.12em}
.drink-heading-icon{display:block;width:30px;height:30px;background:var(--menu-icon);mask:url('assets/menu/champagne.svg') center/contain no-repeat;margin:auto}
.drink-list{grid-template-columns:1fr 1fr;gap:28px 38px;max-width:none}
.drink-list .drink-group{border-bottom:1px solid var(--menu-rule);padding:0 0 20px;min-width:0}
.drink-list h3{font-family:var(--serif);font-size:14px;line-height:1.9;letter-spacing:.09em;color:var(--ink);margin-bottom:8px}
.drink-list p{font-size:12px;line-height:1.95;color:var(--text-secondary)}
.drink-item{display:block;word-break:normal;overflow-wrap:anywhere}
@media(max-width:760px){
 .menu-grid{width:calc(100% - 32px)}
 .menu-title{padding:0 8px;margin-bottom:32px}
 .menu-title h2{font-size:27px;letter-spacing:.08em}
 .menu-title>p:last-of-type{font-size:12px;line-height:2.2}
 .menu-title>p:last-of-type br{display:block}
 .menu-paper{padding:39px 20px 42px}
 .menu-paper-top{font-size:27px;gap:22px;margin-bottom:18px}
 .course{padding:25px 0 28px}
 .course-icon{width:26px;height:26px;margin-bottom:10px}
 .course h3{font-size:11px;margin-bottom:10px}
 .course .dish-name{font-size:15px;letter-spacing:.035em;line-height:1.95}
 .course-comments{margin-top:18px;gap:7px}
 .course-comment{gap:10px}
 .comment-portrait{width:65px;flex-basis:65px;height:82px}
 .course-comment.groom{margin-left:0}
 .course-comment.groom .comment-portrait{height:87px}
 .course-comment .speech-bubble{font-size:14px;padding:14px 12px;max-width:215px}
 .course-comment.groom .speech-bubble{max-width:203px}
 .drinks-paper{padding:35px 24px 38px}
 .drinks-paper-heading{margin-bottom:30px}
 .drink-list{grid-template-columns:1fr;gap:24px}
 .drink-list h3{font-size:14px}
 .drink-list p{font-size:12px;line-height:2.1}
}
@media(max-width:360px){
 .menu-paper{padding-inline:15px}
 .course .dish-name{font-size:14px;letter-spacing:.02em}
 .course-comment{gap:9px}
 .comment-portrait{width:57px;flex-basis:57px;height:75px}
 .course-comment.groom .comment-portrait{height:80px}
 .course-comment .speech-bubble{font-size:14px;padding:13px 10px}
 .drinks-paper{padding-inline:19px}
}
.drink-list .drink-group:last-child{grid-column:1/-1;border-bottom:0;padding-bottom:0}
.drink-group h3 small{font:10px var(--body);letter-spacing:.03em;margin-left:12px;color:var(--text-secondary);white-space:nowrap}
.drink-group:last-child>p{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:5px}
@media(max-width:760px){.drink-group:last-child>p{grid-template-columns:1fr;gap:3px}.drink-group h3 small{font-size:10px}}

/* Keep the heading and wine qualifier in meaningful units on narrow phones. */
.menu-heading-phrase,.drink-qualifier{display:inline-block;white-space:nowrap}
@media(max-width:760px){.menu-title h2 br{display:block}}

/* Banzai sleeves and hands stay inside a wider uncropped portrait box. */
.course-comment.banzai .comment-portrait{width:112px;height:168px;flex-basis:112px;object-fit:contain}
.course-comment.banzai .speech-phrase{display:block}
@media(max-width:760px){.course-comment.banzai .comment-portrait{width:88px;height:132px;flex-basis:88px}}
@media(max-width:360px){.course-comment.banzai .comment-portrait{width:80px;height:120px;flex-basis:80px}}

/* One alpha-derived paper edge, never a chain of translated silhouettes.
   Phrase blocks have no intervening inline line boxes. */
.portrait-filter-defs{position:absolute;overflow:hidden;pointer-events:none}
.course-comment .speech-bubble{flex:0 1 auto;min-width:0;margin:0}
.course-comment.banzai .speech-bubble{padding:17px 18px}
.course-comment.banzai .speech-phrase{line-height:1.75}
@media(max-width:760px){
 .course-comments{max-width:100%}
 .course-comment{gap:12px;width:100%}
 .course-comment.banzai .speech-bubble{padding:14px 11px}
 .course-comment.groom .speech-phrase{display:block}
 .course-comment.groom .speech-bubble wbr{display:none}
 .course-comment.groom .speech-bubble{padding:14px 20px}
}
@media(max-width:360px){
 .course-comment{gap:11px}
 .course-comment.banzai .speech-bubble{padding-inline:10px}
}
