:root{
  --pink:#A0C079; --pink-2:#C2D29C; --pink-soft:#E1ECCD; --pink-bg:#F2F7E8;
  --sage:#6B8268; --sage-dark:#4E614E; --gold:#E7B24C;
  --ink:#2E2521; --muted:#9A8A80; --cream:#FFFBF8; --white:#fff;
  --shadow:0 24px 60px -24px rgba(90,60,45,.5);
  --r:26px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--pink);color:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.serif{font-family:'Fraunces',Georgia,serif}

/* reveal */
[data-rv]{opacity:0;transform:translateY(38px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
[data-rv].in{opacity:1;transform:none}
[data-rv="r"]{transform:translateX(-44px)}
[data-rv="l"]{transform:translateX(44px)}
[data-rv="s"]{transform:scale(.92)}
[data-rv].in{transform:none}
[data-delay="1"]{transition-delay:.08s}[data-delay="2"]{transition-delay:.16s}
[data-delay="3"]{transition-delay:.24s}[data-delay="4"]{transition-delay:.32s}[data-delay="5"]{transition-delay:.4s}

/* shared */
.eyebrow{font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--pink);display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:'';width:30px;height:2px;background:linear-gradient(90deg,var(--pink),var(--pink-2));border-radius:2px}
.eyebrow.c{justify-content:center}.eyebrow.c::after{content:'';width:30px;height:2px;background:linear-gradient(90deg,var(--pink-2),var(--pink));border-radius:2px}
h2.title{font-family:'Fraunces',serif;font-size:clamp(30px,4.6vw,52px);font-weight:500;letter-spacing:-1.4px;line-height:1.04;margin:18px 0 14px}
h2.title em{font-style:italic;color:var(--pink)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.lead{color:var(--muted);max-width:640px;font-size:17px}
.center .lead{margin:0 auto}
section{padding:clamp(64px,9vw,116px) 0;position:relative}

.btn{position:relative;display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:15px 30px;border-radius:50px;border:none;cursor:pointer;overflow:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;isolation:isolate}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.25);transform:translateX(-120%) skewX(-20deg);transition:transform .6s;z-index:-1}
.btn:hover::after{transform:translateX(120%) skewX(-20deg)}
.btn:hover{transform:translateY(-3px)}
.btn-pink{background:linear-gradient(135deg,var(--pink),#84A557);color:#fff;box-shadow:0 14px 30px -8px rgba(105,142,68,.6)}
.btn-sage{background:linear-gradient(135deg,var(--sage),var(--sage-dark));color:#fff;box-shadow:0 14px 30px -8px rgba(78,97,78,.5)}
.btn-ghost{background:rgba(255,255,255,.7);color:var(--ink);border:1.5px solid var(--pink-soft);backdrop-filter:blur(6px)}

/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .4s ease}
nav{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:14px auto;padding:10px 22px;background:rgba(255,251,248,.72);backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(194,210,156,.4);border-radius:50px;box-shadow:0 10px 34px -16px rgba(90,60,45,.3);transition:all .4s ease}
header.scrolled nav{margin-top:8px;box-shadow:0 16px 40px -14px rgba(90,60,45,.42);background:rgba(255,251,248,.92)}
.brand{display:flex;align-items:center;gap:11px}
.brand img{height:42px;width:auto;transition:transform .4s}
.brand:hover img{transform:rotate(-6deg) scale(1.06)}
.brand b{font-family:'Fraunces',serif;font-size:20px;font-weight:600;letter-spacing:-.5px}
.navlinks{display:flex;gap:6px;align-items:center}
.navlinks a:not(.nav-cta){font-size:14px;font-weight:600;color:var(--ink);opacity:.8;padding:8px 14px;border-radius:30px;transition:all .2s}
.navlinks a:not(.nav-cta):hover{opacity:1;background:var(--pink-soft);color:var(--ink)}
.navlinks a.active{opacity:1;background:var(--pink-soft);color:var(--ink)}
.nav-cta{margin-left:8px;background:linear-gradient(135deg,var(--pink),#84A557);color:#fff;padding:11px 22px;border-radius:30px;font-size:14px;font-weight:700;box-shadow:0 8px 20px -6px rgba(105,142,68,.6);transition:transform .2s}
.nav-cta:hover{transform:translateY(-2px)}
.burger{display:none;font-size:24px;background:none;border:none;cursor:pointer;color:var(--ink)}

/* PAGE HERO (inner pages) */
.phero{padding:160px 0 70px;text-align:center;position:relative;overflow:hidden;background:radial-gradient(900px 460px at 80% -20%,var(--pink-soft),transparent 60%),radial-gradient(700px 400px at 0% 120%,#E7EFD5,transparent 60%),var(--cream)}
.phero .blob{position:absolute;border-radius:50%;filter:blur(46px);z-index:0;animation:float 14s ease-in-out infinite}
.phero h1{font-family:'Fraunces',serif;font-size:clamp(36px,5.5vw,62px);font-weight:600;letter-spacing:-2px;line-height:1.02;position:relative;z-index:2;margin:16px 0 14px}
.phero h1 em{font-style:italic;color:var(--pink)}
.phero p{position:relative;z-index:2;color:var(--muted);max-width:600px;margin:0 auto;font-size:17px}
.crumb{position:relative;z-index:2;font-size:13px;color:var(--muted);margin-top:22px}
.crumb a{color:var(--pink);font-weight:700}

/* HERO (home) */
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 70px;position:relative;background:radial-gradient(1200px 600px at 80% -10%,var(--pink-soft),transparent 60%),radial-gradient(900px 500px at -10% 110%,#E7EFD5,transparent 60%),var(--cream);overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(46px);z-index:0;animation:float 14s ease-in-out infinite}
.blob.b1{width:340px;height:340px;background:rgba(160,192,121,.42);top:-60px;right:8%}
.blob.b2{width:280px;height:280px;background:rgba(107,130,104,.3);bottom:4%;left:2%;animation-delay:-5s}
.blob.b3{width:200px;height:200px;background:rgba(231,178,76,.3);top:40%;left:42%;animation-delay:-9s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(26px,-30px) scale(1.08)}66%{transform:translate(-20px,22px) scale(.95)}}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;position:relative;z-index:2;width:100%}
.hero-txt .tag{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--sage);font-weight:700;font-size:13px;padding:8px 18px;border-radius:30px;margin-bottom:22px;box-shadow:0 6px 18px -6px rgba(90,60,45,.25)}
.hero-txt .tag .dot{width:8px;height:8px;border-radius:50%;background:#84AC52;box-shadow:0 0 0 4px rgba(132,172,82,.18);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(132,172,82,.18)}50%{box-shadow:0 0 0 8px rgba(132,172,82,0)}}
.hero-txt h1{font-family:'Fraunces',serif;font-size:clamp(40px,6vw,72px);font-weight:600;line-height:.98;letter-spacing:-2.6px}
.hero-txt h1 em{font-style:italic;color:var(--pink)}
.hero-txt p{font-size:18px;color:var(--ink);opacity:.74;margin:24px 0 32px;max-width:480px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-stats{display:flex;gap:30px;margin-top:42px;flex-wrap:wrap}
.hs b{font-family:'Fraunces',serif;font-size:30px;font-weight:600;color:var(--ink);display:block;line-height:1}
.hs span{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.3px}
.hero-visual{position:relative}
.hero-visual .main{border-radius:34px;box-shadow:var(--shadow);object-fit:cover;width:100%;height:540px}
.hero-visual .ring{position:absolute;inset:-14px;border:2px dashed var(--pink-2);border-radius:42px;z-index:-1;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.float-card{position:absolute;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-radius:18px;padding:13px 17px;box-shadow:0 16px 36px -14px rgba(90,60,45,.4);display:flex;align-items:center;gap:11px;animation:bobble 5s ease-in-out infinite}
.float-card .e{font-size:26px}
.float-card b{font-family:'Fraunces',serif;font-size:15px;display:block;line-height:1.1}
.float-card span{font-size:11.5px;color:var(--muted)}
.fc1{top:30px;left:-26px;animation-delay:-1s}
.fc2{bottom:34px;right:-22px;animation-delay:-3s}
@keyframes bobble{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* MARQUEE */
.marquee{background:linear-gradient(135deg,var(--pink),#84A557);padding:18px 0;overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;gap:50px;animation:scrollx 26s linear infinite;will-change:transform}
.marquee span{font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:#fff;display:inline-flex;align-items:center;gap:50px}
.marquee span::after{content:'✶';font-size:16px;opacity:.7}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ZONAS */
.zonas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}
.zona{position:relative;background:#fff;border-radius:24px;padding:30px 24px;text-align:center;box-shadow:0 14px 34px -18px rgba(90,60,45,.28);border:1px solid rgba(220,242,230,.7);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;overflow:hidden}
.zona::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--pink),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.zona:hover{transform:translateY(-10px);box-shadow:0 30px 50px -22px rgba(160,192,121,.5)}
.zona:hover::before{transform:scaleX(1)}
.zona .ic{font-size:46px;margin-bottom:14px;display:inline-block;transition:transform .4s}
.zona:hover .ic{transform:scale(1.18) rotate(-6deg)}
.zona h3{font-family:'Fraunces',serif;font-size:20px;font-weight:600;margin-bottom:7px}
.zona p{font-size:13.5px;color:var(--muted)}
.zona .more{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--pink)}

/* FEATURE rows */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.feature+.feature{margin-top:90px}
.feature.rev .feat-img{order:2}
.feat-img{position:relative}
.feat-img img{border-radius:28px;box-shadow:var(--shadow);width:100%;height:430px;object-fit:cover}
.feat-img .badge{position:absolute;bottom:-18px;right:24px;background:#fff;border-radius:16px;padding:12px 18px;box-shadow:0 16px 34px -14px rgba(90,60,45,.4);font-family:'Fraunces',serif;font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}
.feat-txt h3{font-family:'Fraunces',serif;font-size:clamp(26px,3.4vw,38px);font-weight:600;letter-spacing:-1px;margin:14px 0 16px;line-height:1.06}
.feat-txt p{color:var(--muted);margin-bottom:18px}
.feat-txt ul{list-style:none;margin:8px 0 26px}
.feat-txt li{padding:9px 0 9px 34px;position:relative;color:var(--ink);opacity:.86;font-weight:500}
.feat-txt li::before{content:'';position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;background:var(--pink-soft);box-shadow:inset 0 0 0 2px var(--pink)}
.feat-txt li::after{content:'✓';position:absolute;left:4px;top:8px;color:var(--pink);font-size:11px;font-weight:900}

/* PARTY */
.party-sec{background:linear-gradient(180deg,var(--pink-bg),#fff)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px;margin-top:18px}
.pcard{position:relative;background:#fff;border-radius:24px;padding:32px 28px;box-shadow:0 16px 38px -20px rgba(90,60,45,.3);border:1px solid rgba(220,242,230,.7);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.pcard:hover{transform:translateY(-8px);box-shadow:0 32px 54px -24px rgba(160,192,121,.5)}
.pcard.feat{border:2px solid var(--pink);transform:scale(1.03)}
.pcard.feat:hover{transform:scale(1.03) translateY(-8px)}
.pcard .ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--pink),#84A557);color:#fff;font-size:11px;font-weight:800;letter-spacing:.6px;padding:6px 16px;border-radius:20px;text-transform:uppercase;box-shadow:0 8px 18px -6px rgba(105,142,68,.6)}
.pcard h4{font-family:'Fraunces',serif;font-size:23px;font-weight:600}
.pcard .price{font-family:'Fraunces',serif;font-size:42px;font-weight:600;color:var(--pink);margin:10px 0 16px;letter-spacing:-1px}
.pcard .price span{font-size:15px;color:var(--muted)}
.pcard ul{list-style:none;flex:1}
.pcard li{padding:8px 0 8px 26px;position:relative;font-size:14px;color:var(--ink);opacity:.85}
.pcard li::before{content:'•';position:absolute;left:6px;color:var(--sage);font-weight:900;font-size:16px}
.note{background:#fff;border-left:4px solid var(--pink);border-radius:14px;padding:18px 22px;margin-top:28px;font-size:14px;color:var(--muted);box-shadow:0 10px 26px -16px rgba(90,60,45,.3)}
.note b{color:var(--ink)}
.catering{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.cbox{background:#fff;border-radius:20px;padding:26px;box-shadow:0 12px 30px -18px rgba(90,60,45,.3);transition:transform .3s}
.cbox:hover{transform:translateY(-5px)}
.cbox h5{font-family:'Fraunces',serif;font-size:19px;margin-bottom:6px}
.cbox .pp{color:var(--pink);font-weight:800;font-size:16px;margin-bottom:12px}
.cbox p{font-size:13.5px;color:var(--muted)}

/* APP CTA */
.appcta{position:relative;background:linear-gradient(150deg,var(--sage),var(--sage-dark));color:#fff;border-radius:36px;padding:clamp(44px,6vw,72px) 40px;text-align:center;overflow:hidden;box-shadow:0 36px 70px -30px rgba(78,97,78,.7)}
.appcta::before{content:'';position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.06);top:-120px;right:-80px}
.appcta::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(231,178,76,.12);bottom:-120px;left:-60px}
.appcta .eyebrow{color:#fff}.appcta .eyebrow::before,.appcta .eyebrow::after{background:rgba(255,255,255,.6)}
.appcta h2{font-family:'Fraunces',serif;font-size:clamp(28px,4vw,44px);font-weight:600;letter-spacing:-1.2px;margin:14px 0 14px;position:relative}
.appcta p{opacity:.92;max-width:580px;margin:0 auto 30px;position:relative}
.store{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}
.store a{display:inline-flex;align-items:center;gap:11px;background:#fff;color:var(--ink);padding:14px 24px;border-radius:16px;font-weight:700;font-size:15px;box-shadow:0 14px 30px -10px rgba(0,0,0,.3);transition:transform .25s}
.store a:hover{transform:translateY(-4px) scale(1.03)}
.store .ico{font-size:26px}
.store small{display:block;font-size:10.5px;font-weight:600;opacity:.6;letter-spacing:.3px}
.store b{font-size:15px}

/* GALLERY */
.gal{columns:4;column-gap:16px}
.gal img{width:100%;border-radius:18px;margin-bottom:16px;cursor:pointer;transition:transform .4s,filter .4s;filter:saturate(1.02)}
.gal img:hover{transform:scale(1.02);filter:saturate(1.15) brightness(1.04)}
#lightbox{position:fixed;inset:0;background:rgba(30,20,16,.92);backdrop-filter:blur(8px);z-index:200;display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}
#lightbox.on{display:flex}
#lightbox img{max-width:92%;max-height:90vh;border-radius:18px;box-shadow:0 40px 80px -20px rgba(0,0,0,.6)}

/* CTA strip */
.ctastrip{background:linear-gradient(135deg,var(--pink-bg),#fff);border-radius:30px;padding:48px 40px;text-align:center;border:1px solid var(--pink-soft)}
.ctastrip h3{font-family:'Fraunces',serif;font-size:clamp(24px,3.4vw,36px);font-weight:600;letter-spacing:-1px;margin-bottom:10px}
.ctastrip p{color:var(--muted);max-width:520px;margin:0 auto 24px}

/* FAQ */
.faq{max-width:760px;margin:30px auto 0}
.faq details{background:#fff;border-radius:16px;padding:4px 22px;margin-bottom:14px;box-shadow:0 10px 26px -18px rgba(90,60,45,.3);border:1px solid rgba(220,242,230,.7)}
.faq summary{font-family:'Fraunces',serif;font-size:17px;font-weight:600;padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:24px;color:var(--pink);font-weight:400}
.faq details[open] summary::after{content:'−'}
.faq p{color:var(--muted);padding:0 0 18px;font-size:14.5px}

/* FOOTER */
footer{background:var(--ink);color:#fff;padding:72px 0 32px;position:relative}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:46px;margin-bottom:46px}
.foot-grid h4{font-family:'Fraunces',serif;font-size:21px;margin-bottom:16px;font-weight:600}
.foot-grid p,.foot-grid a{color:rgba(255,255,255,.72);font-size:14.5px;display:block;margin-bottom:9px;transition:color .2s}
.foot-grid a:hover{color:var(--pink-2)}
.foot-brand img{height:56px;margin-bottom:16px;filter:brightness(0) invert(1)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;text-align:center;font-size:13px;color:rgba(255,255,255,.5)}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 12px 30px -8px rgba(37,211,102,.7);transition:transform .25s}
.wa-float:hover{transform:scale(1.1) rotate(8deg)}
#prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--pink),var(--gold));z-index:200;width:0}

/* ── BOLETÍN / TABLÓN de la semana en el hero (editable cada semana) ── */
.hero-board{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:560px;max-width:100%;margin:16px 0 28px;padding:32px 36px 30px;border-radius:42px;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#FBFEFC 0%,#F2F7E8 60%,#ECF3DA 100%);box-shadow:0 34px 66px -32px rgba(94,130,64,.5),0 0 0 1px rgba(255,255,255,.6) inset;animation:hoPop .6s cubic-bezier(.34,1.56,.64,1) both}
/* borde con degradado suave */
.hero-board::before{content:'';position:absolute;inset:0;border-radius:42px;padding:2px;background:linear-gradient(135deg,#80A055,#BFD299,#A2C27C);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;z-index:-1}
.hero-shine{position:absolute;top:0;left:-60%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:hoShine 5s ease-in-out infinite;pointer-events:none;z-index:2}
.hero-board .hb-pin{position:absolute;top:14px;right:20px;font-size:26px;transform:rotate(12deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.18));animation:hoBadge 3s ease-in-out infinite}
.hero-board .hb-kicker{position:relative;z-index:3;display:inline-flex;align-items:center;background:linear-gradient(135deg,#80A055,#A2C27C);color:#fff;font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;padding:7px 16px;border-radius:30px;box-shadow:0 10px 22px -8px rgba(94,130,64,.7);transform-origin:left center;animation:hoCall 4.5s ease-in-out infinite}
.hero-board .hb-title{position:relative;z-index:3;font-family:'Fraunces',serif;font-size:clamp(26px,3.4vw,36px);font-weight:600;line-height:1.1;color:var(--ink,#3a2a26);letter-spacing:-.6px}
.hero-board .hb-title em{background:linear-gradient(100deg,var(--pink,#A0C079),var(--gold,#E7B24C));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:normal;font-weight:700}
/* escenario de altura fija: SOLO un texto a la vez (un único item que cambia) */
.hero-board .hb-stage{position:relative;z-index:3;width:100%;height:96px;display:flex;align-items:center}
.hero-board .hb-item{display:flex;align-items:center;gap:18px;width:100%;will-change:transform,opacity;transition:opacity .35s ease,transform .35s ease}
/* emoji dentro de burbuja curva */
.hero-board .hb-emo{position:relative;flex:0 0 auto;width:74px;height:74px;display:flex;align-items:center;justify-content:center;font-size:42px;line-height:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFFFFF,#E8F0D4 70%,#DCEAC8);box-shadow:0 12px 24px -10px rgba(94,130,64,.55),inset 0 2px 4px rgba(255,255,255,.8);animation:hoBob 3s ease-in-out infinite}
.hero-board .hb-emo::after{content:'';position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(255,179,107,.5),transparent 70%);z-index:-1;animation:hoGlow 2.8s ease-in-out infinite}
.hero-board .hb-txt{font-size:17px;line-height:1.35;color:var(--muted,#8a7a72);font-weight:600}
.hero-board .hb-txt b{display:block;font-family:'Fraunces',serif;font-size:25px;font-weight:600;color:var(--ink,#3a2a26);margin-bottom:3px;letter-spacing:-.3px}
.hero-board .hb-dots{position:relative;z-index:3;display:flex;gap:8px;margin:-2px 0 2px}
.hero-board .hb-dots span{width:9px;height:9px;border-radius:50%;background:rgba(94,130,64,.28);transition:background .3s,transform .3s,width .3s}
.hero-board .hb-dots span.on{background:linear-gradient(135deg,#80A055,#A2C27C);width:24px;border-radius:8px}
.hero-board .hb-gancho{position:relative;z-index:3;margin:0;font-size:14.5px;font-weight:700;line-height:1.4;color:var(--pink,#6E9148)}
.hero-board .hb-go{position:relative;z-index:3;align-self:stretch;text-align:center;margin-top:4px;background:linear-gradient(135deg,#A0C079,#80A055);background-size:200% 100%;color:#fff;font-weight:800;font-size:19px;padding:17px 26px;border-radius:40px;text-decoration:none;white-space:nowrap;box-shadow:0 18px 36px -10px rgba(94,130,64,.8),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .25s ease,background-position .5s ease,box-shadow .25s ease;animation:hoGrad 5s ease infinite,hoBeat 2.6s ease-in-out infinite}
.hero-board .hb-go:hover{transform:scale(1.04);background-position:100% 0;box-shadow:0 24px 46px -10px rgba(94,130,64,.9)}
@keyframes hoShine{0%,55%{left:-60%}85%,100%{left:140%}}
@keyframes hoPop{0%{opacity:0;transform:scale(.94) translateY(16px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes hoBadge{0%,100%{transform:rotate(12deg) scale(1)}50%{transform:rotate(12deg) scale(1.12)}}
@keyframes hoGrad{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes hoBeat{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes hoGlow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes hoBob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(4deg)}}
/* la etiqueta se asoma despacio hacia fuera (izquierda) y vuelve, llamando la atención */
@keyframes hoCall{
  0%,100%{transform:translateX(0) scale(1)}
  50%{transform:translateX(-14px) scale(1.06)}
}
@media(max-width:560px){
  .hero-board{padding:24px 22px;border-radius:34px}
  .hero-board::before{border-radius:34px}
  .hero-board .hb-title{font-size:24px}
  .hero-board .hb-emo{font-size:23px}
  .hero-board .hb-txt{font-size:15px}
  .hero-board .hb-go{font-size:16px;padding:14px 22px}
}
@media(prefers-reduced-motion:reduce){
  .hero-board,.hero-board::before,.hero-board .hb-pin,.hero-board .hb-go,.hero-board .hb-kicker,.hero-board .hb-emo,.hero-board .hb-emo::after,.hero-shine{animation:none}
}

@media(max-width:900px){
  .navlinks{position:fixed;top:0;right:-100%;height:100vh;width:78%;max-width:330px;background:var(--cream);flex-direction:column;padding:90px 28px;gap:6px;box-shadow:-14px 0 50px rgba(0,0,0,.16);transition:right .35s ease;align-items:stretch}
  .navlinks.open{right:0}
  .navlinks a:not(.nav-cta){padding:14px 16px;font-size:16px;border-radius:14px}
  .nav-cta{margin:10px 0 0;text-align:center}
  .burger{display:block;z-index:110}
  .hero-grid,.feature,.foot-grid,.catering{grid-template-columns:1fr}
  .feature.rev .feat-img{order:0}
  .hero-visual{margin-top:20px}
  .hero-visual .main{height:380px}
  .gal{columns:2}
  .float-card{display:none}
}
@media(max-width:560px){.gal{columns:1}.hero-stats{gap:20px}}

/* ░░ VIDEO ░░ */
.videowrap{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;cursor:pointer;background:#000}
.videowrap img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .4s,transform .6s}
.videowrap:hover img{opacity:.62;transform:scale(1.04)}
.videowrap .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.videowrap .play span{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--pink);box-shadow:0 14px 34px -8px rgba(0,0,0,.4);transition:transform .3s;padding-left:6px}
.videowrap:hover .play span{transform:scale(1.12)}
.videowrap .play::before{content:'';position:absolute;width:84px;height:84px;border-radius:50%;border:2px solid rgba(255,255,255,.6);animation:ripple 2.2s ease-out infinite}
@keyframes ripple{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.videowrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vlabel{position:absolute;left:20px;bottom:18px;z-index:3;color:#fff;font-family:'Fraunces',serif;font-size:20px;font-weight:600;text-shadow:0 2px 14px rgba(0,0,0,.5)}

/* ░░ AGENDA (schedule) ░░ */
.sched{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:18px}
.scard{background:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 14px 34px -20px rgba(90,60,45,.3);border:1px solid rgba(220,242,230,.7);border-top:4px solid var(--pink);transition:transform .3s,box-shadow .3s}
.scard:hover{transform:translateY(-6px);box-shadow:0 26px 46px -24px rgba(160,192,121,.5)}
.scard .day{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--sage);background:#E7EFD5;padding:5px 12px;border-radius:20px;margin-bottom:12px}
.scard h4{font-family:'Fraunces',serif;font-size:20px;font-weight:600;margin-bottom:4px}
.scard .time{font-weight:700;color:var(--pink);font-size:14px;margin-bottom:8px}
.scard p{font-size:13.5px;color:var(--muted)}
.scard.season{border-top-color:var(--gold)}
.scard.season .day{color:#B5862B;background:#FBF1DC}

/* ░░ NEWSLETTER ░░ */
.news{background:linear-gradient(150deg,var(--pink),#84A557);border-radius:32px;padding:clamp(40px,5vw,64px) 40px;text-align:center;color:#fff;position:relative;overflow:hidden}
.news::before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.1);top:-120px;left:-80px}
.news::after{content:'✶';position:absolute;font-size:120px;opacity:.12;right:30px;bottom:-10px}
.news h2{font-family:'Fraunces',serif;font-size:clamp(26px,3.6vw,40px);font-weight:600;letter-spacing:-1px;margin-bottom:10px;position:relative}
.news p{opacity:.95;max-width:520px;margin:0 auto 26px;position:relative}
.news form{display:flex;gap:12px;max-width:480px;margin:0 auto;position:relative;flex-wrap:wrap;justify-content:center}
.news input{flex:1;min-width:220px;border:none;border-radius:40px;padding:15px 22px;font-size:15px;font-family:inherit;outline:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.3)}
.news button{background:var(--ink);color:#fff;border:none;border-radius:40px;padding:15px 30px;font-weight:700;font-size:15px;cursor:pointer;transition:transform .2s}
.news button:hover{transform:translateY(-2px)}

/* ═══════════════════ PASE DE LUJO ═══════════════════ */
/* Textura cálida muy sutil en todo el fondo */
body{background-color:var(--cream);background-image:radial-gradient(circle at 15% 0%,rgba(220,242,230,.18),transparent 38%),radial-gradient(circle at 85% 5%,rgba(231,178,76,.07),transparent 40%)}

/* Títulos editoriales con acento dorado→rosa en el "em" */
h2.title em,.phero h1 em,.hero-txt h1 em{background:linear-gradient(100deg,var(--pink),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:italic}
.center h2.title::after{content:'';display:block;width:54px;height:3px;margin:18px auto 0;border-radius:3px;background:linear-gradient(90deg,var(--pink),var(--gold));opacity:.9}

/* Eyebrow con punto dorado */
.eyebrow::before{background:linear-gradient(90deg,var(--gold),var(--pink))}
.eyebrow{color:#C77E5A}

/* Botones más finos y premium */
.btn{letter-spacing:.3px;font-weight:700;padding:16px 32px}
.btn-pink{background:linear-gradient(135deg,#A8C685,#84A557);box-shadow:0 16px 34px -10px rgba(105,142,68,.55),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-sage{box-shadow:0 16px 34px -10px rgba(78,97,78,.5),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-ghost{box-shadow:0 8px 22px -12px rgba(90,60,45,.4)}

/* Tarjetas: borde hairline + sombra en capas + brillo superior */
.zona,.pcard,.scard,.cbox{border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 18px 40px -24px rgba(90,60,45,.4),0 4px 12px -8px rgba(90,60,45,.18);background:linear-gradient(180deg,#fff,#FBFEFC)}
.zona{border-radius:22px}
.zona h3,.pcard h4,.scard h4,.cbox h5{letter-spacing:-.3px}

/* Imágenes feature: marco doble y esquina dorada */
.feat-img::after{content:'';position:absolute;inset:10px;border:1px solid rgba(255,255,255,.45);border-radius:20px;pointer-events:none}
.feat-img img{filter:saturate(1.04) contrast(1.02)}
.feat-img .badge{border:1px solid rgba(231,178,76,.35)}

/* Hero: nombre con más caché + halo */
.hero-txt h1,.phero h1{text-shadow:0 1px 0 rgba(255,255,255,.5)}
.hero-visual .main{border:6px solid #fff}

/* Eyebrow line en feature (no centrado) hereda dorado */
.feat-txt .eyebrow::before{background:linear-gradient(90deg,var(--gold),var(--pink))}

/* Divider dorado decorativo entre secciones grandes */
.marquee{background:linear-gradient(135deg,#A0C079,#84A557);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(0,0,0,.04)}
.marquee span{letter-spacing:.5px}

/* Footer un punto más cálido y con hairline dorado arriba */
footer{background:linear-gradient(180deg,#352A25,#2E2521)}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--pink),transparent);opacity:.6}

/* Scrollbar fina premium */
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--pink-bg)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--pink),var(--gold));border-radius:10px;border:3px solid var(--pink-bg)}

/* ░░ NOVEDADES (tablón de actividades nuevas) ░░ */
.feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:18px}
.post{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(90,60,45,.4);border:1px solid rgba(255,255,255,.7);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.post:hover{transform:translateY(-8px);box-shadow:0 30px 54px -26px rgba(160,192,121,.5)}
.post .pimg{position:relative;height:180px;overflow:hidden}
.post .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post:hover .pimg img{transform:scale(1.06)}
.post .pdate{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);border-radius:12px;padding:6px 12px;text-align:center;box-shadow:0 8px 18px -8px rgba(0,0,0,.3);line-height:1}
.post .pdate b{display:block;font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--pink)}
.post .pdate span{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.post .pbody{padding:22px;display:flex;flex-direction:column;flex:1}
.post .ptag{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--sage);background:#E7EFD5;padding:5px 12px;border-radius:20px;margin-bottom:10px}
.post .ptag.new{color:#fff;background:linear-gradient(135deg,var(--pink),#84A557)}
.post h4{font-family:'Fraunces',serif;font-size:21px;font-weight:600;margin-bottom:8px;letter-spacing:-.3px}
.post p{font-size:14px;color:var(--muted);flex:1}
.post .plink{margin-top:14px;font-weight:700;font-size:13.5px;color:var(--pink)}

/* ░░ CTA RESERVA grande y llamativo ░░ */
.news.big{padding:clamp(46px,6vw,76px) 36px;background:linear-gradient(135deg,#A0C079 0%,#84A557 55%,#E7843C 130%);box-shadow:0 30px 70px -26px rgba(132,165,87,.7)}
.news.big::after{content:'🎈';font-size:140px;opacity:.14;right:36px;bottom:-18px}
.news-badge{display:inline-block;background:rgba(255,255,255,.92);color:#E0533A;font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:8px 18px;border-radius:30px;margin-bottom:18px;position:relative;box-shadow:0 8px 20px -8px rgba(0,0,0,.3);animation:bobble 4s ease-in-out infinite}
.news.big h2{font-size:clamp(30px,5vw,52px);letter-spacing:-1.6px;margin-bottom:10px}
.news.big p{font-size:18px;opacity:.96}
.news-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;margin-bottom:22px}
.btn.lg{font-size:17px;padding:18px 36px;border-radius:50px}
.btn-pink.lg{background:#fff;color:#E0533A;box-shadow:0 16px 36px -10px rgba(0,0,0,.35)}
.btn-wa{background:linear-gradient(135deg,#2BD46B,#1FA952);color:#fff;box-shadow:0 16px 36px -10px rgba(31,169,82,.6)}
.news-mini{position:relative;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);max-width:520px;margin:0 auto}
.news-mini>span{display:block;font-size:13.5px;opacity:.92;margin-bottom:12px;font-weight:600}
.news-mini form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.news-mini input{flex:1;min-width:200px;border:none;border-radius:40px;padding:13px 20px;font-size:14.5px;font-family:inherit;outline:none}
.news-mini button{background:var(--ink);color:#fff;border:none;border-radius:40px;padding:13px 24px;font-weight:700;font-size:14.5px;cursor:pointer;transition:transform .2s}
.news-mini button:hover{transform:translateY(-2px)}

/* ═══ FIX CONTRASTE: textos rosa pequeños ilegibles sobre fondo claro ═══ */
:root{--rose-text:#5E8240} /* rosa oscuro legible para texto pequeño */
.eyebrow{color:var(--rose-text)}
.zona .more,.post .plink,.crumb a,.cbox .pp,.scard .time{color:var(--rose-text)}
.note{border-left-color:var(--rose-text)}
/* el degradado del "em" en títulos sigue, pero arranca en un rosa más vivo y legible */
h2.title em,.phero h1 em,.hero-txt h1 em{background-image:linear-gradient(100deg,#5E8240,#B5641F);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ═══════════ HEADER PREMIUM ═══════════ */
header{padding-top:6px}
nav{padding:11px 14px 11px 24px;border-radius:54px;border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(180deg,rgba(255,252,250,.82),rgba(255,248,245,.72));
  backdrop-filter:blur(20px) saturate(1.5);
  box-shadow:0 10px 34px -16px rgba(90,60,45,.32),inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(197,58,94,.06)}
header.scrolled nav{margin-top:6px;background:linear-gradient(180deg,rgba(255,252,250,.96),rgba(255,248,245,.92));
  box-shadow:0 16px 42px -16px rgba(90,60,45,.42),inset 0 1px 0 rgba(255,255,255,.9)}

/* marca */
.brand img{height:48px}
.brand b{font-weight:700;letter-spacing:-.6px;font-size:21px;background:linear-gradient(120deg,var(--ink),#5A463C);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* enlaces: subrayado dorado→rosa animado (sin recuadro) */
.navlinks{gap:2px}
.navlinks a:not(.nav-cta){position:relative;background:none!important;opacity:.92;color:var(--ink);font-weight:600;padding:10px 16px}
.navlinks a:not(.nav-cta)::after{content:'';position:absolute;left:16px;right:16px;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--rose-text),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.16,1,.3,1)}
.navlinks a:not(.nav-cta):hover{color:var(--rose-text)}
.navlinks a:not(.nav-cta):hover::after,.navlinks a.active::after{transform:scaleX(1)}
.navlinks a.active{color:var(--rose-text);font-weight:700}

/* CTA reservar más elegante */
.nav-cta{margin-left:12px;padding:12px 24px;border-radius:40px;letter-spacing:.2px;
  background:linear-gradient(135deg,#A3C27E,#84A557 60%,#F2864A);
  box-shadow:0 12px 26px -10px rgba(105,142,68,.65),inset 0 1px 0 rgba(255,255,255,.45);
  position:relative;overflow:hidden}
.nav-cta::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.3);transform:translateX(-130%) skewX(-20deg);transition:transform .6s}
.nav-cta:hover::after{transform:translateX(130%) skewX(-20deg)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(105,142,68,.75)}

/* en móvil: el subrayado molesta → volver a estilo limpio */
@media(max-width:900px){
  .navlinks a:not(.nav-cta){padding:14px 16px}
  .navlinks a:not(.nav-cta)::after{display:none}
  .navlinks a:not(.nav-cta):hover,.navlinks a.active{background:var(--pink-soft)!important;border-radius:14px}
}

/* ═══ FIX FINAL: frases en cursiva SÓLIDAS y legibles (sin degradado ni sombra hueca) ═══ */
.hero-txt h1,.phero h1,h2.title{text-shadow:none}
h2.title em,.phero h1 em,.hero-txt h1 em{
  background:none!important;background-image:none!important;
  -webkit-text-fill-color:#5E8240!important;color:#5E8240!important;
  text-shadow:none!important;font-style:normal;font-weight:700}

/* ═══ PROGRAMA más llamativo ═══ */
#programa{background:linear-gradient(180deg,#fff, #FFF4EF)}
#programa .post{border:1.5px solid rgba(162,194,124,.25)}
#programa .post .pimg{height:200px}
#programa .post .pimg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(46,37,33,.35));pointer-events:none}
#programa .post .pbody{background:linear-gradient(180deg,#fff,#FFFAF7)}
#programa .post .ptag.new{animation:bobble 4s ease-in-out infinite}
#programa .post h4{font-size:22px}
#programa .post .pdate b{font-size:22px}
/* cinta de esquina "¡Plaza!" */
#programa .post .pimg .pdate{background:linear-gradient(135deg,#A0C079,#84A557);box-shadow:0 8px 18px -6px rgba(105,142,68,.6)}
#programa .post .pdate b,#programa .post .pdate span{color:#fff}

/* ═══ PROGRAMA: banda destacada (contraste fuerte con el resto) ═══ */
#programa{background:radial-gradient(900px 400px at 15% 0%,rgba(231,178,76,.22),transparent 55%),linear-gradient(160deg,#6E8669,#46583F);position:relative;overflow:hidden}
#programa::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.05);top:-160px;right:-90px}
#programa .eyebrow{color:#FFD79A}
#programa .eyebrow::before,#programa .eyebrow.c::after{background:linear-gradient(90deg,#FFD79A,#fff)}
#programa h2.title{color:#fff}
#programa h2.title em{-webkit-text-fill-color:#FFD08A!important;color:#FFD08A!important}
#programa h2.title::after{background:linear-gradient(90deg,#FFD79A,#fff);opacity:.85}
#programa .lead{color:rgba(255,255,255,.9)}
#programa .post{box-shadow:0 26px 50px -22px rgba(0,0,0,.5)}

/* ═══ HERO foto: efecto más limpio y premium ═══ */
.hero-visual .ring{display:none}
.hero-visual .main{border:8px solid #fff;border-radius:30px;
  box-shadow:0 40px 80px -30px rgba(90,60,45,.6),0 0 0 1px rgba(160,192,121,.18);
  height:520px}
.hero-visual::before{content:'';position:absolute;inset:-18px -18px 26px 26px;border-radius:38px;
  background:linear-gradient(135deg,rgba(160,192,121,.35),rgba(231,178,76,.25));z-index:-1;filter:blur(6px)}

/* ═══ Tarjetas de ZONA con foto real ═══ */
.zgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:46px}
.zcard{display:block;background:#fff;border-radius:22px;overflow:hidden;text-align:left;
  box-shadow:0 18px 40px -24px rgba(90,60,45,.4);border:1px solid rgba(220,242,230,.7);
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.zcard:hover{transform:translateY(-8px);box-shadow:0 30px 54px -26px rgba(160,192,121,.5)}
.zcard .zimg{position:relative;height:160px;overflow:hidden}
.zcard .zimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.zcard:hover .zimg img{transform:scale(1.07)}
.zcard .zimg .zem{position:absolute;left:12px;bottom:-16px;width:46px;height:46px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 10px 22px -8px rgba(0,0,0,.3)}
.zcard .zb{padding:24px 20px 20px}
.zcard h3{font-family:'Fraunces',serif;font-size:20px;font-weight:600;margin-bottom:6px}
.zcard p{font-size:13.5px;color:var(--muted);margin-bottom:10px}
.zcard .more{font-size:12.5px;font-weight:800;color:var(--rose-text)}

/* ═══ Mini-zonas (las zonas dentro de la Play Zone) ═══ */
.minizonas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px}
.mz{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border-radius:18px;padding:22px 14px;text-align:center;box-shadow:0 12px 28px -20px rgba(90,60,45,.4);border:1px solid rgba(220,242,230,.7);transition:transform .3s,box-shadow .3s}
.mz:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 22px 40px -22px rgba(160,192,121,.5)}
.mz .mzi{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:27px;background:linear-gradient(145deg,var(--pink-soft),#F2F7E8)}
.mz b{font-family:'Fraunces',serif;font-size:14.5px;font-weight:600;color:var(--ink)}

/* ═══ Botón flotante Reservar ═══ */
.reserve-float{position:fixed;right:22px;bottom:94px;z-index:90;background:linear-gradient(135deg,#A3C27E,#84A557);color:#fff;padding:13px 20px;border-radius:40px;font-weight:800;font-size:14px;box-shadow:0 14px 30px -8px rgba(105,142,68,.7);display:inline-flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s}
.reserve-float:hover{transform:translateY(-3px);box-shadow:0 18px 34px -8px rgba(105,142,68,.85)}

/* ═══ Footer más rico ═══ */
.foot-contact-extra{margin-top:6px}

/* ═══ MÓVIL: repaso fino ═══ */
@media(max-width:640px){
  section{padding:52px 0}
  .hero{min-height:auto;padding:120px 0 50px}
  .hero-txt h1{font-size:clamp(34px,9vw,46px);letter-spacing:-1.6px}
  .hero-visual .main{height:300px}
  .phero{padding:130px 0 50px}
  .phero h1{font-size:clamp(30px,8vw,40px)}
  h2.title{font-size:clamp(26px,7vw,34px)}
  .news.big{padding:38px 22px;border-radius:24px}
  .news.big h2{font-size:clamp(26px,8vw,34px)}
  .btn.lg{font-size:15px;padding:15px 26px;width:100%;justify-content:center}
  .news-cta{flex-direction:column}
  .reserve-float{right:14px;bottom:84px;padding:11px 16px;font-size:13px}
  .wa-float{right:16px;bottom:16px;width:54px;height:54px;font-size:26px}
  .appcta{padding:40px 22px;border-radius:24px}
  .store a{width:100%;justify-content:center}
}

/* ═══ CREATIVIDAD: agenda y boletín con más vida ═══ */
/* Días de la semana en colores distintos (rotando) */
.scard{border-top:none;position:relative;overflow:hidden}
.scard::before{content:'';position:absolute;top:0;left:0;width:100%;height:6px}
.scard:nth-child(4n+1)::before{background:#A0C079}
.scard:nth-child(4n+2)::before{background:#6B8268}
.scard:nth-child(4n+3)::before{background:#E7B24C}
.scard:nth-child(4n+4)::before{background:#7C9FD0}
.scard .day{background:linear-gradient(135deg,#E7EFD2,#D9E7C2);color:#5E8240}
.scard:nth-child(4n+2) .day{background:#E9F1D6;color:#52663F}
.scard:nth-child(4n+3) .day{background:#FBF1DC;color:#9A6B12}
.scard:nth-child(4n+4) .day{background:#E5EEF8;color:#3B6098}
.scard h4{font-size:21px}

/* Sticker "¡NUEVO!" rotado en las novedades */
.post{position:relative}
.post .ptag.new{position:relative}
.feed .post:first-child::after{content:'¡NUEVO!';position:absolute;top:12px;right:-6px;background:#FFD23F;color:#5A3A00;font-family:'Fraunces',serif;font-weight:700;font-size:12px;padding:6px 14px;border-radius:6px;transform:rotate(7deg);box-shadow:0 6px 14px -4px rgba(0,0,0,.3);z-index:3}

/* Patrón de puntos suave en secciones de agenda */
.sched{position:relative}

/* Boletín / news: confeti + más alegre */
.news::after{content:'🎈';font-size:130px}
.news h2{letter-spacing:-1.2px}

/* ═══ HERO: logo sobre globo 3D flotante ═══ */
.balloon-stage{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}
.balloon{position:relative;animation:balloonFloat 6s ease-in-out infinite;transform-origin:center bottom}
@keyframes balloonFloat{0%,100%{transform:translateY(0) rotate(-2.2deg)}50%{transform:translateY(-26px) rotate(2.2deg)}}
/* ☁️ nube mullida y realista (varias bolas blancas que se funden) */
.balloon-body{position:relative;width:500px;height:320px;display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 44px 42px rgba(95,120,150,.34)) drop-shadow(0 14px 16px rgba(95,120,150,.18))}
.balloon-body::before,.balloon-body::after{content:none}
.cloud-puff{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 40% 28%,#FFFFFF 0%,#FDFEFF 50%,#EEF3FA 82%,#E4EBF5 100%)}
.cp-base{left:30px;right:30px;bottom:22px;height:150px;border-radius:90px}
.cp1{width:262px;height:262px;left:119px;bottom:46px}
.cp2{width:190px;height:190px;left:26px;bottom:28px}
.cp3{width:190px;height:190px;right:26px;bottom:28px}
.cp4{width:142px;height:142px;left:112px;bottom:142px}
.cp5{width:122px;height:122px;left:280px;bottom:150px}
.balloon-logo{width:236px;height:auto;position:relative;z-index:3;margin-bottom:54px;filter:drop-shadow(0 10px 14px rgba(95,120,150,.42))}
/* cuerda */
.balloon-string{position:absolute;left:50%;top:calc(100% + 6px);width:2px;height:120px;
  background:linear-gradient(180deg,rgba(64,92,44,.5),transparent);transform:translateX(-50%);
  border-radius:2px}
.balloon-string::after{content:'';position:absolute;top:0;left:-7px;width:16px;height:120px;
  border-left:2px dashed rgba(76,108,52,.35);border-radius:50%;transform:rotate(8deg)}
/* mini globos decorativos */
/* mini nubes decorativas */
.mini-balloon{position:absolute;background:#fff;border-radius:30px;opacity:.95;
  filter:drop-shadow(0 10px 12px rgba(95,120,150,.28));animation:balloonFloat 7s ease-in-out infinite}
.mini-balloon::after{content:'';position:absolute;right:12%;bottom:44%;width:44%;height:100%;background:#fff;border-radius:50%}
.mb1{width:64px;height:24px;top:8%;right:6%;animation-delay:-1s}
.mb2{width:50px;height:20px;bottom:14%;left:2%;animation-delay:-3s}
.mb3{width:44px;height:18px;bottom:4%;right:16%;animation-delay:-5s}
@media(max-width:640px){.balloon-stage{min-height:380px}.balloon-body{width:320px;height:205px}.cp1{width:168px;height:168px;left:76px;bottom:29px}.cp2{width:122px;height:122px;left:17px;bottom:18px}.cp3{width:122px;height:122px;right:17px;bottom:18px}.cp4{width:91px;height:91px;left:72px;bottom:91px}.cp5{width:78px;height:78px;left:179px;bottom:96px}.cp-base{left:19px;right:19px;bottom:14px;height:96px}.balloon-logo{width:151px;margin-bottom:35px}}

/* ═══ MÁS CREATIVIDAD: confeti, destellos y sombra viva ═══ */
/* sombra que "respira" bajo el globo */
.balloon-stage::after{content:'';position:absolute;bottom:38px;left:50%;transform:translateX(-50%);
  width:180px;height:26px;border-radius:50%;background:radial-gradient(ellipse,rgba(95,120,150,.18),transparent 70%);
  filter:blur(4px);animation:shadowPulse 6s ease-in-out infinite;z-index:0}
@keyframes shadowPulse{0%,100%{width:180px;opacity:.5}50%{width:130px;opacity:.28}}

/* destellos que parpadean */
.spark{position:absolute;font-size:22px;z-index:3;animation:twinkle 2.6s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(15deg)}}
.sp1{top:10%;left:14%;animation-delay:0s;font-size:26px}
.sp2{top:22%;right:10%;animation-delay:.6s}
.sp3{bottom:30%;left:8%;animation-delay:1.2s}
.sp4{bottom:20%;right:14%;animation-delay:1.8s;font-size:20px}

/* etiqueta de la oferta de la semana, escrita sobre el globo (se mueve con él) */
.balloon-tag{position:absolute;z-index:6;left:50%;bottom:4%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  background:linear-gradient(135deg,#FFFFFF 0%,#F2F7E8 100%);color:var(--ink,#3a2a26);font-weight:800;font-size:16px;line-height:1;white-space:nowrap;
  padding:12px 20px;border-radius:34px;border:1.5px solid rgba(94,130,64,.22);
  box-shadow:0 18px 34px -12px rgba(85,120,58,.55),inset 0 1px 0 rgba(255,255,255,.8);
  animation:tagPop .6s cubic-bezier(.34,1.56,.64,1) both,tagSwing 4.2s ease-in-out infinite;transition:transform .25s ease,box-shadow .25s ease}
.balloon-tag .balloon-tag-emo{font-size:21px}
.balloon-tag .balloon-tag-txt{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-.2px}
.balloon-tag:hover{box-shadow:0 24px 42px -12px rgba(85,120,58,.7);transform:translateX(-50%) scale(1.05)}
.balloon-tag::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:2px;height:18px;background:linear-gradient(180deg,rgba(85,120,58,.55),transparent);border-radius:2px}
@keyframes tagPop{0%{opacity:0;transform:translateX(-50%) scale(.8)}100%{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes tagSwing{0%,100%{transform:translateX(-50%) rotate(-2.5deg)}50%{transform:translateX(-50%) rotate(2.5deg)}}
@media(max-width:640px){.balloon-tag{font-size:13.5px;padding:9px 15px}.balloon-tag .balloon-tag-emo{font-size:17px}}
@media(prefers-reduced-motion:reduce){.balloon-tag{animation:none}}

/* confeti cayendo en el hero */
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.confetti i{position:absolute;top:-20px;width:11px;height:14px;border-radius:2px;opacity:.85;animation:confettiFall linear infinite}
@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:.9}100%{transform:translateY(108vh) rotate(640deg);opacity:.9}}
.confetti i:nth-child(1){left:6%;background:#A0C079;animation-duration:9s;animation-delay:0s}
.confetti i:nth-child(2){left:15%;background:#E7B24C;animation-duration:11s;animation-delay:1.5s}
.confetti i:nth-child(3){left:24%;background:#6B8268;animation-duration:8s;animation-delay:.8s}
.confetti i:nth-child(4){left:33%;background:#7C9FD0;animation-duration:12s;animation-delay:2.4s}
.confetti i:nth-child(5){left:44%;background:#84A557;animation-duration:10s;animation-delay:.4s}
.confetti i:nth-child(6){left:54%;background:#FFD23F;animation-duration:9.5s;animation-delay:3s}
.confetti i:nth-child(7){left:63%;background:#A882D2;animation-duration:11.5s;animation-delay:1.1s}
.confetti i:nth-child(8){left:72%;background:#A0C079;animation-duration:8.5s;animation-delay:2s}
.confetti i:nth-child(9){left:81%;background:#6B8268;animation-duration:10.5s;animation-delay:.2s}
.confetti i:nth-child(10){left:88%;background:#E7B24C;animation-duration:9s;animation-delay:3.4s}
.confetti i:nth-child(11){left:38%;background:#7C9FD0;animation-duration:12.5s;animation-delay:4s}
.confetti i:nth-child(12){left:68%;background:#84A557;animation-duration:10s;animation-delay:5s}
@media(max-width:640px){.confetti i{width:8px;height:10px}}

/* ═══ Ondas curvas entre secciones ═══ */
#programa{padding-top:90px;padding-bottom:90px}
.wave{position:absolute;left:0;width:100%;height:80px;z-index:1;display:block}
.wave-top{top:-1px}
.wave-bottom{bottom:-1px}
#programa .wrap{position:relative;z-index:2}
@media(max-width:640px){.wave{height:48px}#programa{padding-top:64px;padding-bottom:64px}}


/* ═══ Arco de globos arcoíris (posiciones fijas) ═══ */
.balloon-arch{position:absolute;top:-6px;left:0;width:100%;height:140px;z-index:5;
  animation:archSway 8s ease-in-out infinite;transform-origin:center top}
@keyframes archSway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
.balloon-arch i{position:absolute;width:30px;height:37px;margin-left:-15px;border-radius:50% 50% 49% 49%;
  box-shadow:inset -5px -7px 12px rgba(0,0,0,.12),inset 4px 5px 9px rgba(255,255,255,.5)}
.balloon-arch i::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid rgba(0,0,0,.1)}
@media(max-width:640px){.balloon-arch i{width:22px;height:27px;margin-left:-11px}.balloon-arch{height:110px}}

/* ═══ Más globos de colores flotando (con cuerda) ═══ */
.mini-balloon::before{content:'';position:absolute;left:14%;bottom:42%;width:54%;height:122%;background:#fff;border-radius:50%}
.mb4{width:56px;height:22px;top:18%;left:8%;animation-duration:8s;animation-delay:-2s}
.mb5{width:46px;height:18px;top:40%;right:2%;animation-duration:9s;animation-delay:-4s}
.mb6{width:52px;height:20px;bottom:28%;left:14%;animation-duration:7.5s;animation-delay:-6s}

/* ═══ Franja de reseñas / confianza ═══ */
.trust{background:linear-gradient(135deg,#FFF7F0,#F2F7E8);border:1px solid var(--pink-soft);border-radius:26px;padding:40px 32px;text-align:center;box-shadow:0 18px 44px -28px rgba(90,60,45,.4)}
.trust .stars{font-size:30px;letter-spacing:3px;margin-bottom:10px}
.trust h3{font-family:'Fraunces',serif;font-size:clamp(22px,3vw,30px);font-weight:600;letter-spacing:-.6px;margin-bottom:8px}
.trust p{color:var(--muted);max-width:560px;margin:0 auto 22px}
.trust .tlogos{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;align-items:center;color:var(--ink);font-weight:700;font-size:14px;opacity:.75}
.trust .tlogos span{display:inline-flex;align-items:center;gap:7px}

/* ═══ Programa: tarjetas con foto a pantalla + texto encima ═══ */
.progwrap{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-top:22px}
.smallcol{display:grid;grid-template-rows:1fr 1fr;gap:22px}
.bigcard,.smallcard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;border-radius:24px;overflow:hidden;box-shadow:0 28px 54px -26px rgba(0,0,0,.55);text-decoration:none}
.bigcard{min-height:460px}.smallcard{min-height:219px}
.bigcard>img,.smallcard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .6s}
.bigcard:hover>img,.smallcard:hover>img{transform:scale(1.07)}
.bigcard .ov,.smallcard .ov{position:relative;z-index:2;padding:26px;color:#fff;background:linear-gradient(transparent,rgba(28,18,14,.55) 45%,rgba(28,18,14,.86))}
.bigcard h4{font-family:'Fraunces',serif;font-size:27px;font-weight:600;letter-spacing:-.5px;margin:8px 0 4px}
.smallcard h4{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin:8px 0 4px}
.bigcard .ov p{font-size:14.5px;opacity:.92;margin-bottom:8px}
.ov .ptag{background:rgba(255,255,255,.92);color:#5E8240}
.ov .ptag.new{background:linear-gradient(135deg,#A0C079,#84A557);color:#fff}
.plink2{font-weight:800;font-size:13.5px;color:#FFD79A;display:inline-block}
@media(max-width:760px){.progwrap{grid-template-columns:1fr}.bigcard{min-height:320px}.smallcard{min-height:200px}}

/* ═══ Programa v2: destacado horizontal (distinto a Zonas) ═══ */
.prog-feat{margin-top:24px;display:grid;gap:18px}
.pf-big{display:grid;grid-template-columns:360px 1fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 26px 54px -26px rgba(0,0,0,.5);text-decoration:none}
.pf-big .pf-img{position:relative;overflow:hidden;min-height:260px}
.pf-big .pf-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pf-big:hover .pf-img img{transform:scale(1.06)}
.pf-big .b{padding:36px 38px;display:flex;flex-direction:column;justify-content:center}
.pf-tag{align-self:flex-start;background:linear-gradient(135deg,#A0C079,#84A557);color:#fff;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:7px 15px;border-radius:20px;margin-bottom:14px;box-shadow:0 8px 18px -6px rgba(105,142,68,.6)}
.pf-big h3{font-family:'Fraunces',serif;font-size:31px;font-weight:600;letter-spacing:-.8px;margin-bottom:10px;color:var(--ink)}
.pf-big p{color:var(--muted);margin-bottom:22px;font-size:15px}
.pf-row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pf-mini{display:grid;grid-template-columns:130px 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 20px 44px -28px rgba(0,0,0,.5);align-items:stretch;text-decoration:none}
.pf-mini .pf-img{overflow:hidden}
.pf-mini .pf-img img{width:130px;height:100%;min-height:128px;object-fit:cover;transition:transform .6s}
.pf-mini:hover .pf-img img{transform:scale(1.07)}
.pf-mini .b{padding:18px 20px;display:flex;flex-direction:column;justify-content:center}
.pf-mini h4{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin-bottom:4px;color:var(--ink)}
.pf-mini p{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.pf-mini .more,.pf-big .more{color:var(--rose-text);font-weight:800;font-size:13px}
@media(max-width:760px){.pf-big{grid-template-columns:1fr}.pf-row2{grid-template-columns:1fr}.pf-big .pf-img{min-height:200px}.pf-mini .pf-img img{min-height:110px}}

/* ═══ Ilustraciones animadas (en vez de fotos) ═══ */
.illus{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.illus-art{background:radial-gradient(circle at 30% 25%,#FFE6A3,#FF9F5A 90%)}
.illus-sun{background:linear-gradient(165deg,#A9DEFF,#5FB6F0)}
.illus-music{background:linear-gradient(165deg,#D7C2F2,#A882D2)}
.illus .big-emoji{font-size:84px;z-index:2;animation:emojiBounce 3.2s ease-in-out infinite;filter:drop-shadow(0 10px 16px rgba(0,0,0,.2))}
.pf-mini .big-emoji{font-size:50px}
@keyframes emojiBounce{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-15px) rotate(5deg)}}
.illus .fl{position:absolute;font-size:26px;opacity:.9;animation:flFloat 5s ease-in-out infinite;filter:drop-shadow(0 3px 5px rgba(0,0,0,.12))}
.pf-mini .illus .fl{font-size:20px}
@keyframes flFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(12deg)}}
.illus .f1{top:16%;left:14%;animation-delay:0s}
.illus .f2{top:20%;right:16%;animation-delay:.7s}
.illus .f3{bottom:18%;left:18%;animation-delay:1.4s}
.illus .f4{bottom:22%;right:14%;animation-delay:2s}
/* nubes/sol giro suave */
.illus-sun .big-emoji{animation:sunSpin 9s linear infinite}
@keyframes sunSpin{to{transform:rotate(360deg)}}
.illus-sun .f1{font-size:30px;animation:cloudDrift 7s ease-in-out infinite}
@keyframes cloudDrift{0%,100%{transform:translateX(-10px)}50%{transform:translateX(14px)}}

/* ═══ Escena campamento (casal) ═══ */
.illus-camp{position:relative;overflow:hidden;display:block}
.illus-camp svg{width:100%;height:100%;display:block}
.camp-rays{animation:sunSpin 14s linear infinite}
.camp-cloud{animation:cloudDrift 8s ease-in-out infinite}
.camp-tent{transform-origin:210px 250px;animation:tentPop 4s ease-in-out infinite}
@keyframes tentPop{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* ilustración dibujada (fondo claro, dibujo completo visible) */
.illus-draw{background:#FCF8EC;display:flex;align-items:center;justify-content:center;overflow:hidden}
.illus-draw img{width:100%;height:100%;object-fit:cover}

/* casal: ilustración a juego con las demás */
.illus-camp3{background:linear-gradient(165deg,#BFE8FF,#D6E5B6)}

/* badge sobre foto del producto destacado */
.pf-img{position:relative}
.pf-badge{position:absolute;top:14px;left:14px;z-index:2;background:rgba(255,255,255,.95);color:#5E8240;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:7px 14px;border-radius:20px;box-shadow:0 8px 18px -6px rgba(0,0,0,.3)}
