/* NOIR – dark luxury meets cinematic gastronomy. Csak transform/opacity animáció; nincs blur-animáció, backdrop-filter, scrollra írt gyökér-változó. */
@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/cormorant-garamond-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/cormorant-garamond-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/cormorant-garamond-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/cormorant-garamond-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-weight:100 1000;font-style:normal;font-display:swap;src:url(/fonts/dm-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:100 1000;font-style:normal;font-display:swap;src:url(/fonts/dm-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Mono";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/space-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Mono";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/space-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--ink:#101010;--coal:#191817;--ivory:#F3EEE5;--champ:#C6AE83;--burg:#572630;--olive:#343B30;--grey:#8B857C;--grey-d:#5f5a52;--line:rgba(243,238,229,.16);--line-d:rgba(16,16,16,.16);--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Space Mono",ui-monospace,Menlo,monospace;--pad:clamp(20px,4vw,56px);--hh:76px;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--ink);color:var(--ivory);font:400 1rem/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-color:rgba(198,174,131,.55);text-underline-offset:.2em}
a:hover{text-decoration-color:var(--champ)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--champ);outline-offset:3px;border-radius:2px}
.ivory :focus-visible,.ivory-form :focus-visible{outline-color:var(--burg)}
main:focus{outline:none}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--champ);color:var(--ink);padding:10px 16px;font-weight:600}
.skip:focus{top:12px}
.sr,.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1280px,100% - var(--pad)*2);margin-inline:auto}
.narrow{width:min(820px,100% - var(--pad)*2);margin-inline:auto}
.center{text-align:center}
.mono{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.eyebrow{color:var(--champ);margin-bottom:1.1rem}
.ivory .eyebrow,.ink-t .eyebrow{color:var(--burg)}
.mega{font:300 clamp(2.8rem,9.4vw,8.6rem)/.92 var(--serif);letter-spacing:-.02em}
.big{font:300 clamp(2.2rem,5.2vw,4.4rem)/1.04 var(--serif);letter-spacing:-.015em}
.big.sm{font-size:clamp(1.8rem,3.6vw,2.8rem)}
.lead{font:300 clamp(1.15rem,2vw,1.5rem)/1.5 var(--serif);color:rgba(243,238,229,.86);max-width:44ch}
.muted{color:var(--grey)}
.small{font-size:.85rem}
.ivory .muted{color:var(--grey-d)}
.ivory .lead,.lead.ink{color:#2a2622}

/* gombok */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.85rem 1.7rem;border:1px solid var(--champ);font:500 .78rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;background:transparent;color:var(--ivory);transition:background-color .35s,color .35s,transform .35s,border-color .35s}
.btn-solid{background:var(--champ);color:var(--ink)}
.btn-solid:hover{background:var(--ivory);border-color:var(--ivory)}
.btn-ghost:hover,.btn-line:hover{background:var(--champ);color:var(--ink)}
.btn.is-off,.btn[disabled]{opacity:.45;pointer-events:none}
.ivory .btn-line,.ivory-form .btn-line{color:var(--ink);border-color:var(--ink)}
.ivory .btn-line:hover{background:var(--ink);color:var(--ivory)}
.link-arrow{display:inline-block;margin-top:1.4rem;font:.78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--champ);padding-bottom:.4rem}
.link-arrow.ink,.ivory .link-arrow{border-color:var(--burg);color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:2rem}
.from{font:.95rem var(--serif);color:var(--champ)}

