@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');

:root {
  --bg: #f7f7fb !important;
  --bg2: #fdfdff !important;
  --surface: #fdfdff !important;
  --surface2: #ececf6 !important;
  --card: #fdfdff !important;
  --text: #111827 !important;
  --text-muted: #5b6473 !important;
  --muted: #5b6473 !important;
  --border: rgba(17, 24, 39, .15) !important;
  --indigo: #5b55e7 !important;
  --indigo-dark: #312e81 !important;
  --purple: #5b55e7 !important;
  --violet: #5b55e7 !important;
  --teal: #5b55e7 !important;
  --cyan: #5b55e7 !important;
  --pink: #5b55e7 !important;
  --red: #b84a55 !important;
  --green: #188567 !important;
  --amber: #9a6418 !important;
}

html {
  color-scheme: light;
  background: #f7f7fb;
}

body {
  min-height: 100vh;
  margin: 0;
  background-color: #f7f7fb !important;
  background-image:
    linear-gradient(rgba(49, 46, 129, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(49, 46, 129, .04) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
  color: #111827 !important;
  font-family: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

nav {
  height: 72px !important;
  border-bottom: 1px solid rgba(17, 24, 39, .14) !important;
  background: rgba(253, 253, 255, .96) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
}

.nav-inner {
  width: min(100%, 90rem) !important;
  max-width: none !important;
  padding-inline: clamp(1rem, 4vw, 4rem) !important;
}

.nav-logo {
  color: #111827 !important;
  font-size: 1rem !important;
  letter-spacing: -.025em;
}

.nav-logo-icon {
  border-radius: .55rem !important;
  background: #5b55e7 !important;
  box-shadow: none !important;
}

.nav-cta,
.btn-primary {
  border-radius: .48rem !important;
  background: #5b55e7 !important;
  color: #fff !important;
  box-shadow: none !important;
}

.nav-cta:hover,
.btn-primary:hover {
  background: #312e81 !important;
}

.hero,
article,
.section {
  width: min(100%, 54rem) !important;
  max-width: 54rem !important;
}

.hero {
  padding-top: 8rem !important;
  padding-bottom: clamp(2.5rem, 6vw, 4.5rem) !important;
}

.breadcrumb,
.hero-meta,
.hero-intro,
p,
li,
td,
.faq-a,
.chapter-desc,
.tip-text,
.stat-label,
.source-note,
.comp-desc,
.flow-detail,
.structure-subtitle,
.related-tag,
.bc-desc {
  color: #5b6473 !important;
}

.breadcrumb a,
a {
  color: #312e81;
}

.tag {
  border: 0 !important;
  border-bottom: 2px solid #5b55e7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #312e81 !important;
  padding: .25rem 0 !important;
  letter-spacing: .12em;
}

.hero-glow,
[class*="glow"] {
  display: none !important;
}

.hero-badge,
.section-tag {
  border: 0 !important;
  border-bottom: 2px solid #5b55e7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #312e81 !important;
  padding: .3rem 0 !important;
  letter-spacing: .12em;
}

h1,
h2,
h3,
h4,
strong,
.faq-q,
.chapter-title,
.structure-title,
.related-title,
.bc-title,
.hl-title,
.col-title,
.comp-name,
.q,
.step-content {
  color: #111827 !important;
}

h1 {
  max-width: 48rem;
  font-size: clamp(2.45rem, 6vw, 5rem) !important;
  font-weight: 850 !important;
  letter-spacing: -.055em !important;
  line-height: .98 !important;
  text-wrap: balance;
}

h2 {
  border-left: 0 !important;
  border-top: 1px solid rgba(17, 24, 39, .16);
  padding: 2.5rem 0 0 !important;
  font-size: clamp(1.6rem, 3vw, 2.15rem) !important;
  letter-spacing: -.035em;
}

article {
  padding-bottom: 7rem !important;
}

.callout,
.callout-warn,
.callout-amber,
.callout-green,
.callout-red,
.callout-teal,
.callout-indigo,
.callout-violet,
.cta-box,
.faq-item,
.chapter-card,
.stat-card,
.compare-card,
.vs-card,
.bio-card,
.highlight-box,
.grila-box,
.structure-card,
.related-card,
.toc,
.col-card,
.flow-step,
.bc-chapter {
  border: 1px solid rgba(17, 24, 39, .15) !important;
  border-radius: .65rem !important;
  background: rgba(253, 253, 255, .94) !important;
  background-image: none !important;
  box-shadow: 0 14px 34px rgba(49, 46, 129, .05) !important;
}

.source-card,
.flow-step,
.cap-card,
.feature-card,
.model-card,
.limit-card {
  border: 1px solid rgba(17, 24, 39, .15) !important;
  border-radius: .65rem !important;
  background: rgba(253, 253, 255, .94) !important;
  background-image: none !important;
  box-shadow: 0 14px 34px rgba(49, 46, 129, .05) !important;
}

.hero-stat-num {
  color: #312e81 !important;
  font-size: clamp(.9rem, 2vw, 1.2rem) !important;
  line-height: 1.1 !important;
}

.hero-stat-label,
.section > p,
.source-card p,
.flow-content p {
  color: #5b6473 !important;
}

.callout-title,
.stat-num,
.stat-number,
.chapter-num,
.chapter-weight,
.step-num,
.hl-label,
.toc-title,
.related-tag {
  color: #5b55e7 !important;
}

.chapter-weight,
.grila-badge {
  border-radius: .25rem !important;
  background: #ececf6 !important;
}

.table-wrap {
  border: 1px solid rgba(17, 24, 39, .15) !important;
  border-radius: .65rem !important;
  background: #fdfdff !important;
}

table,
thead,
tbody,
tr,
td,
th {
  border-color: rgba(17, 24, 39, .12) !important;
}

thead,
tr:nth-child(even) td {
  background: #ececf6 !important;
}

th {
  color: #312e81 !important;
}

.bar-track {
  background: #e3e4eb !important;
}

.bar-fill {
  background: #5b55e7 !important;
  box-shadow: none !important;
}

.grila-opt,
.component-list li,
.tip-list li {
  border-color: rgba(17, 24, 39, .12) !important;
  background: transparent !important;
}

.grila-opt.correct,
.correct {
  border-color: #188567 !important;
  background: rgba(24, 133, 103, .08) !important;
}

footer {
  border-top: 1px solid rgba(17, 24, 39, .15) !important;
  background: #ececf6 !important;
  color: #5b6473 !important;
}

footer a {
  color: #312e81 !important;
}

.static-v2-footer {
  padding: 0 !important;
  text-align: left !important;
  background: #ececf6 !important;
}

.static-v2-footer-inner {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 5rem) 1.5rem;
  display: grid;
  grid-template-columns: minmax(14rem, 1.2fr) minmax(0, 3fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.static-v2-footer-brand {
  max-width: 24rem;
}

.static-v2-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  color: #111827 !important;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.04em;
  text-decoration: none;
}

.static-v2-footer-logo img {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: .65rem;
}

.static-v2-footer-logo small {
  color: #5b55e7;
  font-size: .65rem;
  letter-spacing: .02em;
  vertical-align: top;
}

.static-v2-footer-brand > p {
  margin: 1.25rem 0 0;
  color: #5b6473 !important;
  font-size: .95rem;
  line-height: 1.65;
}

.static-v2-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  margin-top: 1.5rem;
}

.static-v2-footer-social a {
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.static-v2-footer-note {
  margin-top: 1.75rem !important;
  color: #312e81 !important;
  font-size: .68rem !important;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.static-v2-footer-directory {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;
}

.static-v2-footer-directory nav {
  position: static !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  flex-direction: column;
  gap: .72rem;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

.static-v2-footer-directory h2 {
  margin: 0 0 .35rem !important;
  color: #111827 !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.static-v2-footer-directory a {
  color: #5b6473 !important;
  font-size: .78rem;
  line-height: 1.35;
  text-decoration: none;
}

.static-v2-footer-directory a:hover,
.static-v2-footer-directory a:focus-visible,
.static-v2-footer-social a:hover,
.static-v2-footer-social a:focus-visible {
  color: #312e81 !important;
  text-decoration: underline;
  text-underline-offset: .22em;
}

.static-v2-footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(17, 24, 39, .15);
}

.static-v2-footer-bottom p {
  margin: 0 !important;
  color: #697183 !important;
  font-size: .72rem !important;
}

@media (max-width: 640px) {
  nav {
    height: 64px !important;
  }

  .hero {
    padding-top: 6.5rem !important;
  }

  h1 {
    font-size: clamp(2.15rem, 12vw, 3.2rem) !important;
  }

  .static-v2-footer-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 3rem 1.25rem 1.5rem;
  }

  .static-v2-footer-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1rem;
  }

  .static-v2-footer-directory nav:last-child {
    grid-column: 1 / -1;
  }

  .static-v2-footer-bottom {
    grid-column: auto;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: .01ms !important;
  }
}
