/* Public marketing page only. The workspace keeps its own component styles. */
.home-page { --home-accent:#23664f; }
.home-page .home-skip { position:fixed; top:-80px; left:16px; z-index:100; background:#fff; color:#203b33; padding:12px 18px; border-radius:10px; }
.home-page .home-skip:focus { top:12px; }
.home-page main:focus { outline:none; }
.home-page section[id] { scroll-margin-top:94px; }
.home-page .home-hero { max-width:1280px; margin:auto; padding:72px 24px 68px; display:grid; grid-template-columns:1.02fr 1fr; align-items:center; gap:64px; }
.home-page .home-eyebrow { display:flex; align-items:center; gap:9px; font-size:10px; letter-spacing:.13em; color:#526f5e; font-weight:700; margin:0 0 24px; }
.home-page .home-eyebrow>span,.home-live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#6b9372; }
.home-page .home-hero h1 { margin:0 0 24px; font-size:clamp(38px,4.3vw,60px); font-weight:750; letter-spacing:-.055em; line-height:1.12; }
.home-page .home-hero h1 em { font-style:normal; color:#69845e; }
.home-page .home-lede { font-size:17px; line-height:1.8; max-width:490px; margin:0 0 30px; color:#5a7065; }
.home-page .home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.home-page .home-primary,.home-page .home-secondary { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 19px; border-radius:10px; text-decoration:none; font-size:13px; font-weight:650; min-height:48px; }
.home-page .home-primary { background:#23664f; color:white; box-shadow:0 4px 12px #173f2614; }
.home-page .home-primary:hover { background:#174b3b; }
.home-page .home-secondary { border:1px solid #d7dfd5; color:#3b5c4c; background:#fff; }
.home-page .home-secondary:hover { background:#edf3e8; }
.home-page .home-assurance { font-size:12px; color:#697a70; margin:12px 0 24px; }
.home-page .home-text-link { color:#23664f; font-size:13px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.home-page .home-start-note { color:#6b7a70; font-size:12px; line-height:1.7; margin:12px 0 0; }
.home-page .home-demo { background:#fff; border:1px solid #dce5d9; border-radius:20px; box-shadow:0 24px 55px -28px #1f503138; overflow:hidden; min-width:0; }
.home-page .home-demo-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 24px; background:#edf3e7; border-bottom:1px solid #e1e8dc; font-size:9px; letter-spacing:.13em; color:#516a56; font-weight:650; }
.home-page .home-demo-top>span:first-child { display:flex; align-items:center; gap:8px; }
.home-page .home-sample-badge { background:#fff; border:1px solid #d6e0d0; padding:4px 8px; border-radius:20px; letter-spacing:0; white-space:nowrap; font-size:10px; }
.home-page .home-demo-total { display:flex; align-items:center; justify-content:space-between; padding:24px; gap:16px; }
.home-page .home-demo-total h2 { font-size:18px; line-height:1.4; margin:0 0 6px; font-weight:700; }
.home-page .home-demo-total p { color:#78867c; font-size:11px; margin:0; }
.home-page .home-demo-total>strong { font-size:34px; font-weight:650; letter-spacing:-.05em; line-height:1.05; text-align:center; }
.home-page .home-demo-total small { display:block; font-size:10px; font-weight:500; letter-spacing:0; color:#718276; margin-top:5px; }
.home-page .home-chart-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; margin:0 24px 20px; padding:4px; border-radius:10px; background:#f0f3ed; }
.home-page .home-chart-tabs button { background:transparent; border:1px solid transparent; border-radius:7px; padding:10px 2px; min-height:40px; font-size:11px; font-weight:600; color:#687b6d; cursor:pointer; }
.home-page .home-chart-tabs button[aria-selected=true] { color:#284e39; background:#fff; border-color:#e0e7d9; box-shadow:0 2px 5px #233e2910; }
.home-page .home-chart-panel { padding:0 24px; min-height:248px; }
.home-page .home-chart-panel[hidden] { display:none; }
.home-page .home-chart-panel h3 { font-size:12px; font-weight:600; letter-spacing:-.01em; margin:0 0 12px; }
.home-page .home-chart-row { display:grid; grid-template-columns:100px minmax(0,1fr) 20px 12px; gap:10px; align-items:center; padding:8px 4px; min-height:36px; border-radius:6px; color:#526a59; text-decoration:none; font-size:11px; }
.home-page .home-chart-row:hover { background:#f0f5ea; color:#1b5138; }
.home-page .home-chart-row strong { font-size:12px; text-align:right; }
.home-page .home-chart-track { display:block; background:#f0f3ee; height:9px; border-radius:4px; overflow:hidden; }
.home-page .home-chart-track>span { display:block; width:var(--bar); height:100%; background:var(--row-color); border-radius:4px; }
.home-page .home-chart-arrow { color:#80997f; font-size:13px; }
.home-page .home-chart-note { font-size:10px; line-height:1.6; color:#728170; margin:12px 0 16px; }
.home-page .home-demo-footer { padding:15px 24px; display:flex; justify-content:space-between; align-items:center; color:#2c684f; font-size:12px; font-weight:600; border-top:1px solid #e9eee5; text-decoration:none; }
.home-page .home-demo-footer:hover { background:#f1f5ec; }
.home-page .home-preview-disclosure { margin:0; padding:0 24px 16px; font-size:10px; color:#738071; line-height:1.6; }
.home-page .home-video { border-top:1px solid #e0e7da; padding-top:38px; margin-bottom:52px; }
.home-page .home-video-chapters { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 4px; }
.home-page .home-video-chapters button { display:flex; gap:6px; align-items:center; border:1px solid #dce5d8; border-radius:7px; background:white; color:#4c6c58; font-size:11px; padding:9px 11px; min-height:38px; cursor:pointer; }
.home-page .home-video-chapters button:hover,.home-page .home-video-chapters button[aria-current=true] { background:#eaf1e4; border-color:#adc4a4; color:#264e36; }
.home-page .home-video-chapters button span { color:#788e74; font-size:10px; }
.home-page .home-chapter-status { font-size:11px; min-height:17px; color:#61755e; margin:8px 0; }
.home-page :is(a,button,summary,[role=tabpanel]):focus-visible { outline:3px solid #77a387; outline-offset:3px; }
@media (max-width:1100px) {
  .home-page .home-hero { gap:32px; }
  .home-page .home-hero-actions { align-items:stretch; flex-direction:column; max-width:300px; }
}
@media (max-width:800px) {
  .home-page .home-hero { grid-template-columns:1fr; padding:44px 24px; gap:32px; }
  .home-page .home-hero h1 { max-width:600px; font-size:46px; }
  .home-page .home-hero-actions { flex-direction:row; max-width:none; }
  .home-page .home-demo { max-width:600px; width:100%; }
}
@media (max-width:480px) {
  .home-page header .max-w-7xl { padding:0 16px; gap:8px; }
  .home-page header .text-xl { font-size:17px; }
  .home-page header a[href="register.html"] { display:none; }
  .home-page .home-login { font-size:12px; padding:10px; }
  .home-page .home-hero { padding:38px 20px; }
  .home-page .home-hero h1 { font-size:39px; }
  .home-page .home-eyebrow { font-size:9px; letter-spacing:.08em; }
  .home-page .home-lede { font-size:15px; }
  .home-page .home-hero-actions { flex-direction:column; }
  .home-page .home-demo-top,.home-page .home-demo-total { padding:18px; }
  .home-page .home-demo-total h2 { font-size:16px; }
  .home-page .home-chart-tabs { margin-left:16px; margin-right:16px; }
  .home-page .home-chart-panel { padding:0 16px; }
  .home-page .home-chart-row { grid-template-columns:94px minmax(0,1fr) 15px 10px; gap:7px; }
  .home-page h2.text-4xl { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page *, .home-page *::before,.home-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
