:root{--verde-oscuro:#142e2d;--verde-profundo:#0d201f;--verde-noche:#091514;--verde-botanico:#2d5a27;--verde-botanico-soft:#3a7232;--dorado:#c9a961;--dorado-claro:#d4b876;--dorado-hover:#b8963f;--dorado-legible:#7a5b21;--dorado-legible-hover:#6f531b;--crema:#f0ebe0;--crema-claro:#f7f4ed;--beige:#f0ebe0;--beige-claro:#f7f4ed;--blanco:#fff;--negro:#0a0a0a;--carbon:#1a1a1a;--gris-oscuro:#2a2a2a;--gris:#6b6b6b;--desayuno-bg:#f7f0e3;--desayuno-accent:#d4a34b;--desayuno-warm:#e8c87a;--desayuno-dark:#3a2e1a;--desayuno-coffee:#5c3d2e;--desayuno-coffee-stain:#5c3d2e1f;--comida-bg:#f0f5ec;--comida-accent:#2d5a27;--comida-leaf:#4a8b3f;--comida-light:#e8f0e4;--cena-bg:#0e1f1e;--cena-accent:#c9a961;--cena-deep:#091514;--cena-glow:#c9a96114;--font-heading:"Cormorant Garamond", "Georgia", serif;--font-body:"Montserrat", "Helvetica Neue", sans-serif;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fs-xs:.6875rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1.0625rem;--fs-lg:1.1875rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:2.625rem;--fs-4xl:3rem;--fs-5xl:3.5rem;--fs-hero:3rem;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8.75rem;--section-padding-y:4rem;--section-padding-x:1rem;--container-max:1400px;--visible-vh:100dvh;--nav-height:70px;--border-gold:1px solid #c9a96133;--border-gold-subtle:1px solid #c9a9611a;--shadow-card:0 10px 40px #0a0a0a14;--shadow-card-hover:0 25px 50px #0a0a0a1f;--shadow-polaroid:0 10px 40px #0a0a0a26;--shadow-modal:0 30px 80px #0a0a0a66;--ease-premium:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.3s;--duration-normal:.4s;--duration-slow:.6s;--z-base:1;--z-card:10;--z-nav:100;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100}@media (width>=768px){:root{--fs-hero:4rem;--fs-3xl:3rem;--fs-4xl:3.5rem;--section-padding-y:6rem;--section-padding-x:2.5rem}}@media (width>=1280px){:root{--fs-hero:5.625rem;--fs-3xl:4rem;--fs-4xl:4.5rem;--fs-5xl:5rem;--section-padding-y:8.75rem;--section-padding-x:3.75rem}}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/cormorant-garamond-latin.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/montserrat-latin.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);font-weight:var(--fw-light);font-size:var(--fs-base);color:var(--gris-oscuro);background:var(--blanco);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;line-height:1.8;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-regular);letter-spacing:.02em;line-height:1.2}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}.container{width:100%;max-width:var(--container-max);padding:0 var(--section-padding-x);margin:0 auto}.section{padding:var(--section-padding-y) 0;position:relative;overflow:hidden}.section-label{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-regular);letter-spacing:.3em;text-transform:uppercase;color:var(--dorado-legible);margin-bottom:var(--space-sm)}.section-title{font-size:var(--fs-3xl);color:var(--negro);margin-bottom:var(--space-md)}.section-intro{font-size:var(--fs-md);color:var(--gris-oscuro);opacity:.8;line-height:2;font-weight:var(--fw-light);max-width:700px}.section-header{text-align:center;max-width:800px;margin:0 auto var(--space-xl)}.section-header .section-intro{margin-left:auto;margin-right:auto}.decorative-line{background:var(--dorado);width:60px;height:1px;margin:var(--space-lg) auto;position:relative}.decorative-line:before,.decorative-line:after{content:"";background:var(--dorado);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px}.decorative-line:before{left:-12px}.decorative-line:after{right:-12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--dorado);color:var(--negro);z-index:10000;font-family:var(--font-body);font-size:var(--fs-sm);padding:.5rem 1rem;position:absolute;top:-100%;left:0}.skip-link:focus{top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::selection{color:var(--negro);background:#c9a9614d}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--crema)}::-webkit-scrollbar-thumb{background:var(--dorado);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dorado-hover)}.nav{z-index:var(--z-nav,100);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d201ff7;border-bottom:1px solid #c9a96126;transition:padding .4s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0}.nav .container{height:calc(70px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);justify-content:space-between;align-items:center;display:flex}.nav--scrolled .container{height:calc(56px + env(safe-area-inset-top))}.nav--scrolled{box-shadow:0 4px 20px #0a0a0a26}.nav__logo{align-items:center;display:flex}.nav__logo img{object-fit:contain;width:auto;height:40px}.nav__menu{align-items:center;gap:40px;list-style:none;display:none}.nav__link{color:var(--beige);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:300;text-decoration:none;transition:color .4s cubic-bezier(.4,0,.2,1);position:relative}.nav__link:after{content:"";background:var(--dorado);width:0;height:1px;transition:all .4s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.nav__link:hover{color:var(--dorado)}.nav__link:hover:after{width:100%}.nav__actions{align-items:center;gap:16px;display:flex}.nav__lang{color:var(--beige);letter-spacing:.1em;cursor:pointer;opacity:.5;background:0 0;border:none;font-size:11px;transition:all .3s}.nav__lang--active,.nav__lang:hover{color:var(--dorado);opacity:1}.nav__lang-sep{color:#c9a9614d;font-size:11px}.btn-reservar{border:1px solid var(--dorado);color:var(--dorado);letter-spacing:.15em;text-transform:uppercase;background:0 0;padding:10px 28px;font-size:11px;font-weight:400;transition:all .4s cubic-bezier(.4,0,.2,1);display:none}.btn-reservar:hover{background:var(--dorado);color:var(--verde-oscuro);transform:translateY(-2px);box-shadow:0 8px 25px #c9a9614d}.nav__hamburger{z-index:calc(var(--z-nav,100) + 2);flex-direction:column;gap:5px;padding:4px 0;display:flex;position:relative}.nav__hamburger span{background:var(--dorado);border-radius:1px;width:24px;height:2px;transition:all .3s}.nav__hamburger--active span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav__hamburger--active span:nth-child(2){opacity:0}.nav__hamburger--active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.nav__mobile{opacity:0;visibility:hidden;z-index:calc(var(--z-nav,100) + 1);background:#091514;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .4s,visibility .4s;display:flex;position:fixed;inset:0}.nav__mobile--active{opacity:1;visibility:visible}.nav__mobile a{color:var(--beige);letter-spacing:.1em;text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300;text-decoration:none}.nav__mobile .btn-reservar{border:1px solid var(--dorado);color:var(--dorado);letter-spacing:.15em;text-transform:uppercase;background:0 0;margin-top:12px;padding:12px 44px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:400;display:block}.nav__mobile-lang{align-items:center;gap:12px;margin-top:0;display:flex}.nav__mobile-lang .nav__lang{color:var(--beige);font-size:13px}.nav__mobile-logo{margin-bottom:12px}.nav__mobile-logo img{width:auto;height:44px}.footer{background:var(--verde-noche);color:var(--beige);text-align:center;padding:60px 0 32px}.footer__logo{justify-content:center;margin-bottom:24px;display:flex}.footer__logo img{object-fit:contain;width:auto;height:50px}.footer__address{opacity:.7;margin-bottom:28px;font-size:14px;line-height:2}.footer__social{justify-content:center;gap:32px;margin-bottom:40px;display:flex}.footer__social a{color:var(--beige);letter-spacing:.1em;opacity:.6;font-size:13px;text-decoration:none;transition:all .3s}.footer__social a:hover{color:var(--dorado);opacity:1}.footer__bottom{border-top:1px solid #c9a9611a;padding-top:28px}.footer__legal{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:16px;display:flex}.footer__legal a,.footer__legal-btn{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:var(--beige);opacity:.5;background:0 0;border:0;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:all .3s}.footer__legal a:hover,.footer__legal-btn:hover{color:var(--dorado);opacity:1}.footer__copy{opacity:.4;font-size:12px}body.modal-open{top:var(--scroll-lock-top,0);width:100%;height:var(--visible-vh,100dvh);overscroll-behavior:none;position:fixed;left:0;right:0;overflow:hidden}body.reservation-modal-open{overscroll-behavior:none;overflow:hidden}.modal-backdrop{--modal-shell-gap-block:clamp(12px, 2.4dvh, 20px);--modal-shell-gap-inline:clamp(12px, 4vw, 20px);--modal-box-max-height:calc(var(--visible-vh,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - (var(--modal-shell-gap-block) * 2));width:100%;height:var(--visible-vh,100dvh);min-height:var(--visible-vh,100dvh);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:var(--z-modal-backdrop,900);padding:calc(var(--modal-shell-gap-block) + env(safe-area-inset-top)) var(--modal-shell-gap-inline) calc(var(--modal-shell-gap-block) + env(safe-area-inset-bottom));overscroll-behavior:contain;background:#091514f5;justify-content:center;align-items:center;display:none;position:fixed;top:0;left:0}.modal-backdrop.active{display:flex}.modal-box{background:var(--beige-claro);width:min(100%,900px);max-width:900px;max-height:var(--modal-box-max-height);-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:clamp(32px,4dvh,40px) clamp(20px,5vw,24px);display:none;position:relative;overflow-y:auto}.modal-box.active{display:block}.modal-box--narrow{max-width:600px}.modal-close{color:var(--gris-oscuro);cursor:pointer;opacity:.5;background:0 0;border:none;font-size:28px;transition:opacity .3s;position:absolute;top:20px;right:20px}.modal-close:hover{opacity:1}@media (width<=767px){.modal-backdrop{--modal-shell-gap-block:clamp(16px, 3.2dvh, 24px);--modal-shell-gap-inline:clamp(12px, 4vw, 16px)}.modal-box{border-radius:18px;width:100%;padding-top:clamp(24px,3.4dvh,32px)}.modal-backdrop--form{align-items:flex-start;overflow-y:auto}.modal-backdrop--form .modal-box{margin-block:0 auto}.modal-close{opacity:.88;z-index:2;background:#f5f1e8f0;border-radius:999px;place-items:center;width:40px;height:40px;margin-bottom:12px;margin-left:auto;display:grid;position:sticky;top:0;right:auto;box-shadow:0 12px 28px #0a0a0a24}}.modal-title{color:var(--verde-oscuro);text-align:center;margin-bottom:8px;font-size:36px}.modal-subtitle{color:var(--gris-oscuro);opacity:.6;text-align:center;margin-bottom:40px;font-size:14px}.modal-category{margin-bottom:40px}.modal-category__name{color:var(--verde-oscuro);border-bottom:1px solid #c9a96133;margin-bottom:24px;padding-bottom:12px;font-size:24px}.modal-category__subtitle{color:var(--dorado-legible);margin-top:-16px;margin-bottom:24px;font-size:13px;font-style:italic}.modal-item{border-bottom:1px solid #c9a96114;justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:16px;display:flex}.modal-item:last-child{border-bottom:none}.modal-item--stacked{display:block}.modal-item__info{flex:1;padding-right:16px}.modal-item__name{color:var(--verde-oscuro);margin-bottom:4px;font-size:16px;font-weight:400}.modal-item__desc{color:var(--gris-oscuro);opacity:.7;font-size:13px;line-height:1.6}.modal-item__price{color:var(--dorado-legible);white-space:nowrap;font-size:16px;font-weight:400}.modal-item--desayuno{display:block}.modal-item__header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.modal-item__includes{margin:0 0 8px;padding:0;list-style:none}.modal-item__includes li{color:var(--gris-oscuro);padding:3px 0 3px 16px;font-size:14px;line-height:1.5;position:relative}.modal-item__includes li:before{content:"·";color:var(--dorado);font-weight:700;position:absolute;left:0}.modal-item__extras{border-top:1px dashed #c9a96126;margin-top:8px;padding-top:8px}.modal-extra{justify-content:space-between;align-items:baseline;padding:3px 0 3px 16px;font-size:13px;display:flex}.modal-extra__name{color:var(--gris-oscuro);font-style:italic}.modal-extra__price{color:var(--dorado-legible);white-space:nowrap;font-weight:400}.modal-footer{color:var(--gris-oscuro);opacity:.5;text-align:center;margin-top:24px;font-size:12px}.modal-empty{text-align:center;color:var(--gris-oscuro);opacity:.6;padding:40px 0;font-size:15px}.modal-menu-price{border-top:1px solid #c9a9612e;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem 0 .25rem;display:flex}.modal-menu-price__label,.modal-menu-price__note{letter-spacing:.16em;text-transform:uppercase;color:var(--gris-oscuro);opacity:.72;font-size:.75rem}.modal-menu-price strong{font-family:var(--font-heading);color:var(--verde-oscuro);font-size:clamp(2rem,6vw,2.8rem);font-weight:500}.form-group{margin-bottom:20px}.form-label{letter-spacing:.15em;text-transform:uppercase;color:var(--dorado-legible);margin-bottom:8px;font-size:11px;font-weight:400;display:block}.form-input,.form-select{background:var(--blanco);width:100%;color:var(--verde-oscuro);appearance:none;border:1px solid #c9a96133;padding:14px 18px;font-family:Montserrat,sans-serif;font-size:15px;transition:all .3s}.form-input:focus,.form-select:focus{border-color:var(--dorado);outline:none;box-shadow:0 0 0 3px #c9a9611a}.form-checkbox{color:var(--gris-oscuro);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.form-checkbox input{accent-color:var(--dorado);margin-top:3px}.form-checkbox a{color:var(--dorado-legible)}.btn-submit{background:var(--dorado);width:100%;color:var(--verde-oscuro);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;margin-top:16px;padding:16px;font-size:12px;font-weight:500;transition:all .4s}.btn-submit:hover{background:var(--dorado-claro);transform:translateY(-2px);box-shadow:0 10px 30px #c9a96166}.btn-whatsapp{color:#fff;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:#25d366;border:none;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:16px;padding:16px;font-size:12px;font-weight:500;transition:all .4s;display:inline-flex}.btn-whatsapp:hover{background:#1ebe5b;transform:translateY(-2px);box-shadow:0 10px 30px #25d36659}.btn-whatsapp svg{fill:#fff;flex-shrink:0;width:20px;height:20px}@media (width>=768px){.nav .container{height:80px}.nav__menu{display:flex}.nav__hamburger{display:none}.btn-reservar{display:block}.nav__logo img{height:45px}.modal-backdrop{--modal-shell-gap-block:clamp(20px, 3dvh, 28px);--modal-shell-gap-inline:clamp(20px, 4vw, 28px)}.modal-box{padding:clamp(40px,4dvh,60px) clamp(28px,4vw,48px)}.modal-title{font-size:48px}}@media (width>=768px) and (width<=1023px){.nav .container{gap:16px;height:76px;padding-left:28px;padding-right:28px}.nav__logo{flex:none}.nav__logo img{height:38px}.nav__menu{flex:auto;justify-content:center;gap:clamp(14px,1.8vw,20px);min-width:0}.nav__link{letter-spacing:.08em;font-size:10px}.nav__actions{flex:none;gap:10px}.nav__lang,.nav__lang-sep{letter-spacing:.08em;font-size:10px}.btn-reservar{letter-spacing:.12em;padding:9px 16px;font-size:10px}}@media (width>=1280px){.nav .container{height:90px}.nav__menu{gap:50px}.nav__logo img{height:50px}.modal-backdrop{--modal-shell-gap-block:clamp(24px, 3.2dvh, 32px);--modal-shell-gap-inline:clamp(24px, 4vw, 32px)}.modal-box{max-width:1000px;padding:clamp(48px,5dvh,80px) clamp(36px,4vw,80px)}.modal-title{margin-bottom:12px;font-size:56px}.modal-category__name{font-size:32px}}
