:root {
   --landing-bg: #f7f9fc;
   --landing-surface: #ffffff;
   --landing-surface-soft: #f2f6fb;
   --landing-border: rgba(148, 163, 184, 0.22);
   --landing-border-strong: rgba(37, 99, 235, 0.18);
   --landing-text: #0f172a;
   --landing-text-soft: #475569;
   --landing-primary: #2563eb;
   --landing-primary-strong: #1d4ed8;
   --landing-accent: #10b981;
   --landing-dark: #0f172a;
   --landing-dark-soft: #1e293b;
   --landing-display-size: clamp(2.55rem, 5.1vw, 4.55rem);
   --landing-shadow-soft: 0 18px 40px -28px rgba(37, 99, 235, 0.38);
   --landing-shadow-card: 0 28px 80px -42px rgba(15, 23, 42, 0.28);
}

html {
   scroll-behavior: smooth;
}

.landing-page-body {
   margin-bottom: 0;
   background:
      radial-gradient(
         circle at top left,
         rgba(37, 99, 235, 0.12),
         transparent 28%
      ),
      radial-gradient(
         circle at top right,
         rgba(16, 185, 129, 0.12),
         transparent 24%
      ),
      linear-gradient(180deg, #f8fbff 0%, #f7f9fc 100%);
   color: var(--landing-text);
}

.landing-page-body .nav-link.text-dark {
   color: var(--landing-text-soft) !important;
}

.landing-header-row {
   position: relative;
   overflow: visible;
   z-index: 30;
   padding-top: 1rem;
   margin-bottom: 0;
   backdrop-filter: blur(14px);
   box-shadow: 0 24px 60px -48px rgba(15, 23, 42, 0.32);
}

.landing-header-row .dropdown-menu {
   z-index: 1080;
}

.landing-brand-mark {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.85rem;
   height: 2.85rem;
   margin-right: 0.9rem;
   border-radius: 0.95rem;
   color: #fff;
   background: linear-gradient(135deg, var(--landing-primary), #38bdf8);
   box-shadow: 0 14px 28px -18px rgba(37, 99, 235, 0.8);
}

.landing-nav-link {
   color: var(--landing-text-soft) !important;
   font-weight: 500;
}

.landing-nav-link:hover {
   color: var(--landing-text) !important;
}

.landing-header-cta {
   border-color: transparent;
   border-radius: 999px;
   padding-inline: 1.2rem;
   background: linear-gradient(135deg, var(--landing-primary), #38bdf8);
   box-shadow: 0 18px 36px -24px rgba(37, 99, 235, 0.85);
}

.landing-hero {
   padding: 3rem 0 2.5rem;
}

.landing-hero > .container-fluid {
   margin-top: -0.85rem;
}

.landing-grid-pattern {
   opacity: 0.45;
   background-image:
      linear-gradient(rgba(148, 163, 184, 0.18) 1px, transparent 1px),
      linear-gradient(90deg, rgba(148, 163, 184, 0.18) 1px, transparent 1px);
   background-size: 42px 42px;
   mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.85), transparent 90%);
}

.landing-hero-orb {
   position: absolute;
   border-radius: 50%;
   filter: blur(18px);
   opacity: 0.7;
}

.landing-hero-orb-primary {
   top: 2rem;
   right: 6%;
   width: 18rem;
   height: 18rem;
   background: rgba(37, 99, 235, 0.18);
}

.landing-hero-orb-accent {
   bottom: 1rem;
   left: 3%;
   width: 14rem;
   height: 14rem;
   background: rgba(16, 185, 129, 0.16);
}

.landing-hero-copy {
   position: relative;
   z-index: 1;
   max-width: 40rem;
   margin-top: 0;
   padding-top: 0;
}

.landing-hero-copy-column {
   margin-top: 0;
   padding-top: 0;
}

.landing-hero-column {
   display: flex;
   align-items: flex-start;
}

.landing-hero-showcase-column {
   display: flex;
   align-items: flex-start;
}

.landing-hero-column > .landing-hero-copy,
.landing-hero-column > .landing-showcase {
   width: 100%;
   margin-top: 0;
   align-self: flex-start;
}

.landing-showcase {
   margin-top: 0;
}

@media (min-width: 992px) {
   .landing-hero-row {
      align-items: flex-start !important;
   }

   .landing-hero-row > [class*='col-'] {
      margin-top: 0 !important;
      padding-top: 0 !important;
   }

   .landing-register-hero .landing-hero-row > [class*='col-'] {
      margin-top: 0.9rem !important;
   }

   .landing-login-hero .landing-hero-row > [class*='col-'] {
      margin-top: 0.9rem !important;
   }

   .landing-forgot-password-hero .landing-hero-row > [class*='col-'] {
      margin-top: 0.9rem !important;
   }

   .landing-hero-copy-column,
   .landing-hero-showcase-column,
   .landing-hero-copy,
   .landing-showcase {
      margin-top: 0 !important;
      padding-top: 0 !important;
   }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
   .landing-hero-copy {
      transform: translateY(-2.5rem);
   }
}

.landing-eyebrow {
   display: inline-flex;
   align-items: center;
   padding: 0.7rem 1rem;
   border: 1px solid rgba(37, 99, 235, 0.12);
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.9);
   color: var(--landing-primary-strong);
   font-size: 0.92rem;
   font-weight: 600;
   box-shadow: 0 16px 30px -24px rgba(37, 99, 235, 0.4);
}

