:root{--ink:#18241f;--olive:#20372d;--cream:#f6f0e5;--gold:#c9934d;--line:#ded7c9;--white:#fff;--serif:"Playfair Display",serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:#faf8f3}button,input,select{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}header{height:78px;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;color:#fff;border-bottom:1px solid #ffffff2e}.brand{display:flex;align-items:center;gap:12px}.brand span{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;border-radius:50%;font:600 12px var(--serif)}.brand b{font:600 19px var(--serif)}header nav{display:flex;align-items:center;gap:30px;font-size:13px}header nav>a{opacity:.82}header nav>a:hover{opacity:1}.nav-login{border:1px solid #ffffff55;background:#ffffff10;color:#fff;padding:11px 14px;border-radius:4px;display:flex;gap:7px;align-items:center}.menu-toggle{display:none;background:0;border:0;color:#fff}.hero{height:min(860px,100vh);min-height:680px;position:relative;background:url(/images/hero.webp) center/cover;color:#fff;display:flex;align-items:center;padding:110px 7vw 70px}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0c1712df,#13241bc4 35%,#17211935 72%,#13130f2b)}.hero-content{position:relative;z-index:2;max-width:720px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:600;color:#e7bf85;margin-bottom:22px}.eyebrow.dark{color:#9a692f}.hero h1,.section-head h2,.intro h2,.story h2,.booking h2,.login-card h2{font:600 clamp(44px,6vw,80px)/1.02 var(--serif);margin:0}.hero h1 em{font-weight:600;color:#f3d6aa}.hero-content>p{font:400 18px/1.7 var(--sans);max-width:560px;color:#f2eee4;margin:28px 0 38px}.hero-actions{display:flex;gap:13px}.btn{border:0;border-radius:3px;padding:15px 21px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600}.primary{background:var(--gold);color:#151c18}.ghost{border:1px solid #ffffff78;color:#fff}.hero-note{position:absolute;z-index:2;right:6vw;bottom:58px;border-left:1px solid #ffffff66;padding-left:20px;display:grid;gap:6px;font-size:12px}.hero-note b{font-size:14px}.scroll{position:absolute;z-index:2;left:7vw;bottom:32px;display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.intro{padding:120px 8vw;display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;align-items:start}.intro h2,.section-head h2,.story h2,.booking h2{font-size:clamp(38px,4.5vw,58px)}.intro>div>p,.story-copy>p{font-size:16px;line-height:1.9;color:#58615d;margin:6px 0 28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:28px;gap:20px}.stats span{display:grid;gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#787e7a}.stats b{font:600 27px var(--serif);color:var(--ink);text-transform:none}.menu-section{padding:110px 8vw;background:var(--cream)}.section-head{text-align:center;max-width:650px;margin:0 auto 65px}.section-head p{color:#68706c;line-height:1.7}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;max-width:1200px;margin:auto}.menu-col h3{font:600 24px var(--serif);padding-bottom:16px;border-bottom:2px solid var(--ink)}.menu-col article{display:flex;justify-content:space-between;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.menu-col h4{margin:0 0 7px;font:600 16px var(--serif)}.menu-col p{font-size:12px;line-height:1.6;color:#777c79;margin:0}.menu-col article>b{white-space:nowrap;font:600 14px var(--serif)}.menu-foot{max-width:1200px;margin:48px auto 0;background:var(--olive);color:#fff;padding:22px 28px;display:flex;justify-content:space-between}.story{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.story-photo{background:linear-gradient(#18251e26,#18251e99),url(/images/hero.webp) 72% center/cover;position:relative}.chef-card{position:absolute;bottom:35px;left:35px;right:35px;background:#f8f3e9eb;padding:28px 34px;max-width:480px}.chef-card span{text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#966c3e}.chef-card p{font:italic 21px/1.5 var(--serif);margin:12px 0}.chef-card b{font-size:11px}.story-copy{background:#fff;padding:12% 10%;display:flex;flex-direction:column;justify-content:center}.story-copy a{margin-top:16px;color:#9a692f;font-weight:600;font-size:13px;display:flex;gap:8px;align-items:center}.testimonials{background:var(--olive);color:#fff;text-align:center;padding:100px 16vw}.quote-stars{color:#e0ad67;letter-spacing:.3em}.testimonials blockquote{font:italic 32px/1.5 var(--serif);max-width:900px;margin:30px auto}.testimonials>p{font-size:12px;color:#c9d0cc}.booking{padding:110px 8vw;display:grid;grid-template-columns:.85fr 1fr;gap:10vw;background:#f9f6ef}.booking-copy>p{line-height:1.8;color:#69706d}.booking-copy>div{display:grid;gap:16px;margin-top:30px}.booking-copy>div span{display:flex;gap:12px;align-items:center}.booking form,.login-card{background:#fff;padding:38px;box-shadow:0 18px 60px #23372b12}.booking label,.login-card>label{display:grid;gap:8px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;margin-bottom:17px}.booking input,.booking select,.login-card input{width:100%;padding:14px 13px;border:1px solid #ddd7cd;background:#fbfaf7;outline:none;text-transform:none;letter-spacing:0}.booking input:focus,.booking select:focus,.login-card input:focus{border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking form .btn,.login-card .btn{width:100%;margin-top:4px}.booking small,.login-card small{display:block;text-align:center;color:#8b8e8b;margin-top:13px}footer{background:#131e19;color:#d9dedb;padding:70px 7vw 30px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px;font-size:13px;line-height:1.8}footer h4{color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:11px}footer p{color:#aeb7b2}footer button{border:0;background:0;color:#d9dedb;padding:0;text-decoration:underline}.footer-brand>p{margin:20px 0}.footer-brand>a:last-child{display:flex;gap:8px;align-items:center}.copyright{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:24px;margin-top:25px;display:flex;justify-content:space-between;color:#7d8983}.modal{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#132019d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.login-card{position:relative;width:min(470px,100%);padding:45px}.login-card .close{position:absolute;right:17px;top:17px;border:0;background:0}.login-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#e9efe9;color:var(--olive);margin-bottom:22px}.login-card h2{font-size:35px}.login-card>p{color:#707773;line-height:1.6;margin-bottom:24px}.login-options{display:flex;justify-content:space-between;font-size:11px;margin:0 0 18px}.login-options label{display:flex;align-items:center}.login-options input{width:auto}.login-options a{color:#9a692f}.toast{position:fixed;z-index:200;bottom:25px;right:25px;background:var(--olive);color:#fff;padding:16px 20px;display:flex;gap:10px;align-items:center;box-shadow:0 12px 30px #0003;font-size:13px}.admin{min-height:100vh;background:#f5f5f1;display:grid;grid-template-columns:240px 1fr}.admin aside{background:var(--olive);color:#fff;padding:28px 22px;display:flex;flex-direction:column}.admin aside nav{display:grid;gap:8px;margin-top:60px}.admin aside button{border:0;color:#bdc9c3;background:0;padding:13px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:6px}.admin aside button.active{background:#ffffff14;color:#fff}.admin aside button svg{width:18px}.logout{margin-top:auto}.admin-main{padding:38px 4vw}.admin-main>header{position:static;color:var(--ink);height:auto;padding:0;border:0}.admin-main>header span{font-size:12px;color:#7a817d}.admin-main>header h1{font:600 35px var(--serif);margin:4px 0}.avatar,.tr i{width:42px;height:42px;border-radius:50%;background:#d9c29f;display:grid;place-items:center;font-size:12px;font-style:normal}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0}.dashboard-stats article{background:#fff;padding:25px;display:flex;gap:18px;align-items:center;border:1px solid #e9e8e2}.dashboard-stats svg{color:#a4743e}.dashboard-stats span{display:grid;font-size:12px;color:#777}.dashboard-stats b{font:600 28px var(--serif);color:var(--ink)}.table-card{background:#fff;border:1px solid #e7e6e0}.table-title{padding:25px 28px;display:flex;justify-content:space-between;align-items:center}.table-title h2{font:600 23px var(--serif);margin:0}.table-title p{font-size:12px;color:#777;margin:5px 0}.table-title button,.tr button{background:var(--olive);color:#fff;border:0;padding:10px 15px}.tr{display:grid;grid-template-columns:1.5fr .7fr .7fr .8fr .7fr;align-items:center;padding:16px 28px;border-top:1px solid #eceae5;font-size:13px}.tr.head{background:#faf9f6;text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:#858a87}.tr>span:first-child{display:flex;align-items:center;gap:12px}.tr i{width:34px;height:34px}.tr em{font-style:normal;font-size:10px;border-radius:20px;padding:6px 9px}.tr em.ok{background:#e4f3e9;color:#347249}.tr em.wait{background:#fbefd9;color:#9c672a}@media(max-width:850px){header{padding:0 20px}header nav{position:absolute;top:78px;left:0;right:0;background:#17271f;display:none;flex-direction:column;padding:28px}header nav.open{display:flex}.menu-toggle{display:block}.hero{padding:115px 24px 60px}.hero h1{font-size:49px}.hero-note{display:none}.scroll{left:24px}.intro,.booking{grid-template-columns:1fr;padding:80px 24px}.menu-section{padding:80px 24px}.menu-grid,.story{grid-template-columns:1fr}.story-photo{min-height:540px}.testimonials{padding:80px 24px}.testimonials blockquote{font-size:25px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.admin{grid-template-columns:1fr}.admin aside{display:none}.dashboard-stats{grid-template-columns:1fr}.admin-main{padding:25px 15px}.table{overflow:auto}.tr{min-width:700px}}@media(max-width:520px){.hero-actions{flex-direction:column;align-items:stretch}.hero h1{font-size:43px}.intro{gap:45px}.stats,.form-row{grid-template-columns:1fr}.booking form{padding:25px 20px}footer{grid-template-columns:1fr}.copyright{display:grid;gap:8px}.login-card{padding:35px 24px}.chef-card{left:15px;right:15px;bottom:15px}.story-copy{padding:75px 24px}}
