.section--alt{background:var(--bg-surface)}.hero{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:80px 1.5rem 6rem;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";border-color:var(--color-accent);width:80px;height:80px;opacity:var(--ornament-opacity);pointer-events:none;z-index:4;border-style:solid;transition:opacity .3s;position:absolute}.hero:before{border-width:2px 0 0 2px;top:100px;left:40px}.hero:after{border-width:0 2px 2px 0;bottom:100px;right:40px}.hero__bg{z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.hero--with-bg .hero__bg:after{content:"";background:linear-gradient(#2c100a4d 0%,#00000073 50%,#2c100a80 100%);position:absolute;inset:0}.hero--with-bg .hero__content,.hero--with-bg .hero__tagline{color:#fff}.hero--with-bg .hero__subtitle{color:#fffc}.hero__grain{opacity:var(--grain-opacity);pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:absolute;inset:0}.hero__content{z-index:2;flex-direction:column;align-items:center;max-width:700px;display:flex;position:relative}.hero__logo{flex-direction:column;align-items:center;margin-bottom:2rem;display:flex;position:relative}.hero__logo:before{content:"";background:var(--logo-halo);width:200px;height:200px;box-shadow:var(--logo-halo-shadow);pointer-events:none;z-index:0;border-radius:50%;transition:background .3s,box-shadow .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.hero__logo-head{z-index:1;width:180px;height:180px;margin-bottom:1rem;animation:6s ease-in-out infinite gentleFloat;position:relative}[data-theme=dark] .hero__logo-head{filter:drop-shadow(0 0 12px #e1caaa1a)}.hero__logo-wordmark{z-index:1;width:320px;height:auto;position:relative}[data-theme=dark] .hero__logo-wordmark{filter:drop-shadow(0 0 8px #e1caaa0f)}.hero__tagline{color:var(--text);letter-spacing:-.01em;text-shadow:0 1px 2px #0000000f;margin-bottom:.75rem;font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;font-style:italic;line-height:1.3}.hero__subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.25em;align-items:center;gap:1rem;margin-bottom:3rem;font-size:.85rem;font-weight:400;display:inline-flex;position:relative}.hero__subtitle:before,.hero__subtitle:after{content:"";background:var(--color-accent);opacity:.4;width:24px;height:1px;display:block}.hero__wave{z-index:3;width:100%;line-height:0;animation:6s ease-in-out infinite waveFloat;position:absolute;bottom:0;left:0}.hero__wave svg{width:100%;height:120px;display:block}@keyframes waveFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:768px){.hero{padding-top:100px}.hero:before,.hero:after{display:none}.hero__logo-head{width:120px;height:120px}.hero__logo-wordmark{width:220px}.hero__tagline{font-size:1.5rem}.hero__subtitle{letter-spacing:.18em;font-size:.75rem}.hero__subtitle:before,.hero__subtitle:after{display:none}}.about-preview__grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.about-preview__content .section__title{margin-bottom:1.5rem}.about-preview__content .section__title:after{left:0;transform:none}.about-preview__text{color:var(--text-muted);border-left:3px solid var(--color-accent);margin-bottom:2rem;padding-left:1.5rem;font-size:1.05rem;line-height:1.9}.about-preview__image{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:400px;transition:border-color .3s,transform .4s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.about-preview__image svg{color:var(--text-muted);opacity:.4}.about-preview__image span{color:var(--text-muted);opacity:.6;font-size:.9rem}.about-preview__image:hover{border-color:var(--color-primary);transform:translateY(-4px)}.about-preview__image--has-photo{box-shadow:0 8px 30px var(--shadow-lg);background:0 0;border:none;position:relative}.about-preview__image--has-photo:after{content:"";border:2px solid var(--color-accent);opacity:.15;pointer-events:none;border-radius:28px;transition:opacity .3s;position:absolute;inset:-12px;transform:translate(12px,12px)}.about-preview__image--has-photo:hover{box-shadow:0 12px 40px var(--shadow-lg)}.about-preview__image--has-photo:hover:after{opacity:.25}.about-preview__image img{object-fit:cover;border-radius:24px;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}.about-preview__image--has-photo:hover img{transform:scale(1.03)}@media (max-width:768px){.about-preview__grid{grid-template-columns:1fr;gap:2rem}.about-preview__image{height:280px}.about-preview__image--has-photo:after{display:none}.about-preview__content .section__title{text-align:center!important}.about-preview__content .section__title:after{left:50%;transform:translate(-50%)}}.services__grid{margin-top:3rem}.services--with-photo .services__grid{grid-template-columns:2fr 3fr;align-items:center;gap:3rem;display:grid}.services__image{box-shadow:0 8px 30px var(--shadow-lg);border-radius:20px;position:sticky;top:120px;overflow:hidden}.services__image img{border-radius:20px;width:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);display:block}.services__image:hover img{transform:scale(1.03)}.services__row{border-bottom:1px solid var(--section-divider);border-radius:12px;align-items:center;gap:3rem;padding:3rem 0;transition:background .3s,padding .3s;display:flex}.services__row:first-child{border-top:1px solid var(--section-divider)}.services__row--reverse{flex-direction:row-reverse}.services__row:hover{background:var(--bg-card-subtle);margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.services--with-photo .services__row--reverse{flex-direction:row}.services__num{color:var(--color-accent);opacity:.15;flex-shrink:0;min-width:80px;font-family:Cormorant Garamond,Georgia,serif;font-size:5rem;font-weight:700;line-height:1;transition:opacity .3s,transform .3s}.services__row:hover .services__num{opacity:.3;transform:translate(4px)}.services__text{flex:1}.services__text h3{color:var(--text);margin-bottom:.5rem;font-size:1.35rem;transition:color .3s}.services__row:hover .services__text h3{color:var(--color-primary)}[data-theme=dark] .services__row:hover .services__text h3{color:var(--color-accent)}.services__text p{color:var(--text-muted);font-size:.95rem;line-height:1.7}.services__icon{background:var(--icon-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;transition:background .3s,transform .3s;display:flex}.services__icon svg{color:var(--color-primary);transition:color .3s}.services__row:hover .services__icon{background:var(--color-primary);transform:scale(1.1)}.services__row:hover .services__icon svg{color:#fff}@media (max-width:768px){.services--with-photo .services__grid{grid-template-columns:1fr}.services__image{max-height:300px;position:static}.services__image img{object-fit:cover;max-height:300px}.services__row{text-align:center;gap:1rem;padding:2rem 0;flex-direction:column!important}.services__row:hover{background:0 0;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.services__num{min-width:auto;font-size:3rem}.services__row:hover .services__num{transform:none}.services__row:hover .services__icon{background:var(--icon-bg);transform:none}.services__row:hover .services__icon svg{color:var(--color-primary)}}.events-teaser__inner{background:var(--color-dark-bg);color:#fff;background-position:50%;background-size:cover;padding:6rem 1.5rem;position:relative;overflow:hidden}[data-theme=dark] .events-teaser__inner{background-color:#1a0804;border:1px solid #e1caaa0f}.events-teaser__inner:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(135deg,#efab3508 0%,#0000 60%);position:absolute;inset:0}.events-teaser__inner:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000 0%,#efab3505 100%);height:40%;position:absolute;bottom:0;left:0;right:0}.events-teaser__inner--with-bg:before{background:linear-gradient(135deg,#0009 0%,#0006 60%)}.events-teaser__inner--with-bg:after{background:linear-gradient(#0000 0%,#00000080 100%)}.events-teaser__watermark{opacity:.06;pointer-events:none;width:300px;height:300px;transition:opacity .4s;position:absolute;top:50%;right:-20px;transform:translateY(-50%)}[data-theme=dark] .events-teaser__watermark{filter:drop-shadow(0 0 20px #e1caaa0d)}.events-teaser__inner:hover .events-teaser__watermark{opacity:.09}.events-teaser__content{z-index:1;text-align:center;position:relative}.events-teaser__content:before{content:"";background:var(--color-accent);opacity:.6;width:40px;height:2px;margin:0 auto 2rem;display:block}.events-teaser__content h2{text-shadow:0 2px 4px #0003;letter-spacing:-.02em;margin-bottom:1rem;font-size:2.75rem}.events-teaser__content p{opacity:.85;max-width:600px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.15rem;line-height:1.8}@media (max-width:768px){.events-teaser__inner{padding:3.5rem 1.5rem}.events-teaser__content h2{font-size:2rem}.events-teaser__content p{font-size:1rem}.events-teaser__watermark{width:200px;height:200px;right:-60px}}.menu-highlights__layout--with-image{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.menu-highlights__image{box-shadow:0 8px 30px var(--shadow-lg);border-radius:20px;overflow:hidden}.menu-highlights__image img{object-fit:cover;border-radius:20px;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);display:block}.menu-highlights__image:hover img{transform:scale(1.03)}.menu-highlights__body .menu-highlights__card{margin:0 auto 2rem}.menu-highlights__card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);max-width:700px;box-shadow:var(--glass-shadow);border-radius:20px;margin:0 auto 2rem;padding:3rem 3.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s;position:relative}.menu-highlights__card:before{content:"";background:linear-gradient(90deg,transparent,var(--color-accent),transparent);border-radius:0 0 2px 2px;width:80px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.menu-highlights__card:hover{box-shadow:var(--hover-lift-shadow);transform:translateY(-4px)}.menu-highlights__card-divider{background:var(--color-accent);width:60px;height:2px;margin:0 auto 2rem;position:relative}.menu-highlights__card-divider:before,.menu-highlights__card-divider:after{content:"";background:var(--color-accent);opacity:.5;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.menu-highlights__card-divider:before{left:-12px}.menu-highlights__card-divider:after{right:-12px}.menu-highlights__item{border-bottom:1px dashed var(--border);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:1.25rem .75rem;transition:background .2s,transform .2s;display:flex}.menu-highlights__item:last-child{border-bottom:none}.menu-highlights__item:hover{background:var(--bg-card-subtle);transform:translate(4px)}.menu-highlights__name{color:var(--color-primary);flex-shrink:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:600;transition:color .2s}[data-theme=dark] .menu-highlights__name{color:#c4826e}.menu-highlights__item:hover .menu-highlights__name{color:var(--color-accent)}.menu-highlights__dots{border-bottom:1px dotted var(--text-muted);opacity:.3;flex:1;align-self:center;min-width:30px;margin-bottom:4px}.menu-highlights__price{color:var(--color-accent);flex-shrink:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:700}.menu-highlights__desc{color:var(--text-muted);flex-basis:100%;margin-top:.25rem;padding-left:0;font-size:.9rem;font-style:italic;line-height:1.5}.menu-highlights__cta{text-align:center;margin-top:2rem}@media (max-width:768px){.menu-highlights__layout--with-image{grid-template-columns:1fr}.menu-highlights__image{max-height:300px}.menu-highlights__card{padding:2rem 1.5rem}.menu-highlights__item:hover{transform:none}}.gallery-preview__grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:1rem;margin-bottom:2.5rem;display:grid}.gallery-preview__item{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;transition:border-color .3s;display:flex;overflow:hidden}.gallery-preview__item svg{color:var(--text-muted);opacity:.35}.gallery-preview__item span{color:var(--text-muted);opacity:.5;font-size:.8rem}.gallery-preview__item:hover{border-color:var(--color-primary)}.gallery-preview__item--has-photo{background:0 0;border:none;position:relative}.gallery-preview__item--has-photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);display:block}.gallery-preview__item--has-photo:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#0006 100%);border-radius:0 0 16px 16px;height:50%;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.gallery-preview__item--has-photo:hover{box-shadow:0 8px 30px var(--shadow-lg)}.gallery-preview__item--has-photo:hover img{transform:scale(1.06)}.gallery-preview__item--has-photo:hover:after{opacity:1}.gallery-preview__item--1{grid-row:span 2;min-height:416px}.gallery-preview__item--5{grid-area:3/span 2}.gallery-preview__item--6{grid-area:2/3}.gallery-preview__cta{text-align:center;margin-top:2rem}@media (max-width:768px){.gallery-preview__grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.gallery-preview__item--1{grid-row:span 1;min-height:150px}.gallery-preview__item--5{grid-column:span 1}}@media (max-width:480px){.gallery-preview__grid{grid-template-columns:1fr}}.contact-section__grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact-section__info .section__title{margin-bottom:2rem}.contact-section__info .section__title:after{left:0;transform:none}.contact-section__details{margin-bottom:2rem;list-style:none}.contact-section__details li{color:var(--text);border-bottom:1px solid var(--border);border-radius:8px;align-items:center;gap:1rem;padding:1rem .75rem;font-size:1.05rem;transition:transform .2s,background .2s;display:flex}.contact-section__details li:last-child{border-bottom:none}.contact-section__details li:hover{background:var(--bg-card-subtle);transform:translate(4px)}.contact-section__label{background:var(--icon-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .3s,transform .3s;display:flex}.contact-section__label svg{color:var(--color-primary);transition:color .3s}li:hover .contact-section__label{background:var(--color-primary);transform:scale(1.08)}li:hover .contact-section__label svg{color:#fff}.contact-section__whatsapp{color:#fff;background:#25d366;border-radius:50px;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.contact-section__whatsapp:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.contact-section__whatsapp:hover{background:#1ebe5a;transform:translateY(-2px);box-shadow:0 4px 15px #25d36666}.contact-section__whatsapp:hover:before{left:100%}.contact-section__whatsapp svg{flex-shrink:0}.contact-section__map{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:400px;transition:border-color .3s,box-shadow .3s;display:flex}.contact-section__map svg{color:var(--text-muted);opacity:.4;transition:transform .3s}.contact-section__map:hover{border-color:var(--color-primary);box-shadow:0 8px 30px var(--shadow)}.contact-section__map:hover svg{transform:translateY(-4px)}.contact-section__map-label{color:var(--text-muted);font-size:1rem;font-weight:500}.contact-section__map-hint{color:var(--text-muted);opacity:.5;font-size:.8rem}@media (max-width:768px){.contact-section__grid{grid-template-columns:1fr}.contact-section__info .section__title{text-align:center!important}.contact-section__info .section__title:after{left:50%;transform:translate(-50%)}.contact-section__map{min-height:300px}.contact-section__details li:hover{transform:none}}
