:root{color-scheme:light;--paper:#f8f5ef;--ink:#45382e;--bronze:#8b6c49;--line:#e4dcd0}*{box-sizing:border-box}body{margin:0;background:#eae5dc;color:var(--ink);font:16px/1.55 Arial,sans-serif}.app{max-width:540px;min-height:100svh;margin:auto;background:var(--paper);padding:24px 30px 22px;box-shadow:0 0 90px #4032230b}header{display:flex;align-items:center;justify-content:space-between}.brand{text-align:center;font:38px/1 Georgia,serif;letter-spacing:-2px;color:var(--ink);text-decoration:none}.brand span{display:block;font:10px/1.7 Arial,sans-serif;letter-spacing:3px;margin-top:8px}.icon-button,.language{border:0;background:none;color:var(--bronze);cursor:pointer;width:44px;height:44px}.icon-button svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.5}.language{font-size:14px;letter-spacing:1px;border:1px solid var(--line);border-radius:50%}.welcome{text-align:center;padding:34px 0 20px}.eyebrow{font-size:12px;letter-spacing:2.4px;color:var(--bronze)}.welcome>p:first-of-type{font-size:15px;letter-spacing:2px;margin:20px 0 0}.welcome h1{font:italic 59px/1.12 Georgia,serif;letter-spacing:-2px;margin:3px 0 10px}.flourish{display:flex;justify-content:center;align-items:center;gap:12px;color:var(--bronze);font-size:21px}.flourish span{height:1px;width:28px;background:var(--line)}.intro{font-size:14px;color:#786c61;margin:9px 0 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 0 25px}.tile{min-height:116px;border:0;background:transparent;color:var(--ink);padding:17px 5px 12px;display:flex;flex-direction:column;align-items:center;gap:11px;cursor:pointer;font:12px/1.35 Arial,sans-serif;letter-spacing:.55px;text-transform:uppercase;border-bottom:1px solid var(--line)}.tile:last-child{border-bottom:0}.tile svg{width:35px;height:35px;stroke:var(--bronze);fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.tile:hover{background:#eee7dd;border-radius:10px}.tile:hover svg{transform:translateY(-3px)}button:focus-visible,a:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}.contact{border-radius:6px;background:var(--bronze);color:white;text-decoration:none;padding:16px 18px;display:flex;align-items:center;justify-content:center;gap:17px;font-size:12px;letter-spacing:1.6px}.contact svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.4}footer{text-align:center;display:flex;flex-direction:column;color:#83766a;font-size:12px;margin-top:23px;gap:2px}footer>span:first-child{font-family:Georgia,serif;font-size:17px;color:var(--ink)}footer button{font-size:12px;color:var(--bronze);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;margin:15px 0 0;cursor:pointer}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;width:calc(100% - 28px);max-width:490px;max-height:88svh;padding:25px;box-shadow:0 20px 100px #1c171550}dialog::backdrop{background:#30251dcc;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dialog-head .eyebrow{font-size:11px}.dialog-head button{border:0;background:transparent;color:var(--ink);font-size:32px;cursor:pointer;width:44px;height:44px}#dialog-icon svg{width:43px;height:43px;fill:none;stroke:var(--bronze);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}h2{font:34px/1.1 Georgia,serif;margin:16px 0 20px}#dialog-body p{margin:14px 0}#dialog-body a{color:var(--bronze);text-underline-offset:4px}.action{display:block;text-align:center;text-decoration:none!important;padding:13px 16px;background:var(--bronze);color:white!important;border-radius:6px;margin-top:22px}.data{padding:16px 0;border-top:1px solid var(--line)}.data span{display:block;color:#7c6b5b;font-size:13px}.data strong{font-size:20px;font-weight:400;overflow-wrap:anywhere}.times{display:flex;gap:25px}.times .data{flex:1}.times strong{font:35px Georgia,serif}.small{color:#776b5f;font-size:14px}@media(min-width:700px){body{padding:30px}.app{border:1px solid #ddd3c4;border-radius:22px;padding:30px 40px;min-height:initial}.welcome{padding-top:30px}}@media(max-width:360px){.app{padding:20px 18px}.welcome h1{font-size:50px}.tile{font-size:11px;letter-spacing:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.dining-group{margin:26px 0}.dining-group h3{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);padding-bottom:12px;border-bottom:1px solid var(--line)}.venue{padding:15px 0 20px;border-bottom:1px solid var(--line)}.venue:last-child{border-bottom:0}.venue h4{font:24px/1.25 Georgia,serif;margin:0 0 8px}.diet-tag{display:inline-block;font-size:12px;border:1px solid var(--bronze);color:var(--bronze);border-radius:20px;padding:2px 10px}#dialog-body .venue-address{font-size:14px;color:#786c61;margin:8px 0 14px}.venue-actions{display:flex;flex-wrap:wrap;gap:10px}.venue-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border:1px solid var(--bronze);border-radius:6px;text-decoration:none;font-size:14px}.venue-actions a[href^="tel:"]{background:var(--bronze);color:white!important}.venue-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.venue-actions a:hover{filter:brightness(.85)}

.walking-link{display:inline-block;font-size:14px;margin-top:12px;min-height:32px;padding:4px 0}

.sight-group{border-bottom:1px solid var(--line);padding:12px 0}.sight-group summary{font:25px/1.3 Georgia,serif;padding:14px 3px;cursor:pointer}.sight-group summary span{display:block;font:14px/1.5 Arial,sans-serif;color:var(--bronze);margin-top:5px}.sight-group summary:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.sight-group .venue h4{font-size:22px}.nearby-heading{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:var(--bronze);margin-top:30px}

.stay-section{padding:12px 0;border-bottom:1px solid var(--line)}.stay-section h3{font:23px/1.3 Georgia,serif;margin:10px 0}.guest-faq{border-bottom:1px solid var(--line);padding:7px 0}.guest-faq summary{cursor:pointer;font-size:16px;font-weight:600;padding:14px 0}.guest-faq summary:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}

