@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,400&family=Jost:wght@300;400;500;600&display=swap";*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--gold:#c5a059;--gold-lt:#d4b878;--cream:#f4f1ea;--cream-dim:#b5b0a6;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, sans-serif;--radius:4px;--trans:.4s ease}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--cream);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:2px}#splash{z-index:9999;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;transition:opacity .4s,visibility .4s;display:flex;position:fixed;inset:0}#splash.fade-out{opacity:0!important;visibility:hidden!important;pointer-events:none!important}#splash img{width:110px;animation:1.6s ease-in-out infinite alternate pulseGlow}#splash .splash-brand{font-family:var(--serif);letter-spacing:.25em;color:var(--gold);text-transform:uppercase;font-size:1.6rem}#splash .splash-dots span{background:var(--gold);border-radius:50%;width:6px;height:6px;margin:0 4px;animation:1.2s ease-in-out infinite dotPulse;display:inline-block}#splash .splash-dots span:nth-child(2){animation-delay:.2s}#splash .splash-dots span:nth-child(3){animation-delay:.4s}@keyframes pulseGlow{0%{opacity:.7;filter:drop-shadow(0 0 6px #c5a05900)}to{opacity:1;filter:drop-shadow(0 0 18px #c5a0598c)}}@keyframes dotPulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}#main-nav{z-index:100;transition:background var(--trans),padding var(--trans),backdrop-filter var(--trans);justify-content:space-between;align-items:center;padding:22px 5%;display:flex;position:fixed;top:0;left:0;right:0}#main-nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0aeb;border-bottom:1px solid #c5a05926;padding:14px 5%}.nav-logo img{filter:brightness(1.1);width:auto;height:72px}.nav-links{align-items:center;gap:36px;list-style:none;display:flex}.nav-links a{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--cream-dim);transition:color var(--trans);padding-bottom:3px;font-size:.8rem;font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width var(--trans);position:absolute;bottom:0;left:0}.nav-links a:hover{color:var(--gold)}#bg-video,#hero,.nav-links a:hover:after{width:100%}#hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}#hero:after{content:"";z-index:1;background:linear-gradient(#0a0a0a66,#0a0a0a1a 50%,#0a0a0ab3)}#bg-video,#hero:after{position:absolute;inset:0}#bg-video{-o-object-fit:cover;object-fit:cover;z-index:0;filter:contrast(1.15)saturate(1.1)brightness(1.05);height:100%}.hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:820px;padding:0 5%;display:flex;position:relative}.hero-logo-wrap img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 20px #c5a05966);width:160px;height:160px}.hero-tagline{font-family:var(--serif);color:var(--cream);letter-spacing:.03em;text-shadow:0 4px 16px #000c,0 2px 4px #000c;font-size:calc(clamp(2.4rem,6vw,4.5rem));font-weight:300;line-height:1.1}.hero-tagline em{color:var(--gold);text-shadow:0 4px 16px #0009;font-style:italic}.hero-sub{letter-spacing:.25em;text-transform:uppercase;color:var(--cream);text-shadow:0 2px 12px #000000e6,0 1px 3px #000;font-size:.95rem;font-weight:500}.gold-divider{background:var(--gold);width:48px;height:1px;margin:0 auto}.btn-gold{border:1px solid var(--gold);color:var(--gold);font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;transition:background var(--trans),color var(--trans),transform var(--trans);padding:15px 44px;font-size:.78rem;font-weight:500;display:inline-block;position:relative;overflow:hidden}.btn-gold:before{content:"";background:var(--gold);transition:transform var(--trans);position:absolute;inset:0;transform:translateY(100%)}.btn-gold span{z-index:1;position:relative}.btn-gold:hover{color:var(--bg);transform:translateY(-2px)}.btn-gold:hover:before{transform:translateY(0)}.scroll-indicator{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-indicator span{background:linear-gradient(to bottom,var(--gold),transparent);width:1px;height:48px;animation:1.8s ease-in-out infinite scrollLine;display:block}@keyframes scrollLine{0%{transform-origin:top;opacity:1;transform:scaleY(0)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}to{transform-origin:bottom;opacity:0;transform:scaleY(1)}}.section{padding:100px 5%}.section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:.72rem;font-weight:500}.section-title{font-family:var(--serif);color:var(--cream);margin-bottom:24px;font-size:calc(clamp(2rem,4vw,3.2rem));font-weight:300;line-height:1.15}.section-body{color:var(--cream-dim);max-width:620px;font-size:1rem;line-height:1.9}[data-reveal]{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(32px)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal][data-delay="1"]{transition-delay:.1s}[data-reveal][data-delay="2"]{transition-delay:.2s}[data-reveal][data-delay="3"]{transition-delay:.35s}[data-reveal][data-delay="4"]{transition-delay:.5s}#historia{background:var(--bg);border-top:1px solid #c5a0591f}.historia-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;max-width:1200px;margin:0 auto;display:grid}.historia-text .section-body{max-width:100%}.historia-images{align-items:start;gap:16px;display:grid}.historia-images .img-card{background:#111;height:240px;position:relative;overflow:hidden}.historia-images .img-card:first-child{grid-column:span 1;height:320px}.historia-images img{-o-object-fit:cover;object-fit:cover;width:100%;height:240px;transition:transform .6s}.historia-images .img-card:first-child img{height:320px}.historia-images .img-card:hover img{transform:scale(1.05)}.img-label{letter-spacing:.14em;text-transform:uppercase;color:var(--cream);background:linear-gradient(#0000,#0a0a0ae0);padding:12px 16px;font-size:.75rem;font-weight:500;position:absolute;bottom:0;left:0;right:0}#filosofia{background:#0e0e0e;border-top:1px solid #c5a0591f;border-bottom:1px solid #c5a0591f}.filosofia-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1160px;margin:0 auto;display:grid}.filosofia-img{overflow:hidden}.filosofia-img img{-o-object-fit:cover;object-fit:cover;width:100%;height:520px}.filosofia-text .section-title{font-size:calc(clamp(1.8rem,3.5vw,2.8rem))}blockquote{border-left:2px solid var(--gold);font-family:var(--serif);color:var(--cream);margin:28px 0;padding-left:20px;font-size:1.1rem;font-style:italic;line-height:1.6}#productos{background:var(--bg)}.productos-inner{max-width:1200px;margin:0 auto}.productos-header{text-align:center;max-width:600px;margin:0 auto 64px}.productos-header .section-body{text-align:center;margin:0 auto}.product-banner{align-items:center;height:480px;display:flex;position:relative;overflow:hidden}.product-banner img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .8s;position:absolute;inset:0}.product-banner:hover img{transform:scale(1.04)}.product-banner-overlay{background:linear-gradient(90deg,#0a0a0a14,#0a0a0ab3 55%);position:absolute;inset:0}.product-banner-text{z-index:2;text-align:left;max-width:480px;margin-left:auto;margin-right:8%;position:relative}.product-banner-text h3{font-family:var(--serif);color:var(--cream);margin-bottom:12px;font-size:calc(clamp(1.6rem,3vw,2.4rem));font-weight:400;line-height:1.2}.product-banner-text h3 em{color:var(--gold);font-style:italic}.product-banner-text p{color:var(--cream-dim);margin-bottom:10px;font-size:.95rem;line-height:1.8}#contacto{background:#080808;border-top:1px solid #c5a0591f;padding:100px 5% 80px}.contacto-inner{max-width:900px;margin:0 auto}.contacto-header{text-align:center;margin-bottom:52px}.contacto-header .section-body{text-align:center;margin:0 auto}.contacto-email{text-align:center;font-family:var(--serif);color:var(--gold);letter-spacing:.06em;transition:color var(--trans);margin-top:16px;font-size:1.2rem;display:block}.contacto-email:hover{color:var(--gold-lt)}.contact-form{flex-direction:column;gap:20px;margin-top:48px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label{letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);font-size:.72rem;font-weight:500}.form-field input,.form-field textarea{border-radius:var(--radius);color:var(--cream);font-family:var(--sans);transition:border-color var(--trans);background:0 0;border:1px solid #c5a05940;outline:none;padding:14px 18px;font-size:.95rem;font-weight:300}.form-field input::-moz-placeholder{color:#b4b0a666}.form-field textarea::-moz-placeholder{color:#b4b0a666}.form-field input::placeholder,.form-field textarea::placeholder{color:#b4b0a666}.form-field input:focus,.form-field textarea:focus{border-color:var(--gold)}.form-field textarea{resize:vertical;min-height:140px}.form-field.form-consent{flex-direction:column;align-items:flex-start}.consent-label{color:var(--cream-dim);cursor:pointer;align-items:flex-start;gap:10px;line-height:1.55;display:flex;letter-spacing:.02em!important;text-transform:none!important;font-size:.8rem!important}.consent-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold);flex-shrink:0;margin-top:3px}.consent-label a{color:var(--gold);text-underline-offset:2px;text-decoration:underline}.consent-label input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.form-submit{text-align:center;margin-top:12px}.btn-submit{border:1px solid var(--gold);color:var(--gold);font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:color var(--trans);background:0 0;padding:16px 56px;font-size:.78rem;font-weight:500;position:relative;overflow:hidden}.btn-submit:before{content:"";background:var(--gold);transition:transform var(--trans);position:absolute;inset:0;transform:translateY(100%)}.btn-submit span{z-index:1;position:relative}.btn-submit:hover{color:var(--bg)}.btn-submit:hover:before{transform:translateY(0)}.form-msg{border-radius:var(--radius);text-align:center;margin-bottom:16px;padding:14px 20px;font-size:.9rem}.form-msg.ok{color:#4caf50;border:1px solid #4caf50}.form-msg.err{color:#e53935;border:1px solid #e53935}.footer-bar{border-top:1px solid #c5a0591a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:64px auto 0;padding-top:32px;display:flex}.footer-bar img{filter:brightness(0)invert()opacity(.6);height:48px;transition:opacity var(--trans)}.footer-bar img:hover{opacity:1}.social-links{align-items:center;gap:28px;display:flex}.social-links a{color:#b4b0a6b3;transition:color .3s,transform .3s;display:flex}.social-links a svg{width:32px;height:32px}.social-links a:hover{color:#c5a059;transform:translateY(-2px)}.footer-copy{color:#b4b0a666;letter-spacing:.1em;font-size:.75rem}.legal-links{flex-wrap:wrap;justify-content:center;gap:10px 24px;width:100%;margin:0;padding:0;list-style:none;display:flex}.legal-links a{letter-spacing:.08em;text-transform:uppercase;color:#b4b0a68c;font-size:.72rem;text-decoration:none;transition:color .3s}.legal-links a:hover{color:var(--gold)}.footer-admin-link{letter-spacing:.12em;text-transform:uppercase;color:#b4b0a64d;font-size:.68rem;text-decoration:none;transition:color .3s}.footer-admin-link:hover{color:var(--gold)}.gallery-hero{text-align:center;justify-content:center;align-items:center;height:38vh;min-height:240px;margin-top:72px;display:flex;position:relative;overflow:hidden}.gallery-hero-bg{filter:brightness(.28)saturate(.7);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.04)}.gallery-hero-content{z-index:2;position:relative}.gallery-hero-title{font-family:var(--serif);color:var(--cream);letter-spacing:.06em;font-size:calc(clamp(2.5rem,6vw,4.5rem));font-weight:300}.galeria-inner{max-width:1400px;margin:0 auto}.gallery-filters{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:48px;display:flex}.filter-btn{color:var(--cream-dim);font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background var(--trans),border-color var(--trans),color var(--trans);background:0 0;border:1px solid #c5a05947;border-radius:100px;align-items:center;gap:8px;padding:10px 22px;font-size:.72rem;font-weight:500;display:inline-flex}.filter-btn:hover{border-color:var(--gold);color:var(--gold)}.filter-btn.active{background:var(--gold);border-color:var(--gold);color:var(--bg)}.filter-count{opacity:.7;font-size:.65rem;font-weight:400}.masonry-grid{-moz-columns:260px 3;columns:260px 3;-moz-column-gap:12px;column-gap:12px;padding:0 4%}.masonry-item{border-radius:var(--radius);cursor:pointer;-moz-column-break-inside:avoid;break-inside:avoid;background:#111;margin-bottom:12px;transition:opacity .35s,transform .35s;position:relative;overflow:hidden}.masonry-item img{-o-object-fit:cover;object-fit:cover;filter:sepia(.35)brightness(.75);width:100%;height:auto;transition:transform .7s,filter .5s;display:block}.masonry-item:hover img{filter:sepia(0)brightness();transform:scale(1.06)}.masonry-overlay{opacity:0;background:linear-gradient(#0000 45%,#0a0a0ad9);align-items:flex-end;padding:16px;transition:opacity .4s;display:flex;position:absolute;inset:0}.masonry-overlay span{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--cream);font-size:.75rem;font-weight:500}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-item.hiding{opacity:0;pointer-events:none;transform:scale(.94)}.masonry-item.hidden{display:none}.lightbox-modal{z-index:9999;background:#040404f7;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:fixed;inset:0}.lightbox-modal.active{display:flex}.lightbox-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.lightbox-content{-o-object-fit:contain;object-fit:contain;border:1px solid #c5a0592e;max-width:88vw;max-height:72vh;transition:opacity .2s}.lightbox-caption{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);text-align:center;font-size:.75rem}.lightbox-counter{font-family:var(--serif);color:var(--gold);letter-spacing:.1em;font-size:.95rem}.lightbox-thumbs{scrollbar-width:none;gap:8px;max-width:100vw;padding:8px 40px 12px;display:flex;overflow-x:auto}.lightbox-thumbs::-webkit-scrollbar{display:none}.lb-thumb{-o-object-fit:cover;object-fit:cover;opacity:.4;cursor:pointer;border:1px solid #0000;border-radius:2px;flex-shrink:0;width:56px;height:42px;transition:opacity .25s,border-color .25s,transform .25s}.lb-thumb:hover{opacity:.75}.lb-thumb.active{opacity:1;border-color:var(--gold);transform:scale(1.08)}.lightbox-close,.lightbox-next,.lightbox-prev{color:var(--gold);cursor:pointer;transition:color var(--trans),transform var(--trans);-webkit-user-select:none;user-select:none;z-index:2;font-size:2.5rem;font-weight:300;line-height:1;font-family:var(--sans);background:0 0;border:none;padding:0;position:absolute}.lightbox-close{font-size:2.2rem;top:28px;right:40px}.lightbox-prev{left:28px}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-next{right:28px}.lightbox-next:hover,.lightbox-prev:hover{color:var(--gold-lt);transform:translateY(-50%)scale(1.15)}.lightbox-close:hover{color:var(--gold-lt);transform:scale(1.15)}body,html{overflow-x:hidden}@media (width<=900px){.filosofia-inner,.historia-grid{grid-template-columns:1fr;gap:40px}}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}:is(.form-field input:valid:not(:placeholder-shown),.form-field textarea:valid:not(:placeholder-shown)),.form-field input:valid:not(:placeholder-shown),.form-field textarea:valid:not(:placeholder-shown){border-color:#4caf50}:is(.form-field input:invalid:not(:placeholder-shown),.form-field textarea:invalid:not(:placeholder-shown)),.form-field input:invalid:not(:placeholder-shown),.form-field textarea:invalid:not(:placeholder-shown){border-color:#e53935}.historia-images{grid-template-columns:1fr 1fr}.filosofia-img img{height:380px}.product-banner-text{max-width:90%;margin-right:5%}.form-row{grid-template-columns:1fr}.footer-bar{text-align:center;flex-direction:column}@media (width<=600px){.section{padding:56px 6%}#main-nav{flex-flow:wrap;gap:12px;padding:16px 5%}.nav-logo{text-align:left;flex:100%}.nav-logo img{opacity:.7;height:16px}.nav-links{flex-wrap:wrap;justify-content:center;gap:10px 16px;width:100%;font-size:.7rem;display:flex}#hero{height:100svh}.hero-content{gap:16px;padding:0 7%}.hero-logo-wrap img{width:80px;height:80px}.hero-tagline{font-size:2rem}.hero-sub{letter-spacing:.15em;font-size:.72rem}.btn-gold{padding:13px 32px;font-size:.72rem}.scroll-indicator{bottom:20px}.scroll-indicator span{height:32px}.historia-grid{gap:32px}.historia-images{grid-template-columns:1fr;gap:12px}.historia-images .img-card:first-child{grid-column:span 1}.historia-images .img-card:first-child img,.historia-images img{height:220px}.filosofia-inner{gap:32px}.filosofia-img img{height:280px}blockquote{padding-left:16px;font-size:1rem}.productos-header{margin-bottom:32px}.product-banner{height:auto;min-height:360px;padding:40px 0}.product-banner-overlay{background:#0a0a0a99}.product-banner-text{text-align:center;max-width:100%;margin:0 auto;padding:0 7%}.product-banner-text .btn-gold{margin-top:16px}#contacto{padding:56px 6% 48px}.contacto-header{margin-bottom:32px}.contacto-email{font-size:1rem}.contact-form{gap:16px}.form-field input,.form-field textarea{padding:12px 14px;font-size:.9rem}.form-field textarea{min-height:110px}.btn-submit{width:100%;padding:14px 40px;font-size:.72rem}.footer-bar{margin-top:40px;padding-top:24px}.footer-bar img{height:24px}}@media (width<=360px){.hero-tagline{font-size:1.7rem}.hero-sub{font-size:.65rem}.section-title{font-size:1.6rem}.section-body{font-size:.9rem}.product-banner{min-height:300px}}
