/* Shared public CSS. Generated by scripts/export-next-public.mjs. */

/* Source: home; hash: 125b6d1a9c */
.navbar-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 99999;
        pointer-events: none;
        padding: 10px 15px;
        transition: padding 0.2s ease;
        transform: translate3d(0, 0, 0);
        -webkit-transform: translate3d(0, 0, 0);
        will-change: transform;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    @media (min-width: 768px) {
        .navbar-wrapper {
            padding: 20px 30px;
        }
    }

    .nav-shell {
        position: relative;
        max-width: 80rem;
        margin: 0 auto;
        border-radius: 9999px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.6rem 1.25rem;
        pointer-events: auto;
        background: rgba(11, 17, 32, 0.85);
        border: 1px solid rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    }

    @media (min-width: 768px) {
        .navbar-wrapper:not(.scrolled) .nav-shell {
            background: rgba(11, 17, 32, 0.10) !important;
        }
    }

    @media (max-width: 767px) {
        .nav-shell {
            background: #0b1120;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
    }

    .navbar-wrapper.scrolled .nav-shell {
        background: #0b1120;
        border-color: rgba(255, 255, 255, 0.1);
        box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.8);
    }

    .nav-brand-mark {
        position: relative;
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: none;
        vertical-align: middle;
        z-index: 10;
    }

    .nav-brand-mark img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain;
        transform: scale(0.75);
        position: relative;
        z-index: 2;
    }

    .nav-brand-mark::before {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: 50%;
        border: 2px solid rgba(34, 211, 238, 0.35);
        border-top-color: transparent;
        z-index: 1;
        animation: spin 10s linear infinite;
        -webkit-animation: spin 10s linear infinite;
        will-change: transform;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    @keyframes spin {
        0% { transform: rotate(0deg) translateZ(0); }
        100% { transform: rotate(360deg) translateZ(0); }
    }

    @-webkit-keyframes spin {
        0% { -webkit-transform: rotate(0deg) translateZ(0); }
        100% { -webkit-transform: rotate(360deg) translateZ(0); }
    }

    .nav-link {
        position: relative;
        font-weight: 600;
        color: #cbd5e1;
        transition: color 0.2s;
    }

    .nav-link:hover,
    .nav-link.is-active {
        color: white;
    }

    .nav-link.is-active::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 0;
        right: 0;
        height: 2px;
        background: #22d3ee;
        border-radius: 2px;
        box-shadow: 0 0 8px #22d3ee;
    }

    #mobile-modal {
        transition: opacity 0.2s ease, visibility 0.2s ease;
        opacity: 0;
        visibility: hidden;
    }

    #mobile-modal.open {
        opacity: 1;
        visibility: visible;
    }

    #mobile-modal .modal-content {
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        transform: scale(0.95) translateY(10px);
    }

    #mobile-modal.open .modal-content {
        transform: scale(1) translateY(0);
    }

