@font-face{font-family:Changa One;src:url(./ChangaOne-Regular-BKBjfUqJ.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-300-Jd3jEDF-.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-400-BtKDB5pG.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-500-BlCyJZoz.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-600-AmV_v4Jw.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-700-Q3jUdXm6.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-300-italic-B3KzZPOh.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-400-italic-DjzfL7CZ.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-500-italic-BDuhekM-.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-600-italic-D5RXaVpP.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(./CormorantGaramond-700-italic-DVIe_gsK.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Archivo;src:url(./Archivo-400-0xdipIZB.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(./Archivo-500-JfjrqztD.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(./Archivo-600-BnCQDiQ2.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--red: #a82222;--red-deep: #841717;--red-soft: #c9433f;--wine: #5c0f14;--cream: #f4ecdc;--cream-deep: #ece2cb;--paper: #fbf6ea;--ink: #2a1a12;--ink-soft: #5e4a3c;--hairline: rgba(42, 26, 18, .18);--font-display: "Changa One", "Archivo Black", sans-serif;--font-serif: "Cormorant Garamond", "Times New Roman", serif;--font-sans: "Archivo", system-ui, sans-serif;--text-2xs: clamp( .6rem, .58rem + .1vw, .68rem );--text-xs: clamp( .68rem, .66rem + .13vw, .78rem );--text-sm: clamp( .8rem, .78rem + .16vw, .93rem );--text-base: clamp( .93rem, .88rem + .22vw, 1.12rem );--text-md: clamp( 1.1rem, 1.02rem + .32vw, 1.35rem );--text-lg: clamp( 1.3rem, 1.18rem + .48vw, 1.65rem );--text-xl: clamp( 1.55rem, 1.35rem + .75vw, 2rem );--text-2xl: clamp( 1.9rem, 1.55rem + 1.3vw, 2.75rem );--text-3xl: clamp(2.5rem, 1.9rem + 2.2vw, 4rem);--text-4xl: clamp(3.5rem, 2.5rem + 3.5vw, 8rem);--text-hero: clamp(6.5rem, 5rem + 9vw, 22.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3.5rem;--space-9: 5rem;--space-10: 7.5rem;--section-py: clamp(5rem, 12vw, 11.25rem);--container-px: clamp(1.25rem, 4vw, 4rem);--ease: cubic-bezier(.65, .05, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-serif);background:var(--cream);color:var(--ink);font-size:var(--text-base);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1480px;margin:0 auto;padding:0 var(--container-px)}.section{position:relative;padding:var(--section-py) 0}.section-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--red);font-weight:500;display:inline-flex;align-items:center;gap:var(--space-3)}.section-eyebrow:before{content:"";width:28px;height:1px;background:var(--red)}.section-title{font-family:var(--font-display);font-size:var(--text-4xl);line-height:.92;color:var(--red);letter-spacing:-.01em;margin-top:var(--space-6)}.section-title em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--ink)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out)}.reveal.is-in{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-5) var(--container-px);display:flex;align-items:center;justify-content:space-between;transition:background .5s var(--ease),padding .4s var(--ease),border .5s var(--ease);border-bottom:1px solid transparent}.nav.is-scrolled{background:#f4ecdceb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:var(--space-3) var(--container-px);border-bottom:1px solid var(--hairline)}.nav-mark{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);color:var(--red);letter-spacing:-.01em;line-height:1}.nav-mark .nav-mascot{width:38px;height:38px;background:url(../mascot.png) center/contain no-repeat;transition:transform .6s var(--ease)}.nav:hover .nav-mascot{transform:rotate(-8deg) scale(1.08)}.nav-links{display:flex;gap:var(--space-8);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:500}.nav-links a{position:relative;padding:var(--space-1) 0;color:var(--ink);transition:color .3s}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.nav-links a:hover{color:var(--red)}.nav-links a:hover:after{transform:scaleX(1)}.nav-right{display:flex;align-items:center;gap:var(--space-5)}.lang-switch{display:flex;gap:2px;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.18em;font-weight:500}.lang-switch button{padding:var(--space-1) var(--space-2);color:var(--ink-soft);transition:color .3s;position:relative}.lang-switch button.is-active{color:var(--red)}.lang-switch button:not(:last-child):after{content:"·";position:absolute;right:-3px;color:var(--ink-soft)}.nav-cta{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:500;padding:var(--space-3) var(--space-5);border:1px solid var(--red);color:var(--red);border-radius:999px;transition:background .4s,color .4s}.nav-cta:hover{background:var(--red);color:var(--paper)}.hero{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:140px var(--space-5) var(--space-9);overflow:hidden}.hero-top-meta{position:absolute;top:110px;left:0;right:0;display:flex;justify-content:space-between;padding:0 var(--container-px);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.hero-wordmark{font-family:var(--font-display);font-size:var(--text-hero);line-height:.82;color:var(--red);letter-spacing:-.02em;text-align:center;position:relative;z-index:1}.hero-wordmark .char{display:inline-block;opacity:0;transform:translateY(.5em) rotate(-6deg);animation:heroLetterIn 1s var(--ease-out) forwards}@keyframes heroLetterIn{to{opacity:1;transform:translateY(0) rotate(0)}}.hero-mascot{position:absolute;z-index:0;width:clamp(220px,28vw,440px);top:50%;left:50%;transform:translate(-50%,-68%);opacity:.085;pointer-events:none}.hero-mascot-foreground{position:relative;width:clamp(140px,14vw,220px);margin:var(--space-5) auto calc(var(--space-3) * -1);animation:mascotBob 3.6s ease-in-out infinite;z-index:2}@keyframes mascotBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-2deg)}}.hero-sub{margin-top:var(--space-5);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.5em;text-transform:uppercase;color:var(--red);font-weight:500;display:flex;align-items:center;gap:var(--space-4)}.hero-sub:before,.hero-sub:after{content:"";width:32px;height:1px;background:var(--red)}.hero-tagline{margin-top:var(--space-7);max-width:640px;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:var(--text-xl);font-weight:400;line-height:1.4;color:var(--ink);text-wrap:pretty}.hero-cta-row{margin-top:var(--space-8);display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.btn{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;font-weight:500;padding:var(--space-4) var(--space-6);border-radius:999px;transition:all .4s var(--ease);display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.btn-primary{background:var(--red);color:var(--paper);border:1px solid var(--red)}.btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn .arrow{transition:transform .4s var(--ease)}.btn:hover .arrow{transform:translate(4px)}.hero-scroll{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);animation:scrollHint 2.4s ease-in-out infinite}.hero-scroll-line{width:1px;height:56px;background:linear-gradient(180deg,var(--ink-soft) 0%,transparent 100%)}@keyframes scrollHint{0%,to{transform:translate(-50%) translateY(0);opacity:.7}50%{transform:translate(-50%) translateY(8px);opacity:1}}.marquee{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden;padding:var(--space-5) 0;background:var(--cream-deep)}.marquee-track{display:flex;gap:var(--space-8);white-space:nowrap;animation:marquee 38s linear infinite;font-family:var(--font-display);font-size:var(--text-3xl);color:var(--red);align-items:center}.marquee-track span{display:inline-flex;align-items:center;gap:var(--space-8)}.marquee-track .dot{width:12px;height:12px;border-radius:50%;background:var(--red);flex-shrink:0}.marquee-track .em{font-family:var(--font-serif);font-style:italic;font-weight:400}@keyframes marquee{to{transform:translate(-50%)}}.philo{background:var(--paper);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.philo-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(40px,8vw,120px);align-items:start}.philo-quote{font-family:var(--font-serif);font-style:italic;font-size:var(--text-2xl);line-height:1.22;color:var(--ink);text-wrap:balance}.philo-quote:first-letter{font-family:var(--font-display);font-style:normal;color:var(--red);font-size:2em;line-height:.8;float:left;margin-right:var(--space-3);margin-top:var(--space-2)}.philo-body{display:flex;flex-direction:column;gap:var(--space-5);font-size:var(--text-md);line-height:1.55;color:var(--ink-soft);font-weight:400}.philo-body strong{color:var(--ink);font-weight:600}.philo-signature{margin-top:var(--space-6);font-family:var(--font-serif);font-style:italic;color:var(--red);font-size:var(--text-lg)}.menu-section{background:#fff;border-top:1px solid var(--hairline)}.menu-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-9);gap:var(--space-7);flex-wrap:wrap}.menu-head-logo{width:240px;flex-shrink:0}.menu-head-logo img{width:100%}.menu-categories{display:flex;gap:var(--space-8);margin-bottom:var(--space-8);padding-bottom:var(--space-5);border-bottom:1px solid var(--hairline);flex-wrap:wrap;font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;font-weight:500}.menu-categories button{position:relative;padding:var(--space-2) 0;color:var(--ink-soft);transition:color .3s}.menu-categories button.is-active{color:var(--red)}.menu-categories button:after{content:"";position:absolute;left:0;right:0;bottom:-23px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.menu-categories button.is-active:after{transform:scaleX(1)}.menu-categories .count{font-size:var(--text-2xs);vertical-align:super;margin-left:var(--space-1);opacity:.7}.menu-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start;position:relative;min-height:600px}.menu-list{display:flex;flex-direction:column}.menu-item{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;gap:var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--hairline);cursor:pointer;transition:padding .5s var(--ease),background .4s;align-items:baseline}.menu-item:hover,.menu-item.is-selected{padding-left:var(--space-4)}.menu-item.is-selected:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--red)}.menu-item-num{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--ink-soft);letter-spacing:.1em;min-width:28px}.menu-item-name{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;line-height:1.2;color:var(--ink);transition:color .3s}.menu-item:hover .menu-item-name,.menu-item.is-selected .menu-item-name{color:var(--red)}.menu-item-name .it{font-style:italic;font-weight:400;color:var(--ink-soft);font-size:.78em;margin-left:var(--space-1)}.menu-item-dots{flex:1;border-bottom:1px dotted var(--hairline);align-self:end;margin-bottom:6px;margin-left:var(--space-3);margin-right:var(--space-3);min-width:30px}.menu-item-price{font-family:var(--font-display);font-size:var(--text-lg);color:var(--red);letter-spacing:-.01em}.menu-detail{position:sticky;top:120px;background:var(--cream);border:1px solid var(--hairline);padding:var(--space-7);min-height:460px;display:flex;flex-direction:column;overflow:hidden}.menu-detail-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.3em;text-transform:uppercase;color:var(--red);font-weight:500}.menu-detail-title{font-family:var(--font-display);color:var(--red);font-size:var(--text-3xl);line-height:.95;margin-top:var(--space-3);margin-bottom:var(--space-1);letter-spacing:-.01em}.menu-detail-translit{font-family:var(--font-serif);font-style:italic;color:var(--ink-soft);font-size:var(--text-md);margin-bottom:var(--space-6)}.menu-detail-desc{font-family:var(--font-serif);font-size:var(--text-md);line-height:1.55;color:var(--ink);margin-bottom:var(--space-6);flex:1}.menu-detail-meta{display:flex;flex-direction:column;gap:var(--space-4);border-top:1px solid var(--hairline);padding-top:var(--space-5)}.meta-row{display:flex;align-items:baseline;gap:var(--space-4)}.meta-label{font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);min-width:86px;font-weight:500}.meta-value{font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink);flex:1}.meta-value em{color:var(--red);font-style:italic}.menu-detail-mascot{position:absolute;bottom:-40px;right:-30px;width:140px;opacity:.08;pointer-events:none;transition:opacity .5s}.menu-detail:hover .menu-detail-mascot{opacity:.16}.menu-foot{margin-top:var(--space-8);text-align:center;font-family:var(--font-serif);font-style:italic;color:var(--ink-soft);font-size:var(--text-base)}.menu-foot:before,.menu-foot:after{content:" · · · ";color:var(--red)}.wine{background:var(--wine);color:var(--paper);position:relative;overflow:hidden}.wine .section-eyebrow{color:var(--cream)}.wine .section-eyebrow:before{background:var(--cream)}.wine .section-title{color:var(--paper)}.wine .section-title em{color:var(--cream)}.wine-intro{max-width:540px;margin:var(--space-6) 0 var(--space-9);font-family:var(--font-serif);font-style:italic;font-size:var(--text-xl);line-height:1.45;color:#f4ecdcd9}.wine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 100px}.wine-cat{border-top:1px solid rgba(244,236,220,.3);padding-top:var(--space-5)}.wine-cat-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-6)}.wine-cat-name{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--paper);letter-spacing:-.01em}.wine-cat-count{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;color:#f4ecdc99}.wine-item{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid rgba(244,236,220,.12);align-items:baseline}.wine-item:last-child{border-bottom:none}.wine-name{font-family:var(--font-serif);font-size:var(--text-md);color:var(--paper);font-weight:500}.wine-name .region{font-style:italic;color:#f4ecdc99;font-size:.85em;margin-left:var(--space-2);font-weight:400}.wine-by-glass{font-family:var(--font-sans);font-size:var(--text-xs);color:#f4ecdcb3;letter-spacing:.05em}.wine-price{font-family:var(--font-display);color:var(--cream);font-size:var(--text-md);min-width:56px;text-align:right}.wine-mascot{position:absolute;right:-60px;bottom:-80px;width:360px;opacity:.06;filter:brightness(2);pointer-events:none;transform:scaleX(-1)}.visit{background:var(--paper)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);margin-top:var(--space-9)}.visit-card{border-top:2px solid var(--red);padding-top:var(--space-5)}.visit-card h3{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--red);margin-bottom:var(--space-6);line-height:.95}.hours-row{display:grid;grid-template-columns:140px 1fr auto;padding:var(--space-3) 0;border-bottom:1px solid var(--hairline);align-items:baseline;gap:var(--space-3)}.hours-row:last-child{border-bottom:none}.hours-day{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--ink)}.hours-time{font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink-soft);text-align:right}.hours-time.closed{font-style:italic;color:var(--red)}.visit-address{font-family:var(--font-serif);font-size:var(--text-xl);line-height:1.35;color:var(--ink);margin-bottom:var(--space-5);font-weight:500}.visit-contact{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-serif);font-size:var(--text-md);color:var(--ink-soft);margin-bottom:var(--space-6)}.visit-contact a:hover{color:var(--red)}.visit-map{width:100%;aspect-ratio:16 / 9;background:var(--cream);border:1px solid var(--hairline);position:relative;overflow:hidden}.reserve{background:var(--cream);position:relative;overflow:hidden}.reserve-blurb{font-family:var(--font-serif);font-size:var(--text-md);line-height:1.5;color:var(--ink-soft)}.reserve-booking-wrap{margin-top:clamp(60px,8vw,110px);max-width:1200px;margin-left:auto;margin-right:auto}.wb{display:grid;grid-template-columns:280px 1fr;background:var(--paper);border:1px solid var(--hairline);min-height:620px;position:relative;box-shadow:0 30px 80px -40px #2a1a1240}.wb:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:5px;background:var(--red)}.wb-rail{position:relative;padding:var(--space-8) var(--space-6) var(--space-8) var(--space-7);border-right:1px solid var(--hairline);background:linear-gradient(180deg,var(--paper) 0%,var(--cream-deep) 100%);overflow:hidden}.wb-rail ol{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:2}.wb-step{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:var(--space-1) var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--hairline);transition:padding .4s var(--ease),color .3s}.wb-step:last-child{border-bottom:none}.wb-step-num{grid-row:1 / 3;align-self:start;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.2em;color:var(--ink-soft);font-weight:500;padding-top:var(--space-1);transition:color .3s}.wb-step-label{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.05;color:var(--ink-soft);letter-spacing:-.01em;transition:color .3s}.wb-step-summary{font-family:var(--font-serif);font-style:italic;font-size:var(--text-sm);color:var(--red);margin-top:var(--space-1);grid-column:2}.wb-step.is-current .wb-step-num,.wb-step.is-current .wb-step-label{color:var(--red)}.wb-step.is-done .wb-step-label{color:var(--ink)}.wb-step.is-done:hover{padding-left:var(--space-1)}.wb-rail-mascot{position:absolute;right:-40px;bottom:-50px;width:200px;opacity:.06;pointer-events:none;z-index:1;transform:scaleX(-1)}.wb-stage{padding:var(--space-8) clamp(36px,5vw,64px);position:relative;overflow:hidden}.wb-phase{animation:wbPhaseIn .55s var(--ease-out);display:flex;flex-direction:column;min-height:100%}@keyframes wbPhaseIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.wb-phase-head{margin-bottom:var(--space-6)}.wb-eyebrow{font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.32em;text-transform:uppercase;color:var(--red);font-weight:500;display:inline-flex;align-items:center;gap:var(--space-3)}.wb-eyebrow:before{content:"";width:22px;height:1px;background:var(--red)}.wb-title{font-family:var(--font-display);color:var(--red);font-size:var(--text-3xl);line-height:.95;letter-spacing:-.01em;margin-top:var(--space-3)}.wb-mini-label{font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:var(--space-3);display:block}.wb-cal{display:flex;flex-direction:column;flex:1}.wb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.wb-cal-month{display:flex;align-items:baseline;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);letter-spacing:-.01em;text-transform:lowercase}.wb-cal-year{font-family:var(--font-serif);font-style:italic;font-size:var(--text-md);color:var(--ink-soft);font-weight:400}.wb-cal-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);background:transparent;font-size:var(--text-lg);font-family:var(--font-serif);color:var(--ink);cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;padding-bottom:3px}.wb-cal-arrow:hover{background:var(--red);border-color:var(--red);color:var(--paper)}.wb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.wb-cal-grid-head{margin-bottom:var(--space-2)}.wb-cal-dayhead{text-align:center;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;padding:var(--space-1) 0}.wb-cal-cell{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink);cursor:pointer;transition:all .25s var(--ease)}.wb-cal-cell:hover:not(:disabled){border-color:var(--hairline);background:var(--cream)}.wb-cal-cell:disabled{cursor:default}.wb-cal-cell.is-past .wb-cal-num{color:#5e4a3c4d}.wb-cal-cell.is-closed .wb-cal-num{color:#a8222259;font-style:italic;text-decoration:line-through;text-decoration-thickness:1px}.wb-cal-cell.is-selected{background:var(--red);border-color:var(--red);color:var(--paper)}.wb-cal-cell.is-selected:hover{background:var(--red)}.wb-cal-cell.is-selected .wb-cal-num{color:var(--paper);font-weight:600}.wb-cal-today-dot{position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--red)}.wb-cal-empty{pointer-events:none}.wb-cal-foot{display:flex;gap:var(--space-5);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--hairline);font-family:var(--font-serif);font-style:italic;font-size:var(--text-sm);color:var(--ink-soft)}.wb-cal-legend{display:inline-flex;align-items:center;gap:var(--space-2)}.wb-cal-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-soft)}.wb-cal-legend-closed{background:#a8222259}.wb-cal-legend-today{background:var(--red)}.wb-time{display:flex;flex-direction:column;gap:var(--space-6);flex:1}.wb-time-section{display:flex;flex-direction:column}.wb-party{display:flex;gap:var(--space-1);flex-wrap:wrap}.wb-party-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--hairline);background:transparent;font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink);cursor:pointer;transition:all .25s var(--ease)}.wb-party-btn:hover{border-color:var(--red);color:var(--red)}.wb-party-btn.is-active{background:var(--red);border-color:var(--red);color:var(--paper);font-weight:600}.wb-large-party{margin-top:var(--space-3);font-family:var(--font-serif);font-style:italic;font-size:var(--text-sm);color:var(--ink-soft)}.wb-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2)}.wb-time-btn{position:relative;padding:var(--space-3) var(--space-3);border-radius:4px;border:1px solid var(--hairline);background:transparent;font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink);cursor:pointer;transition:all .25s var(--ease);letter-spacing:.02em}.wb-time-btn:hover{border-color:var(--red);color:var(--red)}.wb-time-btn.is-active{background:var(--red);border-color:var(--red);color:var(--paper);font-weight:600}.wb-time-popular{position:absolute;top:-8px;right:8px;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.22em;text-transform:uppercase;background:var(--paper);color:var(--red);padding:2px var(--space-1);border:1px solid var(--red);border-radius:999px;font-weight:500}.wb-time-btn.is-active .wb-time-popular{background:var(--red);color:var(--paper)}.wb-form{display:flex;flex-direction:column;gap:var(--space-5);flex:1}.wb-form-row{display:contents}.wb-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.wb-field{display:flex;flex-direction:column;gap:var(--space-2)}.wb-field label{font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.wb-field-req{color:var(--red);margin-left:var(--space-1)}.wb-field input,.wb-field textarea{font-family:var(--font-serif);font-size:var(--text-md);color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--hairline);padding:var(--space-2) 0;outline:none;width:100%;resize:none;transition:border-color .3s}.wb-field.is-big input{font-size:var(--text-xl);padding:var(--space-3) 0}.wb-field input::placeholder,.wb-field textarea::placeholder{color:#5e4a3c73;font-style:italic}.wb-field input:focus,.wb-field textarea:focus{border-color:var(--red)}.wb-consent{font-family:var(--font-serif);font-style:italic;font-size:var(--text-sm);color:var(--ink-soft);margin-top:var(--space-1);line-height:1.5}.wb-phase-foot{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.wb-foot-summary{font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink)}.wb-foot-summary em{font-style:italic;color:var(--ink-soft)}.wb-btn-primary,.wb-btn-ghost{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;font-weight:500;padding:var(--space-4) var(--space-6);border-radius:999px;cursor:pointer;transition:all .35s var(--ease);display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid}.wb-btn-primary{background:var(--red);color:var(--paper);border-color:var(--red)}.wb-btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-2px)}.wb-btn-primary:disabled{background:#a8222240;border-color:transparent;cursor:default;transform:none}.wb-btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.wb-btn-ghost:hover{background:var(--ink);color:var(--paper)}.wb-btn-primary .arrow,.wb-btn-ghost .arrow{transition:transform .35s var(--ease)}.wb-btn-primary:hover .arrow,.wb-btn-ghost:hover .arrow{transform:translate(4px)}.wb-phase-done{text-align:center;align-items:center}.wb-done-head{width:100%}.wb-done-mascot{width:100px;margin:0 auto var(--space-4);animation:mascotBob 3s ease-in-out infinite}.wb-title-confirm{margin-top:var(--space-4);text-align:center}.wb-done-body{margin:var(--space-5) auto 0;max-width:460px;font-family:var(--font-serif);font-style:italic;font-size:var(--text-md);color:var(--ink-soft);line-height:1.5}.wb-done-body em{color:var(--red);font-style:normal;font-weight:500}.wb-ticket{margin-top:var(--space-6);background:var(--cream);border:1px solid var(--hairline);padding:var(--space-6) var(--space-6) var(--space-5);position:relative;text-align:left;max-width:620px;width:100%}.wb-ticket-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:var(--red)}.wb-ticket-perf{position:absolute;left:0;right:0;bottom:96px;height:1px;background-image:linear-gradient(90deg,var(--hairline) 50%,transparent 50%);background-size:10px 1px}.wb-ticket-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5) var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--hairline)}.wb-ticket-cell{display:flex;flex-direction:column}.wb-ticket-cell .wb-mini-label{margin-bottom:var(--space-1)}.wb-ticket-big{font-family:var(--font-display);font-size:var(--text-xl);color:var(--red);letter-spacing:-.01em;line-height:1.05}.wb-ticket-it{font-family:var(--font-serif);font-style:italic;font-size:var(--text-sm);color:var(--ink-soft);margin-top:var(--space-1)}.wb-ticket-row{display:grid;grid-template-columns:130px 1fr;gap:var(--space-3);padding-top:var(--space-3);align-items:baseline}.wb-ticket-row .wb-mini-label{margin-bottom:0}.wb-ticket-value{font-family:var(--font-serif);font-size:var(--text-base);color:var(--ink)}.wb-ticket-value em{color:var(--ink-soft);font-style:italic}.wb-ticket-value-it{font-style:italic;color:var(--ink-soft)}.wb-done-actions{margin-top:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}@media (max-width: 900px){.wb{grid-template-columns:1fr}.wb-rail{padding:var(--space-5) var(--space-5);border-right:none;border-bottom:1px solid var(--hairline)}.wb-rail ol{flex-direction:row;overflow-x:auto;gap:0}.wb-step{flex-shrink:0;border-bottom:none;padding:var(--space-3) var(--space-5) var(--space-3) 0}.wb-step-summary,.wb-rail-mascot{display:none}.wb-stage{padding:var(--space-6) var(--space-5)}.wb-form-row-2,.wb-ticket-grid,.wb-ticket-row{grid-template-columns:1fr}}@media (max-width: 600px){.wb-phase-foot{flex-direction:column;align-items:stretch;gap:var(--space-3)}.wb-phase-foot button{justify-content:center}.wb-foot-summary{text-align:center}}.footer{background:var(--ink);color:var(--cream);padding:var(--space-9) 0 var(--space-6);position:relative;overflow:hidden}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-8)}.footer h4{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;color:#f4ecdc80;margin-bottom:var(--space-5);font-weight:500}.footer-mark{font-family:var(--font-display);font-size:clamp(3.5rem,6vw,6rem);color:var(--red-soft);line-height:.9;margin-bottom:var(--space-4)}.footer-tag{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.3em;text-transform:uppercase;color:var(--cream)}.footer ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-serif);font-size:var(--text-base)}.footer ul a{color:#f4ecdcbf;transition:color .3s}.footer ul a:hover{color:var(--cream)}.footer-bottom{border-top:1px solid rgba(244,236,220,.15);padding-top:var(--space-5);display:flex;justify-content:space-between;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.22em;text-transform:uppercase;color:#f4ecdc80}.running-mascot{position:fixed;bottom:0;left:-200px;width:96px;height:96px;z-index:60;pointer-events:none;background:url(../mascot.png) center bottom/contain no-repeat;opacity:0;transform-origin:bottom center}.running-mascot.is-running{animation:mascotRun 6.5s linear forwards,mascotBobTiny .32s ease-in-out infinite;opacity:1}@keyframes mascotRun{0%{left:-200px;transform:translateY(0)}to{left:calc(100vw + 60px);transform:translateY(0)}}@keyframes mascotBobTiny{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-6px) rotate(1.5deg)}}body[data-theme=dark]{--cream: #1a1110;--cream-deep: #221715;--paper: #221715;--ink: #f4ecdc;--ink-soft: #a89685;--hairline: rgba(244, 236, 220, .18)}body[data-theme=dark] .menu-section{background:#100808}body[data-theme=dark] .menu-detail{background:#2a1c1a}body[data-theme=dark] .visit{background:#16100e}body[data-theme=dark] .reserve-form,body[data-theme=dark] .reserve-success,body[data-theme=dark] .marquee{background:#2a1c1a}body[data-theme=dark] .nav.is-scrolled{background:#1a1110e6}body[data-theme=dark] .footer{background:#0c0606}@media (max-width: 900px){.nav-links{display:none}.philo-grid,.menu-grid,.wine-grid,.visit-grid,.footer-grid{grid-template-columns:1fr}.menu-detail{position:relative;top:0;min-height:320px}.footer-grid{gap:var(--space-6)}.hero-top-meta{display:none}}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.nav-cta{display:none}}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--cream);font-family:Archivo,sans-serif}.admin-login-card{background:var(--paper);padding:3rem 2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a;width:100%;max-width:320px;text-align:center}.admin-login-card h1{font-family:Changa One,sans-serif;font-size:1.5rem;color:var(--red);margin-bottom:2rem}.admin-login-card form{display:flex;flex-direction:column;gap:1rem}.admin-login-card input{padding:.75rem;border:1px solid var(--hairline);border-radius:4px;font-family:Archivo,sans-serif;font-size:1rem;background:var(--cream);color:var(--ink)}.admin-login-card button{padding:.75rem 1.5rem;background:var(--red);color:var(--cream);border:none;border-radius:4px;font-family:Archivo,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.admin-login-card button:hover{background:var(--red-deep)}.admin-login-card .error{color:#d32f2f;font-size:.875rem;margin-top:.5rem}.admin-panel{background:var(--cream);min-height:100vh;font-family:Archivo,sans-serif;color:var(--ink)}.admin-header{background:#f4ecdceb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:var(--space-4) var(--container-px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hairline)}.admin-header-logo-container{display:flex;align-items:center;gap:var(--space-3)}.admin-header-logo-container .nav-mascot{transition:transform .6s var(--ease)}.admin-header:hover .nav-mascot{transform:rotate(-8deg) scale(1.08)}.logout-btn{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:500;padding:var(--space-2) var(--space-4);border:1px solid var(--red);color:var(--red);border-radius:999px;background:transparent;cursor:pointer;transition:background .4s,color .4s}.logout-btn:hover{background:var(--red);color:var(--paper)}.admin-cta-btn-flat{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:500;padding:var(--space-3) var(--space-5);border:1px solid var(--red);color:var(--red);background:transparent;border-radius:999px;cursor:pointer;transition:background .4s,color .4s}.admin-cta-btn-flat:hover{background:var(--red);color:var(--paper)}.admin-content{max-width:1200px;margin:0 auto;padding:2rem}.admin-tabs{display:flex;gap:1rem;border-bottom:2px solid var(--hairline);margin-bottom:2rem}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-family:Archivo,sans-serif;font-size:1rem;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:all .2s}.tab.is-active{color:var(--red);border-bottom-color:var(--red)}.tab:hover:not(.is-active){color:var(--ink)}.admin-section{background:var(--paper);padding:2rem;border-radius:8px;margin-bottom:2rem}.admin-section h2{font-family:Changa One,sans-serif;font-size:1.25rem;color:var(--red);margin-top:0;margin-bottom:1.5rem}.admin-section h3{font-size:1rem;color:var(--ink);margin-bottom:1rem}.admin-section.error{background:#ffebee;color:#d32f2f;border:1px solid #ef5350}.bookings-table-wrapper{overflow-x:auto;border:1px solid var(--hairline);border-radius:4px;margin-bottom:1rem}.bookings-table{width:100%;border-collapse:collapse;font-size:.9rem}.bookings-table thead{background:var(--cream);border-bottom:2px solid var(--hairline)}.bookings-table th{padding:.75rem;text-align:left;font-weight:600;color:var(--red)}.bookings-table td{padding:.75rem;border-bottom:1px solid var(--hairline)}.bookings-table tbody tr:hover{background:#a822220d}.refresh-btn{padding:.5rem 1.5rem;background:var(--red-soft);color:var(--cream);border:none;border-radius:4px;cursor:pointer;font-family:Archivo,sans-serif;transition:background .2s}.refresh-btn:hover{background:var(--red)}.block-form{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.block-form input{padding:.75rem;border:1px solid var(--hairline);border-radius:4px;font-family:Archivo,sans-serif;flex:1;min-width:150px}.block-form button:not(.admin-cta-btn-flat){padding:.75rem 1.5rem;background:var(--red);color:var(--cream);border:none;border-radius:4px;font-family:Archivo,sans-serif;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.block-form button:not(.admin-cta-btn-flat):hover{background:var(--red-deep)}.success{color:#2e7d32;background:#e8f5e9;border:1px solid #4caf50;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-weight:600}.error{color:#d32f2f;background:#ffebee;border:1px solid #ef5350;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-weight:600}.blocked-dates-list{margin-top:2rem}.blocked-dates-list ul{list-style:none;padding:0;margin:0}.blocked-dates-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--hairline);border-radius:4px;margin-bottom:.5rem;background:var(--cream)}.unblock-btn{padding:.35rem .75rem;background:#ef5350;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background .2s}.unblock-btn:hover{background:#d32f2f}.wb-error{background:#ffebee;color:#d32f2f;padding:.75rem;border-radius:4px;margin-top:1rem;font-size:.9rem;border:1px solid #ef5350}@media (max-width: 900px){.admin-content{padding:1rem}.bookings-table{font-size:.8rem}.bookings-table th,.bookings-table td{padding:.5rem}.block-form{flex-direction:column}.block-form input,.block-form button{width:100%}}
