/* Real photographed objects, editable lettering, and finite material-specific motion. */
.menu-study:has(.menu-object){min-width:0;padding:0!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;grid-column:1/-1}
.banquet-supper:has(.menu-object){grid-template-columns:minmax(0,1fr)}
.banquet-supper:has(.menu-object)>*{min-width:0}
.event-section.menu-material.menu-object{max-width:760px;container-type:inline-size;--object-ink:#513823;--object-ratio:4/5;color:var(--object-ink)}
.menu-object .menu-object-stage,.menu-object .menu-tile{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:var(--object-ratio);background:#ddd8cd;width:100%;margin:0;transform-style:preserve-3d}
.menu-object .menu-object-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;max-height:none!important;max-width:none!important;display:block;pointer-events:none;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.menu-object-title{position:absolute!important;top:20%;left:22%;right:22%;margin:0!important;padding:0!important;text-align:center;color:var(--object-ink)!important;z-index:2;pointer-events:none}
.menu-object-title>p{display:none}
.menu-object-title h2,.menu-object-intro h2{font:400 clamp(34px,9cqi,68px)/1.1 'Italianno','Cormorant Garamond',Georgia,serif!important;color:inherit!important;letter-spacing:0!important;margin:0!important;text-transform:none!important}
.menu-object-writing{position:absolute;inset:32% 23% 22%;z-index:2;min-height:0;color:var(--object-ink);text-align:center}
.menu-object-page{height:100%;min-height:0}
.menu-object-page[hidden]{display:none!important}
.menu-object-reading{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#88745b60 transparent;padding:2px 5px;box-sizing:border-box;display:grid;align-items:center;min-height:0}
.menu-object-reading:focus-visible,.menu-tile-ink:focus-visible{outline:1px dashed currentColor;outline-offset:-1px}
.menu-object .feast-course{display:block!important;animation:none!important;transform:none!important;opacity:1!important;border:0!important;padding:0!important;text-align:center;color:inherit!important}
.menu-object .feast-course .course-index{display:none!important}
.menu-object .feast-course h3{font:600 clamp(14px,2.7cqi,19px)/1.35 'Cormorant Garamond',Georgia,serif!important;text-transform:uppercase!important;letter-spacing:.1em!important;overflow-wrap:anywhere;margin:0 0 clamp(8px,2cqi,16px)!important;color:inherit!important}
.menu-object .course-dishes{display:grid!important;gap:clamp(8px,1.9cqi,16px)!important}
.menu-object .course-dishes p{font:500 clamp(18px,3.4cqi,26px)/1.3 'Cormorant Garamond',Georgia,serif!important;letter-spacing:0!important;overflow-wrap:anywhere!important;white-space:pre-line!important;margin:0!important;color:inherit!important;text-shadow:none}
.menu-object-signature{position:absolute;left:23%;right:23%;bottom:14%;margin:0!important;color:var(--object-ink)!important;font:italic 400 clamp(15px,2.7cqi,21px)/1.3 'Cormorant Garamond',Georgia,serif!important;text-align:center;z-index:2}
.menu-object-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:14px;align-items:center;max-width:430px;margin:22px auto 0;padding:0 12px;box-sizing:border-box;color:var(--ink,#443b36)}
.menu-object-controls[hidden]{display:none}
.menu-object-controls button{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font:400 24px Georgia;padding:0;cursor:pointer;transition:background .2s,color .2s}
.menu-object-controls button:hover{background:#99856118}
.menu-object-controls button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.menu-object-controls p{display:grid;gap:5px;text-align:center;margin:0!important;font:500 .875rem/1.4 'DM Sans',sans-serif!important;color:inherit!important;overflow-wrap:anywhere}
.menu-object-controls small{font-size:.875rem;font-weight:400;opacity:.8}
.menu-object-light{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 25%,#fffc 47%,#fff2 54%,transparent 72%);mix-blend-mode:soft-light;transform:translateX(-105%)}

/* The material controls the ink, typography and placement. */
[data-menu-object=mirror]{--object-ink:#654c26!important}
[data-menu-object=mirror] .menu-object-title,[data-menu-object=mirror] .menu-object-writing,[data-menu-object=mirror] .menu-object-signature{text-shadow:0 1px #fce2a9,0 -1px #3d2c2140}
[data-menu-object=mirror] .menu-object-light{clip-path:ellipse(35% 43% at 50% 49%)}
[data-menu-object=fan]{--object-ratio:4/3!important;--object-ink:#672d3c!important}
[data-menu-object=fan] .menu-object-title{top:14%;left:32%;right:32%}
[data-menu-object=fan] .menu-object-title h2{font-size:clamp(30px,7cqi,52px)!important}
[data-menu-object=fan] .menu-object-writing{inset:29% 23% 45%}
[data-menu-object=fan] .menu-object-signature{display:none}
.menu-fan-panels{position:absolute;inset:0;pointer-events:none;z-index:1}
.menu-fan-panels>span{position:absolute;inset:0;transform-origin:50% 89%;opacity:0}
[data-menu-object=shell]{--object-ratio:1!important;--object-ink:#43505d!important}
[data-menu-object=shell] .menu-object-title{top:24%;left:27%;right:27%}
[data-menu-object=shell] .menu-object-writing{inset:39% 25% 25%}
[data-menu-object=shell] .menu-object-signature{display:none}
[data-menu-object=shell] .menu-object-writing{text-shadow:0 1px #fff,0 -1px #51787f44}
[data-menu-object=shell] .menu-object-light{background:linear-gradient(110deg,transparent 25%,#f7a8ff75 43%,#b8f4ffa0 55%,transparent 76%);clip-path:ellipse(35% 40% at 50% 50%)}
[data-menu-object=marble]{--object-ink:#695849!important}
[data-menu-object=marble] .menu-object-title{top:18%}
[data-menu-object=marble] .menu-object-writing{inset:30% 20% 20%}
[data-menu-object=marble] .menu-object-title h2{font:500 clamp(30px,7cqi,54px)/1.2 'Cormorant Garamond',Georgia,serif!important;letter-spacing:.14em!important;text-transform:uppercase!important}
[data-menu-object=marble] .course-dishes p,[data-menu-object=marble] h3{text-shadow:-.5px -.7px #3c2f214d,.7px 1px #fff!important}
[data-menu-object=glass-panel]{--object-ink:#355246!important}
[data-menu-object=glass-panel] .menu-object-writing{inset:31% 20% 21%}
[data-menu-object=glass-panel] .course-dishes p{text-shadow:1px 1px #fff,-.4px -.4px #183b2740!important}
[data-menu-object=glass-panel] .menu-object-light{clip-path:inset(7% 10% 10% round 4%);mix-blend-mode:screen}
[data-menu-object=ribbon]{--object-ratio:2/3!important;--object-ink:#77364a!important}
[data-menu-object=ribbon] .menu-object-title{top:20%;left:20%;right:20%}
[data-menu-object=ribbon] .menu-object-writing{inset:31% 23% 23%}
[data-menu-object=ribbon] .menu-object-signature{bottom:18%}
[data-menu-object=ribbon] .feast-course h3{font-style:italic!important;text-transform:none!important;letter-spacing:0!important;font-size:clamp(22px,4cqi,32px)!important}
[data-menu-object=ceramic-tiles]{--object-ratio:1!important;--object-ink:#224e75!important;max-width:1100px!important}
.menu-object-intro{text-align:center;margin:0 0 28px;color:var(--ink,#443b36)}
.menu-object-intro>p{font:500 .875rem/1.5 'DM Sans',sans-serif;letter-spacing:.15em}
.menu-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.menu-tile:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - 20px)/2);justify-self:center}
.menu-tile-ink{position:absolute;inset:19%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:grid;align-items:center;padding:2px;box-sizing:border-box}
.menu-tile-ink h3{font-size:clamp(14px,2.1cqi,18px)!important}
.menu-tile-ink .course-dishes p{font-size:clamp(18px,2.5cqi,25px)!important}
[data-object-mode=spread]{--object-ratio:3/2!important;max-width:1000px!important}
[data-object-mode=spread] .menu-object-title{top:28%;left:11%;right:56%;transform:rotate(-1deg)}
[data-object-mode=spread] .menu-object-title>p{display:block!important;font:500 clamp(14px,1.8cqi,18px)/1.5 'Cormorant Garamond',serif!important;letter-spacing:.04em;margin:0 0 15px!important;color:inherit!important}
[data-object-mode=spread] .menu-object-writing{inset:19% 11% 17% 55%;transform-origin:left center;text-shadow:0 .5px #39271924}
[data-object-mode=spread] .menu-object-signature{left:12%;right:57%;bottom:24%;font-size:clamp(14px,2.2cqi,20px)!important}
[data-object-mode=spread] .course-dishes p{font-size:clamp(18px,2.7cqi,26px)!important}
[data-menu-object=antique-book]{--object-ink:#63442a!important}
[data-menu-object=antique-book] .menu-object-title h2{font:italic 500 clamp(30px,7cqi,60px)/1.1 'Cormorant Garamond',Georgia,serif!important}
[data-menu-object=leaf]{--object-ink:#ffedbd!important}
[data-menu-object=leaf] .menu-object-title{top:21%;left:26%;right:26%}
[data-menu-object=leaf] .menu-object-writing{inset:33% 26% 24%}
[data-menu-object=leaf] .menu-object-signature{bottom:19%}
[data-menu-object=leaf] .course-dishes p{text-shadow:0 1px 2px #082e1a!important}
[data-menu-object=velvet-scroll]{--object-ratio:2/3!important;--object-ink:#f5dca1!important}
[data-menu-object=velvet-scroll] .menu-object-title{top:19%}
[data-menu-object=velvet-scroll] .menu-object-writing{inset:32% 22% 23%}
[data-menu-object=velvet-scroll] .menu-object-signature{bottom:18%}
[data-menu-object=velvet-scroll] .course-dishes p,[data-menu-object=velvet-scroll] h3{text-shadow:0 1px .4px #55351e,0 -.6px .3px #fff4cf!important}
[data-menu-object=vineyard-board]{--object-ink:#492d1c!important}
[data-menu-object=vineyard-board] .menu-object-title{top:19%}
[data-menu-object=vineyard-board] .menu-object-writing{inset:32% 21% 21%}
[data-menu-object=vineyard-board] .menu-object-title h2{font:500 clamp(33px,8cqi,66px)/1.15 'Occasi Sand',cursive!important}
[data-menu-object=vineyard-board] .course-dishes p{text-shadow:0 -1px #49251555,0 1px #ffe6b199!important}
[data-menu-object=garden-plaque]{--object-ink:#655c4d!important}
[data-menu-object=garden-plaque] .menu-object-writing{inset:33% 24% 23% 30%}
[data-menu-object=garden-plaque] .menu-object-title{left:30%;right:24%}
[data-menu-object=garden-plaque] .menu-object-signature{left:30%;right:24%}
[data-menu-object=garden-plaque] .menu-object-title h2{font:400 clamp(32px,7.5cqi,58px)/1.2 'Cormorant Garamond',Georgia,serif!important;letter-spacing:.06em!important}
[data-menu-object=garden-plaque] .course-dishes p,[data-menu-object=garden-plaque] h3{text-shadow:-.6px -.8px #2b281d77,.8px 1px #fffc!important}
[data-menu-object=flower-resin]{--object-ink:#643657!important}
[data-menu-object=flower-resin] .menu-object-writing{inset:32% 23% 24%}
[data-menu-object=flower-resin] .menu-object-signature{bottom:23%}
[data-menu-object=flower-resin] .menu-object-light{clip-path:inset(6% 8%);mix-blend-mode:screen;background:linear-gradient(115deg,transparent 25%,#ffdcf470 44%,#d4eaff90 53%,transparent 69%)}
[data-menu-object=wedding-cake]{--object-ink:#77535b!important}
[data-menu-object=wedding-cake] .menu-object-title{top:17%;left:42%;right:31%}
[data-menu-object=wedding-cake] .menu-object-title h2{font:500 clamp(26px,5.8cqi,48px)/1.1 'Occasi Sand',cursive!important;text-shadow:.7px 1.4px .7px #4c333670,-.5px -.8px #fff5!important}
[data-menu-object=wedding-cake] .menu-object-writing{inset:30% 29% 42% 33%}
[data-menu-object=wedding-cake] .menu-object-signature{display:none}
[data-menu-object=wedding-cake] .course-dishes p{font:500 clamp(21px,3.7cqi,30px)/1.1 'Occasi Sand',cursive!important;text-shadow:.7px 1.4px .7px #4c333660,-.5px -.8px #fff8!important;-webkit-text-stroke:.15px currentColor}
[data-menu-object=wedding-cake] .feast-course h3{text-shadow:.7px 1px .5px #4c33364f,-.5px -.6px #fff8!important;margin-bottom:7px!important}
[data-menu-object=lace-handkerchief]{--object-ink:#5d5c79!important}
[data-menu-object=lace-handkerchief] .menu-object-title{top:23%}
[data-menu-object=lace-handkerchief] .menu-object-writing{inset:35% 25% 26%}
[data-menu-object=lace-handkerchief] .menu-object-signature{bottom:22%;font-style:italic!important}
[data-menu-object=lace-handkerchief] .course-dishes p{text-shadow:.3px .6px .3px #41425444,-.2px -.3px #fff!important}
[data-menu-object=leather-folio]{--object-ink:#452e32!important}
[data-menu-object=leather-folio] .menu-object-title h2{font:500 clamp(27px,6cqi,55px)/1.2 'Cormorant Garamond',Georgia,serif!important;text-transform:uppercase!important;letter-spacing:.09em!important}
[data-menu-object=leather-folio] .feast-course h3{letter-spacing:.14em!important}

/* Material movement runs on entry or a deliberate course change, never endlessly. */
@keyframes object-settle{from{opacity:.5;transform:perspective(1100px) rotateX(7deg) translateY(20px)}to{opacity:1;transform:none}}
@keyframes object-glint{0%{opacity:0;transform:translateX(-100%)}20%{opacity:.9}85%{opacity:.7}100%{opacity:0;transform:translateX(100%)}}
@keyframes object-letter{from{opacity:0;filter:blur(1.2px);transform:translateY(4px)}to{opacity:1;filter:none;transform:none}}
@keyframes object-carve{from{opacity:.1;filter:blur(2px);text-shadow:0 0 transparent}to{opacity:1;filter:none}}
@keyframes object-unroll{from{clip-path:inset(0 0 99% 0);filter:brightness(.8)}to{clip-path:inset(0);filter:none}}
@keyframes object-velvet{from{clip-path:inset(47% 0);filter:brightness(.7)}to{clip-path:inset(0);filter:none}}
@keyframes object-leaf{0%{transform:rotate(-1.4deg) scale(1.015)}65%{transform:rotate(.3deg) scale(1.003)}100%{transform:none}}
@keyframes object-stitch{from{clip-path:inset(0 100% 0 0);opacity:.3}to{clip-path:inset(0);opacity:1}}
@keyframes object-turn{from{opacity:0;transform:perspective(900px) rotateY(-70deg);filter:brightness(.65)}to{opacity:1;transform:none;filter:none}}
@keyframes object-fan{0%{opacity:0;transform:rotate(var(--fan-close))}15%{opacity:1}90%{opacity:1;transform:rotate(0)}100%{opacity:0;transform:rotate(0)}}
@keyframes object-fan-base{0%,83%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) .menu-object .menu-object-stage.section-in-view{animation:object-settle 1.2s cubic-bezier(.2,.7,.2,1) both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) .menu-object .section-in-view .menu-object-writing{animation:object-letter 1s .5s both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) :is([data-menu-object=mirror],[data-menu-object=shell],[data-menu-object=glass-panel],[data-menu-object=flower-resin]) .section-in-view .menu-object-light{animation:object-glint 3.8s .7s ease-in-out both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) :is([data-menu-object=marble],[data-menu-object=garden-plaque],[data-menu-object=vineyard-board]) .section-in-view .menu-object-writing{animation-name:object-carve;animation-duration:1.8s}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-menu-object=ribbon] .section-in-view{animation:object-unroll 1.8s cubic-bezier(.2,.6,.2,1) both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-menu-object=velvet-scroll] .section-in-view{animation:object-velvet 1.8s cubic-bezier(.2,.6,.2,1) both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-menu-object=leaf] .section-in-view>.menu-object-photo{animation:object-leaf 3s ease-out both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) :is([data-menu-object=lace-handkerchief],[data-menu-object=wedding-cake],[data-menu-object=velvet-scroll]) .section-in-view .menu-object-writing{animation:object-stitch 1.8s .65s both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-object-mode=spread] .object-page-turn .menu-object-writing{animation:object-turn .75s cubic-bezier(.2,.6,.2,1) both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) .menu-object .object-course-enter{animation:object-letter .65s both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-menu-object=fan] .section-in-view .menu-fan-panels>span{animation:object-fan 1.55s cubic-bezier(.2,.65,.2,1) both;animation-delay:var(--fan-delay)}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-menu-object=fan] .section-in-view>.menu-object-photo{animation:object-fan-base 1.8s both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) [data-menu-object=fan] .section-in-view :is(.menu-object-title,.menu-object-writing){animation:object-letter .8s 1.25s both}
 body:not(.motion-paused):not([data-motion=paused]):not([data-site-motion=paused]) .menu-tile.section-in-view{animation:object-settle 1.1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--tile),4)*130ms)}
}
@media(prefers-reduced-motion:reduce){.menu-object *{animation:none!important;filter:none!important;clip-path:none!important}.menu-fan-panels{display:none}}
body.motion-paused .menu-object *,body[data-motion=paused] .menu-object *,body[data-site-motion=paused] .menu-object *{animation:none!important;filter:none!important;clip-path:none!important}
body.motion-paused .menu-fan-panels,body[data-motion=paused] .menu-fan-panels,body[data-site-motion=paused] .menu-fan-panels{display:none}

.menu-material-picker{margin:12px 0 26px!important;border:1px solid #d9dfd0!important;border-radius:14px;overflow:hidden}
.menu-material-picker>summary{padding:15px 18px!important;font:500 .95rem/1.4 'DM Sans',sans-serif!important;cursor:pointer;color:#35432e}
.menu-material-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;padding:12px!important}
.menu-material-options button{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:2px solid transparent;border-radius:8px;background:#f6f4ec;overflow:hidden;cursor:pointer;color:#2d362b}
.menu-material-options button[aria-pressed=true]{border-color:#5d704a;box-shadow:0 0 0 1px #5d704a}
.menu-material-options button:focus-visible{outline:3px solid #5d704a;outline-offset:2px}
.menu-material-options img{width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;background:#ebe5db;display:block}
.menu-material-options span{font:500 .875rem/1.4 'DM Sans',sans-serif;padding:10px 7px;display:block}
@media(max-width:600px){
 :is(div,section):has(>.menu-study .menu-object){grid-template-columns:minmax(0,1fr)!important;min-width:0}
 .menu-study:has(.menu-object){position:relative;left:50%;width:calc(100vw - 48px)!important;max-width:none!important;transform:translateX(-50%)!important;margin-inline:0!important}
 .menu-object-title h2{font-size:clamp(34px,10cqi,55px)!important}
 .menu-object .menu-object-signature{font-size:14px!important}
 .menu-tile-grid{grid-template-columns:1fr;gap:22px}
 .menu-tile:last-child:nth-child(odd){width:100%}
 [data-object-mode=spread] .menu-object-title{top:26%;left:10%;right:57%}
 [data-object-mode=spread] .menu-object-title h2{font-size:clamp(27px,7.5cqi,44px)!important}
 [data-object-mode=spread] .menu-object-title>p{font-size:14px!important;line-height:1.3!important;margin-bottom:10px!important}
 [data-object-mode=spread] .menu-object-writing{inset:16% 9% 14% 54%}
 [data-object-mode=spread] .menu-object-signature{display:none}
 [data-menu-object=fan] .menu-object-title h2{font-size:clamp(26px,7cqi,36px)!important}
 [data-menu-object=wedding-cake] .menu-object-title h2{font-size:clamp(25px,6.2cqi,38px)!important}
 .menu-object-controls{gap:10px;margin-top:18px}
}

.menu-object-scroll-note{font:400 .875rem/1.5 "DM Sans",sans-serif!important;color:var(--ink,#443b36)!important;text-align:center;max-width:400px;padding:0 12px;margin:14px auto 0!important}.menu-object-scroll-note[hidden]{display:none!important}

.menu-study:has(.menu-object),#studio-menu:has(.menu-object){scroll-margin-top:100px}

/* The surrounding layout may put light theme ink on cream paper. Give menu
   navigation its own predictable pair of colours across every theme/layout. */
.menu-object .menu-object-controls{color:#493d34;background:#fbf6ed;border:1px solid #93836f40;border-radius:38px;padding:12px 14px}
.menu-object :is(.feast-note,.menu-object-scroll-note){color:#493d34!important;background:#fbf6ed;border-radius:8px;padding:12px 16px!important}
.menu-object .menu-object-intro{color:#493d34;background:#fbf6ed;border-radius:8px;padding:20px;margin-bottom:20px}
.menu-object .menu-object-intro p{color:inherit!important}
