/* Homepage composition from specimen 13; shell and controls remain shared. */
/* One navy palette for homepage actions, accents and illustrations. */
.fj-app.fj-home {
 --fj-action:#233f67;
 --fj-action-hover:#192e4d;
 --fj-action-soft:#edf1f6;
 --fj-focus:2px solid var(--fj-action);
}
.fj-home main { padding:0; }
.fj-home-container { max-width:1180px; margin:0 auto; padding-left:28px; padding-right:28px; }
.fj-home-hero { background:#fbfbf9; border-bottom:1px solid var(--fj-border); text-align:center; padding:96px 0 88px; }
.fj-home .fj-home-hero h1 { font-size:64px; line-height:1.05; font-weight:400; letter-spacing:.04em; margin:0 0 20px; }
.fj-home-hero p { font-size:20px; line-height:1.5; color:var(--fj-secondary); max-width:560px; margin:0 auto 32px; }
.fj-home main .fj-button { min-height:48px; padding:0 26px; }
.fj-home-feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px; align-items:center; padding-top:88px; }
.fj-home-feature > * { min-width:0; }
.fj-home .fj-home-copy h2 { font-size:34px; line-height:1.15; font-weight:600; letter-spacing:-.02em; margin:0 0 16px; text-wrap:pretty; }
.fj-home-copy p { font-size:16.5px; line-height:1.65; color:var(--fj-secondary); margin:0 0 24px; max-width:480px; text-wrap:pretty; }
.fj-home-copy .fj-home-eyebrow { font-size:12.5px; line-height:1.5; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--fj-action); margin-bottom:12px; }
.fj-home-copy ul { margin:0; padding:0; list-style:none; display:grid; gap:12px; max-width:480px; }
.fj-home-copy li { display:flex; gap:10px; font-size:15.5px; line-height:1.55; }
.fj-home-copy li::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--fj-action); flex:none; margin-top:9px; }
.fj-home-planning { padding:0 4%; line-height:1.5; }
.fj-home-scenarios { display:grid; gap:12px; grid-column:1; grid-row:1; }
.fj-home-feature--scenarios .fj-home-copy { grid-column:2; }
.fj-home-scenario { display:flex; align-items:center; gap:14px; background:var(--fj-surface); border:1px solid var(--fj-border); border-radius:10px; box-shadow:0 1px 2px #14161c0d,0 6px 16px #14161c0f; padding:13px 16px; }
.fj-home-scenario::before { content:""; width:8px; height:8px; border-radius:2px; background:#a14a22; flex:none; }
.fj-home-scenario-label { font-size:15px; line-height:1.35; font-weight:600; }
.fj-home-scenario-label span { color:var(--fj-muted); font-weight:400; white-space:nowrap; }
.fj-home-scenario strong { margin-left:auto; font-size:18px; font-weight:600; color:#a14a22; font-variant-numeric:tabular-nums; }
.fj-home-scenario:nth-child(1) { margin-right:26%; }
.fj-home-scenario:nth-child(2) { margin-left:5%; margin-right:8%; }
.fj-home-scenario:nth-child(3) { margin-left:10%; margin-right:2%; }
.fj-home-scenario:nth-child(4) { margin-left:14%; }
.fj-home-photo { display:block; width:100%; height:auto; border-radius:12px; }
.fj-home-feature--family { padding-bottom:96px; }
.fj-home-stats { background:#fbfbf9; border-block:1px solid var(--fj-border); }
.fj-home-stats .fj-home-container { padding-top:72px; padding-bottom:72px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; text-align:center; }
.fj-home-stats strong { font-size:44px; line-height:1.3; font-weight:600; letter-spacing:-.02em; color:var(--fj-action); font-variant-numeric:tabular-nums; }
.fj-home .fj-home-stats h2 { font-size:16px; font-weight:600; margin:6px 0 0; }
.fj-home-stats p { font-size:14px; line-height:1.5; color:var(--fj-secondary); margin:6px 0 0; }
.fj-home-demo { padding-bottom:96px; }
.fj-home .fj-home-demo h2 { font-size:28px; line-height:1.2; margin-bottom:14px; }
@media(max-width:900px) {
 .fj-home-feature { grid-template-columns:minmax(0,1fr); gap:40px; }
 .fj-home-feature--scenarios .fj-home-copy,.fj-home-scenarios { grid-column:auto; grid-row:auto; }
 .fj-home-planning,.fj-home-scenarios,.fj-home-photo { width:100%; max-width:560px; justify-self:center; }
}
@media(max-width:719px) {
 .fj-home-container { padding-left:20px; padding-right:20px; }
 .fj-home-hero { padding:64px 0 56px; }
 .fj-home .fj-home-hero h1 { font-size:46px; }
 .fj-home-hero p { font-size:18px; }
 .fj-home-feature { padding-top:56px; gap:32px; }
 .fj-home .fj-home-copy h2 { font-size:28px; }
 .fj-home-feature--family,.fj-home-demo { padding-bottom:56px; }
 .fj-home-stats .fj-home-container { grid-template-columns:1fr; padding-top:48px; padding-bottom:48px; gap:32px; }
 .fj-home-scenario { gap:8px; padding:13px 12px; }
 .fj-home-scenario:nth-child(n) { margin-left:0; margin-right:0; }
 /* At phone sizes, place the example adjustments beneath the chart. */
 .fj-home-planning > div { display:grid; gap:10px; }
 .fj-home-planning > div > div:not(:first-child) { position:static !important; max-width:none !important; width:100%; }
}