/* fejléc */
.hdr{position:fixed;inset:0 0 auto 0;z-index:90;height:var(--hh);transition:background-color .4s,transform .4s}
.hdr.solid{background:rgba(16,16,16,.96);border-bottom:1px solid var(--line)}
.hdr-in{height:100%;width:min(1480px,100% - var(--pad)*2);margin-inline:auto;display:flex;align-items:center;gap:28px}
.logo{text-decoration:none;font:400 1.7rem/1 var(--serif);letter-spacing:.34em;padding-right:.34em;margin-right:auto}
.nav{display:flex;gap:clamp(14px,1.8vw,30px)}
.nav a{font:.72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent;transition:border-color .3s}
.nav a:hover,.nav a[aria-current]{border-color:var(--champ)}
.hdr-cta{min-height:42px;padding:.65rem 1.2rem}
.burger{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:1px;background:var(--ivory);transition:transform .35s}
.burger span:first-child{top:20px}.burger span:last-child{top:28px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:var(--hh) 0 0 0;background:var(--ink);transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .35s,transform .35s,visibility 0s .35s;overflow:auto}
.mnav.open{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.mnav-in{display:flex;flex-direction:column;gap:6px;padding:28px var(--pad) 60px}
.mnav-in a:not(.btn){font:300 2rem/1.2 var(--serif);text-decoration:none;padding:.6rem 0;border-bottom:1px solid var(--line)}
.mnav-in .btn{margin-top:22px}
body.menu-open{overflow:hidden}
@media(max-width:1060px){.nav,.hdr-cta{display:none}.burger{display:block}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:calc(var(--hh) + 40px) 0 clamp(70px,10vh,120px);overflow:hidden;background:var(--ink)}
.hero-bg{position:absolute;inset:0}
.hero-img,.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:kb 22s ease-out both}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,16,.55) 0%,rgba(16,16,16,.15) 38%,rgba(16,16,16,.88) 100%),linear-gradient(90deg,rgba(16,16,16,.78) 0%,rgba(16,16,16,0) 65%)}
.sweep{position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(243,238,229,.12) 50%,transparent 60%);transform:translateX(-120%);animation:sweep 5s 1.2s ease-in-out 1 both}
.grain,.intro-grain{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.22}
.grain::before,.intro-grain::before{content:"";position:absolute;inset:-50%;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");animation:grain .9s steps(6) infinite}
.vig{position:absolute;inset:0;box-shadow:inset 0 0 220px rgba(0,0,0,.65)}
.hero-in{position:relative;z-index:2}
.hero-eye{opacity:0;animation:fade 1s .2s both}
.hero-h .ln{display:block;overflow:hidden;padding-bottom:.08em}
.hero-h .ln>span{display:block;transform:translateY(105%);animation:rise 1.2s .25s cubic-bezier(.2,.7,.1,1) both}
.hero-h .ln:nth-child(2)>span{animation-delay:.4s}
.hero-lead,.hero-cta{margin-top:1.6rem;opacity:0;animation:fade 1.2s .8s both}
.hero-cta{animation-delay:1s}
.intro-on .hero-eye,.intro-on .hero-h .ln>span,.intro-on .hero-lead,.intro-on .hero-cta{animation-delay:3.5s}
.intro-on .hero-h .ln:nth-child(2)>span{animation-delay:3.65s}
.intro-on .hero-lead{animation-delay:4s}.intro-on .hero-cta{animation-delay:4.2s}
.scroll-cue{position:absolute;z-index:2;right:var(--pad);bottom:28px;background:none;border:0;color:var(--ivory);cursor:pointer;display:flex;align-items:center;gap:12px}
.scroll-cue span{width:1px;height:46px;background:linear-gradient(var(--champ),transparent);animation:cue 2.2s ease-in-out infinite;transform-origin:top}
@media(max-width:700px){.scroll-cue{display:none}}
.infobar{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);background:var(--coal)}
.infobar>div{padding:26px var(--pad);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.infobar>div:last-child{border:0}
.infobar span{color:var(--champ)}.infobar b{font:400 1.3rem/1.3 var(--serif)}
@media(max-width:820px){.infobar{grid-template-columns:1fr}.infobar>div{border-right:0;border-bottom:1px solid var(--line)}}

/* nyitójelenet */
.intro{display:none}
.intro-on .intro{display:block;position:fixed;inset:0;z-index:300;background:#050505;overflow:hidden}
.intro-img{position:absolute;inset:0;background:url(/assets/img/hero.jpg) center/cover;opacity:0;transform:scale(1.18);animation:intro-img 3.4s .5s ease-out both}
.intro-light{position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(243,238,229,.28) 50%,transparent 65%);transform:translateX(-130%);animation:sweep 1.8s 1.5s ease-in-out both}
.intro-grain{opacity:.3}
.intro-wm{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;animation:wm 1.6s 2.1s ease-out both}
.intro-wm .wm-a{font:300 clamp(3rem,12vw,9rem)/1 var(--serif);letter-spacing:.36em;padding-left:.36em}
.intro-wm .mono{color:var(--champ)}
.intro-skip{position:absolute;right:var(--pad);bottom:26px;z-index:2;background:none;border:1px solid var(--line);padding:.9rem 1.2rem;cursor:pointer;color:var(--ivory)}
.intro-end .intro{animation:out .8s both;pointer-events:none}
.intro-skip-now .intro{animation:out .5s both;pointer-events:none}
@keyframes intro-img{0%{opacity:0;transform:scale(1.18)}35%{opacity:.8}100%{opacity:.5;transform:scale(1.04)}}
@keyframes wm{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes out{to{opacity:0;visibility:hidden}}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.12)}}
@keyframes sweep{to{transform:translateX(130%)}}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}100%{transform:translate(0,0)}}
@keyframes rise{to{transform:none}}
@keyframes fade{to{opacity:1}}
@keyframes cue{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}

