/* csc-motion-v2.css
   Motion Design Upgrade Sprint — 2026-07-16
   Reveal-on-scroll, word-by-word BlurText, liquid-glass utilities, reduced-motion
   overrides. Homepage-only enqueue (see functions.php). Additive — does not
   modify any existing .cst-* rule. */

/* ===================== REVEAL CONTROLLER ===================== */
[data-csc-reveal]{
  opacity:0;
  transform:translate3d(0,24px,0);
  filter:blur(10px);
  transition:
    opacity var(--csc-duration-reveal) var(--csc-ease-out),
    transform var(--csc-duration-reveal) var(--csc-ease-out),
    filter var(--csc-duration-reveal) var(--csc-ease-out);
  will-change:opacity,transform,filter;
}
[data-csc-reveal].csc-is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}
[data-csc-reveal]{ transition-delay: var(--csc-delay, 0ms); }

/* ===================== BLUR TEXT (word-by-word) ===================== */
.csc-blur-word{
  display:inline-block;
  opacity:0;
  filter:blur(10px);
  transform:translateY(38px);
  transition:
    opacity var(--csc-duration-reveal) var(--csc-ease-out),
    filter var(--csc-duration-reveal) var(--csc-ease-out),
    transform var(--csc-duration-reveal) var(--csc-ease-out);
}
.csc-blur-word.csc-word-mid{ opacity:.55; filter:blur(4px); transform:translateY(-3px); }
.csc-blur-word.csc-word-in{ opacity:1; filter:blur(0); transform:translateY(0); }

/* ===================== LIQUID GLASS (spec section 6, scoped) ===================== */
.csc-liquid-glass{
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:0;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.12), 0 14px 40px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}
.csc-liquid-glass::before{
  content:"";
  position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.14) 22%,rgba(255,255,255,0) 42%,rgba(255,255,255,0) 62%,rgba(255,255,255,.12) 82%,rgba(255,255,255,.38) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none;
}
.csc-liquid-glass-strong{
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(28px);
  -webkit-backdrop-filter:blur(28px);
  box-shadow:4px 4px 18px rgba(0,0,0,.09), inset 0 1px 1px rgba(255,255,255,.17);
  position:relative; overflow:hidden;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .csc-liquid-glass, .csc-liquid-glass-strong{ background:rgba(18,18,18,.9); }
}

/* ===================== FLOATING NAV CAPSULE ===================== */
.csc-floating-nav{
  position:sticky; top:16px; z-index:120;
  margin:0 auto 0; max-width:1200px;
  border-radius:var(--csc-radius-chip);
  transition:background var(--csc-duration-hover) ease;
}

/* ===================== TICKER ACCESSIBILITY (extends existing .cst-ticker) ===================== */
.cst-ticker[data-csc-ticker-paused="true"] .cst-ticker-track{ animation-play-state:paused; }

/* ===================== OFFERING DIRECTORY CARD MOTION ===================== */
[data-csc-directory-card]{ transition:transform var(--csc-duration-hover) var(--csc-ease-out), box-shadow var(--csc-duration-hover) var(--csc-ease-out); }
[data-csc-directory-card]:hover, [data-csc-directory-card]:focus-visible{ transform:translateY(-3px); }

/* ===================== VIDEO CONTAINER (poster-only until real footage is approved) ===================== */
.csc-hero-media{ position:relative; width:100%; height:100%; overflow:hidden; background:var(--cst-ink); }
.csc-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.csc-hero-media video{ width:100%; height:100%; object-fit:cover; display:block; opacity:0; }
.csc-hero-media .csc-hero-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,24,26,.15) 0%, rgba(21,24,26,.55) 100%); pointer-events:none; }
.csc-video-toggle{
  position:absolute; right:16px; bottom:16px; z-index:5;
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(21,24,26,.55); color:#fff; border:1px solid rgba(255,255,255,.25);
  border-radius:var(--csc-radius-chip); padding:8px 14px; font-size:12px; font-weight:700;
  cursor:pointer;
}
.csc-video-toggle:focus-visible{ outline:2px solid var(--csc-accent); outline-offset:2px; }

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion: reduce){
  [data-csc-reveal]{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
  .csc-blur-word{ opacity:1 !important; filter:none !important; transform:none !important; transition:none !important; }
  .cst-ticker-track{ animation:none !important; }
  .cst-ticker{ overflow-x:auto; }
  [data-csc-directory-card]{ transition:none !important; }
  .csc-hero-media video{ display:none; }
}