.coin-shower{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden;}
.shower-coin{position:absolute;top:-40px;border-radius:50%;will-change:transform;
  background:radial-gradient(circle at 30% 26%,#fffaea 0%,#fff0bd 10%,#f6d383 26%,#e0ab5c 44%,#c1893f 62%,#96692a 80%,#6e4c1c 94%,#52380f 100%);
  box-shadow:0 4px 8px rgba(50,32,8,.45),inset 0 2px 2px rgba(255,255,255,.85),inset 0 -3px 4px rgba(70,45,12,.6);
  animation:coin-fall ease-in forwards;}
@keyframes coin-fall{0%{transform:translateY(-10vh) rotate(0);opacity:0;}8%{opacity:1;}100%{transform:translateY(112vh) rotate(var(--rot));opacity:1;}}

.thanks{position:fixed;inset:0;z-index:89;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0 24px;text-align:center;background:var(--ivory);opacity:0;visibility:hidden;
  transition:opacity .9s var(--ease),visibility 0s linear .9s;}
.thanks.is-on{opacity:1;visibility:visible;transition:opacity 1.2s var(--ease),visibility 0s;}
.thanks-title{font:200 clamp(38px,7vw,72px)/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;padding-left:.24em;color:var(--ink);
  opacity:0;transform:scale(.94);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.thanks-text{margin-top:20px;max-width:30em;font:italic 400 clamp(17px,2.2vw,21px)/1.5 var(--serif);color:var(--ink-2);
  opacity:0;transition:opacity .8s var(--ease);}
.thanks.is-on .thanks-title{opacity:1;transform:none;transition-delay:.6s;}
.thanks.is-on .thanks-text{opacity:1;transition-delay:1.1s;}
.thanks .ornament{margin-bottom:28px;}
