.public-shell {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  overflow-wrap: anywhere;
}

.public-shell pre,
.public-shell code { overflow-wrap: normal; }

.public-shell :focus-visible {
  outline: 2px solid #c084fc;
  outline-offset: 3px;
}

.public-skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 100;
  transform: translateY(-180%);
  border-radius: .5rem;
  background: #fff;
  color: #111827;
  padding: .65rem 1rem;
  font-weight: 700;
  transition: transform .15s ease;
}

.public-skip-link:focus { transform: translateY(0); }
.public-nav-link { color: #cbd5e1; transition: color .15s ease; }
.public-nav-link:hover, .public-nav-link:focus-visible { color: #fff; }

.public-primary-link,
.public-hero-primary,
.public-hero-secondary {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: .65rem;
  padding: .7rem 1.15rem;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.public-primary-link,
.public-hero-primary {
  background: linear-gradient(135deg, #7e22ce, #a855f7);
  color: #fff;
  box-shadow: 0 12px 32px rgb(126 34 206 / .25);
}

.public-hero-primary { min-height: 3rem; padding-inline: 1.4rem; }
.public-primary-link:hover, .public-hero-primary:hover { transform: translateY(-1px); background: #9333ea; }

.public-hero-secondary {
  min-height: 3rem;
  border: 1px solid rgb(255 255 255 / .13);
  color: #e2e8f0;
}

.public-hero-secondary:hover { border-color: rgb(192 132 252 / .55); color: #fff; }
.public-mobile-link { display: block; border-radius: .5rem; padding: .65rem .75rem; }
.public-mobile-link:hover, .public-mobile-link:focus-visible { background: rgb(255 255 255 / .07); color: #fff; }
.public-menu-close { display: none; }
.public-menu[open] .public-menu-open { display: none; }
.public-menu[open] .public-menu-close { display: inline; }
.public-mobile-navigation { width: min(18rem, calc(100vw - 2rem)); }

@media (max-width: 239px) {
  .public-brand-name { display: none; }
  .analytics-consent-actions > form { flex: 1 0 100%; min-width: 0; }
  .analytics-consent-actions button { width: 100%; max-width: 100%; white-space: normal; }
}

.public-grid {
  background-image:
    linear-gradient(rgb(255 255 255 / .035) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / .035) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.public-orb { position: absolute; border-radius: 999px; filter: blur(110px); pointer-events: none; }
.public-orb-one { width: 26rem; height: 26rem; left: -10rem; top: 5rem; background: rgb(126 34 206 / .25); }
.public-orb-two { width: 30rem; height: 30rem; right: -12rem; top: 10rem; background: rgb(37 99 235 / .14); }

.public-product-frame {
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 1.25rem;
  background: rgb(15 23 42 / .72);
  box-shadow: 0 35px 90px rgb(0 0 0 / .42), inset 0 1px rgb(255 255 255 / .04);
  backdrop-filter: blur(18px);
}

.public-preview-card { border: 1px solid rgb(255 255 255 / .08); border-radius: .8rem; background: rgb(2 6 23 / .55); padding: 1rem; }
.public-preview-bar { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7e22ce, #d946ef); }
.public-preview-bar-1 { width: 72%; }
.public-preview-bar-2 { width: 88%; }
.public-preview-bar-3 { width: 61%; }
.public-preview-bar-4 { width: 79%; }

.public-section { max-width: 80rem; margin-inline: auto; padding: 6rem 1rem; }
.public-section-heading { max-width: 47rem; }
.public-section-heading > p { color: #d8b4fe; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.public-section-heading > h2 { margin-top: .75rem; color: #fff; font-family: Sora, sans-serif; font-size: clamp(1.9rem, 4vw, 2.75rem); font-weight: 700; line-height: 1.15; }
.public-section-heading > span { display: block; margin-top: 1rem; color: #94a3b8; font-size: 1rem; line-height: 1.8; }

.public-feature-card,
.public-step-card {
  border: 1px solid rgb(255 255 255 / .09);
  border-radius: 1rem;
  background: rgb(15 23 42 / .55);
  padding: 1.4rem;
  transition: border-color .2s ease, transform .2s ease;
}

.public-feature-card:hover, .public-step-card:hover { border-color: rgb(192 132 252 / .35); transform: translateY(-2px); }
.public-feature-marker { width: 2.5rem; height: .3rem; border-radius: 999px; background: linear-gradient(90deg, #9333ea, #d946ef); }
.public-feature-card h3, .public-step-card h3 { margin-top: 1.2rem; color: #fff; font-size: 1.05rem; font-weight: 700; }
.public-feature-card p, .public-step-card p { margin-top: .65rem; color: #94a3b8; font-size: .875rem; line-height: 1.7; }
.public-step-card > span { color: #c084fc; font-family: 'JetBrains Mono', monospace; font-size: .8rem; font-weight: 700; }

.public-faq { border: 1px solid rgb(255 255 255 / .09); border-radius: .8rem; background: rgb(15 23 42 / .55); }
.public-faq summary { cursor: pointer; padding: 1.1rem 1.25rem; color: #fff; font-weight: 650; }
.public-faq p { border-top: 1px solid rgb(255 255 255 / .07); padding: 1rem 1.25rem 1.25rem; color: #94a3b8; font-size: .875rem; line-height: 1.75; }

.public-form-label { display: block; margin-bottom: .45rem; color: #cbd5e1; font-size: .8rem; font-weight: 650; }
.public-form-input {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 2.75rem;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: .65rem;
  background: rgb(2 6 23 / .62);
  padding: .7rem .8rem;
  color: #f1f5f9;
  font-size: .875rem;
}
.public-form-input::placeholder { color: #64748b; }
.public-contact-grid,
.public-contact-grid > * { min-width: 0; }
.public-contact-grid .public-section-heading > * { overflow-wrap: anywhere; }
.public-contact-form,
.public-contact-form > * { min-width: 0; max-width: 100%; }
.public-contact-form label { overflow-wrap: anywhere; }
.public-contact-form .public-hero-primary {
  width: 100%;
  max-width: 100%;
  padding-inline: .75rem;
  white-space: normal;
}
.public-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (min-width: 640px) {
  .public-section { padding-inline: 1.5rem; }
}

@media (min-width: 1024px) {
  .public-section { padding-inline: 2rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .public-reveal { animation: public-reveal .55s ease both; }
  .public-product-frame.public-reveal { animation-delay: .12s; }
}

@keyframes public-reveal {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .public-shell *, .public-shell *::before, .public-shell *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
