:root{--forest:#17392f;--forest-deep:#0d271f;--sage:#9eae8b;--cream:#f5efe2;--paper:#fffaf0;--terracotta:#bc6347;--ink:#22251f;--muted:#6d7168}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;color:white}.heroImage{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.heroImage,.heroShade{position:absolute;inset:0}.heroShade{background:linear-gradient(180deg,rgba(10,25,18,.36),rgba(8,24,18,.36) 35%,rgba(6,20,15,.78))}.heroTopline{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 40px));letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:700}.heroContent{position:relative;width:min(980px,calc(100% - 38px));text-align:center;padding-top:60px}.eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800}.eyebrow.dark{color:var(--terracotta)}.contactCard h2,.hero h1,.intro h2,.locationCard h2,.menuCard h2,.reviewsHeader h2,.sectionHeading h2{font-family:Georgia,Times New Roman,serif;font-weight:400}.hero h1{margin:0;font-size:clamp(62px,11vw,145px);line-height:.78;letter-spacing:-.065em;text-shadow:0 4px 30px rgba(0,0,0,.25)}.hero h1 span{display:block;margin-top:.22em;font-size:.66em;font-style:italic;letter-spacing:-.04em}.heroLead{max-width:600px;margin:34px auto 0;font-family:Georgia,serif;font-size:clamp(18px,2vw,23px);line-height:1.55}.heroActions{display:flex;justify-content:center;gap:14px;margin-top:38px}.heroButton{min-width:178px;padding:17px 27px;border-radius:999px;border:1px solid rgba(255,255,255,.82);text-decoration:none;cursor:pointer;font-weight:800;letter-spacing:.04em;text-align:center;transition:.25s ease}.heroButtonPrimary{background:white;color:var(--forest-deep)}.heroButtonSecondary{background:rgba(13,39,31,.25);color:white;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.heroButton:hover{transform:translateY(-2px)}.heroScroll{position:absolute;bottom:25px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;opacity:.75}.sectionShell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.intro{padding:120px 0;text-align:center}.intro h2{max-width:850px;margin:0 auto;font-size:clamp(42px,6vw,76px);line-height:1.04;letter-spacing:-.04em;color:var(--forest-deep)}.intro>p:last-child{max-width:740px;margin:32px auto 0;font-size:18px;line-height:1.8;color:var(--muted)}.menuSection{min-height:920px;display:grid;grid-template-columns:1fr 1fr;background:var(--forest)}.menuPhoto{min-height:760px;overflow:hidden}.menuPhoto img{width:100%;height:100%;object-fit:cover}.menuCard{align-self:center;width:min(620px,calc(100% - 70px));margin:70px auto;padding:64px 70px;background:var(--paper);text-align:center;box-shadow:0 28px 70px rgba(0,0,0,.28);position:relative}.menuCard:before{content:"";position:absolute;inset:13px;border:1px solid rgba(23,57,47,.25);pointer-events:none}.menuDate{margin:0 0 18px;text-transform:capitalize;color:var(--muted);font-size:13px}.menuCard h2{margin:0;font-size:54px;color:var(--forest-deep)}.menuDivider{display:flex;align-items:center;gap:10px;margin:24px auto 30px;color:var(--terracotta)}.menuDivider:after,.menuDivider:before{content:"";height:1px;flex:1 1;background:rgba(188,99,71,.35)}.menuGroup{margin-top:26px}.menuGroup h3{margin:0 0 11px;color:var(--terracotta);text-transform:uppercase;letter-spacing:.18em;font-size:12px}.menuGroup p{margin:7px 0;font-family:Georgia,serif;font-size:18px;line-height:1.35}.menuGroup.compact p{font-size:16px}.menuPrice{margin:38px auto 12px;padding-top:25px;border-top:1px solid rgba(23,57,47,.22);display:flex;justify-content:space-between;align-items:baseline}.menuPrice span{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.menuPrice strong{font-family:Georgia,serif;font-size:33px;color:var(--forest)}.menuNote{margin:10px 0 0;font-size:12px;color:var(--muted)}.gallerySection{padding:120px 0}.sectionHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:54px}.locationCard h2,.reviewsHeader h2,.sectionHeading h2{margin:0;color:var(--forest-deep);font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.04em}.sectionHeading>p{max-width:360px;color:var(--muted);line-height:1.7}.galleryGrid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:330px 330px;grid-gap:18px;gap:18px}.galleryItem{margin:0;overflow:hidden}.galleryItem img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.galleryItem:hover img{transform:scale(1.035)}.galleryItem1{grid-row:1/3}.reviewsSection{padding:120px 0 100px;background:var(--forest-deep);color:white}.reviewsHeader{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.reviewsHeader h2{color:white}.ratingBlock{text-align:right}.ratingBlock strong{display:block;font-family:Georgia,serif;font-size:66px;font-weight:400}.ratingBlock span{display:block;letter-spacing:.2em;color:#f1c36a}.ratingBlock small{display:block;margin-top:8px;opacity:.7}.reviewsGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-top:55px}.reviewCard{min-height:310px;padding:38px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}.stars{color:#f1c36a;letter-spacing:.14em;font-size:13px}.reviewCard p{flex:1 1;margin:26px 0;font-family:Georgia,serif;font-size:21px;line-height:1.55}.reviewCard small{margin-top:7px;opacity:.6}.googleAttribution{margin-top:30px;font-size:10px;line-height:1.6;opacity:.52}.locationSection{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px;padding:110px 0;align-items:center;grid-gap:70px;gap:70px}.locationCard>p:nth-of-type(2){color:var(--muted);font-size:18px;line-height:1.7}.locationCard dl{margin:35px 0 0}.locationCard dl div{padding:15px 0;border-top:1px solid rgba(23,57,47,.16);display:grid;grid-template-columns:120px 1fr;grid-gap:20px;gap:20px}.locationCard dt{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.locationCard dd{margin:0;color:var(--muted)}.mapMock{height:460px;background:#d8ddc9;position:relative;overflow:hidden;border:12px solid rgba(255,255,255,.65);box-shadow:0 20px 50px rgba(23,57,47,.18)}.mapMock:before{content:"";position:absolute;inset:30px;border:2px dashed rgba(23,57,47,.25);border-radius:40% 55% 45% 55%}.mapRoad{position:absolute;background:#ede9dd;box-shadow:0 0 0 3px rgba(255,255,255,.7)}.roadOne{width:160%;height:52px;top:48%;left:-20%;transform:rotate(-17deg)}.roadTwo{width:55px;height:140%;left:65%;top:-20%;transform:rotate(8deg)}.mapPark{left:70px;top:95px;font-size:11px;letter-spacing:.18em;font-weight:800;color:rgba(23,57,47,.55)}.mapPark,.mapPin{position:absolute}.mapPin{left:58%;top:46%;width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--terracotta);transform:rotate(-45deg);box-shadow:0 8px 18px rgba(0,0,0,.2)}.mapPin:after{content:"";inset:9px;border-radius:50%}.mapPin span,.mapPin:after{position:absolute;background:white}.mapPin span{transform:rotate(45deg);top:44px;left:-37px;width:120px;padding:7px;color:var(--forest);font-size:11px;text-align:center;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.15)}footer{padding:35px max(20px,calc((100% - 1180px)/2));background:#091d17;color:rgba(255,255,255,.66);display:flex;justify-content:space-between;gap:25px;font-size:12px}footer strong{color:white}.contactOverlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:rgba(5,16,12,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contactCard{width:min(520px,100%);padding:52px;background:var(--paper);color:var(--ink);text-align:left;position:relative;box-shadow:0 35px 90px rgba(0,0,0,.4)}.closeButton{position:absolute;top:13px;right:18px;border:0;background:transparent;font-size:32px;cursor:pointer;color:var(--muted)}.contactCard h2{margin:0;font-size:55px;color:var(--forest)}.contactIntro{color:var(--muted);line-height:1.6}.contactLinks{display:grid;margin-top:28px}.contactLinks a{padding:18px 0;border-top:1px solid rgba(23,57,47,.16);text-decoration:none;display:flex;justify-content:space-between;gap:20px}.contactLinks span{color:var(--terracotta);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.contactLinks strong{text-align:right}.contactHours{margin:24px 0 0;font-size:12px;color:var(--muted)}.adminPage{min-height:100vh;padding:50px max(20px,calc((100% - 1120px)/2));background:#edf0e8}.adminHeader{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:30px}.adminHeader h1{margin:0;font-family:Georgia,serif;font-size:52px;color:var(--forest)}.adminHeader p{color:var(--muted)}.adminHeader a{padding:12px 17px;border:1px solid rgba(23,57,47,.25);border-radius:999px;text-decoration:none;font-weight:700}.adminPanel{padding:38px;background:white;border-radius:18px;box-shadow:0 15px 45px rgba(23,57,47,.1)}.adminMetaGrid{display:grid;grid-template-columns:1fr 1.4fr .7fr 1fr;grid-gap:16px;gap:16px;align-items:flex-end}.adminMetaGrid label,.adminNote{display:grid;grid-gap:8px;gap:8px;font-size:12px;font-weight:800;color:var(--forest)}.adminMetaGrid input,.adminNote textarea,.dishRow input,.dishRow select{width:100%;padding:13px 14px;border:1px solid #ced4c9;border-radius:9px;background:#fbfcf9;color:var(--ink)}.publishToggle{min-height:45px;display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:10px!important;padding:0 12px;border:1px solid #ced4c9;border-radius:9px}.publishToggle input{width:auto}.dishEditor{margin-top:36px}.dishEditorHeading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e6dd;padding-bottom:11px}.dishEditorHeading h2{margin:0;font-family:Georgia,serif;color:var(--forest)}.dishEditorHeading button{border:0;background:transparent;color:var(--terracotta);font-weight:800;cursor:pointer}.dishRows{display:grid;grid-gap:8px;gap:8px;margin-top:15px}.dishRow{display:grid;grid-template-columns:28px 210px 1fr 40px;grid-gap:9px;gap:9px;align-items:center}.dishRow>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf0e8;font-size:11px;font-weight:800}.removeDish{width:38px;height:38px;border:0;border-radius:50%;background:#fae9e4;color:#963e29;font-size:23px;cursor:pointer}.adminNote{margin-top:34px}.adminFooter{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid #e2e6dd}.adminFooter p{margin:0;color:var(--muted)}.adminError{color:#9b2f1f!important}.saveButton{padding:14px 22px;border:0;border-radius:999px;background:var(--forest);color:white;font-weight:800;cursor:pointer}.saveButton:disabled{opacity:.55;cursor:wait}@media (max-width:850px){.hero h1{font-size:clamp(64px,18vw,110px)}.menuSection{grid-template-columns:1fr}.menuPhoto{min-height:420px}.menuCard{margin-top:-80px;z-index:1;width:calc(100% - 30px);padding:55px 38px}.reviewsHeader,.sectionHeading{align-items:start;flex-direction:column}.ratingBlock{text-align:left}.locationSection,.reviewsGrid{grid-template-columns:1fr}.locationSection{gap:40px}.adminMetaGrid{grid-template-columns:1fr 1fr}.dishRow{grid-template-columns:28px 1fr 38px}.dishRow input,.dishRow select{grid-column:2/3}.removeDish{grid-column:3;grid-row:1/3}}@media (max-width:560px){.heroTopline{top:22px;text-align:center;font-size:9px}.heroActions{flex-direction:column;width:min(310px,100%);margin-inline:auto}.heroButton{width:100%}.intro{padding:85px 0}.gallerySection,.reviewsSection{padding-top:85px;padding-bottom:85px}.galleryGrid{grid-template-columns:1fr;grid-template-rows:repeat(3,320px)}.galleryItem1{grid-row:auto}.menuCard h2{font-size:43px}.contactCard{padding:44px 26px 30px}.contactLinks a{flex-direction:column;gap:6px}.contactLinks strong{text-align:left}.locationSection{padding-top:80px;padding-bottom:80px}.mapMock{height:350px}footer{flex-direction:column}.adminPage{padding-top:28px}.adminHeader{align-items:start;flex-direction:column}.adminHeader h1{font-size:42px}.adminPanel{padding:22px 16px}.adminMetaGrid{grid-template-columns:1fr}.adminFooter{align-items:stretch;flex-direction:column}.saveButton{width:100%}}