.landing-display,
.landing-section-title {
   font-weight: 700;
   letter-spacing: -0.04em;
   line-height: 0.95;
   color: var(--landing-text);
}

.landing-display {
   font-size: var(--landing-display-size);
}

.landing-section-title {
   font-size: clamp(2.4rem, 4.2vw, 4rem);
}

.landing-gradient-text {
   background: linear-gradient(135deg, var(--landing-primary), #38bdf8);
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
}

.landing-lead,
.landing-section-description {
   color: var(--landing-text-soft);
   font-size: 1.1rem;
   line-height: 1.8;
}

.landing-btn-primary,
.landing-btn-secondary {
   min-width: 12rem;
   border-radius: 999px;
   padding-block: 0.9rem;
   font-weight: 600;
}

.landing-btn-primary {
   border-color: transparent;
   background: linear-gradient(135deg, var(--landing-primary), #38bdf8);
   box-shadow: 0 22px 40px -28px rgba(37, 99, 235, 0.9);
}

.landing-btn-primary:hover,
.landing-header-cta:hover {
   background: linear-gradient(135deg, var(--landing-primary-strong), #0ea5e9);
}

.landing-btn-secondary {
   border-color: rgba(148, 163, 184, 0.3);
   background: rgba(255, 255, 255, 0.9);
   color: var(--landing-text);
}

.landing-page-body .landing-nav-link:focus,
.landing-page-body .landing-nav-link:active,
.landing-page-body .top-nav-dropdown-toggle:focus,
.landing-page-body .top-nav-dropdown-toggle:active,
.landing-page-body .landing-header-cta:focus,
.landing-page-body .landing-header-cta:active,
.landing-page-body .landing-btn-primary:focus,
.landing-page-body .landing-btn-primary:active,
.landing-page-body .landing-btn-secondary:focus,
.landing-page-body .landing-btn-secondary:active {
   outline: none;
   box-shadow: none;
}

.landing-page-body .landing-header-cta:focus,
.landing-page-body .landing-header-cta:active {
   box-shadow: 0 18px 36px -24px rgba(37, 99, 235, 0.85);
}

.landing-page-body .landing-btn-primary:focus,
.landing-page-body .landing-btn-primary:active {
   box-shadow: 0 22px 40px -28px rgba(37, 99, 235, 0.9);
}

.landing-page-body .landing-nav-link:focus-visible,
.landing-page-body .top-nav-dropdown-toggle:focus-visible {
   color: var(--landing-text) !important;
   text-decoration: underline;
   text-decoration-thickness: 0.12em;
   text-underline-offset: 0.24em;
   border-radius: 999px;
   outline: none;
   box-shadow: none;
}

.landing-page-body .landing-header-cta:focus-visible,
.landing-page-body .landing-btn-primary:focus-visible,
.landing-page-body .landing-btn-secondary:focus-visible {
   outline: 2px solid rgba(15, 23, 42, 0.18);
   outline-offset: 3px;
   box-shadow: none;
}

.landing-page-body .landing-header-cta:focus-visible {
   box-shadow: 0 18px 36px -24px rgba(37, 99, 235, 0.85);
}

.landing-page-body .landing-btn-primary:focus-visible {
   box-shadow: 0 22px 40px -28px rgba(37, 99, 235, 0.9);
}

.landing-trust-badge,
.landing-mini-chip,
.landing-inline-badge,
.landing-status-pill {
   display: inline-flex;
   align-items: center;
   border-radius: 999px;
   font-size: 0.92rem;
   font-weight: 500;
}

.landing-trust-badge,
.landing-mini-chip {
   padding: 0.7rem 0.95rem;
   border: 1px solid rgba(148, 163, 184, 0.22);
   background: rgba(255, 255, 255, 0.85);
   color: var(--landing-text-soft);
}

.landing-trust,
.landing-trust .text-secondary {
   row-gap: 0.75rem;
}

.landing-trust .text-secondary {
   flex-wrap: wrap;
}

.landing-showcase,
.landing-feature-card,
.landing-platform-board,
.landing-security-card,
.landing-kpi-card,
.landing-cta-card,
.landing-contact-card {
   border: 1px solid var(--landing-border);
   border-radius: 1.75rem;
   background: rgba(255, 255, 255, 0.86);
   box-shadow: var(--landing-shadow-card);
}

.landing-showcase {
   position: relative;
   overflow: hidden;
   backdrop-filter: blur(10px);
}

.landing-showcase::before {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.55),
      rgba(242, 246, 251, 0.18)
   );
   pointer-events: none;
}

.landing-showcase-header,
.landing-showcase-body {
   position: relative;
   z-index: 1;
   padding: 1.6rem 1.7rem;
}

.landing-showcase-header {
   border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.landing-showcase-label {
   color: var(--landing-text-soft);
   font-size: 0.85rem;
   text-transform: uppercase;
   letter-spacing: 0.08em;
}

.landing-showcase-title {
   font-size: 1.18rem;
   font-weight: 600;
}

.landing-status-pill {
   gap: 0.45rem;
   padding: 0.6rem 0.9rem;
   color: #047857;
   background: rgba(16, 185, 129, 0.12);
}

.landing-subscribe-form {
   margin: 0;
}

.landing-subscribe-input-group {
   display: flex;
   align-items: center;
   gap: 0.65rem;
}

.landing-subscribe-input {
   min-height: 3rem;
   flex: 1 1 auto;
   border: 1px solid rgba(148, 163, 184, 0.24);
   border-radius: 999px;
   padding: 0.72rem 1rem;
   background: rgba(255, 255, 255, 0.96);
   color: var(--landing-text);
   box-shadow: none;
}

.landing-subscribe-input::placeholder {
   color: #94a3b8;
}

.landing-subscribe-input:focus {
   border-color: rgba(37, 99, 235, 0.35);
   box-shadow: 0 0 0 0.24rem rgba(37, 99, 235, 0.12);
}

.landing-subscribe-btn {
   min-width: 8.75rem;
   padding-block: 0.72rem;
   padding-inline: 1.15rem;
   white-space: nowrap;
}

.landing-footer-subscribe-form {
   width: min(100%, 31rem);
}

.landing-footer-subscribe-input {
   border-color: rgba(255, 255, 255, 0.14);
   background: rgba(255, 255, 255, 0.96);
}

.landing-footer-subscribe-input:focus {
   border-color: rgba(56, 189, 248, 0.4);
   box-shadow: 0 0 0 0.24rem rgba(56, 189, 248, 0.14);
}

.landing-footer-subscribe-btn {
   box-shadow: 0 18px 36px -24px rgba(37, 99, 235, 0.65);
}

.landing-status-dot {
   width: 0.6rem;
   height: 0.6rem;
   border-radius: 50%;
   background: #10b981;
}

.landing-stat-card,
.landing-data-card,
.landing-platform-card {
   height: 100%;
   padding: 1.2rem;
   border: 1px solid rgba(148, 163, 184, 0.16);
   border-radius: 1.3rem;
   background: #fff;
}

.landing-stat-card {
   display: flex;
   align-items: center;
   gap: 1rem;
}

.landing-stat-icon,
.landing-feature-icon,
.landing-security-icon,
.landing-platform-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 3rem;
   height: 3rem;
   border-radius: 1rem;
   font-size: 1.15rem;
}

.landing-stat-value,
.landing-kpi-value {
   font-size: 1.75rem;
   font-weight: 700;
   line-height: 1;
}

.landing-stat-label,
.landing-kpi-label {
   margin-top: 0.35rem;
   color: var(--landing-text-soft);
   font-size: 0.95rem;
}

.landing-inline-badge {
   padding: 0.5rem 0.8rem;
   color: var(--landing-primary);
   background: rgba(37, 99, 235, 0.1);
}

.landing-table thead th {
   color: var(--landing-text-soft);
   font-size: 0.78rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.07em;
}

.landing-table tbody td {
   color: var(--landing-text);
   padding-block: 1rem;
   border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.landing-table-status {
   display: inline-flex;
   align-items: center;
   padding: 0.4rem 0.75rem;
   border-radius: 999px;
   font-size: 0.84rem;
   font-weight: 600;
}

.landing-table-status.is-success {
   color: #047857;
   background: rgba(16, 185, 129, 0.12);
}

.landing-table-status.is-warning {
   color: #b45309;
   background: rgba(245, 158, 11, 0.14);
}

.landing-table-status.is-info {
   color: #1d4ed8;
   background: rgba(37, 99, 235, 0.12);
}

.landing-section {
   padding: 2rem 0 4rem;
}

#landing-product,
#landing-features {
   scroll-margin-top: 7.5rem;
}

.landing-section-heading {
   max-width: 48rem;
   margin-bottom: 3rem;
}

.landing-feature-card,
.landing-security-card,
.landing-kpi-card {
   padding: 1.6rem;
   transition:
      transform 0.25s ease,
      box-shadow 0.25s ease,
      border-color 0.25s ease;
}

.landing-feature-card,
.landing-security-card,
.landing-platform-card,
.landing-kpi-card {
   text-align: center;
}

.landing-feature-icon,
.landing-security-icon,
.landing-platform-icon {
   margin-inline: auto;
}

.landing-feature-card:hover,
.landing-security-card:hover,
.landing-kpi-card:hover,
.landing-platform-card:hover {
   transform: translateY(-4px);
   border-color: var(--landing-border-strong);
   box-shadow: var(--landing-shadow-soft);
}

.landing-feature-card-highlight {
   background: linear-gradient(
      180deg,
      rgba(239, 246, 255, 0.96),
      rgba(255, 255, 255, 0.96)
   );
}

.landing-platform-board {
   position: relative;
   padding: 1.8rem;
}

.landing-platform-connector {
   display: flex;
   justify-content: center;
   margin-top: 1.2rem;
}

.landing-platform-connector span {
   width: 7rem;
   height: 0.45rem;
   border-radius: 999px;
   background: linear-gradient(
      90deg,
      rgba(37, 99, 235, 0.25),
      rgba(16, 185, 129, 0.45),
      rgba(37, 99, 235, 0.25)
   );
}

.landing-cta-section {
   padding-bottom: 4rem;
}

.landing-cta-card {
   padding: 3rem 1.5rem;
   background:
      radial-gradient(circle at top, rgba(37, 99, 235, 0.12), transparent 40%),
      linear-gradient(
         180deg,
         rgba(255, 255, 255, 0.98),
         rgba(248, 250, 252, 0.98)
      );
}

.landing-cta-card .landing-section-description {
   max-width: 43rem;
}

.landing-contact-hero {
   padding: 3rem 0 4.5rem;
}

.landing-contact-copy {
   max-width: 34rem;
}

.landing-contact-info-grid {
   display: grid;
   gap: 1rem;
}

.landing-contact-info-card {
   display: flex;
   align-items: flex-start;
   gap: 1rem;
   padding: 1.2rem 1.25rem;
   border: 1px solid rgba(148, 163, 184, 0.16);
   border-radius: 1.3rem;
   background: rgba(255, 255, 255, 0.86);
   box-shadow: 0 18px 40px -34px rgba(15, 23, 42, 0.3);
}

.landing-contact-info-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 3rem;
   height: 3rem;
   flex-shrink: 0;
   border-radius: 1rem;
   font-size: 1.15rem;
}

