/* How They Invest — shared styles (green, single-font) */
/* Archivo is loaded via <link> in each page's <head> for performance. */

:root{
  --bg:#ECE7DB; --ink:#0B0B0B; --acc:#0E9E4F; --dim:#85806f;
  --line:rgba(11,11,11,0.16); --line2:rgba(11,11,11,0.08);
  --long:#0C7A4F; --short:#C8202A; --proxy:#1B4DFF; --hover:#E3DDCE;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Archivo',system-ui,sans-serif;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
.nums{font-variant-numeric:tabular-nums;}
.wrap{max-width:1140px;margin:0 auto;padding:0 26px;}
.acc{color:var(--acc);}

/* nav */
nav.top{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;max-width:1140px;margin:0 auto;}
.logo{font-weight:900;font-size:18px;text-transform:uppercase;letter-spacing:-0.01em;}
.nl{display:flex;gap:20px;align-items:center;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;color:var(--dim);}
.nl a:hover{color:var(--acc);}
.nl a.here{color:var(--ink);}
.nl .sub{font-weight:800;color:var(--acc);border:2px solid var(--acc);padding:7px 13px;}
.nl .sub:hover{background:var(--acc);color:var(--bg);}

/* hero */
.hero{padding:34px 0 38px;border-bottom:1.5px solid var(--ink);}
.hero .meta{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:var(--acc);margin-bottom:16px;}
.hero h1{font-weight:900;font-size:118px;line-height:0.84;letter-spacing:-0.045em;text-transform:uppercase;margin-bottom:8px;}
.hero h1 .a{color:var(--acc);}
.hero .row2{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:26px;}
.hero .dek{font-weight:500;font-size:20px;line-height:1.45;max-width:440px;color:#3a382f;}
.hero form{display:flex;border-bottom:2px solid var(--acc);min-width:300px;}
.hero input{flex:1;background:transparent;border:none;color:var(--ink);font-weight:500;font-size:14px;padding:10px 2px;}
.hero input::placeholder{color:var(--dim);}
.hero input:focus{outline:none;}
.hero button{background:transparent;border:none;color:var(--acc);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:0.08em;cursor:pointer;}

/* marquee */
.marq{border-bottom:1.5px solid var(--ink);overflow:hidden;padding:13px 0;font-weight:900;font-size:21px;text-transform:uppercase;}
.marq .run{display:flex;width:max-content;animation:sc 90s linear infinite;}
.marq .seg{flex:0 0 auto;white-space:nowrap;}
.marq .a{color:var(--acc);}
@keyframes sc{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* index */
.idx{padding:38px 0 60px;}
.idxhead{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.idxhead h2{font-weight:900;font-size:40px;text-transform:uppercase;letter-spacing:-0.03em;}
.idxhead .lk{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:var(--acc);border:2px solid var(--acc);padding:6px 12px;}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:24px 0 6px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);}
.stats .s{padding:18px 16px;border-right:1px solid var(--line2);}
.stats .s:last-child{border-right:none;}
.stats .l{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:var(--dim);margin-bottom:8px;}
.stats .v{font-weight:900;font-size:30px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.stats .v.lock{filter:blur(8px);}
.stats .d{font-weight:500;font-size:11px;color:var(--dim);margin-top:4px;}

.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 0;}
.chip{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;border:1.5px solid var(--line);background:transparent;color:var(--dim);padding:7px 14px;cursor:pointer;}
.chip:hover{border-color:var(--ink);color:var(--ink);}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink);}

