/* Boot: thin frosted bands — alternate L / R (no center curtain) */
.boot{
  position:fixed;inset:0;z-index:9999;pointer-events:none;
  overflow:hidden;
}
.boot.done{visibility:hidden}

.boot-strips{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  gap:0;
}

.boot-strip{
  flex:1 1 0;
  min-height:0;
  width:112%;
  margin-left:-6%;
  position:relative;
  will-change:transform, opacity, filter;
  transform:translate3d(0,0,0);
  opacity:1;
  border:0;outline:0;box-shadow:none;
  background:linear-gradient(
    100deg,
    rgba(150,215,255,.16) 0%,
    rgba(255,255,255,.12) 50%,
    rgba(175,165,255,.14) 100%
  );
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
  transition:
    transform .95s cubic-bezier(.76,0,.24,1),
    opacity .65s cubic-bezier(.16,1,.3,1),
    filter .65s ease;
  /* soft vertical blend — no hard seams */
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 22%,
    #000 78%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0%,
    #000 22%,
    #000 78%,
    transparent 100%
  );
}

.boot.exit .boot-strip.to-left{
  transform:translate3d(-110%,0,0);
  opacity:0;
  filter:blur(8px);
}
.boot.exit .boot-strip.to-right{
  transform:translate3d(110%,0,0);
  opacity:0;
  filter:blur(8px);
}
.boot.exit .boot-strip{
  transition-delay:calc(var(--i, 0) * 22ms);
}

.boot-stamp{
  position:absolute;inset:0;z-index:2;
  display:grid;place-items:center;text-align:center;
  pointer-events:none;
  transition:opacity .28s ease, filter .32s ease, transform .38s cubic-bezier(.16,1,.3,1);
}
.boot.exit .boot-stamp{opacity:0;filter:blur(8px);transform:scale(1.03)}

.boot-word{
  display:flex;justify-content:center;gap:.06em;
  font-family:Inter,system-ui,sans-serif;font-weight:700;
  font-size:clamp(1.7rem,4.2vw,2.6rem);letter-spacing:.38em;
  color:#111; /* only solid dark: the name */
  text-indent:.38em;overflow:hidden;line-height:1.1;
  text-shadow:0 1px 0 rgba(255,255,255,.4);
}
.boot-word span{
  display:inline-block;opacity:0;transform:translateY(100%);
  transition:transform .48s cubic-bezier(.16,1,.3,1), opacity .32s ease;
}
.boot.show .boot-word span{opacity:1;transform:translateY(0)}
.boot.show .boot-word span:nth-child(1){transition-delay:15ms}
.boot.show .boot-word span:nth-child(2){transition-delay:40ms}
.boot.show .boot-word span:nth-child(3){transition-delay:65ms}
.boot.show .boot-word span:nth-child(4){transition-delay:90ms}
.boot.show .boot-word span:nth-child(5){transition-delay:115ms}

.boot-meta{
  margin-top:14px;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;
  color:rgba(17,17,17,.55);opacity:0;transform:translateY(6px);
  transition:opacity .32s ease .14s, transform .32s ease .14s;
}
.boot.show .boot-meta{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .boot-strip,.boot-word span,.boot-meta,.boot-stamp{transition:none!important}
}

/* Lang switch */
.lang-switch{
  display:inline-flex;align-items:center;border:1px solid rgba(0,0,0,.14);
  border-radius:999px;overflow:hidden;background:#fff;
}
.lang-btn{
  border:0;background:transparent;padding:7px 11px;font-size:.72rem;font-weight:700;
  letter-spacing:.08em;color:#777;cursor:pointer;font-family:Inter,system-ui,sans-serif;
  transition:background .2s, color .2s;
}
.lang-btn.is-active{background:#111;color:#fff}
.lang-btn:not(.is-active):hover{color:#111}
.mobile-menu .lang-switch{margin:18px 0 0;align-self:flex-start}
