/* ===== H3 Pulse — shared stylesheet ===== */

:root{
  --bg:#FFFFFF;
  --surface:#F5F8F8;
  --surface-2:#EEF3F3;
  --ink:#12181C;
  --ink-dim:#5C6870;
  --ink-faint:#98A3AA;
  --ink-inverse:#FFFFFF;
  --pulse:#12B3A8;
  --pulse-strong:#0E9187;
  --pulse-dim:rgba(18,179,168,0.10);
  --pulse-glow:rgba(18,179,168,0.28);
  --data:#A9B3B8;
  --line:rgba(18,24,28,0.09);
  --line-strong:rgba(18,24,28,0.18);
  --shadow-sm:0 1px 2px rgba(18,24,28,0.04);
  --shadow-md:0 12px 28px rgba(18,24,28,0.08);
  --shadow-lg:0 1px 2px rgba(18,24,28,0.04), 0 20px 48px rgba(18,24,28,0.07);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Literata',Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
[hidden]{display:none!important;}

h1,h2,h3,nav .logo,button,.btn,.eyebrow,.mono{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
}
.mono,.eyebrow,.readout,code{
  font-family:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
}

h1,h2,h3{margin:0;text-wrap:balance;font-weight:700;letter-spacing:-0.01em;}
p{margin:0;}
a{color:inherit;}
::selection{background:var(--pulse);color:var(--ink-inverse);}

.wrap{
  max-width:1180px;
  margin-inline:auto;
  padding-inline:24px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

/* ---------- header ---------- */
header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,0.86);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-block:16px;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:0.01em;
  white-space:nowrap;
  text-decoration:none;
  color:var(--ink);
  flex:none;
}
.logo-icon{
  width:27px;height:27px;flex:none;
  transform-origin:50% 50%;
  animation:icon-beat 2.6s ease-in-out infinite;
}
@keyframes icon-beat{
  0%,100%{transform:scale(1);}
  8%{transform:scale(1.1);}
  16%{transform:scale(1);}
}
@media (prefers-reduced-motion: reduce){
  .logo-icon{animation:none;}
}
nav.links{
  display:flex;
  gap:26px;
  font-size:0.88rem;
  color:var(--ink-dim);
}
nav.links a{
  text-decoration:none;
  position:relative;
  padding-bottom:2px;
  transition:color .15s ease;
}
nav.links a::after{
  content:"";
  position:absolute;left:0;right:100%;bottom:-3px;
  height:1px;background:var(--pulse);
  transition:right .2s ease;
}
nav.links a:hover,nav.links a:focus-visible{color:var(--ink);}
nav.links a:hover::after,nav.links a:focus-visible::after{right:0;}

.lang-dd{position:relative;flex:none;}
.lang-dd-btn{
  display:inline-flex;align-items:center;gap:7px;
  background:none;border:1px solid var(--line-strong);border-radius:999px;
  padding:8px 12px 8px 13px;cursor:pointer;
  font-family:'IBM Plex Mono',monospace;font-size:0.74rem;letter-spacing:0.05em;
  color:var(--ink-dim);
  transition:border-color .15s ease, color .15s ease;
}
.lang-dd-btn:hover,.lang-dd-btn[aria-expanded="true"]{border-color:var(--pulse);color:var(--ink);}
.lang-dd-btn svg{width:9px;height:9px;flex:none;transition:transform .25s cubic-bezier(.65,0,.35,1);}
.lang-dd-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.lang-dd-menu{
  position:absolute;top:calc(100% + 10px);right:0;min-width:172px;
  background:var(--bg);border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow-md);padding:6px;z-index:70;
  list-style:none;margin:0;
  opacity:0;transform:translateY(-6px) scale(.98);
  pointer-events:none;transform-origin:top right;
  transition:opacity .18s ease, transform .18s cubic-bezier(.34,1.56,.64,1);
}
.lang-dd.open .lang-dd-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.lang-dd-menu li{margin:0;}
.lang-dd-menu button{
  display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;
  background:none;border:none;border-radius:9px;padding:10px 11px;
  font-family:'Literata',Georgia,serif;font-size:0.94rem;color:var(--ink);
  cursor:pointer;text-align:left;transition:background .15s ease;
}
.lang-dd-menu button:hover,.lang-dd-menu button:focus-visible{background:var(--surface);}
.lang-dd-menu button .code{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--ink-faint);}
.lang-dd-menu button[aria-selected="true"]{color:var(--pulse);font-weight:600;}
.lang-dd-menu button[aria-selected="true"] .code{color:var(--pulse);}

