:root{--text:#004d00;--text-h:#020;--bg:beige;--border:#d4d4aa;--code-bg:#e8e8d1;--accent:#004d00;--accent-bg:#004d001a;--accent-border:#004d0080;--social-bg:#f5f5dc80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Playfair Display", serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:4px;display:flex;position:absolute;top:20px;right:20px}.hamburger span{background-color:beige;width:25px;height:3px;transition:all .3s}.side-menu{z-index:1000;box-sizing:border-box;background-color:#b3b3b349;flex-direction:column;width:350px;height:100vh;padding:20px;transition:right .3s;display:flex;position:fixed;top:0;right:-350px}.side-menu.open{right:0}.close-menu{color:#0000008a;cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-bottom:40px;padding:0;font-size:28px;transition:-webkit-text-decoration .3s,text-decoration .3s}.close-menu:hover{text-decoration:underline}.menu-nav{flex-direction:column;gap:30px;display:flex}.menu-nav a{color:#004d00;font-size:20px;font-weight:500;font-family:var(--heading);text-decoration:none;transition:color .3s,-webkit-text-decoration .3s,text-decoration .3s}.menu-nav a:hover{color:#020;text-decoration:underline}.hamburger.hidden{display:none}.hero{color:#fff;text-align:center;background-color:#0000;background-image:linear-gradient(#004d00b3,#004d00b3),url(./assets/hero.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:center;align-items:center;min-height:60vh;padding:100px 20px;display:flex}.hero-content h1{font-family:var(--heading);color:beige;margin:0 0 20px;font-size:4rem}.tagline{margin:0 0 20px;font-size:1.5rem;font-weight:300}.description{max-width:600px;margin:0 auto 40px;font-size:1.2rem;line-height:1.6}.cta-button{color:#004d00;cursor:pointer;background-color:beige;border:none;border-radius:5px;padding:15px 30px;font-size:1.2rem;transition:background-color .3s}.cta-button:hover{background-color:#e8e8d1}section{padding:80px 20px}.container{max-width:1200px;margin:0 auto}.about,.menu-highlights,.contact{background-color:beige}.about h2,.menu-highlights h2,.contact h2{color:#004d00;font-family:var(--heading);text-align:center;margin-bottom:40px}.about p{text-align:center;max-width:800px;margin:0 auto;font-size:1.1rem;line-height:1.6}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;display:grid}.menu-item{text-align:center;background:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 6px #0000001a}.menu-item h3{color:#004d00;font-family:var(--heading);margin-bottom:15px}.menu-item p{color:#004d00;line-height:1.5}.contact-info{text-align:center;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;display:grid}.contact-info h3{color:#004d00;font-family:var(--heading);margin-bottom:15px}.contact-info p{color:#004d00;line-height:1.5}footer{color:beige;text-align:center;background-color:#004d00;padding:20px;font-size:.9rem}.hero-alt{background:linear-gradient(135deg,beige 0%,#004d00 100%);justify-content:center;align-items:center;min-height:50vh;padding:60px 20px;display:flex}.hero-split{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}.hero-left{color:#004d00}.hero-left h1{font-family:var(--heading);color:#004d00;margin:0;font-size:4rem}.tagline-alt{color:#2d7a2d;margin:15px 0 0;font-size:1.3rem;font-weight:300}.hero-right{color:#fff}.description-alt{margin-bottom:30px;font-size:1.1rem;line-height:1.8}.cta-button-alt{color:beige;cursor:pointer;background-color:#004d00;border:2px solid beige;border-radius:3px;padding:12px 28px;font-size:1rem;font-weight:500;transition:all .3s}.cta-button-alt:hover{color:#004d00;background-color:beige}.about-alt{background-color:beige;padding:80px 20px}.about-content{grid-template-columns:1.5fr 1fr;align-items:start;gap:60px;display:grid}.about-text h2{color:#004d00;font-family:var(--heading);margin-bottom:20px;font-size:2.5rem}.about-text p{color:#004d00;text-align:left;font-size:1.1rem;line-height:1.7}.about-values{flex-direction:column;gap:30px;display:flex}.value-item{background:#fff;border-left:4px solid #004d00;border-radius:0 5px 5px 0;padding:25px}.value-item h3{color:#004d00;margin:0 0 8px;font-size:1.2rem}.value-item p{color:#2d7a2d;margin:0;font-size:.95rem}.gallery-section{background-color:#004d00;padding:80px 20px}.gallery-section h2{color:beige;font-family:var(--heading);text-align:center;margin-bottom:60px;font-size:2.5rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;display:grid}.gallery-card{background:#fff;border-radius:8px;transition:transform .3s,box-shadow .3s;overflow:hidden}.gallery-card:hover{transform:translateY(-8px);box-shadow:0 12px 20px #00000026}.gallery-card.featured{grid-column:span 1}.gallery-image{width:100%;height:200px}.gallery-card h3{color:#004d00;font-family:var(--heading);margin:0;padding:20px 20px 10px}.gallery-card p{color:#2d7a2d;margin:0;padding:0 20px 20px;font-size:.95rem}.contact-alt{background-color:beige;padding:80px 20px}.contact-alt h2{color:#004d00;font-family:var(--heading);text-align:center;margin-bottom:50px;font-size:2.5rem}.contact-wrapper{grid-template-columns:1fr 1fr;gap:60px;max-width:1000px;margin:0 auto;display:grid}.contact-form-section h3{color:#004d00;font-family:var(--heading);margin-bottom:25px;font-size:1.3rem}.reservation-form{flex-direction:column;gap:15px;display:flex}.reservation-form input{color:#004d00;border:2px solid #004d00;border-radius:4px;padding:12px 15px;font-size:1rem}.reservation-form input:focus{background-color:#fffef6;border-color:#2d7a2d;outline:none}.form-button{color:beige;cursor:pointer;background-color:#004d00;border:none;border-radius:4px;padding:12px 25px;font-size:1rem;font-weight:600;transition:background-color .3s}.form-button:hover{background-color:#020}.contact-details-section{flex-direction:column;gap:30px;display:flex}.contact-detail h3{color:#004d00;font-family:var(--heading);margin:0 0 10px;font-size:1.1rem}.contact-detail p{color:#2d7a2d;margin:0;line-height:1.6}.hero-minimal{text-align:center;background:linear-gradient(beige 0%,#004d00 100%);justify-content:center;align-items:center;min-height:40vh;padding:120px 20px;display:flex}.hero-centered h1{font-family:var(--heading);color:#004d00;letter-spacing:2px;margin:0;font-size:5rem;font-weight:300}.experience-section{text-align:center;background-color:beige;padding:80px 20px}.experience-intro{max-width:700px;margin:0 auto}.intro-text{color:#004d00;font-size:1.3rem;font-style:italic;line-height:1.8}.highlight-strip{background-color:#004d00;padding:50px 20px}.highlight-items{text-align:center;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;max-width:1200px;margin:0 auto;display:grid}.highlight-item{color:beige}.highlight-item .number{color:beige;margin-bottom:10px;font-size:3rem;font-weight:300;display:block}.highlight-item p{margin:0;font-size:1.1rem}.philosophy-section{background-color:beige;padding:80px 20px}.philosophy-section h2{font-family:var(--heading);color:#004d00;text-align:center;margin-bottom:60px;font-size:2.5rem}.philosophy-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:1200px;margin:0 auto;display:grid}.philosophy-block{text-align:center;background:#fff;border-top:4px solid #004d00;border-radius:0 0 8px 8px;padding:40px 30px}.philosophy-block h3{color:#004d00;font-family:var(--heading);margin:0 0 15px;font-size:1.4rem}.block-content{color:#2d7a2d;font-size:.95rem;line-height:1.7}.menu-showcase{background-color:#004d00;padding:80px 20px}.menu-showcase h2{color:beige;font-family:var(--heading);text-align:center;margin-bottom:60px;font-size:2.5rem}.featured-dishes{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;max-width:1200px;margin:0 auto;display:grid}.dish-card{text-align:center;background:beige;border-radius:8px;padding:35px}.dish-card h3{color:#004d00;font-family:var(--heading);margin:0 0 10px;font-size:1.5rem}.course-type{color:#2d7a2d;text-transform:uppercase;letter-spacing:1px;margin:0 0 15px;font-size:.9rem}.dish-card .description{color:#004d00;margin:0 0 20px;font-size:.95rem;line-height:1.6}.dish-card .price{color:#004d00;font-family:var(--heading);margin:0;font-size:1.3rem;font-weight:600}.booking-section{background-color:beige;padding:80px 20px}.booking-content h2{color:#004d00;font-family:var(--heading);text-align:center;margin-bottom:50px;font-size:2.5rem}.booking-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;max-width:1000px;margin:0 auto;display:grid}.booking-info{text-align:center}.booking-info h4{color:#004d00;font-family:var(--heading);margin:0 0 12px;font-size:1.1rem}.booking-info p{color:#2d7a2d;margin:0;line-height:1.6}.booking-info a{color:#004d00;text-decoration:none;transition:color .3s}.booking-info a:hover{color:#020;text-decoration:underline}.reserve-btn{color:beige;cursor:pointer;background-color:#004d00;border:none;border-radius:4px;padding:10px 20px;font-weight:600;transition:background-color .3s}.reserve-btn:hover{background-color:#020}@media (width<=768px){.hero-content h1{font-size:2.5rem}.tagline{font-size:1.2rem}.description{font-size:1rem}section{padding:60px 20px}.menu-grid,.contact-info{grid-template-columns:1fr}.hero-split{grid-template-columns:1fr;gap:40px}.hero-left h1{font-size:2.5rem}.description-alt{font-size:1rem}.about-content{grid-template-columns:1fr}.about-text h2{font-size:2rem}.contact-wrapper{grid-template-columns:1fr}.hero-centered h1{font-size:3rem}.philosophy-grid,.featured-dishes,.booking-grid{grid-template-columns:1fr}}.is-under-construction{overflow:hidden}.app-shell{min-height:100svh;position:relative}.app-shell--blurred .app-shell__content{filter:blur(8px);transform:scale(1.02)}.construction-overlay{z-index:3000;background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.construction-overlay__card{width:min(680px,100%);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f5dceb;border:1px solid #004d0040;border-radius:16px;padding:28px 24px}.construction-overlay__title{font-family:var(--heading);color:#004d00;margin-bottom:10px;font-size:2.2rem;line-height:1.1}.construction-overlay__subtitle{color:#2d7a2d;font-size:1.05rem}
