:root{--ink:#171512;--cream:#f3ede4;--paper:#fffdf9;--brown:#8a6c57;--soft:#e9ddd0;--line:#ded4ca;--muted:#6f665f;--nav-h:76px}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{min-height:100vh;max-width:560px;margin:auto;background:var(--paper);padding:env(safe-area-inset-top) 22px calc(var(--nav-h) + 42px)}button,a{font:inherit}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.wordmark{appearance:none;border:0;background:none;padding:0;color:var(--ink);font-weight:800;letter-spacing:.13em;font-size:15px;cursor:pointer}.wordmark span{font-weight:300}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.icon-button svg,.bottom-nav svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.view{display:none;animation:fade .25s ease}.view.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.hero{padding:42px 0 32px}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--brown);font-weight:800;margin:0;text-transform:uppercase}.hero h1,.page-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:48px;line-height:.98;letter-spacing:-.045em;font-weight:400;margin:18px 0}.hero-copy,.page-intro>p:last-child{font-size:16px;line-height:1.55;max-width:400px;color:#625b55}.primary-button,.secondary-button{margin-top:24px;display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding:18px 20px;border-radius:3px;font-weight:750;cursor:pointer}.primary-button{background:var(--ink);color:white;border:1px solid var(--ink)}.secondary-button{background:transparent;color:var(--ink);border:1px solid var(--ink)}.full{width:100%}.feature-photo{position:relative;height:230px;overflow:hidden;margin-bottom:28px;background:#c7b7aa}.feature-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.95)}.feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 32%,#171512c7)}.feature-photo div{position:absolute;z-index:1;left:20px;right:20px;bottom:17px;color:white}.feature-photo span{font-size:10px;letter-spacing:.17em;font-weight:800}.feature-photo p{font-family:Georgia,serif;font-size:20px;line-height:1.2;margin:7px 0 0;max-width:380px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.nav-card{appearance:none;text-align:left;background:transparent;min-height:128px;padding:18px;color:var(--ink);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;cursor:pointer}.nav-card span{font-family:Georgia,serif;font-size:22px}.nav-card small{color:#766c64;line-height:1.4}.section-block{padding:44px 0 12px}.section-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-end}.section-heading h2{font:400 27px Georgia,serif;margin:9px 0 0}.section-heading a{font-size:12px;color:var(--ink);font-weight:700;white-space:nowrap}.muted,.fine-print{color:var(--muted);font-size:13px;line-height:1.55}.page-intro{padding:38px 0 24px}.page-intro h1{font-size:42px}.plan-list{display:grid;gap:12px}.plan-card{padding:22px;border:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.plan-card.featured{background:var(--cream);border-color:var(--soft)}.plan-card h2,.reward-list h2{font:400 23px Georgia,serif;margin:0 0 8px}.plan-card p,.reward-list p,.note-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.plan-card strong{white-space:nowrap;font-size:13px}.tag{display:inline-block;font-size:9px;letter-spacing:.14em;background:var(--ink);color:white;padding:6px 8px;margin-bottom:14px}.fine-print{margin:18px 2px}.reward-list{border-top:1px solid var(--line)}.reward-list a{display:grid;grid-template-columns:52px 1fr 20px;align-items:center;gap:14px;padding:19px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.reward-mark{width:48px;height:48px;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-family:Georgia,serif}.reward-list h2{margin-bottom:3px}.arrow{justify-self:end}.note-card,.hours-card{margin-top:28px;background:var(--cream);padding:22px}.note-card h3{font:400 23px Georgia,serif;margin:0 0 9px}.note-card a{display:inline-block;color:var(--ink);font-weight:750;margin-top:14px}.shop-visual{height:280px;background:linear-gradient(145deg,#aa927e,#78604f);position:relative;overflow:hidden;padding:24px;color:white;display:flex;align-items:flex-end}.shop-visual:before,.shop-visual:after{content:"";position:absolute;border:1px solid #ffffff66;border-radius:50%;width:240px;height:240px;right:-70px;top:-80px}.shop-visual:after{width:150px;height:150px;right:40px;top:55px}.shop-visual div{position:relative;z-index:1}.shop-visual span{font-size:10px;letter-spacing:.17em;font-weight:800}.shop-visual h2{font:400 34px Georgia,serif;margin:9px 0;max-width:270px}.menu-list{border-top:1px solid var(--line)}.menu-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink);text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line)}.menu-list span{font-family:Georgia,serif;font-size:20px}.menu-list small{display:block;color:var(--muted);margin-top:5px}.menu-list b{font-weight:400}.hours-card dl{margin:18px 0 0}.hours-card dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #d8cabc}.hours-card dt,.hours-card dd{font-size:13px}.hours-card dd{margin:0;font-weight:700}.privacy-note{font-size:12px;line-height:1.6;color:var(--muted);padding:22px 3px}.event-intro{padding-bottom:30px}.event-feature{background:var(--ink);color:white;padding:26px 22px;margin-bottom:34px}.event-feature .eyebrow{color:#cdb9aa}.event-feature h2,.event-heading h2,.moxi-event h2{font:400 29px Georgia,serif;margin:10px 0 20px}.price-list{border-top:1px solid #ffffff3b}.price-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:15px 0;border-bottom:1px solid #ffffff2b;align-items:baseline}.price-list span,.price-list strong{font-size:16px}.price-list small{grid-column:1/-1;color:#d7c9be;font-size:13px;font-style:italic}.event-section{margin:34px 0}.event-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.event-heading h2{margin:8px 0 0}.event-heading>span{font-size:10px;letter-spacing:.1em;color:var(--brown);font-weight:800;white-space:nowrap}.event-prices>div{display:flex;justify-content:space-between;gap:20px;padding:14px 2px;border-bottom:1px solid var(--line);font-size:15px}.event-prices strong{white-space:nowrap}.event-prices.compact>div{padding:11px 2px}.moxi-event{background:var(--cream);padding:28px 22px;text-align:center;margin:34px 0}.moxi-event h2{margin-bottom:14px}.moxi-event>p{color:var(--muted);line-height:1.5}.moxi-event .moxi-count{font:400 26px Georgia,serif;color:var(--ink);margin:0 0 4px}.moxi-price{display:grid;gap:6px;border-top:1px solid #d4c4b7;border-bottom:1px solid #d4c4b7;padding:18px 0;margin:18px 0}.moxi-price strong{font-size:16px}.moxi-price span{font:400 25px Georgia,serif}.moxi-event .moxi-bonus{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--brown);font-weight:800;margin:0}.room-list{border-top:1px solid var(--line)}.room-list article{display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.room-list article>b{font:400 25px Georgia,serif;color:var(--brown)}.room-list h3{font:400 20px Georgia,serif;margin:0 0 4px}.room-list p{font-size:14px;line-height:1.45;color:var(--muted);margin:0}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);width:min(560px,100%);display:grid;grid-template-columns:repeat(6,1fr);background:#fffdf9ed;border-top:1px solid var(--line);backdrop-filter:blur(16px)}.bottom-nav button{appearance:none;border:0;background:transparent;color:#91877f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;cursor:pointer;min-width:0}.bottom-nav button.active{color:var(--ink)}.bottom-nav svg{width:19px;height:19px}dialog{width:min(430px,calc(100% - 34px));border:0;border-radius:8px;padding:32px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#171512a8;backdrop-filter:blur(3px)}dialog h2{font:400 30px Georgia,serif;margin:12px 0 20px}dialog p{font-size:14px;line-height:1.55;color:var(--muted)}.close-button{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}@media(min-width:700px){body{padding:30px 0}.app-shell{border-radius:24px 24px 0 0;box-shadow:0 20px 80px #503d2b20;min-height:calc(100vh - 30px)}.bottom-nav{bottom:18px;border:1px solid var(--line);border-radius:20px;width:520px}.app-shell{padding-bottom:130px}}@media(max-width:380px){.hero h1,.page-intro h1{font-size:40px}.plan-card{align-items:flex-start;flex-direction:column}.plan-card strong{white-space:normal}.event-heading{align-items:flex-start;flex-direction:column}.event-heading>span{white-space:normal}}
.gift-option{padding:24px 0;border-top:1px solid var(--line)}.gift-option h2{font:400 27px Georgia,serif;margin:10px 0}.gift-option p:not(.eyebrow){font-size:15px;line-height:1.55;color:var(--muted);margin:0}.gift-option .secondary-button{margin-top:18px}.menu-list .menu-button{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;color:var(--ink);text-align:left;text-decoration:none;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}.menu-list .menu-button span{font-family:Georgia,serif;font-size:20px}.menu-list .menu-button small{display:block;color:var(--muted);margin-top:5px}.menu-list .menu-button b{font-weight:400}