.lang-dd.drop-up .lang-dd-menu{
  top:auto;bottom:calc(100% + 10px);
  transform:translateY(6px) scale(.98);transform-origin:bottom right;
}
.lang-dd.drop-up.open .lang-dd-menu{transform:translateY(0) scale(1);}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  font-size:0.86rem;
  border-radius:999px;
  padding:10px 20px;
  border:1px solid var(--line-strong);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
  transition:border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.btn:hover,.btn:focus-visible{border-color:var(--pulse); transform:translateY(-1px);}
.btn:active{transform:translateY(0) scale(.97);}
.btn-primary{
  background:var(--pulse);
  border-color:var(--pulse);
  color:var(--ink-inverse);
}
.btn-primary:hover,.btn-primary:focus-visible{
  background:var(--pulse-strong);
  border-color:var(--pulse-strong);
  box-shadow:0 8px 20px rgba(18,179,168,0.28);
}
.menu-toggle{
  display:none;
  background:none;border:1px solid var(--line-strong);border-radius:8px;
  width:40px;height:40px;color:var(--ink);cursor:pointer;
  align-items:center;justify-content:center;
  font-size:1.1rem;
  flex:none;
  position:relative;
}
.menu-toggle .bar{
  position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;
  transition:transform .25s ease, opacity .2s ease;
}
.menu-toggle .bar:nth-child(1){top:14px;}
.menu-toggle .bar:nth-child(2){top:19.5px;}
.menu-toggle .bar:nth-child(3){top:25px;}
.menu-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
.header-cta{display:inline-flex;}

.mobile-panel{
  position:fixed;
  top:var(--header-h,72px); left:0; right:0;
  z-index:40;
  background:var(--bg);
  border-bottom:1px solid var(--line);
  box-shadow:0 20px 44px rgba(18,24,28,0.10);
  max-height:0;
  overflow:hidden;
  transition:max-height .4s cubic-bezier(.16,1,.3,1);
}
.mobile-panel.open{overflow-y:auto;}
.mobile-panel-inner{padding:8px 24px 26px;display:flex;flex-direction:column;}
.mobile-panel a.nav-link{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;
  font-size:1.15rem;
  color:var(--ink);
  text-decoration:none;
  padding-block:15px;
  border-bottom:1px solid var(--line);
  transition:color .15s ease;
}
.mobile-panel a.nav-link:hover,.mobile-panel a.nav-link:active{color:var(--pulse);}
.mobile-panel-foot{
  display:flex;align-items:center;gap:12px;
  margin-top:20px;flex-wrap:wrap;
}
.mobile-panel-foot .btn-primary{flex:1 1 auto;justify-content:center;}

