:root{--background:#fff8f0;--text:#2c1810;--accent:#c17817;--accent-light:#d4941f;--border:#d4b896;--foreground:#3a2a1a;--muted:#8a7668;--font-body:"Newsreader",serif;--font-heading:"Young Serif",serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border)var(--background)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}html,body{max-width:100vw;overflow-x:clip}body{color:var(--text);background:var(--background);font-family:var(--font-body);letter-spacing:.01em;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.2}h2{text-align:center}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}.section-divider{background:var(--accent);border:none;width:60px;height:1px;margin:.5rem auto 2.5rem;display:block}.reveal .section-divider,.section-divider.reveal{width:0;transition:width .8s cubic-bezier(.16,1,.3,1),opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.revealed .section-divider,.section-divider.revealed{width:60px}.heading-accent:after{content:"";background:var(--accent);width:40px;height:1.5px;margin-top:.75rem;transition:width .7s cubic-bezier(.16,1,.3,1) .3s;display:block}.reveal .heading-accent:after{width:0}.revealed .heading-accent:after{width:40px}.heading-accent-center:after{content:"";background:var(--accent);width:40px;height:1.5px;margin:.75rem auto 0;transition:width .7s cubic-bezier(.16,1,.3,1) .3s;display:block}.reveal .heading-accent-center:after{width:0}.revealed .heading-accent-center:after{width:40px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-to-content{z-index:10000;background:var(--accent);color:#fff;font-family:var(--font-body);border-radius:0 0 4px 4px;padding:.75rem 1.5rem;font-size:.9rem;text-decoration:none;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-to-content:focus{top:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.reveal .section-divider,.reveal .heading-accent:after,.reveal .heading-accent-center:after{width:auto;transition:none}.hero-content{opacity:1;animation:none}.hero-carousel-img{transition:none}.hero-bg img,.gallery-row{animation:none}html{scroll-behavior:auto}}
.navbar{z-index:100;justify-content:space-between;align-items:center;width:100%;padding:1.5rem 2.5rem;transition:background-color .4s,padding .4s,box-shadow .4s;display:flex;position:fixed;top:0;left:0}.navbar.no-transition{transition:none!important}.navbar.scrolled{-webkit-backdrop-filter:blur(16px);background-color:#fff8f0d1;padding:1rem 2.5rem;box-shadow:0 1px 20px #2c18100f}.navbar-logo{color:#fff;transition:color .4s}.navbar.scrolled .navbar-logo{color:var(--text)}.navbar-links{align-items:center;gap:2.25rem;list-style:none;display:flex}.navbar-links a{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#fff;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .4s,opacity .2s;position:relative}.navbar-links a:after{content:"";background:currentColor;width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.navbar-links a:hover:after{width:100%}.navbar.scrolled .navbar-links a{color:var(--text)}.btn-book{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:2px;padding:.6rem 1.6rem;font-size:.75rem;font-weight:400;text-decoration:none;transition:background .4s,border-color .4s,box-shadow .4s;display:inline-block}.btn-book:hover{background:var(--accent-light);border-color:var(--accent-light);box-shadow:0 2px 12px #c1781740}.lang-dropdown{position:relative}.lang-toggle{cursor:pointer;opacity:.9;background:0 0;border:none;border-radius:2px;align-items:center;padding:.4rem;transition:opacity .3s,transform .2s;display:flex;overflow:hidden}.lang-toggle:hover{opacity:1;transform:scale(1.05)}.lang-menu{background:var(--background);border:1px solid var(--border);z-index:100;min-width:120px;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 4px 16px #0000001a}.lang-option{width:100%;font-family:var(--font-body);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.8rem;font-weight:400;text-decoration:none;transition:background .2s;display:flex}.lang-flag{border-radius:2px;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #0000001a}.lang-option:hover{background:#0000000a}.lang-option.active{color:var(--accent);font-weight:600}.lang-mobile-options{gap:1rem;margin-top:1.5rem;display:flex}.lang-mobile-options .lang-option{border:1px solid var(--border);padding:.5rem 1rem;font-size:.9rem}.lang-mobile-options .lang-option.active{border-color:var(--accent)}.btn-outline{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--text);color:var(--text);cursor:pointer;z-index:1;background:0 0;border-radius:2px;padding:.85rem 2.5rem;font-size:.75rem;font-weight:400;text-decoration:none;transition:color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;display:inline-block;position:relative;overflow:hidden}.btn-outline:before{content:"";background:var(--text);border-radius:inherit;transform-origin:0;z-index:-1;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:-1px;transform:scaleX(0)}.btn-outline:hover{color:var(--background);box-shadow:0 2px 16px #2c18101f}.btn-outline:hover:before{transform:scaleX(1)}.btn-group{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-outline.white{color:#fff;border-color:#ffffff80}.btn-outline.white:before{background:#fff}.btn-outline.white:hover{color:var(--text);box-shadow:0 2px 16px #ffffff26}.menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.menu-btn span{background:#fff;width:24px;height:2px;transition:background .3s;display:block}.navbar.scrolled .menu-btn span{background:var(--text)}.mobile-menu{background:var(--background);z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--font-heading);color:var(--text);font-size:1.5rem}.mobile-menu-close{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:2rem;position:absolute;top:1.5rem;right:2rem}@media (max-width:1024px){.navbar-links,.navbar>.btn-book,.navbar>.lang-dropdown{display:none}.menu-btn{display:flex}.navbar{padding:1rem 1.25rem}}main#main-content{padding-top:var(--banner-h,0px)}.hero{width:100%;min-height:80vh;margin-top:calc(-1*var(--banner-h,0px));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero.hero-full{min-height:100vh;margin-top:calc(-1*var(--banner-h,0px))}@media (max-width:768px){.hero.hero-full{min-height:60vh}}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%;animation:20s ease-out forwards hero-zoom}.hero-carousel{position:absolute;inset:0}.hero-carousel-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.5s ease-in-out;position:absolute;inset:0}.hero-carousel-img.active{opacity:1}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-overlay{z-index:1;background:radial-gradient(#0000 0%,#0003 100%),linear-gradient(#00000026 0%,#0000004d 40%,#0009 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:#fff;padding:2rem;animation:1.6s cubic-bezier(.16,1,.3,1) .4s both hero-fade-in;position:relative}@keyframes hero-fade-in{0%{opacity:0;filter:blur(6px);transform:translateY(30px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.hero-content h1{letter-spacing:.08em;text-shadow:0 2px 40px #00000080,0 1px 6px #0000004d;max-width:800px;margin:0 auto;font-size:clamp(2.5rem,5.5vw,4.25rem)}.hero-small{min-height:45vh}.hero-small .hero-overlay{background:#00000073}.hero-small .hero-content{padding-top:4rem}.hero-small .hero-content h1{text-shadow:0 2px 20px #00000080,0 1px 4px #0000004d;font-size:clamp(2rem,5vw,3rem)}.hero-small .hero-content p{opacity:.9;text-shadow:0 1px 8px #0006;max-width:700px;margin:1rem auto 0;font-size:.95rem;line-height:1.7}.footer{color:#fff8f0;background:#2c1810;padding:6rem 2.5rem 0}.footer-main{grid-template-columns:1fr 1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto;padding-bottom:3.5rem;display:grid}.footer-contact h4{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:#fff8f0b3;margin-bottom:.375rem;font-size:.85rem}.footer-contact p,.footer-contact a{color:#fff8f0;font-size:.875rem;transition:color .2s}.footer-contact a:hover{color:var(--accent)}.footer-contact>div+div{margin-top:1.5rem}.footer-center{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.footer-center .footer-logo{color:#fff8f0}.footer-hours-grid{grid-template-columns:auto auto;align-items:baseline;gap:.25rem .75rem;width:fit-content;margin-left:auto;font-size:.85rem;display:grid}.footer-hours-grid dt{color:#fff8f0b3;letter-spacing:.05em;text-transform:uppercase;text-align:right;font-size:.85rem}.footer-hours-grid dd{color:#fff8f0;font-size:.85rem}.footer-special-hours{border-top:1px solid #fff8f01f;width:fit-content;margin-top:1.25rem;margin-left:auto;padding-top:1rem}.footer-special-hours h4{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:#fff8f0b3;text-align:right;margin-bottom:.5rem;font-size:.75rem}.footer-special-hours p{color:#fff8f0;text-align:right;font-size:.8rem}.footer-special-hours p+p{margin-top:.2rem}.footer-bottom{color:#fff8f0a6;border-top:1px solid #fff8f01f;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1200px;margin:0 auto;padding:1.75rem 0;font-size:.875rem;display:grid}.footer-bottom>:last-child{text-align:right}.footer-bottom a{color:#fff8f0a6;text-decoration:none;transition:color .2s}.footer-bottom a:hover{color:var(--accent)}.footer-powered{text-align:center;letter-spacing:.06em;color:#fff8f059;white-space:nowrap;font-size:.75rem;transition:color .3s}.footer-powered:hover{color:#fff8f0b3}.footer-powered strong{letter-spacing:.08em;font-weight:600}.footer .btn-outline{color:#fff8f0;letter-spacing:.14em;border-color:#fff8f033;padding:.75rem 1.75rem;font-size:.8rem}.footer .btn-outline:before{background:var(--accent)}.footer .btn-outline:hover{color:#fff;border-color:var(--accent)}@media (max-width:768px){.footer{padding:4rem 1.5rem 0}.footer-main{text-align:center;grid-template-columns:1fr}.footer-hours-grid{margin-left:auto;margin-right:auto}.footer-special-hours{text-align:center;margin-left:auto;margin-right:auto}.footer-special-hours h4,.footer-special-hours p{text-align:center}.footer-bottom{text-align:center;flex-direction:column;grid-template-columns:1fr;gap:.5rem}.footer-bottom>:last-child{text-align:center}}.footer-socials{justify-content:center;gap:.75rem;display:flex}.social-icon{color:#fff8f0;border:1px solid #fff8f033;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:color .2s,border-color .2s;display:inline-flex}.social-icon:hover{color:var(--accent);border-color:var(--accent)}
.section{padding:8rem 2.5rem}.section-narrow{padding:4rem 2.5rem}.container{max-width:1200px;margin:0 auto}.text-center{text-align:center}.section h2{letter-spacing:.02em;margin-bottom:1.25rem;font-size:clamp(1.75rem,3.5vw,2.5rem)}.section p{color:var(--foreground);max-width:650px;font-size:.95rem;line-height:1.8}.section .text-center p{margin-left:auto;margin-right:auto}.intro{text-align:center;padding:10rem 2.5rem}.intro-ornament{color:var(--accent);opacity:.45;letter-spacing:.8em;margin-bottom:2.5rem;font-size:1.25rem}.intro h2{letter-spacing:.25em;text-transform:uppercase;margin-bottom:.75rem;font-size:clamp(2rem,4vw,3.25rem)}.intro p{max-width:520px;color:var(--foreground);margin:0 auto 3rem;font-size:1rem;line-height:2.1}.gallery-section{padding:1.5rem 0;position:relative;overflow:hidden}.gallery-row{gap:.5rem;animation:45s linear infinite scroll-left;display:flex}.gallery-row--reverse{margin-top:.5rem;animation:45s linear infinite scroll-right}.gallery-row img{object-fit:cover;flex-shrink:0;width:400px;height:480px;transition:filter .6s,transform .6s}.gallery-row img:hover{filter:brightness(1.08)contrast(1.02);z-index:1;transform:scale(1.015)}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (max-width:768px){.section{padding:4rem 1.5rem}.section-narrow{padding:2.5rem 1.5rem}.intro{padding:5rem 1.5rem}.intro-ornament{margin-bottom:1.5rem}.intro p{margin-bottom:2rem}.gallery-row img{width:260px;height:320px}.two-col img,.three-col-cta .side-img{height:260px}.three-col-cta .center-content{padding:3rem 1.5rem}.booking-inquiry{padding:3.5rem 1.5rem}}.two-col{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.two-col img{object-fit:cover;width:100%;height:550px}.two-col.reveal img{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1)}.two-col.revealed img{clip-path:inset(0)}.two-col-text h2{letter-spacing:.02em;margin-bottom:1.25rem;font-size:clamp(1.5rem,3vw,2.25rem)}.two-col-text p{color:var(--foreground);font-size:.95rem;line-height:2}@media (max-width:768px){.two-col{grid-template-columns:1fr;gap:2rem}.two-col img{height:260px}.two-col-reverse img{order:2}.two-col-reverse .two-col-text{order:1}}.three-col-cta{grid-template-columns:1fr 1fr 1fr;min-height:75vh;display:grid;overflow:hidden}.three-col-cta .side-img{object-fit:cover;width:100%;height:100%;transition:transform 10s}.three-col-cta:hover .side-img{transform:scale(1.04)}.three-col-cta .center-content{text-align:center;background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;padding:5rem 3rem;display:flex}.three-col-cta .center-content h2{letter-spacing:.02em;font-size:clamp(1.5rem,3vw,2.25rem)}.three-col-cta .center-content p{color:var(--foreground);max-width:320px;font-size:.95rem;line-height:1.9}@media (max-width:768px){.three-col-cta{grid-template-columns:1fr;min-height:auto}.three-col-cta .side-img{height:350px}}.cta-banner{text-align:center;color:#fff;justify-content:center;align-items:center;min-height:55vh;display:flex;position:relative;overflow:hidden}.cta-banner .hero-bg,.cta-banner .hero-overlay{position:absolute;inset:0}.cta-banner .hero-bg img{object-fit:cover;width:100%;height:100%}.cta-banner .hero-overlay{background:linear-gradient(#00000080 0%,#000000b3 100%)}.cta-banner-content{z-index:2;max-width:700px;padding:4rem 2rem;position:relative}.cta-banner-content h2{color:#fff;letter-spacing:.02em;margin-bottom:1.25rem;font-size:clamp(1.75rem,3.5vw,2.5rem)}.cta-banner-content p{opacity:.9;color:#fff;margin-bottom:2.5rem;font-size:.9rem;line-height:1.8}.policy-content{max-width:800px;margin:0 auto}.policy-content h2{margin:2rem 0 .75rem;font-size:1.5rem}.policy-content h3{margin:1.5rem 0 .5rem;font-size:1.2rem}.policy-content p{color:var(--foreground);margin-bottom:.75rem;font-size:.9rem;line-height:1.7}.policy-content ul{color:var(--foreground);margin:.5rem 0 1rem 1.5rem;font-size:.9rem;line-height:1.7}.policy-content a{color:var(--accent);text-decoration:underline}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:80vh;padding:2rem;display:flex}.not-found h1{font-size:2rem}.not-found p{color:var(--foreground);margin-bottom:1rem}.booking-inquiry{text-align:center;padding:6rem 2.5rem}.booking-inquiry h2{letter-spacing:.02em;margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2rem)}.booking-inquiry p{max-width:600px;color:var(--foreground);margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8}.special-hours-banner{border:1px solid var(--accent);color:var(--accent);border-radius:2px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8rem;line-height:1.6}.special-hours-banner p+p{margin-top:.25rem}
.menu-layout{grid-template-columns:220px 1fr;gap:4rem;max-width:1100px;margin:0 auto;display:grid}.menu-sidebar{align-self:start;position:sticky;top:100px}.menu-sidebar h3{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;font-size:.7rem;font-weight:600}.menu-sidebar ul{flex-direction:column;gap:0;list-style:none;display:flex}.menu-sidebar a{letter-spacing:.02em;color:var(--muted);border-left:2px solid #0000;padding:.5rem 0 .5rem 1rem;font-size:.85rem;transition:color .2s,border-color .2s;display:block}.menu-sidebar a:hover{color:var(--text);border-left-color:var(--accent)}.menu-category{margin-bottom:4rem;scroll-margin-top:6rem}.menu-category h3{letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--text);margin-bottom:2rem;padding-bottom:1rem;font-size:.8rem;font-weight:600;position:relative}.menu-category h3:after{content:"";background:var(--accent);width:40px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.menu-grid{grid-template-columns:1fr 1fr;gap:0 4rem;display:grid}.menu-item{justify-content:space-between;align-items:baseline;gap:.75rem;padding:1.25rem 0;display:flex}.menu-item-info{flex:1;min-width:0}.menu-item-info h4{font-family:var(--font-heading);margin-bottom:.25rem;font-size:1.1rem}.menu-item-info p{color:var(--muted);font-size:.9rem;font-style:italic;line-height:1.6}.menu-item-price{font-family:var(--font-heading);white-space:nowrap;color:var(--accent);flex-shrink:0;font-size:1.05rem}@media (max-width:768px){.menu-layout{grid-template-columns:1fr}.menu-sidebar{display:none}.menu-grid{grid-template-columns:1fr}.menu-category{margin-bottom:2.5rem}}
.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:6rem;max-width:960px;margin:0 auto;display:grid}.contact-form{flex-direction:column;gap:0;display:flex}.contact-form-header{margin-bottom:2.5rem}.contact-form-header h2{font-family:var(--font-heading);letter-spacing:.03em;margin-bottom:.4rem;font-size:1.5rem}.contact-form-header p{color:var(--muted);font-size:.85rem;font-weight:300}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-field{margin-bottom:1.5rem}.form-field label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-size:.7rem;font-weight:500;display:block}.contact-form input,.contact-form textarea{width:100%;font-family:var(--font-body);color:var(--text);background:0 0;border:none;border-bottom:1px solid #d4b89666;outline:none;padding:.75rem 0;font-size:.9rem;font-weight:300;transition:border-color .4s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--text)}.contact-form textarea{resize:vertical;border:none;border-bottom:1px solid #d4b89666;min-height:120px;margin-top:0;padding:.75rem 0;line-height:1.8}.checkbox-row{color:var(--foreground);align-items:center;gap:.5rem;margin:1rem 0 1.5rem;font-size:.8rem;display:flex}.checkbox-row input[type=checkbox]{width:auto;accent-color:var(--accent)}.btn-submit{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--text);color:var(--text);cursor:pointer;background:0 0;border-radius:2px;align-self:flex-start;padding:.85rem 2.5rem;font-size:.75rem;font-weight:400;transition:background .4s,color .4s,box-shadow .4s;display:inline-block}.btn-submit:hover{background:var(--text);color:var(--background);box-shadow:0 2px 16px #2c18101f}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.form-error{color:#a94442;margin:0 0 .5rem;font-size:.8rem}.contact-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:300px;display:flex}.contact-success h3{font-family:var(--font-heading);color:var(--text);font-size:1.5rem}.contact-success p{color:var(--muted);font-size:.9rem}.contact-info-section{padding-top:.5rem}.contact-info-section>div{margin-bottom:3rem}.contact-info-section .icon{width:18px;height:18px;color:var(--accent);stroke-width:1.5px;margin-bottom:.75rem}.contact-info-section h4{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:var(--text);margin-bottom:.4rem;font-size:.7rem}.contact-info-section p{color:var(--muted);font-size:.85rem;font-weight:300;line-height:1.6}.contact-info-section a.contact-value{font-family:var(--font-heading);color:var(--text);margin-top:.5rem;font-size:1.05rem;transition:color .3s;display:inline-block}.contact-info-section a.contact-value:hover{color:var(--accent)}@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:3rem}.form-row{grid-template-columns:1fr;gap:0}.contact-form input,.contact-form textarea{font-size:1rem}}
.about-historia{padding:6rem 2.5rem 0}.about-historia h2{letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2.25rem)}.about-divider{background:var(--accent);width:60px;height:1px;margin:0 auto 1.5rem}.about-historia p{max-width:650px;color:var(--foreground);margin:0 auto;font-size:.95rem;line-height:1.9}.about-hero-image-wrap{margin-top:4rem;padding:0 2.5rem}.about-hero-image{object-fit:cover;width:100%;height:550px}@media (max-width:768px){.about-historia{padding:4rem 1.5rem 0}.about-hero-image-wrap{margin-top:3rem;padding:0}.about-hero-image{height:350px}}.contact-row{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;font-size:.9rem;display:flex}.contact-row a{color:var(--text);align-items:center;gap:.5rem;transition:color .2s;display:inline-flex}.contact-row a:hover{color:var(--accent)}.contact-row span{color:var(--muted)}
.rooms-intro{text-align:center;padding:7rem 2.5rem 4rem}.rooms-intro h2{letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.5rem)}.rooms-intro p{max-width:650px;color:var(--foreground);margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8}.room-slider{width:100%;height:80vh;position:relative;overflow:hidden}.room-slide{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.room-slide.active{opacity:1}.room-slide img{object-fit:cover;width:100%;height:100%}.room-slide-overlay{background:linear-gradient(#0000 0%,#0000004d 60%,#000000b3 100%);justify-content:center;align-items:flex-end;padding-bottom:4rem;display:flex;position:absolute;inset:0}.room-slide-overlay h2{color:#fff;letter-spacing:.03em;text-shadow:0 2px 20px #0009,0 1px 4px #0006;font-size:clamp(2rem,5vw,3.5rem)}.slider-arrows{pointer-events:none;z-index:5;justify-content:space-between;width:100%;padding:0 1.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slider-arrow{pointer-events:all;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;transition:background .3s,transform .2s;display:flex}.slider-arrow:hover{background:#ffffff40;transform:scale(1.05)}.rooms-grid{flex-direction:column;gap:0;max-width:1100px;margin:0 auto;display:flex}.room-card{grid-template-columns:1fr 1fr;align-items:stretch;min-height:420px;display:grid}.room-card:nth-child(2n){direction:rtl}.room-card:nth-child(2n)>*{direction:ltr}.room-card>div:first-child{overflow:hidden}.room-card img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.room-card:hover img{transform:scale(1.04)}.room-card-body{flex-direction:column;justify-content:center;padding:3rem 3.5rem;display:flex}.room-card-body h3{font-family:var(--font-heading);letter-spacing:.04em;margin-bottom:.5rem;font-size:1.5rem}.room-capacity{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.75rem;font-weight:500;display:block}.room-card-body p{color:var(--foreground);margin-bottom:1.5rem;font-size:.9rem;line-height:1.8}.room-card-body a{letter-spacing:.12em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--accent);align-self:flex-start;padding-bottom:3px;font-size:.75rem;font-weight:500;transition:color .2s,border-color .2s}.room-card-body a:hover{color:var(--accent)}.room-card+.room-card{border-top:1px solid var(--border)}@media (max-width:768px){.room-card{grid-template-columns:1fr;min-height:auto}.room-card:nth-child(2n){direction:ltr}.room-card img{height:280px}.room-card-body{padding:2rem 1.5rem}.room-slider{height:50vh}}
.reviews-section{background:var(--background)}.reviews-header{text-align:center;margin-bottom:3rem}.reviews-summary{color:var(--foreground);justify-content:center;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.9rem;display:flex}.reviews-avg{font-family:var(--font-heading);color:var(--accent);font-size:1.5rem}.reviews-count{color:var(--muted);font-size:.85rem}.review-stars{gap:1px;display:inline-flex}.review-stars .star{color:var(--border);font-size:1rem}.review-stars .star.filled{color:var(--accent)}.reviews-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.review-card{border-top:2px solid var(--accent);background:#fff;flex-direction:column;gap:1.25rem;padding:2.5rem 2rem;transition:box-shadow .3s;display:flex;box-shadow:0 2px 20px #2c18100f}.review-card:hover{box-shadow:0 4px 30px #2c18101a}.review-card-link{color:inherit;cursor:pointer;text-decoration:none}.review-card-link:hover{border-top-color:var(--accent)}.review-card-header{justify-content:space-between;align-items:center;display:flex}.review-source{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);opacity:.7;padding:.25rem .6rem;font-size:.65rem;font-weight:600}.review-text{color:var(--foreground);flex:1;font-size:.92rem;font-style:italic;line-height:1.8}.review-author{color:var(--muted);font-size:.8rem;font-weight:500;font-family:var(--font-heading);letter-spacing:.02em}@media (max-width:768px){.reviews-grid{grid-template-columns:1fr}}
.cc-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2c181066;justify-content:center;align-items:flex-end;animation:.3s cc-fade-in;display:flex;position:fixed;inset:0}@keyframes cc-fade-in{0%{opacity:0}to{opacity:1}}.cc-banner{background:var(--background);border:1px solid var(--border);width:100%;max-width:680px;margin:0 auto 2rem;padding:2rem 2.5rem;animation:.4s cubic-bezier(.25,.46,.45,.94) cc-slide-up;box-shadow:0 4px 40px #2c181026}@keyframes cc-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cc-heading{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:.75rem;font-size:1.1rem;font-weight:400}.cc-text{color:var(--foreground);margin-bottom:0;font-size:.875rem;font-weight:300;line-height:1.7}.cc-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.cc-link:hover{color:var(--accent-light)}.cc-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.cc-btn{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:.75rem 2rem;font-size:.7rem;font-weight:400;transition:all .3s}.cc-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.cc-btn-primary:hover{background:var(--accent-light);border-color:var(--accent-light)}.cc-btn-secondary{color:var(--text);border-color:var(--border);background:0 0}.cc-btn-secondary:hover{background:var(--border);color:var(--text)}.cc-btn-link{color:var(--muted);text-underline-offset:2px;background:0 0;border:none;padding:.75rem .5rem;font-size:.7rem;text-decoration:underline}.cc-btn-link:hover{color:var(--accent)}.cc-categories{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.cc-category{border:1px solid var(--border);cursor:default;background:#d4b8961a;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.25rem;display:flex}.cc-category-info{flex-direction:column;flex:1;gap:.2rem;display:flex}.cc-category-name{font-family:var(--font-heading);letter-spacing:.05em;color:var(--text);font-size:.85rem}.cc-category-desc{color:var(--muted);font-size:.78rem;font-weight:300;line-height:1.5}.cc-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.cc-toggle input{opacity:0;width:0;height:0;position:absolute}.cc-toggle-track{background:var(--border);cursor:pointer;border-radius:24px;transition:background .25s;position:absolute;inset:0}.cc-toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.cc-toggle input:checked+.cc-toggle-track{background:var(--accent)}.cc-toggle input:checked+.cc-toggle-track:after{transform:translate(20px)}.cc-toggle-locked .cc-toggle-track{opacity:.6;cursor:not-allowed}.cc-toggle input:focus-visible+.cc-toggle-track,.cc-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:600px){.cc-banner{margin:0 1rem 1rem;padding:1.5rem}.cc-actions{flex-direction:column;gap:.5rem}.cc-btn{text-align:center;width:100%}.cc-btn-link{width:auto}}
.lunch-intro-block{border-bottom:1px solid var(--border);margin-bottom:3rem;padding-bottom:2.5rem}.lunch-heading{font-family:var(--font-heading);color:var(--text);letter-spacing:.02em;text-align:center;margin:0 0 .5rem;font-size:clamp(1.4rem,2.5vw,1.75rem)}.lunch-subtitle{color:var(--muted);letter-spacing:.04em;margin-top:.5rem;font-size:1.3rem;font-weight:400;display:block}.lunch-hours{font-family:var(--font-heading);color:var(--text);letter-spacing:.03em;margin-bottom:.5rem;font-size:clamp(1.1rem,2vw,1.4rem)}.lunch-price-note{color:var(--muted);font-size:.875rem;font-style:italic}.menu-category h3 .lunch-day-date{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:.35rem;font-size:.6rem;font-weight:500;display:block}.lunch-affarslunch-card{border:1px solid var(--border);background:#f5edd8;padding:2rem 2.5rem}.lunch-course{border-bottom:1px solid var(--border);padding:1.25rem 0}.lunch-course:first-child{padding-top:0}.lunch-course-label{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.62rem;font-weight:700;display:block}.lunch-course-name{font-family:var(--font-heading);color:var(--text);margin-bottom:.2rem;font-size:1rem}.lunch-course-desc{color:var(--muted);font-size:.8rem;font-style:italic;line-height:1.5}.lunch-affarslunch-prices{flex-direction:column;align-items:center;gap:.5rem;padding-top:1.25rem;display:flex}.lunch-price-row{font-family:var(--font-heading);color:var(--text);align-items:baseline;gap:.75rem;font-size:.9rem;display:flex}.lunch-price-amount{color:var(--accent);white-space:nowrap}.lunch-announcement{text-align:center;padding:2rem 2.5rem}.lunch-announcement--bar{z-index:90;opacity:0;background:#e8d9c4;border-bottom:1px solid #d4b896;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;padding:.85rem 2.5rem;transition:transform .4s,opacity .4s;display:flex;position:fixed;top:72px;left:0;right:0;transform:translateY(-100%)}.lunch-announcement--bar.lunch-banner--visible{opacity:1;transform:translateY(0)}.lunch-bar-text{color:#2c1810;letter-spacing:.01em;max-width:none;margin:0;font-size:.875rem;font-weight:600}.lunch-bar-link{letter-spacing:.08em;color:var(--accent);white-space:nowrap;text-underline-offset:3px;opacity:.9;flex-shrink:0;font-size:.75rem;font-weight:600;text-decoration:underline;transition:opacity .15s}.lunch-bar-link:hover{opacity:1}.lunch-bar-close{color:#2c1810;cursor:pointer;opacity:.35;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:1.25rem;line-height:1;transition:opacity .15s}.lunch-bar-close:hover{opacity:.7}@media (max-width:768px){.lunch-announcement{padding:2rem 1.5rem}.lunch-announcement--bar{flex-direction:column;gap:.5rem;padding:1rem 1.5rem;top:60px;left:0;right:0}.lunch-affarslunch-card{padding:1.5rem}}

