/* Investor pitch page. Rides on site.css for tokens and base type. */
.pitchtop{padding:76px 0 56px;text-align:center;position:relative}
.pitchtop .tag{margin-bottom:20px}
.pitchtop h1{max-width:16ch;margin:0 auto;font-size:clamp(32px,5vw,52px)}
.pitchtop .lead{max-width:52ch;margin:20px auto 0}

.askrow{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.askcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);
  padding:20px 26px;text-align:left;min-width:170px;box-shadow:var(--shadow)}
.askcard b{display:block;font-size:clamp(24px,3.4vw,30px);font-weight:600;letter-spacing:-.04em;color:var(--violet)}
.askcard span{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mut-2);margin-top:8px}

.pblock{padding:78px 0;border-top:1px solid var(--line)}
.pblock.tint{background:var(--surface-2)}
.phead{max-width:640px;margin:0 auto 44px;text-align:center}
.phead .eyebrow{margin-bottom:14px}
.phead h2{font-size:clamp(25px,3.6vw,36px)}
.phead p{margin:16px 0 0;color:var(--mut);font-size:16px;line-height:1.7}

.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:24px}
.tint .pcard{background:var(--bg)}
.pcard h3{font-size:17px;letter-spacing:-.02em}
.pcard p{margin:10px 0 0;color:var(--mut);font-size:14px;line-height:1.7}
.pcard .num{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--violet);margin-bottom:12px}

/* problem / solution pairs */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);
  border-radius:var(--r-m);overflow:hidden;background:var(--surface)}
.tint .pair{background:var(--bg)}
.pair+.pair{margin-top:12px}
.pair>div{padding:22px 24px}
.pair .p-bad{border-right:1px solid var(--line)}
.pair h4{margin:0 0 8px;font-size:15px;font-weight:600;letter-spacing:-.015em}
.pair p{margin:0;font-size:14px;color:var(--mut);line-height:1.65}
.pair .lbl{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;margin-bottom:10px}
.p-bad .lbl{color:#C4566E}
.p-fix .lbl{color:#1E9E7E}

/* money tables */
.ptable{width:100%;border-collapse:collapse;font-size:14.5px}
.ptable caption{text-align:left;font-size:12px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--mut-2);padding-bottom:12px}
.ptable th,.ptable td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--line)}
.ptable th{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut-2)}
.ptable td.n,.ptable th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ptable tr:last-child td{border-bottom:0}
.ptable tfoot td{font-weight:600;border-top:2px solid var(--line-2);border-bottom:0;color:var(--ink)}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-m);padding:22px 24px}
.tint .tablewrap{background:var(--bg)}

