/* ---------- /partners and the founding-partner pieces of /partner-portal ---------- */

/* hero: the four commitments as a strip under the CTAs */
.fp-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
@media (max-width:980px){ .fp-strip{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .fp-strip{grid-template-columns:minmax(0,1fr)} }
.fp-strip div{background:var(--bg);padding:18px 18px 20px;display:flex;gap:12px;align-items:flex-start}
.fp-strip svg{flex:none;width:22px;height:22px;color:var(--accent);margin-top:2px}
.fp-strip b{display:block;font-family:var(--f-display);font-weight:600;font-size:1rem;color:var(--fg);margin-bottom:3px}
.fp-strip span{display:block;font-family:var(--f-body);font-size:13px;line-height:1.5;color:var(--fg-dim)}
.fp-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);padding:6px 11px;margin:18px 0 18px}
.fp-badge i{width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* the honest comparison */
.fp-vs{border:1px solid var(--line);overflow-x:auto}
.fp-vs table{width:100%;border-collapse:collapse;min-width:720px;font-family:var(--f-body);font-size:.9rem;line-height:1.55}
.fp-vs th,.fp-vs td{text-align:left;vertical-align:top;padding:15px 18px;border-bottom:1px solid var(--line)}
.fp-vs tbody tr:last-child td{border-bottom:0}
.fp-vs thead th{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);background:var(--paper)}
.fp-vs thead th.us{color:#fff;background:var(--accent)}
.fp-vs td:first-child{font-family:var(--f-display);font-weight:600;color:var(--fg);width:22%}
.fp-vs td.them{color:var(--fg-dim);width:36%}
.fp-vs td.us{color:var(--fg);background:color-mix(in srgb,var(--accent) 5%,var(--bg));border-left:2px solid var(--accent)}

/* why now: three numbered reasons */
.fp-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:8px}
@media (max-width:900px){ .fp-why{grid-template-columns:minmax(0,1fr);gap:22px} }
.fp-why div{border-top:2px solid var(--fg);padding-top:16px}
.fp-why b{display:block;font-family:var(--f-display);font-weight:600;font-size:1.2rem;line-height:1.3;color:var(--fg);margin:0 0 8px}
.fp-why p{font-family:var(--f-body);font-size:.9375rem;line-height:1.65;color:var(--fg-dim);margin:0}
.fp-why em{font-style:normal;font-family:var(--f-body);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* founding commitments */
.fp-commit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:820px){ .fp-commit{grid-template-columns:minmax(0,1fr)} }
.fp-commit article{border:1px solid var(--line);background:var(--bg);padding:26px 26px 0;display:flex;flex-direction:column}
.fp-commit .ic{width:44px;height:44px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);margin-bottom:16px}
.fp-commit .ic svg{width:22px;height:22px}
.fp-commit h3{font-family:var(--f-display);font-weight:600;font-size:1.3rem;letter-spacing:-.015em;margin:0 0 10px}
.fp-commit p{font-family:var(--f-body);font-size:.9375rem;line-height:1.65;color:var(--fg-dim);margin:0 0 20px}
.fp-commit .rm{margin:auto -26px 0;padding:13px 26px;border-top:1px solid var(--line);background:var(--paper);font-family:var(--f-body);font-size:13px;color:var(--fg)}
.fp-commit .rm b{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--signal);margin-right:8px}
.fp-limit{margin:18px 0 0;font-family:var(--f-body);font-size:13.5px;color:var(--fg-dim)}