.landing-contact-card {
   position: relative;
   overflow: hidden;
   backdrop-filter: blur(10px);
}

.landing-contact-card::before {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.5),
      rgba(242, 246, 251, 0.18)
   );
   pointer-events: none;
}

.landing-contact-card-header,
.landing-contact-form {
   position: relative;
   z-index: 1;
   padding: 1.75rem 1.85rem;
}

.landing-contact-card-header {
   display: flex;
   align-items: center;
   border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.landing-contact-card-header .landing-showcase-label:last-child {
   margin-bottom: 0 !important;
}

.landing-contact-feedback {
   margin-bottom: 1.25rem;
   padding: 0.95rem 1rem;
   border: 1px solid transparent;
   border-radius: 1rem;
   font-size: 0.96rem;
}

.landing-contact-feedback-success {
   color: #166534;
   border-color: rgba(34, 197, 94, 0.2);
   background: rgba(34, 197, 94, 0.1);
}

.landing-contact-feedback-error {
   color: #991b1b;
   border-color: rgba(239, 68, 68, 0.18);
   background: rgba(254, 242, 242, 0.96);
}

.landing-contact-feedback.validation-summary-valid {
   display: none;
}

.landing-contact-feedback ul {
   margin: 0;
   padding-left: 0;
   list-style: none;
}

.landing-contact-label {
   margin-bottom: 0.55rem;
   color: var(--landing-text);
   font-weight: 600;
}

.landing-contact-input {
   min-height: 3.5rem;
   border: 1px solid rgba(148, 163, 184, 0.28);
   border-radius: 1rem;
   padding: 0.95rem 1rem;
   background: rgba(255, 255, 255, 0.96);
   color: var(--landing-text);
   box-shadow: none;
}

.landing-contact-input::placeholder {
   color: #94a3b8;
}

.landing-contact-input:focus {
   border-color: rgba(37, 99, 235, 0.4);
   box-shadow: 0 0 0 0.24rem rgba(37, 99, 235, 0.12);
}

.landing-contact-input.input-validation-error {
   border-color: rgba(239, 68, 68, 0.45);
   background: rgba(254, 242, 242, 0.88);
}

.landing-contact-textarea {
   min-height: 10.5rem;
   resize: vertical;
}

.landing-contact-validation {
   display: block;
   margin-top: 0.5rem;
   color: #b91c1c;
   font-size: 0.9rem;
}

.landing-contact-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: flex-start;
   gap: 1rem;
   margin-top: 1.5rem;
}

