/* =========================================================
   GOMEZ SALAZAR · v6 CLEAN
   The story version, remade for readers who want it simple:
   no games, big type, one idea per screen, high-end floating
   cards (liquid glass + ambient orbs ported from meso-usa.com).
   ========================================================= */

:root{
  --ink:#0a0a0a;
  --paper:#fafaf7;
  --muted:#5a5a5a;
  --soft:#c8c6c0;
  --hush:#efece4;
  --good:#1a73e8;
  --lose:#b8242b;
  --inter:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --apple:system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* ---------- PEARLESCENT LINEN BACKDROP (fixed, slow drift + hue shimmer) ---------- */
body::before{
  content:""; position:fixed; inset:-30%; z-index:-2; pointer-events:none;
  background:
    radial-gradient(38% 48% at 22% 26%, rgba(26,115,232,.16), transparent 70%),
    radial-gradient(42% 52% at 78% 32%, rgba(150,124,214,.14), transparent 72%),
    radial-gradient(48% 50% at 58% 78%, rgba(120,200,255,.15), transparent 72%),
    radial-gradient(40% 42% at 88% 80%, rgba(255,170,195,.10), transparent 72%);
  filter:blur(64px) hue-rotate(0deg);
  animation:pearl 42s ease-in-out infinite;
  will-change:transform, filter;
}
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.05;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes pearl{
  0%,100%{ transform:translate3d(-3%,-2%,0) rotate(0deg) scale(1.12); filter:blur(64px) hue-rotate(0deg); }
  50%{ transform:translate3d(3%,2%,0) rotate(7deg) scale(1.2); filter:blur(64px) hue-rotate(32deg); }
}

/* ---------- PANELS ---------- */
.panel{
  scroll-snap-align:start;
  position:relative;
  min-height:100svh;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:88px 24px;
}
.panel-dark{ background:var(--ink); color:var(--paper); }
.panel-paper{ background:transparent; color:var(--ink); }
.panel-inner{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:clamp(28px,5vw,56px);
  position:relative;
  z-index:2;
}

/* ---------- TYPE ---------- */
.eyebrow{
  font-family:var(--apple);
  font-size:12px;
  font-weight:600;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--muted);
}
.eyebrow-on-dark{ color:var(--soft); }

.display{
  font-family:var(--apple);
  font-weight:400;
  letter-spacing:-0.025em;
  line-height:1.06;
  font-size:clamp(2.5rem,6vw,4.6rem);
  margin:0;
  max-width:18ch;
}
.display-close{ max-width:18ch; }
.lede{
  font-family:var(--apple);
  font-size:clamp(1.12rem,2.4vw,1.55rem);
  line-height:1.55;
  color:var(--muted);
  max-width:52ch;
  margin:0;
}
.kicker{
  font-family:var(--apple);
  font-style:italic;
  font-size:clamp(1.05rem,2.1vw,1.35rem);
  color:var(--muted);
  max-width:42ch;
  margin:0;
}
.kicker-on-dark{ color:var(--soft); }

/* the headline/lede stack inside every section needs real breathing room */
.focal-text{ display:flex; flex-direction:column; align-items:flex-start; gap:clamp(16px,2.2vw,26px); }

/* =========================================================
   REVEAL / PARALLAX
   ========================================================= */
.reveal .focal-text,
.reveal .focal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .9s cubic-bezier(.16,.84,.44,1), transform .9s cubic-bezier(.16,.84,.44,1);
}
.reveal .focal{ transform:translateY(30px) scale(.985); }
.reveal.in .focal-text,
.reveal.in .focal{ opacity:1; transform:none; }

@media(min-width:880px){
  .panel.in [data-parallax]{ transform:translateY(calc(var(--p,0) * 36px)); }
  .panel.in [data-parallax-text]{ transform:translateY(calc(var(--p,0) * 12px)); }
}

/* =========================================================
   AMBIENT ORBS + LIQUID GLASS (ported from meso-usa.com)
   ========================================================= */
