/**
 * Platform page — Astra / agenticlab theme (scoped; no upl_landing_astra.css)
 */

body.upl-platform-page {
  --astra-brand-green: #d8f382;
  --astra-brand-green-hover: #b8d690;
  --astra-forest: #122b23;
  --astra-forest-mid: #17352b;
  --astra-forest-light: #5b8c5d;
  --astra-hero-sky-top: #b1d0de;
  --astra-hero-sky-mid: #d6effb;
  --astra-ink: #171717;
  --astra-muted: #626262;
  --astra-border: #e5e7eb;
  --astra-mint: #eef6e8;
  --astra-surface: #f9fafb;
  --astra-btn-font: 'Figtree', system-ui, -apple-system, sans-serif;

  --upl-platform-accent: var(--astra-forest-light);
  --upl-platform-accent-deep: var(--astra-forest);
  --upl-platform-accent-mid: var(--astra-forest-mid);
  --upl-platform-ink: var(--astra-ink);
  --upl-platform-muted: var(--astra-muted);
  --upl-platform-surface: var(--astra-surface);
  --upl-platform-border: var(--astra-border);
  --upl-platform-lime: var(--astra-brand-green);

  font-family: var(--astra-btn-font) !important;
  background: #fff;
  color: var(--upl-platform-ink);
  -webkit-font-smoothing: antialiased;
}

body.upl-platform-page :where(
  h1, h2, h3, h4, h5, h6,
  p, span, a, li, label, small, strong, em, button
) {
  font-family: var(--astra-btn-font) !important;
}

/* ─── Topbar ─── */
body.upl-platform-page .upl-platform-topbar {
  border-bottom-color: var(--upl-platform-border) !important;
  box-shadow: 0 1px 0 rgba(18, 43, 35, 0.04);
}

body.upl-platform-page .upl-platform-topbar__link {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--upl-platform-ink) !important;
  transition: color 0.15s ease;
}

body.upl-platform-page .upl-platform-topbar__link:hover {
  color: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-platform-topbar__link--active {
  color: var(--upl-platform-accent-deep) !important;
  font-weight: 600 !important;
}

body.upl-platform-page .upl-platform-topbar .upl-lang__btn {
  font-family: var(--astra-btn-font) !important;
  border-radius: 999px;
  border-color: var(--upl-platform-border);
  font-size: 13px;
}

/* ─── Hero ─── */
body.upl-platform-page #platform > .upl-feat-hero {
  padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 48px) clamp(40px, 5vw, 64px);
  background: linear-gradient(
    180deg,
    var(--astra-hero-sky-top) 0%,
    var(--astra-hero-sky-mid) 28%,
    #fff 78%
  ) !important;
}

body.upl-platform-page .upl-feat-hero::before {
  background: radial-gradient(circle, rgba(214, 239, 251, 0.55) 0%, transparent 68%) !important;
}

body.upl-platform-page .upl-feat-hero__bg::after {
  background: linear-gradient(
    108deg,
    rgba(255, 255, 255, 0.92) 0%,
    rgba(255, 255, 255, 0.78) 42%,
    rgba(214, 239, 251, 0.45) 68%,
    rgba(255, 255, 255, 0.2) 100%
  ) !important;
}

body.upl-platform-page .upl-platform-hero {
  color: var(--upl-platform-ink);
}

body.upl-platform-page .upl-platform-hero__goodbye-item {
  border-color: rgba(91, 140, 93, 0.16) !important;
  box-shadow: 0 4px 18px rgba(18, 43, 35, 0.06) !important;
  color: var(--upl-platform-muted) !important;
}

body.upl-platform-page .upl-platform-hero__goodbye-item strong {
  color: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-platform-hero__headline::before {
  background: radial-gradient(circle, rgba(214, 239, 251, 0.9) 0%, rgba(214, 239, 251, 0.35) 70%) !important;
}

body.upl-platform-page .upl-platform-hero__eyebrow {
  color: var(--upl-platform-accent) !important;
  border-color: rgba(91, 140, 93, 0.2) !important;
  box-shadow: 0 4px 16px rgba(18, 43, 35, 0.06) !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
}

body.upl-platform-page .upl-platform-hero__headline h1 {
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--upl-platform-ink) !important;
}

