/* BrightlyAI refinements: typography, spacing, polish */

:root {
  --bly-heading: "Sora", "Inter", sans-serif;
  --bly-body: "Inter", sans-serif;
  --bly-ink: #16121f;
  --bly-slate: #5b5566;
  --bly-grad: linear-gradient(90deg, #b16cea 0%, #ff5e69 45.83%, #ffa84b 100%);
}

/* ---------- base type ---------- */
body {
  font-family: var(--bly-body);
  color: var(--bly-slate);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bly-heading);
  color: var(--bly-ink);
  letter-spacing: -0.022em;
  text-transform: none;
}

p {
  text-transform: none !important;
  line-height: 1.75;
  color: var(--bly-slate);
}

/* ---------- headings ---------- */
.mariox__hero-title {
  font-family: var(--bly-heading);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.12;
}
.mariox__hero-title span {
  font-weight: 700;
}
.mariox__hero-dis {
  font-size: 18px;
  color: var(--bly-slate);
}

.mariox__rating-title,
.mariox__service-title,
.mariox__savior-title,
.mariox__savior-title2,
.mariox__notification-title,
.mariox__team-title {
  font-family: var(--bly-heading);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
  text-transform: none;
}

.mariox__team-title {
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.35;
}

/* eyebrow labels */
.mariox__savior-subtitle {
  font-family: var(--bly-body);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* ---------- nav & buttons ---------- */
.mariox__header-menu > li > a {
  font-family: var(--bly-body);
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
}

.primary-btn, .secondary-btn, .plan-btn {
  font-family: var(--bly-body);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
}
.secondary-btn {
  box-shadow: 0 14px 34px -14px rgba(255, 94, 105, 0.55);
}

/* ---------- cards & details ---------- */
.mariox__service-sitem h3 a {
  font-family: var(--bly-heading);
  font-weight: 600;
  letter-spacing: -0.015em;
  text-transform: none;
}
.mariox__service-sitem p,
.mariox__savior-dis,
.mariox__plan-dis,
.mariox__rating-item p {
  text-transform: none !important;
}
.mariox__savior-listing li p {
  text-transform: none !important;
  line-height: 1.7;
}
.mariox__savior-listing li p span {
  font-family: var(--bly-heading);
  font-weight: 600;
  color: var(--bly-ink);
}
.mariox__team-name {
  font-family: var(--bly-body);
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* ---------- wordmark logo ---------- */
.bly-logo {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--bly-heading);
  font-weight: 700;
  font-size: 23px;
  letter-spacing: -0.03em;
  color: var(--bly-ink);
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.bly-logo:hover { color: var(--bly-ink); }
.bly-logo svg { display: block; }
.bly-logo .bly-ai {
  background: var(--bly-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: normal;
}
.bly-logo--light { color: #ffffff; }
.bly-logo--light:hover { color: #ffffff; }

/* ---------- footer ---------- */
.mariox__footer-item h4 {
  font-family: var(--bly-body);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bly-ink);
}
.mariox__footer-list li a {
  text-transform: none;
  font-weight: 450;
}
.marioxx__footer-about .bly-logo { margin-bottom: 18px; }
.marioxx__footer-about p { font-size: 14px; }

/* ---------- service cards: vertically centered content ---------- */
.mariox__service-sitem {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mariox__service-sitem img {
  align-self: flex-start;
}
.mariox__service-sitem p {
  margin-bottom: 0;
}
