*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#20332f;background:white;font:16px/1.6 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a,button,input,textarea,select{outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}.preview{display:flex;justify-content:space-between;padding:5px 5%;font-size:11px;background:#20332f;color:#fff}.preview button{font-size:11px;color:white;background:none;border:0;text-decoration:underline}header{background:#fff;position:sticky;top:0;z-index:5;height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #e7eae7}.brand{font:500 38px/1 Georgia,serif;letter-spacing:-2px}.brand span{display:block;font:9px/1.8 'Segoe UI',sans-serif;letter-spacing:2px;margin-top:6px;color:#687064}nav{display:flex;gap:28px;align-items:center}nav a{font-size:14px;font-weight:500}nav a:hover{color:#a94926}.nav-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b6512b;background:#b6512b;color:#fff;border-radius:6px;padding:12px 22px;font-size:14px;font-weight:600;white-space:nowrap}.button:hover{background:#a94926;border-color:#a94926}.cream{background:white;border-color:white;color:#20332f}.cream:hover{background:#eaf0eb;border-color:#eaf0eb}.hero{position:relative;min-height:570px;display:flex;align-items:center;background:#24362e;isolation:isolate;color:white}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo img{object-position:50% 55%}.hero:after{position:absolute;content:'';inset:0;z-index:-1;background:linear-gradient(90deg,#0a1913e0,#14221a9c 45%,#0e211a20)}.hero-copy{width:100%;padding:65px 8%;max-width:1450px;margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 18px;color:#8b5240}h1,h2,h3{font-family:'Segoe UI',Arial,sans-serif;font-weight:500;letter-spacing:-1.8px;line-height:1.12}h1{font-size:clamp(48px,5.6vw,80px);margin:0 0 23px}h2{font-size:clamp(32px,3.3vw,46px);margin:0 0 22px}h3{font-size:23px;letter-spacing:-.6px;margin:0 0 12px}em{font-style:normal;color:inherit}.hero .eyebrow{color:#f1d1bb}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:420px;color:#eee;line-height:1.7}.actions{display:flex;align-items:center;gap:25px;margin-top:28px;flex-wrap:wrap}.textlink{font-size:14px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}.hero .textlink{color:#fff}.hero-note{font-size:12px;margin-top:38px;color:#e3e6df}.hero-note span:first-child{display:none}.section{padding:70px 8%;max-width:1450px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:15px;color:#6b7470;margin-bottom:0}.tabs{display:flex;gap:8px;margin:32px 0 20px;flex-wrap:wrap}.tabs button{padding:9px 17px;background:#f1f4f0;color:#5a635f;border:1px solid #f1f4f0;border-radius:30px;font-size:14px}.tabs button.active{color:#fff;background:#20332f;border-color:#20332f}.menu-grid{display:grid;grid-template-columns:1fr}.menu-card{padding:22px 0;border-top:1px solid #e1e7e0;display:grid;grid-template-columns:40px 1fr 150px;align-items:center;column-gap:16px}.menu-card:last-child{border-bottom:1px solid #e1e7e0}.menu-card .number{grid-column:1;grid-row:1/3;font-size:12px;color:#9ba39b}.menu-card h3{grid-column:2;grid-row:1;font-size:24px;margin:0;letter-spacing:-.6px}.menu-card p{grid-column:2;grid-row:2;color:#778075;font-size:14px;margin:5px 0 0}.menu-card .pdf{display:none}.menu-card a{grid-column:3;grid-row:1/3;font-size:13px;font-weight:600;border:1px solid #dce2da;border-radius:5px;padding:10px 16px;text-align:center}.menu-card a:hover{background:#f0f4ee}.menu-card a[aria-disabled]{border:0;color:#777;font-size:12px}.archive-note{font-size:11px;color:#8a938c;margin-top:18px}.story{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding-top:20px;align-items:center}.story-photo{height:420px;border-radius:10px;overflow:hidden;background:#eef0ea}.story-copy p{color:#637068;max-width:480px}.signature{font:italic 24px Georgia,serif;color:#233b30!important}.story-copy .textlink{color:#8b5240}.season-band{padding:28px 35px;max-width:calc(1290px - 16%);margin:0 auto 45px;background:#eff3ec;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:30px}.season-band .eyebrow{margin-bottom:8px;font-size:10px}.season-band h3{font-size:22px;margin-bottom:7px}.season-band p:not(.eyebrow){font-size:14px;color:#687466;margin:0}.season-band .button{background:transparent;border-color:#b8c4b4;color:#20332f}.celebrate{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#f7f8f5;max-width:none;padding-top:55px;padding-bottom:55px}.celebrate>div{max-width:500px;margin-left:auto}.celebrate img{height:330px;border-radius:10px;max-width:570px}.celebrate p:not(.eyebrow){color:#657267}.celebrate .button{margin-top:18px}.reserve{background:#20332f;color:#fff;padding:32px 8%;display:flex;justify-content:space-between;align-items:center;gap:30px}.reserve h2{font-size:33px;margin:0}.reserve .eyebrow{color:#c4d0be;margin-bottom:8px;font-size:10px}.reserve>div:last-child{display:flex;align-items:center;gap:25px}.reserve>div:last-child p{font-size:13px;color:#cfd9cc}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:55px;padding-bottom:45px}.contact h2{font-size:38px}.contact>div>p{display:inline-block;font-size:14px;color:#637068;margin:0 25px 18px 0;vertical-align:top}.contact>div>.textlink{display:block;width:fit-content;font-size:13px;margin-bottom:22px}.hours{max-width:430px}.hours h3{font-size:17px;font-weight:600;letter-spacing:0}.hours p{font-size:12px;display:flex;justify-content:space-between;margin:8px 0;gap:10px;color:#637068}.hours small{font-size:10px;color:#8c9389}.contact form{max-width:460px;align-self:center;padding:0;background:none}.contact form h3{font-size:22px;margin-bottom:18px}label{display:block;font-size:12px;font-weight:500;margin-bottom:12px;color:#4c594f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,textarea,select{display:block;width:100%;border:1px solid #dce3d8;border-radius:5px;background:#f8faf6;padding:9px 12px;margin-top:5px;color:#27362b;font-size:14px;resize:vertical}input[type=hidden]{display:none}.checkbox{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:400;flex-wrap:wrap;margin:12px 0}.checkbox input{width:14px;margin:0}.checkbox a{text-decoration:underline}.contact form>.button{padding:10px 18px;font-size:13px}.form-note{font-size:11px;color:#899183;margin:10px 0 0}#form-status{font-size:12px;color:#2a4531}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 5%;gap:20px;background:#f1f4ee;border-top:1px solid #e4e9df}footer .brand{font-size:30px}footer p{font-size:11px;color:#7c8577}footer button{background:none;border:0;font-size:12px;color:#56624f}dialog{border:0;border-radius:10px;padding:35px;width:min(700px,94vw);max-height:88vh;background:#fff;color:#20332f;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#14231bb8;backdrop-filter:blur(5px)}dialog h2{font-size:30px}dialog p{font-size:13px}dialog .close{position:absolute;top:8px;right:15px;border:0;background:none;font-size:28px}.card-edit{padding:20px 0;border-top:1px solid #e0e6dc}.secondary{border:1px solid #cbd4c5;background:white;color:#32452e;border-radius:5px;font-size:12px;padding:9px 13px}.secondary:disabled{opacity:.4}.card-edit .actions{gap:8px;margin-top:15px}body:has(dialog[open]){overflow:hidden}@media(max-width:1000px){header{gap:15px;padding:0 4%;height:82px}nav{gap:18px}nav a{font-size:13px}.brand{font-size:33px}.brand span{font-size:8px}.booking{padding:11px 16px;font-size:13px}.hero{min-height:530px}.hero-copy{padding:55px 6%}.section{padding:55px 6%}.story{gap:6%;padding-top:15px}.story-photo{height:360px}.season-band{max-width:88%;padding:25px}.reserve{padding:30px 6%}.reserve>div:last-child{display:block}.reserve>div:last-child p{margin-bottom:0}.contact{gap:6%}.contact>div>p{display:block;margin-bottom:14px}}@media(max-width:720px){header{height:74px;padding:0 5%;gap:12px}.brand{font-size:31px}.brand span{font-size:7px;letter-spacing:1.5px}.booking{margin-left:auto;font-size:12px;padding:10px 13px}.nav-toggle{display:block;border:1px solid #dce3d8;background:white;border-radius:5px;font-size:12px;padding:10px 12px;order:3}nav{display:none;position:absolute;left:0;right:0;top:74px;background:#fff;padding:20px 6%;box-shadow:0 20px 25px #14231b15;flex-direction:column;align-items:flex-start;gap:22px}nav.open{display:flex}nav a{font-size:16px}.hero{min-height:510px}.hero-copy{padding:55px 7%}.hero:after{background:linear-gradient(90deg,#0a1913d9,#14221a80)}h1{font-size:52px;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:320px}.hero .actions{gap:20px}.hero .textlink{font-size:12px}.hero .button{font-size:13px;padding:12px 16px}.hero-note{margin-top:32px}.section{padding:45px 7%}.section-heading{display:block}.section-heading>p{margin-top:15px;font-size:14px}.section-heading h2{font-size:34px}.tabs{margin-top:23px;gap:6px}.tabs button{font-size:12px;padding:8px 12px}.menu-card{grid-template-columns:24px 1fr 104px;column-gap:10px;padding:18px 0}.menu-card h3{font-size:20px}.menu-card p{font-size:12px;line-height:1.5}.menu-card a{font-size:11px;padding:9px 10px}.story,.celebrate,.contact{grid-template-columns:1fr;gap:28px}.story{padding-top:10px}.story-photo{height:310px}.story-copy h2{font-size:33px}.season-band{max-width:86%;flex-direction:column;align-items:flex-start;margin-bottom:40px;gap:18px;padding:24px}.celebrate>div{margin:0}.celebrate h2{font-size:34px}.celebrate img{height:270px;max-width:none}.reserve{display:block;padding:32px 7%}.reserve h2{font-size:30px}.reserve>div:last-child{margin-top:22px}.contact{gap:30px}.contact>div>p{display:inline-block;font-size:13px;margin-right:20px}.contact form{width:100%;max-width:none}footer{flex-wrap:wrap;padding:25px 7%}footer p{margin:0}dialog{padding:30px 23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[data-key]{white-space:pre-line}.skip-link{position:fixed;top:-100px;left:15px;z-index:99;background:#fff;padding:12px;border:2px solid #20332f}.skip-link:focus{top:10px}.edit-anchor{display:block;width:fit-content;font-size:12px;text-decoration:underline;color:#766454;margin-bottom:14px}.contact label{font-size:14px}.checkbox{font-size:13px}.menu-card p{color:#59665a}.archive-note,.form-note{color:#667161}.hero .brand span{color:inherit}.legal-page{max-width:900px;margin:50px auto;padding:0 6%}.wp-content img{height:auto;max-width:100%}.hp-field{position:absolute;left:-9999px}.wp-admin-edit{display:inline-block;font-size:12px;text-decoration:underline;margin-bottom:15px}body.admin-bar header{top:32px}@media(max-width:782px){body.admin-bar header{top:46px}}@media(max-width:600px){body.admin-bar header{top:0}}

