/* House text-slide protocol. Source stays normal markdown; the framework generates
   the word/glyph wrappers for variant: standard-text. */
:root{
  --deck-bg:#000510;
  --deck-ink:#f9fafb;
  --deck-ink-dim:#9aa3b8;
  --deck-ink-faint:#7e879c;
  --deck-accent:#a9c0ea;
  --fx-char-dur:920ms;
  --fx-stagger:50ms;
  --fx-bchar-dur:520ms;
  --fx-bstagger:15ms;
  --fx-wipe-dur:1500ms;
  --fx-wipe-delay:300ms;
}

html.iqs-mode-slides .slide--variant-standard-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3cqh;
  padding:6cqh 8cqw;
  text-align:center;
}

.slide--variant-standard-text .fx-title{
  position:static;
  width:auto;
  max-width:92cqw;
  margin:0;
  color:var(--deck-ink);
  font-family:"Segoe UI","Segoe UI Web (West European)",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:clamp(2.4rem,5.4cqw,4.5rem);
  font-weight:300;
  line-height:1.14;
}

.fx-divider{
  position:relative;
  width:19.5cqw;
  height:2px;
  background:transparent;
  opacity:1!important;
  transform:none!important;
}
.fx-divider::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to right,#4054b2 0%,#4054b2 40%,rgba(64,84,178,0) 100%);
  transform:scaleX(0);
  transform-origin:left center;
}
.slide.active .fx-divider::after{
  animation:fxWipe var(--fx-wipe-dur) cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--fx-wipe-delay);
}
@keyframes fxWipe{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.slide--variant-standard-text .fx-bullets{
  position:static;
  left:auto;
  top:auto;
  width:auto;
  max-width:84cqw;
  margin:0;
  transform:none;
  align-items:center;
  gap:2.2cqh;
  text-align:center;
}
.slide--variant-standard-text .fx-bullet{
  color:var(--deck-ink);
  font-family:"Segoe UI","Segoe UI Web (West European)",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:3.2cqw;
  font-weight:300;
  line-height:1.4;
  text-align:center;
}
.slide--variant-standard-text .fx-bullet strong{color:var(--deck-ink);font-weight:500}

.fx-word{display:inline-block;white-space:nowrap}
.fx-char{display:inline-block;opacity:0}
.slide.active .fx-title .fx-char{
  animation:fxFocusIn var(--fx-char-dur) cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(var(--i) * var(--fx-stagger));
}
@keyframes fxFocusIn{
  from{opacity:0;transform:translateY(2px);filter:blur(12px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
.slide.active .fx-bullet.frag-in .fx-char{
  animation:fxCharIn var(--fx-bchar-dur) cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(var(--i) * var(--fx-bstagger));
}
@keyframes fxCharIn{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:no-preference){
  .fx-bullet.frag{opacity:1!important;transform:none!important}
}
@media (prefers-reduced-motion:reduce){
  .fx-char{opacity:1;animation:none!important;filter:none;transform:none}
  .fx-divider::after{transform:scaleX(1);animation:none!important}
}

html.iqs-mode-pages .slide--variant-standard-text{
  display:flex;
  min-height:clamp(520px,72vh,760px);
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:clamp(20px,3cqw,36px);
  text-align:left;
}
html.iqs-mode-pages .slide--variant-standard-text .fx-title,
html.iqs-mode-pages .slide--variant-standard-text .fx-bullets{
  max-width:100%;
  text-align:left;
  align-items:flex-start;
}
html.iqs-mode-pages .slide--variant-standard-text .fx-bullet{
  font-size:clamp(1.15rem,2.6cqw,1.75rem);
  text-align:left;
}
