@font-face { font-family:'Optimize Inter'; src:url('/fonts/Inter-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
:root { --public-font:'Optimize Inter',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.public-site { --public-header-space:94px; min-height:100svh; display:flex; flex-direction:column; width:100%; color:#1b1d29; background:linear-gradient(180deg,#f2f6f3,#faf9ff 340px,#fff 780px); font:16px/1.75 var(--public-font); -webkit-font-smoothing:antialiased; }
.public-site,.public-site * { box-sizing:border-box; }
.public-site-main { flex:1; min-width:0; width:100%; padding-top:var(--public-header-space); }
.public-site--home .public-site-main { padding-top:0; }
.public-site .public-site-main :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,summary) { font-family:inherit; }
.public-site-main [id] { scroll-margin-top:112px; }
.public-skip { position:fixed; top:-100px; left:16px; z-index:2000; padding:10px 16px; border:1px solid #d8d2ed; border-radius:12px; color:#6049c3; background:#fff; text-decoration:none; }
.public-skip:focus { top:12px; outline:3px solid #9986ed; outline-offset:3px; }
.public-site.login-page { padding:0; align-items:stretch; }
.public-site .login-main { display:grid; place-items:center; padding:48px 20px; }
.public-site .login-card__title { font-weight:600; letter-spacing:-.04em; }
.public-site.public-connect-page { padding:0; }
.public-site .public-connect-card { margin-bottom:64px; }
.public-site .public-connect-card h1 { font-weight:600; letter-spacing:-.04em; }
.public-site .fp-page { --fp-font:var(--public-font); --fp-font-serif:var(--public-font); --font-heading:var(--public-font); --font-body:var(--public-font); width:calc(100% - 80px); max-width:1280px; margin:28px auto 64px; }
.public-site :is(.fp-page,.fp-avatar,.fp-name,.fp-empty__cta) { font-family:var(--public-font)!important; }
.public-site .fp-qa { top:112px; }
@media screen { .public-site .rb-document { font-family:var(--public-font); } }
@media(max-width:600px) { .public-site { --public-header-space:76px; } .public-site .login-main { padding:36px 16px; } .public-site .public-connect-card { margin-bottom:40px; } .public-site .fp-page { width:calc(100% - 40px); margin:20px auto 40px; } }
@media print { .public-site { display:block; min-height:0; background:#fff; } .public-site-main { padding:0; } .public-header-shell,.public-footer,.public-skip { display:none!important; } }

.public-info-page { background:linear-gradient(180deg,#f2f6f3,#faf9ff 340px,#fff 780px); color:#1b1d29; font:16px/1.75 var(--public-font,Inter,system-ui,sans-serif); }
.public-info-page * { box-sizing:border-box; }
.public-info-page .public-site-main a { color:#6049c3; text-decoration:none; overflow-wrap:anywhere; }
.public-info-page .public-site-main a:hover { text-decoration:underline; }
.public-info-page .public-site-main a:focus-visible { outline:3px solid #8877f4; outline-offset:4px; border-radius:4px; }
.public-info-page main { width:min(1120px,100% - 48px); margin:auto; }
.public-info-page .help-intro { max-width:850px; padding:62px 0 38px; }
.public-info-page .help-eyebrow { font-size:12px; font-weight:800; letter-spacing:.12em; color:#6249df; }
.public-info-page h1 { font-size:clamp(34px,5vw,56px); line-height:1.15; letter-spacing:-.04em; margin:16px 0; font-weight:600; }
.public-info-page .help-intro p { color:#626176; max-width:730px; font-size:18px; line-height:1.8; letter-spacing:-.02em; margin:12px 0; }
.public-info-page .help-intro .help-updated { font-size:13px; }
.public-info-page .help-layout { display:grid; grid-template-columns:235px minmax(0,1fr); align-items:start; gap:32px; padding-bottom:56px; }
.public-info-page .help-toc { display:grid; gap:11px; position:sticky; top:112px; padding:20px; border:1px solid #e2e4f2; border-radius:16px; background:white; font-size:13px; line-height:1.5; }
.public-info-page .help-toc strong { font-size:14px; margin-bottom:6px; }
.public-info-page .help-articles { min-width:0; display:grid; gap:20px; }
.public-info-page .help-articles section { background:white; border:1px solid #e2e4f2; border-radius:18px; padding:28px; scroll-margin-top:112px; }
.public-info-page h2 { font-size:22px; font-weight:600; line-height:1.4; margin:0 0 15px; letter-spacing:-.02em; }
.public-info-page .help-articles p { margin:14px 0; color:#4c5970; overflow-wrap:anywhere; }
.public-info-page .help-email { display:inline-block; margin-top:6px; padding:10px 15px; border-radius:10px; background:#efebff; font-size:14px; font-weight:700; }
@media(max-width:760px) { .public-info-page .help-layout { grid-template-columns:1fr; gap:20px; } .public-info-page .help-toc { position:static; } .public-info-page .help-intro { padding-top:36px; } }
@media(max-width:440px) { .public-info-page main { width:calc(100% - 32px); } .public-info-page .help-articles section { padding:21px; } .public-info-page h2 { font-size:20px; } .public-info-page .help-intro p { font-size:16px; } }

.public-header-shell { --public-accent:#6651df; box-sizing:border-box; position:sticky; top:16px; z-index:1000; width:min(1320px,calc(100% - 48px)); min-height:78px; margin:16px auto 0; padding:13px 18px 13px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid #e4e5eb; border-radius:25px; background:#fff; box-shadow:0 3px 5px #26304b08,0 10px 28px #26304b06; color:#1b1c24; font:14px/1.5 var(--public-font,Inter,system-ui,sans-serif); }
.public-header-shell * { box-sizing:border-box; }
.public-header-shell--floating { position:fixed; left:0; right:0; margin:0 auto; transition:width .3s ease,min-height .3s ease,padding .3s ease,top .3s ease,border-radius .3s ease,box-shadow .3s ease; }
.public-header-shell--floating .public-brand,.public-header-shell--floating .public-brand-mark,.public-header-shell--floating .public-brand-mark img { transition:font-size .3s ease,width .3s ease,height .3s ease; }
.public-header-shell--floating.public-header-shell--compact { top:12px; width:min(1060px,calc(100% - 48px)); min-height:60px; padding:7px 16px; border-radius:999px; box-shadow:0 4px 20px #26304b12; }
.public-header-shell--compact .public-brand-name { display:inline; }
.public-header-shell--compact .public-brand-mark { width:34px; height:34px; }
.public-header-shell--compact .public-brand-mark img { width:32px; height:32px; }
.public-header-shell--floating.public-header-shell--compact .public-signin,.public-header-shell--floating.public-header-shell--compact .public-start { min-height:42px; padding:0 14px; border-radius:999px; }
.public-header-shell a { text-decoration:none; }
.public-header-shell a:focus-visible,.public-header-shell summary:focus-visible { outline:3px solid #9986ed; outline-offset:4px; border-radius:8px; }
.public-header-shell .public-brand { display:flex; align-items:center; gap:10px; flex-shrink:0; color:#181925; font-size:25px; font-weight:800; letter-spacing:-1px; }
.public-header-shell--floating.public-header-shell--compact .public-brand { font-size:22px; gap:8px; }
.public-brand-mark { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; }
.public-brand-mark img { display:block; width:38px; height:38px; object-fit:contain; }
.public-desktop-nav { display:flex; align-items:center; justify-content:center; gap:4px; min-width:0; }
.public-header-shell .public-nav-link,.public-header-more summary { display:flex; align-items:center; min-height:40px; padding:9px 12px; border-radius:12px; color:#565764; white-space:nowrap; font-size:14px; font-weight:500; line-height:1.5; transition:color .18s ease,background .18s ease; }
.public-header-shell .public-nav-link:hover,.public-header-more summary:hover,.public-header-more[open] summary { color:var(--public-accent); background:#f6f3ff; }
.public-header-shell .public-nav-link[aria-current] { color:#6049c3; background:#f0ebff; font-weight:600; }
.public-header-shell .public-header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.public-header-shell .public-signin,.public-header-shell .public-start { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 18px; border:1px solid #e0e0e8; border-radius:14px; font-size:14px; font-weight:600; white-space:nowrap; color:#1a1b23; transition:background .15s,box-shadow .15s; }
.public-header-shell .public-start { background:#1d1d25; color:white; border-color:#1d1d25; box-shadow:0 2px 3px #19192412; }
.public-header-shell .public-signin:hover { background:#f6f4ff; }
.public-header-shell .public-start:hover { background:#5140bc; border-color:#5140bc; }
.public-header-shell--floating .public-signin,.public-header-shell--floating .public-start { transition:background .15s,box-shadow .15s,min-height .3s ease,padding .3s ease,border-radius .3s ease; }
.public-header-more { position:relative; }
.public-header-more summary,.public-mobile-menu summary { list-style:none; display:flex; align-items:center; gap:7px; cursor:pointer; }
.public-header-more summary::-webkit-details-marker,.public-mobile-menu summary::-webkit-details-marker { display:none; }
.public-header-more summary svg { transition:transform .18s ease; }
.public-header-more[open] summary svg { transform:rotate(180deg); }
.public-resource-menu { position:absolute; top:calc(100% + 12px); right:0; display:grid; gap:2px; min-width:200px; padding:8px; background:white; border:1px solid #e4e5eb; border-radius:16px; box-shadow:0 12px 32px #20223814; }
.public-resource-menu .public-nav-link { padding:10px 12px; border-radius:9px; }
.public-resource-menu .public-nav-link:hover { background:#f6f4ff; }
.public-mobile-menu { display:none; }
.public-mobile-resources { display:grid; gap:3px; padding-top:12px; margin-top:10px; border-top:1px solid #eceaf3; }
.public-menu-label { padding:2px 14px 6px; color:#868092; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.public-auth-page.login-page { display:flex; flex-direction:column; justify-content:flex-start; background:linear-gradient(135deg,#eff7f4,#f4f1ff 65%,#faf8ef); }
.public-auth-page .login-main { flex:1; padding:48px 20px; }
.public-connect-page { min-height:100svh; background:#f7f7fc; padding:1px 0 48px; }
.public-connect-card { box-sizing:border-box; width:min(500px,calc(100% - 32px)); margin:64px auto 0; padding:32px; border:1px solid #e3e3ec; background:white; border-radius:24px; color:#242637; font:16px/1.75 var(--public-font,Inter,system-ui,sans-serif); }
.public-connect-card h1 { font-size:28px; line-height:1.3; margin:20px 0 14px; }
.public-connect-card button { padding:12px 18px; background:#6651df; border-radius:12px; color:white; }
@media(max-width:1200px) { .public-header-shell { gap:18px; padding-left:18px; } .public-desktop-nav { gap:2px; } .public-header-shell .public-brand { font-size:22px; gap:7px; } .public-header-shell .public-signin,.public-header-shell .public-start { padding:0 14px; } }
@media(max-width:999px) { .public-desktop-nav { display:none; } .public-header-shell > .public-header-actions { margin-left:auto; } .public-mobile-menu { display:block; } .public-mobile-menu > summary { width:42px; height:44px; justify-content:center; border-radius:12px; background:#f6f5fa; } .public-mobile-menu > nav { position:absolute; top:calc(100% + 10px); left:0; right:0; display:grid; gap:3px; max-height:calc(100svh - 110px); overflow:auto; padding:16px; background:white; border:1px solid #e4e5eb; border-radius:20px; box-shadow:0 16px 40px #26304b18; } .public-mobile-menu .public-nav-link { padding:11px 14px; border-radius:9px; } .public-mobile-menu .public-nav-link:hover { background:#f6f4ff; } .public-mobile-menu .public-header-actions { padding:12px 14px 4px; } }
@media(max-width:600px) { .public-header-shell { top:10px; width:calc(100% - 24px); min-height:66px; margin-top:10px; padding:10px 12px; border-radius:20px; gap:10px; } .public-header-shell .public-brand { font-size:22px; } .public-brand-mark { width:34px; height:34px; } .public-brand-mark img { width:32px; height:32px; } .public-header-shell > .public-header-actions { display:none; } .public-mobile-menu { margin-left:auto; } .public-auth-page .login-main { padding:36px 16px; } .public-connect-card { margin-top:36px; padding:24px; } }
@media(max-width:600px) { .public-header-shell--floating { margin-top:0; } .public-header-shell--floating.public-header-shell--compact { top:8px; width:calc(100% - 32px); min-height:56px; padding:6px 10px; } .public-header-shell--compact .public-mobile-menu > summary { height:40px; border-radius:50%; } }
@media(prefers-reduced-motion:reduce) { .public-header-shell--floating,.public-header-shell--floating .public-brand-mark,.public-header-shell--floating .public-brand-mark img,.public-header-shell--floating .public-signin,.public-header-shell--floating .public-start { transition:none; } }

.public-footer { width:100%; padding:64px 0 0; background:#0a0824; color:#aaa6c6; font:14px/1.65 var(--public-font,Inter,system-ui,sans-serif); }
.public-footer * { box-sizing:border-box; }
.public-footer-inner { width:min(1280px,calc(100% - 80px)); margin:auto; }
.public-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; }
.public-footer .public-footer-logo { display:inline-flex; align-items:center; gap:10px; margin-bottom:16px; color:#fff; font-size:20px; font-weight:700; letter-spacing:-.04em; text-decoration:none; }
.public-footer-logo img { display:block; flex-shrink:0; width:32px; height:32px; object-fit:contain; }
.public-footer-brand p { max-width:270px; margin:0; line-height:1.7; }
.public-footer-column { min-width:0; }
.public-footer .public-footer-column h2 { margin:0 0 18px; color:#fff; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
.public-footer .public-footer-column a { display:block; width:fit-content; max-width:100%; padding:6px 0; color:#aaa6c6; font-size:14px; line-height:1.6; text-decoration:none; overflow-wrap:anywhere; transition:color .18s ease; }
.public-footer .public-footer-column a:hover,.public-footer .public-footer-column a[aria-current] { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.public-footer a:focus-visible { outline:3px solid #9986ed; outline-offset:5px; border-radius:4px; }
.public-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 0; border-top:1px solid #2a2750; }
.public-footer-bottom p { margin:0; color:#aaa6c6; font-size:13px; }
.public-footer-bottom span { color:#b7a4ff; }
@media(max-width:900px) { .public-footer-grid { grid-template-columns:1fr 1fr; gap:32px; } }
@media(max-width:600px) { .public-footer { padding-top:44px; } .public-footer-inner { width:calc(100% - 40px); } .public-footer-grid { gap:28px 20px; padding-bottom:32px; } .public-footer-brand { grid-column:1/-1; } .public-footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; padding:20px 0; } }
@media(prefers-reduced-motion:reduce) { .public-footer a { transition:none; } }