/* ---------- pulse strip ---------- */
.pulse-strip{
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.pulse-strip-inner{
  max-width:1180px;margin-inline:auto;padding-inline:24px;
  display:flex;align-items:center;gap:16px;height:38px;
}
.pulse-strip canvas{display:block;height:38px;flex:1;min-width:0;}
.pulse-strip .readout{
  font-size:0.72rem;
  letter-spacing:0.08em;
  color:var(--ink-faint);
  white-space:nowrap;
  flex:none;
}

/* ---------- hero ---------- */
.hero{padding-block:72px 96px;}
.hero .wrap{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:56px;
  align-items:center;
}
.hero .copy > *{
  opacity:0; transform:translateY(14px);
  animation:load-in .7s ease forwards;
}
.hero .copy > *:nth-child(1){animation-delay:.02s;}
.hero .copy > *:nth-child(2){animation-delay:.09s;}
.hero .copy > *:nth-child(3){animation-delay:.17s;}
.hero .copy > *:nth-child(4){animation-delay:.25s;}
.hero-visual{animation:load-in-panel .9s cubic-bezier(.16,1,.3,1) .18s backwards;}
@keyframes load-in{
  0%{opacity:0;transform:translateY(14px);}
  100%{opacity:1;transform:translateY(0);}
}
@keyframes load-in-panel{
  0%{opacity:0;transform:translateY(14px) scale(.98);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
@media (prefers-reduced-motion: reduce){
  .hero .copy > *,.hero .monitor{animation:none;opacity:1;transform:none;}
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:0.74rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-dim);
  margin-bottom:20px;
}
.eyebrow::before{
  content:"";
  width:14px;height:1px;background:var(--pulse);
}
.hero h1{
  font-size:clamp(2.2rem, 4.6vw, 4.1rem);
  line-height:1.08;
}
.hero h1 em{font-style:normal;color:var(--pulse);}
.hero .sub{
  margin-top:24px;
  max-width:46ch;
  font-size:1.08rem;
  color:var(--ink-dim);
}
.hero .cta-row{
  margin-top:36px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero .cta-row .btn{padding:13px 26px;font-size:0.92rem;}

.monitor{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.monitor::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle, rgba(18,24,28,0.16) 1px, transparent 1.4px) 0 0/18px 18px;
  opacity:0.55;
  pointer-events:none;
}
.monitor-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:14px;position:relative;
}
.monitor-head .label{font-size:0.72rem;letter-spacing:0.1em;color:var(--ink-faint);}
.monitor-head .value{font-size:0.82rem;color:var(--pulse);font-weight:600;}
.monitor canvas{display:block;width:100%;height:180px;position:relative;}
.monitor-foot{
  display:flex;gap:22px;margin-top:16px;padding-top:16px;
  border-top:1px solid var(--line);position:relative;flex-wrap:wrap;
}
.monitor-foot .stat{flex:1 1 130px;}
.monitor-foot .stat .k{font-size:0.68rem;letter-spacing:0.08em;color:var(--ink-faint);}
.monitor-foot .stat .v{font-size:0.92rem;margin-top:4px;color:var(--ink);}
.monitor-foot .stat .v.pulse-color{color:var(--pulse);}

/* ---------- section shell ---------- */
section{padding-block:88px;border-top:1px solid var(--line);}
section .head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  margin-bottom:48px;flex-wrap:wrap;
}
section h2{font-size:clamp(1.6rem,2.6vw,2.5rem);max-width:20ch;}
section .head .head-sub{max-width:38ch;color:var(--ink-dim);font-size:0.98rem;}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.stagger > *{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
.stagger.in > *{opacity:1;transform:translateY(0);}
.stagger.in > *:nth-child(1){transition-delay:.02s;}
.stagger.in > *:nth-child(2){transition-delay:.09s;}
.stagger.in > *:nth-child(3){transition-delay:.16s;}
.stagger.in > *:nth-child(4){transition-delay:.23s;}
.stagger.in > *:nth-child(5){transition-delay:.30s;}

/* ---------- approach (beats) ---------- */
.beats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.beat{background:var(--surface);padding:32px 28px;}
.beat .glyph{font-size:2.6rem;font-weight:800;color:var(--pulse);line-height:1;}
.beat h3{font-size:1.05rem;margin-top:16px;}
.beat p{margin-top:10px;color:var(--ink-dim);font-size:0.95rem;}
.origin-note{margin-top:32px;max-width:64ch;color:var(--ink-dim);font-size:1rem;}
.origin-note strong{color:var(--ink);font-weight:600;}

/* ---------- capabilities ---------- */
.cap-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.cap{background:var(--surface);padding:30px 28px;display:flex;flex-direction:column;gap:14px;}
.cap .tag{font-size:0.7rem;letter-spacing:0.1em;color:var(--ink-faint);}
.cap h3{font-size:1.15rem;}
.cap p{color:var(--ink-dim);font-size:0.94rem;}

/* ---------- proof ---------- */
.proof-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.proof-card{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:14px;
  padding:26px;
  display:flex;flex-direction:column;gap:12px;
  box-shadow:var(--shadow-sm);
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.proof-card:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.proof-card .tag{
  align-self:flex-start;
  font-size:0.66rem;letter-spacing:0.08em;
  color:var(--pulse);
  background:var(--pulse-dim);
  padding:4px 10px;border-radius:999px;
}
.proof-card h3{font-size:1.1rem;}
.proof-card p{color:var(--ink-dim);font-size:0.92rem;}

/* ---------- founders ---------- */
.founders{background:var(--surface);}
.founders .wrap > .head{margin-bottom:44px;}
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.steps li{display:flex;gap:18px;padding-block:20px;border-top:1px solid var(--line);position:relative;}
.steps li:first-child{border-top:none;}
.steps .n{font-family:'IBM Plex Mono',monospace;font-size:0.75rem;color:var(--ink-faint);position:absolute;right:0;top:24px;}
.steps h3{font-size:1rem;margin-bottom:4px;}
.steps p{color:var(--ink-dim);font-size:0.92rem;}

.intake{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:16px;
  padding:32px;
  box-shadow:var(--shadow-lg);
}
.intake .readout{font-size:0.72rem;letter-spacing:0.1em;color:var(--ink-faint);margin-bottom:6px;display:block;}
.intake h3{font-size:1.25rem;margin-bottom:22px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:0.78rem;color:var(--ink-dim);margin-bottom:8px;letter-spacing:0.02em;}
.field input,.field textarea{
  width:100%;
  background:var(--surface);
  border:1px solid var(--line-strong);
  border-radius:10px;
  padding:12px 14px;
  color:var(--ink);
  font-family:'Literata',Georgia,serif;
  font-size:0.96rem;
  resize:vertical;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--pulse);
  box-shadow:0 0 0 3px var(--pulse-dim);
}
.field textarea{min-height:96px;}
.intake .btn{width:100%;justify-content:center;padding:13px;}
.intake-note{margin-top:14px;font-size:0.8rem;color:var(--ink-faint);}
.intake-note a{color:var(--pulse);text-decoration:none;}
.intake-note a:hover{text-decoration:underline;}
.rules-link{display:inline-block;margin-top:8px;font-size:0.8rem;color:var(--pulse);text-decoration:none;}
.rules-link:hover{text-decoration:underline;}
.confirm{
  margin-top:14px;padding:12px 14px;border-radius:10px;
  background:var(--pulse-dim);color:var(--pulse-strong);font-size:0.86rem;
  opacity:0;transform:translateY(-4px);
  transition:opacity .25s ease, transform .25s ease;
}
.confirm.show{opacity:1;transform:translateY(0);}

/* ---------- rules page ---------- */
.rules-hero{padding-block:56px 40px;border-top:none;}
.rules-hero h1{font-size:clamp(2rem,4vw,3rem);max-width:18ch;}
.rules-hero .sub{margin-top:18px;max-width:62ch;color:var(--ink-dim);font-size:1.05rem;}
.rules-block{padding-block:56px;}
.rules-block h2{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:22px;}
.rules-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.rules-list li{background:var(--surface);padding:18px 22px;display:flex;gap:14px;font-size:0.98rem;color:var(--ink-dim);}
.rules-list li::before{
  content:"";flex:none;width:6px;height:6px;border-radius:50%;
  background:var(--pulse);margin-top:9px;
}
.rules-closing{
  padding-block:64px;text-align:left;
}
.rules-closing .k{font-size:0.8rem;letter-spacing:0.1em;color:var(--ink-faint);text-transform:uppercase;}
.rules-closing h2{margin-top:10px;font-size:clamp(1.5rem,2.6vw,2.1rem);}
.rules-closing .btn{margin-top:24px;}

/* ---------- footer ---------- */
footer{background:var(--surface);border-top:1px solid var(--line);padding-block:64px 32px;}
.footer-logo{margin-bottom:22px;}
.footer-logo .logo-icon{width:30px;height:30px;}
footer .close-line{
  font-size:clamp(1.5rem,3.2vw,2.6rem);
  font-weight:700;max-width:20ch;letter-spacing:-0.01em;
}
footer .close-line em{font-style:normal;color:var(--pulse);}
footer .blurb{margin-top:18px;max-width:52ch;color:var(--ink-dim);font-size:1rem;}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:32px;
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.footer-col .col-title{font-size:0.72rem;letter-spacing:0.1em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:14px;}
.footer-col a{display:block;text-decoration:none;color:var(--ink-dim);font-size:0.92rem;padding-block:5px;transition:color .15s ease;}
.footer-col a:hover{color:var(--pulse);}
.footer-row{
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);
  flex-wrap:wrap;
}
.footer-meta{font-size:0.78rem;color:var(--ink-faint);font-family:'IBM Plex Mono',monospace;}
.footer-copy{font-size:0.8rem;color:var(--ink-faint);}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .proof-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.links{display:none;}
  .menu-toggle{display:flex;}
}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;}
  .beats{grid-template-columns:1fr;}
  .founders-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .cap-grid{grid-template-columns:1fr;}
  .proof-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:480px){
  .wrap{padding-inline:18px;}
  section{padding-block:60px;}
  .hero{padding-block:44px 56px;}
  .monitor{padding:16px;}
  .monitor-foot{gap:14px;}
  .founders-grid{gap:32px;}
  .intake{padding:22px;}
  .header-cta{display:none;}
  .lang-dd-btn{padding:7px 10px 7px 11px;font-size:0.7rem;}
  footer{padding-block:48px 24px;}
  .footer-row{flex-direction:column;align-items:flex-start;gap:10px;}
}
@media (max-width:360px){
  .nav-row{gap:8px;}
  .logo{font-size:0.95rem;}
}

