/* The motion layer keeps layout and reading order independent from animation. */
html { scroll-padding-top: 94px; }
body { letter-spacing: 0; }
.kicker, .hero-title, .section-intro h2, .product-copy > p:first-child,
.manifesto-copy, .founder-sticky h2, .cta h2 { letter-spacing: 0; }
.brand-lockup > span { white-space: normal; }
.brand-lockup img, .language-switch { flex-shrink: 0; }
.scroll-cue { position: absolute; }
.ticker { direction: ltr; }
.ticker-track { padding-right: 28px; }
.hero-copy, .hero-console { min-width: 0; }
.console-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 20px; margin-top: 24px; }
.console-grid > div { min-width: 0; }
.console-grid > div:nth-child(-n+2) { padding-top: 17px; position: relative; }
.stat-prefix { position: absolute; inset-block-start: 0; inset-inline-start: 0; color: var(--acid); font-size: 10px; font-weight: 700; line-height: 1.5; }
.console-grid strong { line-height: 1.15; }
.console-grid small { font-size: 11px; line-height: 1.45; margin-top: 4px; color: #aaa; }
.hero-console .signal { position: static; height: 34px; margin-top: 24px; }
.hero-title { font-size: 80px; line-height: 1.08; }
.title-line { padding-bottom: .16em; margin-bottom: -.16em; }
.hero-title:hover .title-line > span { transform: none; }
.hero-kinetic { font-size: 240px; direction: ltr; font-family: var(--font); }

.loader { background: transparent; transition: visibility 0s 1.1s; }
.loader:before, .loader:after {
  content: ""; position: absolute; inset: 0; background: var(--ink);
  transition: transform 1.1s cubic-bezier(.76,0,.24,1);
}
.loader:before { right: 50%; }
.loader:after { left: 50%; }
.loader-mark, .loader-line { z-index: 1; }
.loader-mark { padding: 12px; transition: opacity .24s, scale .6s; }
.loader.done { transform: none; visibility: hidden; pointer-events: none; }
.loader.done:before { transform: translateX(-101%); }
.loader.done:after { transform: translateX(101%); }
.loader.done .loader-mark { opacity: 0; scale: 1.14; }
.loader.done .loader-line { opacity: 0; }
.motion-enabled:not(.intro-ready) .title-line > span { animation: none; transform: translateY(130%); }
.motion-enabled.intro-ready .title-line > span { animation: headlineEntrance 1.2s .35s cubic-bezier(.16,1,.3,1) both; }
.motion-enabled.intro-ready .title-line:nth-child(2) > span { animation-delay: .48s; }
.motion-enabled.intro-ready .title-line:nth-child(3) > span { animation-delay: .61s; }
@keyframes headlineEntrance {
  from { transform: translateY(130%); opacity: .2; }
  to { transform: translateY(0); opacity: 1; }
}
/* Keep introductory content visible: clipping the observed element to zero
   prevents IntersectionObserver from ever revealing it. */
.motion-enabled .section-intro.reveal { clip-path: none; opacity: 1; transform: none; }

.product { --chapter-color: var(--acid); }
.product-pink { --chapter-color: var(--pink); }
.product-coral { --chapter-color: #72d7c2; }
.product-blue { --chapter-color: var(--blue); }
.product-index { font-size: 18px; font-variant-numeric: tabular-nums; }
.product:hover .product-index { transform: none; }
.product-copy h3 { font-size: 66px; }
.product-visual { transform: none; }
.product:hover .product-visual { transform: none; }
.product .product-copy { min-width: 0; }
.product-copy a { max-width: 100%; }
.product-copy a span { flex-shrink: 0; }
.product-scroll-hint { display: none; }

.chapter-nav {
  position: fixed; z-index: 90; left: 50%; bottom: 18px;
  width: min(760px, calc(100% - 32px)); display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr)); direction: ltr;
  background: #101010; color: #fff; border: 1px solid #404040;
  box-shadow: 0 12px 32px #0003; padding: 5px;
  transform: translate(-50%,calc(100% + 40px)); visibility: hidden;
  transition: transform .45s cubic-bezier(.16,1,.3,1), visibility .45s;
}
.chapter-nav.is-visible { transform: translate(-50%,0); visibility: visible; }
.chapter-nav button {
  position: relative; display: flex; gap: 10px; align-items: center;
  min-width: 0; min-height: 48px; padding: 10px 12px; border: 0;
  background: transparent; color: #aaa; text-align: left; cursor: pointer;
  font: 600 12px var(--font); transition: color .25s, background .25s;
}
.chapter-nav button b { font-size: 11px; color: var(--chapter-color); }
.chapter-nav button[aria-current="true"] { background: #242424; color: #fff; }
.chapter-nav button:after { content: ""; position: absolute; inset: auto 12px 0; height: 2px; background: var(--chapter-color); transform: scaleX(0); transform-origin: left; transition: transform .4s; }
.chapter-nav button[aria-current="true"]:after { transform: scaleX(1); }
.chapter-nav button:hover { color: #fff; }
.chapter-nav button:focus-visible, .language-switch button:focus-visible { outline: 2px solid var(--acid); outline-offset: -3px; }
.method { position: relative; }
.method:before { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 3px; background: var(--pink); transform: scaleX(0); transform-origin: left; transition: transform .8s; }
.method.visible:before { transform: scaleX(1); }
.project-tile { position: relative; }
.project-tile:after { content: ""; position: absolute; inset: auto 0 -1px; height: 1px; background: var(--acid); transform: scaleX(0); transform-origin: left; transition: transform .6s; }
.project-tile:hover:after { transform: scaleX(1); }
.cta h2 { font-size: 112px; }
.cta h2 { margin-bottom: 40px; }
.cta-button { margin-inline-start: auto; margin-inline-end: 16px; }
.cta-meta { margin-top: 56px; }
.cta:after { transition: translate .1s linear; translate: 0 var(--signature-shift,0px); }

@media (min-width: 901px) {
  .product-list { height: calc(100svh - 174px); min-height: 490px; }
  .product { grid-template-columns: 32px minmax(0,.8fr) minmax(0,1.2fr); gap: 32px; padding: 32px; }
  .product-copy { min-height: 0; }
  .product-visual { height: min(440px,calc(100% - 40px)); min-width: 0; }
  .motion-enabled .product-visual { scale: var(--chapter-scale,1); translate: 0 var(--chapter-lift,0px); }
  .motion-enabled .product-copy { translate: 0 var(--copy-lift,0px); }
}
@media (min-width: 1500px) { .hero-title { font-size: 100px; }.product-copy h3 { font-size: 80px; } }
@media (min-width: 901px) and (max-width: 1150px) { .hero-title { font-size: 58px; }.product-copy h3 { font-size: 56px; }.site-header { gap: 18px; }.availability { display: none; }.language-switch { margin-left: auto; } }
@media (max-width: 900px) {
  .ecosystems .section-intro { grid-template-columns: minmax(0,1fr); }
  .hero-title { font-size: 58px; }.hero-kinetic { font-size: 180px; }
  .scroll-cue { display: none; }.product-copy h3 { font-size: 56px; }
  .cta h2 { font-size: 64px; }.hero-console { margin-top: 32px; }
  .chapter-nav { bottom: 10px; }.chapter-nav button { flex-direction: column; gap: 4px; padding: 7px 3px; font-size: 11px; }
  .chapter-nav button:after { left: 3px; right: 3px; }
}
@media (max-width: 560px) {
  .cta-button { margin-inline: auto; }
  .cta-meta { margin-top: 40px; }
  .hero-title { font-size: 40px; }.hero-lead { font-size: 16px; }
  .hero { padding-bottom: 40px; }.hero-title { margin-bottom: 22px; }
  .hero-kinetic { font-size: 120px; }.product-copy h3 { font-size: 46px; }
  .cta h2 { font-size: 44px; }.section-intro h2 { font-size: 40px; }
  .product { gap: 22px; }.language-switch { margin-left: auto; }
  .nav-links { height: 100svh; }.menu-toggle { flex-shrink: 0; }
  .menu-toggle[aria-expanded="true"] { color: white; }
}
@media (prefers-reduced-motion: reduce) {
  .loader { display: none; }
  .motion-enabled .title-line > span { animation: none !important; transform: none !important; }
  .motion-enabled .section-intro.reveal { clip-path: none; }
  .motion-enabled .product-visual, .motion-enabled .product-copy { scale: 1; translate: none; }
  .cta:after { translate: none; }
}
