:root { font-family:Inter,Arial,sans-serif; color:var(--public-ink); background:var(--public-bg); font-synthesis:none; scroll-padding-top:24px; -webkit-text-size-adjust:100%; }
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; min-width:0; line-height:1.6; background:var(--public-backdrop); overflow-wrap:anywhere; }
a { color:inherit; text-decoration:none; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--public-accent-text); outline-offset:5px; }
img { max-width:100%; height:auto; }
h1,h2,h3,p { overflow-wrap:anywhere; }
h1,h2,h3 { line-height:1.2; }
section[id] { scroll-margin-top:24px; }
.public-container,.public-overview-container { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.public-skip { position:fixed; left:12px; top:10px; z-index:30; background:var(--public-accent); color:var(--public-on-accent); border-radius:clamp(4px,calc(var(--public-radius) * .4),12px); padding:10px 14px; transform:translateY(-180%); }
.public-skip:focus { transform:none; }

/* Shared navigation and colors keep the product identity in focus. */
.public-header { position:relative; z-index:10; }
.public-header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-block:24px; border-bottom:1px solid var(--public-line-subtle); }
.public-brand { display:flex; gap:12px; align-items:center; min-width:0; }
.public-brand img { width:44px; height:44px; border-radius:clamp(4px,calc(var(--public-radius) * .6),16px); object-fit:contain; background:white; flex:none; }
.public-brand>span { min-width:0; }
.public-brand strong { display:block; font-size:16px; line-height:1.4; font-weight:700; }
.public-brand small { display:block; font-size:11px; color:var(--public-muted); margin-top:3px; }
.public-navigation { display:flex; gap:28px; align-items:center; margin-left:auto; font-size:13px; color:var(--public-muted); }
.public-navigation a { display:inline-flex; align-items:center; min-height:44px; }
.public-navigation a:hover,.public-text-link:hover { color:var(--public-accent-text); }
.public-login { display:inline-flex; align-items:center; justify-content:center; gap:22px; border:1px solid var(--public-line); border-radius:clamp(8px,calc(var(--public-radius) / 2),14px); padding:10px 18px; font-size:13px; font-weight:600; min-height:44px; flex:none; white-space:nowrap; background:var(--public-surface); color:var(--public-surface-ink); }
.public-login:hover { border-color:var(--public-surface-accent); color:var(--public-surface-accent); }
.public-login:focus-visible { outline-color:var(--public-surface-accent); }

.public-hero { position:relative; isolation:isolate; }
.public-hero-grid { display:grid; grid-template-columns:1.06fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(48px,6.3vw,90px); }
.public-hero-copy { min-width:0; }
.public-eyebrow { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--public-line); border-radius:999px; padding:7px 12px; margin:0 0 26px; font-size:11px; font-weight:600; color:var(--public-accent-text); letter-spacing:.02em; }
.public-eyebrow>span,.public-status-dot { width:6px; height:6px; background:currentColor; border-radius:50%; display:inline-block; box-shadow:0 0 0 4px color-mix(in srgb,var(--public-accent) 5%,transparent); flex:none; }
.public-hero h1 { font-size:clamp(44px,5vw,70px); letter-spacing:-.045em; font-weight:700; margin:0 0 24px; text-wrap:balance; max-width:610px; line-height:1.12; }
.public-lead { font-size:clamp(18px,1.7vw,21px); font-weight:500; margin:0 0 18px; line-height:1.65; }
.public-description { font-size:14px; line-height:1.9; color:var(--public-muted); margin:0; max-width:540px; }
.public-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:30px; }
.public-button,.public-overview-login { display:inline-flex; gap:24px; align-items:center; justify-content:center; min-height:50px; border:1px solid transparent; border-radius:clamp(8px,calc(var(--public-radius) / 2),14px); padding:13px 20px; background:var(--public-accent); color:var(--public-on-accent); font-size:13px; font-weight:700; box-shadow:0 4px 20px #00000020; }
.public-button:hover,.public-overview-login:hover { background:var(--public-accent-hover); }
.public-text-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; font-size:13px; color:var(--public-ink); }
.public-text-link>span { color:var(--public-accent-text); }
.public-login>span { color:var(--public-surface-accent); }
.public-access-note { font-size:11px; line-height:1.8; color:var(--public-muted); margin:20px 0 0; max-width:440px; }

