/* ===== Florecen las Lunas — estilos compartidos ===== */
/* Marca oficial: luna · flores (loto) · violeta/lila · dorado · navy · poesía/tarot/astrología */
:root{
  --night:#0b0e27;--night-2:#151a40;--night-3:#1f2552;
  --moon:#f4f2ec;--silver:#c6c9ea;--silver-dim:#9094c4;
  --violet:#6b4fd6;--lilac:#b89bff;--lilac-soft:#d9cfff;--blue:#6e8bbf;
  /* acentos (repunteados a la marca: lila/violeta) */
  --celeste:#b89bff;--celeste-soft:#d9cfff;--celeste-deep:#6b4fd6;
  --gold:#e6c98a;--gold-soft:#f2ddb0;
  --bloom:#b89bff;--bloom-soft:#d9cfff;
  --line:rgba(184,155,255,.2);
  --display:'Cinzel',Georgia,serif;
  --serif:'Cormorant Garamond',Georgia,serif;
  --script:'Pinyon Script',cursive;
  --sans:'Manrope',system-ui,sans-serif;
  --flower:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20fill='none'%20stroke='%23b89bff'%20stroke-width='1.1'%3E%3Cellipse%20cx='50'%20cy='26'%20rx='8'%20ry='17'/%3E%3Cellipse%20cx='50'%20cy='74'%20rx='8'%20ry='17'/%3E%3Cellipse%20cx='26'%20cy='50'%20rx='17'%20ry='8'/%3E%3Cellipse%20cx='74'%20cy='50'%20rx='17'%20ry='8'/%3E%3Cellipse%20cx='34'%20cy='34'%20rx='15'%20ry='7.5'%20transform='rotate(45%2034%2034)'/%3E%3Cellipse%20cx='66'%20cy='34'%20rx='15'%20ry='7.5'%20transform='rotate(-45%2066%2034)'/%3E%3Cellipse%20cx='34'%20cy='66'%20rx='15'%20ry='7.5'%20transform='rotate(-45%2034%2066)'/%3E%3Cellipse%20cx='66'%20cy='66'%20rx='15'%20ry='7.5'%20transform='rotate(45%2066%2066)'/%3E%3Ccircle%20cx='50'%20cy='50'%20r='6'%20stroke='%23e6c98a'/%3E%3C/svg%3E");
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--night);color:var(--moon);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--bloom);color:var(--night)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* atmosphere */
.stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.stars canvas{position:absolute;inset:0}
@keyframes tw{0%,100%{opacity:.14;transform:scale(.8)}50%{opacity:.95;transform:scale(1.35)}}
.glow{position:fixed;border-radius:50%;filter:blur(95px);z-index:0;pointer-events:none;opacity:.5}
.glow.a{width:540px;height:540px;background:radial-gradient(circle,#2b4c8a,transparent 70%);top:-170px;right:-130px}
.glow.b{width:480px;height:480px;background:radial-gradient(circle,#6a3a68,transparent 70%);bottom:6%;left:-160px;opacity:.4}
.petals{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.petal{position:absolute;top:-40px;animation:fall linear infinite}
@keyframes fall{0%{transform:translateY(-40px) rotate(0);opacity:0}12%{opacity:.6}90%{opacity:.32}100%{transform:translateY(110vh) rotate(360deg);opacity:0}}

.wrap{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 28px}

/* ===== NAV ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:.4s;padding:20px 0}
nav.scrolled{background:rgba(10,14,43,.95);padding:12px 0;border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(5,6,20,.35)}
.nav-in{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-size:1rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;flex:none}
.brand .moon-ico{width:24px;height:24px;flex:none;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.nav-links{display:flex;gap:30px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;align-items:center;font-family:var(--sans)}
.nav-links a{color:var(--silver);transition:.3s;position:relative;padding:4px 0}
.nav-links a:hover{color:var(--moon)}
.nav-links a.active{color:var(--celeste)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--celeste);transition:.35s}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-wa{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:100px;padding:9px 18px;color:var(--moon);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transition:.3s}
.nav-wa:hover{border-color:#25D366;color:#25D366}
.nav-wa svg{width:15px;height:15px;fill:currentColor}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;z-index:70}
.burger span{width:26px;height:1.5px;background:var(--moon);transition:.3s}
.mobile-menu{position:fixed;inset:0;z-index:55;background:rgba(9,11,34,.985);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;opacity:0;pointer-events:none;transition:.4s}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--serif);font-size:2.2rem;color:var(--silver)}
.mobile-menu a.active{color:var(--celeste)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;border-radius:100px;font-family:var(--sans);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:.35s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:linear-gradient(120deg,var(--lilac),var(--lilac-soft) 60%,var(--gold-soft));background-size:180% 100%;background-position:0 0;color:#1a1040}
.btn-primary:hover{background-position:100% 0}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(184,155,255,.35)}
.btn-ghost{border-color:var(--line);color:var(--moon)}
.btn-ghost:hover{border-color:var(--celeste);color:var(--celeste);transform:translateY(-2px)}
.btn-wa{background:#25D366;color:#062b17}
.btn-wa:hover{background:#3ee27a;transform:translateY(-2px)}
.btn svg{width:17px;height:17px;fill:currentColor}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:140px 0 90px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center 20%;opacity:.32;filter:saturate(.85) brightness(1.05)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,43,.55),rgba(10,14,43,.82) 62%,var(--night)),radial-gradient(circle at 72% 32%,transparent,rgba(10,14,43,.7))}
.hero-in{position:relative;z-index:3;max-width:820px}
.hero .moon-badge{width:92px;height:92px;border-radius:50%;margin-bottom:34px;position:relative;
  background:radial-gradient(circle at 34% 30%,#fdfcf6,#eef3f7 45%,#cdd6e0 72%,#9fb0c8 100%);
  box-shadow:0 0 60px rgba(167,211,242,.4),0 0 110px rgba(230,165,186,.18),inset -14px -10px 30px rgba(20,25,55,.5);
  animation:floaty 9s ease-in-out infinite, glowPulse 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 55px rgba(167,211,242,.3),inset -14px -10px 30px rgba(20,25,55,.5)}50%{box-shadow:0 0 100px rgba(167,211,242,.6),0 0 120px rgba(230,165,186,.25),inset -14px -10px 30px rgba(20,25,55,.5)}}
.eyebrow{font-family:var(--sans);font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;color:var(--celeste);margin-bottom:22px;font-weight:500}
h1{font-family:var(--display);font-weight:500;font-size:clamp(2.8rem,8vw,5.6rem);line-height:1.04;letter-spacing:.02em}
h1 em{font-style:normal;font-weight:400;color:var(--gold-soft)}
.hero-sub{margin-top:26px;font-size:1.22rem;color:var(--silver);max-width:52ch;line-height:1.75}
.hero-sub em{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--celeste-soft)}
.hero-cta{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}
.phases{display:flex;gap:26px;margin-top:58px;flex-wrap:wrap}
.phase{display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--sans);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--silver-dim)}
.ph{width:20px;height:20px;border-radius:50%;border:1px solid var(--silver-dim)}
.ph.new{background:var(--night)}.ph.cres{background:linear-gradient(90deg,var(--night) 55%,var(--moon) 55%)}
.ph.full{background:var(--moon)}.ph.wan{background:linear-gradient(90deg,var(--moon) 45%,var(--night) 45%)}

/* ===== PAGE HEADER (interior) ===== */
.page-head{position:relative;padding:190px 0 66px;text-align:center;overflow:hidden}
.page-head::before{content:'';position:absolute;top:96px;left:50%;transform:translateX(-50%);width:150px;height:150px;background:var(--flower) center/contain no-repeat;opacity:.12;z-index:1;animation:floaty 11s ease-in-out infinite}
.page-head .wrap{position:relative;z-index:2}
.page-head .eyebrow{margin-bottom:16px}
.page-head h1{font-size:clamp(2.8rem,7vw,5rem)}
.page-head p{color:var(--silver);max-width:56ch;margin:22px auto 0;font-size:1.12rem}

/* ===== SECTIONS ===== */
section{padding:98px 0;position:relative}
.kicker{font-family:var(--sans);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:14px}
.kicker::before{content:'';width:34px;height:1px;background:var(--gold)}
.kicker.center{justify-content:center}.kicker.center::before{display:none}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.4vw,4rem);line-height:1.04;letter-spacing:.005em}
h2 em{font-style:italic;font-weight:300;color:var(--bloom-soft)}
.lead{color:var(--silver);font-size:1.14rem;max-width:60ch;margin-top:20px;line-height:1.75}
.center-head{text-align:center}.center-head .lead{margin-left:auto;margin-right:auto}

/* cards / event types */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px}
.card{border:1px solid var(--line);border-radius:14px;padding:40px 36px;background:linear-gradient(180deg,rgba(26,35,88,.35),rgba(10,14,43,.12));position:relative;overflow:hidden}
.card:hover{border-color:rgba(184,155,255,.45)}
.card .ico{font-size:1.9rem;margin-bottom:14px}
.card .moonlabel{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--celeste);margin-bottom:8px}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.85rem;margin-bottom:10px;line-height:1.1}
.card p{color:var(--silver);font-size:1rem}