.orbs{ display:none; }  /* retired: replaced by the global pearlescent backdrop */
.orb{ position:absolute; border-radius:50%; filter:blur(96px); will-change:transform; }
.orb-a{
  width:52vw; height:52vw; max-width:680px; max-height:680px;
  top:-16%; left:-12%;
  background:radial-gradient(circle, rgba(26,115,232,.55), transparent 62%);
  animation:orbDrift 20s ease-in-out infinite;
}
.orb-b{
  width:46vw; height:46vw; max-width:600px; max-height:600px;
  bottom:-18%; right:-12%;
  background:radial-gradient(circle, rgba(150,124,214,.40), transparent 62%);
  animation:orbDrift 28s ease-in-out infinite -7s;
}
.panel-dark .orb-a{ opacity:.40; } .panel-dark .orb-b{ opacity:.34; }
.panel-paper .orb{ filter:blur(120px); }
.panel-paper .orb-a{ opacity:.18; } .panel-paper .orb-b{ opacity:.16; }
@keyframes orbDrift{
  0%,100%{ transform:translate(0,0) scale(1); }
  33%{ transform:translate(34px,-26px) scale(1.06); }
  66%{ transform:translate(-26px,30px) scale(.95); }
}

/* reusable floating glass card */
.glass{
  background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  backdrop-filter:blur(16px) saturate(1.3);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 22px 60px -28px rgba(10,10,10,.30);
}
@supports (backdrop-filter:url(#gs-glass)){
  .glass{ backdrop-filter:url(#gs-glass) saturate(1.3) brightness(1.03); }
}

/* =========================================================
   HERO · video + forced-reading typewriter
   ========================================================= */
#hero .panel-inner{ align-items:flex-start; text-align:left; }
.hero-seq{
  align-items:flex-start; text-align:left;
  gap:clamp(16px,2.4vw,30px);
  max-width:min(92vw,760px);
  text-shadow:0 1px 28px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.45);
  display:flex; flex-direction:column;
}
.hero-stage::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(135% 105% at 26% 40%, transparent 48%, rgba(0,0,0,.62) 100%);
}
.hero-video-on .orbs{ display:none; }
.hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; pointer-events:none; }
.hero-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(8,8,10,.82) 0%, rgba(8,8,10,.58) 36%, rgba(8,8,10,.18) 66%, rgba(8,8,10,.40) 100%);
}
#hero .eyebrow{ font-family:var(--apple); letter-spacing:.42em; font-size:12px; color:#fff; }
.hero-head{ font-family:var(--apple); font-weight:400; letter-spacing:-.025em; line-height:1.05; font-size:clamp(2.5rem,6vw,4.6rem); max-width:17ch; }
.hero-reasons{ display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 28px; margin-top:6px; }
.hero-reasons .hr-item{ display:flex; align-items:baseline; gap:9px; }
.hero-reasons .hr-ix{ font-family:var(--apple); font-weight:500; font-size:13px; letter-spacing:.02em; color:#fff; font-variant-numeric:tabular-nums; }
.hero-reasons .hr-lb{ font-family:var(--apple); font-weight:500; color:#fff; font-size:clamp(1.1rem,2.4vw,1.5rem); }

/* typewriter: hidden ghost reserves the box; a live layer types on top */
[data-type]{ position:relative; }
.tw-ghost{ visibility:hidden; }
.tw-live{ position:absolute; inset:0; display:block; }
.tw-caret{ display:none; }

/* hero video fallback: tappable play button (top-right) shown only if autoplay is blocked
   (e.g. iOS/Android Low Power / battery-saver mode) */
.hero-play-btn{
  position:absolute; z-index:4;
  top:max(18px, env(safe-area-inset-top)); right:18px;
  width:52px; height:52px; border-radius:50%;
  display:none; align-items:center; justify-content:center;
  cursor:pointer; color:#fff;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(10,10,10,.42);
  -webkit-backdrop-filter:blur(8px) saturate(1.2); backdrop-filter:blur(8px) saturate(1.2);
  box-shadow:0 8px 24px -8px rgba(0,0,0,.6);
  transition:transform .2s ease, background-color .2s ease;
}
.hero-play-btn.show{ display:flex; }
.hero-play-btn:hover{ transform:scale(1.06); background:rgba(10,10,10,.62); }
.hero-play-btn:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.hero-play-btn svg{ width:22px; height:22px; margin-left:2px; display:block; fill:#fff; }

/* =========================================================
   #pieces · THE WALL OF PIECES (floating cards, stagger-in)
   ========================================================= */
.pieces-head{ max-width:64ch; }
.piece-wall{
  width:100%;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:clamp(12px,1.4vw,18px);
}
.piece-card{
  background:#fff;
  border:1px solid rgba(10,10,10,.07);
  border-radius:18px;
  padding:18px 18px 16px;
  display:flex; flex-direction:column; gap:8px;
  box-shadow:0 1px 2px rgba(10,10,10,.04), 0 18px 40px -26px rgba(10,10,10,.28);
  /* pre-reveal state */
  opacity:0; transform:translateY(22px) scale(.96);
  transition:opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1), box-shadow .25s ease;
}
.reveal.in .piece-card{ opacity:1; transform:none; }
.piece-card:hover{ box-shadow:0 1px 2px rgba(10,10,10,.05), 0 26px 56px -24px rgba(10,10,10,.36); }
.piece-name{ font-family:var(--apple); font-weight:600; font-size:1.02rem; letter-spacing:-.01em; color:var(--ink); }
.piece-price{ font-family:var(--apple); font-weight:500; font-size:.95rem; color:var(--lose); margin-top:auto; }
.piece-unit{ color:var(--muted); font-weight:400; font-size:.82rem; }
.piece-foot{ font-family:var(--apple); font-size:clamp(.95rem,1.8vw,1.08rem); line-height:1.55; color:var(--muted); max-width:60ch; }
.piece-foot strong{ color:var(--ink); font-weight:600; }
/* stagger the entrance only (one-time appear; no perpetual motion) */
.reveal.in .piece-card:nth-child(1){ transition-delay:.04s; }
.reveal.in .piece-card:nth-child(2){ transition-delay:.09s; }
.reveal.in .piece-card:nth-child(3){ transition-delay:.14s; }
.reveal.in .piece-card:nth-child(4){ transition-delay:.19s; }
.reveal.in .piece-card:nth-child(5){ transition-delay:.24s; }
.reveal.in .piece-card:nth-child(6){ transition-delay:.29s; }
.reveal.in .piece-card:nth-child(7){ transition-delay:.34s; }
.reveal.in .piece-card:nth-child(8){ transition-delay:.39s; }
.reveal.in .piece-card:nth-child(9){ transition-delay:.44s; }
.reveal.in .piece-card:nth-child(10){ transition-delay:.49s; }
.reveal.in .piece-card:nth-child(11){ transition-delay:.54s; }
.reveal.in .piece-card:nth-child(12){ transition-delay:.59s; }

/* =========================================================
   #scattered · clean text list, no illustration
   ========================================================= */
.scattered-inner{ align-items:flex-start; }
.scattered-list{ font-size:clamp(2rem,4.8vw,3.2rem); line-height:1.18; letter-spacing:-.015em; max-width:none; }

/* =========================================================
   #compress · serious A/B comparison (no game)
   ========================================================= */
.ab{ display:flex; gap:clamp(14px,2vw,24px); width:100%; }
.ab-col{
  flex:1 1 0; border-radius:24px; padding:clamp(22px,2.4vw,30px);
  background:#fff; border:1px solid rgba(10,10,10,.06);
  box-shadow:0 1px 2px rgba(10,10,10,.04), 0 24px 60px -30px rgba(10,10,10,.30);
  display:flex; flex-direction:column; gap:14px;
  transition:transform .28s ease, box-shadow .28s ease;
}
.ab-col:hover{ transform:translateY(-4px); box-shadow:0 1px 2px rgba(10,10,10,.05), 0 34px 70px -28px rgba(10,10,10,.4); }
.ab-title{ font-family:var(--apple); font-size:12px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.ab-title-lose{ color:var(--lose); }
.ab-title-win{ color:var(--good); }
.ab-dots{ display:grid; grid-template-columns:repeat(5,1fr); gap:9px; }
.ab-dot{
  aspect-ratio:1; border-radius:50%;
  background:rgba(10,10,10,.06); border:1px solid rgba(10,10,10,.08);
  transform:scale(.5); opacity:0;
  transition:transform .45s cubic-bezier(.2,.8,.3,1.3), opacity .45s ease, background-color .45s ease, border-color .45s ease;
}
.in .ab-dot{ transform:none; opacity:1; }
.ab-dot.lose{ background:rgba(184,36,43,.16); border-color:rgba(184,36,43,.45); }
.ab-dot.win{ background:var(--good); border-color:var(--good); box-shadow:0 6px 16px -6px rgba(26,115,232,.55); }
.ab-count{ font-family:var(--apple); font-weight:600; font-size:clamp(1.15rem,2.2vw,1.5rem); color:var(--ink); }
.ab-num{ font-variant-numeric:tabular-nums; }
.ab-title-win ~ .ab-count .ab-num{ color:var(--good); }
.ab-note{ font-family:var(--apple); font-size:14px; line-height:1.5; color:var(--muted); }
.ab-foot{ font-family:var(--apple); font-size:13px; color:var(--muted); margin-top:14px; }

/* =========================================================
   #machine · statement only
   ========================================================= */
/* #machine matches every other section: left-aligned, same headline scale, same rhythm */
.statement-inner{ align-items:flex-start; text-align:left; }
.display-statement{ max-width:none; line-height:1.06; }
/* the three scope pillars under the statement headline */
.pillars{ font-family:var(--apple); font-weight:600; letter-spacing:-.01em; font-size:clamp(1.25rem,3vw,1.9rem); line-height:1.3; color:var(--ink); margin:0; max-width:none; }
.pillars b, .pillars span{ color:var(--good); }

/* =========================================================
   #build · operator, text only
   ========================================================= */
.build-inner .focal-text{ max-width:62ch; }
.about-bio{ font-family:var(--apple); font-size:clamp(1rem,1.9vw,1.12rem); line-height:1.62; color:var(--muted); margin-top:4px; max-width:56ch; }

/* =========================================================
   #systems · Apple-style floating cards on white
   ========================================================= */
#systems{ scroll-snap-align:none; align-items:flex-start; }
.systems-head{ align-items:flex-start; text-align:left; max-width:62ch; }
.sys-cards{ display:grid; grid-template-columns:1fr; gap:clamp(16px,1.8vw,22px); width:100%; align-items:start; }
.sys-card{
  background:
    radial-gradient(135% 105% at 100% 0%, rgba(26,115,232,.08), rgba(26,115,232,0) 48%),
    linear-gradient(180deg, #ffffff, #f6f9fe);
  border:1px solid rgba(26,115,232,.13);
  border-radius:24px;
  padding:clamp(24px,2.4vw,30px);
  display:flex; flex-direction:column; gap:10px; text-align:left;
  box-shadow:0 1px 2px rgba(10,10,10,.04), 0 24px 60px -30px rgba(10,10,10,.30);
  opacity:0; transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.16,.84,.44,1), transform .8s cubic-bezier(.16,.84,.44,1), box-shadow .28s ease;
}
.reveal.in .sys-card{ opacity:1; transform:none; }
.sys-card:hover{ transform:translateY(-4px); box-shadow:0 1px 2px rgba(10,10,10,.05), 0 34px 70px -28px rgba(10,10,10,.4); }
.reveal.in .sys-card:nth-child(1){ transition-delay:.05s; }
.reveal.in .sys-card:nth-child(2){ transition-delay:.10s; }
.reveal.in .sys-card:nth-child(3){ transition-delay:.15s; }
.reveal.in .sys-card:nth-child(4){ transition-delay:.20s; }
.reveal.in .sys-card:nth-child(5){ transition-delay:.25s; }
.reveal.in .sys-card:nth-child(6){ transition-delay:.30s; }
.reveal.in .sys-card:nth-child(7){ transition-delay:.35s; }
.reveal.in .sys-card:nth-child(8){ transition-delay:.40s; }
.reveal.in .sys-card:nth-child(9){ transition-delay:.45s; }
.sys-eyebrow{ font-family:var(--apple); font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.sys-title{ font-family:var(--apple); font-size:clamp(1.3rem,2.2vw,1.6rem); font-weight:500; letter-spacing:-.025em; color:var(--ink); }
.sys-desc{ font-family:var(--apple); font-size:clamp(.98rem,1.7vw,1.08rem); line-height:1.55; color:var(--muted); }
.sys-card-building{ opacity:1; }
.reveal.in .sys-card-building{ background:radial-gradient(135% 105% at 100% 0%, rgba(26,115,232,.15), rgba(26,115,232,0) 52%), linear-gradient(180deg,#ffffff,#eef4fd); }
.sys-status{ display:inline-block; margin-left:8px; font-family:var(--apple); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--good); border:1px solid var(--good); border-radius:999px; padding:2px 9px; vertical-align:middle; }

/* click-to-expand: "How it works" funnel + 3-app stack (ported from v5, recolored for light cards) */
.sys-card-click{ cursor:pointer; }
.sys-card-click:focus-visible{ outline:2px solid var(--good); outline-offset:3px; }
.sys-card-click.open{ border-color:rgba(26,115,232,.5); box-shadow:0 1px 2px rgba(10,10,10,.05), 0 40px 80px -30px rgba(10,10,10,.45); }
.sys-more-cue{ margin-top:6px; font-family:var(--apple); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--good); font-weight:700; }
.cue-chev{ display:inline-block; transition:transform .35s ease; }
.sys-card.open .cue-chev{ transform:rotate(180deg); }
.sys-detail-wrap{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1); }
.sys-card.open .sys-detail-wrap{ grid-template-rows:1fr; }
.sys-detail{ overflow:hidden; min-height:0; }
.sys-detail-inner{ margin-top:18px; padding-top:18px; border-top:1px solid rgba(10,10,10,.08); }
.sm-what{ font-family:var(--apple); font-size:15px; line-height:1.55; color:var(--ink); margin:0; }
.sm-h{ font-family:var(--apple); font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--good); font-weight:700; margin:20px 0 11px; }
.sm-steps{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.sm-steps li{ display:flex; gap:13px; align-items:baseline; }
.sm-step-k{ flex:0 0 70px; font-family:var(--apple); font-weight:600; font-size:13px; color:var(--ink); }
.sm-step-v{ flex:1; font-family:var(--apple); font-size:13.5px; line-height:1.5; color:var(--muted); }
.sm-stack{ display:flex; flex-wrap:wrap; gap:8px; }
.sm-app{ font-family:var(--apple); font-size:12.5px; font-weight:600; color:var(--good); background:rgba(26,115,232,.08); border:1px solid rgba(26,115,232,.28); border-radius:999px; padding:5px 12px; }
.sm-note{ font-family:var(--apple); font-size:12.5px; font-style:italic; color:var(--muted); margin:15px 0 0; }

/* =========================================================
   #call · close
   ========================================================= */
.close-name{ font-family:var(--apple); font-weight:600; font-size:clamp(20px,2.6vw,26px); letter-spacing:-.02em; color:var(--ink); margin-top:clamp(20px,3vw,32px); }
.close-tag{ font-family:var(--apple); font-weight:400; font-size:clamp(15px,1.9vw,18px); color:var(--muted); margin-top:5px; max-width:46ch; }
.close-contact{ display:flex; flex-direction:column; gap:10px; margin-top:clamp(22px,3vw,34px); }
.close-contact a{ width:fit-content; font-family:var(--apple); font-size:clamp(16px,2.1vw,19px); color:var(--ink); text-decoration:none; border-bottom:1px solid transparent; padding-bottom:1px; transition:color .18s ease, border-color .18s ease; }
.close-contact a:hover{ color:var(--good); border-color:var(--good); }
.close-cta{ font-weight:600 !important; }
.close-plan{ list-style:none; padding:0; margin:clamp(20px,3vw,30px) 0 0; display:flex; flex-direction:column; gap:12px; max-width:50ch; }
.close-plan li{ font-family:var(--apple); font-size:clamp(1rem,1.9vw,1.18rem); line-height:1.45; color:var(--ink); display:flex; gap:13px; align-items:baseline; }
.cp-n{ flex:0 0 auto; font-weight:700; color:var(--good); font-variant-numeric:tabular-nums; }
.close-offer{ font-family:var(--apple); font-size:clamp(1.02rem,2vw,1.22rem); line-height:1.5; color:var(--muted); max-width:48ch; margin-top:clamp(20px,3vw,28px); }
.close-offer strong{ color:var(--ink); font-weight:600; }

/* =========================================================
   DESKTOP LAYOUT
   ========================================================= */
@media(min-width:880px){
  .panel-inner{ gap:clamp(40px,4vw,64px); }
  /* #compress stays single-column (heading top-left, A/B below) like every other section */
  .sys-cards{ grid-template-columns:repeat(3,1fr); }
}
@media(min-width:760px) and (max-width:879px){
  .sys-cards{ grid-template-columns:repeat(2,1fr); }
}

/* =========================================================
   PHONE TUNING (<=480px)
   ========================================================= */
@media(max-width:480px){
  .panel{ padding:72px 20px; }
  .display,
  .display-statement,
  .display-close{ font-size:clamp(2.1rem,10vw,2.9rem); }
  .scattered-list{ font-size:clamp(1.8rem,8.5vw,2.4rem); }
  .piece-wall{ grid-template-columns:repeat(2,1fr); }
  .ab{ flex-direction:column; }
}

/* =========================================================
   REDUCED MOTION · everything appears, nothing animates
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; scroll-snap-type:none; }
  .reveal .focal-text,
  .reveal .focal{ opacity:1; transform:none; transition:none; }
  .panel.in [data-parallax],
  .panel.in [data-parallax-text]{ transform:none !important; }
  .orb{ animation:none; }
  body::before{ animation:none; }
  .piece-card{ opacity:1; transform:none; transition:none; }
  .reveal.in .piece-card{ animation:none; }
  .ab-dot{ opacity:1; transform:none; transition:none; }
  .sys-card{ opacity:1; transform:none; transition:none; }
  .tw-caret{ display:none; }
}