/* A hidden illustration never leaves an empty grid column. */
.public-hero-no-visual { grid-template-columns:minmax(0,1fr); }
.public-hero-no-visual .public-hero-copy { max-width:900px; }
.public-hero-no-visual h1 { max-width:900px; }
.public-hero-no-visual .public-description { max-width:720px; }
.public-page[data-public-layout='centered'] .public-hero-grid { grid-template-columns:minmax(0,1fr); justify-items:center; }
.public-page[data-public-layout='centered'] .public-hero-copy { width:100%; max-width:980px; text-align:center; }
.public-page[data-public-layout='centered'] .public-hero h1 { max-width:980px; margin-inline:auto; }
.public-page[data-public-layout='centered'] .public-description { max-width:700px; margin-inline:auto; }
.public-page[data-public-layout='centered'] .public-hero-actions { justify-content:center; }
.public-page[data-public-layout='centered'] .public-access-note { max-width:620px; margin-inline:auto; }
.public-page[data-public-layout='centered'] .public-hero-visual { width:100%; max-width:650px; }

/* Vector artwork and a restrained blueprint grid keep the first screen lightweight. */
.public-hero-visual { min-width:0; position:relative; border:1px solid var(--public-line); border-radius:calc(var(--public-radius) * 1.2); padding:22px; background:var(--public-card); color:var(--public-surface-ink); box-shadow:0 28px 70px #00000026,inset 0 1px 0 color-mix(in srgb,var(--public-surface-ink) 4%,transparent); }
.public-hero-visual::before { content:''; position:absolute; left:18%; right:18%; top:-1px; height:1px; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--public-accent) 67%,transparent),transparent); }
.public-visual-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:11px; color:var(--public-surface-muted); font-weight:500; }
.public-visual-heading>span:first-child { text-transform:uppercase; letter-spacing:.09em; font-size:10px; }
.public-visual-badge { display:inline-flex; align-items:center; gap:8px; padding:5px 9px; border:1px solid var(--public-line); border-radius:clamp(4px,calc(var(--public-radius) * .3),8px); color:var(--public-surface-accent); font-size:10px; }
.public-visual-stage { position:relative; isolation:isolate; margin:16px -12px 4px; padding-block:10px; }
.public-visual-stage::before { content:''; position:absolute; z-index:-1; inset:0; background-image:linear-gradient(color-mix(in srgb,var(--public-accent) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--public-accent) 4%,transparent) 1px,transparent 1px); background-size:30px 30px; mask-image:radial-gradient(ellipse,black 20%,transparent 72%); }
.public-illustration { display:block; width:100%; max-height:360px; object-fit:contain; margin:auto; filter:drop-shadow(0 18px 24px #00000030); }
.public-visual-caption { display:flex; gap:4px; flex-direction:column; text-align:center; margin:8px 0 20px; }
.public-visual-caption strong { font-size:14px; font-weight:600; }
.public-visual-caption>span { font-size:11px; color:var(--public-surface-muted); }
.public-visual-tags { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:18px; border-top:1px solid var(--public-line-subtle); }
.public-visual-tags span { display:flex; align-items:center; justify-content:center; font-size:10px; line-height:1.6; color:var(--public-surface-muted); border:1px solid var(--public-line); border-radius:clamp(4px,calc(var(--public-radius) * .35),10px); padding:7px 6px; text-align:center; }
.public-hero-footnote { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding-block:24px; border-block:1px solid var(--public-line-subtle); font-size:12px; color:var(--public-muted); }
.public-hero-footnote span::before { content:'✓'; color:var(--public-accent-text); margin-right:10px; }

.public-overview { padding:78px 0 60px; }
.public-overview-header { display:grid; grid-template-columns:1.12fr 1fr; align-items:end; gap:72px; margin-bottom:32px; }
.public-overview .public-overview-eyebrow { display:flex; align-items:center; gap:12px; color:var(--public-accent-text); font-size:11px; font-weight:600; letter-spacing:.045em; margin:0 0 16px; }
.public-overview-eyebrow>span { color:var(--public-muted); font-variant-numeric:tabular-nums; font-weight:400; }
.public-overview h2 { font-size:clamp(26px,2.8vw,35px); letter-spacing:-.025em; color:var(--public-ink); margin:0 0 16px; line-height:1.3; text-wrap:balance; }
.public-overview p { font-size:14px; line-height:1.85; color:var(--public-muted); }
.public-overview-header h2 { margin:0; }
.public-overview-header>p { margin:0 0 3px; }
.public-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; counter-reset:feature; }
.public-overview-feature { position:relative; padding:28px; border:1px solid var(--public-line-subtle); border-radius:calc(var(--public-radius) * .8); background:var(--public-surface); color:var(--public-surface-ink); counter-increment:feature; min-width:0; }
.public-overview-feature::after { content:'0' counter(feature); position:absolute; top:30px; right:28px; color:var(--public-surface-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.public-feature-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:clamp(4px,calc(var(--public-radius) * .6),16px); border:1px solid color-mix(in srgb,var(--public-surface-accent) 16%,transparent); color:var(--public-surface-accent); margin-bottom:26px; }
.public-feature-icon svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.public-overview-feature h3 { font-size:17px; line-height:1.45; margin:0 0 12px; font-weight:600; }
.public-overview-feature p { margin:0; font-size:13px; line-height:1.9; color:var(--public-surface-muted); }

.public-process { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; margin-top:76px; padding:44px; border-radius:var(--public-radius); background:var(--public-process-background,var(--public-card)); color:var(--public-surface-ink); border:1px solid var(--public-line); }
.public-process>div>p:last-of-type { margin-bottom:14px; }
.public-process .public-text-link,.public-process .public-text-link>span { color:var(--public-surface-accent); }
.public-process ol { margin:0; padding:0; list-style:none; counter-reset:step; }
.public-process li { position:relative; counter-increment:step; padding:0 0 30px 52px; }
.public-process li:last-child { padding-bottom:0; }
.public-process li:not(:last-child)::after { content:''; position:absolute; top:40px; bottom:8px; left:16px; width:1px; background:var(--public-line); }
.public-process li::before { content:'0' counter(step); position:absolute; left:0; top:0; width:34px; height:34px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--public-surface-accent) 27%,transparent); border-radius:clamp(4px,calc(var(--public-radius) / 2),14px); color:var(--public-surface-accent); font-size:11px; font-weight:600; }
.public-process li strong { display:block; font-size:14px; font-weight:600; padding-top:4px; }
.public-process li p { font-size:13px; margin:7px 0 0; line-height:1.8; }
.public-overview-faq { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; margin-top:82px; }
.public-faq-heading p:last-child { max-width:330px; margin:0; }
.public-faq-list { border-top:1px solid var(--public-line); }
.public-overview-question { border-bottom:1px solid var(--public-line); }
.public-overview-question summary { position:relative; padding:22px 36px 22px 0; min-height:64px; font-size:14px; font-weight:600; cursor:pointer; list-style:none; }
.public-overview-question summary::-webkit-details-marker { display:none; }
.public-overview-question summary::after { content:'+'; display:grid; place-items:center; position:absolute; right:0; top:22px; width:24px; height:24px; color:var(--public-surface-accent); background:var(--public-surface); border:1px solid var(--public-line); border-radius:clamp(4px,calc(var(--public-radius) * .3),8px); font-size:17px; line-height:1; font-weight:400; }
.public-overview-question[open] summary::after { content:'−'; }
.public-overview-question summary:hover { color:var(--public-accent-text); }
.public-overview-question p { margin:0 32px 24px 0; font-size:13px; }
.public-overview-action { margin-top:78px; border:1px solid color-mix(in srgb,var(--public-surface) 70%,var(--public-accent)); border-radius:var(--public-radius); padding:38px 42px; background:var(--public-cta-background,var(--public-card)); color:var(--public-surface-ink); display:flex; justify-content:space-between; align-items:center; gap:32px; }
.public-overview-action h2 { font-size:clamp(23px,2.4vw,29px); margin-bottom:10px; }
.public-overview-action p { margin:0; font-size:13px; }
.public-overview-action .public-overview-eyebrow { margin-bottom:10px; }
.public-process h2,.public-overview-action h2 { color:var(--public-surface-ink); }
.public-process p,.public-overview-action p,.public-process .public-overview-eyebrow>span,.public-overview-action .public-overview-eyebrow>span { color:var(--public-surface-muted); }
.public-process .public-overview-eyebrow,.public-overview-action .public-overview-eyebrow { color:var(--public-surface-accent); }
.public-process a:focus-visible,.public-overview-action a:focus-visible { outline-color:var(--public-surface-accent); }
.public-overview-login { flex:0 1 auto; min-width:0; max-width:100%; white-space:normal; text-align:center; }
.public-button>span,.public-overview-login>span { flex:none; }
.public-footer { padding-block:0 28px; font-size:11px; color:var(--public-muted); }
.public-footer>.public-container { display:flex; gap:18px; justify-content:space-between; flex-wrap:wrap; border-top:1px solid var(--public-line-subtle); padding-top:25px; }
.public-footer a { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:var(--public-accent-text); }
.public-footer span { align-self:center; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .public-login,.public-button,.public-overview-login,.public-navigation a,.public-text-link { transition:background-color .16s,border-color .16s,color .16s; }
}
@media (max-width:1100px) {
    .public-container,.public-overview-container { width:calc(100% - 48px); }
    .public-hero-grid { gap:32px; }
    .public-hero h1 { font-size:clamp(44px,5vw,58px); }
    .public-overview-header { gap:40px; }
    .public-process { gap:38px; padding:34px; }
    .public-overview-faq { gap:42px; }
}
@media (max-width:960px) {
    .public-navigation { gap:18px; }
    .public-header-inner { gap:20px; }
    .public-hero-visual { padding:18px; }
    .public-visual-tags { gap:5px; }
    .public-visual-tags span { font-size:9px; padding:7px 4px; }
    .public-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-overview-feature { padding:24px; }
}
@media (max-width:760px) {
    .public-navigation { display:none; }
    .public-header-inner { padding-block:18px; }
    .public-hero-grid { grid-template-columns:minmax(0,1fr); padding-block:42px; gap:36px; }
    .public-hero-copy { max-width:580px; }
    .public-hero h1 { font-size:clamp(40px,7.6vw,56px); max-width:620px; }
    .public-hero-visual { max-width:560px; width:100%; justify-self:center; }
    .public-illustration { max-width:460px; }
    .public-visual-tags span { font-size:10px; }
    .public-overview { padding-block:48px; }
    .public-overview-header { grid-template-columns:minmax(0,1fr); gap:16px; }
    .public-process { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:42px; }
    .public-overview-faq { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:48px; }
    .public-faq-heading p:last-child { max-width:none; }
    .public-overview-action { margin-top:48px; padding:30px; align-items:flex-start; flex-direction:column; gap:22px; }
}
@media (max-width:500px) {
    .public-container,.public-overview-container { width:calc(100% - 32px); }
    .public-brand { gap:8px; }
    .public-brand img { width:36px; height:36px; }
    .public-brand strong { font-size:13px; }
    .public-brand small { font-size:9px; }
    .public-header-inner { gap:10px; padding-block:16px; }
    .public-login { padding:9px 12px; gap:8px; font-size:12px; }
    .public-hero-grid { padding-block:34px; gap:30px; }
    .public-eyebrow { font-size:10px; margin-bottom:22px; }
    .public-hero h1 { font-size:42px; margin-bottom:20px; }
    .public-lead { font-size:18px; }
    .public-hero-actions { gap:8px 18px; margin-top:24px; }
    .public-button { width:100%; }
    .public-access-note { margin-top:14px; }
    .public-hero-visual { padding:16px; border-radius:calc(var(--public-radius) * .9); }
    .public-visual-heading { gap:8px; }
    .public-visual-badge { padding:4px 7px; font-size:9px; }
    .public-visual-heading>span:first-child { font-size:9px; }
    .public-visual-stage { margin-block:10px 0; }
    .public-visual-caption { margin-bottom:16px; }
    .public-visual-caption strong { font-size:13px; }
    .public-visual-tags { padding-top:14px; }
    .public-visual-tags span { font-size:9px; padding:6px 3px; }
    .public-hero-footnote { font-size:11px; padding-block:20px; display:grid; gap:10px; }
    .public-overview-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
    .public-overview-feature { padding:24px; }
    .public-feature-icon { margin-bottom:22px; }
    .public-process { padding:26px 22px; }
    .public-process li { padding-left:46px; }
    .public-overview-action { padding:28px 22px; }
    .public-overview-login { width:100%; }
    .public-footer>.public-container { flex-direction:column; gap:12px; }
    .public-footer span { align-self:flex-start; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
@media (forced-colors:active) { .public-button,.public-overview-login,.public-feature-icon,.public-visual-badge,.public-overview-question summary::after { border-color:ButtonText; } }
@media print {
    :root,body { background:white; color:black; }
    .public-navigation,.public-login,.public-hero-actions,.public-overview-action,.public-footer { display:none; }
    .public-hero-visual { box-shadow:none; }
    .public-process,.public-overview-feature { break-inside:avoid; }
    .public-page * { color:black!important; background:transparent!important; border-color:#aaa!important; }
}