[hidden]{display:none!important}.missing-pdf{grid-column:3;grid-row:1/3;font-size:12px;color:#637068}.contact .form-note{font-size:12px}footer>div{font-size:13px}

html{scroll-behavior:auto}@media(max-width:380px){header{gap:8px}.brand{font-size:27px}.brand span{display:none}.booking{font-size:11px;padding:9px 10px}.nav-toggle{padding:9px 10px}.hero h1{font-size:44px}.menu-card{grid-template-columns:18px 1fr 94px;column-gap:8px}.menu-card a{padding:9px 6px}.form-row{grid-template-columns:1fr}}

.hours p{font-size:14px}.contact>div>p{font-size:15px}.menu-card p{font-size:14px}.checkbox{line-height:1.5}

header .brand{display:flex;align-items:center;gap:12px;flex-shrink:0}header .brand-icon{display:block;width:52px;height:52px;object-fit:contain}header .brand-name{font-size:inherit;letter-spacing:inherit;display:block}header .brand-name>span{display:block}.cards-placeholder{padding:26px 0;color:#59665a;max-width:680px;line-height:1.65}@media(max-width:1000px){header .brand-icon{width:43px;height:43px}header .brand{gap:9px}}@media(max-width:720px){header .brand-icon{width:36px;height:36px}header .brand-name>span{display:none}header .brand{gap:7px;font-size:28px}}@media(max-width:380px){header .brand-icon{width:29px;height:29px}header .brand{gap:5px;font-size:24px}header .brand-name{display:block}}
header .brand-name{line-height:1.05}header .brand-name>span{margin-top:7px;line-height:1.2}

.story-gallery{min-width:0;scroll-margin-top:110px}.food-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.food-gallery figure{margin:0;overflow:hidden;border-radius:9px}.food-gallery figure:first-child{grid-column:1/-1}.food-gallery img{display:block;width:100%;height:155px;object-fit:cover}.food-gallery figure:first-child img{height:290px}@media(max-width:720px){.food-gallery img{height:130px}.food-gallery figure:first-child img{height:240px}}.legal-page.wp-content{line-height:1.8}.legal-page.wp-content h2{font-size:27px;margin-top:35px}.legal-page.wp-content h3{font-size:21px}.legal-page.wp-content a{overflow-wrap:anywhere}

.career{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8%;background:#f1f4ee}.career h2{font-size:38px;margin:0 0 18px}.career p:not(.eyebrow){line-height:1.7;color:#59665a}.career-links{display:flex;flex-wrap:wrap;gap:14px}.career-links .textlink{width:100%;margin-top:8px}.menu-card p{white-space:pre-line}nav{gap:22px}@media(max-width:1000px){nav{gap:13px}}@media(max-width:720px){.career{grid-template-columns:1fr;gap:20px}.career h2{font-size:32px}}

.contact{align-items:center}.contact-reservation{padding:38px;border:1px solid #e0e6dc;border-radius:12px;background:#f1f4ee;max-width:520px;width:100%}.contact-reservation h3{font-size:38px;line-height:1.15;margin:0 0 18px;letter-spacing:-1px}.contact-reservation>p:not(.eyebrow){line-height:1.7;color:#59665a}.contact-reservation>.button{display:inline-flex;margin:12px 0 8px;padding:15px 24px}.contact-reservation .reservation-phone{font-size:13px;margin-top:16px}.reservation-phone a{text-decoration:underline}@media(max-width:720px){.contact-reservation{padding:28px;max-width:none}.contact-reservation h3{font-size:32px}}

.guest-message{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;background:#f1f4ee;border-bottom:1px solid #e0e6dc}.guest-message h2{font-size:36px;margin:0}.guest-message-text{white-space:pre-line;line-height:1.8;color:#59665a;margin:0}.guest-message .signature{font-size:23px;margin:20px 0 0}@media(max-width:720px){.guest-message{grid-template-columns:1fr;gap:18px}.guest-message h2{font-size:30px}}

.news-more{display:inline-block;margin-top:18px}.news-page{max-width:900px;margin:0 auto;padding:55px 6% 70px}.news-page>.eyebrow{margin-top:36px}.news-page h1{font-size:48px;color:#20332f;line-height:1.15;letter-spacing:-1.5px}.news-content{font-size:16px;line-height:1.85;color:#59665a;margin:32px 0}.news-content h2{font-size:28px;color:#20332f;margin:40px 0 15px;padding-top:24px;border-top:1px solid #e0e6dc}.news-content a{text-decoration:underline;overflow-wrap:anywhere}.news-content li{padding:4px 0}.news-content p{margin:0 0 18px}@media(max-width:720px){.news-page{padding:35px 7%}.news-page h1{font-size:35px}.news-content h2{font-size:25px}}

/* Keep editable content and legal headings inside narrow viewports. */
.section>*,.menu-card>*,.contact-reservation{min-width:0}
.menu-card h3,.menu-card p,.guest-message-text,.story-copy,.contact-reservation{overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(32px,5vw,48px);overflow-wrap:anywhere}
.wp-content a{text-decoration:underline}

/* Tablet navigation must collapse before the logo, links and booking button overlap. */
@media(max-width:900px){
 header{height:74px;padding:0 5%;gap:12px}
 header .brand{gap:7px;font-size:28px}
 header .brand-icon{width:36px;height:36px}
 header .brand-name>span{display:none}
 .booking{margin-left:auto;font-size:12px;padding:10px 13px}
 .nav-toggle{display:block;border:1px solid #dce3d8;background:white;border-radius:5px;font-size:12px;padding:10px 12px;order:3}
 #main-nav{display:none;position:absolute;left:0;right:0;top:74px;background:#fff;padding:20px 6%;box-shadow:0 20px 25px #14231b15;flex-direction:column;align-items:flex-start;gap:22px}
 #main-nav.open{display:flex}
 #main-nav a{font-size:16px}
}
h1,h2,h3{overflow-wrap:anywhere}
@media(max-width:380px){
 header{gap:8px}header .brand{gap:5px;font-size:24px}
 header .brand-icon{width:29px;height:29px}
 .booking{font-size:11px;padding:9px 10px}.nav-toggle{padding:9px 10px}
 .celebrate h2{font-size:30px}
}
