:root{
  --ink:#14121F; --plum:#2E1B3D; --flash:#FFC53D; --coral:#FF5470;
  --paper:#FBF7F0; --mist:#C9C2D9;
}
.font-display{font-family:'Anton',sans-serif;}
.font-mono{font-family:'JetBrains Mono',monospace;}
.font-body{font-family:'Work Sans',sans-serif;}
.bg-ink{background-color:var(--ink);} .bg-plum{background-color:var(--plum);}
.bg-flash{background-color:var(--flash);} .bg-coral{background-color:var(--coral);}
.bg-paper{background-color:var(--paper);}
.text-ink{color:var(--ink);} .text-paper{color:var(--paper);} .text-flash{color:var(--flash);}
.text-coral{color:var(--coral);} .text-mist{color:var(--mist);}

.flash-beam{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 42%, rgba(255,197,61,0.16) 46%, rgba(255,197,61,0.35) 48%, rgba(255,197,61,0.16) 50%, transparent 54%);
}
.ticket{ position:relative; background:var(--plum); border-radius:18px; }
.ticket::before, .ticket::after{
  content:""; position:absolute; width:28px; height:28px; background:var(--paper);
  border-radius:50%; top:50%; transform:translateY(-50%);
  /* Subtilus žiedas — be jo apskritimai tampa nematomi, kai bilietas stovi ant
     bg-paper sekcijos (fonas identiškas skylutės spalvai). Žiedas garantuoja
     matomumą nepriklausomai nuo to, kas yra už bilieto. */
  box-shadow: inset 0 0 0 1.5px rgba(20,18,31,0.15), 0 0 0 1.5px rgba(20,18,31,0.15);
}
.ticket::before{ left:-14px; } .ticket::after{ right:-14px; }
.perforated{ border-top:2px dashed rgba(255,255,255,0.18); }
.stub{
  clip-path: polygon(0 0, 100% 0, 100% 92%, 96% 100%, 92% 92%, 88% 100%, 84% 92%, 80% 100%,
    76% 92%, 72% 100%, 68% 92%, 64% 100%, 60% 92%, 56% 100%, 52% 92%, 48% 100%,
    44% 92%, 40% 100%, 36% 92%, 32% 100%, 28% 92%, 24% 100%, 20% 92%, 16% 100%,
    12% 92%, 8% 100%, 4% 92%, 0 100%);
}
.photo-placeholder{
  background: repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, var(--coral), var(--plum) 60%, var(--ink));
}
.photo-placeholder-alt{
  background: repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, var(--flash), var(--coral) 70%);
}
.card-tilt{ transition:transform .35s ease; }
.card-tilt:hover{ transform: rotate(0deg) scale(1.02); }
.eyebrow{ letter-spacing:0.18em; }
