*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background-color:#fff;color:#080707;font-family:"Lato",sans-serif;font-size:16px;line-height:1.5}.page-home{background:rgba(0,0,0,0)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{opacity:.85}.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;padding:.5rem 1rem;background:#000;color:#fff}.skip-link:focus{left:0}.page-bg{position:fixed;inset:0;z-index:0;background-position:center center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}.page-wrapper{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.main-content{flex:1}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(250,247,247,.88);backdrop-filter:blur(4px);transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 1px 8px rgba(0,0,0,.08)}.header-spacer{height:60px}.header-inner{display:flex;align-items:center;justify-content:center;min-height:60px;padding:0 5rem;position:relative}.header-logo{position:absolute;left:1rem;top:50%;transform:translateY(-50%)}.header-logo .site-logo{max-height:40px;width:auto}.menu-toggle{display:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;color:#080707}.site-nav{display:flex;align-items:center}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:0}.nav-item{position:relative}.nav-item.active .nav-link{font-weight:700}.nav-link{display:block;padding:.75rem 1rem;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;transition:background .2s}.nav-link:hover{background:rgba(0,0,0,.04);opacity:1}.header-tools{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.75rem}.mobile-only{display:none}.desktop-only{display:block}.language-selector{background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,.15);padding:.25rem .5rem;font-size:.85rem;cursor:pointer;font-family:"Lato",sans-serif}.social-icons,.contact-icons{display:flex;align-items:center;gap:.5rem}.social-link,.contact-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;opacity:.8}.social-link:hover,.contact-icon:hover{opacity:1}.page-home .main-content{background:rgba(0,0,0,0)}.page-home .home-hero,.page-home .home-content,.page-home .home-blocks-wrap{background:rgba(0,0,0,0)}.home-hero{text-align:center;padding:2rem 1rem 0}.hero-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.hero-deco{flex:1;max-width:120px;height:1px;background:rgba(0,0,0,.15)}.hero-logo-wrap img{margin:0 auto}.hero-meta{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.home-slogan{font-family:"Kaushan Script",cursive;font-size:26px;font-weight:bold;line-height:1.1;color:#000;padding:.5rem 0}@media(min-width: 801px){.home-slogan{padding-left:13%;padding-right:13%}}.home-blocks-wrap{padding:1rem 0 2rem}.home-blocks{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:1200px;margin:0 auto;padding:0 1rem}.home-block{flex:1 1 280px;max-width:380px;position:relative}.home-block-link{display:block;position:relative;overflow:hidden}.home-block-link:hover .home-block-title{background:hsla(0,0%,100%,.95);color:#000}.home-block-image{width:100%;aspect-ratio:4/3;object-fit:cover}.home-block-title{position:absolute;bottom:15%;left:50%;transform:translateX(-50%);border:2px solid #ccc;padding:.5rem 1.5rem;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:rgba(235,230,230,.92);color:#000;transition:background .3s,color .3s}@media(max-width: 801px){.home-block-title{background:rgba(235,230,230,.92);color:#000}}.home-text-section{background:#f5f2f2;color:#080707;padding:2rem 1rem 3rem}.home-text-inner{max-width:800px;margin:0 auto}.bodas-badge{text-align:center;margin-bottom:1.5rem}.bodas-badge-img{max-width:200px;margin:0 auto}.seo-text{font-size:.85rem;line-height:1.2;color:#080707;margin-bottom:2rem}.panel-page__content .contact-form{max-width:520px;margin:1.5rem auto 0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-size:.9rem;color:#666}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid #ccc;background:hsla(0,0%,100%,.6);font-family:"Lato",sans-serif;font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:2px solid rgba(0,0,0,.15);border-color:#999}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width: 500px){.form-row{grid-template-columns:1fr}}.form-group--inline{display:flex;align-items:center;gap:.75rem}.form-group--inline label{margin:0;white-space:nowrap}.form-group--inline input{width:80px}.form-group--checkbox{display:flex;align-items:flex-start;gap:.5rem}.form-group--checkbox input{width:auto;margin-top:.25rem}.form-group--checkbox label{margin:0;font-size:.85rem}.required{color:#c00}.btn-submit{display:block;width:100%;max-width:200px;margin:1.5rem auto 0;padding:.75rem 2rem;background:rgba(0,0,0,0);border:1px solid #999;font-family:"Lato",sans-serif;font-size:.9rem;letter-spacing:.1em;cursor:pointer;transition:background .2s}.btn-submit:hover{background:rgba(0,0,0,.05)}.form-legend{text-align:center;font-size:.8rem;color:#666;margin-top:.5rem}.site-footer{background:#fff;padding:1rem;margin-top:auto;border-top:1px solid rgba(0,0,0,.06)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;max-width:1200px;margin:0 auto}.footer-left{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.footer-right{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem}.footer-right .contact-icons{gap:.35rem}.footer-right .contact-icon{opacity:.85}.footer-sep{opacity:.5}.footer-legal-links{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.15rem}.footer-legal-link{text-decoration:underline}.footer-legal-link:hover{opacity:1}.legal-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.legal-modal[hidden]{display:none}.legal-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}.legal-modal-dialog{position:relative;z-index:1;width:100%;max-width:720px;max-height:85vh;background:#fff;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.2)}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#333;color:#fff}.legal-modal-title{margin:0;font-size:1.1rem;font-weight:400}.legal-modal-close{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:.25rem}.legal-modal-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #ddd;background:#f5f5f5}.legal-modal-tab{background:#fff;border:1px solid #ccc;padding:.4rem .75rem;font-size:.85rem;cursor:pointer;font-family:"Lato",sans-serif}.legal-modal-tab.is-active{background:#333;color:#fff;border-color:#333}.legal-modal-body{overflow-y:auto;padding:1.25rem;font-size:.9rem;line-height:1.6;text-align:justify}.legal-modal-body p{margin:0 0 1rem}.legal-modal-body ul{margin:0 0 1rem;padding-left:1.25rem}.legal-modal-body a{color:blue;text-decoration:underline}body.legal-modal-open{overflow:hidden}.page-panel .main-content{padding:0}.panel-page{min-height:calc(100vh - 60px)}.panel-page__inner{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;background:rgba(245,242,242,.92)}.panel-page--narrow .panel-page__inner{max-width:720px}.panel-page__content{line-height:1.65;font-size:1rem}.panel-page__content p{margin:0 0 1rem}.panel-page__content ul{padding-left:1.25rem}.panel-page__content li{margin-bottom:.35rem}.panel-page__content a{color:blue;text-decoration:underline}.panel-page__content a:hover{opacity:1}.panel-intro{text-align:center;margin:0 0 1.5rem}.panel-lead{text-align:center;margin:0 0 .75rem}.section-title{font-family:"Kaushan Script",cursive;font-size:clamp(1.5rem,4vw,2.2rem);color:#42b448;text-align:center;margin:0 0 1.5rem;line-height:1.3;font-weight:normal}.section-title--spaced{margin-bottom:2rem}.section-title--compact{margin-bottom:.5rem}.section-title--sub{font-size:clamp(1.15rem,3vw,1.5rem);margin-bottom:.5rem}.panel-page__content .gallery-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:.5rem}.panel-page__content .gallery-list a{display:block;padding:.75rem 1rem;background:hsla(0,0%,100%,.65);border:1px solid #ccc;text-align:center;text-decoration:none;color:#080707;transition:background .2s}.panel-page__content .gallery-list a:hover{background:hsla(0,0%,100%,.95);opacity:1}.go-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;width:44px;height:44px;border:1px solid rgba(0,0,0,.2);background:hsla(0,0%,100%,.9);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:opacity .2s}.go-top[hidden]{display:none}.go-top:hover{background:#fff}@media(max-width: 801px){.header-inner{justify-content:space-between;padding:0 1rem}.header-logo{position:static;transform:none}.menu-toggle{display:block;z-index:1002}.header-tools.desktop-only{display:none}.site-nav{position:fixed;top:60px;left:0;right:0;height:calc(100vh - 60px);height:calc(100dvh - 60px);z-index:1001;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;background:#faf7f7;box-shadow:-4px 0 24px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;visibility:hidden;pointer-events:none}.site-nav.open{transform:translateX(0);visibility:visible;pointer-events:auto}.nav-list{flex-direction:column;width:100%;flex:0 0 auto}.nav-item{width:100%}.nav-link{width:100%;padding:1rem 1.25rem;font-size:.95rem;letter-spacing:.08em;text-align:left;border-bottom:1px solid rgba(0,0,0,.08)}.nav-link:hover{background:rgba(0,0,0,.05)}.nav-item.active .nav-link{background:rgba(0,0,0,.04)}.nav-extras.mobile-only{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem;margin-top:auto;padding:1.5rem 1.25rem 2rem;border-top:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02)}.nav-extras.mobile-only .language-selector{width:100%;max-width:12rem;margin:0 auto;padding:.5rem .75rem;font-size:.95rem;background:#fff}.nav-extras.mobile-only .social-icons,.nav-extras.mobile-only .contact-icons{justify-content:center;flex-wrap:wrap;gap:.75rem}.nav-extras.mobile-only .social-link,.nav-extras.mobile-only .contact-icon{width:40px;height:40px;font-size:1.15rem;opacity:1;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:50%}body.mobile-nav-open{overflow:hidden}.hero-deco{display:none}.footer-inner{flex-direction:column;text-align:center}.footer-left{justify-content:center}}@media(min-width: 801px){.site-header{display:flex;align-items:center;justify-content:center;min-height:60px}.header-inner{position:absolute;left:0;right:0;top:0;justify-content:flex-end;padding:0 1rem;pointer-events:none}.header-tools{pointer-events:auto}.header-logo{display:none}.site-nav{position:static;height:auto;transform:none;visibility:visible;pointer-events:auto;background:rgba(0,0,0,0);box-shadow:none;overflow:visible;flex-direction:row;align-items:center;z-index:auto}}.page-slideshow .page-wrapper{min-height:100vh}.page-slideshow .main-content{flex:1;padding:0;min-height:calc(100vh - 60px)}.page-slideshow .site-header{background:rgba(250,247,247,.88);backdrop-filter:blur(4px)}.page-slideshow .site-footer{position:fixed;bottom:0;left:0;right:0;z-index:2;background:#fff;margin-top:0}.page-slideshow .go-top{z-index:3}.slideshow{position:fixed;top:60px;left:0;right:0;bottom:0;z-index:0;overflow:hidden;background:#111}.slideshow-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;pointer-events:none}.slideshow-slide.is-active{opacity:1;z-index:1}.slideshow-slide img{width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width: 801px){.page-slideshow .slideshow{top:60px}}.biografia-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;margin-bottom:2.5rem}@media(max-width: 801px){.biografia-columns{grid-template-columns:1fr;gap:1.5rem}}.biografia-col--text{text-align:justify;font-size:1rem;line-height:1.65}.biografia-col--text p{margin:0 0 1rem}.biografia-col--photo{display:flex;align-items:flex-start;justify-content:center}.biografia-photo{width:100%;max-width:100%;height:auto;object-fit:cover;box-shadow:0 4px 20px rgba(0,0,0,.12)}.biografia-lead{font-weight:700}.biografia-extra{font-size:.95rem;line-height:1.6}.biografia-extra h3{margin:2rem 0 1rem;font-size:clamp(1.1rem,2.5vw,1.35rem);font-family:"Kaushan Script",cursive;color:#42b448;text-align:center;font-weight:normal}.biografia-extra a{color:blue;text-decoration:underline}.biografia-extra a:hover{opacity:1}.biografia-video{position:relative;width:100%;max-width:560px;margin:1.5rem auto;aspect-ratio:16/9}.biografia-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.biografia-list{padding-left:1.25rem;margin:0 0 1.5rem}.biografia-list li{margin-bottom:.5rem}.visitas-intro{text-align:center;line-height:1.65;margin-bottom:2rem}.visitas-intro p{margin:0 0 .75rem}.visitas-reviews{margin-bottom:2.5rem}.visitas-reviews-list{list-style:none;padding:0;margin:0}.visitas-review{margin:0 0 1.5rem;padding:1.25rem 1.5rem;background:hsla(0,0%,100%,.75);border-left:3px solid #42b448}.visitas-review-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.5rem}.visitas-review-author{font-style:normal;font-weight:700;font-size:1.05rem;color:#333}.visitas-review-rating{color:#e6a700;font-size:.85rem;letter-spacing:.05em}.visitas-review-rating .visitas-star--empty{color:#ccc}.visitas-review-title{margin:0 0 .75rem;font-weight:700;font-size:1rem;color:#222}.visitas-review-text{margin:0 0 1rem;font-size:1rem;line-height:1.65;font-style:normal;color:#333}.visitas-review-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem;color:#666}.visitas-review-source{font-style:italic}.visitas-review-response{margin-top:1rem;padding:1rem 1.1rem;background:rgba(0,0,0,.04);border-radius:2px;font-size:.95rem;line-height:1.6;color:#444}.visitas-review-response p{margin:0}.visitas-review-response-label{font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:#555;margin-bottom:.5rem !important}.visitas-intro a{color:blue;text-decoration:underline}.visitas-intro a:hover{opacity:1}.visitas-empty{text-align:center;color:#666;margin:0;padding:1.5rem 1rem;background:hsla(0,0%,100%,.6)}.visitas-form-wrap{border-top:1px solid rgba(0,0,0,.08);padding-top:2rem}.visitas-form-actions{text-align:center;margin-bottom:1.5rem}.visitas-form-toggle{display:inline-block;padding:.65rem 1.75rem;background:rgba(0,0,0,0);border:1px solid #999;font-family:"Lato",sans-serif;font-size:.9rem;letter-spacing:.05em;cursor:pointer;transition:background .2s}.visitas-form-toggle:hover{background:rgba(0,0,0,.05)}.visitas-form-panel{max-width:520px;margin:0 auto}.visitas-form-panel[hidden]{display:none}.visitas-form-note{text-align:center;font-size:.9rem;color:#666;margin:0 0 1.5rem}.visitas-form{margin-top:0}.page-gallery .main-content{padding:0}.page-gallery .page-bg{display:none}.gallery-page{padding:0 0 3rem}.gallery-header{max-width:1200px;margin:0 auto;padding:1.5rem 1rem;text-align:center}.gallery-description{margin:0;color:#555;font-size:.95rem}.gallery-empty{text-align:center;color:#666;padding:3rem 1rem}.masonry{display:flex;align-items:flex-start;gap:0;width:100%;margin:0;padding:0;line-height:0}.masonry__col{flex:1 1 0;min-width:0;align-self:flex-start;display:flex;flex-direction:column}.masonry__item{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;cursor:zoom-in;overflow:hidden;line-height:0}.masonry__item:hover .masonry__img.is-loaded{opacity:.95}.masonry__item:focus-visible{outline:3px solid #111;outline-offset:-3px}.masonry__frame{display:block;position:relative;width:100%;overflow:hidden;background:#e8e8e8}.masonry__frame picture{display:block;width:100%;height:100%}.masonry__img{width:100%;max-width:100%;height:auto;display:block;opacity:0;transition:opacity .4s ease}.masonry__img.is-loaded{opacity:1}.gallery-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 4rem}.gallery-lightbox[hidden]{display:none}.gallery-lightbox-stage{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-height:calc(100vh - 6rem)}.gallery-lightbox-stage img{max-width:100%;max-height:calc(100vh - 6rem);width:auto;height:auto;object-fit:contain}.gallery-lightbox-counter{color:#fff;font-size:.9rem;margin:1rem 0 0}.gallery-lightbox-close,.gallery-lightbox-nav{position:absolute;background:hsla(0,0%,100%,.12);border:none;color:#fff;cursor:pointer;padding:.75rem;font-size:1.25rem;border-radius:4px}.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:hsla(0,0%,100%,.25)}.gallery-lightbox-close{top:1rem;right:1rem}.gallery-lightbox-prev{left:1rem;top:50%;transform:translateY(-50%)}.gallery-lightbox-next{right:1rem;top:50%;transform:translateY(-50%)}body.gallery-lightbox-open{overflow:hidden}.video-gallery-grid{width:100%;max-width:none;margin:0;padding:0;column-count:3;column-gap:0}@media(max-width: 1000px){.video-gallery-grid{column-count:2}}@media(max-width: 600px){.video-gallery-grid{column-count:1}}.video-gallery-item{position:relative;display:block;width:100%;margin:0;padding:0;border:none;border-radius:0;background:#111;cursor:pointer;overflow:hidden;break-inside:avoid;line-height:0;text-align:left}.video-gallery-item img{width:100%;max-width:100%;height:auto;display:block;vertical-align:top}.video-gallery-item .gallery-lazy-img[data-src]{aspect-ratio:16/9;background:#e8e8e8}.video-gallery-item .gallery-lazy-img.is-loaded{aspect-ratio:auto;background:rgba(0,0,0,0)}.video-gallery-item:hover img{opacity:.9}.video-gallery-play{position:absolute;left:50%;top:42%;transform:translate(-50%, -50%);width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;pointer-events:none}.video-gallery-caption{display:block;position:absolute;left:0;right:0;bottom:0;padding:.5rem .65rem;background:linear-gradient(transparent, rgba(0, 0, 0, 0.75));color:#fff;font-size:.8rem;line-height:1.3;pointer-events:none}.video-gallery-placeholder{display:flex;align-items:center;justify-content:center;min-height:12rem;color:#ccc;font-size:3rem}.video-lightbox-stage{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:960px;aspect-ratio:16/9}.video-lightbox-stage iframe{width:100%;height:100%;border:none}.page-gallery-videos .gallery-lightbox-counter{max-width:960px;text-align:center}