:root{--ink:#0f1c17;--ink2:#0c1713;--paper:#f4f2ec;--fg:#eef3ef;--fg-dim:rgba(238,243,239,.7);--fg-faint:rgba(238,243,239,.5);--line:rgba(238,243,239,.16);--acc:oklch(0.78 0.17 128);--acc-dark:oklch(0.5 0.13 128);--dark-fg:#111a16;--mono:ui-monospace,Menlo,Consolas,monospace;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--fg);font:400 15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto}
.gut{padding-left:60px;padding-right:60px}
nav.top{display:flex;align-items:center;justify-content:space-between;padding:22px 60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 17px/1 var(--sans);letter-spacing:-.012em}
.links{display:flex;align-items:center;gap:28px;font:400 13.5px/1 var(--sans)}
.links a{text-decoration:none;color:rgba(238,243,239,.58);border-bottom:1.5px solid transparent;padding-bottom:3px;transition:color .2s}
.links a:hover{color:var(--fg)}
.links a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--acc)}
.eyebrow{font:400 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:26px}
h1{margin:0 0 26px;font:400 64px/1 var(--sans);letter-spacing:-.036em;max-width:17ch;text-wrap:pretty}
h1.big{font-size:76px;line-height:.98;max-width:16ch;margin-bottom:30px}
h2{margin:0;font:400 26px/1.2 var(--sans);letter-spacing:-.02em}
h3{margin:0 0 8px;font:500 18px/1.3 var(--sans);letter-spacing:-.012em}
p{margin:0;text-wrap:pretty}
.lede{max-width:62ch;font-size:16.5px;line-height:1.6;color:var(--fg-dim)}
.btn{display:inline-block;text-decoration:none;padding:16px 26px;font:500 14px/1 var(--sans);background:var(--acc);color:#0b1610;transition:opacity .2s}
.btn.ghost{background:none;border:1px solid rgba(238,243,239,.28);color:var(--fg);font-weight:400}
.btn:hover{opacity:.85}
.panel{border:1px solid var(--line);background:var(--ink2)}
.panel-hd{padding:16px 26px;border-bottom:1px solid var(--line);font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--acc);display:inline-block;animation:pulsedot 2.2s ease-out infinite}
@keyframes pulsedot{0%{box-shadow:0 0 0 0 rgba(150,210,90,.5)}70%{box-shadow:0 0 0 9px rgba(150,210,90,0)}100%{box-shadow:0 0 0 0 rgba(150,210,90,0)}}
@keyframes barlife{0%,100%{transform:scaleY(.22)}50%{transform:scaleY(1)}}
@keyframes sweep{0%{transform:translateX(-110%)}100%{transform:translateX(320%)}}
@keyframes rise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
.rise{animation:rise .7s ease-out both}
.rise.d1{animation-delay:.07s}.rise.d2{animation-delay:.14s}.rise.d3{animation-delay:.21s}
.chart{display:flex;align-items:flex-end;gap:5px;height:128px}
.chart span{flex:1;background:var(--acc);height:100%;transform-origin:bottom;animation:barlife 3.2s ease-in-out infinite}
.meta{display:flex;gap:40px;flex-wrap:wrap;font:400 11.5px/1 var(--mono);color:var(--fg-faint)}
.light{background:var(--paper);color:var(--dark-fg);padding:56px 60px 62px}
.light p{color:rgba(0,0,0,.7)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,0,0,.16);border-bottom:1px solid rgba(0,0,0,.16);margin-bottom:56px}
.stats div{padding:26px 24px;border-right:1px solid rgba(0,0,0,.1)}
.stats div:first-child{padding-left:0}
.stats div:last-child{border-right:0;padding-right:0}
.stats .n{font:400 38px/1 var(--sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.stats .l{margin-top:8px;font-size:13.5px;color:rgba(0,0,0,.62)}
.rows{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px}
.rowlist{display:grid;gap:34px}
.row{display:grid;grid-template-columns:26ch minmax(0,1fr);gap:36px;padding-bottom:32px;border-bottom:1px solid rgba(0,0,0,.14)}
.row:last-child{padding-bottom:0;border-bottom:0}
.row p{font-size:15px;line-height:1.62}
.spec{display:grid;grid-template-columns:repeat(2,1fr)}
.spec div{display:grid;grid-template-columns:19ch minmax(0,1fr);gap:20px;padding:15px 26px;border-bottom:1px solid rgba(238,243,239,.1);border-right:1px solid rgba(238,243,239,.1);font:400 13px/1.5 var(--mono)}
.spec div:nth-child(2n){border-right:0}
.spec div:nth-last-child(-n+2){border-bottom:0}
.spec span:first-child{color:var(--fg-faint)}
.cta{padding:44px 60px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta div{font:400 30px/1.18 var(--sans);letter-spacing:-.026em;max-width:24ch}
footer{padding:18px 60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font:400 12px/1.5 var(--mono);color:var(--fg-faint)}
footer a{color:var(--fg-faint)}
footer span{display:flex;gap:24px}
@media (max-width:860px){
nav.top{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 24px}
.links{flex-wrap:wrap;gap:18px}
.gut,.light,.cta,footer{padding-left:24px;padding-right:24px}
h1{font-size:40px}h1.big{font-size:42px;line-height:1.02}
.stats,.spec,.rows,.row{grid-template-columns:1fr}
.stats div{padding:20px 0;border-right:0;border-bottom:1px solid rgba(0,0,0,.1)}
.rows,.rowlist{gap:28px}
.cta{flex-direction:column;align-items:flex-start}
footer{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
/* Rex 2026-09-14: the hero chart is the signature element and must move even
   where the OS asks for reduced motion (remote desktops report that). Longhands,
   so each bar keeps its own inline delay. Page-load and sweep motion stay off. */
@media (prefers-reduced-motion:reduce){
.chart span{animation-name:barlife!important;animation-duration:3.2s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}
.dot{animation-name:pulsedot!important;animation-duration:2.2s!important;animation-timing-function:ease-out!important;animation-iteration-count:infinite!important}
/* the stagger that makes the bars travel as a wave; the reduce-motion reset wiped the inline delays */
.chart span:nth-child(1){animation-delay:0.00s!important}
.chart span:nth-child(2){animation-delay:0.14s!important}
.chart span:nth-child(3){animation-delay:0.28s!important}
.chart span:nth-child(4){animation-delay:0.42s!important}
.chart span:nth-child(5){animation-delay:0.56s!important}
.chart span:nth-child(6){animation-delay:0.70s!important}
.chart span:nth-child(7){animation-delay:0.84s!important}
.chart span:nth-child(8){animation-delay:0.98s!important}
.chart span:nth-child(9){animation-delay:1.12s!important}
.chart span:nth-child(10){animation-delay:1.26s!important}
.chart span:nth-child(11){animation-delay:1.40s!important}
.chart span:nth-child(12){animation-delay:1.54s!important}
.chart span:nth-child(13){animation-delay:1.68s!important}
.chart span:nth-child(14){animation-delay:1.82s!important}
.chart span:nth-child(15){animation-delay:1.96s!important}
.chart span:nth-child(16){animation-delay:2.10s!important}
.chart span:nth-child(17){animation-delay:2.24s!important}
.chart span:nth-child(18){animation-delay:2.38s!important}
.chart span:nth-child(19){animation-delay:2.52s!important}
.chart span:nth-child(20){animation-delay:2.66s!important}
.chart span:nth-child(21){animation-delay:2.80s!important}
.chart span:nth-child(22){animation-delay:2.94s!important}
}
@media (max-width:860px){
[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:24px!important}
[style*="justify-content:flex-end"]{justify-content:flex-start!important}
.links{gap:14px 18px;font-size:13px}
}