table.index{width:100%;border-collapse:collapse;margin-top:16px;}
table.index th{text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink);padding:13px 14px;border-bottom:1.5px solid var(--ink);cursor:pointer;user-select:none;white-space:nowrap;}
table.index th .ar{opacity:.4;font-size:9px;}
table.index th.r,table.index td.r{text-align:right;}
table.index td{padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:middle;}
table.index tbody tr:hover td{background:var(--hover);}
.rn{font-weight:600;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;}
.who{font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:-0.01em;}
.role{font-weight:500;font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:0.03em;}
.call{font-weight:700;font-size:14px;}
.tk{font-weight:600;font-size:11px;color:var(--dim);text-transform:uppercase;}
.k{font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:0.03em;border:1.5px solid currentColor;padding:3px 9px;color:var(--long);}
.k.short{color:var(--short);} .k.proxy{color:var(--proxy);} .k.watch{color:var(--dim);}
.hz{font-weight:700;font-size:14px;text-align:right;font-variant-numeric:tabular-nums;}
.ret{font-weight:800;font-size:15px;text-align:right;font-variant-numeric:tabular-nums;}
.ret.lock{filter:blur(7px);}
.ret.pos{color:var(--long);} .ret.neg{color:var(--short);}
.idxnote{font-weight:500;font-size:12px;color:var(--dim);line-height:1.7;margin-top:16px;}
.idxnote b{color:var(--ink);font-weight:700;}

/* footer */
footer{border-top:1.5px solid var(--ink);padding:28px 0 60px;}
footer .fwrap{max-width:1140px;margin:0 auto;padding:0 26px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.disc{font-weight:500;font-size:11.5px;color:var(--dim);max-width:520px;line-height:1.7;}
.flinks{display:flex;flex-direction:column;gap:8px;text-align:right;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:var(--dim);}
.flinks a:hover{color:var(--acc);}

/* ---------- episode page ---------- */
.ep{max-width:760px;margin:0 auto;padding:0 26px;}
.crumb{font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--acc);margin:38px 0 18px;}
.ephead{padding-bottom:26px;border-bottom:1.5px solid var(--ink);}
.ephead h1{font-weight:900;font-size:52px;line-height:0.92;letter-spacing:-0.03em;text-transform:uppercase;margin-bottom:20px;}
.guest{display:flex;align-items:center;gap:14px;}
.av{width:54px;height:54px;border-radius:50%;background:var(--acc);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;}
.guest .gn{font-weight:800;font-size:18px;text-transform:uppercase;}
.guest .gr{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;color:var(--dim);}

.player{display:flex;align-items:center;gap:16px;background:var(--ink);color:var(--bg);padding:16px 22px;margin:26px 0;}
.player .pp{width:42px;height:42px;border-radius:50%;border:2px solid var(--bg);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;font-weight:700;}
.player .bar{flex:1;height:4px;background:rgba(236,231,219,0.28);position:relative;}
.player .bar i{position:absolute;left:0;top:0;height:4px;width:28%;background:var(--acc);}
.player .t{font-weight:600;font-size:12px;font-variant-numeric:tabular-nums;color:rgba(236,231,219,0.75);}

.callbox{border:2px solid var(--ink);margin:30px 0;}
.callbox .cbh{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--bg);padding:10px 20px;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;}
.callbox .cbh .seal{color:var(--acc);}
.cbbody{padding:22px 24px;}
.cbtrade{font-weight:900;font-size:30px;line-height:1.05;text-transform:uppercase;letter-spacing:-0.02em;margin-bottom:6px;}
.cbsub{font-weight:600;font-size:13px;color:var(--dim);text-transform:uppercase;letter-spacing:0.03em;margin-bottom:18px;}
.cbgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.cbgrid .c{padding:14px 14px 2px;border-right:1px solid var(--line2);}
.cbgrid .c:last-child{border-right:none;}
.cbgrid .cl{font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--dim);margin-bottom:6px;}
.cbgrid .cv{font-weight:800;font-size:17px;font-variant-numeric:tabular-nums;}
.cbgrid .cv.lock{filter:blur(7px);}
.cbgrid .cv .badge{border:1.5px solid var(--long);color:var(--long);font-size:12px;padding:2px 8px;}