/* agenda */
.events{margin-top:20px}
.event{display:grid;grid-template-columns:160px 1fr auto;gap:30px;align-items:center;padding:28px 0;border-top:1px solid var(--line);transition:.35s}
.event:last-child{border-bottom:1px solid var(--line)}
.event:hover{background:rgba(167,211,242,.05);transform:translateX(6px)}
.event .when{font-family:var(--serif);color:var(--celeste);font-size:1.4rem;line-height:1.2}
.event .when small{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-dim);margin-top:6px}
.event h4{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin-bottom:4px}
.event p{color:var(--silver-dim);font-size:.94rem;max-width:54ch}
.event .place{font-family:var(--sans);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);white-space:nowrap}

/* about */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:66px;align-items:center}
.portrait{aspect-ratio:3/4;border-radius:12px;position:relative;overflow:hidden;border:1px solid var(--line)}
.portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.6s}
.portrait:hover img{transform:scale(1.04)}
.about-text p{margin-top:20px;color:var(--silver);font-size:1.05rem}
.about-text p:first-of-type{margin-top:0}
.sig,.about-text p.sig{font-family:var(--script);font-size:2.6rem;color:var(--celeste-soft);margin-top:26px;line-height:1}
.mini-verse{margin-top:26px;border-left:2px solid var(--bloom);padding:6px 0 6px 24px;font-family:var(--serif);font-style:italic;font-size:1.55rem;line-height:1.4;color:var(--moon)}

