/* Gold CTA buttons: metallic gold base, orbiting border light, breathing halo.
   cta-gold-beam.js adds .gold-beam to every call-to-action whose fill is gold or brown, staggers each
   button's cycle (--beam-delay) and pauses buttons that are off screen.
   Speed: --beam-cycle is one halo pulse; the halo runs from 16.67% to 100% of it (2.5s of a 3s cycle,
   after a 0.5s pause). --beam-orbit is one border lap, --beam-drift one colour drift. */
@property --beam-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
:root{--beam-cycle:3s;--beam-orbit:2.5s;--beam-drift:6s}
.gold-beam{
  --beam-delay:0s;
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,#f6dc8c 0%,#e2b54a 32%,#c8902c 64%,#e9c25e 100%)!important;
  background-size:200% 200%!important;
  color:#000!important;
  border:1px solid rgba(255,228,150,.9)!important;
  font-weight:700;
  text-shadow:0 1px 0 rgba(255,240,200,.45);
  box-shadow:0 0 0 0 rgba(232,186,80,0),0 6px 18px rgba(150,98,20,.28),inset 0 1px 0 rgba(255,250,225,.7),inset 0 -2px 6px rgba(120,70,10,.25);
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,filter .35s;
}
/* the orbiting border light (replaces any old hover overlay) */
.gold-beam::after{
  content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1.5px;opacity:1!important;
  background:conic-gradient(from var(--beam-angle),rgba(255,255,255,0) 0deg,rgba(255,255,255,0) 250deg,rgba(255,244,205,.95) 320deg,#fff 340deg,rgba(255,255,255,0) 360deg)!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  pointer-events:none;transition:none;
}
.gold-beam.is-lit{animation:ctaGoldShift var(--beam-drift) ease-in-out infinite alternate,ctaGoldHalo var(--beam-cycle) ease-in-out var(--beam-delay) infinite}
.gold-beam.is-lit::after{animation:ctaGoldOrbit var(--beam-orbit) linear var(--beam-delay) infinite}
@keyframes ctaGoldOrbit{to{--beam-angle:360deg}}
@keyframes ctaGoldShift{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes ctaGoldHalo{
  0%,16.67%,100%{box-shadow:0 0 0 0 rgba(232,186,80,0),0 6px 18px rgba(150,98,20,.28),inset 0 1px 0 rgba(255,250,225,.7),inset 0 -2px 6px rgba(120,70,10,.25)}
  58.33%{box-shadow:0 0 0 6px rgba(232,186,80,.18),0 8px 34px rgba(226,170,60,.55),inset 0 1px 0 rgba(255,250,225,.9),inset 0 -2px 6px rgba(120,70,10,.2)}
}
.gold-beam:hover,.gold-beam:focus-visible{
  transform:translateY(-2px) scale(1.02);filter:brightness(1.07) saturate(1.08);
  box-shadow:0 0 0 6px rgba(232,186,80,.2),0 12px 40px rgba(226,170,60,.6),inset 0 1px 0 rgba(255,250,225,.9)!important;
  animation-play-state:paused;
}
.gold-beam:active{transform:translateY(0) scale(.98);transition-duration:.1s}
.gold-beam:focus-visible{outline:2px solid #fff3c8;outline-offset:3px}
.gold-beam:disabled{filter:saturate(.6) brightness(.95);cursor:wait}
.gold-beam svg{stroke:currentColor}
/* black label even where a section rule (e.g. .hero .btn-gold) forces white */
:is(a,button).gold-beam.gold-beam{color:#000!important}
.mobile-nav a.gold-beam.gold-beam{background:linear-gradient(135deg,#f6dc8c 0%,#e2b54a 32%,#c8902c 64%,#e9c25e 100%)!important;color:#000!important}
/* Form submit buttons: gold at rest, glossy emerald on hover/focus. The emerald sits on ::before and fades in. */
form .gold-beam{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,filter .35s,color .35s,border-color .35s,text-shadow .35s}
form .gold-beam::before{
  content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;
  background:
    linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.07) 45%,rgba(255,255,255,0) 50%),
    radial-gradient(75% 150% at 50% 130%,rgba(60,255,170,.5) 0%,rgba(60,255,170,0) 60%),
    linear-gradient(120deg,#00c27f 0%,#00a46a 30%,#008452 55%,#00a86b 80%,#16d48b 100%);
}
form .gold-beam:hover::before,form .gold-beam:focus-visible::before{opacity:1}
form .gold-beam.gold-beam:hover,form .gold-beam.gold-beam:focus-visible{
  color:#f2fff8!important;text-shadow:0 1px 2px rgba(0,36,20,.6);filter:none;
  border-color:rgba(120,255,190,.85)!important;
  box-shadow:0 0 0 5px rgba(0,200,120,.2),0 12px 36px rgba(0,170,100,.5),inset 0 1px 0 rgba(200,255,228,.7),inset 0 -3px 8px rgba(0,60,34,.45)!important;
}
@media (prefers-reduced-motion:reduce){
  .gold-beam,.gold-beam::after{animation:none!important}
  .gold-beam::after{background:none!important}
}