.landing-contact-note {
   color: var(--landing-text-soft);
   font-size: 0.95rem;
}

.landing-submit-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.65rem;
   min-width: 12rem;
}

.landing-submit-btn-spinner {
   display: none;
}

.landing-submit-btn.is-loading .landing-submit-btn-text {
   display: none;
}

.landing-submit-btn.is-loading .landing-submit-btn-spinner {
   display: inline-flex;
}

.landing-cta-trust {
   color: var(--landing-text-soft);
}

.landing-auth-section {
   padding: 2rem 0 5rem;
}

.landing-auth-shell {
   position: relative;
   overflow: hidden;
   padding: 1rem 0 0;
}

.landing-auth-copy {
   max-width: 33rem;
}

.landing-auth-support-card {
   display: flex;
   align-items: flex-start;
   gap: 1rem;
   margin-top: 2rem;
   padding: 1.35rem 1.4rem;
   border: 1px solid rgba(148, 163, 184, 0.22);
   border-radius: 1.5rem;
   background: rgba(255, 255, 255, 0.82);
   box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.landing-auth-support-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 3rem;
   height: 3rem;
   flex-shrink: 0;
   border-radius: 1rem;
   color: var(--landing-primary-strong);
   background: linear-gradient(
      135deg,
      rgba(37, 99, 235, 0.16),
      rgba(14, 165, 233, 0.24)
   );
}