/* ================= innovation layer: icons, motion, depth ================= */
.ic{width:1em;height:1em;flex:none;display:block;}

/* scroll progress */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;background:linear-gradient(90deg,var(--pulse),#5B8CFF);transform-origin:0 50%;transform:scaleX(0);pointer-events:none;}

/* hero atmosphere */
.hero{position:relative;overflow:hidden;}
.hero > .wrap{position:relative;z-index:1;}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);}
.hero-bg .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform;}
.hero-bg .b1{width:460px;height:460px;left:-120px;top:-140px;background:rgba(18,179,168,.30);animation:drift1 17s ease-in-out infinite alternate;}
.hero-bg .b2{width:420px;height:420px;right:-100px;top:-60px;background:rgba(91,140,255,.24);animation:drift2 21s ease-in-out infinite alternate;}
.hero-bg .b3{width:340px;height:340px;left:38%;bottom:-160px;background:rgba(120,220,190,.28);animation:drift3 19s ease-in-out infinite alternate;}
@keyframes drift1{to{transform:translate(120px,80px) scale(1.15);}}
@keyframes drift2{to{transform:translate(-140px,90px) scale(.9);}}
@keyframes drift3{to{transform:translate(-90px,-60px) scale(1.2);}}

/* hero visual: tilt + floating tech chips */
.hero-visual{position:relative;perspective:1100px;}
.hero-visual .monitor{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.16,1,.3,1);will-change:transform;}
.chip-float{
  position:absolute;z-index:3;width:50px;height:50px;border-radius:15px;
  background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px rgba(18,24,28,.10);
  display:grid;place-items:center;font-size:24px;color:var(--ink);
  animation:floaty 6s ease-in-out infinite;
  transition:transform .25s cubic-bezier(.16,1,.3,1);
}
.chip-float .tint{color:var(--pulse);}
.chip-float.f1{left:-26px;top:-22px;animation-delay:-1s;}
.chip-float.f2{right:-18px;top:34px;animation-delay:-3s;animation-duration:7s;}
.chip-float.f3{left:-30px;bottom:74px;animation-delay:-2s;animation-duration:8s;}
.chip-float.f4{right:26px;bottom:-24px;animation-delay:-4s;}
.chip-float.f5{left:38%;top:-34px;animation-delay:-5s;animation-duration:7.5s;}
@keyframes floaty{0%,100%{translate:0 0;}50%{translate:0 -12px;}}