[hidden]{display:none!important}.language-screen{padding:40px 30px;min-height:100svh}.language-welcome{text-align:center;margin:30px 0}.language-welcome h1{font:46px/1.12 Georgia,serif;letter-spacing:-1px;margin:18px 0}.language-welcome h1 em{color:var(--bronze);font-size:38px}.language-welcome p{font-size:16px;line-height:1.7;color:#786c61}.language-list{display:grid;gap:10px}.language-option{display:flex;align-items:center;gap:17px;background:transparent;border:1px solid var(--line);border-radius:12px;width:100%;min-height:67px;padding:12px 18px;font:18px/1.4 Arial,sans-serif;color:var(--ink);text-align:start;cursor:pointer}.language-option:hover,.language-option[aria-pressed="true"]{background:#eee7dd;border-color:var(--bronze)}.flag-circle{display:block;flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #0001}.flag-circle img{width:100%;height:100%;object-fit:cover}.language-footer{text-align:center;margin:30px 0 0;color:var(--bronze);font:16px Georgia,serif}.language img{width:28px;height:28px;border-radius:50%;object-fit:cover}.tile span{overflow-wrap:anywhere}.venue-address,a[href^="tel:"],.data strong{unicode-bidi:plaintext}html[lang="ar"] .welcome h1,html[lang="zh"] .welcome h1{font-family:Arial,sans-serif;letter-spacing:normal;font-size:44px;line-height:1.5}html[dir="rtl"] .contact svg{transform:rotate(180deg)}html[dir="rtl"] .brand{letter-spacing:0}html[dir="rtl"] .eyebrow{letter-spacing:0}html[lang="ar"] .tile,html[lang="zh"] .tile{font-size:14px;letter-spacing:0}@media(min-width:700px){.language-screen{min-height:initial;max-width:500px}}

.language-option{flex-direction:column;justify-content:center;text-align:center;gap:8px;padding:15px 18px}.language-option .flag-circle{margin-inline:auto}