/* allocation bars */
.alloc{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.arow{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:baseline}
.arow .an{font-size:14.5px}
.arow .av{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.arow .abar{grid-column:1/-1;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}
.tint .arow .abar{background:var(--line)}
.arow .abar i{display:block;height:100%;border-radius:4px;background:var(--violet)}
.arow.muted .abar i{background:var(--violet-line)}

.note-block{display:flex;gap:12px;margin-top:26px;padding:18px 20px;border-radius:var(--r-s);
  background:var(--violet-soft);font-size:13px;line-height:1.7;color:var(--mut)}
.note-block svg{color:var(--violet);flex:0 0 auto;margin-top:2px}
.note-block b{color:var(--ink)}

/* milestones */
.mile{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.mstep{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:24px;position:relative}
.tint .mstep{background:var(--bg)}
.mstep .when{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--violet)}
.mstep h3{margin:12px 0 0;font-size:17px;letter-spacing:-.02em}
.mstep ul{margin:12px 0 0;padding-left:18px;color:var(--mut);font-size:14px;line-height:1.8}

.pcta{text-align:center;padding:70px 0 90px}
.pcta h2{max-width:18ch;margin:0 auto;font-size:clamp(26px,3.6vw,38px)}
.pcta .lead{max-width:46ch;margin:16px auto 0}
.pcta .btns{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-top:30px}

.disclaim{max-width:760px;margin:0 auto;padding:30px 0 0;border-top:1px solid var(--line);
  font-size:12.5px;line-height:1.75;color:var(--mut-2)}

@media (max-width:760px){
  .pair{grid-template-columns:1fr}
  .pair .p-bad{border-right:0;border-bottom:1px solid var(--line)}
  .pblock{padding:58px 0}
  .tablewrap{padding:18px}
}
@media (max-width:460px){
  .askcard{min-width:0;flex:1 1 100%;padding:18px 20px}
}

/* ---------- motion ----------
   Reveals are short and travel a small distance. The point is to draw the eye
   down the page in order, not to perform. */
.pre{opacity:0;transform:translateY(14px);
  transition:opacity .55s cubic-bezier(.22,.8,.3,1),transform .65s cubic-bezier(.22,.8,.3,1)}
.pre.in{opacity:1;transform:none}
.askcard b{font-variant-numeric:tabular-nums}
.arow .abar i{transition:width .9s cubic-bezier(.22,.8,.3,1)}

/* ---------- break even chart ---------- */
.chartwrap{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);
  padding:22px 24px 18px;margin-bottom:14px}
.charttop{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.chartlbl{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mut-2)}
.chartkey{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}
.chartkey i{width:16px;height:3px;border-radius:2px;display:inline-block;margin-left:8px}
.chartkey i:first-child{margin-left:0}
.chartkey .k-rev{background:var(--violet)}
.chartkey .k-burn{background:var(--mut-2)}

.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .grid{color:var(--line)}
.chart .ylab,.chart .xlab{fill:var(--mut-2);font-size:11px;font-weight:500}

.chart .area{fill:var(--violet);opacity:0;transition:opacity .7s ease .55s}
.chart .rev{fill:none;stroke:var(--violet);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:576;stroke-dashoffset:576;transition:stroke-dashoffset 1.5s cubic-bezier(.3,.7,.3,1)}
.chart .burn{stroke:var(--mut-2);stroke-width:2;stroke-dasharray:6 6;opacity:0;
  transition:opacity .5s ease .2s}
.chart .cross{opacity:0;transform:scale(.8);transform-origin:351.8px 118.2px;
  transition:opacity .45s ease 1.35s,transform .5s cubic-bezier(.34,1.4,.44,1) 1.35s}
.chart .cross line{stroke:var(--violet);stroke-width:1.5;stroke-dasharray:4 5;opacity:.6}
.chart .cross circle{fill:var(--violet);stroke:var(--bg);stroke-width:3}
/* violet, not haiti: haiti sits too close to the dark mode page colour */
.chart .crosslab rect{fill:var(--violet)}
.chart .crosslab text{fill:#fff;font-size:12px;font-weight:600}

.chart.drawn .area{opacity:.09}
.chart.drawn .rev{stroke-dashoffset:0}
.chart.drawn .burn{opacity:1}
.chart.drawn .cross{opacity:1;transform:scale(1)}
.chartnote{margin:14px 0 0;font-size:13px;color:var(--mut);line-height:1.65}

/* ---------- ninety ten split ---------- */
.splitbar{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);padding:22px 24px}
.sb-lbl{display:block;font-size:12px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--mut-2);margin-bottom:14px}
.sb-track{display:flex;height:46px;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.sb-track i{width:0;display:grid;place-items:center;font-style:normal;
  transition:width 1s cubic-bezier(.22,.8,.3,1)}
.sb-track b{font-size:13px;font-weight:600;opacity:0;transition:opacity .4s ease .5s}
.sb-org{background:#1E9E7E;color:#fff}
.sb-us{background:var(--violet);color:#fff}
.splitbar.on .sb-track i{width:var(--w)}
.splitbar.on .sb-track b{opacity:1}
.sb-keys{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--mut)}
.sb-keys span{display:flex;align-items:center;gap:8px}
.sb-keys i{width:10px;height:10px;border-radius:3px}
.sb-keys .d-org{background:#1E9E7E}
.sb-keys .d-us{background:var(--violet)}

/* ---------- hero ---------- */
.pitchtop .tag,.pitchtop h1,.pitchtop .lead,.pitchtop .askrow{
  animation:heroUp .7s cubic-bezier(.22,.8,.3,1) backwards}
.pitchtop h1{animation-delay:.06s}
.pitchtop .lead{animation-delay:.13s}
.pitchtop .askrow{animation-delay:.2s}
@keyframes heroUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media (max-width:620px){
  .chartwrap,.splitbar{padding:18px}
  .sb-track{height:40px}
}
@media (prefers-reduced-motion:reduce){
  .pre,.pre.in{opacity:1;transform:none;transition:none}
  .chart .area{opacity:.09}
  .chart .rev{stroke-dashoffset:0}
  .chart .burn,.chart .cross{opacity:1;transform:none}
  .splitbar .sb-track i{width:var(--w)}
  .splitbar .sb-track b{opacity:1}
  .pitchtop .tag,.pitchtop h1,.pitchtop .lead,.pitchtop .askrow{animation:none}
}