/* spotlight that follows the cursor */
.spot{position:relative;overflow:hidden;}
.spot::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(18,179,168,.16),transparent 62%);
}
.spot:hover::before{opacity:1;}
.spot::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;border-radius:inherit;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(18,179,168,.5),transparent 70%);
  padding:1px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
}
.spot:hover::after{opacity:1;}

/* capability + step icons */
.cap-ic,.step-ic{
  display:grid;place-items:center;flex:none;color:var(--pulse);
  background:var(--pulse-dim);border-radius:12px;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .25s ease,color .25s ease;
}
.cap-ic{width:44px;height:44px;font-size:22px;}
.step-ic{width:40px;height:40px;font-size:20px;}
.cap:hover .cap-ic{background:var(--pulse);color:#fff;transform:translateY(-3px) rotate(-6deg) scale(1.08);}
.steps li:hover .step-ic{background:var(--pulse);color:#fff;transform:scale(1.1) rotate(6deg);}
.steps li:not(:last-child)::before{
  content:"";position:absolute;left:19.5px;top:66px;bottom:-16px;width:1px;
  background:linear-gradient(var(--pulse),transparent);opacity:.5;
  transform-origin:top;transform:scaleY(0);transition:transform .9s cubic-bezier(.16,1,.3,1) .35s;
}
.steps.in li:not(:last-child)::before{transform:scaleY(1);}

/* stack marquee */
.stack{padding-inline:0;overflow:hidden;}
.stack .head{margin-bottom:36px;}
.marquee{
  overflow:hidden;padding-block:8px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.marquee-track{display:flex;gap:14px;width:max-content;animation:marquee 38s linear infinite;}
.marquee.rev .marquee-track{animation-direction:reverse;animation-duration:44s;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{to{transform:translateX(calc(-50% - 7px));}}
.chip{
  display:inline-flex;align-items:center;gap:11px;padding:13px 22px 13px 16px;border-radius:999px;
  background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow-sm);
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1rem;color:var(--ink);white-space:nowrap;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .2s ease,box-shadow .2s ease;
}
.chip .ic{font-size:24px;}
.chip.tint .ic{color:var(--pulse);}
.chip:hover{transform:translateY(-5px) scale(1.04);border-color:var(--pulse);box-shadow:0 14px 28px rgba(18,179,168,.18);}

/* word-by-word headline reveal */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em;}
.split .w > span{display:inline-block;transform:translateY(112%);}
.split.go .w > span,.reveal.in .split .w > span{
  animation:word-up .95s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--wi,0) * 65ms + 120ms);
}
@keyframes word-up{from{transform:translateY(112%);}to{transform:translateY(0);}}
.hero .copy > h1{opacity:1;}

/* magnetic primary CTA uses the independent `translate` property */
.hero .cta-row .btn-primary{translate:var(--tx,0) var(--ty,0);transition:translate .25s cubic-bezier(.16,1,.3,1),background .15s ease,box-shadow .15s ease,border-color .15s ease;}

@media (max-width:860px){
  .chip-float{width:42px;height:42px;font-size:20px;border-radius:13px;}
  .chip-float.f1{left:-8px;top:-18px;}
  .chip-float.f2{right:-6px;}
  .chip-float.f3{left:-10px;}
  .chip-float.f5{display:none;}
}
@media (max-width:480px){
  .chip-float.f2,.chip-float.f3{display:none;}
  .chip{padding:11px 18px 11px 13px;font-size:.92rem;}
  .hero-bg .blob{opacity:.4;}
}
@media (prefers-reduced-motion: reduce){
  .marquee-track,.chip-float,.hero-bg .blob{animation:none !important;}
  .split .w > span{transform:none !important;animation:none !important;}
  .hero-visual .monitor{transform:none !important;}
}
