*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,helvetica neue,Arial,noto sans,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji,sans-serif;color:#222;line-height:1.6}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:92%;max-width:1160px;margin:0 auto}main.container{padding:1.5rem 0 3rem}.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:100}.header-inner{display:flex;align-items:center;gap:1rem;padding:.8rem 0}.nav{margin-left:auto}.brand{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.brand img{height:40px;width:auto;display:block}.brand-name{font-weight:700;letter-spacing:.4px}.nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}.nav a{text-decoration:none;color:inherit}.nav-toggle{display:none}.btn{display:inline-block;padding:.55rem 1rem;border-radius:4px;text-decoration:none}.btn-primary{background:var(--brand);color:#fff}.btn-wa{background:#25d366;color:#fff;padding:.55rem .9rem;border-radius:4px;text-decoration:none}.site-footer{background:#111;color:#bbb;margin-top:3rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 0}.site-footer a{color:#fff;margin-right:1rem}.hero{padding:3.5rem 0 2rem;text-align:center;position:relative}.hero-logo{height:140px;width:auto;margin:0 auto 1.5rem;display:block}.hero--home{padding:0;background:#fff}.hero-home-image{width:65%;max-width:720px;height:auto;display:block;margin:0 auto;padding:1.25rem 0 1rem}.hero--home-caption{padding:1.5rem 0 1rem;text-align:center}.hero h1{margin:0;font-size:2.5rem}.hero .subtitle{margin:.5rem 0 0;color:#f2f2f2}.hero--home-caption .subtitle{margin:0;font-size:1.4rem;color:#000}.page-header{padding:1rem 0 .75rem;border-bottom:1px solid #eee;margin-bottom:.75rem}.page-header h1{margin:0}.page-header .lead{margin-top:.35rem}.lead{color:#666}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.menu-category{padding:1rem;border:1px solid #eee;border-radius:6px}.menu-category h2{margin-top:0}.menu-items{list-style:none;margin:0;padding:0}.menu-item{padding:.5rem 0;border-bottom:1px dotted #ddd}.menu-item:last-child{border-bottom:0}.menu-item-main{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.5rem}.menu-item-name{font-weight:600}.menu-item-price{font-variant-numeric:tabular-nums}.menu-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem 1.25rem;margin:.75rem 0 1.25rem}.menu-actions-note{color:#666;font-size:.95rem}.menu-gallery{display:grid;gap:1.5rem;margin-bottom:2rem;align-items:start;grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.menu-page{margin:0}.menu-page img{width:100%;height:auto;border-radius:12px;box-shadow:0 16px 36px rgba(0,0,0,.1)}.menu-page figcaption{margin-top:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:.85rem;color:#666;text-align:center}@media(min-width:1200px){.menu-gallery{gap:2.5rem}}@media(max-width:900px){.menu-gallery{grid-template-columns:1fr}.menu-page{max-width:420px;margin:0 auto}}.card{padding:1rem;border:1px solid #eee;border-radius:6px;margin-bottom:1rem}.content{padding:1rem 0}.cta{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px dashed #ddd;border-radius:6px;margin:1rem 0}.accommodation-gallery{display:grid;gap:1.5rem;margin-bottom:2.5rem}.accommodation-photo{margin:0}.accommodation-photo img{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.accommodation-body{display:grid;gap:2rem;margin-bottom:2rem}.accommodation-amenities{background:#fafafa;border-radius:12px;padding:1.5rem;border:1px solid #eee}.accommodation-amenities h2{margin-top:0}.accommodation-amenities ul{margin:0;padding-left:1.2rem}.accommodation-amenities li{margin-bottom:.5rem}.accommodation-actions{text-align:center;margin-bottom:2.5rem}.accommodation-map h2{margin-bottom:1rem}.map-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;box-shadow:0 8px 26px rgba(0,0,0,.1)}.map-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}@media(min-width:900px){.accommodation-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-body{grid-template-columns:2fr 1fr;align-items:start}.home-contact-map{height:100%}.home-contact-map .map-embed{padding-bottom:0;height:100%}.home-contact-map .map-embed iframe{position:absolute;inset:0;height:100%}}.home-content{max-width:780px;margin:0 auto 2.5rem;text-align:center}.home-content p{margin:0;font-size:1.1rem}.home-contact{padding:3rem 0 3.5rem;background:linear-gradient(180deg,#fafafa 0%,#ffffff 100%);border-top:1px solid #f0f0f0}.home-contact-grid{display:grid;gap:2rem}.home-contact-card{background:#fff;border:1px solid #ececec;border-radius:14px;padding:2.25rem;box-shadow:0 12px 32px rgba(0,0,0,5%);display:flex;flex-direction:column;justify-content:center}.home-contact-card h2{margin-top:0}.home-contact-phones{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.75rem}.home-contact-phones li{display:flex;flex-direction:column;gap:.25rem}.home-contact-phones span{color:#666;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.home-contact-phones a{font-weight:600;color:inherit;text-decoration:none}.home-contact-phones a:hover{text-decoration:underline}.home-contact-email{margin-top:1.5rem;display:flex;flex-direction:column;gap:.3rem}.home-contact-email span{color:#666;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.home-contact-email a{font-weight:600;color:inherit;text-decoration:none}.home-contact-email a:hover{text-decoration:underline}.home-contact-map{border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,8%)}@media(min-width:900px){.home-contact-grid{grid-template-columns:1fr 1.1fr;align-items:stretch}}.whatsapp-fab{position:fixed;right:1.5rem;bottom:1.5rem;width:66px;height:66px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#50e072 0%,#1fb958 65%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 24px 40px rgba(31,185,88,.38);z-index:400;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.whatsapp-fab::before{content:"";position:absolute;inset:-22px;border-radius:50%;background:radial-gradient(circle,rgba(80,224,114,.24) 0%,rgba(80,224,114,0) 75%);z-index:-1;filter:blur(2px)}.whatsapp-fab:hover{transform:translateY(-4px);box-shadow:0 28px 50px rgba(31,185,88,.48)}.whatsapp-fab svg{width:30px;height:30px;display:block}.whatsapp-fab svg path{stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none;transform:none}@media(max-width:600px){.whatsapp-fab{right:1rem;bottom:1rem;width:60px;height:60px}.whatsapp-fab::before{inset:-16px}.whatsapp-fab svg{width:28px;height:28px}.whatsapp-fab svg path{transform:none}}@media(max-width:720px){.container{width:94%}.hero-home-image{width:85%;padding:1rem 0}.hero--home-caption .subtitle{font-size:1.15rem}.home-content{margin-bottom:2rem}.home-contact-card{padding:1.75rem}main.container{padding:1.5rem 0 3rem}.brand img{height:32px}.brand-name{display:none}.header-inner{padding:.6rem 0;position:relative}.nav ul{gap:.75rem}.nav a{font-size:.95rem}.nav-toggle{display:inline-block;margin-left:auto;background:0 0;border:1px solid #ddd;border-radius:6px;padding:.25rem .5rem;font-size:1.25rem;line-height:1}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #eee;box-shadow:0 6px 18px rgba(0,0,0,6%)}.nav.is-open{display:block}.nav ul{flex-direction:column;gap:0}.nav a{display:block;padding:.9rem 1rem;font-size:1rem}}.about-page .page-header,.about-page .content{text-align:center}.about-page .content{max-width:720px;margin-left:auto;margin-right:auto}.menu .page-header{text-align:center}.menu .page-header .lead{max-width:720px;margin-left:auto;margin-right:auto}.menu .content{max-width:780px;margin:0 auto 1.75rem;text-align:center;padding:.75rem 0}.accommodation .page-header{text-align:center}.accommodation .page-header .lead{max-width:720px;margin-left:auto;margin-right:auto}.accommodation .accommodation-description{max-width:720px;margin-left:auto;margin-right:auto;text-align:center}.accommodation .accommodation-description>*{margin-left:auto;margin-right:auto;text-align:inherit}.about-page .content img{display:block;margin:1.5rem auto}.photo-strip{padding:1rem 0 1.75rem}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-tile{display:block;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,8%);transition:transform .18s ease,box-shadow .18s ease}.photo-tile:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.12)}.photo-tile{aspect-ratio:3/2}.photo-tile img{width:100%;height:100%;display:block;object-fit:cover}@media(max-width:980px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.photo-grid{grid-template-columns:1fr}}.home-photos{padding:1rem 0 1.5rem}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;z-index:500}.lightbox.is-open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 18px 46px rgba(0,0,0,.4)}.lightbox .lb-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);color:#111;display:grid;place-items:center;font-size:22px;cursor:pointer}