.landing-auth-support-title {
   font-size: 1.05rem;
   font-weight: 700;
   color: var(--landing-text);
}

.landing-auth-support-text,
.landing-auth-subtitle,
.landing-auth-field-hint {
   color: var(--landing-text-soft);
   line-height: 1.7;
}

.landing-auth-card {
   overflow: hidden;
   border-radius: 1.85rem;
   background: rgba(255, 255, 255, 0.92);
   box-shadow: 0 28px 65px rgba(15, 23, 42, 0.12);
}

.landing-auth-card-header,
.landing-auth-card-body {
   padding: 1.6rem 1.6rem 1.55rem;
}

.landing-auth-card-header {
   border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.landing-auth-form {
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
}

.landing-auth-label {
   margin-bottom: 0.55rem;
   font-weight: 600;
   color: var(--landing-text);
}

.landing-auth-input {
   min-height: 3.4rem;
   border-radius: 1rem;
   border: 1px solid rgba(148, 163, 184, 0.34);
   background: rgba(248, 250, 252, 0.92);
   padding-inline: 1rem;
   box-shadow: none;
}

.landing-auth-input:focus {
   border-color: rgba(37, 99, 235, 0.45);
   background: #fff;
   box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.12);
}

.landing-auth-field-hint {
   margin-top: 0.55rem;
   font-size: 0.86rem;
}

