@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,600&family=Outfit:wght@400;500;600;700&display=swap");:root{--forest:#263f3a;--deep:#0c1b18;--ink:#33241f;--muted:#8b7c70;--cream:#f7f0ea;--cream-2:#fffaf5;--gold:#cfa673;--gold-dark:#9e7244;--line:rgba(51,36,31,0.14);--line-dark:rgba(247,240,234,0.18);--radius:8px;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Outfit","Helvetica Neue",sans-serif;--hero-northland-image:url(/assets/hero-black-olive-northland-1600.jpg);--hero-restaurant-image:url(/assets/hero-black-olive-1600.jpg)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--cream-2);color:var(--ink);font-family:var(--sans);line-height:1.5;margin:0}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page-shell{margin:0;overflow:hidden}.page-shell,.site-header{max-width:none;width:100%}.site-header{align-items:center;background:linear-gradient(180deg,rgba(12,27,24,.9),rgba(12,27,24,.58));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--cream-2);display:grid;grid-template-columns:170px 1fr 124px;height:74px;left:0;padding:0 clamp(18px,4vw,54px);position:fixed;right:0;top:0;transform:none;z-index:20}.brand{align-items:center;color:var(--gold);display:inline-flex;font-family:var(--serif);font-size:1.28rem;font-style:italic;font-weight:700;gap:10px;letter-spacing:0;white-space:nowrap}.brand-logo{background:#fff;border:3px solid #000;border-radius:50%;display:block;height:50px;object-fit:contain;padding:6px;width:50px}.site-nav{align-items:center;display:flex;gap:clamp(22px,3.2vw,46px);justify-content:center}.header-action,.site-nav a{color:rgba(255,250,245,.82);font-size:.72rem;font-weight:600}.header-action{justify-self:end}.header-action:hover,.site-nav a:hover{color:var(--gold)}.nav-toggle{background:rgba(12,27,24,.3);border:1px solid var(--line-dark);border-radius:50%;display:none;height:42px;padding:0;position:relative;width:42px}.nav-toggle span{background:var(--cream-2);height:1px;left:12px;position:absolute;transition:transform .18s ease;width:18px}.nav-toggle span:first-child{top:17px}.nav-toggle span:last-child{top:24px}.nav-open .nav-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-open .nav-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{align-items:center;background:linear-gradient(rgba(9,18,16,.58),rgba(9,18,16,.64)),var(--hero-northland-image);background-position:50%;background-size:cover;color:var(--cream-2);display:grid;min-height:100vh;padding:120px clamp(22px,6vw,90px) 96px;position:relative}.hero:after,.hero:before{border:1px solid rgba(207,166,115,.28);content:"";pointer-events:none;position:absolute}.hero:before{inset:92px 34px 34px}.hero:after{inset:112px 54px 54px;opacity:.44}.hero-content{animation:heroRise .9s ease .14s both;justify-self:center;max-width:760px;position:relative;text-align:center;z-index:2}.eyebrow{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.34em;margin:0 0 16px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:0}h1{font-size:clamp(4.6rem,9vw,8.6rem);line-height:.86;margin-bottom:22px}h2{font-size:clamp(2.7rem,5.8vw,5.8rem);line-height:.95;margin-bottom:0}h3{font-size:clamp(1.42rem,2vw,2rem);line-height:1.05;margin-bottom:8px}.hero-content p:not(.eyebrow){color:rgba(255,250,245,.74);font-size:.94rem;margin:0 auto 28px;max-width:460px}.button,.link-button{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:700;justify-content:center;min-height:42px;padding:0 22px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.button:hover,.link-button:hover{transform:translateY(-2px)}.button-light{background:var(--cream-2);color:var(--ink)}.button-outline,.link-button{background:transparent;border:1px solid rgba(51,36,31,.24);color:var(--ink)}.button-outline-dark{background:transparent;border:1px solid rgba(51,36,31,.34);color:var(--ink)}.site-footer .button-outline{border-color:var(--line-dark);color:var(--cream-2)}.button-gold{background:var(--gold);border:1px solid var(--gold);color:#fff9f1}.button:disabled,.link-button:disabled{cursor:wait;opacity:.72;transform:none}.admin-saving-spinner{animation:adminSavingSpin .7s linear infinite;border:2px solid rgba(255,249,241,.42);border-top-color:#fff9f1;border-radius:999px;display:inline-block;height:14px;margin-right:8px;width:14px}.admin-saving-spinner-danger{border-color:#874030 rgba(135,64,48,.24) rgba(135,64,48,.24);height:12px;width:12px}@keyframes adminSavingSpin{to{transform:rotate(1turn)}}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.hero[data-reveal]{opacity:1;transform:none}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.about-panel{align-items:stretch;background:var(--cream-2);display:grid;grid-template-columns:minmax(260px,.78fr) minmax(320px,.92fr) minmax(300px,.9fr);min-height:620px}.about-copy,.about-lede{align-content:center;display:grid;padding:clamp(42px,7vw,86px)}.about-lede{gap:22px}.about-lede h2{color:#4a352e}.about-copy p,.about-lede p:not(.eyebrow){color:var(--muted);margin:0}.about-image{background:linear-gradient(rgba(9,18,16,.2),rgba(9,18,16,.42)),var(--hero-northland-image);background-position:50%;background-size:cover;min-height:480px}.about-copy{background:#f3e9df;gap:28px}.about-copy article{border-bottom:1px solid rgba(51,36,31,.16);display:grid;grid-gap:12px;gap:12px;padding-bottom:28px}.about-copy article:last-child{border-bottom:0;padding-bottom:0}.about-copy span{color:var(--gold-dark);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.menu-panel{background:var(--cream-2)}.menu-heading{align-items:flex-end;display:flex;gap:28px;justify-content:space-between;padding:clamp(58px,8vw,96px) clamp(26px,6vw,86px) 32px}.menu-heading h2{color:#4a352e}.menu-mode-tabs{background:#efe5dc;border:1px solid var(--line);border-radius:999px;display:flex;flex-wrap:wrap;gap:4px;padding:4px}.menu-mode-tabs button{background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;flex:1 1 120px;font-size:.72rem;font-weight:700;min-height:40px;padding:0 18px;text-transform:uppercase;transition:background-color .18s ease,color .18s ease}.menu-mode-tabs button.is-active{background:var(--gold);color:#fff9f1}.menu-content{display:grid;grid-gap:clamp(30px,5vw,64px);gap:clamp(30px,5vw,64px);grid-template-columns:minmax(280px,.9fr) minmax(260px,.78fr);padding:0 clamp(26px,6vw,86px) clamp(58px,8vw,96px)}.menu-tabs{display:flex;flex-wrap:wrap;gap:18px;grid-column:1/-1}.menu-tabs button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:0;text-transform:uppercase;transition:color .18s ease,transform .18s ease}.menu-tabs button.is-active,.menu-tabs button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:6px}.menu-tabs button:hover{transform:translateY(-1px)}.menu-items{display:grid;grid-gap:0;gap:0}.menu-pane{animation:menuFade .26s ease both}.menu-pane[hidden]{display:none}.menu-pane article{align-items:start;border-bottom:1px solid var(--line);display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) auto;padding:20px 0}.menu-pane h3{color:#4a352e;font-size:1.32rem}.menu-pane p{color:var(--muted);font-size:.86rem;margin:0}.menu-pane span{color:var(--gold-dark);font-size:.78rem;font-weight:700}@keyframes menuFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-photo{background:linear-gradient(rgba(9,18,16,.08),rgba(9,18,16,.1)),var(--hero-restaurant-image);background-position:50%;background-size:cover;min-height:360px}.public-menu-page{background:var(--cream-2)}.public-menu-hero{align-items:end;background:linear-gradient(90deg,rgba(12,27,24,.88),rgba(12,27,24,.52)),var(--hero-restaurant-image);background-position:50%;background-size:cover;color:var(--cream-2);display:grid;grid-gap:34px;gap:34px;grid-template-columns:minmax(0,1fr) auto;min-height:62vh;padding:134px clamp(24px,6vw,86px) clamp(42px,7vw,78px);position:relative}.public-menu-hero:after{border:1px solid rgba(207,166,115,.3);content:"";inset:96px 34px 34px;pointer-events:none;position:absolute}.public-menu-hero-copy{max-width:760px;position:relative;z-index:1}.public-menu-hero h1{font-size:clamp(5.2rem,16vw,12rem);line-height:.78;margin-bottom:28px}.public-menu-hero-copy p:not(.eyebrow){color:rgba(255,250,245,.82);font-size:clamp(1rem,1.5vw,1.2rem);max-width:540px}.public-menu-hero-meta{align-self:end;border-left:1px solid rgba(207,166,115,.4);display:grid;grid-gap:10px;gap:10px;min-width:150px;padding-left:24px;position:relative;z-index:1}.public-menu-hero-meta span{color:var(--gold);font-family:var(--serif);font-size:1.55rem;font-style:italic;font-weight:700}.public-menu-browser{align-items:stretch;display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);min-height:680px;padding:clamp(46px,7vw,84px) clamp(24px,6vw,86px)}.public-menu-mobile-category-picker{display:none}.public-menu-sidebar{align-self:start;background:var(--deep);border:1px solid rgba(207,166,115,.3);color:var(--cream-2);display:grid;grid-gap:20px;gap:20px;grid-template-rows:auto auto;height:auto;padding:24px;position:-webkit-sticky;position:sticky;top:98px}.public-menu-sidebar .eyebrow{border-bottom:1px solid rgba(207,166,115,.34);margin:0;padding-bottom:16px}.public-menu-tab-list{align-content:flex-start;display:grid;grid-gap:16px;gap:16px;overflow-y:auto}.public-menu-tab-list button{align-items:center;background:transparent;border:0;color:rgba(255,250,245,.72);cursor:pointer;display:flex;justify-content:flex-start;min-height:30px;padding:0;text-align:left;transition:color .18s ease,transform .18s ease}.public-menu-tab-list button.is-active,.public-menu-tab-list button:hover{color:var(--gold);transform:translateX(2px)}.public-menu-tab-list span{font-family:var(--serif);font-size:1.46rem;font-weight:700;letter-spacing:0;line-height:1.05}.public-menu-workspace{background:linear-gradient(90deg,rgba(239,229,220,.7),rgba(255,250,245,.96) 16%),var(--cream-2);border:1px solid var(--line);border-left:0;min-width:0;padding:clamp(24px,4vw,46px)}.public-menu-empty{border:1px solid var(--line);color:var(--muted);padding:26px}.public-menu-panel{animation:menuFade .24s ease both;display:grid;grid-gap:28px;gap:28px;min-width:0}.public-menu-panel-heading{align-items:end;border-bottom:2px solid rgba(207,166,115,.52);display:grid;grid-gap:18px;gap:18px;min-width:0;padding-bottom:20px}.public-menu-panel-heading>div{min-width:0}.public-menu-panel-heading .eyebrow{margin-bottom:8px}.public-menu-panel-heading h2{color:#4a352e;font-size:clamp(3rem,7vw,5.6rem);line-height:.9;max-width:100%}.public-menu-fit-heading{display:block;inline-size:100%;max-width:100%;min-width:0;overflow:hidden;overflow-wrap:normal;text-overflow:clip;word-break:normal}.public-menu-fit-heading.is-single-word{white-space:nowrap}.public-menu-fit-heading.is-multi-word{white-space:normal}.public-menu-panel-heading>span,.public-menu-subcategory-heading span{color:var(--gold-dark);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.public-menu-category-tabs{border-bottom:1px solid var(--line);display:flex;gap:6px;overflow-x:auto;padding-bottom:0}.public-menu-category-tabs button{background:#efe5dc;border:1px solid var(--line);border-bottom:0;color:var(--muted);cursor:pointer;flex:0 0 auto;font-size:.72rem;font-weight:800;letter-spacing:.08em;min-height:44px;padding:0 16px;text-transform:uppercase;transition:background-color .18s ease,color .18s ease}.public-menu-category-tabs button.is-active,.public-menu-category-tabs button:hover{background:var(--cream-2);color:var(--ink)}.public-menu-list{display:grid;grid-gap:30px;gap:30px}.public-menu-subcategory{display:grid;grid-gap:8px;gap:8px}.public-menu-subcategory-heading{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:12px 0}.public-menu-subcategory-heading h3{color:var(--forest);font-family:var(--sans);font-size:.9rem;font-weight:800;letter-spacing:.16em;margin:0;text-transform:uppercase}.public-menu-items{display:grid}.public-menu-item{align-items:start;border-bottom:1px solid var(--line);display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) auto;padding:18px 0}.public-menu-item h4{color:#4a352e;font-family:var(--serif);font-size:1.34rem;line-height:1.05;margin:0 0 6px}.public-menu-item p{color:var(--muted);font-size:.88rem;margin:0;max-width:58ch}.public-menu-item span{color:var(--gold-dark);font-size:.78rem;font-weight:800;text-align:right;white-space:nowrap}.public-menu-note{border-top:1px solid rgba(207,166,115,.36);color:var(--gold-dark);font-family:var(--serif);font-size:clamp(1.05rem,1.55vw,1.32rem);font-style:italic;font-weight:600;line-height:1.28;margin:4px auto 0;max-width:56ch;overflow-wrap:anywhere;padding-top:18px;text-align:center;white-space:pre-line}.public-menu-note-category{color:#6f5547;margin-top:2px}.booking-panel,.contact-panel{background:linear-gradient(180deg,var(--cream-2),var(--cream));display:grid;grid-gap:clamp(34px,5vw,72px);gap:clamp(34px,5vw,72px);grid-template-columns:minmax(260px,.68fr) minmax(0,1fr);padding:clamp(58px,8vw,96px) clamp(26px,6vw,86px)}.contact-panel{align-items:start;background:linear-gradient(rgba(12,27,24,.84),rgba(12,27,24,.9)),var(--hero-northland-image);background-position:50%;background-size:cover;border-top:0;color:var(--cream-2);grid-template-areas:"copy form" "map map";min-height:560px}.booking-copy,.contact-copy{align-self:start}.contact-copy{display:grid;grid-gap:22px;gap:22px;grid-area:copy}.booking-copy h2,.contact-copy h2{color:#4a352e;font-size:clamp(2.6rem,5vw,5rem)}.contact-copy h2{color:var(--cream-2);font-size:clamp(3.2rem,6vw,6rem);line-height:.96;margin-bottom:0;max-width:560px}.booking-copy p:not(.eyebrow),.contact-copy p:not(.eyebrow){color:var(--muted);max-width:340px}.contact-copy p:not(.eyebrow){color:rgba(255,250,245,.72);font-size:1rem;line-height:1.55;margin:0;max-width:440px}.contact-location-block{background:rgba(255,250,245,.08);border:1px solid rgba(247,240,234,.18);display:grid;grid-area:map;justify-self:center;margin-top:clamp(2px,1vw,10px);max-width:980px;width:min(100%,980px)}.contact-map-frame{aspect-ratio:16/7;background:rgba(12,27,24,.62);min-height:320px;overflow:hidden}.contact-map-frame iframe,.contact-map-placeholder{border:0;display:block;height:100%;width:100%}.contact-map-placeholder{align-items:center;color:rgba(255,250,245,.74);display:grid;grid-gap:10px;gap:10px;justify-items:center}.contact-map-placeholder svg{color:var(--gold);height:24px;width:24px}.contact-location-footer{display:grid;grid-gap:14px;gap:14px;padding:16px}.contact-action-link,.contact-address-line,.contact-directions-link{align-items:center;color:var(--cream-2);display:inline-grid;gap:9px;grid-template-columns:18px minmax(0,max-content);max-width:100%;text-decoration:none;transition:color .18s ease,transform .18s ease}.contact-address-line{color:rgba(255,250,245,.84);font-size:.96rem;line-height:1.45}.contact-action-link span,.contact-address-line span{overflow-wrap:anywhere}.contact-action-link svg,.contact-address-line svg,.contact-directions-link svg{color:var(--gold);height:18px;width:18px}.contact-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.contact-action-link,.contact-directions-link{background:rgba(255,250,245,.1);border:1px solid rgba(247,240,234,.18);font-size:.86rem;font-weight:800;min-height:40px;padding:0 12px}.contact-directions-link{background:var(--gold);border-color:var(--gold);color:var(--deep);letter-spacing:.06em;text-transform:uppercase}.contact-directions-link svg{color:currentColor}.contact-action-link:hover,.contact-address-line:hover,.contact-directions-link:hover{color:var(--gold);transform:translateY(-2px)}.contact-directions-link:hover{background:var(--cream-2);border-color:var(--cream-2);color:var(--deep)}.booking-form,.contact-form{display:grid;grid-gap:22px;gap:22px}.contact-form{background:rgba(255,250,245,.94);border:1px solid rgba(207,166,115,.34);grid-area:form;padding:clamp(26px,4vw,46px)}.contact-form .button{justify-self:start}.field-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.time-picker-field{color:var(--gold-dark);display:grid;font-size:.7rem;font-weight:700;grid-gap:8px;gap:8px;letter-spacing:.1em;text-transform:uppercase}.time-picker{min-width:0;position:relative}.time-picker-trigger{align-items:center;background:rgba(255,250,245,.72);border:1px solid rgba(51,36,31,.2);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:18px minmax(0,1fr) 18px;min-height:46px;padding:10px 12px;text-align:left;width:100%}.time-picker-trigger:focus-visible{background:var(--cream-2);border-color:var(--gold-dark);outline:none}.time-picker-trigger:disabled{cursor:not-allowed;opacity:.58}.time-picker-trigger svg{height:17px;width:17px}.time-picker-trigger svg:last-child{justify-self:end}.time-picker-panel{background:var(--cream-2);border:1px solid rgba(51,36,31,.2);box-shadow:0 18px 40px rgba(51,36,31,.16);left:0;padding:12px;position:absolute;top:calc(100% + 7px);width:min(430px,calc(200% + 16px));z-index:12}.time-picker-periods{border-bottom:1px solid var(--line);display:flex;gap:4px;margin-bottom:12px}.time-picker-periods button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;flex:1 1;font-size:.72rem;font-weight:800;padding:8px 4px 9px}.time-picker-periods button.is-active{border-bottom-color:var(--gold-dark);color:var(--gold-dark)}.time-picker-slots{display:grid;grid-gap:7px;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr));max-height:270px;overflow-y:auto}.time-picker-slots button{background:rgba(247,240,234,.62);border:1px solid rgba(51,36,31,.14);border-radius:4px;color:var(--ink);cursor:pointer;font-size:.72rem;font-weight:700;min-height:38px;padding:7px 5px;white-space:nowrap}.time-picker-slots button.is-selected,.time-picker-slots button:focus-visible,.time-picker-slots button:hover{background:var(--forest);border-color:var(--forest);color:var(--cream-2);outline:none}label{color:var(--gold-dark);display:grid;font-size:.7rem;font-weight:700;grid-gap:8px;gap:8px;letter-spacing:.1em;text-transform:uppercase}input,select,textarea{background:rgba(255,250,245,.72);border:1px solid rgba(51,36,31,.2);border-radius:var(--radius);color:var(--ink);font-size:1rem;line-height:1.2;min-height:46px;outline:none;padding:10px 12px;width:100%}input[type=date],input[type=number],input[type=time]{height:46px}input[type=date],input[type=time]{-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{min-height:1.2em;text-align:left}textarea{min-height:104px;resize:vertical}input:focus,select:focus,textarea:focus{background:var(--cream-2);border-color:var(--gold-dark)}.reservation-submit-button{gap:9px}.reservation-submit-spinner{animation:reservationSubmitSpin .76s linear infinite;border-radius:999px;border:2px solid rgba(255,249,241,.44);border-top-color:#fff9f1;display:inline-block;height:15px;width:15px}.form-status{color:var(--muted);margin:0;min-height:24px}.form-status.is-sending{animation:reservationStatusPulse 1.1s ease-in-out infinite;color:var(--gold-dark)}@keyframes reservationSubmitSpin{to{transform:rotate(1turn)}}@keyframes reservationStatusPulse{0%,to{opacity:.58}50%{opacity:1}}.cf-turnstile{max-width:100%;overflow:hidden}.site-footer{align-items:flex-start;background:var(--cream);border-top:1px solid rgba(51,36,31,.12);color:var(--ink);display:flex;gap:34px;justify-content:space-between;padding:42px clamp(26px,6vw,86px)}.site-footer p{color:var(--muted);margin:8px 0 0}.admin-auth{align-items:center;background:linear-gradient(rgba(12,27,24,.82),rgba(12,27,24,.9)),var(--hero-northland-image);background-position:50%;background-size:cover;display:grid;justify-items:center;min-height:100vh;padding:clamp(24px,6vw,80px);position:relative}.admin-auth-header{align-items:center;display:flex;justify-content:space-between;left:0;padding:26px clamp(22px,4vw,52px);position:absolute;right:0;top:0;z-index:2}.admin-home-link{align-items:center;background:rgba(255,250,245,.1);border:1px solid rgba(255,250,245,.28);border-radius:50%;color:var(--cream-2);display:inline-flex;height:44px;justify-content:center;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;width:44px}.admin-home-link:hover{background:rgba(255,250,245,.18);border-color:var(--gold);transform:translateY(-1px)}.admin-home-link svg{fill:none;height:21px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:21px}.admin-auth-panel{background:rgba(255,250,245,.96);border:1px solid rgba(207,166,115,.34);display:grid;grid-gap:28px;gap:28px;max-width:460px;padding:clamp(28px,5vw,52px);width:min(100%,460px)}.admin-auth-panel-reset{justify-items:center;gap:24px;max-width:760px;width:min(100%,760px)}.admin-auth-panel-reset>*{max-width:620px;width:min(100%,620px)}.admin-auth-heading{display:grid;grid-gap:14px;gap:14px}.admin-auth-panel h1{color:#4a352e;font-size:clamp(2.6rem,4.4vw,3.7rem);line-height:.92;margin:0;white-space:nowrap}.admin-auth-panel p:not(.eyebrow){color:var(--muted);margin:0}.admin-auth-text-button{background:transparent;border:0;color:var(--gold-dark);cursor:pointer;font-size:.72rem;font-weight:700;justify-self:start;letter-spacing:.1em;padding:0;text-transform:uppercase}.admin-auth-text-button:focus-visible,.admin-auth-text-button:hover{color:var(--forest);outline:none;text-decoration:underline;text-underline-offset:4px}.admin-auth-steps{align-items:center;border-top:1px solid rgba(51,36,31,.12);display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px}.admin-auth-steps span{border:1px solid rgba(51,36,31,.14);color:var(--muted);display:inline-grid;font-size:.66rem;font-weight:700;height:30px;letter-spacing:.1em;place-items:center;text-transform:uppercase}.admin-auth-steps span.is-active{background:var(--forest);border-color:var(--forest);color:var(--cream-2)}.admin-auth-reset-form{gap:16px;justify-items:center}.admin-auth-reset-form>.admin-auth-reset-email,.admin-auth-reset-form>.form-status,.admin-auth-reset-form>label{width:100%}.admin-auth-actions{align-items:center;display:grid;grid-gap:14px;gap:14px;justify-items:center;width:100%}.admin-auth-reset-form .admin-auth-actions .button{justify-self:center;max-width:560px;width:min(100%,560px)}.admin-auth-actions .admin-auth-text-button{justify-self:center;text-align:center}.admin-auth-reset-email{background:rgba(255,250,245,.68);border:1px solid rgba(51,36,31,.12);color:var(--ink);font-size:.86rem;margin:-2px 0 2px;overflow-wrap:anywhere;padding:10px 12px}.admin-auth-code-input{font-size:1.35rem;font-weight:700;letter-spacing:.18em;min-height:56px;text-align:center}.admin-auth-reset-form .form-status:empty{display:none}.admin-setup-password-panel{gap:24px;width:min(100%,430px)}.admin-setup-password-panel h1{font-size:clamp(2.4rem,4vw,3.35rem);line-height:.98;margin-bottom:0;white-space:normal}.admin-setup-password-form .button{justify-self:stretch;width:100%}.admin-setup-password-form .form-status:empty{display:none}.admin-gate{align-items:center;background:var(--deep);color:var(--cream-2);justify-items:center}.admin-gate,.admin-shell{display:grid;min-height:100vh}.admin-shell{background:#fffaf5;color:var(--ink);grid-template-columns:260px minmax(0,1fr)}.admin-sidebar{align-content:start;background:var(--deep);color:var(--cream-2);display:grid;grid-gap:34px;gap:34px;padding:28px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.admin-sidebar nav{display:grid;grid-gap:8px;gap:8px}.admin-actions button,.admin-list button,.admin-sidebar nav button{background:transparent;border:1px solid transparent;color:inherit;cursor:pointer;font-size:.78rem;font-weight:700;min-height:38px;padding:0 12px;text-align:left}.admin-sidebar nav button{color:rgba(255,250,245,.72)}.admin-sidebar nav button.is-active,.admin-sidebar nav button:hover{border-color:rgba(207,166,115,.34);color:var(--gold)}.admin-sidebar .button-outline-dark{border-color:rgba(247,240,234,.28);color:var(--cream-2);justify-self:start}.admin-workspace{align-content:start;display:grid;grid-gap:26px;gap:26px;grid-auto-rows:max-content;padding:clamp(24px,4vw,48px)}.admin-topbar{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;padding-bottom:24px}.admin-topbar h1{color:#4a352e;font-size:clamp(2.6rem,5vw,5rem)}.admin-status,.admin-topbar>p{color:var(--muted);margin:0}.admin-reservations{display:grid;grid-gap:20px;gap:20px}.admin-reservation-toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding-bottom:16px}.admin-reservation-toolbar h2{color:#4a352e;font-family:var(--sans);font-size:.82rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.admin-toolbar-actions{align-items:center;display:flex;gap:10px}.admin-icon-button.is-active{background:var(--forest);border-color:var(--forest);color:var(--cream-2)}.admin-reservation-search{align-items:end;background:rgba(247,240,234,.42);border:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;padding:16px}.admin-reservation-search label{color:var(--muted);display:grid;font-size:.76rem;font-weight:800;grid-gap:7px;gap:7px;text-transform:uppercase}.admin-reservation-search input{background:rgba(255,250,245,.86);border:1px solid rgba(51,36,31,.18);border-radius:0;color:var(--ink);min-height:42px;padding:0 12px}.admin-reservation-search-actions{align-items:center;display:flex;gap:8px}.admin-reservation-search-actions .button{gap:8px;white-space:nowrap}.admin-manual-reservation{background:rgba(247,240,234,.5);border:1px solid var(--line);padding:20px}.admin-manual-reservation-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(140px,1fr))}.admin-setting-row{align-items:center;background:rgba(255,250,245,.64);border:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:16px}.admin-setting-row h3{font-family:var(--sans);font-size:.86rem;font-weight:800;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.admin-setting-row p{color:var(--muted);font-size:.84rem;margin:0}.admin-reservation-settings{background:rgba(247,240,234,.5);border:1px solid var(--line);padding:20px}.admin-reservation-settings h2{font-family:var(--sans);font-size:1rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.admin-reservation-settings-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(140px,1fr))}.admin-site-settings{max-width:760px}.admin-site-settings-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(180px,1fr))}.admin-opening-days{border:0;margin:0;padding:0}.admin-opening-days legend{color:var(--ink);font-size:.78rem;font-weight:800;margin-bottom:9px}.admin-opening-days>div{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(7,minmax(54px,1fr))}.admin-opening-days label{cursor:pointer}.admin-opening-days input{block-size:1px;inline-size:1px;opacity:0;position:absolute}.admin-opening-days span{align-items:center;background:rgba(255,250,245,.72);border:1px solid rgba(51,36,31,.18);color:var(--muted);display:flex;font-size:.76rem;font-weight:800;height:38px;justify-content:center}.admin-opening-days input:checked+span{background:var(--forest);border-color:var(--forest);color:var(--cream-2)}.admin-opening-days input:focus-visible+span{outline:2px solid var(--gold-dark);outline-offset:2px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;min-width:880px;width:100%}.admin-table th{color:var(--gold-dark);font-size:.68rem;letter-spacing:.12em;padding:12px 10px;text-align:left;text-transform:uppercase}.admin-table td,.admin-table th{border-bottom:1px solid var(--line)}.admin-table td{color:var(--ink);padding:16px 10px;vertical-align:top}.admin-table tr.is-confirmed td{background:rgba(108,146,112,.14)}.admin-table tr.is-pending td{background:rgba(186,218,242,.34)}.admin-table tr.is-declined td{background:rgba(135,64,48,.12)}.admin-table tr.is-confirmed td:first-child{box-shadow:inset 3px 0 0 rgba(108,146,112,.8)}.admin-table tr.is-pending td:first-child{box-shadow:inset 3px 0 0 rgba(82,145,190,.72)}.admin-table tr.is-declined td:first-child{box-shadow:inset 3px 0 0 rgba(135,64,48,.74)}.admin-table td span{color:var(--muted);display:block;font-size:.82rem;margin-top:4px}.admin-actions{display:flex;gap:8px}.admin-status-button{min-width:82px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease,transform .18s ease}.admin-actions button,.admin-list button{border-color:rgba(51,36,31,.18);color:var(--ink)}.admin-actions button:hover,.admin-list button.is-active,.admin-list button:hover{border-color:var(--gold);color:var(--gold-dark)}.admin-actions button:disabled{cursor:default;opacity:.68}.admin-actions button:disabled:hover{border-color:rgba(51,36,31,.18);color:var(--ink);transform:none}.admin-status-button.is-confirmed,.admin-status-button.is-declined{animation:adminStatusSettle .76s cubic-bezier(.2,.8,.2,1) both;color:var(--cream-2)}.admin-status-button.is-confirmed{background:var(--forest);border-color:var(--forest)}.admin-status-button.is-declined{background:#874030;border-color:#874030}.admin-status-button.is-confirmed svg,.admin-status-button.is-declined svg{animation:adminStatusIconDraw .62s cubic-bezier(.16,1,.3,1) 80ms both;display:block;height:18px;margin:0 auto;stroke-width:3;width:18px}@keyframes adminStatusSettle{0%{opacity:.78;transform:scale(.96)}55%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes adminStatusIconDraw{0%{opacity:0;stroke-dasharray:24;stroke-dashoffset:24;transform:scale(.7) rotate(-8deg)}70%{opacity:1;stroke-dasharray:24;stroke-dashoffset:0;transform:scale(1.08) rotate(0)}to{opacity:1;stroke-dasharray:24;stroke-dashoffset:0;transform:scale(1) rotate(0)}}.admin-notes-button{height:34px;width:34px}.admin-notes-button.is-empty{cursor:default;opacity:.42}.admin-notes-button.is-empty:hover{background:rgba(255,250,245,.82);color:var(--forest);transform:none}.admin-reservation-notes-modal{width:min(480px,100%)}.admin-reservation-note-text{background:rgba(255,250,245,.76);border:1px solid var(--line);color:var(--ink);line-height:1.7;margin:0;padding:18px;white-space:pre-wrap}.admin-menu-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr)}.admin-menu-layout{align-items:flex-start;display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(300px,.46fr) minmax(0,1fr)}.admin-menu-builder{display:grid;grid-gap:22px;gap:22px}.admin-menu-breadcrumb{align-items:center;color:var(--muted);display:flex;font-size:.86rem;gap:8px}.admin-menu-breadcrumb span:first-child,.admin-menu-breadcrumb strong{color:var(--gold-dark)}.admin-menu-summary{align-items:flex-start;background:rgba(255,250,245,.82);border:1px solid var(--line);display:flex;gap:22px;justify-content:space-between;padding:clamp(22px,3vw,34px)}.admin-menu-summary h2{color:#4a352e;font-size:clamp(2.2rem,4vw,3.8rem);margin:10px 0 8px}.admin-menu-summary p{color:var(--muted);margin:0;max-width:620px}.admin-menu-select-label{max-width:340px}.admin-menu-summary-actions{align-items:center;display:flex;justify-content:flex-end}.admin-menu-icon-actions{align-items:center;background:rgba(255,250,245,.74);border:1px solid rgba(51,36,31,.12);border-radius:999px;display:flex;gap:8px;padding:5px 5px 5px 12px}.admin-menu-icon-actions .admin-switch{border-right:1px solid rgba(51,36,31,.12);margin-right:2px;padding-right:12px}.admin-icon-button{align-items:center;background:var(--forest);border:1px solid rgba(38,63,58,.18);border-radius:999px;color:var(--cream-2);cursor:pointer;display:inline-flex;font-size:1.3rem;font-weight:700;height:38px;justify-content:center;line-height:1;padding:0;position:relative;transition:background-color .18s ease,transform .18s ease;width:38px}.admin-icon-button svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.admin-icon-button-secondary{background:rgba(255,250,245,.82);border-color:rgba(51,36,31,.18);color:var(--forest)}.admin-icon-button:hover{background:var(--deep);transform:translateY(-2px)}.admin-icon-button[title]:focus-visible:after,.admin-icon-button[title]:hover:after{background:var(--deep);border:1px solid rgba(247,240,234,.16);border-radius:var(--radius);bottom:calc(100% + 8px);color:var(--cream-2);content:attr(title);font-size:.72rem;font-weight:700;line-height:1.2;padding:7px 9px;position:absolute;right:0;white-space:nowrap;z-index:5}.admin-menu-board{align-items:stretch;background:rgba(255,250,245,.72);border:1px solid var(--line);display:grid;grid-template-columns:minmax(240px,.32fr) minmax(520px,1fr);min-height:640px}.admin-category-rail,.admin-menu-items-panel{min-width:0;padding:clamp(22px,3vw,32px)}.admin-category-rail{background:rgba(255,250,245,.54)}.admin-menu-items-panel{background:rgba(255,250,245,.32);border-left:1px solid var(--line);display:grid;grid-gap:26px;gap:26px;align-content:start}.admin-modal-backdrop{align-items:center;background:rgba(12,27,24,.5);display:flex;inset:0;justify-content:center;padding:22px;position:fixed;z-index:60}.admin-modal{background:var(--cream-2);border:1px solid rgba(207,166,115,.34);box-shadow:0 24px 70px rgba(12,27,24,.28);display:grid;grid-gap:22px;gap:22px;max-height:min(760px,calc(100dvh - 44px));overflow:auto;padding:clamp(22px,4vw,34px);width:min(560px,100%)}.admin-modal-heading{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.admin-modal-heading h3{color:#4a352e;font-family:var(--serif);font-size:clamp(2.2rem,6vw,3.2rem);line-height:.95;margin:6px 0 0}.admin-modal-heading .admin-icon-button{background:transparent;border-color:rgba(51,36,31,.18);color:var(--ink);font-size:1rem;height:36px;width:36px}.admin-modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.admin-heading-actions{align-items:center;display:inline-flex;gap:10px;min-width:0}.admin-inline-icon-button{align-items:center;background:var(--forest);border:1px solid rgba(38,63,58,.18);border-radius:999px;color:var(--cream-2);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:1rem;font-weight:700;height:30px;justify-content:center;line-height:1;padding:0;transition:background-color .18s ease,transform .18s ease;width:30px}.admin-inline-icon-button:hover{background:var(--deep);transform:translateY(-1px)}.admin-category-list{display:grid;grid-gap:8px;gap:8px;margin-top:20px}.admin-category-row,.admin-subcategory-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;position:relative}.admin-category-row.is-dragging,.admin-subcategory-row.is-dragging{opacity:.46}.admin-drag-handle{color:rgba(51,36,31,.34);cursor:-webkit-grab;cursor:grab;font-size:1rem;font-weight:800;letter-spacing:-.22em;line-height:1;padding:0 2px 0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-category-row:active .admin-drag-handle,.admin-subcategory-row:active .admin-drag-handle{cursor:-webkit-grabbing;cursor:grabbing}.admin-category-row.is-active .admin-drag-handle,.admin-category-row:hover .admin-drag-handle,.admin-subcategory-row.is-active .admin-drag-handle,.admin-subcategory-row:hover .admin-drag-handle{color:var(--gold-dark)}.admin-category-select,.admin-subcategory-select{align-items:center;background:transparent;border:1px solid transparent;color:var(--ink);cursor:pointer;display:grid;font-weight:700;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:50px;padding:0 14px;text-align:left;width:100%}.admin-category-select span,.admin-subcategory-select span{overflow-wrap:anywhere}.admin-category-select small,.admin-subcategory-select small{background:rgba(51,36,31,.08);color:var(--muted);min-width:28px;padding:4px 8px;text-align:center}.admin-category-row.is-active .admin-category-select,.admin-subcategory-row.is-active .admin-subcategory-select{background:rgba(207,166,115,.16);border-color:rgba(207,166,115,.28);color:var(--gold-dark)}.admin-category-row.is-active .admin-category-select small,.admin-subcategory-row.is-active .admin-subcategory-select small{background:var(--gold);color:#fff9f1}.admin-dot-button{align-items:center;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;display:inline-flex;font-size:1.25rem;font-weight:700;height:34px;justify-content:center;line-height:1;padding:0;width:34px}.admin-dot-button:hover{border-color:rgba(207,166,115,.34);color:var(--gold-dark)}.admin-row-actions{position:relative}.admin-create-choice,.admin-row-menu{background:var(--cream-2);border:1px solid rgba(51,36,31,.14);box-shadow:0 14px 34px rgba(51,36,31,.12);display:grid;min-width:132px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:8}.admin-create-choice button,.admin-row-menu button{background:transparent;border:0;color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:700;min-height:34px;padding:0 10px;text-align:left}.admin-create-choice button:hover,.admin-row-menu button:hover{background:rgba(207,166,115,.14);color:var(--gold-dark)}.admin-row-menu button:disabled{cursor:wait;opacity:.72}.admin-row-menu button.is-danger{color:#874030}.admin-create-split{position:relative}.admin-item-subcategory-grid{align-items:stretch;display:grid;grid-gap:0;gap:0;grid-template-columns:minmax(300px,.48fr) minmax(340px,1fr);min-height:470px}.admin-subcategory-panel{border-right:1px solid var(--line);display:grid;grid-gap:16px;gap:16px;align-content:start;padding-right:clamp(14px,1.6vw,20px)}.admin-subcategory-list{display:grid;grid-gap:8px;gap:8px}.admin-items-workspace{display:grid;grid-gap:18px;gap:18px;align-content:start;min-width:0}.admin-item-subcategory-grid .admin-items-workspace{padding-left:clamp(14px,1.6vw,20px)}.admin-switch{align-items:center;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:10px;letter-spacing:0;text-transform:none;white-space:nowrap}.admin-switch input{inline-size:1px;block-size:1px;opacity:0;position:absolute}.admin-switch span{background:rgba(51,36,31,.18);border-radius:999px;display:inline-flex;height:24px;position:relative;width:44px}.admin-switch span:after{background:#fff;border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:background-color .18s ease,transform .18s ease;width:18px}.admin-switch input:checked+span{background:var(--forest)}.admin-switch input:checked+span:after{transform:translateX(20px)}.admin-menu-item-groups,.admin-menu-items{display:grid;grid-gap:0;gap:0}.admin-menu-item-group{display:grid;grid-gap:16px;gap:16px;padding-top:8px}.admin-menu-item-group+.admin-menu-item-group{border-top:1px solid var(--line);margin-top:16px;padding-top:26px}.admin-menu-item-group h4{color:#4a352e;font-family:var(--serif);font-size:1.6rem;margin:0}.admin-menu-item-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;grid-template-columns:22px 58px minmax(0,1fr) auto auto;min-height:96px;padding:16px 0}.admin-drag-handle{color:var(--muted);font-weight:700;letter-spacing:.08em}.admin-item-thumb{align-items:center;background:rgba(207,166,115,.16);color:var(--gold-dark);display:flex;font-family:var(--serif);font-size:1.6rem;font-weight:700;height:58px;justify-content:center;width:58px}.admin-menu-item-row strong{color:var(--ink)}.admin-menu-item-row p{color:var(--muted);margin:3px 0}.admin-menu-item-row div>span{color:var(--gold-dark);font-weight:700}.admin-panel{border-top:1px solid var(--line);display:grid;grid-gap:18px;gap:18px;padding-top:22px}.admin-panel h2{color:#4a352e;font-size:2.2rem}.admin-panel-heading{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.admin-helper,.admin-panel-heading p{color:var(--muted);margin:4px 0 0}.admin-panel-wide{grid-column:1/-1}.admin-form{display:grid;grid-gap:18px;gap:18px}.admin-form-note{color:var(--muted);font-size:.82rem;line-height:1.5;margin:-8px 0 0}.admin-compact-form{border-top:1px solid var(--line);margin-top:4px;padding-top:18px}.admin-compact-form h3{color:#4a352e;font-size:1.42rem;margin:0}.admin-inline-form{align-items:end;border-top:1px solid var(--line);grid-template-columns:minmax(180px,.85fr) minmax(180px,1fr) auto;padding-top:16px}.admin-form .button{justify-self:start}.admin-list{display:grid;grid-gap:8px;gap:8px}.admin-empty{color:var(--muted);font-size:.86rem;margin:4px 0 0}.admin-category-table{min-width:0}.admin-category-table tr.is-active td{background:rgba(207,166,115,.08)}.admin-row-button{background:transparent;border:0;color:var(--ink);cursor:pointer;font:inherit;font-weight:700;padding:0;text-align:left}.admin-row-button:hover{color:var(--gold-dark)}.admin-subsection{border-top:1px solid var(--line);display:grid;grid-gap:16px;gap:16px;padding-top:18px}.admin-section-heading{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.admin-section-heading p{color:var(--muted);margin:4px 0 0}.admin-item-group h4,.admin-section-heading h3,.admin-section-heading h4{color:#4a352e;font-family:var(--serif);font-size:1.48rem;line-height:1;margin:0}.admin-section-heading span{color:var(--gold-dark);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.admin-item-groups{display:grid;grid-gap:22px;gap:22px}.admin-item-group{display:grid;grid-gap:8px;gap:8px}.admin-item-list{display:grid}.admin-item-list article{align-items:start;border-bottom:1px solid var(--line);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding:16px 0}.admin-item-list p{color:var(--muted);margin:4px 0 0}.admin-item-list span{color:var(--gold-dark);font-weight:700}.staff-controls{align-items:center;display:flex;gap:10px}.staff-access-list{gap:0}.staff-access-row{align-items:center;grid-template-columns:minmax(220px,1fr) minmax(360px,auto)}.staff-member{min-width:0}.staff-member p,.staff-member strong{overflow-wrap:anywhere}.staff-status{border:1px solid rgba(51,36,31,.16);color:var(--muted);display:inline-flex;font-size:.66rem;font-weight:700;letter-spacing:.1em;margin-top:10px;min-height:26px;padding:5px 9px;text-transform:uppercase}.staff-status.is-active{border-color:rgba(38,63,58,.28);color:var(--forest)}.staff-control{display:grid;grid-gap:6px;gap:6px;min-width:132px}.staff-control>span{color:var(--gold-dark);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.staff-controls select{min-width:112px}.staff-controls button{background:transparent;border:1px solid rgba(51,36,31,.18);color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:700;min-height:38px;padding:0 12px;white-space:nowrap}.staff-controls button.is-danger{border-color:rgba(135,64,48,.28);color:#874030}.staff-controls button.is-restore{border-color:rgba(38,63,58,.28);color:var(--forest)}.staff-controls button:disabled,.staff-controls select:disabled{cursor:not-allowed;opacity:.45}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}@media (max-width:720px){:root{--hero-northland-image:url(/assets/hero-black-olive-northland-900.jpg);--hero-restaurant-image:url(/assets/hero-black-olive-900.jpg)}}@media (max-width:1180px){.admin-item-subcategory-grid{grid-template-columns:1fr}.admin-subcategory-panel{border-bottom:1px solid var(--line);border-right:0;padding-bottom:22px;padding-right:0}.admin-item-subcategory-grid .admin-items-workspace{padding-left:0;padding-top:22px}}@media (max-width:980px){.site-header{grid-template-columns:minmax(0,1fr) auto}.nav-toggle{display:block;z-index:30}.header-action{display:none}.site-nav{align-content:center;background:rgba(12,27,24,.98);border-left:1px solid rgba(207,166,115,.28);box-shadow:-24px 0 48px rgba(0,0,0,.28);display:grid;grid-gap:22px;gap:22px;height:100dvh;justify-content:start;min-height:100vh;opacity:0;overflow-y:auto;padding:112px clamp(26px,8vw,48px) 42px;pointer-events:none;position:fixed;right:0;top:0;transform:translateX(100%);transition:opacity .18s ease,transform .18s ease;width:min(82vw,360px);z-index:24}.nav-open .site-nav{opacity:1;pointer-events:auto;transform:translateX(0)}.site-nav a{font-family:var(--serif);font-size:clamp(2.35rem,10vw,3.2rem);font-weight:600;line-height:1}.about-panel,.admin-inline-form,.admin-item-subcategory-grid,.admin-menu-board,.admin-menu-grid,.admin-menu-layout,.admin-shell,.booking-panel,.contact-panel,.menu-content,.public-menu-browser{grid-template-columns:1fr}.admin-menu-items-panel{border-left:0;border-top:1px solid var(--line)}.contact-panel{grid-template-areas:"copy" "form" "map"}.contact-map-frame{aspect-ratio:16/10;min-height:260px}.admin-subcategory-panel{border-right:0;border-bottom:1px solid var(--line);padding-bottom:22px;padding-right:0}.admin-item-subcategory-grid .admin-items-workspace{padding-left:0;padding-top:22px}.admin-sidebar{height:auto;position:static}.admin-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.admin-manual-reservation-grid,.admin-reservation-settings-grid{grid-template-columns:1fr}.admin-setting-row{align-items:flex-start}.admin-reservation-search{align-items:stretch;grid-template-columns:1fr}.admin-reservation-search-actions{justify-content:flex-start}.admin-opening-days>div{grid-template-columns:repeat(4,minmax(54px,1fr))}.about-image{min-height:420px}.public-menu-browser{gap:0;min-height:0}.public-menu-sidebar{padding:18px 24px;position:static;z-index:5}.public-menu-tab-list{display:grid;grid-gap:14px;gap:14px;overflow-x:visible;padding-bottom:0}.public-menu-tab-list button{border:0;min-height:28px;padding:0}.public-menu-tab-list button.is-active,.public-menu-tab-list button:hover{transform:translateX(2px)}.public-menu-tab-list span{font-family:var(--serif);font-size:1.28rem;font-weight:700;letter-spacing:0;text-transform:none}}@media (max-width:640px){html{scroll-padding-top:76px}.site-header{height:72px;padding:0 18px}.brand{font-size:1.08rem;gap:8px;min-width:0}.brand-logo{border-width:2px;height:42px;padding:5px;width:42px}.hero{min-height:100svh;padding:108px 26px 64px}.hero:before{inset:84px 18px 18px}.hero:after{display:none}h1{font-size:clamp(3.95rem,20vw,5.8rem)}.hero-content{max-width:330px;width:100%}.hero-content p:not(.eyebrow){font-size:.92rem;line-height:1.6;max-width:285px}.eyebrow{letter-spacing:.24em}.about-copy,.about-lede,.booking-panel,.contact-panel,.menu-content,.menu-heading,.public-menu-browser,.site-footer{padding-left:22px;padding-right:22px}.menu-heading,.site-footer{align-items:flex-start;display:grid;grid-gap:22px;gap:22px}.contact-action-link,.contact-directions-link,.contact-location-block{width:100%}.contact-action-row{display:grid}.menu-mode-tabs,.site-footer .button,.site-footer>div{width:100%}.menu-tabs{gap:14px 16px}.menu-pane article{gap:16px;grid-template-columns:minmax(0,1fr) max-content}.menu-pane h3,.menu-pane p,.public-menu-item h4,.public-menu-item p{overflow-wrap:anywhere}.admin-reservation-search input,.public-menu-mobile-category-picker select,.staff-controls select,input,select,textarea{font-size:16px}.public-menu-hero{gap:24px;grid-template-columns:1fr;min-height:48svh;padding:106px 30px 38px}.public-menu-hero:after{inset:86px 20px 18px}.public-menu-hero h1{font-size:clamp(3.65rem,19vw,5.25rem);margin-bottom:16px}.public-menu-hero-copy{max-width:330px}.public-menu-hero-copy p:not(.eyebrow){font-size:.9rem;line-height:1.55;max-width:285px}.public-menu-hero-meta{border-left:0;border-top:1px solid rgba(207,166,115,.4);display:flex;gap:20px;padding-left:0;padding-top:16px}.public-menu-browser{gap:0;padding:24px 22px 44px}.public-menu-mobile-category-picker{background:var(--deep);border:1px solid rgba(207,166,115,.3);color:var(--cream-2);display:grid;grid-gap:12px;gap:12px;margin-bottom:0;padding:18px 18px 20px}.public-menu-mobile-category-picker span{border-bottom:1px solid rgba(207,166,115,.34);color:var(--gold);font-size:.74rem;font-weight:800;letter-spacing:.24em;padding-bottom:12px;text-transform:uppercase}.public-menu-mobile-category-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--gold) 50%) right 18px center /7px 7px no-repeat,linear-gradient(135deg,var(--gold) 50%,transparent 50%) right 13px center /7px 7px no-repeat,rgba(255,250,245,.06);border:1px solid rgba(207,166,115,.28);color:var(--cream-2);min-height:48px;padding:0 42px 0 14px;width:100%}.public-menu-mobile-category-picker option{color:var(--ink)}.public-menu-sidebar{display:none}.public-menu-sidebar .eyebrow{padding-bottom:12px}.public-menu-tab-list{gap:12px}.public-menu-tab-list span{font-size:1.24rem}.public-menu-workspace{background:var(--cream-2);border-left:1px solid var(--line);overflow-x:hidden;padding:24px 20px 28px}.public-menu-item,.public-menu-panel-heading{grid-template-columns:1fr}.public-menu-panel-heading h2{font-size:clamp(3rem,14vw,4.2rem);line-height:.92;overflow-wrap:normal;word-break:normal}.public-menu-category-tabs{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.public-menu-category-tabs button{font-size:.68rem;min-height:40px;padding:0 13px}.public-menu-item{align-items:start;gap:12px;grid-template-columns:minmax(0,1fr) minmax(42px,34%);padding:17px 0}.public-menu-item h4{font-size:1.22rem;line-height:1.08;margin-bottom:4px}.public-menu-item p{font-size:.84rem;line-height:1.45}.public-menu-item span{font-size:.76rem;justify-self:end;line-height:1.25;max-width:100%;min-width:0;overflow-wrap:anywhere;padding-top:2px;text-align:right;white-space:normal}.contact-copy h2{font-size:clamp(3rem,15vw,4.2rem);line-height:1}.admin-auth-panel h1{font-size:clamp(2.7rem,13vw,3.8rem);white-space:normal}.field-grid{grid-template-columns:1fr}.time-picker-panel{width:100%}.time-picker-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-menu-summary,.admin-section-heading,.admin-topbar{align-items:flex-start;display:grid}.admin-menu-item-row{grid-template-columns:22px 48px minmax(0,1fr) auto}.admin-menu-item-row .admin-switch{grid-column:3;justify-self:start}.admin-menu-item-row .admin-row-actions{grid-column:4;grid-row:1}.admin-item-list article,.staff-controls{grid-template-columns:1fr}.staff-controls{align-items:stretch;display:grid}}@media (max-width:360px){.site-header{padding:0 14px}.hero{padding-left:22px;padding-right:22px}.hero-content{max-width:292px}.hero-content p:not(.eyebrow){max-width:258px}.cf-turnstile{height:62px;transform:scale(.92);transform-origin:left top;width:300px}}