/* People Purpose — shared page components.
   Extracted from duplicated inline <style> blocks (course app, catalog, auth, landing pages).
   Single source of truth: edit here, never inline. */
/* Financial Clarity landing page. Brand: Kaisei Decol display, Raleway body. Palette: Royal Purple, Gold/Wood, Linen, Ash Black. Type hierarchy follows brand ratios (title 2x, heading 1.75x, sub 1.25x, body 1x). Centered single-column blocks, golden-ratio measures, fluid type, native details FAQ, inline SVG only. */
.fcp-herowrap{background:var(--purple);padding:clamp(3.5rem,7vw,5.5rem) 1.25rem clamp(3rem,6vw,4.5rem)}
.fcp-hero{max-width:46rem;margin-inline:auto;text-align:center}
.fcp-eyebrow{font-family:var(--body);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-size:.78rem;display:block;margin-bottom:.9rem}
.fcp-herowrap .fcp-eyebrow{color:var(--gold-bright)}
.fcp-hero h1{font-family:var(--display);color:var(--linen);font-size:clamp(2rem,4.6vw,2.85rem);line-height:1.14;text-wrap:balance;margin:.3rem 0 .9rem}
.fcp-hero .sub{color:rgba(247,243,241,.9);font-size:clamp(1.05rem,2.3vw,1.2rem);line-height:1.6;max-width:36rem;margin:0 auto 1.6rem}
.fcp-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.fcp-trust{margin-top:1.5rem;color:rgba(247,243,241,.7);font-size:.82rem;letter-spacing:.03em}
.fcp-trust b{color:var(--gold-bright);font-weight:600}
.fcp-stats{background:var(--linen-2);padding:clamp(2.4rem,5vw,3.4rem) 1.25rem}
.fcp-stats-grid{max-width:60rem;margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.fcp-stat .n{font-family:var(--display);color:var(--purple);font-size:clamp(1.7rem,3.8vw,2.4rem);line-height:1}
.fcp-stat .l{display:block;margin-top:.5rem;color:var(--ink);font-size:.9rem;line-height:1.4;opacity:.85}
.fcp-stats-note{max-width:60rem;margin:1.4rem auto 0;text-align:center;font-size:.74rem;color:var(--ink);opacity:.5}
.fcp-sec{padding:clamp(3rem,6vw,5rem) 1.25rem}
.fcp-sec.band{background:var(--linen-2)}
.fcp-head{max-width:42rem;margin:0 auto clamp(1.8rem,3.5vw,2.6rem);text-align:center}
.fcp-head h2{font-family:var(--display);color:var(--purple);font-size:clamp(1.7rem,3.4vw,var(--t-title));line-height:1.16;text-wrap:balance;margin-bottom:.7rem}
.fcp-head p{color:var(--ink);font-size:1.07rem;line-height:1.65;max-width:38rem;margin-inline:auto}
.fcp-grid{max-width:62rem;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.fcp-card{background:var(--linen-2);border-radius:10px;padding:2.2rem 1.8rem;border-top:3px solid var(--gold);text-align:center}
.fcp-sec.band .fcp-card{background:var(--linen)}
.fcp-ic{width:66px;height:66px;border-radius:50%;background:rgba(148,125,89,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;color:var(--gold-ink)}
.fcp-ic svg{width:34px;height:34px}
.fcp-card h3{font-family:var(--display);color:var(--purple);font-size:1.3rem;line-height:1.25;margin-bottom:.55rem}
.fcp-card p{color:var(--text-muted);font-size:1rem;line-height:1.6;max-width:26rem;margin-inline:auto}
.fcp-steps{max-width:56rem;margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:fcp}
.fcp-step{text-align:center}
.fcp-step .num{counter-increment:fcp;width:48px;height:48px;border-radius:50%;background:var(--purple);color:var(--gold-bright);font-family:var(--display);font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin:0 auto .9rem}
.fcp-step .num::before{content:counter(fcp)}
.fcp-step h3{font-family:var(--display);color:var(--purple);font-size:1.12rem;margin-bottom:.4rem}
.fcp-step p{color:var(--ink);font-size:.96rem;line-height:1.55;opacity:.9;max-width:14rem;margin-inline:auto}
.fcp-tools{max-width:58rem;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.fcp-tool{background:var(--linen-2);border:1px solid rgba(148,125,89,.3);border-radius:10px;padding:1.5rem 1.6rem;display:flex;gap:1rem;align-items:flex-start;text-align:left}
.fcp-tool .dot{width:12px;height:12px;border-radius:50%;background:var(--gold);margin-top:.5rem;flex-shrink:0}
.fcp-tool .tn{font-family:var(--display);color:var(--purple);font-size:1.12rem;margin-bottom:.3rem}
.fcp-tool p{color:var(--text-muted);font-size:.96rem;line-height:1.5}
.fcp-mb{max-width:44rem;margin:1.9rem auto 0;text-align:center;color:var(--ink);font-size:1.02rem;line-height:1.6;opacity:.92}
.fcp-person{max-width:50rem;margin-inline:auto;display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center;text-align:left}
.fcp-ph{width:clamp(210px,42vw,300px);height:auto;border-radius:14px;display:block;flex-shrink:0;box-shadow:0 12px 30px rgba(34,0,34,.2)}
.fcp-person p{color:var(--ink);line-height:1.65;margin-bottom:.8rem}
.fcp-person p:last-child{margin-bottom:0}
.fcp-faq{max-width:46rem;margin-inline:auto;text-align:left}

.fcp-faq p{color:var(--ink);line-height:1.6;font-size:1rem;opacity:.92}
@media(max-width:760px){
.fcp-stats-grid{grid-template-columns:1fr 1fr;gap:1.7rem 1rem}
.fcp-grid{grid-template-columns:1fr;gap:1.2rem;max-width:30rem}
.fcp-steps{grid-template-columns:1fr 1fr;gap:1.8rem 1rem;max-width:24rem}
.fcp-tools{grid-template-columns:1fr;max-width:30rem}
.fcp-person{grid-template-columns:1fr;justify-items:center;text-align:center;gap:1.3rem;max-width:32rem}
}
.course-intro .formats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
@media(max-width:760px){.course-intro .formats{grid-template-columns:1fr;max-width:26rem}}
.fmt-card{background:#fff;border:1px solid var(--linen-2);border-radius:6px;padding:1.6rem 1.5rem}
.fmt-card h3{font-size:1.15rem;margin-bottom:.4rem}
.fmt-card .p{font-size:.9rem;color:#5b4b52}
.fmt-card .amt{font-family:var(--display);color:var(--gold-ink);font-size:1rem;margin-top:.7rem}
.catalog{display:flex;flex-direction:column;gap:2.4rem}
.course-block{background:#fff;border:1px solid var(--linen-2);border-radius:8px;padding:2rem 1.9rem;box-shadow:0 10px 30px rgba(34,0,34,.05)}
.course-block .cb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.course-block h2{font-size:1.6rem}
.course-block .cb-sub{font-family:var(--display);font-style:italic;color:var(--gold-ink);margin:.2rem 0 1rem}
.fmt-tabs{display:inline-flex;border:1px solid var(--linen-2);border-radius:999px;overflow:hidden;margin:.4rem 0 1.4rem}
.fmt-tabs button{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.6rem 1.1rem;color:var(--ink);background:#fff}
.fmt-tabs button.on{background:var(--purple);color:var(--linen)}
.mod-row{display:grid;grid-template-columns:2.2rem 1fr auto auto;gap:1rem;align-items:center;padding:.85rem 0;border-top:1px solid var(--linen-2)}
.mod-row .num{font-family:var(--display);color:var(--gold-ink);font-size:.95rem}
.mod-row .t{font-weight:600}
.mod-row .price{font-family:var(--display);color:var(--purple);white-space:nowrap}
.mod-row .free{color:var(--river);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.buy-whole{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1.4rem;padding-top:1.2rem;border-top:2px solid var(--linen-2)}
.buy-whole .price{font-family:var(--display);font-size:1.2rem;color:var(--purple)}
.btn.mini{padding:.6rem 1.1rem;font-size:.72rem}
.auth-bar{display:flex;justify-content:flex-end;gap:1rem;align-items:center;font-size:.85rem;margin-bottom:1.2rem}
.auth-bar a{color:var(--purple);font-weight:600}
.note{font-size:.85rem;color:#5b4b52;margin-top:.5rem}
.app-card{background:#fff;border:1px solid var(--linen-2);border-radius:8px;padding:1.8rem;margin-bottom:1.4rem}
.locked{opacity:.6}
.badge{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold-ink);border:1px solid var(--linen-2);border-radius:999px;padding:.2rem .7rem}
.badge.own{color:var(--river-ink,#3d7280);border-color:var(--river)}
.auth-form{max-width:26rem;background:#fff;border:1px solid var(--linen-2);border-radius:8px;padding:2rem}
.auth-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);margin:.9rem 0 .3rem}
.auth-form input{width:100%;padding:.8rem;border:1px solid var(--linen-2);border-radius:4px;font-family:var(--body)}
.auth-msg{margin-top:1rem;font-size:.9rem}
.player video,.player iframe{width:100%;border-radius:6px;background:#000;aspect-ratio:16/9}
.book-cover-real{background:none;padding:0;box-shadow:none;aspect-ratio:auto}
.book-cover-real img{width:100%;display:block;border-radius:4px;box-shadow:0 18px 40px rgba(34,0,34,.22)}