/* economics: one client, five ways to earn, rising over time (illustrative, no figures) */
.fp-econ{border:1px solid var(--line);background:var(--bg);padding:28px 26px 22px}
.fp-stairs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;min-height:300px}
.fp-step{display:flex;flex-direction:column;justify-content:flex-end}
.fp-bar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff),var(--accent));color:#fff;padding:14px 14px 16px;display:flex;flex-direction:column;justify-content:flex-end}
.fp-step:nth-child(1) .fp-bar{min-height:92px;opacity:.55}
.fp-step:nth-child(2) .fp-bar{min-height:132px;opacity:.68}
.fp-step:nth-child(3) .fp-bar{min-height:196px;opacity:.8}
.fp-step:nth-child(4) .fp-bar{min-height:236px;opacity:.9}
.fp-step:nth-child(5) .fp-bar{min-height:276px}
.fp-bar small{font-family:var(--f-body);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.fp-bar b{font-family:var(--f-display);font-weight:600;font-size:1.05rem;line-height:1.25;margin-top:4px}
.fp-step p{font-family:var(--f-body);font-size:12.5px;line-height:1.5;color:var(--fg-dim);margin:10px 0 0;min-height:4.6em}
.fp-step p b{color:var(--fg);font-weight:600}
.fp-axis{display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-family:var(--f-body);font-size:12px;color:var(--fg-faint)}
@media (max-width:820px){
  .fp-stairs{grid-template-columns:minmax(0,1fr);min-height:0;gap:10px}
  .fp-step .fp-bar{min-height:0!important;opacity:1!important;flex-direction:row;align-items:baseline;gap:10px;padding:12px 14px}
  .fp-step p{min-height:0;margin:6px 0 4px}
  .fp-axis{display:none}
}

/* what clients buy */
.fp-buy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
@media (max-width:980px){ .fp-buy{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .fp-buy{grid-template-columns:minmax(0,1fr)} }
.fp-buy div{background:var(--bg);padding:22px 20px}
.fp-buy b{display:block;font-family:var(--f-display);font-weight:600;font-size:1.05rem;line-height:1.3;margin-bottom:8px}
.fp-buy p{font-family:var(--f-body);font-size:.875rem;line-height:1.6;color:var(--fg-dim);margin:0}
.fp-buy span{display:block;margin-top:12px;font-family:var(--f-body);font-size:12px;font-weight:600;color:var(--accent)}

/* journey */
.fp-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.fp-path::before{content:"";position:absolute;left:20px;right:20px;top:19px;height:2px;background:var(--line)}
.fp-path li{position:relative;padding:0 12px 0 0}
.fp-path .dot{position:relative;z-index:1;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--bg);border:2px solid var(--accent);color:var(--accent);font-family:var(--f-display);font-weight:600;font-size:15px}
.fp-path li.sk .dot{background:var(--accent);color:#fff}
.fp-path b{display:block;font-family:var(--f-display);font-weight:600;font-size:1rem;margin:14px 0 6px}
.fp-path p{font-family:var(--f-body);font-size:13px;line-height:1.55;color:var(--fg-dim);margin:0}
.fp-path em{display:inline-block;margin-top:8px;font-style:normal;font-family:var(--f-body);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--signal)}
@media (max-width:900px){
  .fp-path{grid-template-columns:minmax(0,1fr);gap:18px}
  .fp-path::before{left:19px;right:auto;top:20px;bottom:20px;width:2px;height:auto}
  .fp-path li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;padding:0}
  .fp-path li .dot{grid-row:span 3}
  .fp-path b{margin:8px 0 4px}
}

/* closing band */
.fp-close{border:1px solid var(--line);background:var(--paper);padding:clamp(26px,4vw,44px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:28px;align-items:center}
@media (max-width:820px){ .fp-close{grid-template-columns:minmax(0,1fr)} }
.fp-close h2{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 10px}
.fp-close p{font-family:var(--f-body);font-size:1rem;line-height:1.6;color:var(--fg-dim);margin:0}
.fp-close .hb-cta{justify-content:flex-end}
@media (max-width:820px){ .fp-close .hb-cta{justify-content:flex-start} }
.fp-strip p{margin:0}
.pp-table tr.fp-row td{background:color-mix(in srgb,var(--accent) 5%,var(--bg))}
.pp-table tr.fp-row td:first-child{color:var(--accent);border-left:2px solid var(--accent)}
.hb-hero .fp-strip+.pp-note{margin-top:14px}
