:root{--bg:#fcf8ee;--card:#fbf4e4;--room:#f8efd8;--line:#e6d4a3;--gold:#b4913a;--gold-soft:#e9d9ad;--ink:#2f2b22;--muted:#8b8170;--dark:#3a3a2e;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Montserrat", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.eyebrow{font:500 11px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0}.top{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:20px 40px 16px;display:grid}.brand{align-items:baseline;gap:14px;display:flex}.brand h1{font:italic 400 44px/1 var(--serif);letter-spacing:-.01em;margin:0}.brand span{font:italic 400 20px var(--serif);color:var(--muted)}.date,.count{font:500 11px var(--sans);letter-spacing:.35em;text-transform:uppercase;margin:0}.date{color:var(--gold)}.count{color:var(--muted);text-align:right}.info{flex-wrap:wrap;justify-content:center;gap:10px;padding:0 40px 20px;display:flex}.info li{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:10px 20px;font-size:18px}.info strong{font:600 10px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-right:8px}.go{align-items:center;gap:8px;display:flex}.go a{background:var(--bg);border:1px solid var(--line);font:500 11px var(--sans);letter-spacing:.08em;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;transition:border-color .2s;display:inline-flex}.go a:hover{border-color:var(--gold)}.go svg{width:22px;height:22px}.layout{grid-template:"plan search""plan detail"1fr/minmax(0,5fr) minmax(0,7fr);column-gap:32px;max-width:1500px;margin:0 auto;padding:0 40px 32px;display:grid}.plan{grid-area:plan}.search{grid-area:search}.detail{grid-area:detail}.plan,.search,.detail{background:var(--card);border:1px solid var(--line)}.plan{border-radius:36px;padding:28px 28px 18px}.search{z-index:5;border-bottom:0;border-radius:36px 36px 0 0;padding:30px 26px 0;position:relative}.detail{border-top:0;border-radius:0 0 36px 36px;padding:0 26px 30px}.detail:before{content:"";background:var(--line);height:1px;margin:24px 0 22px;display:block}.field{margin-top:12px;position:relative}.field svg{fill:none;width:19px;stroke:var(--gold);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:18px;translate:0 -50%}#q{border:1px solid var(--line);background:var(--bg);width:100%;height:54px;font:400 21px var(--serif);color:var(--ink);-webkit-appearance:none;border-radius:999px;outline:none;padding:0 20px 0 50px;transition:border-color .2s,box-shadow .2s}#q::placeholder{color:var(--muted);opacity:.8;font-style:italic}#q:focus{border-color:var(--gold);box-shadow:0 0 0 4px #b4913a1f}.results{border:1px solid var(--line);background:#fffdf7;border-radius:20px;max-height:60vh;padding:6px;position:absolute;top:calc(100% + 6px);left:26px;right:26px;overflow-y:auto;box-shadow:0 18px 40px -16px #503c1440}.results button{border-radius:14px;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:13px 16px;font-size:20px;display:flex}.results button:hover,.results button:focus-visible{background:var(--room);outline:none}.results em{font:500 10px var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--gold);white-space:nowrap;font-style:normal}.results .empty{color:var(--muted);padding:14px 16px;font-size:18px;font-style:italic}.view{animation:.35s both in}@keyframes in{0%{opacity:0;translate:0 6px}}.back{padding:4px 0;display:inline-block}.detail h2{font:italic 500 40px/1.1 var(--serif);margin:18px 0 6px}.detail h2+.eyebrow{color:var(--muted);letter-spacing:.28em}.rule{font:italic 400 19px/1.35 var(--serif);color:var(--muted);margin:14px 0 0}.guests{columns:2;column-gap:40px;margin-top:26px}.guests li{break-inside:avoid;border-radius:12px;align-items:center;gap:14px;width:100%;padding:12px 10px;font-size:22px;transition:background .2s;display:flex}.guests li:before{content:"";background:var(--gold);border-radius:50%;flex:none;width:6px;height:6px}.guests li.hit{background:var(--dark);color:#fff}.guests li.hit:before{background:var(--gold-soft)}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px;display:grid}.card{border:1px solid var(--line);background:var(--bg);border-radius:20px;grid-template-columns:1fr auto;grid-template-areas:"name num""sub num";align-items:center;padding:16px 20px;transition:border-color .2s,transform .2s;display:grid}.card:hover{border-color:var(--gold);transform:translateY(-1px)}.cname{font:italic 500 24px var(--serif);grid-area:name}.csub{font:500 10px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);grid-area:sub;margin-top:4px}.cnum{font:500 28px var(--serif);color:var(--gold);grid-area:num}#map{width:100%;height:auto;max-height:calc(100dvh - 190px);margin:0 auto;display:block;overflow:visible}.room{fill:var(--room);stroke:#cdb26c;stroke-width:1.4px}.guide{stroke:var(--line);stroke-dasharray:2 4;stroke-width:.8px}.brick{stroke:#d9c286;stroke-width:.7px;fill:none}.wall{fill:#efe1b9}.stage{fill:var(--room);stroke:#cdb26c;stroke-width:1.2px}.door{fill:var(--card)}.entrance{font:500 8px var(--sans);letter-spacing:.3em;fill:var(--gold);text-anchor:middle}.table{cursor:pointer;outline:none;transition:opacity .3s}.top-surface{fill:var(--room);stroke:var(--line);stroke-width:1.2px;transition:fill .3s,stroke .3s}.table:hover .top-surface,.table:focus-visible .top-surface{stroke:var(--gold)}.tname{font:italic 400 11px var(--serif);fill:#a8987a;text-anchor:middle;transition:fill .3s}.tcap{font:500 6px var(--sans);letter-spacing:.1em;fill:#c8b88f;text-anchor:middle;transition:fill .3s}.chair{fill:var(--gold-soft);transition:fill .3s}.free{fill:none;stroke:#d7c38e;stroke-width:1px;stroke-dasharray:2.5 2.5}#map.focus .table:not(.on){opacity:.4}.table.on .top-surface{fill:var(--dark);stroke:var(--gold)}.table.on .tname{fill:#fff}.table.on .tcap,.table.on .chair{fill:var(--gold)}.legend{font:500 10px var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:14px;display:flex}.legend li{align-items:center;gap:8px;display:flex}.dot{background:var(--gold);border-radius:50%;width:10px;height:10px}.dot.free{border:1px dashed var(--gold);background:0 0}.addr{margin-left:auto}@media (prefers-reduced-motion:reduce){*,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=860px){.top{text-align:center;grid-template-columns:1fr;gap:8px;padding:28px 16px 18px}.brand{flex-direction:column;align-items:center;gap:6px}.brand h1{font-size:46px}.brand span{font-size:18px}.date,.count{text-align:center;letter-spacing:.28em;font-size:9.5px}.info{flex-direction:column;gap:8px;padding:0 12px 16px}.info li{text-align:center;border-radius:18px;padding:12px 16px;font-size:17px;line-height:1.35}.info strong{margin:0 0 4px;display:block}.go{flex-wrap:wrap;justify-content:center;gap:10px}.go strong{width:100%}.go a{flex:1;justify-content:center;padding:10px 14px;font-size:13px}.go svg{width:26px;height:26px}.layout{padding:0 12px calc(24px + env(safe-area-inset-bottom));grid-template:"search""plan""detail"/1fr;row-gap:16px}.search{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border:0;border-radius:0;margin:0 -12px;padding:10px 16px 12px;position:sticky;top:0}.search .eyebrow{text-align:center;font-size:10px;display:block}#q{height:52px;font-size:20px}.results{left:16px;right:16px}.plan{border-radius:28px;padding:14px 10px;scroll-margin-top:104px}#map{max-height:none}.legend{justify-content:center;gap:8px 16px;font-size:9px}.addr{justify-content:center;width:100%;margin-left:0}.detail{border-top:1px solid var(--line);border-radius:28px;padding:22px 18px 24px}.detail:before{display:none}.detail h2{margin-top:12px;font-size:36px}.guests{columns:1;margin-top:16px}.guests li{padding:11px 10px;font-size:21px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{border-radius:18px;padding:14px 16px}.cname{font-size:21px}.csub{letter-spacing:.16em;font-size:8.5px}.cnum{font-size:24px}}
