/* Scratch-card welcome pop-up. Home page only. Uses the site's own tokens from site.css. */
.scratch-dialog{border:0;padding:0;margin:auto;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border-radius:24px;background:var(--blush);color:var(--ink);box-shadow:0 24px 64px rgba(51,69,78,.28);overflow:auto}
.scratch-dialog::backdrop{background:rgba(51,69,78,.45)}
.scratch-dialog[open]{animation:scratch-in .28s ease-out}
@keyframes scratch-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.scratch-inner{position:relative;padding:var(--s6) var(--s5) var(--s5);text-align:center;font-family:var(--f-body)}
.scratch-close{position:absolute;top:var(--s3);right:var(--s3);width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.scratch-close:hover,.scratch-close:focus-visible{background:rgba(51,69,78,.08)}
.scratch-eyebrow{margin:0 0 var(--s2);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.scratch-title:focus{outline:none}
.scratch-title{margin:0 0 var(--s2);font-family:var(--f-display);font-size:30px;font-weight:500;line-height:1.15}
.scratch-sub{margin:0 0 var(--s5);color:var(--muted);font-size:16px;line-height:1.5}
.scratch-card{position:relative;margin:var(--s3) auto var(--s4);width:100%;max-width:320px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--white);box-shadow:inset 0 0 0 1px var(--hair)}
.scratch-prize{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s1);padding:var(--s4)}
.scratch-prize strong{font-family:var(--f-display);font-size:30px;font-weight:600;line-height:1.1}
.scratch-prize span{font-size:15px;color:var(--muted)}
.scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}
.scratch-card.is-revealed .scratch-canvas{opacity:0;transition:opacity .45s ease;pointer-events:none}
.scratch-hint{margin:0 0 var(--s4);font-size:14px;color:var(--muted)}
.scratch-reveal{border:0;background:none;color:var(--ink);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:var(--s2)}
.scratch-form{display:grid;gap:var(--s3);text-align:left}
.scratch-form[hidden],.scratch-done[hidden],.scratch-before[hidden]{display:none}
.scratch-form label{font-size:14px;font-weight:700}
.scratch-form input[type=email]{width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--hair);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;font-size:16px}
.scratch-form input[type=email]:focus{outline:2px solid var(--ink);outline-offset:1px}
.scratch-form .btn{width:100%}
.scratch-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.scratch-fine{margin:0;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
.scratch-error{margin:0;font-size:14px;color:#9b2c2c;text-align:center}
.scratch-done p{margin:0 0 var(--s4);font-size:16px;line-height:1.5}
@media (max-width:520px){
  .scratch-dialog{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:92dvh}
  .scratch-title{font-size:26px}
}
@media (prefers-reduced-motion:reduce){.scratch-dialog[open]{animation:none}.scratch-card.is-revealed .scratch-canvas{transition:none}}
