:root {
  --ct-prism-cyan: 0, 242, 255;
  --ct-prism-purple: 112, 0, 255;
  --ct-prism-pink: 255, 0, 122;
}

.public-standard-page {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  background: #ffffff;
  color: #0f172a;
  overflow: hidden;
}

.public-standard-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 2.25rem 1.1rem 3rem;
}

.public-standard-hero {
  padding-top: 5.8rem;
  padding-bottom: 1.2rem;
}

.public-standard-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.34rem 0.8rem;
  margin-bottom: 0.85rem;
  background: #0f172a;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.public-standard-title {
  font-size: clamp(2rem, 4.6vw, 3.5rem);
  line-height: 0.97;
  letter-spacing: -0.04em;
  margin-bottom: 0.75rem;
  font-weight: 900;
  color: #0f172a;
}

.public-standard-subtitle {
  max-width: 760px;
  color: #64748b;
  font-size: clamp(1rem, 2vw, 1.16rem);
  line-height: 1.6;
  margin-bottom: 1.15rem;
}

.public-standard-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.public-standard-card {
  border: 1px solid #e2e8f0;
  background: #ffffff;
  border-radius: 1.2rem;
  padding: 1.1rem 1rem;
  box-shadow: 0 18px 40px -28px rgba(15, 23, 42, 0.28);
}

.public-standard-card h3,
.public-standard-card h4,
.public-standard-card h5 {
  color: #0f172a;
  font-weight: 800;
}

.public-standard-card p,
.public-standard-card li,
.public-standard-card .text-muted,
.public-standard-card .text-secondary {
  color: #64748b !important;
}

#prism-aura {
  position: fixed;
  top: 0;
  left: 0;
  width: 640px;
  height: 640px;
  pointer-events: none;
  z-index: 30;
  transform: translate(-50%, -50%);
  filter: blur(52px);
  mix-blend-mode: multiply;
  opacity: 0.92;
  will-change: transform;
  background: radial-gradient(
    circle,
    rgba(var(--ct-prism-cyan), 0.16) 0%,
    rgba(var(--ct-prism-purple), 0.12) 30%,
    rgba(var(--ct-prism-pink), 0.09) 52%,
    transparent 72%
  );
}

.public-reveal {
  opacity: 1;
  transform: none;
  filter: none;
}

.motion-ready .public-reveal {
  opacity: 0;
  transform: translateY(22px);
  filter: blur(4px);
  transition: opacity 0.65s ease, transform 0.65s ease, filter 0.65s ease;
}

.motion-ready .public-reveal.is-visible {
  opacity: 1;
  transform: none;
  filter: none;
}

@media (max-width: 768px) {
  .public-standard-grid {
    grid-template-columns: 1fr;
  }

  .public-standard-grid > * {
    grid-column: auto !important;
  }

  #prism-aura {
    width: 340px;
    height: 340px;
    filter: blur(34px);
  }
}

/* Legacy public page normalization: removes old blue skins and keeps one visual standard */
.about-page,
.faq-page,
.contact-wrapper,
.status-hero,
.changelog-wrapper,
.privacy-wrapper,
.terms-wrapper,
.features-wrapper {
  background: #ffffff !important;
  color: #0f172a !important;
}

#faq-particles-canvas,
#contact-particles-canvas,
#status-particles-canvas,
#changelog-particles-canvas,
#privacy-particles-canvas,
#about-hero-canvas {
  display: none !important;
}

.about-hero,
.faq-hero,
.features-hero,
.status-hero,
.contact-wrapper,
.changelog-wrapper,
.privacy-wrapper,
.terms-wrapper,
.cta-section {
  background: radial-gradient(circle at 15% 0%, rgba(var(--ct-prism-cyan), 0.1), transparent 44%),
              radial-gradient(circle at 85% 10%, rgba(var(--ct-prism-purple), 0.08), transparent 48%),
              linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  color: #0f172a !important;
}

.about-hero::before,
.about-hero::after,
.features-hero::before,
.features-hero::after,
.section-dark::before,
.terms-wrapper::before,
.faq-extra-section .impact-card::after {
  background: transparent !important;
}

.section-alt {
  background: #f8fafc !important;
}

.section-light,
.section-soft,
.faq-body .card-surface,
.pr-benefits,
.pr-faq {
  background: #ffffff !important;
}

.about-page h1,
.about-page h2,
.about-page h3,
.about-page h4,
.about-page h5,
.faq-page h1,
.faq-page h2,
.faq-page h3,
.faq-page h4,
.contact-wrapper h1,
.contact-wrapper h2,
.contact-wrapper h3,
.status-hero h1,
.status-hero h2,
.status-hero h3,
.changelog-wrapper h1,
.changelog-wrapper h2,
.changelog-wrapper h3,
.privacy-wrapper h1,
.privacy-wrapper h2,
.privacy-wrapper h3,
.terms-wrapper h1,
.terms-wrapper h2,
.terms-wrapper h3,
.features-wrapper h1,
.features-wrapper h2,
.features-wrapper h3,
.features-wrapper h4 {
  color: #0f172a !important;
  text-shadow: none !important;
}

.about-page p,
.about-page li,
.about-page .text-muted,
.about-page .text-secondary,
.faq-page p,
.faq-page li,
.faq-page .text-muted,
.faq-page .text-secondary,
.contact-wrapper p,
.contact-wrapper li,
.contact-wrapper label,
.contact-wrapper .text-muted,
.contact-wrapper .text-secondary,
.status-hero p,
.status-hero small,
.status-hero .text-secondary,
.changelog-wrapper p,
.changelog-wrapper li,
.changelog-wrapper .text-muted,
.privacy-wrapper p,
.privacy-wrapper li,
.privacy-wrapper .text-secondary,
.terms-wrapper p,
.terms-wrapper li,
.terms-wrapper .text-secondary,
.features-wrapper p,
.features-wrapper li,
.features-wrapper .lead,
.features-wrapper .section-heading p {
  color: #64748b !important;
  text-shadow: none !important;
}

.hero-card,
.glass-card,
.about-page .value-card,
.about-page .story-card,
.about-page .about-timeline__step,
.faq-highlight-card,
.faq-extra-section .impact-card,
.faq-testimonial,
.faq-cta-section,
.contact-wrapper .card,
.status-hero .card,
.changelog-wrapper .card,
.privacy-wrapper .card,
.terms-wrapper .card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 18px 40px -28px rgba(15, 23, 42, 0.28) !important;
  color: #0f172a !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.faq-accordion .accordion-item,
.faq-accordion .accordion-button,
.faq-accordion .accordion-body {
  background: #ffffff !important;
  color: #0f172a !important;
}

.contact-wrapper .form-control {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}

.contact-wrapper .form-control::placeholder {
  color: #94a3b8 !important;
}

.terms-bg {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  #prism-aura {
    display: none;
  }

  .motion-ready .public-reveal,
  .motion-ready .public-reveal.is-visible {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}
