/* r33b homepage: unified type + pricing card deck. Homepage only. */
/* ---- Type unification (homepage sections, not the hero lockup or Journal titles) ---- */
#services,#about,.audience,.problem,#pricing,#how,.gh-section,.jl-kicker{font-family:"Work Sans",Arial,sans-serif}
#services .eyebrow,#about .eyebrow,.problem .eyebrow,#pricing .eyebrow,#how .eyebrow,.jl-kicker{font:700 .74rem/1 "Work Sans",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
#services .eyebrow,#about .eyebrow,.problem .eyebrow,#pricing .eyebrow,#how .eyebrow{color:#A73632;margin:0 0 1.6rem}
.jl-kicker{color:#A73632}
.jl-kicker h2{font:inherit}
#services .cf8-head h2,#about h2,.problem h2,#pricing .hp-head h2,#how h2,.gh-section h2{font-family:"Work Sans",Arial,sans-serif;font-weight:650;letter-spacing:-.04em;line-height:1}
#services .cf8-head h2,#about h2,.problem h2,#pricing .hp-head h2,#how h2{font-size:clamp(2.4rem,5.4vw,4.6rem)}
#services .cf8-head h2 em,#about h2 em,.problem h2 em,#pricing .hp-head h2 em,#how h2 em{font-family:inherit;font-style:normal;font-weight:650;color:var(--deep-green,#245b36)}
#services h3,#about h3,.problem h3,#pricing h3,#how h3{font-family:"Work Sans",Arial,sans-serif}

/* ---- Pricing (r46: calm aligned cards + quick scroll-in reveal) ---- */
.hp{--ink:#0F0F0F;--paper:#FAF8F2;--green:#6CBF5B;--deep:#245B36;--red:#A73632;--line:rgba(15,15,15,.12);position:relative;background:var(--paper);overflow-x:clip}
.hp-head,.hp-pin,.hp-foot{max-width:1100px;margin:0 auto;padding:0 24px;box-sizing:content-box}
.hp-head h2{margin:0 0 .35em}
.hp-head p:last-child{max-width:46ch;margin:0;color:#3a3a3a;font-size:1.05rem;line-height:1.6}
.hp-pin{padding-top:40px;padding-bottom:32px}
.hp-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hp-card{position:relative;display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:10px;padding:26px 24px 24px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:0 1px 2px rgba(15,15,15,.04)}
.hp-face{display:contents}
.hp-group{font:700 .72rem/1 "Work Sans",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--red);align-self:end}
.hp-ongoing .hp-group{color:var(--deep)}
.hp-teams .hp-group{color:var(--deep)}
.hp-card h3{margin:0;font:650 1.3rem/1.15 "Work Sans",Arial,sans-serif;letter-spacing:-.015em;color:inherit}
.hp-price{margin:4px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-family:"Work Sans",Arial,sans-serif}
.hp-price small{font:600 .8rem/1 "Work Sans",Arial,sans-serif;color:#555}
.hp-price strong{font:700 clamp(1.7rem,2.6vw,2.1rem)/1 "Work Sans",Arial,sans-serif;letter-spacing:-.03em}
.hp-price span{font:500 .82rem/1.35 "Work Sans",Arial,sans-serif;color:#555;flex-basis:100%}
.hp-desc{margin:0;font:400 .95rem/1.5 "Work Sans",Arial,sans-serif;color:#333}
.hp-more{align-self:end;justify-self:start;margin-top:6px;display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:10px;border:1px solid rgba(15,15,15,.25);font:600 .9rem/1 "Work Sans",Arial,sans-serif;color:var(--ink);text-decoration:none;background:transparent;transition:background-color .2s,border-color .2s,color .2s}
.hp-more:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hp-more:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.hp-more svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hp-hot{border:2px solid var(--green);padding:25px 23px 23px;box-shadow:0 10px 30px -14px rgba(36,91,54,.35)}
.hp-hot .hp-more{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hp-hot .hp-more:hover{background:var(--deep);border-color:var(--deep)}
.hp-badge{position:absolute;top:-12px;right:20px;background:var(--green);color:var(--ink);font:700 .68rem/1 "Work Sans",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;border-radius:6px}
.hp-foot{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
#pricing .hp-foot .button{border-radius:10px}
.hp-fine{margin:0;font:400 .82rem/1.5 "Work Sans",Arial,sans-serif;color:#555;max-width:60ch}
@media (max-width:899px){.hp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hp-cards{grid-template-columns:1fr;gap:16px}.hp-head,.hp-pin,.hp-foot{padding-left:18px;padding-right:18px}.hp-pin{padding-top:28px;padding-bottom:24px}.hp-card{padding:22px 20px 20px}.hp-hot{padding:21px 19px 19px}}
/* reveal: JS marks cards below the fold; they fade + rise 8px once on entry (fade only with reduced motion). Transform/opacity only: CLS 0. */
.hp-rv .hp-card{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*60ms)}
.hp-rv.hp-rm .hp-card{transform:none}
.hp-rv .hp-card.hp-in{opacity:1;transform:none}
#approach .eyebrow{font:700 .74rem/1 "Work Sans",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
