/* ═══════════════════════════════════════════════════════
   UTILITIES — shared
═══════════════════════════════════════════════════════ */
/* GLASS */
.glass{
  background:var(--g);
  backdrop-filter:blur(24px) saturate(200%);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  border:1px solid var(--gb);
  box-shadow:0 8px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);
}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible, .reveal.vis{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

body.theme-be .reveal{
  transform:translateY(22px);
  transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
}
body.theme-be .reveal.visible, body.theme-be .reveal.vis{opacity:1;transform:none;}

/* GENERAL UTILITIES */
.gold{color:var(--gold)}
.mt-2{margin-top:.5rem}
.divider{border:none;border-top:1px solid var(--gb);margin:12px 0}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--ts),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* CONTAINER */
.container{width:100%;max-width:1200px;margin:0 auto;padding:80px 20px}
@media(max-width:600px){.container{padding:60px 20px}}

/* SECTION HEADINGS */
.section-label{
  display:block;
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
}
.section-title{
  font-size:clamp(2rem,4.5vw,3.2rem);
  font-weight:800;letter-spacing:-0.04em;line-height:1.1;
}
.section-title em{
  font-family:var(--fs);font-style:italic;
  background:linear-gradient(135deg,var(--gold3),var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