/* verses */
.verses{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px}
.verse{border-left:2px solid var(--bloom);padding:6px 0 6px 24px}
.verse p{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.42;color:var(--moon)}
.verse span{display:block;margin-top:14px;font-family:var(--sans);font-style:normal;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--silver-dim)}

/* gallery */
.grid-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.grid-imgs figure{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--night-2)}
.grid-imgs img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;transition:.6s}
.grid-imgs figure:hover img{transform:scale(1.06)}
.grid-imgs figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 14px;background:linear-gradient(transparent,rgba(10,14,43,.9));font-family:var(--serif);font-style:italic;font-size:1.05rem}

/* quote band */
.band{text-align:center;padding:120px 0;position:relative}
.band::before{content:'';position:absolute;top:44px;left:50%;transform:translateX(-50%);width:70px;height:70px;background:var(--flower) center/contain no-repeat;opacity:.5}
.band p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2rem,4.8vw,3.3rem);line-height:1.36;max-width:20ch;margin:0 auto;color:var(--moon)}
.band .who{margin-top:26px;font-family:var(--sans);font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--celeste)}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:20px;align-items:start}
.contact-item{padding:24px 0;border-top:1px solid var(--line)}
.contact-item .lbl{font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-dim);margin-bottom:6px}
.contact-item a,.contact-item span{font-family:var(--serif);font-size:1.7rem;color:var(--moon);transition:.3s}
.contact-item a:hover{color:var(--celeste)}
.contact-card{border:1px solid var(--line);border-radius:16px;padding:44px 40px;background:linear-gradient(180deg,rgba(26,35,88,.4),transparent);position:relative;overflow:hidden}
.contact-card::after{content:'';position:absolute;right:-30px;bottom:-30px;width:150px;height:150px;background:var(--flower) center/contain no-repeat;opacity:.1}
.contact-card h3{font-family:var(--serif);font-weight:400;font-size:2.2rem;margin-bottom:12px;line-height:1.1}
.contact-card p{color:var(--silver);font-size:1rem;margin-bottom:24px}
.contact-card .btn{width:100%;justify-content:center;margin-bottom:12px}

