/* Public pages mirror the existing doctor/auth theme without changing those interfaces. */
.public-site {
 --public-primary:#0e749f; --public-secondary:#705ac6; --public-ink:#1d2d46; --public-muted:#586b83;
 --public-border:#e0e8f2; --public-soft:#edf5fb; --public-bg:#f5f8fc; --public-white:#fff;
 --public-shadow:0 18px 60px rgba(40,63,105,.08);
 margin:0; font-family:'Cairo',sans-serif; color:var(--public-ink); background:var(--public-bg); line-height:1.85;
 color-scheme:light; -webkit-tap-highlight-color:transparent;
}
.public-site *, .public-site *::before, .public-site *::after { box-sizing:border-box; }
.public-site :where(h1,h2,h3,p,figure,ul,ol) { margin:0; }
.public-site :where(h1,h2,h3) { line-height:1.5; font-weight:800; letter-spacing:-.035em; text-wrap:balance; }
.public-site :where(p,a,li,h1,h2,h3) { overflow-wrap:anywhere; }
.public-site a { color:var(--public-primary); text-decoration:none; text-underline-offset:5px; }
.public-site a:hover { text-decoration:underline; }
.public-site :focus-visible { outline:3px solid var(--public-secondary); outline-offset:5px; }
.public-site :where(section[id],main[id]) { scroll-margin-top:110px; }
.public-site img { display:block; max-width:100%; height:auto; }
.public-container { width:min(1220px,calc(100% - 64px)); margin-inline:auto; }
.public-icon { width:24px; height:24px; flex:0 0 24px; vertical-align:middle; }
.public-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; border:0; }
.public-skip { position:fixed; top:-100px; inset-inline-start:20px; z-index:100; background:var(--public-white); padding:12px 20px; border:1px solid var(--public-border); border-radius:12px; }
.public-skip:focus { top:12px; }
.public-header { position:sticky; top:0; z-index:20; background:rgba(245,248,252,.96); border-bottom:1px solid var(--public-border); }
.public-header-inner { display:flex; align-items:center; gap:24px; min-height:94px; }
.public-brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; color:var(--public-ink)!important; text-decoration:none!important; }
.public-brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(120deg,var(--public-primary),var(--public-secondary)); color:#fff; }
.public-brand-mark .public-icon { width:26px; height:26px; }
.public-brand b { display:block; font:800 25px/1.35 'Cairo',sans-serif; letter-spacing:-1px; text-align:start; }
.brand-dot { color:var(--public-primary); }
.public-brand small { display:block; font-size:11px; color:var(--public-muted); line-height:1.5; }
.public-desktop-nav { display:flex; gap:26px; align-items:center; margin-inline:auto; }
.public-desktop-nav a,.public-login { min-height:44px; display:inline-flex; align-items:center; color:var(--public-muted); font-size:13px; font-weight:600; white-space:nowrap; }
.public-desktop-nav a[aria-current] { color:var(--public-primary); }
.public-header-actions { display:flex; align-items:center; gap:20px; }
.public-button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:54px; padding:12px 25px; border:1px solid var(--public-primary); border-radius:14px; background:var(--public-primary); color:#fff!important; font-weight:700; font-size:15px; text-decoration:none!important; box-shadow:0 6px 18px rgba(14,116,159,.12); transition:background-color .18s,box-shadow .18s; }
.public-button:hover { background:#075d82; box-shadow:0 8px 24px rgba(14,116,159,.2); }
.public-button .public-icon { width:20px; height:20px; flex-basis:20px; }
.public-button-small { min-height:46px; padding:8px 18px; font-size:13px; gap:12px; }
.public-button-secondary { color:var(--public-ink)!important; background:var(--public-white); border-color:var(--public-border); box-shadow:none; }
.public-button-secondary:hover { background:var(--public-soft); box-shadow:none; }
.public-mobile-menu { display:none; }
.public-hero { display:grid; grid-template-columns:1fr 1.08fr; gap:64px; align-items:center; padding-block:86px 78px; }
.public-eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:13px; font-weight:700; color:#6250a7; background:#eeeafb; border:1px solid #e1daf4; border-radius:40px; padding:6px 14px; }
.public-eyebrow .public-icon { width:17px; height:17px; flex-basis:17px; }
.public-hero h1 { font-size:clamp(38px,4.5vw,62px); line-height:1.42; letter-spacing:-.045em; margin-block:23px; }
.public-hero h1 span,.public-guide-hero h1 span { color:var(--public-primary); }
.public-lead { color:var(--public-muted); font-size:16px; line-height:2; max-width:590px; }
.public-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-block:28px 24px; }
.public-hero-points { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px 18px; color:var(--public-muted); font-size:11px; }
.public-hero-points li { display:flex; align-items:center; gap:6px; }
.public-hero-points .public-icon { width:16px; height:16px; flex-basis:16px; color:var(--public-primary); }
.public-hero-visual { position:relative; min-width:0; padding-block:40px; }
.public-visual-halo { position:absolute; inset:0 -25px; border-radius:50%; background:radial-gradient(ellipse,#dbedf7 0,#ece6f9 45%,transparent 70%); z-index:-1; }
.public-product-frame { min-width:0; overflow:hidden; background:#fff; border:1px solid #d9e3ef; border-radius:18px; box-shadow:var(--public-shadow); }
.public-frame-bar { min-height:40px; padding:9px 15px; display:flex; align-items:center; gap:12px; color:var(--public-muted); border-bottom:1px solid var(--public-border); background:#fff; font-size:10px; }
.public-frame-dots { display:flex; gap:4px; margin-inline-end:auto; }
.public-frame-dots i { width:6px; height:6px; border-radius:50%; background:#d2dce8; }
.public-frame-dots i:first-child { background:#9fbad1; }
.public-frame-label { margin-inline-start:auto; }
.public-product-frame img { width:100%; }
.public-product-frame figcaption { min-height:36px; display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:8px 14px; font-size:10px; color:var(--public-muted); border-top:1px solid var(--public-border); }
.public-product-frame figcaption .public-icon { width:14px; height:14px; }
.public-visual-note,.public-visual-chip { display:flex; align-items:center; gap:12px; position:absolute; z-index:1; padding:13px 18px; border-radius:16px; border:1px solid var(--public-border); background:#fff; box-shadow:0 8px 26px rgba(40,63,105,.06); font-size:12px; line-height:1.6; }
.public-visual-note { top:0; inset-inline-start:-18px; }
.public-visual-note > .public-icon { color:var(--public-secondary); }
.public-visual-note small,.public-visual-chip b { display:block; font-size:10px; color:var(--public-muted); font-weight:500; margin-top:4px; }
.public-visual-chip { bottom:0; inset-inline-end:-18px; }
.public-visual-chip > .public-icon { color:var(--public-primary); }
.public-value-strip { display:flex; align-items:center; justify-content:space-between; gap:30px; border-block:1px solid var(--public-border); padding-block:25px; }
.public-value-strip p { font-size:13px; color:var(--public-muted); line-height:1.8; }
.public-value-strip strong { color:var(--public-ink); font-weight:700; font-size:15px; }
.public-value-strip > span { display:inline-flex; gap:12px; align-items:center; font-size:14px; font-weight:600; }
.public-value-strip .public-icon { color:var(--public-primary); }
.public-section { padding-block:96px; }
.public-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:40px; }
.public-kicker { display:block; color:var(--public-primary); font-size:12px; font-weight:700; margin-bottom:12px; }
.public-site h2 { font-size:clamp(27px,3vw,39px); line-height:1.5; }
.public-section-heading > p { color:var(--public-muted); font-size:14px; max-width:370px; line-height:2; }
.public-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.public-feature { background:#fff; border:1px solid var(--public-border); border-radius:20px; padding:28px; }
.public-feature-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.public-icon-tile { display:inline-grid; width:52px; height:52px; flex:0 0 52px; place-items:center; border-radius:16px; background:#eaf3fa; color:var(--public-primary); }
.public-feature:nth-child(2n) .public-icon-tile { background:#f0ecfb; color:var(--public-secondary); }
.public-feature-number { font:500 13px/1 'Cairo',sans-serif; color:var(--public-muted); }
.public-feature h3 { font-size:19px; margin-bottom:10px; }
.public-feature p { color:var(--public-muted); font-size:13px; line-height:2; }
.public-workflow { background:#edf4fa; border-block:1px solid var(--public-border); }
.public-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:13px; font-weight:700; }
.public-text-link .public-icon { width:19px; height:19px; flex-basis:19px; }
.public-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.public-step-number { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; border:1px solid #c9dce9; background:#fff; color:var(--public-primary); margin-bottom:20px; font-size:18px; font-weight:700; }
.public-steps h3 { font-size:21px; margin-bottom:10px; }
.public-steps p { color:var(--public-muted); font-size:14px; max-width:310px; line-height:2; }
.public-spotlight { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:75px; }
.public-spotlight .public-lead { margin-block:20px; font-size:14px; }
.public-faq { display:grid; grid-template-columns:1fr 1.4fr; gap:90px; border-top:1px solid var(--public-border); }
.public-faq > div > p { font-size:14px; color:var(--public-muted); margin-block:15px; }
.public-faq-list { min-width:0; }
.public-faq-list details { border-bottom:1px solid var(--public-border); }
.public-faq-list details:first-child { border-top:1px solid var(--public-border); }
.public-faq-list summary { padding:22px 0; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:15px; font-weight:700; cursor:pointer; }
.public-faq-list summary::-webkit-details-marker { display:none; }
.public-faq-list summary .public-icon { width:20px; height:20px; flex-basis:20px; color:var(--public-primary); transition:transform .18s; }
.public-faq-list details[open] summary .public-icon { transform:rotate(45deg); }
.public-faq-list details p { padding-bottom:22px; font-size:13px; color:var(--public-muted); line-height:2; }
.public-final-cta { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:52px 60px; border:1px solid #d8e4f0; border-radius:30px; background:linear-gradient(110deg,#e4f2fa,#f6f8fd 50%,#ede7f9); margin-bottom:90px; }
.public-final-cta p { font-size:14px; color:var(--public-muted); margin-top:12px; }
.public-final-cta > div:last-child { flex-shrink:0; text-align:center; }
.public-final-cta small { display:block; font-size:10px; color:var(--public-muted); max-width:205px; margin-top:14px; }
.public-footer { border-top:1px solid var(--public-border); background:#fff; padding-top:42px; }
.public-footer-top { display:flex; justify-content:space-between; gap:35px; padding-bottom:32px; }
.public-footer-top p { font-size:12px; color:var(--public-muted); margin-top:15px; }
.public-footer-top nav { display:flex; flex-wrap:wrap; align-items:center; gap:32px; }
.public-footer-top nav a { font-size:12px; min-height:44px; display:inline-flex; align-items:center; color:var(--public-muted); }
.public-footer-bottom { border-top:1px solid var(--public-border); padding-block:22px; display:flex; justify-content:space-between; gap:20px; color:var(--public-muted); font-size:11px; }
.public-footer-bottom small { font-size:inherit; }
.public-guide-hero { text-align:center; max-width:800px; padding-block:60px 38px; }
.public-guide-hero > .public-text-link { display:flex; justify-content:center; margin-bottom:18px; color:var(--public-muted); font-weight:400; font-size:12px; }
.public-guide-hero .public-eyebrow { margin-bottom:22px; }
.public-guide-hero h1 { font-size:clamp(36px,4.5vw,58px); line-height:1.45; }
.public-guide-hero .public-lead { margin:24px auto 16px; font-size:15px; max-width:590px; }
.public-demo-note { color:var(--public-muted); font-size:11px; }
.public-guide-index { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding-bottom:24px; }
.public-guide-index a { border:1px solid var(--public-border); background:#fff; border-radius:30px; min-height:44px; padding:8px 20px; font-size:12px; color:var(--public-ink); }
.public-guide-index a:hover { background:var(--public-soft); }
.public-guide-step { display:grid; grid-template-columns:.85fr 1.25fr; align-items:center; gap:64px; border-bottom:1px solid var(--public-border); }
.public-guide-step:nth-of-type(even) .public-guide-copy { order:2; }
.public-guide-step:nth-of-type(even) { grid-template-columns:1.25fr .85fr; }
.public-guide-number { display:block; color:var(--public-muted); font-size:16px; margin-bottom:18px; font-weight:500; }
.public-guide-copy > p { font-size:14px; color:var(--public-muted); margin-block:20px; }
.public-guide-instructions { padding-inline-start:22px; font-size:13px; color:var(--public-ink); }
.public-guide-instructions li { padding-inline-start:7px; margin-bottom:12px; }
.public-guide-instructions li::marker { color:var(--public-primary); font-weight:700; }
.public-tip { display:flex; align-items:start; gap:12px; border-inline-start:3px solid #c5b5ea; padding:14px 16px; background:#f0edf9; border-radius:0 12px 12px 0; margin-top:26px; }
.public-tip .public-icon { color:var(--public-secondary); width:20px; height:20px; flex-basis:20px; margin-top:3px; }
.public-tip p { font-size:11px; color:#5b5279; }
.public-tip strong { display:block; color:#51417b; margin-bottom:4px; }
.public-screenshot-link { display:block; cursor:zoom-in; }
.public-screenshot-link:hover img { opacity:.96; }
.public-guide-extra { display:flex; align-items:center; gap:24px; padding-block:48px 80px; }
.public-guide-extra h2 { font-size:22px; }
.public-guide-extra p { font-size:13px; color:var(--public-muted); margin-top:8px; }
.public-guide-extra > a { margin-inline-start:auto; flex-shrink:0; }
@media (min-width:1600px) { .public-hero { padding-block:115px 100px; } }
@media (max-width:1100px) {
 .public-container { width:calc(100% - 48px); }
 .public-header-inner { gap:18px; }
 .public-desktop-nav { gap:18px; }
 .public-desktop-nav a,.public-login { font-size:12px; }
 .public-header-actions { gap:12px; }
 .public-hero { gap:35px; }
 .public-visual-note { inset-inline-start:0; }
 .public-visual-chip { inset-inline-end:0; }
 .public-spotlight,.public-guide-step { gap:40px; }
 .public-faq { gap:45px; }
}
@media (max-width:900px) {
 .public-desktop-nav { display:none; }
 .public-header-actions { margin-inline-start:auto; }
 .public-mobile-menu { display:block; }
 .public-mobile-menu summary { display:grid; place-items:center; list-style:none; width:44px; height:44px; border:1px solid var(--public-border); border-radius:12px; cursor:pointer; color:var(--public-ink); background:#fff; }
 .public-mobile-menu summary::-webkit-details-marker { display:none; }
 .public-mobile-menu nav { position:absolute; inset-inline:24px; top:82px; display:grid; padding:14px; border:1px solid var(--public-border); background:#fff; border-radius:16px; box-shadow:var(--public-shadow); }
 .public-mobile-menu nav a { min-height:46px; display:flex; align-items:center; padding-inline:12px; font-size:14px; border-radius:8px; }
 .public-mobile-menu nav a:hover { background:var(--public-soft); }
 .public-header-inner { min-height:82px; }
 .public-hero { grid-template-columns:1fr; padding-top:55px; gap:35px; }
 .public-hero-copy { max-width:650px; }
 .public-hero h1 { font-size:52px; }
 .public-hero-visual { max-width:690px; width:100%; margin-inline:auto; padding-inline:22px; }
 .public-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-value-strip { gap:20px; flex-wrap:wrap; }
 .public-value-strip p { flex-basis:100%; }
 .public-value-strip p br { display:none; }
 .public-steps { gap:25px; }
 .public-spotlight { grid-template-columns:1fr; gap:35px; }
 .public-spotlight > div { grid-row:1; }
 .public-faq { grid-template-columns:1fr; gap:30px; }
 .public-final-cta { padding:35px; }
 .public-guide-step,.public-guide-step:nth-of-type(even) { grid-template-columns:1fr; gap:35px; }
 .public-guide-step:nth-of-type(even) .public-guide-copy { order:0; }
 .public-guide-copy { max-width:680px; }
 .public-guide-step .public-product-frame { max-width:800px; width:100%; margin-inline:auto; }
 .public-guide-extra { flex-wrap:wrap; }
}
@media (max-width:600px) {
 .public-container { width:calc(100% - 36px); }
 .public-header-inner { gap:10px; min-height:76px; }
 .public-brand { gap:9px; }
 .public-brand-mark { width:38px; height:38px; border-radius:12px; }
 .public-brand b { font-size:20px; }
 .public-brand small { font-size:9px; }
 .public-brand-mark .public-icon { width:22px; height:22px; }
 .public-header-actions .public-login { display:none; }
 .public-header-actions .public-button { font-size:11px; min-height:44px; padding:7px 13px; gap:7px; }
 .public-header-actions .public-button .public-icon { display:none; }
 .public-mobile-menu summary { width:40px; min-height:44px; }
 .public-mobile-menu nav { inset-inline:18px; top:72px; }
 .public-hero { padding-block:38px 40px; gap:32px; }
 .public-eyebrow { font-size:11px; padding:5px 11px; }
 .public-hero h1 { font-size:43px; margin-block:20px; }
 .public-lead { font-size:14px; line-height:2; }
 .public-actions { align-items:stretch; gap:10px; margin-block:24px; }
 .public-actions .public-button { font-size:12px; padding:10px 16px; min-height:50px; gap:8px; }
 .public-actions .public-icon { width:18px; height:18px; flex-basis:18px; }
 .public-hero-points { font-size:10px; gap:10px; }
 .public-hero-points .public-icon { width:14px; height:14px; flex-basis:14px; }
 .public-hero-visual { padding:35px 0; }
 .public-visual-halo { inset-inline:0; }
 .public-visual-note,.public-visual-chip { padding:10px 13px; font-size:10px; gap:8px; }
 .public-visual-note small,.public-visual-chip b { font-size:9px; }
 .public-visual-note > .public-icon,.public-visual-chip > .public-icon { width:20px; height:20px; flex-basis:20px; }
 .public-product-frame { border-radius:13px; }
 .public-frame-bar { padding:8px 10px; min-height:33px; font-size:8px; }
 .public-frame-label { display:none; }
 .public-product-frame figcaption { font-size:9px; padding:8px 10px; }
 .public-value-strip { padding-block:24px; gap:18px; }
 .public-value-strip > span { font-size:11px; gap:7px; }
 .public-value-strip .public-icon { width:19px; height:19px; flex-basis:19px; }
 .public-value-strip p { font-size:12px; }
 .public-value-strip strong { font-size:13px; }
 .public-section { padding-block:60px; }
 .public-section-heading { display:block; margin-bottom:26px; }
 .public-section-heading > p { margin-top:18px; font-size:13px; }
 .public-kicker { font-size:11px; margin-bottom:10px; }
 .public-site h2 { font-size:29px; }
 .public-features { grid-template-columns:1fr; gap:14px; }
 .public-feature { padding:24px; }
 .public-feature-top { margin-bottom:18px; }
 .public-feature h3 { font-size:19px; }
 .public-feature p { font-size:13px; }
 .public-steps { grid-template-columns:1fr; gap:30px; }
 .public-steps article { display:grid; grid-template-columns:42px 1fr; gap:8px 18px; }
 .public-step-number { grid-row:span 2; margin:0; }
 .public-steps h3 { margin:0; font-size:20px; }
 .public-steps p { grid-column:2; font-size:13px; }
 .public-spotlight { gap:26px; }
 .public-faq { gap:24px; }
 .public-faq-list summary { padding-block:20px; font-size:14px; gap:14px; }
 .public-final-cta { flex-direction:column; align-items:stretch; padding:30px 24px; border-radius:22px; gap:25px; margin-bottom:55px; }
 .public-final-cta h2 { font-size:28px; }
 .public-final-cta p { font-size:12px; }
 .public-final-cta > div:last-child { text-align:start; }
 .public-final-cta small { max-width:none; font-size:10px; }
 .public-footer { padding-top:32px; }
 .public-footer-top { flex-direction:column; gap:20px; padding-bottom:25px; }
 .public-footer-top nav { gap:5px 20px; }
 .public-footer-top nav a { font-size:11px; }
 .public-footer-bottom { flex-direction:column; gap:8px; padding-block:20px; font-size:10px; }
 .public-guide-hero { padding-top:32px; }
 .public-guide-hero h1 { font-size:39px; }
 .public-guide-hero .public-lead { font-size:14px; }
 .public-demo-note { font-size:10px; }
 .public-guide-index { gap:8px; padding-bottom:0; }
 .public-guide-index a { padding:8px 13px; font-size:11px; }
 .public-guide-step { gap:30px; }
 .public-guide-number { margin-bottom:12px; font-size:14px; }
 .public-guide-copy > p { font-size:13px; }
 .public-guide-instructions { font-size:12px; }
 .public-guide-extra { gap:16px; padding-block:35px 50px; }
 .public-guide-extra > div { flex:1; min-width:0; }
 .public-guide-extra h2 { font-size:19px; }
 .public-guide-extra p { font-size:12px; }
 .public-guide-extra > a { flex-basis:100%; margin:0; }
}
@media (prefers-reduced-motion:reduce) { .public-site *, .public-site *::before, .public-site *::after { transition:none!important; scroll-behavior:auto!important; } }
.public-note-frame { width:100%; max-width:420px!important; margin-inline:auto; }.public-result-cues { display:grid; gap:16px; padding:26px; font-size:12px; color:var(--public-muted); border-top:1px solid var(--public-border); }.public-result-cues span { display:flex; align-items:center; gap:12px; }.public-result-cues .public-icon { color:var(--public-primary); width:20px; height:20px; flex-basis:20px; }
