/* Restores the stronger cinematic scroll-in behavior after the CSS/JS split. */
.reveal{
  opacity:0;
  transform:translate3d(0,56px,0) scale(.972);
  transition:
    opacity .95s cubic-bezier(.16,.78,.18,1),
    transform .95s cubic-bezier(.16,.78,.18,1),
    box-shadow .55s ease,
    border-color .35s ease,
    background .35s ease;
  transition-delay:var(--reveal-delay,0ms);
}

.reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.section-head.reveal{
  transform:translate3d(0,34px,0) scale(.99);
}

.section-head.reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}

.copy-panel.reveal,
.snapshot-list span.reveal,
.trust-item.reveal,
.proof-item.reveal,
.cta-option.reveal{
  transform:translate3d(0,44px,0) scale(.982);
}

.copy-panel.reveal.is-visible,
.snapshot-list span.reveal.is-visible,
.trust-item.reveal.is-visible,
.proof-item.reveal.is-visible,
.cta-option.reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}

.workflow-strip .step.reveal,
.module-grid .module-card.reveal,
.value-grid .value.reveal{
  transform:translate3d(0,50px,0) scale(.976);
  transition-duration:.82s;
}

.workflow-strip .step.reveal.is-visible,
.module-grid .module-card.reveal.is-visible,
.value-grid .value.reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}

.audience span.reveal{
  transform:translate3d(0,22px,0) scale(.96);
  transition-duration:.58s;
}

.audience span.reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}

.cta-panel.reveal{
  transform:translate3d(0,58px,0) scale(.972);
}

.cta-panel.reveal.is-visible{
  transform:translate3d(0,0,0) scale(1);
}

/* Independent reveal system that overrides the older one-time reveal classes. */
.motion-reveal{
  opacity:0!important;
  transform:translate3d(0,72px,0) scale(.965)!important;
  transition:
    opacity 1.05s cubic-bezier(.16,.78,.18,1),
    transform 1.05s cubic-bezier(.16,.78,.18,1)!important;
  transition-delay:var(--motion-delay,0ms)!important;
}

.motion-reveal.motion-visible{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
}

.motion-reveal.motion-fast{
  transform:translate3d(0,34px,0) scale(.985)!important;
  transition-duration:.75s!important;
}

.motion-reveal.motion-fast.motion-visible{
  transform:translate3d(0,0,0) scale(1)!important;
}

/* Sun polish: use a filled radial gradient so the core blooms into a soft orb without a hard ring. */
.flare{
  background:
    radial-gradient(
      circle at center,
      rgba(255, 255, 245, 0.95) 0%,
      rgba(255, 230, 150, 0.88) 12%,
      rgba(255, 153, 24, 0.72) 32%,
      rgba(211, 103, 0, 0.46) 55%,
      rgba(143, 67, 0, 0.24) 74%,
      rgba(70, 34, 0, 0.08) 100%
    );
  box-shadow:
    0 0 50px rgba(255, 151, 24, 0.42),
    0 0 120px rgba(255, 139, 0, 0.25),
    0 0 240px rgba(255, 117, 0, 0.14);
  filter: blur(0.2px);
}

.flare:before{
  opacity:.42;
  background:radial-gradient(
    circle,
    rgba(255,245,214,.14) 0%,
    rgba(255,185,92,.11) 24%,
    rgba(255,138,18,.055) 46%,
    transparent 70%
  );
  mask-image:radial-gradient(circle,rgba(0,0,0,.72) 0%,rgba(0,0,0,.56) 34%,rgba(0,0,0,.22) 58%,transparent 74%);
}

main h2{
  text-transform:uppercase;
}

main h2 .section-accent{
  color:rgb(var(--mode-rgb));
  text-shadow:0 0 34px rgba(var(--mode-rgb),.34),0 22px 60px rgba(0,0,0,.68);
  transition:color .25s ease,text-shadow .25s ease;
}

/* Shared glass system: one card recipe for panels, cards, chips, and rows. */
:root{
  /* Backdrop blur removed for scroll performance: a dark underlay layer fakes the frosted look. */
  --see-glass-bg:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.014)),linear-gradient(180deg,rgba(9,12,13,.68),rgba(7,9,10,.6));
  --see-glass-border:rgba(255,255,255,.085);
  --see-glass-shadow:0 24px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.055);
  --see-glass-text:#c8d4d2;
  --see-glass-title:#f4f8f7;
}

.section-head{
  position:relative;
  z-index:7;
}

.snapshot-grid,
.intro-grid{
  align-items:stretch;
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
}

.workflow-strip,
.module-grid,
.value-grid,
.cta-options,
.snapshot-list,
.audience,
.cta-panel,
.copy-panel,
.snapshot-panel,
.intro-copy,
.module-control,
.trust-grid,
.proof-list{
  position:relative;
  z-index:5;
}

