:root {
  color-scheme: light;
  --public-bg: #f8f8fc;
  --public-surface: #ffffff;
  --public-ink: #1e1d2d;
  --public-muted: #656477;
  --public-line: #dedee8;
  --public-brand: #5146b8;
  --public-brand-dark: #362d8d;
  --public-brand-soft: #efedff;
  --public-green: #246f55;
  --public-shadow: 0 16px 44px rgba(36, 31, 91, 0.08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--public-bg); }
body { margin: 0; color: var(--public-ink); background: var(--public-bg); font-size: 16px; line-height: 1.6; letter-spacing: 0; }
body, button, input { font: inherit; letter-spacing: 0; }
a { color: inherit; }
h1, h2, h3, p, li, summary { overflow-wrap: anywhere; }
button, a { -webkit-tap-highlight-color: transparent; }

.public-container { width: min(1160px, calc(100% - 56px)); margin-inline: auto; }
.public-header { position: relative; z-index: 5; border-bottom: 1px solid var(--public-line); background: rgba(255, 255, 255, 0.94); }
.public-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 76px; gap: 28px; }
.public-brand { display: inline-flex; width: fit-content; align-items: center; gap: 10px; text-decoration: none; }
.public-brand span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 7px; color: #fff; background: var(--public-brand); font-weight: 900; }
.public-brand strong { font-size: 15px; letter-spacing: 0; }
.public-header nav { display: flex; align-items: center; gap: 26px; }
.public-header nav a, .public-login { color: var(--public-muted); font-size: 13px; font-weight: 750; text-decoration: none; }
.public-header nav a:hover, .public-login:hover { color: var(--public-brand-dark); }
.public-login { justify-self: end; color: var(--public-brand-dark); }

.public-hero { min-height: 680px; display: grid; align-items: center; border-bottom: 1px solid var(--public-line); background: var(--public-surface); }
.public-hero__inner { padding-block: 70px 62px; }
.public-kicker { margin: 0 0 12px; color: var(--public-brand); font-size: 13px; font-weight: 850; text-transform: uppercase; letter-spacing: 0; }
.public-hero h1 { max-width: 960px; margin: 0; font-size: clamp(44px, 6vw, 76px); line-height: 1.02; letter-spacing: 0; }
.public-lead { max-width: 790px; margin: 24px 0 0; color: var(--public-muted); font-size: 19px; }
.public-scan-form { max-width: 900px; margin-top: 34px; }
.public-scan-form label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 800; }
.public-scan-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.public-scan-form input[type="url"] { width: 100%; min-height: 56px; border: 1px solid #aaa9ba; border-radius: 7px; padding: 0 16px; color: var(--public-ink); background: #fff; }
.public-scan-form button, .public-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; border: 1px solid var(--public-brand); border-radius: 7px; padding: 0 22px; color: #fff; background: var(--public-brand); font-weight: 800; text-decoration: none; cursor: pointer; }
.public-scan-form button:hover, .public-button:hover { border-color: var(--public-brand-dark); background: var(--public-brand-dark); }
.public-scan-form button:focus-visible, .public-button:focus-visible, input:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(81, 70, 184, 0.28); outline-offset: 3px; }
.public-trust { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 17px 0 0; padding: 0; color: var(--public-green); font-size: 13px; font-weight: 750; list-style: none; }
.public-trust li::before { content: "✓"; margin-right: 7px; }
.public-scope { max-width: 820px; margin: 18px 0 0; color: var(--public-muted); font-size: 13px; }

.public-section { padding-block: 104px; border-bottom: 1px solid var(--public-line); background: var(--public-surface); }
.public-section__heading { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr); gap: 70px; align-items: end; }
.public-section h2, .public-band h2 { max-width: 720px; margin: 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: 0; }
.public-section__heading > p, .public-band__inner > p, .public-split > div:last-child > p:first-child { margin: 0; color: var(--public-muted); font-size: 18px; }
.public-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 62px 0 0; padding: 0; border-top: 1px solid var(--public-line); list-style: none; }
.public-steps li { min-width: 0; padding: 28px 34px 0 0; }
.public-steps li + li { border-left: 1px solid var(--public-line); padding-left: 34px; }
.public-steps span, .public-flow li span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--public-brand-dark); background: var(--public-brand-soft); font-size: 12px; font-weight: 850; }
.public-steps h3 { margin: 18px 0 6px; font-size: 21px; }
.public-steps p { margin: 0; color: var(--public-muted); }

