/* GLIMMER — animated touches: hero title shimmer + star glints, button sheen */

/* 1. Hero title: a soft champagne light sweeps across the letters */
.hero__title .hero__script, .hero__title .hero__serif, .shimmer > span {
  background: linear-gradient(105deg, #fff 0%, #fff 38%, #f1d48f 46%, #fff4d6 50%, #f1d48f 54%, #fff 62%, #fff 100%);
  background-size: 300% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: none; filter: drop-shadow(0 2px 18px rgba(20, 12, 14, .38));
  animation: tc-sheen 7s cubic-bezier(.45, 0, .2, 1) 1.2s infinite;
}
.hero__title .hero__serif, .shimmer > span + span { animation-delay: 1.5s; }
@keyframes tc-sheen { 0% { background-position: 100% 0; } 38%, 100% { background-position: 0 0; } }

/* tiny four-point glints that twinkle around the title */
.tc-glint { position: absolute; width: 10px; aspect-ratio: 1; background: #fff8e6; pointer-events: none; opacity: 0;
  clip-path: polygon(50% 0, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0 50%, 42% 42%);
  filter: drop-shadow(0 0 6px rgba(255, 236, 190, .9)); animation: tc-glint 2.4s ease-in-out forwards; }
@keyframes tc-glint { 0% { opacity: 0; transform: scale(.2) rotate(0); } 35% { opacity: 1; transform: scale(1) rotate(45deg); } 100% { opacity: 0; transform: scale(.3) rotate(90deg); } }

/* 2. Buttons: a light sheen glides across on hover (mouse only) */
.btn { position: relative; overflow: hidden; isolation: isolate; }
@media (hover: hover) {
  .btn::after { content: ""; position: absolute; inset: -2px auto -2px -60%; width: 45%; z-index: -1; pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-20deg); }
  .btn:hover::after { animation: tc-btn .9s var(--ease); }
  .btn--light::after, .btn--glass:hover::after, .btn--outline-light:hover::after, .btn--ghost:hover::after { background: linear-gradient(100deg, transparent, rgba(201, 164, 106, .4), transparent); }
}
@keyframes tc-btn { from { left: -60%; } to { left: 120%; } }

@media (prefers-reduced-motion: reduce) {
  .hero__title .hero__script, .hero__title .hero__serif, .shimmer > span { animation: none; background: none; color: #fff; filter: none; }
  .tc-glint { display: none; }
}