/* CTA strip */
.cta-strip{text-align:center;border:1px solid var(--line);border-radius:18px;padding:64px 40px;margin-top:80px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(106,58,104,.34),transparent 70%)}
.cta-strip::before,.cta-strip::after{content:'';position:absolute;width:120px;height:120px;background:var(--flower) center/contain no-repeat;opacity:.1}
.cta-strip::before{top:-24px;left:-24px}
.cta-strip::after{bottom:-24px;right:-24px}
.cta-strip h2{margin-bottom:16px}
.cta-strip p{color:var(--silver);max-width:48ch;margin:0 auto 28px;font-size:1.05rem}
.cta-strip .btn{position:relative;z-index:2}

/* ===== FOOTER ===== */
footer{padding:66px 0 46px;border-top:1px solid var(--line);text-align:center;position:relative;z-index:2}
footer .fmoon{font-family:var(--serif);font-size:1.7rem;letter-spacing:.03em}
footer .fnav{display:flex;justify-content:center;gap:24px;margin:22px 0;font-family:var(--sans);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);flex-wrap:wrap}
footer .fnav a:hover{color:var(--celeste)}
footer .fsocials{display:flex;justify-content:center;gap:14px;margin:10px 0 18px}
footer .fsocials a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--silver);transition:.3s}
footer .fsocials a:hover{border-color:var(--celeste);color:var(--celeste);transform:translateY(-3px)}
footer .fsocials a.wa:hover{border-color:#25D366;color:#25D366}
footer .fsocials svg{width:20px;height:20px;fill:currentColor}
footer small{color:var(--silver-dim);font-family:var(--sans);font-size:.74rem;letter-spacing:.03em;display:block;margin-top:6px}

/* floating whatsapp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.4);transition:.3s;animation:waPop .6s .8s both}
.wa-float:hover{transform:scale(1.08) translateY(-2px)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@keyframes waPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}

/* reveal on scroll */
.js .reveal{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.16,.8,.3,1),transform 1s cubic-bezier(.16,.8,.3,1)}
.js .reveal.in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){*{animation:none!important}.js .reveal{opacity:1;transform:none;transition:none}}

/* ===== brand emblem / claim ===== */
.hero-emblem{width:132px;height:auto;margin-bottom:22px;filter:drop-shadow(0 0 32px rgba(184,155,255,.45));animation:floaty 9s ease-in-out infinite}
.hero-brand{font-family:var(--sans);font-size:.82rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:18px;font-weight:500}
.hero-claim{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--lilac-soft);margin-top:18px}
footer .ftagline{font-family:var(--sans);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-top:10px}
footer .fclaim{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--lilac-soft);margin:8px 0 2px}

/* responsive */
@media(max-width:900px){
  .nav-links,.nav-wa{display:none}
  .burger{display:flex}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .cards{grid-template-columns:1fr}
  .verses{grid-template-columns:1fr}
  .grid-imgs{grid-template-columns:1fr 1fr}
  .event{grid-template-columns:1fr;gap:8px}
  .event .place{white-space:normal}
  .event:hover{transform:none}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .grid-imgs{grid-template-columns:1fr}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{justify-content:center}
}