.public-band { padding-block: 72px; color: #fff; background: var(--public-brand-dark); }
.public-band .public-kicker { color: #cbc6ff; }
.public-band__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.7fr); gap: 70px; align-items: center; }
.public-band__inner > p { color: #dcd9f1; }

.public-google { background: var(--public-bg); }
.public-split, .public-pilot { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(340px, 0.75fr); gap: 90px; align-items: start; }
.public-note { color: var(--public-muted); font-size: 13px; }
.public-button { margin-top: 16px; }
.public-button--secondary { color: var(--public-brand-dark); background: transparent; }
.public-button--secondary:hover { color: #fff; }

.public-flow ol { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 54px 0 0; padding: 0; border-top: 1px solid var(--public-line); list-style: none; }
.public-flow li { min-width: 0; padding: 20px 12px 0 0; color: var(--public-muted); font-size: 13px; font-weight: 750; }
.public-flow li span { margin-bottom: 10px; }
.public-disclaimer { margin: 36px 0 0; border-left: 3px solid var(--public-brand); padding: 7px 14px; color: var(--public-muted); font-weight: 700; }

.public-pilot { padding: 46px; border: 1px solid #d6d2fa; border-radius: 8px; background: var(--public-brand-soft); box-shadow: var(--public-shadow); }
.public-price { display: flex; align-items: baseline; gap: 8px; margin: 26px 0 0; }
.public-price strong { font-size: 42px; line-height: 1; }
.public-price span { color: var(--public-muted); }
.public-pilot ul { margin: 0; padding: 0; list-style: none; }
.public-pilot li { padding: 9px 0 9px 28px; border-bottom: 1px solid rgba(81, 70, 184, 0.16); }
.public-pilot li::before { content: "✓"; float: left; margin-left: -27px; color: var(--public-brand); font-weight: 900; }

.public-faq { background: var(--public-bg); }
.public-faq > .public-container > h2 { margin-bottom: 40px; }
.public-faq details { max-width: 900px; border-top: 1px solid var(--public-line); }
.public-faq details:last-child { border-bottom: 1px solid var(--public-line); }
.public-faq summary { padding: 21px 36px 21px 0; font-weight: 800; cursor: pointer; }
.public-faq details p { max-width: 760px; margin: -5px 0 22px; color: var(--public-muted); }

.public-footer { background: var(--public-surface); }
.public-footer > div { display: flex; justify-content: space-between; gap: 28px; padding-block: 30px; color: var(--public-muted); font-size: 12px; }
.public-footer span:first-child { color: var(--public-ink); font-weight: 900; letter-spacing: 0; }

@media (max-width: 820px) {
  .public-container { width: min(100% - 36px, 1160px); }
  .public-header__inner { grid-template-columns: 1fr auto; min-height: 68px; }
  .public-header nav { display: none; }
  .public-hero { min-height: 0; }
  .public-hero__inner { padding-block: 52px 48px; }
  .public-hero h1 { font-size: 48px; }
  .public-section { padding-block: 76px; }
  .public-section__heading, .public-band__inner, .public-split, .public-pilot { grid-template-columns: 1fr; gap: 28px; }
  .public-steps { grid-template-columns: 1fr; margin-top: 42px; }
  .public-steps li, .public-steps li + li { border-left: 0; border-bottom: 1px solid var(--public-line); padding: 24px 0; }
  .public-flow ol { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
  .public-pilot { padding: 32px; }
}

@media (max-width: 520px) {
  .public-container { width: min(100% - 28px, 1160px); }
  .public-brand strong { font-size: 14px; }
  .public-login { font-size: 12px; }
  .public-hero__inner { padding-block: 40px 42px; }
  .public-kicker { font-size: 11px; }
  .public-hero h1 { font-size: 39px; }
  .public-lead { margin-top: 18px; font-size: 16px; }
  .public-scan-form { margin-top: 24px; }
  .public-scan-form > div { grid-template-columns: 1fr; }
  .public-scan-form button { width: 100%; }
  .public-trust { display: grid; gap: 5px; }
  .public-scope { margin-top: 14px; }
  .public-section { padding-block: 64px; }
  .public-section h2, .public-band h2 { font-size: 34px; }
  .public-band { padding-block: 58px; }
  .public-flow ol { grid-template-columns: 1fr 1fr; }
  .public-pilot { padding: 24px 20px; }
  .public-price strong { font-size: 36px; }
  .public-button { width: 100%; text-align: center; }
  .public-footer > div { display: grid; gap: 7px; }
}
