/* Ratify Media: About / Why us / Coverage / Team pages + home teasers */

/* ---------- page hero ---------- */
.ph{position:relative;padding:170px 0 70px;text-align:center;overflow:hidden;
  background:radial-gradient(900px 520px at 0% 0%,rgba(255,255,255,.09),transparent 60%),radial-gradient(900px 520px at 100% 0%,rgba(255,255,255,.06),transparent 60%)}
.ph .wrap{display:flex;flex-direction:column;align-items:center}
.ph h1{margin-top:26px;max-width:15ch}
.ph .lead{margin-top:24px;max-width:640px;color:#a5a5a5;font-size:clamp(16px,1.45vw,18px);line-height:1.7;text-wrap:balance}
.ph .hero-ctas{justify-content:center}
.ph-crumb{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:13px;color:#6b6b6b;letter-spacing:.04em}
.ph-crumb a:hover{color:#fff}
.ph-crumb i{width:3px;height:3px;border-radius:50%;background:#444}

/* ---------- section heads on subpages ---------- */
.kick{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#8a8a8a}
.kick b{font-weight:600;color:#fff}
.kick::before{content:"";width:18px;height:1px;background:#555}
.muted{color:#a5a5a5}

/* ---------- headline stat row ---------- */
.hs{margin-top:64px;width:100%;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.015);text-align:left}
.hs>div{padding:30px 30px 28px;border-left:1px solid rgba(255,255,255,.07);position:relative}
.hs>div:first-child{border-left:0}
.hs b{display:block;font-size:clamp(40px,4.6vw,60px);font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.hs p{margin-top:14px;font-size:15px;line-height:1.5;color:#d4d4d4}
.hs small{display:block;margin-top:10px;font-size:12px;color:#6b6b6b;letter-spacing:.02em}
.hs .tick{position:absolute;top:30px;right:28px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.4);animation:hsPing 2.6s ease-out infinite}
@keyframes hsPing{0%{box-shadow:0 0 0 0 rgba(255,255,255,.35)}70%,100%{box-shadow:0 0 0 9px rgba(255,255,255,0)}}

/* ---------- sticky chapter rail (Why us) ---------- */
.rail{position:sticky;top:0;z-index:40;padding-top:84px;margin-top:-84px;pointer-events:none}
.rail-in{pointer-events:auto;display:flex;gap:4px;justify-content:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:6px;margin:0 auto;width:max-content;max-width:calc(100vw - 32px);border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(10,10,10,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.rail-in::-webkit-scrollbar{display:none}
.rail a{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;font-size:13.5px;font-weight:500;color:#8a8a8a;white-space:nowrap;transition:color .25s,background-color .25s}
.rail a span{font-size:11px;letter-spacing:.12em;color:#555;transition:color .25s}
.rail a:hover{color:#fff}
.rail a.on{color:#fff;background:rgba(255,255,255,.08)}
.rail a.on span{color:#a5a5a5}

/* ---------- article (chapter) layout ---------- */
.art{padding:120px 0 0;scroll-margin-top:70px}
.art-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.art-side{position:sticky;top:150px}
.art-no{display:flex;align-items:center;gap:14px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:#6b6b6b}
.art-no b{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(#161616,#0a0a0a);color:#fff;font-size:13px;letter-spacing:.06em;font-weight:600}
.art h2{margin-top:22px;text-wrap:balance}
.art-side>p{margin-top:20px;color:#a5a5a5;font-size:16px;line-height:1.75}
.means{margin-top:28px;padding:20px 22px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(rgba(255,255,255,.035),rgba(255,255,255,.01))}
.means small{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#8a8a8a}
.means small::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff}
.means p{margin-top:10px;font-size:15.5px;line-height:1.6;color:#e5e5e5}
.art-main{display:flex;flex-direction:column;gap:14px}

/* ---------- chart card ---------- */
.ch{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:28px 28px 22px;background:radial-gradient(600px 260px at 100% 0%,rgba(255,255,255,.05),transparent 70%),#070707;overflow:hidden}
.ch-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ch-h h3{font-size:17px;font-weight:500;letter-spacing:-.015em;line-height:1.35;color:#fff;max-width:36ch}
.ch-h span{flex:0 0 auto;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b6b6b;padding-top:3px}
.ch-src{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#6b6b6b;line-height:1.5}
.ch-src a{text-decoration:underline;text-decoration-color:#333;text-underline-offset:3px}
.ch-src a:hover{color:#fff}
.ch-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ch-row>*{min-width:0}

/* horizontal bars */
.hb{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.hb-r{display:grid;grid-template-columns:150px 1fr 52px;align-items:center;gap:14px;font-size:14px;color:#a5a5a5;cursor:default}
.hb-r .t{height:30px;border-radius:0 6px 6px 0;background:rgba(255,255,255,.035);position:relative;overflow:hidden}
.hb-r .f{position:absolute;inset:0 auto 0 0;width:calc(var(--v)*1%);border-radius:0 6px 6px 0;background:#3a3a3a;transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease-out) calc(var(--i,0)*.09s),background-color .25s}
.hb-r b{font-weight:500;color:#d4d4d4;text-align:right;font-variant-numeric:tabular-nums}
.hb-r.hi{color:#fff}.hb-r.hi .f{background:#fff}.hb-r.hi b{color:#fff}
.hb-r:hover .f{background:#5a5a5a}.hb-r.hi:hover .f{background:#e8e8e8}
.in .hb-r .f,.rv.in .hb-r .f{transform:none}

/* columns */
.cb{margin-top:26px;height:230px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:14px;align-items:end;border-bottom:1px solid rgba(255,255,255,.1);padding:0 4px}
.cb-c{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;cursor:default}
.cb-c b{text-align:center;font-weight:500;font-size:15px;color:#d4d4d4;margin-bottom:8px;font-variant-numeric:tabular-nums}
.cb-c .f{height:calc(var(--v)*1%);min-height:4px;border-radius:6px 6px 0 0;background:#3a3a3a;transform:scaleY(0);transform-origin:bottom;transition:transform 1.2s var(--ease-out) calc(var(--i,0)*.1s),background-color .25s}
.cb-c.hi .f{background:#fff}.cb-c.hi b{color:#fff}
.cb-c:hover .f{background:#5a5a5a}.cb-c.hi:hover .f{background:#e8e8e8}
.rv.in .cb-c .f{transform:none}
.cb-x{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:14px;padding:10px 4px 0;font-size:12.5px;color:#8a8a8a;text-align:center}

/* line chart */
.lc{margin-top:18px;position:relative}
.lc svg{width:100%;height:auto;overflow:visible}
.lc .grid line{stroke:rgba(255,255,255,.06);stroke-width:1}
.lc .grid text,.lc .xl text{fill:#6b6b6b;font:500 11px Inter,system-ui,sans-serif}
.lc .ln{fill:none;stroke:#fff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 2s var(--ease-out)}
.lc .ln.gap{stroke:#555;stroke-dasharray:4 5;stroke-dashoffset:0;opacity:0;transition:opacity .8s .3s}
.lc .ar{fill:url(#lcFill);opacity:0;transition:opacity 1.4s .6s}
.lc .pt{fill:#000;stroke:#fff;stroke-width:2;opacity:0;transition:opacity .4s calc(.5s + var(--i,0)*.12s)}
.lc .lbl{fill:#fff;font:600 12.5px Inter,system-ui,sans-serif;opacity:0;transition:opacity .5s 1.4s}
.lc .lbl.dim{fill:#8a8a8a;font-weight:500}
.lc .hit{fill:transparent;cursor:default}
.rv.in .lc .ln{stroke-dashoffset:0}
.rv.in .lc .ln.gap,.rv.in .lc .ar,.rv.in .lc .pt,.rv.in .lc .lbl{opacity:1}

/* split meter (two groups) */
.sm{margin-top:24px;display:flex;flex-direction:column;gap:18px}
.sm-r{display:flex;flex-direction:column;gap:9px}
.sm-r>div:first-child{display:flex;justify-content:space-between;font-size:14px;color:#a5a5a5}
.sm-r>div:first-child b{font-weight:500;color:#fff;font-variant-numeric:tabular-nums}
.sm-t{height:10px;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}
.sm-t i{display:block;height:100%;width:calc(var(--v)*1%);border-radius:999px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease-out) calc(var(--i,0)*.12s)}
.sm-r.lo .sm-t i{background:#4a4a4a}
.rv.in .sm-t i{transform:none}

/* stacked share bar */
.sb{margin-top:30px;display:flex;gap:2px;height:56px;border-radius:12px;overflow:hidden}
.sb>div{position:relative;flex:0 0 calc(var(--v)*1%);display:flex;align-items:center;padding:0 16px;font-size:13.5px;font-weight:500;white-space:nowrap;transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease-out) calc(var(--i,0)*.15s);cursor:default}
.sb .a{background:#3a3a3a;color:#fff}.sb .b{background:#fff;color:#000}
.rv.in .sb>div{transform:none}
.sb-k{margin-top:14px;display:flex;justify-content:space-between;font-size:12.5px;color:#8a8a8a}

/* big number tile inside chart grid */
.bn{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:26px;background:#070707;display:flex;flex-direction:column;justify-content:space-between;min-height:190px}
.bn b{font-size:clamp(36px,3.5vw,50px);white-space:nowrap;font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.bn b em{font-style:normal;color:#6b6b6b;font-size:.55em;letter-spacing:-.02em;margin:0 .15em}
.bn p{margin-top:16px;font-size:14.5px;color:#d4d4d4;line-height:1.5}
.bn small{display:block;margin-top:10px;font-size:12px;color:#6b6b6b}

/* tooltip */
.rtip{position:fixed;z-index:300;pointer-events:none;padding:9px 12px;border-radius:10px;background:#141414;border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 40px -12px rgba(0,0,0,.9);font:500 12.5px/1.45 Inter,system-ui,sans-serif;color:#fff;max-width:240px;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
.rtip.on{opacity:1;transform:none}
.rtip small{display:block;color:#8a8a8a;font-size:11.5px}

/* ---------- old vs new model ---------- */
.vs{margin-top:48px;border:1px solid rgba(255,255,255,.08);border-radius:24px;overflow:hidden}
.vs-h,.vs-r{display:grid;grid-template-columns:1fr 56px 1fr}
.vs-h{background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.07)}
.vs-h div{padding:18px 28px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#6b6b6b}
.vs-h div:last-child{color:#fff}
.vs-r{border-top:1px solid rgba(255,255,255,.05)}
.vs-r:first-of-type{border-top:0}
.vs-r>div{padding:22px 28px;font-size:16px;line-height:1.45}
.vs-r .o{color:#6b6b6b;text-decoration:line-through;text-decoration-color:rgba(255,255,255,.18);text-decoration-thickness:1px}
.vs-r .n{color:#fff;font-weight:500}
.vs-r .x{display:grid;place-items:center;padding:0}
.vs-r .x svg{width:18px;height:18px;fill:none;stroke:#555;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease-out),stroke .3s}
.vs-r:hover .x svg{transform:translateX(4px);stroke:#fff}
.vs-r:hover{background:rgba(255,255,255,.02)}

/* ---------- loop: attention -> trust -> action ---------- */
.loop{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.lp{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:28px 24px 26px;background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.008));transition:border-color .3s,transform .35s var(--ease-out)}
.lp:hover{border-color:rgba(255,255,255,.2);transform:translateY(-3px)}
.lp .n{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.18em;color:#6b6b6b}
.lp .n i{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;background:#0a0a0a}
.lp .n svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lp h3{margin-top:26px;font-size:24px;font-weight:500;letter-spacing:-.03em}
.lp p{margin-top:10px;font-size:14.5px;color:#a5a5a5;line-height:1.6}
.lp .lpsv{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px}
.lp .lpsv a{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);color:#d4d4d4;transition:all .25s}
.lp .lpsv a:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.lp::after{content:"";position:absolute;top:44px;right:-15px;width:16px;height:1px;background:linear-gradient(90deg,#555,transparent)}
.lp:last-child::after{display:none}
.lp.pulse{animation:lpGlow 6s infinite}
.lp:nth-child(1).pulse{animation-delay:0s}.lp:nth-child(2).pulse{animation-delay:1.5s}.lp:nth-child(3).pulse{animation-delay:3s}.lp:nth-child(4).pulse{animation-delay:4.5s}
@keyframes lpGlow{0%,22%{border-color:rgba(255,255,255,.3);box-shadow:0 0 40px -16px rgba(255,255,255,.35)}30%,100%{border-color:rgba(255,255,255,.08);box-shadow:none}}

/* ---------- platform stack ---------- */
.stack{margin-top:48px;display:flex;flex-direction:column;gap:10px}
.st{display:grid;grid-template-columns:56px 170px 1fr auto;align-items:center;gap:22px;padding:18px 24px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.015);transition:all .35s var(--ease-out)}
.st:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.035);transform:translateX(6px)}
.st .ic{width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0b0b0b;display:grid;place-items:center;color:#fff}
.st .ic svg{width:22px;height:22px}
.st b{font-size:17px;font-weight:600;letter-spacing:-.02em}
.st p{color:#a5a5a5;font-size:15px}
.st em{font-style:normal;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#fff;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);white-space:nowrap}

/* ---------- rules (4 cards) ---------- */
.rules{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ru{border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:28px 24px;background:#070707;position:relative;overflow:hidden;transition:border-color .3s}
.ru:hover{border-color:rgba(255,255,255,.2)}
.ru span{font-size:12px;letter-spacing:.18em;color:#6b6b6b}
.ru h3{margin-top:44px;font-size:26px;font-weight:500;letter-spacing:-.035em}
.ru p{margin-top:10px;color:#a5a5a5;font-size:14.5px;line-height:1.6}
.ru::before{content:attr(data-w);position:absolute;right:-6px;top:-18px;font-size:110px;font-weight:600;letter-spacing:-.06em;color:rgba(255,255,255,.035);line-height:1;pointer-events:none;transition:color .4s}
.ru:hover::before{color:rgba(255,255,255,.07)}

/* ---------- feed to ballot ---------- */
.fb{margin-top:48px;display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid rgba(255,255,255,.08);border-radius:24px;overflow:hidden}
.fb>div{padding:34px 30px;border-left:1px solid rgba(255,255,255,.07)}
.fb>div:first-child{border-left:0}
.fb .from{font-size:13px;color:#6b6b6b;letter-spacing:.04em}
.fb .arrow{margin:16px 0;width:100%;height:1px;background:linear-gradient(90deg,#333,#fff);position:relative;transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-out) calc(var(--i,0)*.2s)}
.fb .arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg)}
.rv.in .fb .arrow,.fb.rv.in .arrow{transform:none}
.fb .to{font-size:24px;font-weight:500;letter-spacing:-.03em}
.fb p{margin-top:10px;color:#a5a5a5;font-size:14.5px}

/* ---------- why ratify (differentiators) ---------- */
.dif{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.df{display:flex;gap:20px;padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.008));transition:border-color .3s,transform .35s var(--ease-out)}
.df:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px)}
.df .ic{flex:0 0 auto;width:46px;height:46px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#0b0b0b;display:grid;place-items:center}
.df .ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.df h3{font-size:19px;font-weight:500;letter-spacing:-.02em}
.df p{margin-top:8px;color:#a5a5a5;font-size:15px;line-height:1.6}

/* ---------- sources ---------- */
.srcs{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;counter-reset:s}
.srcs li{list-style:none;counter-increment:s;display:flex;gap:14px;font-size:13.5px;color:#8a8a8a;line-height:1.55;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}
.srcs li::before{content:counter(s,decimal-leading-zero);font-size:11.5px;color:#555;letter-spacing:.1em;padding-top:2px}
.srcs a{color:#d4d4d4}.srcs a:hover{color:#fff;text-decoration:underline}
.note{margin-top:18px;font-size:12.5px;color:#555}

/* ---------- team ---------- */
.team{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tm{position:relative;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#070707;overflow:hidden;transition:border-color .35s,transform .45s var(--ease-out)}
.tm:hover{border-color:rgba(255,255,255,.2);transform:translateY(-4px)}
.tm-photo{position:relative;aspect-ratio:4/5;background:radial-gradient(260px 220px at 50% 38%,rgba(255,255,255,.09),transparent 70%),linear-gradient(#111,#060606);background-size:cover;background-position:center;overflow:hidden}
.tm-photo.has{background-color:#111}
.tm-photo .ph-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#4a4a4a}
.tm-photo.has .ph-empty{display:none}
.tm-photo .ph-empty svg{width:96px;height:96px;fill:none;stroke:#2e2e2e;stroke-width:1}
.tm-photo .ph-empty small{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#4a4a4a}
.tm-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(transparent,rgba(0,0,0,.92));pointer-events:none}
.tm-photo .corner{position:absolute;top:16px;left:16px;z-index:2;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8a8a8a;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.45);backdrop-filter:blur(8px)}
.tm-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px}
.tm-body h3{font-size:22px;font-weight:500;letter-spacing:-.03em}
.tm-body .role{margin-top:4px;font-size:14px;color:#a5a5a5}
.tm-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}
.tm-more>div{overflow:hidden}
.tm-more p{padding-top:14px;font-size:14px;color:#d4d4d4;line-height:1.6}
.tm:hover .tm-more,.tm:focus-within .tm-more{grid-template-rows:1fr}
.tm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tm-tags i{font-style:normal;font-size:11.5px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:#d4d4d4;background:rgba(0,0,0,.4)}
.team-foot{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px 26px;border-radius:18px;border:1px solid rgba(255,255,255,.07)}
.team-foot p{color:#a5a5a5;font-size:15px}

/* team page: full profiles */
.pf{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;padding:56px 0;border-top:1px solid rgba(255,255,255,.06)}
.pf:first-of-type{border-top:0}
.pf:nth-of-type(even){grid-template-columns:1.2fr .8fr}
.pf:nth-of-type(even) .tm{order:2}
.pf .tm:hover{transform:none}
.pf-copy .kick{margin-bottom:18px}
.pf-copy h3{font-size:clamp(30px,3.2vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.08}
.pf-copy .role{margin-top:8px;font-size:16px;color:#8a8a8a}
.pf-copy>p{margin-top:22px;color:#a5a5a5;font-size:16px;line-height:1.75;max-width:560px}
.pf-list{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-list div{padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.015)}
.pf-list small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6b6b6b}
.pf-list b{display:block;margin-top:6px;font-size:15px;font-weight:500;color:#e5e5e5}
.pf-links{margin-top:22px;display:flex;gap:8px}
.pf-links a{width:40px;height:40px;border-radius:11px;border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;color:#a5a5a5;transition:all .25s}
.pf-links a:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.pf-links svg{width:16px;height:16px}

/* generic grid of value cards */
.vals{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.vl{padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.008))}
.vl span{font-size:12px;letter-spacing:.18em;color:#6b6b6b}
.vl h3{margin-top:20px;font-size:20px;font-weight:500;letter-spacing:-.025em}
.vl p{margin-top:8px;color:#a5a5a5;font-size:15px;line-height:1.6}

/* ---------- home: why-us teaser ---------- */
.wt{border:1px solid rgba(255,255,255,.08);border-radius:28px;overflow:hidden;background:radial-gradient(700px 380px at 100% 0%,rgba(255,255,255,.07),transparent 70%),#050505}
.wt-top{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:48px 48px 40px}
.wt-top h2{margin-top:18px;max-width:17ch}
.wt-top p{margin-top:16px;color:#a5a5a5;max-width:520px}
.wt-cells{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.07)}
.wt-c{padding:30px 32px 32px;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:14px}
.wt-c:first-child{border-left:0}
.wt-c b{font-size:clamp(38px,4vw,54px);font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.wt-c p{font-size:14.5px;color:#d4d4d4;line-height:1.5}
.wt-c small{font-size:12px;color:#6b6b6b}
.wt-c .sm-t{height:6px;margin-top:auto}

.sec-link{margin-top:36px;display:flex;justify-content:center}

@media (max-width:980px){
  .art-grid{grid-template-columns:1fr;gap:34px}
  .art-side{position:static}
  .loop,.rules{grid-template-columns:1fr 1fr}
  .lp::after{display:none}
  .team{grid-template-columns:1fr 1fr}
  .pf,.pf:nth-of-type(even){grid-template-columns:1fr;gap:30px}
  .pf:nth-of-type(even) .tm{order:0}
  .pf .tm{max-width:420px}
  .vals{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .ph{padding:130px 0 50px}
  .hs,.wt-cells,.fb{grid-template-columns:1fr}
  .hs>div,.wt-c,.fb>div{border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .hs>div:first-child,.wt-c:first-child,.fb>div:first-child{border-top:0}
  .ch{padding:22px 18px 18px}
  .ch-row{grid-template-columns:1fr}
  .hb-r{grid-template-columns:96px 1fr 44px;gap:10px;font-size:13px}
  .cb{height:190px;gap:8px}.cb-x{gap:8px;font-size:11px}
  .vs-h div,.vs-r>div{padding:16px 16px;font-size:14.5px}
  .vs-h,.vs-r{grid-template-columns:1fr 30px 1fr}
  .loop,.rules,.dif,.team,.vals,.srcs{grid-template-columns:1fr}
  .st{grid-template-columns:48px 1fr;gap:14px;padding:16px}
  .st p{grid-column:1/-1}.st em{grid-column:1/-1;justify-self:start}
  .wt-top{grid-template-columns:1fr;padding:34px 24px 28px}
  .pf-list{grid-template-columns:1fr}
  .rail{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hb-r .f,.cb-c .f,.sm-t i,.sb>div,.fb .arrow{transform:none!important;transition:none!important}
  .lc .ln{stroke-dashoffset:0!important;transition:none!important}
  .lc .ar,.lc .pt,.lc .lbl,.lc .ln.gap{opacity:1!important}
  .lp.pulse,.hs .tick{animation:none}
}
.sec.cov{overflow-x:clip}

/* ---------- red, white & blue glows on content pages ---------- */
/* page heroes: red glow top-left, blue glow top-right */
.ph{background:radial-gradient(820px 500px at 0% 0%,rgba(255,77,90,.22),transparent 62%),radial-gradient(820px 500px at 100% 0%,rgba(91,124,255,.26),transparent 62%),radial-gradient(700px 400px at 50% -10%,rgba(255,255,255,.06),transparent 70%)}
.hs{background:radial-gradient(400px 200px at 0% 100%,rgba(255,77,90,.07),transparent 70%),radial-gradient(400px 200px at 100% 0%,rgba(91,124,255,.08),transparent 70%),rgba(255,255,255,.015)}
.hs .tick{background:var(--us-red);animation-name:hsPingUS}
@keyframes hsPingUS{0%{box-shadow:0 0 0 0 rgba(255,77,90,.5)}70%,100%{box-shadow:0 0 0 9px rgba(255,77,90,0)}}
.means small::before{background:var(--us-red);box-shadow:0 0 8px rgba(255,77,90,.8)}
/* chart cards glow red or blue, alternating by article */
#shift .ch,#next .ch{background:radial-gradient(520px 260px at 100% 0%,rgba(255,77,90,.12),transparent 70%),#070707}
#trust .ch,#money .ch{background:radial-gradient(520px 260px at 100% 0%,rgba(91,124,255,.14),transparent 70%),#070707}
#shift .bn,#next .bn{background:radial-gradient(300px 180px at 0% 100%,rgba(255,77,90,.08),transparent 70%),#070707}
#trust .bn,#money .bn{background:radial-gradient(300px 180px at 0% 100%,rgba(91,124,255,.1),transparent 70%),#070707}
.hb-r.hi .f,.cb-c.hi .f{box-shadow:0 0 24px -4px rgba(255,255,255,.35)}
.lp:nth-child(odd).pulse{animation-name:lpGlowR}.lp:nth-child(even).pulse{animation-name:lpGlowB}
@keyframes lpGlowR{0%,22%{border-color:rgba(255,77,90,.5);box-shadow:0 0 50px -16px rgba(255,77,90,.6)}30%,100%{border-color:rgba(255,255,255,.08);box-shadow:none}}
@keyframes lpGlowB{0%,22%{border-color:rgba(91,124,255,.55);box-shadow:0 0 50px -16px rgba(91,124,255,.65)}30%,100%{border-color:rgba(255,255,255,.08);box-shadow:none}}
.ru:nth-child(odd):hover{border-color:rgba(255,77,90,.4);box-shadow:0 0 50px -24px rgba(255,77,90,.6)}
.ru:nth-child(even):hover{border-color:rgba(91,124,255,.45);box-shadow:0 0 50px -24px rgba(91,124,255,.6)}
.df:hover,.vl:hover,.st:hover{box-shadow:0 0 50px -26px rgba(91,124,255,.7)}
.fb{background:radial-gradient(500px 200px at 0% 0%,rgba(255,77,90,.08),transparent 70%),radial-gradient(500px 200px at 100% 100%,rgba(91,124,255,.1),transparent 70%)}
.vs-r:hover .x svg{stroke:var(--us-blue)}
/* home teaser */
.wt{background:radial-gradient(640px 360px at 100% 0%,rgba(91,124,255,.18),transparent 70%),radial-gradient(560px 320px at 0% 100%,rgba(255,77,90,.12),transparent 70%),#050505}
/* team photos: red, white, blue light */
.team>div:nth-child(1) .tm-photo,.pf:nth-of-type(1) .tm-photo{background:radial-gradient(260px 220px at 50% 38%,rgba(255,77,90,.16),transparent 70%),linear-gradient(#111,#060606)}
.team>div:nth-child(2) .tm-photo,.pf:nth-of-type(2) .tm-photo{background:radial-gradient(260px 220px at 50% 38%,rgba(255,255,255,.1),transparent 70%),linear-gradient(#111,#060606)}
.team>div:nth-child(3) .tm-photo,.pf:nth-of-type(3) .tm-photo{background:radial-gradient(260px 220px at 50% 38%,rgba(91,124,255,.18),transparent 70%),linear-gradient(#111,#060606)}
.tm-photo.has{background-size:cover!important;background-position:center!important}
/* home hero + VSL */
.hero{background:radial-gradient(820px 520px at 0% 0%,rgba(255,77,90,.2),transparent 62%),radial-gradient(820px 520px at 100% 0%,rgba(91,124,255,.24),transparent 62%),#000!important}
.ab-video{box-shadow:0 0 90px -40px rgba(91,124,255,.6),-30px 30px 90px -50px rgba(255,77,90,.5)}