/* Source: why-inplex; hash: 7497b8e2f1 */
.footer-brand-mark {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
        flex: none;
    }

    .footer-brand-mark img {
        display: block;
        position: relative;
        z-index: 10;
        object-fit: contain;
        transform: scale(0.75);
        width: 100% !important;
        height: 100% !important;
    }

    .footer-brand-mark::before {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: 50%;
        border: 2px solid rgba(34, 211, 238, 0.4);
        border-top-color: transparent;
        z-index: 1;
        animation: spin 8s linear infinite;
        will-change: transform;
    }

    .footer-heading {
        font-size: 0.75rem;
        line-height: 1rem;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #94a3b8;
        margin-bottom: 1.5rem;
    }

    .footer-link {
        font-size: 0.875rem;
        color: #cbd5e1;
        transition: color 0.2s;
        display: block;
        margin-bottom: 0.75rem;
    }

    .footer-link:hover {
        color: #22d3ee;
    }

    .footer-social-icon {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.05);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #cbd5e1;
        transition: all 0.2s;
    }

    .footer-social-icon:hover {
        background: rgba(34, 211, 238, 0.1);
        color: #22d3ee;
    }

    .footer-cta-card {
        background: rgba(30, 41, 59, 0.4);
        border: 1px solid rgba(255, 255, 255, 0.05);
        border-radius: 1rem;
        padding: 1.5rem;
    }

    .back-to-top {
        font-size: 0.75rem;
        font-weight: 600;
        color: #22d3ee;
        display: inline-flex;
        align-items: center;
        margin-top: 1rem;
        cursor: pointer;
    }

    .back-to-top:hover {
        text-decoration: underline;
    }

    @media (hover: none) {
        .footer-link:active { color: #22d3ee !important; }
    }

/* Source: shared; hash: public-utility-classes */
.public-scroll-y-stable {
  overflow-y: scroll;
}

.public-nav-sentinel {
  position: absolute;
  top: 0;
  height: 1px;
  width: 1px;
}

.public-bg-primary {
  background: #0f172a;
}

.public-hero-video-muted {
  opacity: 0.4;
}

.public-delay-12 {
  animation-delay: 0.12s;
}

.public-delay-2 {
  animation-delay: 0.2s;
}

.public-mark-40 {
  width: 40px;
  height: 40px;
}

/* Tailwind Plus-inspired public component pass. These overrides keep the current
   Inplex copy and layout while tightening cards, forms, stats,
   FAQ panels, pricing panels, and footer surfaces across generated public pages. */

[data-public-route] .btn {
  min-height: 44px;
  letter-spacing: 0;
  box-shadow: 0 16px 38px -24px rgba(34, 211, 238, 0.72);
}

[data-public-route] .btn-solid {
  background: linear-gradient(135deg, #22d3ee, #38bdf8);
  border-color: rgba(255, 255, 255, 0.16);
}

[data-public-route] .btn-nav-outline {
  background: rgba(15, 23, 42, 0.34);
  border-color: rgba(226, 232, 240, 0.18);
}

[data-public-route] .glass-card,
[data-public-route] .pricing-stack-card,
[data-public-route] #plans > .glass-card,
[data-public-route] .faq-item,
[data-public-route] .footer-cta-card {
  border-color: rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(30, 41, 59, 0.66), rgba(15, 23, 42, 0.74)),
    rgba(15, 23, 42, 0.72);
  box-shadow: 0 24px 70px -52px rgba(0, 0, 0, 0.94), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-public-route] .glass-card:hover,
[data-public-route] .pricing-stack-card:hover,
[data-public-route] #plans > .glass-card:hover,
[data-public-route] .faq-item:hover {
  transform: translateY(-3px);
  border-color: rgba(34, 211, 238, 0.36);
  box-shadow: 0 30px 80px -48px rgba(8, 145, 178, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

[data-public-route] #plans > .featured-card,
[data-public-route] .pricing-featured {
  border-color: rgba(34, 211, 238, 0.42);
  box-shadow: 0 34px 90px -50px rgba(34, 211, 238, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

[data-public-route] .badge-popular {
  border: 1px solid rgba(34, 211, 238, 0.45);
  border-radius: 999px;
  background: rgba(34, 211, 238, 0.14);
  color: #67e8f9;
  font-weight: 700;
  letter-spacing: 0.08em;
}

[data-public-route] .faq-trigger {
  min-height: 58px;
  padding: 1rem 1.1rem;
}

[data-public-route] .faq-q,
[data-public-route] .footer-cta-card h5 {
  font-weight: 600;
  letter-spacing: 0;
}

[data-public-route] .faq-panel {
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}

[data-public-route] #inline-chat-input,
[data-public-route] input,
[data-public-route] textarea,
[data-public-route] select {
  border-radius: 999px;
  border-color: rgba(148, 163, 184, 0.44);
  font-weight: 500;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

[data-public-route] #inline-chat-input:focus,
[data-public-route] input:focus,
[data-public-route] textarea:focus,
[data-public-route] select:focus {
  border-color: #22d3ee;
  box-shadow: 0 0 0 4px rgba(34, 211, 238, 0.16);
}

[data-public-route] #mobile-modal .modal-content {
  border-radius: 18px;
  border-color: rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(11, 17, 32, 0.96)),
    #0b1120;
}

[data-public-route] .mobile-link {
  border-radius: 12px;
  padding: 0.75rem 1rem;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

[data-public-route] .mobile-link:hover {
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.08);
  transform: translateY(-1px);
}

[data-public-route] .mobile-link:active {
  transform: translateY(0);
  background: rgba(34, 211, 238, 0.1);
}

[data-public-route] .mobile-link.is-active {
  color: #67e8f9;
  background: rgba(34, 211, 238, 0.1);
  box-shadow: inset 0 0 0 1px rgba(34, 211, 238, 0.14);
}

[data-public-route] footer {
  border-top-color: rgba(148, 163, 184, 0.12);
  background:
    radial-gradient(circle at top left, rgba(34, 211, 238, 0.08), transparent 30rem),
    #0b1120;
}

[data-public-route] .footer-heading {
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
}

[data-public-route] .footer-link {
  width: fit-content;
  border-radius: 8px;
  font-weight: 400;
  padding: 0.12rem 0.22rem;
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

[data-public-route] .footer-link:hover {
  background: rgba(255, 255, 255, 0.05);
  transform: translateX(2px);
}

[data-public-route] .footer-link:active {
  transform: translateX(0);
}

[data-public-route] .footer-social-icon {
  border: 1px solid rgba(148, 163, 184, 0.14);
}

[data-public-route] .footer-cta-card a {
  border-radius: 10px;
  font-weight: 700;
}

[data-public-route="pricing"] #plans {
  align-items: stretch;
}

[data-public-route="pricing"] #plans > .glass-card {
  min-height: 640px;
  border-radius: 18px;
  padding: clamp(1.6rem, 2.4vw, 2rem);
}

[data-public-route="pricing"] #plans > .featured-card {
  transform: none !important;
  padding-top: clamp(2.7rem, 5vw, 3.1rem);
}

[data-public-route="pricing"] .badge-popular {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0;
  padding: 0.38rem 1rem;
  line-height: 1;
  background: #123047;
  box-shadow:
    0 0 0 1px rgba(34, 211, 238, 0.52),
    0 0 0 5px #122033,
    0 16px 34px -18px rgba(34, 211, 238, 0.9);
}

[data-public-route="pricing"] #plans .text-2xl {
  font-weight: 600;
  letter-spacing: 0;
}

[data-public-route="pricing"] #plans .text-5xl {
  font-weight: 700;
  letter-spacing: 0;
}

[data-public-route="pricing"] #plans strong {
  font-weight: 600;
  color: #e2e8f0;
}

[data-public-route="pricing"] #plans .js-plan-button {
  min-height: 48px;
}

[data-public-route="pricing"] #plans .text-xs {
  font-weight: 400;
}

@media (max-width: 767px) {
  [data-public-route="pricing"] #plans {
    gap: 1rem;
  }

  [data-public-route="pricing"] #plans > .glass-card {
    min-height: 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  [data-public-route="pricing"] #plans {
    grid-template-columns: minmax(0, 1fr);
    max-width: 40rem;
    margin-inline: auto;
  }

  [data-public-route="pricing"] #plans > .glass-card {
    min-height: 0;
  }
}
