:root{--wine:#701b39;--wine-dark:#4d1027;--cream:#fffaf5;--ink:#30272a;--gold:#b99055;--white:#fff;--line:#eee1e4;--shadow:0 12px 32px rgba(48,39,42,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1120px,calc(100% - 40px));margin:auto}.announcement{background:var(--wine);color:#fff;text-align:center;padding:9px 12px;font-size:.85rem}.header{position:sticky;top:0;z-index:20;background:rgba(255,250,245,.96);border-bottom:1px solid var(--line)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:700 2rem Georgia,serif;color:var(--wine);line-height:1;text-align:center}.brand span{display:block;font:700 .58rem Arial,sans-serif;color:var(--gold);letter-spacing:2.3px;text-transform:uppercase;margin-top:5px}.nav{display:flex;align-items:center;gap:22px;font-weight:bold;font-size:.9rem}.nav>a:not(.button):hover{color:var(--wine)}.button{display:inline-block;background:var(--wine);border:1px solid var(--wine);color:#fff;padding:13px 20px;border-radius:4px;font-weight:bold;font-size:.9rem;transition:.2s}.button:hover{background:var(--wine-dark);border-color:var(--wine-dark);transform:translateY(-1px)}.button-small{padding:10px 15px}.button-outline{background:transparent;color:#fff;border-color:#fff}.button-outline:hover{background:#fff;color:var(--wine)}.whatsapp{background:#218c53;border-color:#218c53}.hero{min-height:80vh;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(46,18,29,.84),rgba(46,18,29,.32)),url('../assets/fondofiesta.png') center/cover}.hero-content{max-width:690px;padding:65px 0}.eyebrow{margin:0;color:#f5d49b;text-transform:uppercase;letter-spacing:2px;font-size:.75rem;font-weight:bold}.gold{color:var(--gold)}h1,h2{font-family:Georgia,serif;line-height:1.08}h1{font-size:clamp(2.85rem,7vw,5rem);margin:12px 0 20px}h2{font-size:clamp(2rem,4vw,3rem);color:var(--wine);margin:8px 0 14px}.hero-copy{font-size:1.13rem;max-width:80vh}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:80px 0}.white{background:#fff}.center{text-align:center}.lead{max-width:680px;margin:0 auto 36px;color:#6d6063}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefits article{border:1px solid var(--line);padding:25px;background:#fff}.benefits h3{color:var(--wine);margin:7px 0}.icon{font:5.0rem Georgia,serif;color:var(--gold)}.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:25px 0 28px}.filter{cursor:pointer;border:1px solid #dbc7cc;background:transparent;padding:8px 14px;border-radius:20px;color:var(--wine);font-weight:bold}.filter.active,.filter:hover{background:var(--wine);color:#fff;border-color:var(--wine)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}.product{background:#fff;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.product-image{aspect-ratio:1/1;background:#eee1e4}.product-image img{display:block;width:100%;height:100%;object-fit:cover}.product-info{padding:20px;display:flex;flex:1;flex-direction:column}.category{color:var(--gold);font-size:.73rem;font-weight:bold;letter-spacing:1px;text-transform:uppercase}.product h3{font:1.4rem Georgia,serif;color:var(--wine);margin:7px 0}.price{font-weight:bold;margin:4px 0 18px}.product .button{margin-top:auto;text-align:center}.process{background:var(--wine);color:#fff;padding:44px 0}.process-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.process h2{color:#fff;margin:0;font-size:2rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.steps article{padding:15px 34px}.steps article:not(:last-child){border-right:1px solid #ecdade}.steps span{font:2rem Georgia,serif;color:var(--gold)}.steps h3{margin:8px 0}footer{background:#2d2325;color:#f4edee;padding:50px 0 20px}footer .brand{display:inline-block;color:#fff}footer p{max-width:380px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:45px}.footer-grid h3{color:#f3d198;margin-top:0}.footer-grid a:not(.button){display:block;margin:8px 0}.footer-bottom{margin-top:35px;padding-top:16px;border-top:1px solid #59494e;font-size:.8rem;color:#d0c3c6}.menu-toggle{display:none;background:none;border:0;color:var(--wine);font-size:1.6rem;cursor:pointer}@media(max-width:760px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav .button{text-align:center}.hero{min-height:510px}.benefits,.products,.footer-grid,.steps{grid-template-columns:1fr}.process-head{display:block;text-align:center}.process-head .button{margin-top:18px}.steps article:not(:last-child){border-right:0;border-bottom:1px solid #ecdade}.section{padding:58px 0}}

/* Tipografía: Playfair Display aporta elegancia y DM Sans mantiene la lectura clara. */
:root{--font-body:'DM Sans',Arial,sans-serif;--font-display:'Playfair Display',Georgia,serif}
body{font-family:var(--font-body);line-height:1.65;letter-spacing:.005em}
.brand,h1,h2,.product h3,.benefits h3,.steps h3,footer h3{font-family:var(--font-display)}
.brand{font-weight:700}.brand span{font-family:var(--font-body)}
h1,h2{font-weight:700;letter-spacing:-.025em}.button{font-family:var(--font-body);letter-spacing:.01em}

/* Acentos party-neón: brillo festivo aplicado a títulos y acciones, sin bajar contraste. */
:root{--neon-pink:#ff4fc4;--neon-lime:#b8ff3b;--neon-violet:#b66cff;--neon-gold:#ffd45e}.announcement{background:linear-gradient(90deg,#6d153c,#871b60 45%,#55122e);box-shadow:inset 0 -1px rgba(255,212,94,.5)}.announcement:after{content:"";display:block;width:115px;max-width:40%;height:2px;margin:7px auto -9px;background:linear-gradient(90deg,transparent,var(--neon-pink),var(--neon-lime),transparent);box-shadow:0 0 10px var(--neon-pink)}h2,.process h2{background:linear-gradient(100deg,var(--wine) 4%,var(--neon-pink) 38%,var(--neon-violet) 62%,var(--gold) 96%);-webkit-background-clip:text;background-clip:text;color:transparent}.process h2{background:linear-gradient(100deg,#fff 5%,#ffe299 38%,var(--neon-pink) 70%,var(--neon-lime));-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow.gold,.category{color:var(--neon-pink);text-shadow:0 0 14px rgba(255,79,196,.25)}.product{border:1px solid rgba(255,79,196,.14);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.product:hover{transform:translateY(-7px);border-color:rgba(184,255,59,.7);box-shadow:0 20px 38px rgba(112,27,57,.2),0 0 20px rgba(255,79,196,.15)}.price{color:#8e1665;text-shadow:0 0 12px rgba(255,79,196,.16)}.button:not(.whatsapp){background:linear-gradient(115deg,#721b3e,#b1238c 55%,#7a31bd);border-color:#e162b7;box-shadow:0 6px 16px rgba(182,108,255,.22)}.button:not(.whatsapp):hover{background:linear-gradient(115deg,#ff4fc4,#9b3fe5 55%,#b8ff3b);color:#25091a;border-color:var(--neon-lime);box-shadow:0 8px 24px rgba(184,255,59,.35)}.instagram-float{position:fixed;right:22px;bottom:24px;z-index:50;display:flex;align-items:center;gap:9px;padding:12px 15px 12px 12px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:linear-gradient(135deg,#ffcf48 0%,#ff4fc4 43%,#8f42e5 72%,#37e8b8 100%);color:#fff;box-shadow:0 10px 28px rgba(74,10,54,.34),0 0 0 6px rgba(255,79,196,.12);font-size:.82rem;font-weight:700;letter-spacing:.02em;transition:transform .22s ease,box-shadow .22s ease;animation:instagramPulse 2.6s ease-in-out infinite}.instagram-float:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(184,255,59,.64);border-radius:999px;opacity:0;animation:instagramRing 2.6s ease-out infinite}.instagram-float svg{width:23px;height:23px;fill:currentColor;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.instagram-float:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 15px 32px rgba(74,10,54,.42),0 0 26px rgba(184,255,59,.55)}@keyframes instagramPulse{50%{box-shadow:0 12px 32px rgba(74,10,54,.38),0 0 22px rgba(255,79,196,.55)}}@keyframes instagramRing{20%{opacity:.7}100%{transform:scale(1.28);opacity:0}}@media(max-width:560px){.instagram-float{right:16px;bottom:16px;padding:12px}.instagram-float span{display:none}.instagram-float svg{width:25px;height:25px}}@media(prefers-reduced-motion:reduce){.instagram-float,.instagram-float:before{animation:none}.product{transition:none}}

/* Animaciones de entrada: ligeras, distintas por elemento y sin librerías externas. */
.hero-layout{display:grid;place-items:center;min-height:80vh}.logo-frame{width:min(78vw,760px);display:grid;place-items:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.32))}.hero-logo{width:100%;height:auto;mix-blend-mode:screen}.hero-enter{opacity:0;animation:heroFadeUp .75s cubic-bezier(.2,.75,.25,1) forwards}.hero-enter-1{animation-delay:.12s}.hero-enter-2{animation-delay:.25s}.hero-enter-3{animation-delay:.42s}.hero-enter-4{animation-delay:.58s}.hero-enter-logo{animation-name:logoReveal;animation-duration:1.15s;animation-delay:.22s}.js-enabled .reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.js-enabled .reveal.is-visible{opacity:1;transform:none}.js-enabled .product.reveal{transition-delay:var(--delay,0ms)}@keyframes heroFadeUp{to{opacity:1;transform:translateY(0)}}@keyframes logoReveal{0%{opacity:0;transform:scale(.72) rotate(-3deg)}65%{opacity:1;transform:scale(1.045) rotate(.7deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:900px){.hero-layout{min-height:calc(100svh - 128px);padding:38px 0}.logo-frame{width:min(88vw,620px)}.hero{min-height:unset}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-enter,.js-enabled .reveal{animation:none;transition:none;opacity:1;transform:none}}

/* Carrusel automático de la portada: cuatro fondos, cinco segundos por imagen. */
.hero{position:relative;overflow:hidden;background:#300d25}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(46,18,29,.78),rgba(46,18,29,.35))}.hero-slides{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;animation:heroCarousel 20s infinite;will-change:opacity}.slide-fondo{background-image:url('../assets/fondofiesta.png');animation-delay:0s}.slide-fiesta-1{background-image:url('../assets/fiesta1.png');animation-delay:-5s}.slide-fiesta-2{background-image:url('../assets/fiesta2.png');animation-delay:-10s}.slide-fiesta-3{background-image:url('../assets/fiesta3.png');animation-delay:-15s}.hero-content{position:relative;z-index:2}@keyframes heroCarousel{0%,20%{opacity:1}25%,95%{opacity:0}100%{opacity:1}}@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0}.slide-fondo{opacity:1}}

/* Portada a pantalla completa y cabecera translúcida al navegar. */
.hero,.hero-layout{min-height:calc(100vh - 115px);min-height:calc(100svh - 115px)}
.header{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.header.is-scrolled{background:rgba(52,10,35,.58);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);border-bottom-color:rgba(255,213,94,.28);box-shadow:0 8px 24px rgba(24,3,16,.18)}
.header.is-scrolled .brand{color:#fffaf6;text-shadow:0 1px 12px rgba(0,0,0,.28)}
.header.is-scrolled .brand span{color:#f7d583}
.header.is-scrolled .nav>a:not(.button),.header.is-scrolled .menu-toggle{color:#fffaf6}
.header.is-scrolled .nav>a:not(.button):hover{color:var(--neon-lime)}
@media(max-width:760px){.hero,.hero-layout{min-height:calc(100svh - 116px)}.header.is-scrolled .nav{background:rgba(52,10,35,.94);border-bottom-color:rgba(255,213,94,.28)}}

/* Acceso flotante de WhatsApp junto a Instagram. */
.whatsapp-float{position:fixed;right:168px;bottom:24px;z-index:50;display:flex;align-items:center;gap:9px;padding:12px 15px 12px 12px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:linear-gradient(135deg,#26d366,#10a84f 58%,#0b7f43);color:#fff;box-shadow:0 10px 28px rgba(8,90,43,.34),0 0 0 6px rgba(38,211,102,.12);font-size:.82rem;font-weight:700;letter-spacing:.02em;transition:transform .22s ease,box-shadow .22s ease;animation:whatsappPulse 2.6s ease-in-out infinite}.whatsapp-float:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(184,255,59,.64);border-radius:999px;opacity:0;animation:instagramRing 2.6s ease-out infinite}.whatsapp-float svg{width:23px;height:23px;fill:currentColor;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.whatsapp-float:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 15px 32px rgba(8,90,43,.42),0 0 26px rgba(184,255,59,.55)}@keyframes whatsappPulse{50%{box-shadow:0 12px 32px rgba(8,90,43,.38),0 0 22px rgba(38,211,102,.55)}}
@media(max-width:560px){.whatsapp-float{right:74px;bottom:16px;padding:12px}.whatsapp-float span{display:none}.whatsapp-float svg{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float:before{animation:none}}

/* Ficha emergente de producto */
.product-image.product-open{width:100%;padding:0;border:0;cursor:pointer;position:relative;overflow:hidden;text-align:inherit}.product-image.product-open span{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:20px;background:rgba(42,9,29,.84);color:#fff;font-size:.75rem;font-weight:700;opacity:0;transform:translateY(8px);transition:.22s}.product-image.product-open:hover span,.product-image.product-open:focus-visible span{opacity:1;transform:none}.product-image.product-open:focus-visible{outline:3px solid var(--neon-lime);outline-offset:-4px}.product-modal{display:none;position:fixed;inset:0;z-index:100;place-items:center;padding:20px}.product-modal.is-open{display:grid}.product-modal-backdrop{position:absolute;inset:0;background:rgba(27,4,17,.78);backdrop-filter:blur(7px);animation:modalFade .22s ease}.product-modal-dialog{position:relative;z-index:1;width:min(940px,100%);max-height:min(760px,calc(100svh - 40px));overflow:auto;display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);background:#fffaf6;border:1px solid rgba(255,212,94,.5);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:modalIn .3s cubic-bezier(.2,.75,.25,1)}.product-modal-image{width:100%;height:100%;min-height:390px;object-fit:contain;background:radial-gradient(circle,#f8e6dd,#4b102b)}.product-modal-content{padding:clamp(26px,5vw,48px);align-self:center}.product-modal-content h2{margin:7px 0 10px;font-size:clamp(2rem,4vw,3rem)}.product-modal-content .price{font-size:1.15rem;margin:0 0 18px}.product-modal-description{color:#62565a}.product-modal-content h3{font:700 1.1rem var(--font-display);color:var(--wine);margin:24px 0 9px}.product-modal-content ul{margin:0 0 27px;padding-left:20px;color:#5f5256}.product-modal-content li{margin:7px 0}.product-modal-close{position:absolute;z-index:2;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(45,10,29,.88);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;transition:.2s}.product-modal-close:hover,.product-modal-close:focus-visible{background:var(--neon-pink);transform:rotate(90deg)}.modal-open{overflow:hidden}@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:700px){.product-modal{padding:12px}.product-modal-dialog{grid-template-columns:1fr;max-height:calc(100svh - 24px)}.product-modal-image{height:min(42svh,360px);min-height:0}.product-modal-content{padding:25px}.product-image.product-open span{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.product-modal-backdrop,.product-modal-dialog{animation:none}}
