/* Restrained botanical decoration sits behind every interactive surface. */
body{isolation:isolate;background:radial-gradient(ellipse at 50% 0,#fffdf7 0,#fbf7ee 52%,#f4edde 100%);padding-bottom:55px}
.garden-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.garden-engraving{position:absolute;width:300px;height:300px;background:url("assets/chrysanthemum.svg") center/contain no-repeat;opacity:.09}
.garden-engraving-left{top:110px;left:calc(50% - 740px);transform:rotate(-22deg)}
.garden-engraving-right{bottom:7%;right:calc(50% - 740px);transform:rotate(21deg)}
.petal-field{position:absolute;inset:0;overflow:hidden}
.floating-petal{position:absolute;top:-100px;left:var(--left);width:var(--size);height:var(--size);opacity:0;animation:petal-fall var(--duration) var(--delay) linear infinite;will-change:transform}
.floating-petal img{display:block;width:100%;height:100%;object-fit:contain;animation:petal-turn var(--turn-duration) var(--delay) ease-in-out infinite alternate}
@keyframes petal-fall{0%{transform:translate3d(0,-10vh,0);opacity:0}8%{opacity:var(--opacity)}45%{transform:translate3d(var(--drift),50vh,0)}90%{opacity:var(--opacity)}100%{transform:translate3d(calc(var(--drift) * -.4),calc(100vh + 160px),0);opacity:0}}
@keyframes petal-turn{0%{transform:rotate(-24deg) scaleX(.78)}100%{transform:rotate(78deg) scaleX(1)}}
html[data-motion=off] .floating-petal,html[data-motion=off] .floating-petal img,html[data-page-hidden=true] .floating-petal,html[data-page-hidden=true] .floating-petal img{animation-play-state:paused}
html[data-motion=off] .petal-field{visibility:hidden}
.masthead{background:linear-gradient(110deg,#490b18,#751b2c 50%,#490b18);border-bottom:2px solid #b9965d}
.hero{position:relative;background:transparent;padding-top:38px}
.hero:before{content:"";position:absolute;inset:15px 10px 66px;border:1px solid #ba985b4a;pointer-events:none;z-index:-1}
.hero:after{content:"";position:absolute;inset:20px 15px 71px;border:1px solid #ba985b24;pointer-events:none;z-index:-1}
.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700}
h1{max-width:620px;margin-top:13px}
.hero-caption p{font-size:13px;letter-spacing:.045em;margin-bottom:30px}
.gold-rule{width:30px;position:relative;background:linear-gradient(90deg,transparent,#a9844d,transparent)}
.gold-rule:after{content:"";position:absolute;width:3px;height:3px;border:1px solid #a9844d;left:12px;top:-2px;transform:rotate(45deg)}
.hero-bottom{border-top-color:#b797644d;padding-top:18px}
.menu-tools{background:rgba(251,248,242,.97);box-shadow:0 5px 15px #533b2005}
.search-box{border-radius:6px;box-shadow:0 2px 8px #4d311b05}
.filter-button[aria-pressed=true]{background:linear-gradient(120deg,#761c2e,#550b19);box-shadow:0 2px 6px #55111f12}
.booth-heading{padding-bottom:12px;border-bottom:1px solid #b997623b}
.booth-heading h2{letter-spacing:-.025em}
.booth-monogram{box-shadow:inset 0 0 0 3px var(--wine),inset 0 0 0 4px #c5a772;background:linear-gradient(145deg,#822539,#550c1a);font-weight:700}
.menu-card{border-color:#d9c7a64f;box-shadow:0 4px 18px #64482808}
.menu-info{background:linear-gradient(125deg,#fffefa,#fdfbf6)}
.menu-name{letter-spacing:-.025em;font-weight:700}
.menu-price{letter-spacing:-.025em}
.footer{border-top-color:#b9976247}
.motion-toggle{position:fixed;z-index:15;bottom:calc(15px + env(safe-area-inset-bottom));left:16px;display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 12px;border:1px solid #ba985b7d;border-radius:24px;background:#fffdf5f5;color:#6e5235;box-shadow:0 2px 10px #55331a0c;font-size:10px;font-weight:700}
.motion-toggle svg{width:13px;height:13px;stroke-width:2}
.motion-toggle .play-symbol{display:none}
.motion-toggle[aria-pressed=false] .pause-symbol{display:none}
.motion-toggle[aria-pressed=false] .play-symbol{display:block}
@media(max-width:640px){.hero{padding-top:30px}.hero:before{inset:12px 9px 54px}.hero:after{inset:16px 13px 58px}.hero-caption p{font-size:11px;margin-bottom:25px}.hero-caption{gap:8px}h1{margin-top:10px}.eyebrow{font-size:11px}.garden-engraving{width:210px;height:210px;opacity:.08}.garden-engraving-left{left:-135px;top:15%}.garden-engraving-right{right:-145px;bottom:15%}.booth-heading{gap:10px}.booth-heading h2{line-height:1.5}.motion-toggle{left:12px;font-size:10px}.menu-price{line-height:1.35}.hero-bottom{padding-top:14px}}
@media(prefers-reduced-motion:reduce){.floating-petal{display:none;animation:none}.floating-petal img{animation:none}.motion-toggle{display:none}html{scroll-behavior:auto}}
.menu-card{position:relative}
.menu-open{background:transparent;color:#86643b;padding:12px 0 0;font-size:10px;display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;text-align:left;font-weight:700}
.menu-open:after{content:"";position:absolute;inset:0;border-radius:inherit}
.menu-open:focus-visible:after{outline:3px solid var(--gold);outline-offset:-3px}
.menu-card:focus-within{box-shadow:0 4px 20px #64482818}
.menu-dialog{width:min(440px,calc(100% - 32px));padding:0;border:1px solid #b9965d;border-radius:14px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);color:var(--ink);box-shadow:0 20px 90px #260b1c44}
.menu-dialog::backdrop{background:#260b1cc4}
.detail-close{position:sticky;display:block;z-index:2;top:12px;margin:12px 12px -56px auto;width:44px;height:44px;background:#fffaf3f2;border:1px solid #d1ba95;border-radius:50%;font-size:27px;color:var(--wine)}
.detail-photo{position:relative;aspect-ratio:4/3;background:#f3ecdf;overflow:hidden}
.detail-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.detail-content{padding:24px}
.detail-booth{color:#85643f;font-size:12px;margin:0 0 10px}
.detail-content h2{font-size:22px;line-height:1.5;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.detail-price{font-size:27px;font-weight:700;color:var(--wine);margin:18px 0 22px}
.detail-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}
.detail-return{margin-top:10px;background:var(--wine);color:#fff9ee;border-radius:6px;min-height:46px;width:100%;font-size:13px}
.dialog-open{overflow:hidden}
.privacy-note{flex-basis:100%;margin-top:8px;font-size:10px;line-height:1.8;max-width:660px}
.privacy-note summary{cursor:pointer;width:fit-content;min-height:28px}
.privacy-note p{margin:7px 0}
.privacy-note button{background:transparent;padding:8px 0;min-height:40px;text-decoration:underline;color:var(--wine);font-size:11px}
@media(hover:hover){.menu-card:hover{border-color:#bea16b;box-shadow:0 6px 22px #64482812}}

/* Temporary images are visibly identified; approved vendor images hide these labels. */
.photo-status{position:absolute;top:9px;left:9px;padding:5px 8px;border-radius:4px;border:1px solid #d8c293;background:#44202af0;color:#fff8ea;font-size:10px;font-weight:700;line-height:1.2;box-shadow:0 1px 4px #0002}
.sample-photo-note{margin:0 0 23px;padding:12px 14px;border:1px solid #d9c8a8;border-radius:8px;background:#f4ecdd;color:#61513e;font-size:12px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.sample-photo-note strong{display:block;color:#6e1022;font-size:12px;margin-bottom:2px}
.sample-photo-note[hidden],.sample-detail-note[hidden]{display:none}
.sample-detail-note{padding:11px 12px;border-radius:6px;background:#f4ecdd;color:#6a512d!important;font-size:12px!important}
.compact .photo-status{top:5px;left:5px;font-size:9px;padding:4px 5px}
.detail-photo .photo-status{top:13px;left:13px;font-size:12px;padding:6px 10px}
