@font-face {
  font-family:"YekanBakhFaNum-ExtraBlack";
  src:url("fonts/YekanBakhFaNum-ExtraBlack.ttf") format("truetype");
  font-style:normal;
  font-weight:950;
  font-display:swap;
}
:root { --se-blue:#009edf; --se-red:#ed3237; }
html.se-intro-active, html.se-intro-active body { overflow:hidden; }
/* The first slide is painted behind the intro instead of being revealed and
   rasterised in the same frame as the exit animation. */
html.se-intro-active body > :not(.se-intro) { pointer-events:none; }
.se-intro {
  position:fixed; z-index:99999; inset:0; display:grid; place-items:center; overflow:hidden;
  background:
    radial-gradient(ellipse 42% 34% at 13% 18%,rgba(255,255,255,.13),transparent 75%),
    radial-gradient(ellipse 48% 38% at 87% 78%,rgba(30,30,30,.055),transparent 78%),
    radial-gradient(ellipse 60% 48% at 50% 72%,var(--halo),transparent 72%),
    linear-gradient(118deg,var(--bg-a),color-mix(in srgb,var(--bg-a) 45%,var(--bg-b)) 48%,var(--bg-b));
  opacity:1; visibility:visible; transform:translate3d(0,0,0);
  transition:transform .68s cubic-bezier(.76,0,.24,1),visibility 0s linear .68s;
  isolation:isolate; contain:layout paint style; will-change:transform;
}
.se-intro::after {
  content:""; position:absolute; inset:0; z-index:1; opacity:.20; pointer-events:none;
  background-image:url("assets/print-grain-v17.66.webp"); background-repeat:repeat; background-size:310px 310px;
  transition:opacity .24s ease-out;
}
.se-intro__lockup { position:relative; z-index:2; width:min(76vw,390px); aspect-ratio:960/490; opacity:1; transition:opacity .24s ease-out; }
.se-intro__mark,.se-intro__stripes { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.se-intro__mark { clip-path:inset(0 0 17% 0); opacity:0; animation:se-mark-in .86s cubic-bezier(.16,1,.3,1) .08s both; }
.se-intro__stripes { clip-path:inset(81% 100% 0 0); animation:se-stripes-in .48s cubic-bezier(.22,.75,.24,1) .84s both; }
.se-intro.is-leaving { transform:translate3d(0,-100%,0); visibility:hidden; pointer-events:none; }
.se-intro.is-leaving .se-intro__lockup { opacity:0; }
.se-intro.is-leaving::after { opacity:0; }
.se-intro__progress {
  position:absolute; z-index:2; left:50%; top:calc(50% + min(26.4vw,135px)); bottom:auto;
  transform:translateX(-50%); min-width:4ch; text-align:center; color:var(--ink);
  font:950 clamp(15px,1.15vw,18px)/1.35 "YekanBakhFaNum-ExtraBlack","YekanBakhFaNum",Tahoma,Arial,sans-serif;
  font-variant-numeric:tabular-nums; direction:ltr;
}
.se-intro.is-leaving .se-intro__progress { opacity:0; transition:opacity .24s ease-out; }
.se-intro__error { position:absolute; z-index:2; left:50%; bottom:68px; transform:translateX(-50%); width:min(90vw,440px); margin:0; color:var(--ink); text-align:center; font-size:12px; }
.se-intro__retry { appearance:none; margin-inline-start:10px; border:1px solid var(--line); border-radius:8px; padding:5px 10px; color:var(--ink); background:transparent; font:inherit; cursor:pointer; }
img[data-src]:not([src]) { visibility:hidden; }
.se-intro.is-done { display:none; }
@keyframes se-mark-in { 0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px) scale(.975)} 65%{opacity:1} 100%{opacity:1;clip-path:inset(0 0 17% 0);transform:translateY(0) scale(1)} }
@keyframes se-stripes-in { from{clip-path:inset(81% 100% 0 0)} to{clip-path:inset(81% 0 0 0)} }
@keyframes se-caption-in { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }
@media(max-width:600px) {
  .se-intro__lockup{width:min(83vw,350px)}
  .se-intro__progress{top:calc(50% + min(28.8vw,121px));font-size:15px}
}
@media(prefers-reduced-motion:reduce) {
  .se-intro,.se-intro *, .se-intro::before,.se-intro::after { animation-duration:.01ms!important; animation-delay:0ms!important; transition-duration:.01ms!important; }
}