/* szekciók */
.band{padding:clamp(70px,11vw,150px) 0}
.band.dark{background:var(--ink)}
.band.ivory,.ivory{background:var(--ivory);color:var(--ink)}
.band.burg{background:var(--burg)}
.band.burg .eyebrow{color:var(--champ)}
.sec-h{margin-bottom:clamp(30px,5vw,64px);display:grid;gap:14px}
.phead{padding:calc(var(--hh) + clamp(36px,6vw,80px)) 0 clamp(36px,5vw,64px);background:var(--ink);border-bottom:1px solid var(--line)}
.phead .lead{margin-top:1.4rem}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;color:var(--grey);margin-bottom:2rem}
.crumbs a{text-decoration:none}.crumbs i{font-style:normal;opacity:.5}
.manif{font:300 clamp(1.7rem,3.6vw,3rem)/1.3 var(--serif)}
.grid-asym{display:grid;grid-template-columns:5fr 6fr;gap:clamp(30px,6vw,100px);align-items:start}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}
@media(max-width:860px){.grid-asym,.grid-2{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;background:var(--coal)}
.split-fig{position:relative;min-height:60vh;overflow:hidden}
.split-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-fig figcaption{position:absolute;left:18px;bottom:14px;color:rgba(243,238,229,.7)}
.split-tx{padding:clamp(40px,7vw,110px) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:1.4rem}
.split-tx .big{font-size:clamp(2rem,4vw,3.4rem)}
@media(max-width:860px){.split{grid-template-columns:1fr}.split-fig{min-height:56vh}}
.pull{font:italic 400 clamp(1.3rem,2.4vw,1.9rem)/1.4 var(--serif);color:var(--champ);border-left:1px solid var(--champ);padding-left:1.4rem}
.prose-sm p+p{margin-top:1rem}
.full-img{position:relative;min-height:70vh;display:flex;align-items:center;overflow:hidden;background:var(--coal)}
.fi-bg{position:absolute;inset:0}.fi-bg img{width:100%;height:100%;object-fit:cover}
.fi-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,16,16,.85),rgba(16,16,16,.1) 70%)}
.full-img .wrap{position:relative;z-index:1}
.course-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line)}
.course-strip li{padding:26px 22px 26px 0;border-bottom:1px solid var(--line);display:grid;gap:6px;align-content:start}
.course-strip .mono{color:var(--champ)}.course-strip b{font:400 1.5rem/1.2 var(--serif)}.course-strip em{font-style:normal;color:var(--grey);font-size:.9rem}
.grid-asym .art-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.art-row img{aspect-ratio:2/1;object-fit:cover;background:var(--ink);width:100%}
.sig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.sig img{aspect-ratio:1;object-fit:cover;width:100%;background:var(--coal)}
.sig h3{font:400 1.7rem/1.2 var(--serif);margin:1rem 0 .3rem}.sig p{color:var(--grey)}
.dp{font:500 1.1rem var(--serif);color:var(--champ);white-space:nowrap}
@media(max-width:860px){.sig-grid{grid-template-columns:1fr}}
.mini-wines li{display:flex;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid rgba(243,238,229,.25);font:400 1.5rem var(--serif)}
.mini-wines .mono{color:var(--champ);align-self:center}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,60px)}
.pillars .mono{color:var(--burg)}.pillars h2{font:400 2rem var(--serif);margin:.8rem 0}
@media(max-width:860px){.pillars{grid-template-columns:1fr}}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.rev blockquote{font:300 1.5rem/1.4 var(--serif)}.rev figcaption{margin-top:1rem;color:var(--grey-d)}
.cta-band{background:var(--coal);border-block:1px solid var(--line)}
.cta-band .cta-row{justify-content:center}
.big-addr{font:300 clamp(1.5rem,3vw,2.2rem)/1.3 var(--serif);font-style:normal;margin:1rem 0}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.ivory .hours div{border-color:var(--line-d)}
.hours dt{opacity:.8}.hours dd{font-variant-numeric:tabular-nums}
.hours-box h3{margin-bottom:1rem;color:var(--burg)}
.sample{margin-top:1.6rem;color:var(--grey);font-size:.68rem;letter-spacing:.08em;text-transform:none}
.ivory .sample{color:var(--grey-d)}
.empty{color:var(--grey);padding:30px 0}
.slot{display:contents}
.prose h2{font:400 1.8rem var(--serif);margin:2.4rem 0 .8rem;color:var(--champ)}.prose p,.prose li{color:rgba(243,238,229,.86);margin-bottom:.8rem;max-width:68ch}
.prose .rules li{padding-left:1rem;border-left:1px solid var(--champ);margin-bottom:1rem}
.steps{counter-reset:s;display:grid;gap:12px}.steps li{counter-increment:s;padding:12px 0 12px 46px;position:relative;border-bottom:1px solid var(--line-d)}.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;font:.74rem var(--mono);color:var(--burg);top:18px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font:400 1.5rem/1.3 var(--serif);padding:18px 40px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font:300 2rem var(--serif);color:var(--champ);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 0 22px;color:rgba(243,238,229,.82);max-width:62ch}

