@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-0.woff) format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-1.woff) format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-2.woff) format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-3.woff) format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-4.woff) format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-5.woff) format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-6.woff) format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-7.woff) format('woff');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-8.woff) format('woff');
}

:root{--cream:#f6f3eb;--ink:#302b27;--wine:#642c37;--muted:#7d766d;--line:#dcd5c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:14px 'DM Sans',sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b77d43;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13}h2{font-size:clamp(36px,4.4vw,61px);white-space:pre-line}p{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding:0 52px}header{position:absolute;top:0;width:100%;z-index:10;color:white;border-bottom:1px solid #ffffff30}.nav{height:100px;display:flex;align-items:center;gap:35px}.logo{font:500 52px 'Playfair Display',serif;letter-spacing:-5px;line-height:.8}.logo small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:11px;text-align:center}.links{display:flex;gap:30px;margin-left:auto;font-size:12px}.lang{display:flex;gap:9px;align-items:center}.lang button{border:0;background:transparent;color:inherit;opacity:.5;padding:6px 0}.lang button.active{opacity:1;border-bottom:1px solid currentColor}.btn{display:inline-flex;gap:24px;align-items:center;justify-content:center;border:1px solid var(--wine);background:var(--wine);color:#fff;padding:15px 24px;font-size:12px;letter-spacing:.2px;transition:.2s}.btn:hover{filter:brightness(1.15);transform:translateY(-2px)}.btn.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn.outline{background:none;border-color:#ffffff80;color:white}.hero{min-height:780px;height:93vh;max-height:1050px;position:relative;color:white;display:flex;align-items:center;background:#302b27}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#161411c9 0%,#16141172 52%,#16141125),linear-gradient(0deg,#17130f70,transparent 60%)}.hero .wrap{position:relative;z-index:1;width:100%;padding-top:85px}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;display:block;margin-bottom:25px;color:var(--wine);font-weight:600}.hero .eyebrow{color:#e4d8bd}.hero h1{font-size:clamp(52px,6.7vw,92px);letter-spacing:-2.5px;white-space:pre-line;max-width:800px}.hero p{color:#e0dbd4;max-width:420px;margin:25px 0 34px;font-size:14px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-foot{position:absolute;bottom:30px;left:52px;right:52px;z-index:2;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2.5px}.strip{display:flex;justify-content:center;gap:65px;border-bottom:1px solid var(--line);padding:23px;font-size:10px;letter-spacing:3px;color:#756c5c}.strip b{font-weight:400;color:#ad936d}.section{padding:110px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-visual{position:relative;padding:0 25px 25px 0}.about-visual:after{content:'';position:absolute;inset:25px 0 0 25px;border:1px solid #b5a68d;z-index:-1}.about-visual img{width:100%;height:500px;object-fit:cover}.about p{margin-top:25px;max-width:430px}.about em{font:italic 22px 'Playfair Display',serif;display:block;margin-top:30px}.text-link{display:inline-block;margin-top:28px;border-bottom:1px solid #a59a89;padding-bottom:8px;font-size:12px}.menu{background:#ede8df}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head p{max-width:300px;font-size:13px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 30px}.tabs button{background:none;border:1px solid #cfc7bb;padding:9px 23px;border-radius:30px;font-size:12px;color:var(--ink)}.tabs button.active{background:var(--wine);color:white;border-color:var(--wine)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.food img{height:265px;width:100%;object-fit:cover}.food h3{font-size:25px;margin:20px 0 7px}.food p{font-size:12px}.food strong{float:right;font:14px 'DM Sans';padding-top:7px}.events{background:var(--wine);color:var(--cream);position:relative;overflow:hidden}.events:after{content:'✳';font-size:470px;line-height:1;position:absolute;right:-60px;top:0;color:#ffffff08;pointer-events:none}.events .eyebrow{color:#d1b59b}.events p{color:#d5c4c1;max-width:500px;margin:25px 0}.events .wrap{position:relative;z-index:1}.event-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.event-list article{border-top:1px solid #ffffff50;padding-top:20px}.event-list img{width:100%;height:180px;object-fit:cover}.event-list h3{font-size:28px}.event-list p{margin:12px 0}.gallery{display:grid;grid-template-columns:1.15fr .8fr 1.15fr;gap:20px;margin-top:40px;align-items:center}.gallery img{width:100%;height:370px;object-fit:cover}.gallery img:nth-child(2){height:290px}.center{text-align:center}.booking{background:#e9e3d8}.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.booking p{margin-top:25px;max-width:370px}.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;font-weight:500}input,textarea,select{display:block;width:100%;border:1px solid #c9c0b2;background:transparent;border-radius:0;padding:12px;margin-top:7px;color:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}textarea{resize:vertical;min-height:90px}.full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}.check input{width:16px;flex-shrink:0;margin:2px 0}.status{padding:10px 0;white-space:pre-line;font-size:13px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.contact p{margin:20px 0}.map{height:360px;background:#e8e4da;display:flex;align-items:center;justify-content:center;text-align:center}.map iframe{border:0;width:100%;height:100%}footer{padding:45px 0;background:#292c27;color:#eee9df}.foot{display:flex;align-items:center;justify-content:space-between;gap:25px}footer p{color:#bbb7ab;font-size:12px}.fine{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;font-size:10px;color:#b5b0a4}.fine a{text-decoration:underline}details{font-size:11px;margin-top:20px;color:var(--muted)}summary{cursor:pointer}.demo{font-size:10px;letter-spacing:0;margin:20px 0 0;color:#a39888}.honeypot{position:absolute;left:-10000px}.adminbody header{position:static;background:var(--wine);color:white}.adminbody .nav{height:80px}.adminbody .logo{font-size:36px}.adminlayout{display:grid;grid-template-columns:220px 1fr;min-height:85vh}.sidebar{border-right:1px solid var(--line);padding:35px 20px}.sidebar button{display:block;border:0;background:none;width:100%;padding:13px;text-align:left;color:var(--muted)}.sidebar button.active{background:#e8e0d4;color:var(--wine)}.adminmain{padding:40px;min-width:0}.adminmain h1{font-size:40px;margin-bottom:10px}.adminmain h2{font-size:27px;margin:25px 0 15px}.adminmain .form{max-width:950px}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap}.panel{background:#fffaf2;border:1px solid var(--line);padding:25px;margin:15px 0}.panel img{width:100px;height:70px;object-fit:cover}.adminmain input,.adminmain textarea,.adminmain select{background:#ffffff60}.adminmain textarea{min-height:110px}.adminmain .btn.secondary{background:transparent;color:var(--wine)}.adminmain .btn.danger{background:#8c3528}.badge{display:inline-block;padding:4px 10px;border-radius:20px;background:#e8dfd1;font-size:11px}.reservation{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.reservation h3{font-size:24px}.reservation p{margin:7px 0}.reservation select{min-width:140px}.login{max-width:440px;margin:80px auto;padding:30px}.login h1{font-size:38px}.login .btn{margin-top:20px;width:100%}.notice{border-left:3px solid #b18c54;padding:12px 18px;background:#ebe2d2;margin:20px 0}.stats{display:flex;gap:20px}.stats div{flex:1;border:1px solid var(--line);padding:20px}.stats strong{display:block;font:34px 'Playfair Display'}.savebar{position:sticky;bottom:0;background:var(--cream);border-top:1px solid var(--line);padding:18px 0;display:flex;gap:20px;align-items:center;z-index:3}.menu-toggle{display:none}.hidden{display:none!important}@media(max-width:800px){.wrap{padding:0 24px}.nav{height:85px;gap:20px}.links{display:none;position:absolute;top:85px;left:0;width:100%;background:#302b27;padding:25px}.links.open{display:flex;flex-direction:column}.nav>.btn{display:none}.lang{margin-left:auto}.menu-toggle{display:block;background:none;border:0;color:white;font-size:24px}.hero{min-height:690px;height:88vh}.hero h1{font-size:58px}.hero-foot{left:24px;right:24px;font-size:8px}.strip{gap:20px;font-size:8px;letter-spacing:1px}.section{padding:70px 0}.about,.booking-grid,.contact{grid-template-columns:1fr;gap:45px}.about-visual img{height:370px}.section-head{display:block}.section-head p{margin-top:20px}.cards{grid-template-columns:1fr}.food{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center}.food img{height:130px}.food h3{margin-top:0;font-size:23px}.gallery{gap:10px}.gallery img{height:230px}.gallery img:nth-child(2){height:180px}.event-list{grid-template-columns:1fr}.foot{flex-wrap:wrap}.adminlayout{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.sidebar button{white-space:nowrap;width:auto}.adminmain{padding:25px 18px}.form{gap:15px}.fine{gap:20px}.stats{gap:10px}.stats div{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Responsive refinements, touch targets, and overflow prevention */
img{display:block}button,input,select,textarea{touch-action:manipulation}input,select,textarea{min-width:0}input[type=date],input[type=time]{min-height:48px}button,.btn{min-height:44px}p,label,.status,.reservation,.panel{overflow-wrap:anywhere}.form>*{min-width:0}.food img{aspect-ratio:4/3}.about-visual img{aspect-ratio:1/1}.gallery img{aspect-ratio:4/5}.login{width:100%}.lang button{min-width:32px}.adminmain input[type=file]{max-width:100%;font-size:12px}.savebar{padding-bottom:max(18px,env(safe-area-inset-bottom));flex-wrap:wrap}.sidebar button{flex-shrink:0}.stats div{min-width:0}.adminmain .toolbar input{min-width:0}.adminmain .reservation>div{min-width:0;max-width:100%}.adminmain .panel .btn{margin-top:18px}.links a{display:flex;align-items:center;min-height:44px}.hero h1{overflow-wrap:normal}.map iframe{display:block}.hero>picture{position:absolute;inset:0;display:block}.hero>picture img{width:100%;height:100%;object-fit:cover}
@media(max-width:800px){input,select,textarea{font-size:16px}.hero{height:auto;min-height:720px;min-height:92svh;padding:120px 0 100px}.hero .wrap{padding-top:30px}.hero>img,.hero>picture img{object-position:60% center}.hero:after{background:linear-gradient(90deg,#161411b8,#16141165)}.hero h1{font-size:clamp(44px,7.5vw,64px);letter-spacing:-1.5px}.hero p{max-width:400px}.nav{gap:10px}.menu-toggle{width:44px;min-height:44px}.links{box-shadow:0 15px 25px #0003}.hero-foot{bottom:24px;gap:20px}.form{grid-template-columns:repeat(2,minmax(0,1fr))}.about,.booking-grid,.contact{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.food{grid-template-columns:110px minmax(0,1fr)}.food strong{float:none;display:block}.adminmain .toolbar{align-items:flex-start}.adminbody .nav{font-size:11px}.adminbody .nav .btn{display:inline-flex;padding:8px 12px}.adminbody .nav>span{display:none}.adminmain .form{grid-template-columns:repeat(2,minmax(0,1fr))}.adminmain h1{font-size:34px}.sidebar button.active{border-radius:4px}.foot{align-items:flex-start}.fine{flex-wrap:wrap}}
@media(max-width:480px){.wrap{padding:0 20px}.hero{min-height:690px;min-height:95svh}.hero h1{font-size:clamp(43px,11vw,53px)}.hero p{font-size:14px}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero .btn{padding:14px 10px;gap:10px;font-size:11px}.hero-foot{left:20px;right:20px;letter-spacing:1px}.strip{padding:18px 12px;gap:18px}.section{padding:58px 0}.eyebrow{letter-spacing:2px;margin-bottom:18px}h2{font-size:36px}.about-visual img{height:320px}.form,.adminmain .form{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery img{height:210px}.gallery img:nth-child(2){height:210px}.gallery img:last-child:nth-child(odd){grid-column:1/-1;height:240px}.food{grid-template-columns:96px minmax(0,1fr);gap:15px}.food img{height:115px}.food h3{font-size:22px}.tabs{gap:8px}.tabs button{padding:8px 16px}.contact{gap:30px}.map{height:290px}.adminmain .panel{padding:17px}.adminmain .stats{gap:7px}.stats div{font-size:10px;padding:10px}.stats strong{font-size:27px}.reservation>div{width:100%}.reservation select{width:100%}.savebar .btn{width:100%}.adminmain .toolbar{gap:10px}.adminmain #filter{flex:1}.adminmain #search{max-width:100%!important}.adminmain .eyebrow{font-size:9px}.foot{gap:28px}}
