@charset "UTF-8";
:root{--paper:#f7f4ec;--ink:#253f34;--muted:#68776b;--line:#d9dfd3;--olive:#536b45;--warm:#eadcc4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a97533;outline-offset:4px}.site-header,.site-footer{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 48px}.site-header{border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:31px;line-height:1}.brand-mark{display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:48px;height:48px;font-style:italic;padding-bottom:6px}.wordmark small{display:block;font:9px/2.7 Arial,sans-serif;letter-spacing:2px}.header-note{font-size:12px;color:var(--muted)}main{max-width:1184px;margin:auto}.welcome-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;padding:66px 0 70px;align-items:start}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;gap:9px;align-items:center}.eyebrow>span{height:6px;width:6px;border-radius:100%;background:var(--olive)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-1.8px}h1{font-size:62px;margin:26px 0}h1 em{font-weight:400;color:var(--olive)}.intro{max-width:445px;font-size:15px;color:var(--muted);line-height:1.8}.welcome-illustration{margin-top:18px;max-width:490px}.welcome-illustration svg{width:100%;display:block}.welcome-illustration p{text-align:center;font:italic 17px Georgia,serif;margin:4px 0 21px;color:var(--olive)}.visit-note{display:flex;gap:14px;align-items:center;font-size:11px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line);max-width:450px}.visit-note p{margin:0}.visit-note strong{font-weight:400;color:var(--ink)}.note-icon{font:30px Georgia,serif}.calendar-card{background:#fffef9;border:1px solid var(--line);border-radius:18px;padding:30px 32px;box-shadow:0 18px 48px #263d3010}.card-kicker{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.2px;margin-bottom:24px}.availability-dot{color:var(--olive);letter-spacing:0}.availability-dot:before{content:'●';font-size:8px;margin-right:6px}.calendar-card h2{font-size:39px;margin-bottom:12px}.calendar-intro{font-size:12px;line-height:1.7;color:var(--muted);max-width:310px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:26px 0 16px}.calendar-nav h3{font-size:14px;font-weight:500;margin:0;text-transform:capitalize}.calendar-nav button{border:1px solid var(--line);background:transparent;border-radius:50%;width:32px;height:32px;color:var(--ink)}.calendar-nav button:disabled{opacity:.3}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{font-size:10px;text-align:center;color:var(--muted);margin-bottom:8px}.calendar-days button,.calendar-days .empty{height:39px;min-width:0}.calendar-days button{border:0;background:transparent;border-radius:50%;color:var(--ink);font-size:12px;padding:0}.calendar-days button:hover:enabled{background:#e5eadf}.calendar-days button:disabled{color:#b9bdb6}.calendar-days button.busy{text-decoration:line-through;background:#eeeae1;color:#9c9c90}.calendar-days button.selected{background:var(--ink);color:white}.calendar-days button.in-range{background:#e2e8da;border-radius:8px}.calendar-days button.today{box-shadow:inset 0 0 0 1px var(--olive)}.calendar-key{display:flex;gap:18px;margin:18px 0;font-size:9px;color:var(--muted)}.calendar-key span{display:flex;align-items:center;gap:6px}.calendar-key i{height:7px;width:7px;border-radius:50%}.key-selected{background:var(--ink)}.key-unavailable{background:#ddd8cd}.date-summary{border-top:1px solid var(--line);padding:17px 0 0;font-size:12px;min-height:41px}.continue-link{display:flex;justify-content:space-between;align-items:center;border-radius:7px;padding:12px 16px;background:var(--ink);color:white;font-size:12px;text-decoration:none}.reservation-section{border-top:1px solid var(--line);padding:65px 0 70px}.section-heading{text-align:center;max-width:580px;margin:0 auto 36px}.section-heading .eyebrow{justify-content:center}.section-heading h2{font-size:45px;margin:16px 0}.section-heading>p:last-child{font-size:14px;color:var(--muted)}.reservation-form{max-width:830px;margin:auto}.reservation-form fieldset{border:0;border-top:1px solid var(--line);padding:28px 0 35px;margin:0}.reservation-form legend{font-family:Georgia,serif;font-size:22px;padding-right:20px}.reservation-form legend span{font:10px Arial,sans-serif;color:var(--muted);margin-right:12px;vertical-align:middle}.fields{display:grid;gap:18px}.four-columns{grid-template-columns:1.4fr 1.4fr .7fr .7fr}.two-columns{grid-template-columns:1fr 1fr}label{display:block;font-size:12px}label small{font-size:10px;color:var(--muted)}input:not([type=checkbox]):not([type=radio]),textarea{display:block;width:100%;padding:12px 14px;margin:7px 0 18px;border:1px solid var(--line);background:#fffef9;color:var(--ink);border-radius:7px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#879184;font-size:12px}.field-hint{font-size:12px;color:var(--muted)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.experience-card{position:relative;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fffef9;cursor:pointer}.experience-card:has(input:checked){border-color:var(--olive);background:#e9eddf;box-shadow:inset 0 0 0 1px var(--olive)}.experience-card input{position:absolute;top:16px;right:16px;accent-color:var(--ink);width:16px;height:16px}.experience-symbol{font:38px Georgia,serif;color:var(--olive);line-height:1.2;margin:0 0 12px}.experience-card strong{font:20px Georgia,serif;margin-bottom:8px}.experience-card>span:last-child{font-size:11px;color:var(--muted);line-height:1.6}.meal-options{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 22px}.meal-options label{cursor:pointer}.meal-options input{position:absolute;opacity:0;width:1px;height:1px}.meal-options span{display:block;padding:9px 15px;border:1px solid var(--line);border-radius:30px;font-size:12px}.meal-options input:checked+span{background:var(--ink);border-color:var(--ink);color:white}.meal-options input:focus-visible+span{outline:3px solid #a97533;outline-offset:3px}.submit-area{padding-top:8px;text-align:center}.consent{display:flex;align-items:flex-start;gap:10px;text-align:left;font-size:11px;max-width:580px;margin:0 auto 25px;color:var(--muted)}.consent input{accent-color:var(--ink);margin-top:3px;flex-shrink:0;width:16px;height:16px}.primary-button{display:inline-flex;gap:50px;justify-content:space-between;align-items:center;background:var(--ink);color:white;border:0;border-radius:7px;padding:16px 24px;text-decoration:none;font-size:13px}.primary-button:hover,.continue-link:hover{background:#3c5847}.submit-area>p{font-size:10px;color:var(--muted);margin:16px 0 0;line-height:1.8}.form-errors{border:1px solid #b97551;background:#fff0e4;border-radius:8px;padding:16px;margin-bottom:28px;font-size:13px;color:#753f27}.form-errors[hidden]{display:none}.honeypot{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.site-footer{font-size:10px;border-top:1px solid var(--line);color:var(--muted)}.thanks-main{max-width:760px;text-align:center;padding:65px 25px 85px;min-height:75vh}.thanks-main .eyebrow{justify-content:center}.thanks-main h1{font-size:57px}.thanks-main>p{font-size:14px;max-width:500px;margin-left:auto;margin-right:auto;color:var(--muted)}.thanks-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#e2e9db;color:var(--olive);margin:0 auto 24px;font-size:27px}.receipt{display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr;gap:14px;padding:24px;background:#fffef9;border:1px solid var(--line);border-radius:10px;margin:32px 0}.receipt span,.receipt strong{display:block}.receipt span{font-size:10px;color:var(--muted)}.receipt strong{font-size:13px;font-weight:500;margin-top:5px}.pending-note{font-size:11px!important}
@media(min-width:1500px){.welcome-grid{padding-top:85px;padding-bottom:90px}}
@media(max-width:1279px){main{margin:0 48px}.welcome-grid{gap:45px}h1{font-size:53px}.calendar-card{padding:28px}.card-kicker{font-size:8px}}
@media(max-width:900px){.site-header,.site-footer{padding:22px 24px}main{margin:0 24px}.welcome-grid{gap:30px;grid-template-columns:1fr 1fr;padding:42px 0}.calendar-card{padding:22px}h1{font-size:42px}.calendar-card h2{font-size:31px}.intro{font-size:13px}.calendar-days button,.calendar-days .empty{height:31px}.header-note{font-size:10px}.card-kicker{flex-direction:column;gap:5px}.reservation-section{padding:45px 0}.four-columns{grid-template-columns:1fr 1fr}.experience-card{padding:16px}.experience-card strong{font-size:18px}}
@media(max-width:640px){.site-header{padding:18px 20px}.header-note{display:none}.wordmark{font-size:27px}.brand-mark{width:42px;height:42px}main{margin:0 20px}.welcome-grid{display:flex;flex-direction:column;gap:32px;padding:33px 0 40px}.welcome-copy,.calendar-card{width:100%}h1{font-size:43px;margin:20px 0}.intro{font-size:14px;max-width:100%}.welcome-illustration{max-width:330px;margin:0 auto}.welcome-illustration svg{max-height:108px}.welcome-illustration p{font-size:15px;margin-bottom:16px}.visit-note{padding-top:14px;font-size:10px}.calendar-card{padding:24px}.card-kicker{flex-direction:row;font-size:8px}.calendar-card h2{font-size:35px}.calendar-days button,.calendar-days .empty{height:39px}.section-heading h2{font-size:35px}.section-heading>p:last-child{font-size:13px}.reservation-form legend{font-size:21px}.experience-grid{grid-template-columns:1fr}.experience-card{padding:17px 19px 17px 74px;min-height:91px}.experience-symbol{position:absolute;left:23px;top:20px}.experience-card strong{margin-bottom:3px;font-size:21px}.experience-card>span:last-child{padding-right:12px}.two-columns{grid-template-columns:1fr;gap:0}.fields{gap:12px}.four-columns label{font-size:11px}input:not([type=checkbox]):not([type=radio]),textarea{font-size:16px;padding:11px 10px}.meal-options span{font-size:11px;padding:9px 12px}.primary-button{width:100%;justify-content:space-between}.site-footer{padding:23px 20px;font-size:9px;gap:20px;align-items:flex-start}.thanks-main{margin:0;padding:50px 20px}.thanks-main h1{font-size:43px}.receipt{grid-template-columns:1fr 1fr;text-align:left;padding:20px}.thanks-main .primary-button{width:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.personal-login-main{max-width:460px;margin:64px auto 90px;padding:0 22px}.personal-login-main h1{font-size:52px}.personal-login-main>p{color:var(--muted)}.personal-login-form label{display:block;margin:18px 0;font-size:13px}.personal-login-form input{display:block;width:100%;margin-top:6px}.personal-login-form .primary-button{width:100%;margin-top:14px}.personal-login-links{font-size:13px;margin-top:20px}.personal-login-note{font-size:11px}.personal-session{max-width:1184px;margin:15px auto;display:flex;justify-content:flex-end;gap:18px;font-size:12px;padding:0 20px}.personal-session form{margin:0}.personal-session button{border:0;background:none;text-decoration:underline;color:var(--ink);padding:0}@media(max-width:640px){.personal-login-main{margin:40px auto 60px}.personal-login-main h1{font-size:44px}}
