/* MGC-WEB — úvodní animace (načítá se jen na homepage, viz includes/intro.php).
   Velké bílé logo na indigo pozadí → po kliku logo odletí na místo loga v hlavičce
   a pozadí se rozplyne (průhlednost + rozostření stránky pod ním).
   .intro-seen na <html> (boot.js) = v této návštěvě už viděno → vrstva se neukáže. */
.intro{display:none}
.js:not(.intro-seen) .intro{display:block;position:fixed;inset:0;z-index:1000}
.js:not(.intro-seen) body.intro-open{overflow:hidden}
/* Logo v hlavičce schované, dokud na jeho místo nedoletí logo z intra */
.js:not(.intro-seen) body.intro-open .site-header .brand__logo{visibility:hidden}

.intro__bg{position:absolute;inset:0;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 42%,#5e558f 0%,var(--brand-700) 55%,#1c1733 100%);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  transition:opacity .85s ease .1s}
/* velký slabý hexagon za logem, velmi pomalu pluje a odráží se od hran (osa X a Y s různou délkou) */
.intro__bg::before{content:"";position:absolute;inset:0;
  background:url('../img/hex-white.webp') 0 0/120vmax 120vmax no-repeat;
  opacity:.05;animation:intro-drift-x 47s linear infinite alternate,intro-drift-y 31s linear infinite alternate}
/* jemná záře pod logem */
.intro__bg::after{content:"";position:absolute;left:50%;top:50%;width:70vmin;height:70vmin;
  margin:-35vmin 0 0 -35vmin;border-radius:50%;
  background:radial-gradient(circle,rgba(170,158,255,.28) 0%,rgba(170,158,255,0) 65%);
  animation:intro-breathe 4s ease-in-out infinite}

.intro__stage{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(1.6rem,4vh,2.6rem);padding:1.5rem;border:0;background:none;color:#fff;font:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.intro__stage:focus{outline:none}
.intro__stage:focus-visible .intro__cta{outline:2px solid rgba(255,255,255,.7);outline-offset:6px}

.intro__logo{width:min(80vw,560px);height:auto;transform-origin:0 0;will-change:transform;
  filter:brightness(0) invert(1) drop-shadow(0 0 28px rgba(185,175,255,.45));
  animation:intro-logo-in 1.1s cubic-bezier(.2,.8,.2,1) both}

.intro__cta{font-size:.82rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  padding:.85em 1.5em;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);
  background:rgba(255,255,255,.06);
  animation:intro-cta-in .7s ease .9s both, intro-pulse 2.4s ease-in-out 1.8s infinite;
  transition:opacity .3s ease,transform .3s ease,background .2s ease}
.intro__stage:hover .intro__cta{background:rgba(255,255,255,.14)}

/* ODCHOD: JS přidá .is-leaving a logu nastaví transform k logu v hlavičce */
.intro.is-leaving{pointer-events:none}
.intro.is-leaving .intro__bg{opacity:0}
.intro.is-leaving .intro__cta{opacity:0;transform:translateY(10px);animation:none}
.intro.is-leaving .intro__logo{animation:none;
  filter:brightness(0) invert(1) drop-shadow(0 0 0 rgba(185,175,255,0));
  transition:transform .95s cubic-bezier(.65,0,.3,1),filter .6s ease}
/* náhradní odchod, když logo v hlavičce není vidět: logo se zvětší a rozplyne */
.intro.is-leaving.is-fade .intro__logo{transform:scale(1.25);opacity:0;
  transform-origin:50% 50%;transition:transform .8s ease,opacity .8s ease}

@keyframes intro-logo-in{
  from{opacity:0;transform:scale(.88);filter:brightness(0) invert(1) blur(12px)}
  to{opacity:1;transform:none;filter:brightness(0) invert(1) drop-shadow(0 0 28px rgba(185,175,255,.45))}}
@keyframes intro-cta-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes intro-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.18)}50%{box-shadow:0 0 0 10px rgba(255,255,255,0)}}
@keyframes intro-breathe{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes intro-drift-x{from{background-position-x:0%}to{background-position-x:100%}}
@keyframes intro-drift-y{from{background-position-y:0%}to{background-position-y:100%}}

@media (prefers-reduced-motion:reduce){
  .intro__bg::before,.intro__bg::after,.intro__logo,.intro__cta{animation:none}
  .intro.is-leaving .intro__bg{transition-duration:.3s}
}