.landing-auth-validation {
   margin-bottom: 0.5rem;
}

.landing-auth-otp-section {
   margin-top: 0.35rem;
}

.landing-auth-otp-box {
   padding: 1rem;
   border-radius: 1.2rem;
   border: 1px solid rgba(148, 163, 184, 0.18);
   background: rgba(248, 250, 252, 0.88);
}

.landing-auth-otp-input {
   letter-spacing: 0.18em;
}

.landing-auth-submit {
   margin-top: 0.75rem;
}

.landing-auth-footer {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 0.4rem;
   margin-top: 1rem;
   font-size: 0.98rem;
}

.landing-auth-link {
   color: var(--landing-primary-strong);
   font-weight: 600;
   text-decoration: none;
}

.landing-auth-link:hover,
.landing-auth-link:focus {
   color: var(--landing-primary);
   text-decoration: underline;
}

.landing-register-hero {
   padding-bottom: 5rem;
}

.landing-register-copy {
   max-width: 34rem;
}

.landing-login-hero {
   padding-bottom: 4.5rem;
}

.landing-login-copy {
   max-width: 34rem;
}

.landing-login-info-card {
   min-height: 100%;
}

.landing-login-card .landing-contact-card-header {
   align-items: center;
   padding-top: 0.6rem;
   padding-bottom: 0.6rem;
}

.landing-login-card .landing-contact-card-header .landing-showcase-label {
   margin-top: 0.4rem;
}

.landing-confirmation-title {
   font-size: clamp(1.9rem, 3.2vw, 2.75rem);
   line-height: 1.05;
}

.landing-login-card-title {
   font-size: clamp(1.45rem, 1.8vw, 1.8rem);
   font-weight: 700;
   color: var(--landing-text);
}

.landing-login-form {
   display: flex;
   flex-direction: column;
}

.landing-login-links {
   margin-top: 1rem;
}

.landing-login-submit-btn {
   min-width: 9rem;
}

.landing-login-remember {
   display: inline-flex;
   align-items: center;
   gap: 0.75rem;
   color: var(--landing-text);
   font-weight: 500;
   line-height: 1.5;
}

.landing-login-remember .form-check-input {
   margin-top: 0;
   flex-shrink: 0;
}

.landing-register-card .landing-contact-card-header {
   align-items: center;
   padding-top: 0.6rem;
   padding-bottom: 0.6rem;
}

.landing-register-card .landing-contact-card-header .landing-showcase-label {
   margin-top: 0.4rem;
}

.landing-forgot-password-card {
   width: 100%;
   margin-inline: auto;
}

.landing-register-form {
   display: flex;
   flex-direction: column;
}

.landing-register-hint {
   margin-top: 0.55rem;
   font-size: 0.84rem;
}

.landing-register-otp-section {
   margin-top: 1.25rem;
}

.landing-register-otp-input {
   letter-spacing: 0.16em;
}

.landing-register-otp-meta {
   margin-top: 0.8rem;
}

.landing-register-footer {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0.4rem;
   margin-left: 0.7rem;
   font-size: 0.98rem;
}

.landing-register-actions {
   align-items: center;
   gap: 1.2rem;
}

.landing-create-password-card .landing-contact-form {
   gap: 0.25rem;
}

.landing-create-password-agreements {
   margin-top: 1.25rem;
}

.landing-create-password-check {
   display: inline-flex;
   align-items: center;
   gap: 0.75rem;
   color: var(--landing-text);
   line-height: 1.6;
}

.landing-create-password-check .form-check-input {
   margin-top: 0.15rem;
   flex-shrink: 0;
}

.landing-create-password-check-copy {
   display: inline-flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0.35rem;
   color: var(--landing-text);
}

.landing-create-password-terms {
   margin-top: 0.6rem;
   line-height: 1.7;
   font-size: 0.96rem;
}

.landing-footer-inner {
   margin-top: 0;
   padding: 3rem 2rem 2rem;
   border-radius: 2rem 2rem 0 0;
   background:
      radial-gradient(
         circle at top left,
         rgba(37, 99, 235, 0.35),
         transparent 30%
      ),
      linear-gradient(180deg, var(--landing-dark-soft), var(--landing-dark));
}

