@font-face{font-family:Syne;src:url("assets/fonts/syne-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("assets/fonts/jetbrains-mono-latin.woff2") format("woff2");font-style:normal;font-weight:100 800;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-garamond-italic-latin.woff2") format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
:root{--black:#090a0b;--panel:#101214;--panel-light:#151719;--white:#f5f1e8;--muted:#aaa9a4;--gold:#d7ac62;--gold-bright:#f5cd82;--line:rgba(231,195,128,.19);--mono:"JetBrains Mono",monospace;--display:Syne,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--black);color:var(--white);font-family:var(--display);-webkit-font-smoothing:antialiased}
/* Syne trae números "antiguos" por defecto ("EDGE33" se veía con el 33 caído).
   El atajo `font:` que usan botones y etiquetas reinicia font-variant-numeric,
   por eso hace falta !important aquí y no basta con heredarlo de body. */
*,*::before,*::after{font-variant-numeric:lining-nums!important}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 47vw 37vw at 90% 16%,rgba(179,102,27,.11),transparent 76%),radial-gradient(ellipse 46vw 36vw at 8% 62%,rgba(138,82,22,.07),transparent 76%),linear-gradient(90deg,transparent 49.94%,rgba(219,180,109,.025) 50%,transparent 50.06%);background-size:auto,auto,140px 140px}
::selection{background:#9b7033;color:#fff}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%}
.shell{width:min(100% - 80px,1240px);margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:12px;z-index:1000;padding:.8rem 1rem;background:var(--gold);color:#111}
.skip-link:focus{left:12px}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(9,10,11,.86);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07);transition:background .3s,border-color .3s}
.site-header.scrolled{background:rgba(9,10,11,.96);border-color:var(--line)}
.header-inner{height:88px;display:flex;align-items:center;gap:3rem}
.brand{display:flex;flex-direction:column;align-items:center;gap:.22rem;flex:none}
.brand img,.brand picture{display:block;width:170px;height:auto}
.brand>span{font:500 .49rem var(--mono);letter-spacing:.2em;color:#bba57c;text-align:center}
.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.8rem);margin-left:auto}
.desktop-nav a,.header-cta{font:600 .72rem var(--display);letter-spacing:.045em;text-transform:uppercase}
.desktop-nav a{color:#c1bfba;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--gold-bright)}
.header-cta{border:1px solid var(--gold);padding:.95rem 1.2rem;white-space:nowrap;transition:background .2s,color .2s}
.header-cta:hover{background:var(--gold);color:#111}
.header-cta span{margin-left:1.2rem;color:var(--gold)}
.header-cta:hover span{color:#111}
.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(233,194,126,.04) 1px,transparent 1px),linear-gradient(rgba(233,194,126,.04) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 20%,black 100%);opacity:.45}
.hero-glow{position:absolute;z-index:-1;right:-10%;top:-20%;width:75vw;height:75vw;max-width:1200px;max-height:1200px;background:radial-gradient(circle,rgba(212,129,38,.27),rgba(124,68,20,.11) 35%,transparent 69%);filter:blur(52px);pointer-events:none;animation:glow-drift 13s ease-in-out infinite alternate}
@keyframes glow-drift{to{transform:translate(-3%,5%) scale(1.08);opacity:.78}}
.hero-grid{min-height:min(680px,calc(100svh - 88px));display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:clamp(1.5rem,4vw,5rem)}
.hero-copy{position:relative;z-index:2;padding:3.2rem 0 2.5rem}
.eyebrow{display:flex;align-items:center;gap:.65rem;margin:0 0 1.6rem;color:var(--gold);font:600 .67rem var(--mono);letter-spacing:.2em;text-transform:uppercase}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 15px var(--gold)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);letter-spacing:-.065em}
h1{font-size:clamp(3rem,4.6vw,5.8rem);font-weight:700;line-height:1.03;margin-bottom:1.5rem;max-width:850px}
h1 em,h2 em{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.09em;font-weight:400;line-height:.9;color:var(--gold-bright);letter-spacing:-.035em}
.hero-lead{max-width:590px;color:#d2cec5;font-size:clamp(.99rem,1.2vw,1.14rem);line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:2rem;margin:1.8rem 0 2.2rem}
.button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:1.8rem;min-height:62px;padding:.48rem .48rem .48rem 1.35rem;border:1px solid rgba(232,188,111,.65);border-radius:2px;font:750 .78rem var(--display);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;transition:transform .22s,border-color .22s,box-shadow .22s}
.button::before{content:"";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,233,184,.35),transparent);pointer-events:none}
.button:hover{transform:translateY(-2px);border-color:#f3ca81}
.button-primary{background:linear-gradient(145deg,#272016,#121415 55%,#231a10);color:#f3e8d2;box-shadow:inset 0 1px rgba(255,228,176,.11),0 12px 30px rgba(0,0,0,.27),0 0 28px rgba(185,119,37,.08)}
.button-primary:hover{box-shadow:inset 0 1px rgba(255,228,176,.18),0 16px 34px rgba(0,0,0,.32),0 0 32px rgba(205,143,58,.22)}
.button-label{display:block;line-height:1.25}
.brand-exponent{position:relative;top:-.18em;margin-left:.06em;color:var(--gold-bright);font-size:.68em;line-height:0;letter-spacing:0;vertical-align:super}
.button-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid rgba(255,231,182,.32);border-radius:1px;background:linear-gradient(140deg,#f5d79c,#d4a35b 58%,#a87537);color:#18130e;font:500 1.2rem var(--display);box-shadow:inset 0 1px rgba(255,248,222,.45),0 4px 15px rgba(0,0,0,.2);transition:background .22s,transform .22s}
.button:hover .button-icon{transform:translate(2px,-2px);background:linear-gradient(140deg,#ffe5ae,#e2b56c 58%,#b8843f)}
.text-link{display:inline-flex;align-items:center;gap:.65rem;padding-bottom:.35rem;border-bottom:1px solid var(--line);color:#e0d8c9;font-size:.8rem;font-weight:700;white-space:nowrap;transition:border-color .2s,color .2s}
.text-link:hover{border-color:var(--gold);color:var(--gold-bright)}
.hero-proof{display:flex;flex-wrap:wrap;gap:1.2rem 2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);color:#d0ac6e;font:500 .61rem var(--mono);letter-spacing:.1em}
.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}
.hero-art-media{position:relative;flex:none;width:min(49vw,620px);aspect-ratio:1;max-width:none;opacity:.96;-webkit-mask-image:radial-gradient(ellipse 68% 66% at center,#000 47%,transparent 100%);mask-image:radial-gradient(ellipse 68% 66% at center,#000 47%,transparent 100%)}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.art-coordinate{position:absolute;right:0;color:#a98755;font:500 .56rem var(--mono);letter-spacing:.16em}
.art-coordinate--top{top:12%}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:0 0 1.8rem;color:#b6a17e;font:500 .59rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.hero-bottom b{margin-left:1.2rem;font-size:1rem}
.section{position:relative;padding:clamp(4rem,6vw,6rem) 0;scroll-margin-top:88px}
.section::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
h2{font-size:clamp(2.7rem,4.3vw,5rem);font-weight:650;line-height:1.08;margin-bottom:1.5rem}
.section-heading{max-width:920px;margin-bottom:3.3rem}
.section-heading>p:last-child{max-width:770px;color:#bbb8af;line-height:1.85;font-size:1rem}
.system{background:radial-gradient(circle at 8% 0,rgba(173,104,29,.11),transparent 32%)}
.system-flow{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:linear-gradient(140deg,rgba(33,26,17,.85),rgba(14,16,17,.92));box-shadow:0 25px 75px rgba(0,0,0,.22)}
.flow-step{min-height:235px;padding:1.8rem 2rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);transition:background .25s}
.flow-step:last-child{border-right:0}
.flow-step:hover{background:rgba(210,145,57,.07)}
.flow-index{display:flex;align-items:center;justify-content:space-between;color:#b68b53;font:600 .75rem var(--mono)}
.flow-index i{display:block;width:26px;height:1px;background:var(--gold)}
.flow-label{color:#a88350;font:500 .6rem var(--mono);letter-spacing:.16em}
.flow-step h3,.program-list h3{font-size:1.32rem;letter-spacing:-.035em;margin:.65rem 0}
.flow-step p,.program-list p{color:#afada6;font-size:.88rem;line-height:1.7;margin-bottom:0}
.program{background:linear-gradient(100deg,rgba(255,255,255,.016),transparent 45%)}
.program-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,9rem)}
.program-intro{position:sticky;top:128px;align-self:start}
.program-intro>p:not(.eyebrow){color:#bcbab2;line-height:1.8;max-width:410px}
.program-intro .text-link{margin-top:1.2rem}
.program-list{border-top:1px solid var(--line)}
.program-list article{display:grid;grid-template-columns:55px 1fr;gap:1.6rem;padding:1.3rem .4rem 1.4rem 0;border-bottom:1px solid var(--line)}
.program-list article>span{padding-top:.3rem;color:#b68b53;font:500 .72rem var(--mono)}
.program-list h3{margin-top:0}
.founder{background:radial-gradient(ellipse at 36% 50%,rgba(188,118,40,.13),transparent 45%),#101112}
.founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(3rem,8vw,9rem)}
.founder-mark{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:275px;padding:1.6rem;border:1px solid rgba(226,181,103,.3);background:radial-gradient(ellipse at 50% 40%,rgba(196,130,49,.17),transparent 66%),linear-gradient(135deg,#191611,#0d0e0f 68%);box-shadow:inset 0 1px rgba(255,226,172,.08),0 24px 60px rgba(0,0,0,.2)}
.founder-mark::before{content:"";position:absolute;inset:11px;border:1px solid rgba(225,181,105,.09);pointer-events:none}
.founder-mark img{display:block;width:min(100%,390px);height:auto;filter:drop-shadow(0 13px 16px rgba(156,89,27,.17))}
.founder-mark small{position:relative;margin-top:.35rem;color:#c5a36e;font:500 .56rem var(--mono);letter-spacing:.18em}
.founder-copy h2{font-size:clamp(2.6rem,4vw,4.6rem)}
.founder-copy>p:not(.eyebrow){max-width:630px;color:#c6c2b9;line-height:1.85}
.founder-note{padding-left:1.2rem;border-left:1px solid var(--gold);font-size:.84rem;color:#a8a59d!important}
.access{background:radial-gradient(circle at 87% 55%,rgba(170,91,25,.12),transparent 40%)}
.access-grid{display:grid;grid-template-columns:1fr .82fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.access-intro>p:not(.eyebrow){max-width:520px;color:#bcbab2;line-height:1.8}
.access-points{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem 1.3rem;margin-top:2rem}
.access-points span{display:flex;align-items:start;gap:.6rem;color:#d1cbc0;font-size:.82rem;line-height:1.5}
.access-points span::before{content:"+";color:var(--gold-bright);font:600 1rem var(--mono)}
.price-card{position:relative;overflow:hidden;padding:clamp(2rem,4vw,3.2rem);border:1px solid rgba(226,180,105,.42);background:linear-gradient(150deg,#211910,#121314 58%);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.price-card::before{content:"";position:absolute;width:350px;height:350px;right:-150px;top:-170px;border-radius:50%;background:rgba(226,163,76,.16);filter:blur(62px)}
.price-tag{position:relative;color:#dbb97e;font:600 .59rem var(--mono);letter-spacing:.14em}
.price{position:relative;display:flex;align-items:baseline;margin:2rem 0 1.4rem;font-size:clamp(5rem,9vw,7.5rem);font-weight:700;letter-spacing:-.1em;line-height:1}
.price>span{align-self:flex-start;margin:.7rem .2rem 0 0;color:var(--gold);font-size:2rem;letter-spacing:0}
.price small{margin-left:.9rem;color:#bfb9ad;font-size:.9rem;font-weight:500;letter-spacing:0}
.price-card>p{position:relative;max-width:400px;color:#bdb8af;font-size:.85rem;line-height:1.75}
.price-card .button{width:100%;margin-top:1.2rem}
.checkout-note{position:relative;display:block;margin:1.25rem auto 0;color:#aaa59b;font:500 .65rem var(--mono);text-align:center}
.faq{padding-top:4rem;padding-bottom:4.5rem}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,7vw,8rem)}
.faq h2{font-size:clamp(2.6rem,3.8vw,4.4rem)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;cursor:pointer;list-style:none;font-size:.94rem;font-weight:600}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--gold);font:400 1.3rem var(--mono)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{max-width:590px;padding:0 1.5rem 1.3rem 0;margin:0;color:#b6b2a9;font-size:.85rem;line-height:1.75}
.footer{background:#08090a;padding:2.7rem 0 1.8rem}
.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.footer-top{padding-bottom:2.4rem}
.footer-top img,.footer-top picture{display:block;width:155px;height:auto}
.footer-top p{margin:0;color:#aaa69e;font-size:.77rem}
.footer-top>a:last-child,.footer-bottom a{color:#c7a471;font:600 .7rem var(--mono);white-space:nowrap}
.footer-bottom{padding-top:1.4rem;border-top:1px solid var(--line);color:#89867f;font:500 .57rem/1.6 var(--mono)}
.footer-bottom p{max-width:560px;margin:0}
@media(max-width:1080px){.desktop-nav{gap:1rem}.header-inner{gap:1.6rem}.hero-grid{grid-template-columns:1fr .8fr}.hero-art-media{width:min(58vw,640px)}.hero-copy h1{font-size:clamp(3rem,5.5vw,5rem)}}
@media(max-width:820px){
  .shell{width:min(100% - 40px,680px)}.header-inner{height:72px}.brand img,.brand picture{width:155px}.brand>span{font-size:.44rem}.desktop-nav,.header-cta{display:none}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:7px;margin-left:auto;border:0;background:none;cursor:pointer}.menu-toggle span{width:100%;height:1px;background:var(--gold-bright);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0;padding:0 20px 18px;background:#0e0f10;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:1rem .25rem;border-bottom:1px solid var(--line);font-size:.9rem}
  .hero-grid{display:flex;flex-direction:column;min-height:0;gap:0}.hero-copy{padding:4.5rem 0 0}.hero-copy h1{font-size:clamp(2.7rem,8.2vw,4.7rem)}.hero-art{width:100%;max-height:560px;min-height:330px;margin:-2rem auto -1rem}.hero-art-media{width:min(100%,610px)}.hero-proof{margin-bottom:.5rem}.art-coordinate{display:none}
  .section{padding:4.5rem 0}.system-flow{grid-template-columns:1fr}.flow-step{min-height:0;gap:2.4rem;padding:1.5rem;border-right:0;border-bottom:1px solid var(--line)}.flow-step:last-child{border-bottom:0}.program-grid,.founder-grid,.access-grid,.faq-grid{grid-template-columns:1fr;gap:2.8rem}.program-intro{position:static}.founder-mark{min-height:250px}.faq{padding:4.5rem 0}.footer-top,.footer-bottom{flex-wrap:wrap}.footer-top p{width:100%;order:3}
}
@media(max-width:520px){
  .shell{width:calc(100% - 36px)}.hero-copy{padding-top:3.5rem}.hero-copy h1{font-size:clamp(2.55rem,11vw,3.6rem);margin-bottom:1.3rem}.hero-lead{font-size:.94rem}.hero-actions{align-items:stretch;flex-direction:column;gap:1.3rem;margin:2rem 0 2.7rem}.button{justify-content:space-between;width:100%}.hero-proof{gap:.7rem 1.15rem;font-size:.5rem}.hero-art{min-height:280px;max-height:400px;margin:-1rem auto}.hero-bottom{font-size:.48rem;padding-bottom:1.2rem}.hero-bottom span:last-child{display:none}
  h2{font-size:clamp(2.4rem,9vw,3.35rem)}.section-heading{margin-bottom:2rem}.section-heading>p:last-child{font-size:.91rem}.flow-step{padding:1.3rem}.program-list article{grid-template-columns:36px 1fr;gap:.7rem}.founder-mark{min-height:220px}.access-points{grid-template-columns:1fr}.price-card{padding:1.6rem}.price-card .button{white-space:normal}.faq-list summary{font-size:.84rem}.footer-top,.footer-bottom{display:block}.footer-top p{margin:1rem 0}.footer-bottom p{margin:.8rem 0}
}
/* ── Neón en las velas del hero ──
   Las capas usan como máscara un mapa de solo las velas (sin manos ni texto).
   Dentro de cada capa, un haz de luz se desplaza en la dirección de la
   tendencia (abajo-izq. → arriba-der.): solo se anima transform, así corre
   en el compositor. .candle-neon--halo usa la máscara difuminada = resplandor. */
.candle-glow,
.candle-neon {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
  -webkit-mask: url("assets/images/edge33-candles-mask.webp") center / 100% 100% no-repeat;
  mask: url("assets/images/edge33-candles-mask.webp") center / 100% 100% no-repeat;
}

.candle-neon--halo {
  -webkit-mask-image: url("assets/images/edge33-candles-halo.webp");
  mask-image: url("assets/images/edge33-candles-halo.webp");
  opacity: .55;
}

/* Las capas (y sus máscaras) se activan después de cargar la página:
   así no compiten con la imagen principal por el ancho de banda. */
.hero-art-media:not(.is-lit) .candle-glow,
.hero-art-media:not(.is-lit) .candle-neon { display: none; }

/* Respiración muy leve de todas las velas entre pulso y pulso */
.candle-glow {
  background: #ffcc73;
  opacity: 0;
  animation: candle-breathe 6.5s ease-in-out infinite alternate;
}

/* El haz: una banda perpendicular a la tendencia (64°) que la recorre */
.candle-neon::before {
  content: "";
  position: absolute;
  inset: -60%;
  background: linear-gradient(64deg,
    transparent 41%,
    rgba(255,170,60,.0) 43%,
    rgba(255,176,72,.55) 47%,
    rgba(255,240,200,.95) 50%,
    rgba(255,176,72,.55) 53%,
    rgba(255,170,60,0) 57%,
    transparent 59%);
  transform: translate(-34%, 17%);
  animation: candle-flow 7s cubic-bezier(.45,.05,.35,1) 1.2s infinite;
  will-change: transform, opacity;
}

/* Segundo haz más tenue y desfasado: el flujo se siente continuo, no un flash */
.candle-neon--halo::before {
  animation-delay: 1.35s;
}

@keyframes candle-flow {
  0%        { transform: translate(-34%, 17%); opacity: 0; }
  8%        { opacity: 1; }
  52%       { opacity: 1; }
  60%, 100% { transform: translate(34%, -17%); opacity: 0; }
}

@keyframes candle-breathe {
  from { opacity: 0; }
  to   { opacity: .16; }
}

/* Fuera de pantalla (app.js) o con "reducir movimiento": quieto */
.hero-art-media.is-paused .candle-glow,
.hero-art-media.is-paused .candle-neon::before { animation-play-state: paused; }

/* ── Botones de inscripción: la misma veta de neón que recorre las velas ──
   Banda oro/blanco a 64° (la inclinación de la tendencia) que cruza el botón
   y un glow que respira con ella. En el hero arranca justo cuando el haz
   termina de subir por las velas: la energía "llega" al botón. */
.button-primary {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  animation: btn-glow 7s ease-in-out 5s infinite;
}

.button-primary::after {
  content: "";
  position: absolute;
  inset: -50% -40%;
  z-index: -1;
  background: linear-gradient(64deg,
    transparent 40%,
    rgba(255,236,190,0) 43%,
    rgba(255,240,205,.55) 47.5%,
    rgba(255,255,255,.95) 50%,
    rgba(255,240,205,.55) 52.5%,
    rgba(255,236,190,0) 57%,
    transparent 60%);
  transform: translateX(-62%);
  animation: btn-flow 7s cubic-bezier(.45,.05,.35,1) 5s infinite;
  pointer-events: none;
}

.price-card .button-primary,
.price-card .button-primary::after { animation-delay: 2.2s; }

/* El botón del header (contorno) recibe solo un destello tenue */
.header-cta { position: relative; overflow: hidden; isolation: isolate; }
.header-cta::after {
  content: "";
  position: absolute;
  inset: -60% -50%;
  z-index: -1;
  background: linear-gradient(64deg, transparent 44%, rgba(245,205,130,.28) 50%, transparent 56%);
  transform: translateX(-62%);
  animation: btn-flow 7s cubic-bezier(.45,.05,.35,1) 5.4s infinite;
  pointer-events: none;
}

@keyframes btn-flow {
  0%        { transform: translateX(-62%); opacity: 0; }
  4%        { opacity: 1; }
  30%       { opacity: 1; }
  34%, 100% { transform: translateX(62%); opacity: 0; }
}

@keyframes btn-glow {
  0%, 100% { box-shadow: inset 0 1px rgba(255,228,176,.11),0 12px 30px rgba(0,0,0,.27),0 0 28px rgba(185,119,37,.08); }
  16%      { box-shadow: inset 0 1px rgba(255,228,176,.18),0 12px 36px rgba(0,0,0,.3),0 0 32px rgba(245,190,95,.3); }
  40%      { box-shadow: inset 0 1px rgba(255,228,176,.11),0 12px 30px rgba(0,0,0,.27),0 0 28px rgba(185,119,37,.08); }
}

/* Al pasar el mouse: brillo sostenido, sin esperar el ciclo */
.button-primary:hover { animation:none;box-shadow:inset 0 1px rgba(255,228,176,.18),0 16px 34px rgba(0,0,0,.32),0 0 32px rgba(205,143,58,.22); }

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-glow{animation:none}.button,.button-icon{transition:none}.candle-glow,.candle-neon{display:none}.button-primary,.button-primary::after,.header-cta::after{animation:none}.button-primary::after,.header-cta::after{opacity:0}}
