/* Public home: product information and a short path to requesting access. */
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:64px; padding:83px 0 72px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:9px; letter-spacing:.1em; margin-bottom:24px; }
.hero-badge i,.hero-facts i { height:5px; width:5px; border-radius:50%; background:var(--accent); flex:none; }
.hero h1 { font-size:clamp(41px,4.2vw,59px); line-height:1.13; letter-spacing:-2.6px; font-weight:600; margin-bottom:24px; }
.hero h1>span { color:var(--accent); }
.hero-description { font-size:15px; color:var(--muted); line-height:1.9; max-width:420px; margin-bottom:28px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; }
.hero-facts { display:flex; flex-wrap:wrap; gap:9px 17px; margin-top:24px; }
.hero-facts>span { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:9px; }
.hero-facts i { background:var(--muted); width:3px; height:3px; }
.principles { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:27px 0; display:flex; gap:35px; align-items:center; justify-content:space-between; }
.principles>span { font-size:8px; letter-spacing:.12em; color:var(--muted); font-weight:600; }
.principles>div { display:flex; align-items:center; gap:32px; }.principles b { font-size:12px; font-weight:500; }.principles i { width:4px; height:4px; border-radius:50%; background:var(--subtle); }
.section { padding-top:89px; padding-bottom:89px; scroll-margin-top:80px; }
.section-heading { margin-bottom:36px; }.section-heading h2 { margin-bottom:15px; }.section-heading>p { color:var(--muted); font-size:13px; line-height:1.8; max-width:365px; margin-bottom:0; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.feature-card { border:1px solid var(--border); border-radius:12px; padding:29px; background:var(--card); }
.feature-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:var(--accent-bg); color:var(--accent); margin-bottom:26px; }.feature-icon svg { width:22px; height:22px; }
.feature-number { font-size:8px; letter-spacing:.1em; color:var(--muted); font-weight:600; }
.feature-card h3 { font-size:21px; font-weight:600; line-height:1.35; letter-spacing:-.6px; margin:11px 0 15px; }
.feature-card p { font-size:12px; color:var(--muted); line-height:1.85; margin-bottom:22px; }
.feature-card ul { list-style:none; margin:0; padding:18px 0 0; border-top:1px solid var(--border); display:grid; gap:9px; color:var(--muted); font-size:10px; }.feature-card li::before { content:'↗'; color:var(--accent); margin-right:8px; }
.routine-section { background:var(--soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:77px 0; scroll-margin-top:82px; }
.routine-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }.routine-grid h2 { margin-bottom:19px; }.routine-grid>div>p { max-width:365px; font-size:13px; line-height:1.85; color:var(--muted); margin-bottom:27px; }
.text-link { display:inline-flex; align-items:center; gap:15px; text-decoration:none; color:var(--accent); font-size:12px; font-weight:600; }
.routine-steps { list-style:none; margin:0; padding:0; }.routine-steps li { display:flex; gap:20px; position:relative; padding-bottom:27px; }.routine-steps li:last-child { padding:0; }.routine-steps li::after { content:''; position:absolute; top:37px; bottom:6px; left:16px; width:1px; background:var(--border); }.routine-steps li:last-child::after { display:none; }.routine-steps li>span { width:33px; height:33px; border-radius:50%; border:1px solid var(--border); background:var(--card); display:grid; place-items:center; color:var(--accent); font-size:10px; font-weight:600; flex:none; }.routine-steps h3 { font-size:14px; font-weight:600; margin:3px 0 5px; }.routine-steps p { font-size:12px; color:var(--muted); margin:0; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.faq-list details { border-bottom:1px solid var(--border); padding:19px 0; }.faq-list details:first-child { padding-top:0; }.faq-list summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:13px; font-weight:500; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:'+'; font-size:18px; font-weight:400; line-height:1.2; color:var(--accent); }.faq-list details[open] summary::after { content:'−'; }.faq-list details p { color:var(--muted); font-size:12px; line-height:1.85; margin:13px 25px 0 0; }
.invite-section { padding:77px 0; background:var(--deep); color:var(--on-deep); scroll-margin-top:80px; }.register-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }.invite-copy .eyebrow { color:#a8d2b9; }.invite-copy h2 { font-size:47px; letter-spacing:-1.9px; margin-bottom:23px; }.invite-copy>p { font-size:14px; line-height:1.9; color:var(--on-deep-muted); max-width:360px; }.invite-points { display:grid; gap:13px; padding:14px 0 28px; }.invite-points span { display:flex; gap:10px; align-items:center; font-size:11px; color:var(--on-deep-muted); }.invite-points i { display:grid; place-items:center; width:16px; height:16px; border:1px solid #547e68; border-radius:50%; font-style:normal; color:#c4e8d0; font-size:9px; }.invite-login { font-size:11px !important; }.invite-login a { color:#d5eddd; font-weight:500; }
.invite-form,.request-done { background:var(--card); border:1px solid var(--border); color:var(--text); border-radius:13px; padding:30px; }.invite-form { display:grid; gap:18px; }.form-heading .eyebrow { font-size:8px; margin-bottom:6px; }.form-heading h3 { font-size:21px; letter-spacing:-.5px; font-weight:600; margin:0 0 6px; }.form-heading p { font-size:11px; color:var(--muted); margin:0; }.invite-form .btn { width:100%; margin-top:2px; justify-content:space-between; padding:13px 16px; }.privacy-note { font-size:9px; line-height:1.8; color:var(--muted); margin:0; }.trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.request-done { padding:38px 30px; }.success-icon { display:grid; place-items:center; width:47px; height:47px; border-radius:50%; background:var(--good-bg); color:var(--good); font-size:22px; margin-bottom:22px; }.request-done .eyebrow { font-size:8px; margin-bottom:7px; }.request-done h3 { font-size:28px; font-weight:600; letter-spacing:-1px; margin-bottom:13px; }.request-done>p { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }.next-step { padding:18px 0; margin:21px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }.next-step b { font-size:12px; }.next-step p { font-size:11px; line-height:1.9; color:var(--muted); margin:6px 0 0; }.request-done .btn { font-size:11px; }
.site-footer { padding:35px 0 25px; background:var(--bg); }.footer-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:30px; border-bottom:1px solid var(--border); }.footer-top>div { display:flex; gap:24px; }.footer-top a:not(.brand) { font-size:11px; color:var(--muted); text-decoration:none; }.footer-top .brand { font-size:20px; }.footer-bottom { display:flex; justify-content:space-between; gap:40px; padding-top:23px; color:var(--muted); font-size:9px; }.footer-bottom p { max-width:700px; line-height:1.9; margin:0; }.footer-bottom>span { flex:none; }
@media (max-width:1100px) { .hero { gap:35px; padding-top:65px; }.hero h1 { font-size:48px; letter-spacing:-2px; }.hero-actions .btn { font-size:11px; padding:12px 14px; gap:10px; }.principles>div { gap:19px; }.principles b { font-size:11px; }.feature-card { padding:23px; }.routine-grid,.faq-grid,.register-grid { gap:60px; } }
@media (max-width:850px) { .hero { grid-template-columns:1fr; gap:38px; padding:50px 0; }.hero-copy { max-width:610px; }.hero h1 { font-size:54px; }.hero-description { max-width:520px; }.hero-facts { margin-top:22px; }.principles { align-items:flex-start; flex-direction:column; gap:12px; }.principles>div { width:100%; justify-content:space-between; gap:10px; }.section { padding-top:65px; padding-bottom:65px; }.feature-grid { gap:13px; }.feature-card { padding:20px; }.feature-card h3 { font-size:18px; }.feature-card p { font-size:11px; }.feature-card h3 br { display:none; }.routine-grid,.faq-grid { gap:38px; }.register-grid { gap:40px; }.invite-copy h2 { font-size:39px; }.invite-form { padding:25px; } }
@media (max-width:650px) { .feature-grid,.routine-grid,.faq-grid,.register-grid { grid-template-columns:minmax(0,1fr); }.hero { padding:42px 0 39px; }.hero h1 { font-size:45px; line-height:1.15; letter-spacing:-1.9px; margin-bottom:19px; }.hero-badge { font-size:8px; margin-bottom:19px; }.hero-description { font-size:14px; line-height:1.85; margin-bottom:23px; }.hero-actions { gap:9px; }.hero-actions .btn { padding:12px 15px; font-size:11px; }.hero-facts { gap:8px 13px; font-size:8px; }.hero-facts>span { font-size:8px; }.principles { padding:23px 0; gap:13px; }.principles>span { font-size:7px; }.principles>div { display:grid; grid-template-columns:1fr 1fr; gap:10px 15px; }.principles b { font-size:11px; }.principles i { display:none; }.section { padding-top:54px; padding-bottom:54px; }.section-heading { margin-bottom:28px; }.section-heading>p { font-size:12px; }.feature-grid { gap:16px; }.feature-card { padding:25px; }.feature-icon { float:right; margin:0; }.feature-card h3 { font-size:23px; max-width:230px; margin-top:16px; }.feature-card p { font-size:12px; max-width:420px; }.feature-card ul { grid-template-columns:1fr; font-size:11px; }.routine-section { padding:54px 0; }.routine-grid { gap:32px; }.routine-grid>div>p { font-size:12px; }.routine-steps h3 { font-size:14px; }.routine-steps p { font-size:12px; }.faq-grid { gap:0; }.faq-list details { padding:20px 0; }.faq-list details:first-child { padding-top:12px; }.faq-list summary { font-size:12px; }.invite-section { padding:50px 0; }.register-grid { gap:27px; }.invite-copy h2 { font-size:36px; }.invite-copy>p { font-size:13px; }.invite-points { padding:7px 0 16px; }.invite-form { padding:24px; gap:17px; }.footer-top { align-items:flex-start; }.footer-top>div { flex-direction:column; gap:8px; }.footer-bottom { flex-direction:column; gap:17px; font-size:9px; } }
@media (max-width:370px) { .hero h1 { font-size:40px; }.hero-badge { font-size:7px; } }
.feature-card p { font-size:13px; }
.privacy-note { font-size:10px; }
.footer-bottom { font-size:10px; }
@media (max-width:650px) {
  .public-site input { font-size:16px; }
  .feature-card h3 { max-width:250px; }
}

/* The introduction stands on its own without a demo panel. */
.hero { grid-template-columns:minmax(0,1fr); text-align:center; padding:88px 0 80px; gap:0; }
.hero-copy { width:100%; max-width:810px; margin:0 auto; }
.hero h1 { font-size:clamp(42px,5vw,66px); max-width:810px; margin-left:auto; margin-right:auto; }
.hero-description { max-width:550px; margin-left:auto; margin-right:auto; }
.hero-actions,.hero-facts { justify-content:center; }
@media (max-width:650px) {
 .hero { padding:49px 0 45px; }
 .hero h1 { font-size:42px; letter-spacing:-1.7px; }
 .hero-description { font-size:14px; }
 .hero-actions .btn { font-size:11px; padding:12px 14px; }
}
@media (max-width:370px) { .hero h1 { font-size:37px; } }
