/* Coordinates follow the approved 706 × 1040 mobile cover.
   Effects add light only; the supplied artwork and hit areas remain intact. */
.mobile-hero-effects { display:none; }
@media (max-width:700px) {
  .mobile-hero-effects {
    display:block; position:absolute; inset:0; z-index:1;
    pointer-events:none; overflow:hidden;
  }
  /* Never render the former added stars or the replacement underline. */
  .mobile-hero-effects .mobile-title-glint,
  .mobile-hero-effects .mobile-underline-glow,
  .mobile-hero-effects .mobile-underline-drawing { display:none!important; }
  .mobile-hero-effects > .mobile-original-light {
    position:absolute; display:block; pointer-events:none;
    overflow:hidden; mix-blend-mode:screen;
    opacity:0; filter:brightness(1.55);
  }
  /* Each image is an unchanged transparent PNG from the supplied designer ZIP.
     Viewboxes isolate its existing light pixels; no line or star is drawn. */
  .mobile-original-light--first {
    left:5.09915%; top:16.34615%; width:3.82436%; height:3.26923%;
    animation:mobile-original-highlight 5.6s ease-in-out .15s infinite;
  }
  .mobile-original-light--second {
    left:29.32011%; top:19.23077%; width:3.54108%; height:2.88462%;
    animation:mobile-original-highlight 5.6s ease-in-out 1s infinite;
  }
  .mobile-original-light--happy {
    left:20.11331%; top:36.63462%; width:2.97450%; height:2.5%;
    animation:mobile-original-highlight 5.6s ease-in-out 1.85s infinite;
  }
  .mobile-original-light--underline {
    left:27.76204%; top:25.48077%; width:36.54391%; height:1.73077%;
    animation:mobile-original-underline 5.6s cubic-bezier(.22,.61,.36,1) .5s infinite;
  }
  /* The link follows the native 334 × 54 button exactly at the 390px viewport. */
  .mobile-hero-hotspots .mobile-hotspot-format {
    overflow:visible; border-radius:999px;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-hero-hotspots .mobile-hotspot-format::before,
  .mobile-hero-hotspots .mobile-hotspot-format::after {
    content:""; position:absolute; inset:0;
    border-radius:999px; pointer-events:none;
  }
  .mobile-hero-hotspots .mobile-hotspot-format::before {
    border:1px solid #ffe7ac;
    box-shadow:0 0 13px #f3c57266,inset 0 0 8px #ffeac02e;
    opacity:0; animation:mobile-format-invitation 5s ease-in-out 3s infinite;
  }
  .mobile-hero-hotspots .mobile-hotspot-format::after {
    background:linear-gradient(105deg,transparent 30%,#fff4d21a 48%,#fff8e62a 50%,transparent 67%);
    background-size:250% 100%;
    opacity:0; animation:mobile-format-reflection 5s ease-in-out 3s infinite;
  }
  .mobile-hero-hotspots .mobile-hotspot-format:focus-visible {
    outline:2px solid #fff3d1; outline-offset:3px;
  }
  .mobile-hero-hotspots .mobile-hotspot-format:active::before { opacity:.6; }
}
@keyframes mobile-original-highlight {
  0%,28%,100% { opacity:0; }
  10% { opacity:.92; }
  17% { opacity:.32; }
  21% { opacity:.58; }
}
@keyframes mobile-original-underline {
  0%,3% { opacity:0; clip-path:inset(0 100% 0 0); }
  7% { opacity:.88; }
  35% { opacity:.88; clip-path:inset(0 0 0 0); }
  46% { opacity:.65; clip-path:inset(0 0 0 0); }
  60%,100% { opacity:0; clip-path:inset(0 0 0 0); }
}
@keyframes mobile-format-invitation {
  0%,32%,100% { opacity:0; }
  12%,18% { opacity:.7; }
}
@keyframes mobile-format-reflection {
  0% { opacity:0; background-position:100% 0; }
  8%,20% { opacity:.65; }
  32%,100% { opacity:0; background-position:0% 0; }
}
@media (prefers-reduced-motion:reduce) {
  .mobile-hero-effects,
  .mobile-hero-hotspots .mobile-hotspot-format::before,
  .mobile-hero-hotspots .mobile-hotspot-format::after {
    display:none!important; animation:none!important;
  }
}
