/* hero */
.hero{padding:56px 0 72px;position:relative}
.hero-h{font-size:clamp(44px,4.4vw,62px)}
.hero-in{display:grid;grid-template-columns:minmax(0,5.3fr) minmax(0,6.2fr);gap:52px;align-items:center}
.hero-h .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero-h .ln>span{display:inline-block}
.js .hero-h .ln>span{animation:rise 1s var(--ease) both}
.js .hero-h .ln:nth-child(2)>span{animation-delay:.12s}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero-lede{margin:26px 0 32px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.hero-facts{display:flex;gap:0;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}
.hero-facts div{flex:1;padding:16px 16px 0 0}
.hero-facts div+div{padding-left:18px;border-left:1px solid var(--line)}
.hero-facts dt{font-size:13.5px;color:var(--slate);margin-bottom:4px}
.hero-facts dd{margin:0;font-size:30px;font-weight:750;letter-spacing:-.03em;line-height:1}
.hero-facts dd small{font-family:var(--body);font-size:14px;font-weight:500;color:var(--slate);letter-spacing:0;margin-left:2px}

/* hero visual: a page from a plan */
.hero-vis{margin:0;background:var(--mist);border-radius:18px;padding:34px 40px 30px;display:flex;flex-direction:column}
.hv-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.hv-k{font-size:14px;font-weight:600;color:var(--brass);letter-spacing:.01em}
.hv-tag{font-size:13px;font-weight:600;color:var(--slate);background:#fff;border-radius:999px;padding:5px 11px}
.hv-t{font-family:var(--head);font-weight:750;font-size:26px;letter-spacing:-.025em;color:var(--ink);line-height:1.15;margin:8px 0 20px}
.hv-svg{width:100%;height:auto;display:block;overflow:visible}
.hv-plot .a-pf{fill:var(--mari)}
.hv-plot .a-pt{fill:#C3CBDA;stroke:var(--mist);stroke-width:3}
.hv-plot .a-ss{fill:var(--ink);stroke:var(--mist);stroke-width:3}
.hv-plot .yr line{stroke:var(--mist);stroke-width:2.5}
.hv-plot text{font-family:var(--head);font-weight:700;font-size:16px;letter-spacing:-.01em;fill:var(--ink)}
.hv-plot text{paint-order:stroke;stroke-width:7px;stroke-linejoin:round}
.hv-plot .l-pf{stroke:var(--mari)}.hv-plot .l-pt{stroke:#C3CBDA}
.hv-plot .l-ss{fill:#fff;stroke:var(--ink)}
.hv-top-l{stroke:var(--ink);stroke-width:2;stroke-dasharray:5 5}
.hv-cap{font-family:var(--head);font-weight:700;font-size:15px;fill:var(--ink)}
.hv-base{stroke:var(--ink);stroke-width:1.5}
.hv-ax line{stroke:#9AA3B5;stroke-width:1}
.hv-ax text{font-family:var(--head);font-weight:600;font-size:14px;fill:var(--slate);font-variant-numeric:tabular-nums}
.hv-stats{display:flex;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.hv-stats div{flex:1;padding:14px 12px 0 0}
.hv-stats div+div{padding-left:16px;border-left:1px solid var(--line)}
.hv-stats dt{font-size:13px;color:var(--slate);margin-bottom:3px}
.hv-stats dd{margin:0;font-size:24px;font-weight:750;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.js .hv-plot{animation:hvWipe 1.1s var(--ease) .2s both}
@keyframes hvWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.js .hv-plot{animation:none}}

/* runway (lower on the page) */
.rw-sec .runway{background:#fff;border-radius:18px;padding:30px 36px 28px;position:relative}
.rw-readout{display:flex;align-items:flex-end;gap:28px;margin:0 0 14px}
.rw-readout .playbtn{margin-left:auto;align-self:flex-start}
.rw-big{display:flex;align-items:baseline;gap:10px}
.rw-big .num,.rw-mini .num{font-variant-numeric:tabular-nums}
.rw-big .num{font-size:76px;font-weight:800;letter-spacing:-.05em;line-height:.9;min-width:2.2ch}
.rw-big small,.rw-mini small{font-size:13.5px;color:var(--slate)}
.rw-mini{display:flex;flex-direction:column;padding-left:22px;border-left:1px solid var(--line)}
.rw-mini .num{font-size:28px;font-weight:750;letter-spacing:-.03em;line-height:1.05}
.rw-chart{margin:4px -6px 0}
#rwSvg{width:100%;height:auto;overflow:visible}
#rwSvg text{font-family:var(--body);font-size:12.5px;fill:var(--slate)}
#rwSvg .ax text{font-family:var(--head);font-size:12px;font-weight:600;fill:#8A93A6;font-variant-numeric:tabular-nums}
#rwSvg .ms text{transition:fill .3s,opacity .3s}
#rwSvg .ms text b,#rwSvg .ms .ag{font-family:var(--head);font-weight:750;fill:var(--ink)}
#rwSvg .ms .dot{fill:#fff;stroke:#9AA3B5;stroke-width:2;transition:fill .3s,stroke .3s}
#rwSvg .ms .stem{stroke:#B8C0CE;stroke-width:1}
#rwSvg .ms.past{opacity:.38}
#rwSvg .ms.lit .dot{fill:var(--mari);stroke:var(--ink)}
#rwSvg .ms.lit text{fill:var(--ink);font-weight:600}
#rwSvg .ms .ag{font-size:14px}
#rwSvg .ms:not(.lit) .ag{fill:#8A93A6}
#rwSvg .ms.lit .stem{stroke:var(--ink)}
.rw-range{display:block;margin:6px 0 0;position:relative}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rw-range input{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin:0;cursor:pointer}
.rw-range input::-webkit-slider-runnable-track{height:4px;background:#C9D1DD;border-radius:4px}
.rw-range input::-moz-range-track{height:4px;background:#C9D1DD;border-radius:4px}
.rw-range input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--ink);border:4px solid var(--mari);margin-top:-10px;box-shadow:0 2px 6px rgba(20,33,61,.25)}
.rw-range input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ink);border:4px solid var(--mari)}
.rw-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:40px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line)}
.rw-now h3{font-size:16px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}
.rw-swap{display:grid}
.rw-swap p{grid-area:1/1;margin:0;font-size:15px;line-height:1.5;color:var(--ink-2);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.rw-swap p.on{opacity:1;visibility:visible;transition:opacity .45s .2s,visibility 0s}
.rw-list{list-style:none;margin:0;padding:0;font-size:14.5px;line-height:1.35;min-height:72px;columns:2;column-gap:28px}
.rw-list li{break-inside:avoid}
.rw-list li{display:flex;gap:16px;padding:5px 0;border-bottom:1px dashed #CBD2DD;align-items:baseline}
.rw-list li:last-child{border:0}
.rw-list b{flex:none;min-width:76px;white-space:nowrap;font-weight:750;font-size:15px}
.rw-list li.none{color:var(--slate)}

@media (max-width:1100px){
  .hero-in{grid-template-columns:1fr;gap:40px}
  .hero{padding-top:44px}
  .hero-vis{max-width:640px}
}
@media (max-width:860px){
  .rw-list{columns:1;min-height:118px}
  .rw-panel{grid-template-columns:1fr;gap:16px}
}
@media (max-width:600px){
  .hero{padding:12px 0 48px}
  .hero-h{font-size:min(42px,9.7vw)}
  .hero .kicker{font-size:14px;margin-bottom:14px}
  .hero-lede{font-size:17px;margin:14px 0 20px}
  .hero-lede .lx{display:none}
  .hero-btns .btn{flex:1 1 auto;justify-content:center}
  .hero-facts{margin-top:26px}
  .hero-facts dd{font-size:24px}
  .hero-facts dt{font-size:12.5px}
  .hero-in{display:flex;flex-direction:column;align-items:stretch;gap:22px}
  .hero-vis{max-width:none}
  .hv-plot .l-pt{font-size:18px}
  .hero-vis{order:-1;padding:16px 16px 14px}
  .hero .kicker{display:none}
  .hv-t{display:none}
  .hv-head{margin-bottom:12px}
  .hero-vis .hv-stats{display:none}
  .hv-k{font-size:13px}.hv-tag{font-size:12px}
  .hv-plot text{font-size:22px}
  .hv-cap{font-size:20px}
  .hv-ax text{font-size:19px}
  .hv-stats div{padding-right:8px}.hv-stats div+div{padding-left:10px}
  .hv-stats dt{font-size:12px}
  .hv-stats dd{font-size:21px}
  .rw-sec .runway{padding:22px 18px 20px;margin:0 calc(var(--gut) * -.4)}
  .rw-big .num,.rw-mini .num{font-variant-numeric:tabular-nums}
.rw-big .num{font-size:60px}
  .rw-readout{gap:14px;padding-right:40px;position:relative}
  .rw-readout .playbtn{position:absolute;right:-4px;top:-4px;margin:0}
  .rw-mini{padding-left:14px}
  .rw-mini .num{font-size:24px}
  #rwSvg text{font-size:20px}
  #rwSvg .ax text{font-size:19px}
}

/* who */
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.who-card{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.who-img{margin:0;position:relative;aspect-ratio:16/10;overflow:hidden}
.who-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.who-card:hover .who-img img{transform:scale(1.03)}
.who-tag{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--ink);font-size:13.5px;font-weight:600;padding:7px 12px;border-radius:999px;box-shadow:0 4px 14px rgba(20,33,61,.18)}
.who-tag::before{content:"";display:inline-block;width:8px;height:8px;background:var(--mari);border-radius:2px;margin-right:8px;vertical-align:1px}
.who-body{padding:30px 34px 34px;display:flex;flex-direction:column;gap:12px;flex:1}
.who-body p{color:var(--slate);margin:0 0 8px;max-width:32em}
.who-body .link{align-self:flex-start;margin-top:auto}
@media (max-width:860px){
  .who-grid{grid-template-columns:1fr}
  .who-body{padding:24px 24px 28px}
}

/* covers */
.covers-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:72px;align-items:start}
.covers-list h2{margin-bottom:36px}
.cov{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.cov li{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.cov .num{font-size:15px;font-weight:700;color:var(--brass);padding-top:3px;flex:none}
.cov h3{font-size:19px;margin:0 0 4px;letter-spacing:-.015em}
.cov p{margin:0;color:var(--slate);font-size:15.5px;line-height:1.5}
.covers .price{position:sticky;top:110px}
.p-then{font-size:15px;color:var(--slate);margin:0 0 22px}
.p-then b{color:var(--ink);font-family:var(--head);font-weight:700}
@media (max-width:960px){
  .covers-in{grid-template-columns:1fr;gap:40px}
  .cov{grid-template-columns:1fr}
  .covers .price{position:static}
}

/* compare */
.cmp{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:32px 36px 26px}
.cmp-legend{display:flex;flex-wrap:wrap;gap:22px;font-size:14.5px;color:#C9D1DD;margin-bottom:22px}
.cmp-legend span{display:inline-flex;align-items:center;gap:8px}
.cmp-legend i{width:14px;height:14px;border-radius:3px}
.lg-a{background:#6E7FA3}.lg-b{background:var(--mari)}
.cmp-rows{display:flex;flex-direction:column;gap:22px;position:relative}
.cmp-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}
.cmp-lbl{margin:0;display:flex;flex-direction:column;line-height:1.1}
.cmp-lbl b{font-size:28px;font-weight:780;letter-spacing:-.03em}
.cmp-lbl span{font-size:13.5px;color:#9EA9BF;margin-top:3px}
.cmp-bars{display:flex;flex-direction:column;gap:6px;position:relative;background:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px) 0 0/calc(100%/3) 100%}
.bar{height:30px;width:calc(var(--v)*100%);border-radius:0 5px 5px 0;display:flex;align-items:center;justify-content:flex-end;padding:0 10px;font-size:14.5px;font-weight:700;transform-origin:0 50%;transition:transform 1s var(--ease)}
.bar span{font-family:var(--head);white-space:nowrap}
.bar-a{background:#6E7FA3;color:#fff}
.bar-b{background:var(--mari);color:var(--ink);justify-content:flex-start;overflow:visible}
.bar-b{position:relative}
.bar-b span{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);color:var(--mari)}
.grow-pre .bar{transform:scaleX(0)}
.cmp-row+.cmp-row .bar{transition-delay:.12s}
.cmp-axis{position:relative;height:18px;margin:14px 0 0 140px;font-size:12.5px;color:#9EA9BF;font-variant-numeric:tabular-nums}
.cmp-axis span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.cmp-axis span:nth-child(1){left:0;transform:none}.cmp-axis span:nth-child(2){left:33.333%}.cmp-axis span:nth-child(3){left:66.667%}.cmp-axis span:nth-child(4){left:100%;transform:translateX(-100%)}
.cmp-note{margin:20px 0 0;font-size:14px;color:#9EA9BF;max-width:60em}
.cmp-note a{color:var(--mari);font-weight:600}
@media (max-width:700px){
  .cmp{padding:22px 18px}
  .cmp-legend{gap:8px 18px}.lg-t{flex-basis:100%}
  .cmp-row{grid-template-columns:1fr;gap:8px}
  .cmp-lbl{flex-direction:row;align-items:baseline;gap:8px}
  .cmp-lbl b{font-size:22px}
  .cmp-axis{margin-left:0}
  .bar{height:28px;font-size:13.5px}
}

/* how */
.how .rail{margin-top:8px}

/* proof */
.proof-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}
.stats div{padding:24px 0 22px;border-top:2px solid var(--ink)}
.stats div:nth-child(odd){padding-right:20px}
.stats div:nth-child(even){padding-left:20px}
.stats dt{font-size:14.5px;color:var(--slate)}
.stats dd{margin:4px 0 0;font-size:clamp(46px,5vw,72px);font-weight:800;letter-spacing:-.05em;line-height:1}
@media (max-width:960px){.proof-in{grid-template-columns:1fr;gap:40px}.quote{padding:28px}}
.lg-t{font-weight:600;color:#fff}

.close-photo{margin:0;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3.3}
.close-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.close-photo figcaption{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);color:var(--ink);font-size:13.5px;font-weight:600;padding:7px 12px;border-radius:999px}

.faces{display:flex;align-items:center;gap:16px;margin-top:26px;text-decoration:none;color:var(--slate);max-width:520px}
.faces-row{display:flex;flex:none;padding-left:10px}
.faces-row img{width:54px;height:54px;object-fit:cover;object-position:50% 22%;border-radius:50%;border:3px solid var(--white);margin-left:-10px;background:var(--mist-2)}
.faces-txt{font-size:15px;line-height:1.45}
.faces-txt b{color:var(--ink)}
.faces .ar{width:14px;height:14px;vertical-align:-2px;margin-left:2px;transition:translate .25s var(--ease)}
.faces:hover .ar{translate:3px 0}
@media (max-width:600px){.faces{align-items:flex-start;flex-direction:column;gap:10px}}
.faces-more{white-space:nowrap;font-weight:600;color:var(--ink);border-bottom:2px solid var(--mari)}
@media (max-width:600px) and (max-height:760px){.hero-lede{display:none}.hero-h{margin-bottom:20px}}
@media (max-width:600px) and (min-height:880px){.hero{padding-bottom:88px}}
