body{font-family:'Segoe UI',sans-serif;line-height:1.6;margin:0;color:#333}h1,h2{font-family:'EB Garamond',serif;font-size:calc(2em + 2vw);font-weight:normal}h2{font-size:calc(1.5em + 1.4vw);margin:.5em 0 .5em 0}.container{max-width:1100px;margin:0 auto;padding:20px}.hero{height:60vh;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;position:relative}.hero .hero-content h1,.hero .hero-content p{margin:0;padding:0;font-family:'EB Garamond',serif}.hero .hero-content h1{line-height:1em}.hero .hero-content p{font-size:calc(1rem + 1vw);font-style:italic}.hero img{position:absolute;inset:0;width:100%;z-index:-1;height:100%;object-fit:cover;filter:brightness(.4)}section{padding:50px 0}.grid-2{display:grid;gap:3em;grid-template-columns:1fr}@media (min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}#reservation-form{padding:1.5em;border-radius:.5em;border:1px solid #eee;box-shadow:1px 1px 15px 1px rgba(0,0,0,0.1)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:15px}.gallery-grid .gallery-link{display:block;cursor:pointer;overflow:hidden;border-radius:8px}.gallery-grid .gallery-img{width:100%;height:250px;object-fit:cover;transition:transform .3s ease;display:block}.gallery-grid .gallery-img:hover{transform:scale(1.05)}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:none;justify-content:center;align-items:center;z-index:9999;cursor:zoom-out}.lightbox-overlay img{max-width:90%;max-height:90%;box-shadow:0 0 20px rgba(0,0,0,0.5);border:3px solid white}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:bold}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}#map iframe{width:100%;aspect-ratio:1/1;border:none}@media (max-width:767px){:root{--nav-link-color:#2c3e50;--nav-link-color-hover:#3498db;--nav-burger-open-color:#2c3e50;--nav-burger-close-color:#3498db;--nav-menu-bgcolor:#ffffff;--nav-bg-color:#f8f9fa;--nav-bg-color-dark:#2c3e50;--nav-border-color:#ecf0f1}#nav-toggle{display:block;position:fixed;top:1em;left:1em;z-index:9999;-webkit-user-select:none;user-select:none;padding:1em;background-color:var(--nav-bg-color);border-bottom:1px solid var(--nav-border-color);border-right:1px solid var(--nav-border-color);border-radius:0;box-shadow:0 2px 10px rgba(0,0,0,0.08);border-radius:.3em}#nav-toggle a{text-decoration:none;color:var(--nav-link-color);transition:color .3s ease}#nav-toggle a:hover{color:var(--nav-link-color-hover)}#nav-toggle input{display:block;width:40px;height:32px;position:absolute;top:12px;left:12px;cursor:pointer;opacity:0;z-index:2;-webkit-touch-callout:none}#nav-toggle input:checked~span{opacity:1;transform:rotate(45deg) translate(-2px, 1px);background:var(--nav-burger-close-color)}#nav-toggle input:checked~span:nth-last-child(3){opacity:0;transform:rotate(0deg) scale(.2, .2)}#nav-toggle input:checked~span:nth-last-child(2){transform:rotate(-45deg) translate(0, -2px)}#nav-toggle input:checked~ul{transform:none}#nav-toggle span{display:block;width:25px;height:3px;margin-bottom:5px;position:relative;background:var(--nav-burger-open-color);border-radius:2px;z-index:1;transform-origin:4px 0px;transition:transform .5s cubic-bezier(.77, .2, .05, 1),background .5s cubic-bezier(.77, .2, .05, 1),opacity .55s ease}#nav-toggle span:first-child{transform-origin:0% 0%}#nav-toggle span:nth-last-child(2){transform-origin:0% 100%}#nav-menu{position:fixed;inset:0;width:100%;margin:0;padding-top:70px;background:var(--nav-menu-bgcolor);list-style-type:none;-webkit-font-smoothing:antialiased;transform-origin:0% 0%;transform:translate(-100%, 0);transition:transform .5s cubic-bezier(.77, .2, .05, 1);box-shadow:2px 0 10px rgba(0,0,0,0.1)}#nav-menu li{padding:1.2em 0;font-size:18px;border-bottom:1px solid var(--nav-border-color)}#nav-menu li:last-child{border-bottom:none}#nav-menu li a{text-decoration:none;color:var(--nav-link-color);transition:color .3s ease;display:block;padding:0 1.5em}#nav-menu li a:hover{color:var(--nav-link-color-hover)}}@media (max-width:767px) and (prefers-color-scheme:dark){:root{--nav-link-color:#ecf0f1;--nav-burger-open-color:#ecf0f1;--nav-menu-bgcolor:#2c3e50;--nav-bg-color:#34495e;--nav-border-color:#555}#nav-toggle{background-color:var(--nav-bg-color)}}@media (min-width:768px){nav{--nav-bg-color:#ffffff;--nav-color:#2c3e50;--nav-scrolled-bg-color:#f8f9fa;--nav-scrolled-color:#2c3e50;--nav-link-hover:#3498db;--nav-border-color:#ecf0f1}nav{box-shadow:0 2px 10px rgba(0,0,0,0.08);position:fixed;top:0;left:0;right:0;z-index:9999;transition:box-shadow .3s ease}nav input{display:none}nav ul{text-align:center;list-style:none;padding:0;margin:0;background-color:var(--nav-bg-color);border-bottom:1px solid var(--nav-border-color)}nav ul li{display:inline-block;padding:0}nav ul a{color:var(--nav-color);text-decoration:none;font-weight:500;display:inline-block;padding:1.2em 1.5em;position:relative;transition:color .3s ease}nav ul a::after{content:'';position:absolute;width:0;height:2px;bottom:.8em;left:50%;background-color:var(--nav-link-hover);transition:width .3s ease,left .3s ease}nav ul a:hover{color:var(--nav-link-hover)}nav ul a:hover::after{width:100%;left:0}nav.navtop{box-shadow:0 2px 15px rgba(0,0,0,0.1)}nav.navtop ul{background-color:var(--nav-scrolled-bg-color)}nav.navtop ul a{color:var(--nav-scrolled-color)}}footer{background-color:#1a1a1a;color:#ffffff;padding:40px 20px;margin-top:60px}footer .footer-content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}footer .footer-content .footer-section{flex:1;min-width:200px}footer .footer-content .footer-section h3{font-size:18px;margin-bottom:15px;color:#ffffff}footer .footer-content .footer-section ul{list-style:none;padding:0;margin:0}footer .footer-content .footer-section ul li{margin-bottom:10px}footer .footer-bottom{max-width:1200px;margin:30px auto 0;padding-top:20px;border-top:1px solid #333;text-align:center;font-size:14px}footer .footer-bottom a{color:#aaa}footer p{margin:10px 0;font-size:14px}footer a{color:#ffffff;text-decoration:none;transition:color .3s ease}footer a:hover{color:#ccc;text-decoration:underline}