/* ===== 2026-10 · mantenimiento final: 3D, tilt, aviso, agenda editable ===== */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.inline-link{color:var(--gold);border-bottom:1px solid rgba(230,201,138,.35)}
.inline-link:hover{border-color:var(--gold)}
strong{font-weight:600;color:var(--moon)}

/* hero en dos columnas: texto + luna 3D */
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px;align-items:center;width:100%}
.hero-grid .hero-in{max-width:640px}
.moon-stage{position:relative;height:min(78vh,700px);min-height:420px}
.moon-stage .moon-canvas{position:absolute;inset:-6% -10%;width:120%!important;height:112%!important;opacity:0;transition:opacity 1.6s ease}
.moon-stage.moon3d-on .moon-canvas{opacity:1}
.moon-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity 1.2s ease}
.moon-fallback img{width:min(78%,380px);filter:drop-shadow(0 0 50px rgba(184,155,255,.5));animation:floaty 9s ease-in-out infinite}
.moon-fallback::before{content:'';position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(184,155,255,.22),transparent 68%);animation:glowPulse 6s ease-in-out infinite}
.moon-stage.moon3d-on .moon-fallback{opacity:0}
.hero h1{text-shadow:0 0 40px rgba(107,79,214,.25)}

/* tilt 3D con brillo (variables seteadas por main.js) */
.js .card.reveal.in,.js .tilt.reveal.in,.js .contact-card.reveal.in{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px))}
.card:hover{--ty:-6px}
.card.tilting,.tilt.tilting,.contact-card.tilting{transition:transform .14s ease-out,border-color .3s!important}
.card::after,.tilt::after,.contact-card .glare{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(217,207,255,.16),transparent 55%);z-index:3}
.card.tilting::after,.tilt.tilting::after{opacity:1}
.card .ico{display:inline-block;transform:translateZ(30px)}

/* aviso superior editable */
.aviso{position:relative;z-index:70;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 54px 10px 20px;background:linear-gradient(90deg,#3a2690,var(--violet),#3a2690);color:var(--moon);font-size:.86rem;letter-spacing:.02em;text-align:center;line-height:1.4}
a.aviso:hover{filter:brightness(1.1)}
.aviso-star{color:var(--gold)}
.aviso-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--lilac-soft);font-size:1.4rem;line-height:1;cursor:pointer;width:34px;height:34px}
.has-aviso nav:not(.scrolled){top:42px}

/* agenda editable */
.event .place{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
.event-cta{font-size:.72rem;letter-spacing:.16em;color:var(--gold);border:1px solid rgba(230,201,138,.35);border-radius:100px;padding:7px 14px;transition:.3s}
.event-cta:hover{background:var(--gold);color:var(--night)}
.tag-full{font-weight:500;font-size:.68rem;letter-spacing:.16em;color:#ffb3c7;border:1px solid rgba(255,179,199,.35);border-radius:100px;padding:6px 12px}
.event.is-full h4{opacity:.7}
.events-empty{text-align:center;color:var(--silver);font-family:var(--serif);font-style:italic;font-size:1.4rem;padding:30px 0}

/* separador: loto que se dibuja al entrar */
.lotus-div{display:block;width:120px;height:60px;margin:0 auto;opacity:.85}
.lotus-div path{fill:none;stroke:var(--lilac);stroke-width:1.2;stroke-dasharray:260;stroke-dashoffset:260;transition:stroke-dashoffset 2.4s cubic-bezier(.6,.1,.2,1)}
.lotus-div .g{stroke:var(--gold)}
.lotus-div.in path{stroke-dashoffset:0}

/* burger → cruz */
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.burger{background:none;border:0}

@media(max-width:900px){
  .hero{padding:110px 0 70px;min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .moon-stage{order:-1;height:46vh;min-height:300px;max-height:420px;margin:0 -20px -30px}
  .moon-stage .moon-canvas{inset:0;width:100%!important;height:100%!important}
  .event .place{align-items:flex-start;text-align:left}
  .has-aviso nav:not(.scrolled){top:58px}
}