body.upl-platform-page .upl-platform-hero__headline .upl-accent {
  font-weight: 700 !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  color: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-platform-hero__tagline {
  color: var(--upl-platform-muted) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: var(--upl-platform-border) !important;
}

body.upl-platform-page .upl-platform-hero__headline::after {
  background: linear-gradient(
    90deg,
    transparent,
    var(--upl-platform-accent) 20%,
    var(--upl-platform-lime) 50%,
    var(--upl-platform-accent) 80%,
    transparent
  ) !important;
}

body.upl-platform-page .upl-platform-hero__desc {
  background: rgba(255, 255, 255, 0.82) !important;
  border-color: var(--upl-platform-border) !important;
  box-shadow: 0 4px 20px rgba(18, 43, 35, 0.05) !important;
  color: var(--upl-platform-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.upl-platform-page .upl-platform-hero__desc::before {
  background: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-platform-hero__desc-lead {
  color: var(--upl-platform-ink) !important;
  font-size: 15px !important;
}

body.upl-platform-page .upl-platform-hero__desc-em {
  color: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-platform-hero__desc-pill {
  color: var(--upl-platform-accent-deep) !important;
  background: var(--astra-mint) !important;
  border-color: rgba(91, 140, 93, 0.22) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  padding: 5px 12px !important;
}

body.upl-platform-page .upl-platform-hero__desc-foot {
  color: var(--upl-platform-muted) !important;
}

body.upl-platform-page .upl-platform-hero__steps {
  background: var(--upl-platform-accent-deep) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 20px 56px rgba(18, 43, 35, 0.18) !important;
  border-radius: 24px !important;
}

body.upl-platform-page .upl-platform-hero__step--1 {
  background: linear-gradient(135deg, #0f221c 0%, #17352b 100%) !important;
}
body.upl-platform-page .upl-platform-hero__step--2 {
  background: linear-gradient(135deg, #122b23 0%, #1d4034 100%) !important;
}
body.upl-platform-page .upl-platform-hero__step--3 {
  background: linear-gradient(135deg, #17352b 0%, #2a5244 100%) !important;
}
body.upl-platform-page .upl-platform-hero__step--4 {
  background: linear-gradient(135deg, #2a5244 0%, var(--upl-platform-accent) 100%) !important;
}

/* ─── Stack intro + cards ─── */
body.upl-platform-page .upl-stack-intro {
  padding: clamp(40px, 5vw, 64px) clamp(20px, 4vw, 48px) clamp(24px, 3.5vw, 40px);
  background: var(--upl-platform-surface) !important;
}

body.upl-platform-page .upl-stack-intro h2 {
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--upl-platform-ink) !important;
}

body.upl-platform-page .upl-stack-intro p {
  color: var(--upl-platform-muted) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body.upl-platform-page .upl-stack {
  --stack-sticky-top: calc(56px + 12px);
  background: #fff !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
}

body.upl-platform-page .upl-stack__card-inner {
  border: 1px solid var(--upl-platform-border);
  border-radius: 24px !important;
  box-shadow: 0 12px 40px rgba(18, 43, 35, 0.08) !important;
  background: #fff !important;
}

body.upl-platform-page .upl-stack__bubble {
  background: rgba(214, 239, 251, 0.75) !important;
}

body.upl-platform-page .upl-stack__headline {
  color: var(--upl-platform-ink) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

body.upl-platform-page .upl-stack__headline strong {
  font-weight: 700 !important;
  color: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-stack__connector {
  background: var(--upl-platform-accent) !important;
}

body.upl-platform-page .upl-stack__connector-dot {
  border-color: var(--upl-platform-accent) !important;
  box-shadow: 0 0 0 2px #fff !important;
}

body.upl-platform-page .upl-stack__figure {
  border-radius: 20px !important;
  box-shadow: 0 10px 32px rgba(18, 43, 35, 0.12) !important;
}

body.upl-platform-page .upl-stack__statbar {
  background: linear-gradient(135deg, var(--upl-platform-accent-mid) 0%, var(--upl-platform-accent-deep) 100%) !important;
  border-radius: 16px !important;
  margin-bottom: clamp(14px, 2vw, 18px) !important;
}

body.upl-platform-page .upl-stack__stat-num {
  color: var(--upl-platform-lime) !important;
}

/* ─── Astra footer (platform only) ─── */
body.upl-platform-page .upl-astra-footer {
  --astra-footer-bg: #171717;
  --astra-footer-border: #262626;
  --astra-footer-muted: #a3a3a3;
  background: var(--astra-footer-bg);
  color: #fff;
  font-family: var(--astra-btn-font);
  padding: 48px 16px 40px;
}

@media (min-width: 768px) {
  body.upl-platform-page .upl-astra-footer {
    padding: 48px 40px 40px;
  }
}

@media (min-width: 1024px) {
  body.upl-platform-page .upl-astra-footer {
    padding: 48px clamp(40px, 8vw, 160px) 40px;
  }
}

body.upl-platform-page .upl-astra-footer__inner {
  max-width: 120rem;
  margin: 0 auto;
}

body.upl-platform-page .upl-astra-footer__top {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 40px;
}

@media (min-width: 1024px) {
  body.upl-platform-page .upl-astra-footer__top {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 48px;
    margin-bottom: 60px;
  }
}

body.upl-platform-page .upl-astra-footer__cols {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 32px;
  flex: 1 1 auto;
  justify-content: space-between;
}

@media (min-width: 768px) {
  body.upl-platform-page .upl-astra-footer__cols {
    flex-wrap: nowrap;
    gap: 48px;
    justify-content: flex-start;
  }
}

@media (min-width: 1024px) {
  body.upl-platform-page .upl-astra-footer__cols {
    gap: 7.5rem;
  }
}

body.upl-platform-page .upl-astra-footer__col {
  min-width: 120px;
}

body.upl-platform-page .upl-astra-footer__heading {
  margin: 0 0 28px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
}

body.upl-platform-page .upl-astra-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body.upl-platform-page .upl-astra-footer__nav a {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--astra-footer-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}

body.upl-platform-page .upl-astra-footer__nav a:hover {
  color: #fff;
  text-decoration: none;
}

body.upl-platform-page .upl-astra-footer__newsletter {
  width: 100%;
  max-width: 100%;
}

@media (min-width: 1024px) {
  body.upl-platform-page .upl-astra-footer__newsletter {
    flex: 0 0 21.875rem;
    max-width: 21.875rem;
  }
}

body.upl-platform-page .upl-astra-footer__newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body.upl-platform-page .upl-astra-footer__newsletter-input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 20px;
  border: none;
  border-radius: 9999px;
  background: var(--astra-footer-border);
  color: #fff;
  font-family: var(--astra-btn-font);
  font-size: 14px;
  outline: none;
}

body.upl-platform-page .upl-astra-footer__newsletter-input::placeholder {
  color: var(--astra-footer-muted);
  opacity: 1;
}

body.upl-platform-page .upl-astra-footer__newsletter-input:focus {
  box-shadow: 0 0 0 2px var(--astra-brand-green);
}

body.upl-platform-page .upl-astra-footer__newsletter-btn {
  align-self: flex-start;
  min-width: 8rem;
  padding: 12px 16px;
  border: none;
  border-radius: 9999px;
  background: var(--astra-brand-green);
  color: var(--astra-ink);
  font-family: var(--astra-btn-font);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

body.upl-platform-page .upl-astra-footer__rule {
  height: 0;
  border: none;
  border-top: 2px solid var(--astra-footer-border);
  margin: 0 0 40px;
}

body.upl-platform-page .upl-astra-footer__help {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin-bottom: 40px;
  text-align: center;
}

@media (min-width: 768px) {
  body.upl-platform-page .upl-astra-footer__help {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
}

body.upl-platform-page .upl-astra-footer__help-text {
  margin: 0;
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 600;
  line-height: 1.15;
  color: #fff;
}

body.upl-platform-page .upl-astra-footer__help-link {
  color: var(--astra-brand-green) !important;
  font-style: italic;
  text-decoration: underline;
}

body.upl-platform-page .upl-astra-footer__social {
  display: flex;
  align-items: center;
  gap: 16px;
}

body.upl-platform-page .upl-astra-footer__social a {
  display: inline-flex;
  color: #fff;
}

body.upl-platform-page .upl-astra-footer__social a:hover {
  color: var(--astra-brand-green);
}

body.upl-platform-page .upl-astra-footer__social svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

body.upl-platform-page .upl-astra-footer__wordmark {
  margin: 40px 0 56px;
  font-size: clamp(4rem, 17vw, 17rem);
  font-weight: 700;
  line-height: 0.8;
  text-align: center;
  color: #fff;
  user-select: none;
  pointer-events: none;
}

body.upl-platform-page .upl-astra-footer__bottom {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 24px;
  text-align: center;
}

@media (min-width: 768px) {
  body.upl-platform-page .upl-astra-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
}

body.upl-platform-page .upl-astra-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

@media (min-width: 768px) {
  body.upl-platform-page .upl-astra-footer__legal {
    justify-content: flex-start;
  }
}

body.upl-platform-page .upl-astra-footer__legal a {
  font-size: 12px;
  color: #fff;
  text-decoration: none;
}

body.upl-platform-page .upl-astra-footer__legal-sep {
  font-size: 12px;
  color: var(--astra-footer-muted);
}

body.upl-platform-page .upl-astra-footer__copy {
  margin: 0;
  font-size: 12px;
  color: #fff;
}

body.upl-platform-page footer.footer-2 {
  display: none !important;
}