.trust-grid,
.proof-list{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-self:stretch;
  height:100%;
  gap:18px;
  padding:0;
  min-height:0;
  overflow:visible;
  isolation:auto;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.workflow-strip .step,
.module-grid .module-card,
.value-grid .value,
.cta-options .cta-option,
.snapshot-list span,
.audience span,
.copy-panel,
.snapshot-panel,
.intro-copy,
.module-control,
.cta-panel,
.copy-panel.trust-item,
.copy-panel.proof-item{
  position:relative;
  z-index:6;
  overflow:hidden;
  isolation:isolate;
  background:var(--see-glass-bg);
  border-color:var(--see-glass-border);
  box-shadow:var(--see-glass-shadow);
}

.workflow-strip .step::before,
.workflow-strip .step::after,
.module-grid .module-card::before,
.module-grid .module-card::after,
.value-grid .value::before,
.value-grid .value::after,
.cta-options .cta-option::before,
.cta-options .cta-option::after,
.snapshot-list span::before,
.snapshot-list span::after,
.audience span::before,
.audience span::after,
.copy-panel::before,
.copy-panel::after,
.snapshot-panel::before,
.snapshot-panel::after,
.intro-copy::before,
.intro-copy::after,
.module-control::before,
.module-control::after,
.cta-panel::before,
.cta-panel::after,
.copy-panel.trust-item::before,
.copy-panel.trust-item::after,
.copy-panel.proof-item::before,
.copy-panel.proof-item::after{
  display:none!important;
  content:none!important;
}

.workflow-strip .step > *,
.module-grid .module-card > *,
.value-grid .value > *,
.cta-options .cta-option > *,
.snapshot-list span > *,
.audience span > *,
.copy-panel > *,
.snapshot-panel > *,
.intro-copy > *,
.module-control > *,
.cta-panel > *,
.copy-panel.trust-item > *,
.copy-panel.proof-item > *{
  position:relative;
  z-index:1;
}

.copy-panel,
.snapshot-panel,
.intro-copy,
.cta-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.054),rgba(255,255,255,.016)),linear-gradient(180deg,rgba(9,12,13,.66),rgba(7,9,10,.58));
  box-shadow:0 30px 96px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.065);
}

.copy-panel.trust-item,
.copy-panel.proof-item{
  flex:1 1 0;
  min-height:0;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 32px;
}

.snapshot-list span{
  min-height:0;
  padding:20px 28px;
  line-height:1.42;
  color:var(--see-glass-text);
}

.snapshot-list span b,
.copy-panel.trust-item strong,
.copy-panel.proof-item strong,
.value-grid .value h3,
.cta-options .cta-option strong,
.module-grid .module-card h3,
.workflow-strip .step h3{
  color:var(--see-glass-title);
  text-shadow:0 8px 28px rgba(0,0,0,.62);
}

.copy-panel.trust-item span,
.copy-panel.proof-item span,
.value-grid .value p,
.cta-options .cta-option span,
.module-grid .module-card p,
.workflow-strip .step p,
.copy-panel p,
.intro-copy p,
.snapshot-panel p,
.cta-panel p{
  color:var(--see-glass-text);
  opacity:1;
  text-shadow:0 8px 24px rgba(0,0,0,.58);
}

.workflow-strip .step:hover,
.workflow-strip .step.is-linked,
.module-grid .module-card:hover,
.module-grid .module-card.is-active{
  background:
    linear-gradient(180deg,rgba(var(--mode-rgb),.09),rgba(255,255,255,.018)),
    rgba(5,7,8,.12);
  border-color:rgba(var(--mode-rgb),.34);
}

.cta-panel.reveal.is-visible{
  box-shadow:0 30px 96px rgba(0,0,0,.30),0 0 70px rgba(255,138,18,.08),inset 0 1px 0 rgba(255,255,255,.065);
}

/* Mobile chip uses the same behind-the-page layering as the desktop dock. */
@media(max-width:980px){
  .mission-chip{
    z-index:2!important;
  }
}

@media(max-width:560px){
  .reveal{
    transform:translate3d(0,26px,0) scale(.99);
    transition-duration:.7s;
  }

  .reveal.is-visible{
    transform:translate3d(0,0,0) scale(1);
  }

  .motion-reveal{
    transform:translate3d(0,34px,0) scale(.985)!important;
    transition-duration:.78s!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .reveal,
  .reveal.is-visible{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
}

/* Dock frosting: the dock HUD floats behind the page (z-index 2 vs 3+).
   Blanket card backdrop blur was removed for scroll performance, so app.js
   tags only the cards the dock is currently behind with .see-dock-frost —
   those few get the original glass recipe back so the dock blurs where it
   overlaps a card and stays sharp where it pokes out. */
.copy-panel.see-dock-frost,
.snapshot-panel.see-dock-frost,
.intro-copy.see-dock-frost,
.cta-panel.see-dock-frost{
  background:linear-gradient(180deg,rgba(255,255,255,.054),rgba(255,255,255,.016));
  backdrop-filter:blur(28px) saturate(1.18);
  -webkit-backdrop-filter:blur(28px) saturate(1.18);
}

.workflow-strip .step.see-dock-frost,
.module-grid .module-card.see-dock-frost,
.value-grid .value.see-dock-frost,
.cta-options .cta-option.see-dock-frost,
.snapshot-list span.see-dock-frost,
.audience span.see-dock-frost,
.module-control.see-dock-frost,
.copy-panel.trust-item.see-dock-frost,
.copy-panel.proof-item.see-dock-frost{
  background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.014));
  backdrop-filter:blur(24px) saturate(1.16);
  -webkit-backdrop-filter:blur(24px) saturate(1.16);
}