.landing-footer-copy {
   max-width: 32rem;
   line-height: 1.8;
}

.landing-footer-inner .landing-footer-link {
   color: rgba(226, 232, 240, 0.88) !important;
}

.landing-footer-inner a.landing-footer-link:hover,
.landing-footer-inner a.landing-footer-link:focus,
.landing-footer-inner .landing-footer-link.dropdown-toggle:hover,
.landing-footer-inner .landing-footer-link.dropdown-toggle:focus {
   color: #f8fafc !important;
   text-decoration: none;
}

.landing-footer-inner .dropdown-menu .dropdown-item {
   color: var(--landing-text);
}

.landing-footer-inner .dropdown-menu .dropdown-item:hover {
   color: var(--landing-primary-strong);
}

.landing-footer-bottom {
   margin-top: 2rem;
   padding-top: 1.75rem;
   border-top: 1px solid rgba(255, 255, 255, 0.12);
}

@media (max-width: 991.98px) {
   .landing-hero-column,
   .landing-hero-showcase-column {
      display: block;
   }

   .landing-hero-showcase-column {
      margin-top: 1.25rem;
   }

   .landing-header-row {
      position: static;
      padding: 1rem;
      border-radius: 1.25rem;
   }

   .landing-hero {
      padding-top: 2.1rem;
   }

   .landing-hero-copy {
      max-width: none;
      transform: none !important;
   }

   .landing-showcase {
      margin-top: 0.5rem;
   }

   .landing-nav {
      width: 100%;
   }

   .landing-header-cta {
      width: 100%;
   }
}

@media (max-width: 767.98px) {
   .landing-page-body .layout-shell-landing {
      padding-inline: 1rem;
   }

   .landing-hero {
      padding: 2rem 0 2rem;
   }

   .landing-section {
      padding: 2rem 0 2rem;
   }

   .landing-hero-showcase-column {
      margin-top: 1.5rem;
   }

   .landing-brand-mark {
      width: 2.6rem;
      height: 2.6rem;
   }

   .landing-eyebrow {
      width: 100%;
      justify-content: center;
      text-align: center;
      line-height: 1.4;
   }

   .landing-lead,
   .landing-section-description {
      font-size: 1rem;
      line-height: 1.7;
   }

   .landing-showcase-header,
   .landing-showcase-body,
   .landing-feature-card,
   .landing-security-card,
   .landing-kpi-card,
   .landing-platform-board,
   .landing-cta-card,
   .landing-contact-card-header,
   .landing-contact-form {
      padding: 1.35rem;
   }

   .landing-showcase-header,
   .landing-data-card > .d-flex,
   .landing-trust {
      flex-direction: column;
      align-items: flex-start !important;
   }

   .landing-status-pill,
   .landing-inline-badge {
      align-self: flex-start;
   }

   .landing-status-pill {
      margin-top: 0.6rem;
   }

   .landing-btn-primary,
   .landing-btn-secondary {
      width: 100%;
   }

   .landing-subscribe-input-group {
      flex-direction: column;
      align-items: stretch;
   }

   .landing-subscribe-btn {
      width: 100%;
   }

   .landing-contact-actions {
      align-items: stretch;
   }

   .landing-register-actions {
      gap: 0.85rem;
   }

   .landing-register-footer {
      margin-left: 0;
   }

   .landing-contact-feedback {
      padding: 0.85rem 0.95rem;
   }

   .landing-auth-section {
      padding: 1.5rem 0 4rem;
   }

   .landing-register-hero {
      padding-bottom: 5rem;
   }

   .landing-auth-card-header,
   .landing-auth-card-body {
      padding: 1.35rem;
   }

   .landing-auth-support-card {
      margin-top: 1.5rem;
   }

   .landing-mini-chip {
      width: 100%;
      justify-content: center;
      text-align: center;
   }

   .landing-platform-connector span {
      width: 4.5rem;
   }

   .landing-display,
   .landing-section-title {
      line-height: 1.02;
   }

   .landing-hero > .container-fluid {
      margin-top: 0;
   }

   .landing-footer-inner {
      padding-inline: 1.35rem;
   }

   .landing-footer-subscribe-form {
      width: 100%;
   }
}