.body p{font-weight:400;font-size:18px;line-height:1.7;color:#231f17;margin:0 0 18px;}
.body h2{font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:-0.01em;margin:34px 0 14px;}
.pull{font-weight:800;font-size:26px;line-height:1.25;text-transform:uppercase;letter-spacing:-0.02em;border-left:4px solid var(--acc);padding:4px 0 4px 22px;margin:28px 0;}
.chapters{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);margin:26px 0;}
.chapters .ch{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid var(--line2);font-weight:500;font-size:15px;}
.chapters .ch:last-child{border-bottom:none;}
.chapters .tm{font-weight:800;font-size:13px;color:var(--acc);width:50px;flex-shrink:0;font-variant-numeric:tabular-nums;}
.wrongbox{border:1.5px solid var(--ink);padding:20px 24px;margin:28px 0;}
.wrongbox .h{font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--acc);margin-bottom:14px;}
.wrongbox ul{margin:0;padding-left:20px;}
.wrongbox li{font-weight:500;font-size:16px;color:#3a352b;margin-bottom:9px;}

.members{position:relative;border:2px solid var(--ink);margin:36px 0;overflow:hidden;}
.members .mh{background:var(--ink);color:var(--bg);padding:10px 20px;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;display:flex;justify-content:space-between;}
.members .mb{padding:24px;}
.members .blurred{filter:blur(5px);user-select:none;}
.members .blurred h3{font-weight:800;font-size:20px;text-transform:uppercase;margin-bottom:10px;}
.members .blurred p{font-size:16px;color:#231f17;margin-bottom:12px;line-height:1.6;}
.members .gate{position:absolute;inset:42px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:linear-gradient(to bottom,rgba(236,231,219,0.35),rgba(236,231,219,0.96) 55%);}
.members .gate .gt{font-weight:800;font-size:20px;text-transform:uppercase;margin-bottom:8px;}
.members .gate .gs{font-weight:500;font-size:14px;color:#3a352b;max-width:380px;margin-bottom:16px;line-height:1.5;}
.members .gate button{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:0.04em;background:var(--acc);color:var(--bg);border:none;padding:12px 26px;cursor:pointer;}
.epnext{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:0.03em;color:var(--dim);border-top:1px solid var(--line2);padding:18px 0 40px;}

/* ---------- about page ---------- */
.about{max-width:760px;margin:0 auto;padding:0 26px;}
.about .lead{font-weight:500;font-size:22px;line-height:1.5;margin:36px 0 10px;}
.about h2{font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:-0.01em;margin:36px 0 12px;padding-top:26px;border-top:1.5px solid var(--ink);}
.about p{font-weight:400;font-size:17px;line-height:1.7;color:#231f17;margin:0 0 16px;}
.about .states{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;}
.about .state{border:1.5px solid var(--ink);padding:18px;}
.about .state .sk{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:8px;}
.about .state.long .sk{color:var(--long);} .about .state.proxy .sk{color:var(--proxy);} .about .state.watch .sk{color:var(--dim);}
.about .state p{font-size:14px;margin:0;}

/* ---------- landing (coming soon) ---------- */
.launchtag{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--acc);border:2px solid var(--acc);padding:6px 13px;}
.launchtag .dot{width:8px;height:8px;border-radius:50%;background:var(--acc);}
.lhero{padding:34px 0 42px;}
.lhero h1{font-weight:900;font-size:122px;line-height:0.82;letter-spacing:-0.05em;text-transform:uppercase;margin:26px 0 20px;}
.lhero h1 .a{color:var(--acc);}
.lhero .dek{font-weight:500;font-size:22px;line-height:1.45;max-width:580px;color:#3a382f;margin-bottom:30px;}
.waitlist{display:flex;max-width:520px;border:2.5px solid var(--ink);}
.waitlist input{flex:1;background:transparent;border:none;font-weight:600;font-size:15px;padding:16px 18px;color:var(--ink);}
.waitlist input::placeholder{color:var(--dim);}
.waitlist input:focus{outline:none;}
.waitlist button{background:var(--acc);color:var(--bg);border:none;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:0.04em;padding:0 26px;cursor:pointer;}
.waitlist button:hover{filter:brightness(1.06);}
.waitnote{font-weight:500;font-size:13px;color:var(--dim);margin-top:12px;}

.how{border-top:1.5px solid var(--ink);padding:42px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.how .step{padding:0 28px;border-right:1px solid var(--line2);}
.how .step:first-child{padding-left:0;} .how .step:last-child{border-right:none;padding-right:0;}
.how .n{font-weight:900;font-size:40px;color:var(--acc);letter-spacing:-0.02em;line-height:1;margin-bottom:14px;}
.how .st{font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:-0.01em;margin-bottom:8px;}
.how .sd{font-weight:500;font-size:14.5px;color:#3a352b;line-height:1.55;}

.teaser{border-top:1.5px solid var(--ink);padding:40px 0 10px;}
.teaser .th{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
.teaser .th h2{font-weight:900;font-size:32px;text-transform:uppercase;letter-spacing:-0.03em;}
.teaser .th .tag{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:var(--acc);border:2px solid var(--acc);padding:6px 12px;}
.teaser .preview{border:1.5px solid var(--ink);padding:4px 0;}
.teaser .prow{display:grid;grid-template-columns:34px 1fr auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line2);}
.teaser .prow:last-child{border-bottom:none;}
.teaser .prow .rn{font-weight:600;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;}
.teaser .prow .pn{font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:-0.01em;}
.teaser .prow .pk{font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:0.03em;border:1.5px solid currentColor;padding:3px 9px;color:var(--acc);}
.teaser .pcap{font-weight:500;font-size:13px;color:var(--dim);margin-top:14px;line-height:1.6;}

/* ---------- guest application ---------- */
.guestsec{border-top:1.5px solid var(--ink);padding:44px 0;}
.guestsec .gx{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.guestsec h2{font-weight:900;font-size:44px;text-transform:uppercase;letter-spacing:-0.03em;line-height:0.9;margin-bottom:16px;}
.guestsec .gd{font-weight:500;font-size:17px;line-height:1.55;color:#3a352b;max-width:420px;}
.guestsec .gd b{font-weight:700;color:var(--ink);}
.gform{display:flex;flex-direction:column;gap:12px;}
.gform .grow{display:flex;gap:12px;}
.gform input,.gform textarea{width:100%;background:transparent;border:2px solid var(--ink);font-weight:500;font-size:15px;padding:13px 14px;color:var(--ink);font-family:inherit;}
.gform input::placeholder,.gform textarea::placeholder{color:var(--dim);}
.gform input:focus,.gform textarea:focus{outline:none;border-color:var(--acc);}
.gform textarea{resize:vertical;min-height:84px;}
.gform button{background:var(--acc);color:var(--bg);border:none;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:0.04em;padding:15px;cursor:pointer;}
.gform button:hover{filter:brightness(1.06);}
.gthanks{border:2px solid var(--acc);padding:20px;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:0.03em;font-size:14px;}

@media(max-width:820px){
  .lhero h1{font-size:56px;}
  .guestsec .gx{grid-template-columns:1fr;gap:24px;} .gform .grow{flex-direction:column;}
  .how{grid-template-columns:1fr;gap:26px;} .how .step{border-right:none;padding:0;}
  .hero h1{font-size:54px;} .ephead h1{font-size:34px;}
  .stats{grid-template-columns:repeat(2,1fr);} .stats .s:nth-child(2){border-right:none;}
  .cbgrid{grid-template-columns:repeat(2,1fr);} .cbgrid .c:nth-child(2){border-right:none;}
  .about .states{grid-template-columns:1fr;}
  .nl a:not(.sub){display:none;}
  table.index td .callcell, table.index td .role{display:none;}
}
