/* Public pages opt in explicitly. Do not style app-shell, task/diagnosis
   forms or Bootstrap globally. Form behavior and semantic states stay native. */
.public-page,
.public-footer {
  --public-bg: #fafaf9;
  --public-surface: #fff;
  --public-ink: #24243a;
  --public-muted: #65687a;
  --public-line: #e6e5ed;
  --public-brand: #5b35f2;
  --public-soft: #f1edfc;
  --si-body-color: var(--public-ink);
  --si-body-bg: var(--public-bg);
  --si-heading-color: var(--public-ink);
  --si-border-color: var(--public-line);
  color: var(--public-ink);
  background: var(--public-bg);
}
.public-page { overflow-wrap: break-word; }
.public-page h1 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.15; letter-spacing: -0.035em; }
.public-page h2 { letter-spacing: -0.02em; }
.public-page .text-muted { color: var(--public-muted) !important; }
.public-page .text-primary { color: var(--public-brand) !important; }
.public-page .card {
  --si-card-bg: var(--public-surface);
  --si-card-border-color: var(--public-line);
  border-radius: var(--kds-radius-xl);
  border: 1px solid var(--public-line) !important;
  box-shadow: none !important;
}
.public-page .form-control,
.public-page .form-select {
  color: var(--public-ink);
  background-color: var(--public-surface);
  border-color: var(--public-line);
  border-radius: var(--kds-radius-lg);
  min-height: 46px;
}
.public-page .form-control::placeholder { color: var(--public-muted); opacity: 1; }
.public-page .form-control:focus,
.public-page .form-select:focus { border-color: var(--public-brand); box-shadow: 0 0 0 3px rgba(91,53,242,.16); }
.public-page a:focus-visible,
.public-page button:focus-visible,
.public-page summary:focus-visible { outline: 3px solid var(--public-brand); outline-offset: 3px; }
.public-page .accordion-item { background: var(--public-surface); border-color: var(--public-line); box-shadow: none !important; }
.public-page .accordion-button { color: var(--public-ink); background: var(--public-surface); line-height: 1.5; }
.public-page .accordion-button:not(.collapsed) { color: var(--public-brand); background: var(--public-soft); }
.public-page .accordion-body { color: var(--public-muted); line-height: 1.75; }
.public-page-heading { padding-block: 56px 40px; max-width: 960px; }
.public-eyebrow { color: var(--public-brand); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; margin-bottom: 16px; }
.public-lead { max-width: 700px; font-size: 1.05rem; line-height: 1.75; color: var(--public-muted); margin-top: 20px; }
.public-mission { max-width: 960px; padding-bottom: 32px; }
.public-principle { border-top: 1px solid var(--public-line); padding-top: 20px; }
.public-principle > i { color: var(--public-brand); font-size: 1.5rem; }
.public-principle h3 { font-size: 1.05rem; margin: 12px 0 8px; }
.public-principle p { color: var(--public-muted); font-size: .9rem; }
.public-about > section { max-width: 960px; }
.public-about > section > .row:first-child { padding-top: 20px !important; }
.public-callout { padding: 28px; border-radius: 16px; background: var(--public-soft); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.public-callout h2 { font-size: 1.5rem; }
.public-callout p { color: var(--public-muted); margin-bottom: 0; }
.public-contact > .container { padding-top: 0 !important; }
.public-contact > .container > .row { padding-top: 0 !important; }
.public-contact form { padding: 28px; border: 1px solid var(--public-line); background: var(--public-surface); border-radius: 16px; }
.public-contact textarea { min-height: 170px; }
.public-auth > section { padding-block: 44px !important; }
.public-auth > section > .container { justify-content: center !important; padding-top: 0 !important; height: auto !important; }
.public-auth .public-auth-form { padding: 32px !important; background: var(--public-surface); border: 1px solid var(--public-line); border-radius: 16px; }
.public-auth h1 { font-size: 2rem; text-align: left !important; }
.public-auth .public-auth-art { display: none !important; }
.public-auth .public-auth-form > p { text-align: left !important; color: var(--public-muted); }
.public-auth .nav { margin-top: 22px; text-align: center !important; }
.public-status > section { margin-top: 0 !important; }
.public-status h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.public-page [data-public-material-hero] {
  background: var(--public-soft) !important;
  --si-heading-color: var(--public-ink);
  color: var(--public-ink);
}
.public-page [data-public-material-hero] .text-light { color: var(--public-muted) !important; opacity: 1 !important; }
.public-footer { border-top: 1px solid var(--public-line); background: var(--public-surface); }
.public-footer .nav-link { color: var(--public-muted); }
.public-footer .nav-link:hover { color: var(--public-brand); }
.public-footer h2 { color: var(--public-ink); }
.public-footer .navbar-brand img { max-width: 150px; height: auto; }
.korki-pricing.korki-home--refreshed { --kp-shadow: none; --kp-shadow-featured: none; }
.korki-pricing.korki-home--refreshed .kp-tier.is-featured { border-color: var(--kh-primary); }
@media (max-width: 767.98px) {
  .public-page-heading { padding-block: 32px 24px; }
  .public-callout { flex-direction: column; align-items: stretch; padding: 24px; }
  .public-auth .public-auth-form,
  .public-contact form { padding: 24px 20px !important; }
  .public-auth > section { padding-block: 28px !important; }
  .public-contact .nav { padding-top: 12px !important; }
}

.public-page .btn-primary {
  --si-btn-bg: var(--kds-color-primary);
  --si-btn-border-color: var(--kds-color-primary);
  --si-btn-hover-bg: var(--kds-color-primary-strong);
  --si-btn-hover-border-color: var(--kds-color-primary-strong);
  --si-btn-active-bg: var(--kds-color-primary-strong);
  --si-btn-active-border-color: var(--kds-color-primary-strong);
}
.public-page .shadow-primary { box-shadow: none !important; }
.public-stories > section:first-of-type { margin-top: 0 !important; }
.public-stories .swiper-slide h2 { font-size: 1.75rem; }
.public-stories .swiper-tabs { border-radius: 16px 0 0 16px; overflow: hidden; }
.public-stories .public-story-callout { background: var(--public-soft); }