/* étlap */
.tablist{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:clamp(28px,5vw,56px);scrollbar-width:thin}
.tablist [role=tab]{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:16px 18px;font:.74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);cursor:pointer;white-space:nowrap;min-height:48px;transition:color .3s,border-color .3s}
.tablist [role=tab]:hover{color:var(--ivory)}
.tablist [role=tab][aria-selected=true]{color:var(--champ);border-color:var(--champ)}
.mpanel{animation:panel .6s cubic-bezier(.2,.7,.1,1) both}
@keyframes panel{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mp-h{margin-bottom:34px;display:grid;gap:10px}.mp-h h2{font:300 clamp(2rem,4vw,3.2rem)/1.1 var(--serif)}.mp-h p{color:var(--grey)}
.prices{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:14px}
.prices li{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding:6px 0}.prices span{color:var(--grey)}.prices b{font:400 1.5rem var(--serif);color:var(--champ)}.prices em{font-style:normal;color:var(--grey);font-size:.85rem}
.dishes{display:grid;gap:0}
.dish{display:grid;grid-template-columns:48px 1fr auto;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.dish .dn{color:var(--champ);padding-top:.5rem}
.dish h3{font:400 clamp(1.4rem,2.2vw,1.8rem)/1.2 var(--serif)}
.dish p{color:rgba(243,238,229,.78);margin-top:.3rem;max-width:56ch}
.dimg{float:right;width:96px;height:96px;object-fit:cover;margin:0 0 8px 16px}
.dish.off{opacity:.6}.offl{color:var(--champ);margin-top:.6rem!important}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:.8rem}
.tags li{font:.68rem/1 var(--mono);letter-spacing:.06em;padding:.38rem .6rem;border:1px solid var(--line)}
.tags .lbl{border:0;padding:.38rem .2rem .38rem 0;color:var(--grey)}
.tags .di{border-color:var(--olive);background:var(--olive);color:var(--ivory)}
.legend{margin-top:30px;border:1px solid var(--line);padding:14px 18px}.legend summary{cursor:pointer;color:var(--champ)}.legend p{margin-top:.8rem;color:var(--grey);font-size:.9rem}
.carte-sec{margin-bottom:60px}.carte-sec h2{font:300 clamp(2rem,4vw,3rem) var(--serif)}
@media(max-width:600px){.dish{grid-template-columns:34px 1fr}.dish .dp{grid-column:2}}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:26px;border-top:1px solid var(--line)}
.facts li{padding:16px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}.facts .mono{color:var(--champ)}.facts b{font:400 1.4rem var(--serif)}
.story{display:grid;gap:0}
.story-i{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:36px 0;border-bottom:1px solid var(--line)}
.sn{color:var(--champ);padding-top:.7rem}.story h3{font:300 clamp(1.8rem,3vw,2.6rem)/1.15 var(--serif)}.story p{color:rgba(243,238,229,.8);margin-top:.5rem}
.pair{color:var(--champ);margin-top:.9rem!important;font-size:.7rem}

/* borlap, chip */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.chip{background:none;border:1px solid var(--line);padding:.7rem 1.1rem;min-height:44px;font:.72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--champ)}
.chip[aria-pressed=true]{background:var(--champ);color:var(--ink);border-color:var(--champ)}
.wine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 40px}
.wine{padding:22px 0;border-bottom:1px solid var(--line)}
.wine[hidden]{display:none}
.wh{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.wh h3{font:400 1.6rem/1.2 var(--serif)}
.wmeta{color:var(--grey);margin:.4rem 0 .6rem}.wine p:not(.wmeta):not(.pair){color:rgba(243,238,229,.8)}

/* események, galéria */
.ev{display:grid;grid-template-columns:150px 1fr auto;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);align-items:center}
.ev-d b{display:block;font:300 2.2rem/1 var(--serif);color:var(--champ)}.ev-b h3{font:300 2rem/1.15 var(--serif)}.ev-b p{color:rgba(243,238,229,.8);margin-top:.5rem}.ev-m{color:var(--champ)!important;margin-top:.8rem!important}
@media(max-width:760px){.ev{grid-template-columns:1fr;gap:14px}}
.g-grid{columns:3 280px;column-gap:16px}
.gt{break-inside:avoid;margin:0 0 16px;position:relative;background:var(--coal)}
.gt[hidden]{display:none}
.gt-b{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.gt img{width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.gt:hover img{transform:scale(1.04)}
.gt.s0 img{aspect-ratio:4/5}.gt.s1 img{aspect-ratio:1}.gt.s2 img{aspect-ratio:3/4}.gt.s3 img{aspect-ratio:4/3}.gt.s4 img{aspect-ratio:1}
.gt figcaption{padding:10px 2px;color:var(--grey)}
.lb{position:fixed;inset:0;z-index:250;background:rgba(5,5,5,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px 30px;animation:fade 0s;opacity:1}
.lb img{max-width:min(1200px,100%);max-height:78vh;object-fit:contain}
.lb p{margin-top:16px;color:var(--grey);text-align:center}
.lb button{position:absolute;top:14px;background:none;border:1px solid var(--line);color:var(--ivory);min-width:48px;min-height:48px;cursor:pointer;font:1.4rem var(--serif)}
.lb .lb-x{right:14px}.lb .lb-p{left:14px;top:50%}.lb .lb-n{right:14px;top:50%}

/* űrlapok */
.form{display:grid;gap:18px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:620px){.g2{grid-template-columns:1fr}}
.fld{display:grid;gap:6px;border:0;padding:0;margin:0;min-width:0}
.fld label,.fld legend{font:.7rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--champ);padding:0}
.ivory .fld label,.ivory .fld legend{color:var(--burg)}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;min-height:50px;padding:.8rem 1rem;background:rgba(243,238,229,.05);border:1px solid rgba(243,238,229,.3);border-radius:0;color:var(--ivory);transition:border-color .25s}
.ivory input[type=text],.ivory input[type=email],.ivory input[type=tel],.ivory input[type=number],.ivory input[type=date],.ivory select,.ivory textarea{background:#fff;color:var(--ink);border-color:rgba(16,16,16,.35)}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--champ);outline:2px solid var(--champ);outline-offset:0}
.ivory input:focus,.ivory select:focus,.ivory textarea:focus{border-color:var(--burg);outline-color:var(--burg)}
select option{color:#000}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--champ);flex:none}
.ivory .check input{accent-color:var(--burg)}
.form-err{color:#ff9d9d;border-left:2px solid #ff9d9d;padding-left:12px}
.ivory .form-err{color:#8b1a1a;border-color:#8b1a1a}
.form-ok{border:1px solid var(--champ);padding:22px;font:300 1.4rem/1.4 var(--serif)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.amounts{display:flex;flex-wrap:wrap;gap:10px}.amt input{position:absolute;opacity:0}.amt span{display:inline-flex;align-items:center;min-height:48px;padding:.6rem 1.2rem;border:1px solid rgba(16,16,16,.35);cursor:pointer}.amt input:checked+span{background:var(--ink);color:var(--ivory)}.amt input:focus-visible+span{outline:2px solid var(--burg);outline-offset:2px}

/* foglalási folyamat */
.bk-steps{display:flex;gap:6px;margin-bottom:34px}
.bk-steps li{flex:1;border-top:2px solid var(--line);padding-top:10px;font:.66rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.bk-steps li.on{border-color:var(--champ);color:var(--champ)}.bk-steps li.done{border-color:var(--champ);color:var(--ivory)}
@media(max-width:620px){.bk-steps li span{display:none}}
.bk-pane{animation:panel .55s cubic-bezier(.2,.7,.1,1) both}
.bk-pane h2{font:300 clamp(1.8rem,3.4vw,2.6rem)/1.15 var(--serif);margin-bottom:8px}.bk-pane .sub{color:var(--grey);margin-bottom:24px}
.party{display:flex;flex-wrap:wrap;gap:8px}
.party button{width:56px;height:56px;border:1px solid var(--line);background:none;cursor:pointer;font:1.4rem var(--serif);transition:background-color .25s,color .25s}
.party button:hover{border-color:var(--champ)}.party button[aria-pressed=true]{background:var(--champ);color:var(--ink);border-color:var(--champ)}
.cal{border:1px solid var(--line);padding:16px}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-h b{font:400 1.5rem var(--serif);text-transform:capitalize}
.cal-h button{width:48px;height:48px;background:none;border:1px solid var(--line);color:var(--ivory);cursor:pointer;font-size:1.2rem}.cal-h button:disabled{opacity:.3;cursor:default}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-g .wd{font:.62rem var(--mono);text-align:center;color:var(--grey);padding:6px 0;text-transform:uppercase}
.cal-g button{aspect-ratio:1;min-height:44px;background:none;border:1px solid transparent;color:var(--ivory);cursor:pointer;font:400 1rem var(--sans);position:relative}
.cal-g button:hover:not(:disabled){border-color:var(--champ)}
.cal-g button:disabled{color:rgba(243,238,229,.28);cursor:not-allowed;text-decoration:line-through;text-decoration-color:rgba(243,238,229,.2)}
.cal-g button[aria-pressed=true]{background:var(--champ);color:var(--ink)}
.cal-g button.few::after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--champ)}
.cal-g .pad{visibility:hidden}
.legend-cal{margin-top:10px;color:var(--grey);font-size:.8rem}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slots button{min-width:92px;min-height:52px;border:1px solid var(--line);background:none;cursor:pointer;font:500 1rem var(--sans);transition:background-color .25s}
.slots button:hover:not(:disabled){border-color:var(--champ)}.slots button[aria-pressed=true]{background:var(--champ);color:var(--ink);border-color:var(--champ)}
.slots button:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.tcards{display:grid;gap:12px}
.tcard{display:block;border:1px solid var(--line);padding:20px;cursor:pointer;transition:border-color .25s}
.tcard:hover{border-color:var(--champ)}.tcard input{position:absolute;opacity:0}
.tcard:has(input:checked){border-color:var(--champ);background:rgba(198,174,131,.09)}
.tcard:has(input:focus-visible){outline:2px solid var(--champ);outline-offset:2px}
.tcard b{font:400 1.5rem var(--serif);display:block}.tcard span{color:var(--grey);font-size:.92rem}.tcard .rule{display:block;color:var(--champ);margin-top:.5rem;font:.68rem var(--mono);letter-spacing:.06em}
.summary{border:1px solid var(--champ);padding:22px;margin:22px 0;display:grid;gap:10px}
.summary div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.summary dt{color:var(--grey)}.summary dd{text-align:right}
.rulebox{border-left:2px solid var(--champ);padding:6px 0 6px 16px;color:rgba(243,238,229,.86);margin:18px 0}
.rulebox li{margin:.35rem 0}
.bk-nav{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.notice{border:1px solid var(--champ);padding:16px 18px;margin:16px 0;color:var(--ivory)}
.success{text-align:center;padding:30px 0}
.check-anim{width:96px;height:96px;margin:0 auto 22px}
.check-anim circle{stroke:var(--champ);stroke-width:2;fill:none;stroke-dasharray:290;stroke-dashoffset:290;animation:draw 1s .1s ease-out forwards}
.check-anim path{stroke:var(--champ);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .6s .9s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.success h2{font:300 clamp(2rem,4vw,3rem) var(--serif)}
.success .summary{text-align:left;max-width:560px;margin-inline:auto}

/* lábléc */
.ftr{background:var(--coal);border-top:1px solid var(--line);padding:clamp(50px,7vw,90px) 0 30px}
.ftr-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1.2fr 1fr;gap:40px}
.ftr h2{color:var(--champ);margin-bottom:1rem}.ftr address{font-style:normal;line-height:1.9}.ftr-logo{font:400 2rem var(--serif);letter-spacing:.34em}
.ftr-links li{padding:5px 0}.ftr .hours div{padding:5px 0;font-size:.9rem}
.ftr-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:50px;padding-top:24px;border-top:1px solid var(--line);color:var(--grey);font-size:.62rem;letter-spacing:.08em}
.ftr-base span:nth-child(2){text-transform:none}
@media(max-width:900px){.ftr-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ftr-grid{grid-template-columns:1fr}}

/* belépő animáció, átmenet, értesítések */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 1s var(--d,0s) cubic-bezier(.2,.7,.1,1),transform 1s var(--d,0s) cubic-bezier(.2,.7,.1,1)}
.js [data-reveal].in{opacity:1;transform:none}
.curtain{position:fixed;inset:0;z-index:280;background:var(--ink);opacity:0;pointer-events:none;transition:opacity .4s}
.curtain.leaving{opacity:1;pointer-events:all}
.from-nav .curtain{opacity:1;animation:out .6s .05s both}
#toasts{position:fixed;right:16px;bottom:16px;z-index:400;display:grid;gap:8px;max-width:calc(100vw - 32px)}
.toast{background:var(--ivory);color:var(--ink);padding:14px 18px;border-left:4px solid var(--champ);box-shadow:0 8px 30px rgba(0,0,0,.4);transition:opacity .5s}.toast.bad{border-color:#b3261e}.toast.out{opacity:0}
.noscript{padding:16px;background:var(--burg);text-align:center}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-h .ln>span{transform:none}.hero-eye,.hero-lead,.hero-cta{opacity:1}.js [data-reveal]{opacity:1;transform:none}.intro{display:none!important}.grain::before,.intro-grain::before{animation:none}.sweep{display:none}}
@media print{.hdr,.ftr,.intro,.curtain,.hero-bg{display:none}body{background:#fff;color:#000}}
