/* Shared Foam page foundations. See design-rules.foam.ai/brand.json and /patterns.json. */
:root {
  --ink: #1A0033;
  --ink-2: #370066;
  --paper: #FFFFFF;
  --white: #FFFFFF;
  --acid: #E8EEF0;
  --orange: #60757C;
  --mint: #E8EEF0;
  --blue: #5F00B2;
  --violet-mid: #5F00B2;
  --mist: #E8EEF0;
  --purple: #5F00B2;
  --electric-purple: #8800FF;
  --yellow: #C8D6DA;
  --mineral-100: #E8EEF0;
  --mineral-200: #C8D6DA;
  --slate: #26363B;
  --line: #DEDEDE;
  --muted: #333333;
}
html { scroll-padding-top: 90px; }
body { background: #FFFFFF; color: #000000; font-family: "DM Sans", Arial, sans-serif; font-weight: 500; }
button { font-family: inherit; cursor: pointer; }
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 50; padding: 8px 14px; background: #FFFFFF; color: #000000; }
.skip-link:focus { top: 14px; }
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid #DEDEDE; background: #FFFFFF; }
.site-header .nav { width: min(1376px, calc(100% - 64px)); height: 69px; margin: 0 auto; padding: 0; border: 0; border-radius: 0; background: transparent; gap: 26px; }
.site-header .brand { flex: none; display: inline-flex; align-items: center; line-height: 0; }
.site-header .brand img { display: block; width: 82px; height: auto; }
.site-header .nav-links { gap: 28px; margin-left: auto; color: #000000; font-size: 14px; font-weight: 500; letter-spacing: .01em; }
.site-header .nav-links a { text-decoration: none; }
.site-header .nav-links a:hover, .site-footer nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.nav-toggle { display: none; padding: 5px 0; border: 0; background: transparent; color: #000000; font-size: 14px; font-weight: 500; }
.button, .site-header .button {
  min-height: 36px; padding: 7px 13px; border: 1px solid #1A0033; border-radius: 30px;
  background: #1A0033; color: #FFFFFF; font: 700 14px/1.2 "DM Sans", Arial, sans-serif;
  text-decoration: none; white-space: nowrap; transform: none;
}
.button:hover { opacity: .88; transform: none; }
.button.ghost, .site-header .button.ghost, .site-header .nav .button.ghost:last-child { background: #FFFFFF; color: #1A0033; }
.hero { padding: 105px 0 115px; background: #FFFFFF; }
.hero::before { border-color: #5F00B240; }
.hero .eyebrow { font-family: "DM Sans", Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .015em; }
.hero .eyebrow::before { background: #5F00B2; }
.hero h1 { font-weight: 500; line-height: .98; }
.hero h1 .strike { color: #000000; }
.hero h1 .strike::before { border-width: 2px; border-color: #5F00B2; }
.hero h1 .strike::after { border-width: 1px; border-color: #5F00B2; opacity: .75; }
.hero-copy { color: #000000; }
.hero-copy strong { font-weight: 600; }
.logo-band { background: #FFFFFF; }
.logo-band-fixed { border-color: #DEDEDE; }
.proof, .problem, .otel, .lineage, .funding { background: #FFFFFF; color: #000000; }
.proof h2, .problem h2, .otel h2, .lineage h2 { font-weight: 500; }
.kicker, .proof-head a { color: #370066; font-family: "DM Sans", Arial, sans-serif; font-weight: 500; }
.finding-label, .benchmark-links, .ab-time, .ab-question, .picture-label, .evidence-kind, .ab-foot,
.manifesto-label, .step-number, .stage-kicker, .install-steps-label, .repo-picker-label, .pr-state,
.otel-card .from, .lineage-number small { font-family: "DM Sans", Arial, sans-serif; }
.research-card, .benchmark-window, .ab-panel, .otel-card, .no-card, .principle, .install-panel { border-radius: 16px; }
.research-card { color: #000000; }
.research-card.tool-study { background: #FFFFFF; color: #000000; }
.benchmark-side { background: #E8EEF0; color: #000000; }
.tool-study > p, .benchmark-side p { color: #000000; }
.research-card > p, .section-head p, .otel-card p, .lineage p, .research-opinion span { color: #333333; }
.finding-label span:first-child, .tool-study .finding-label span:first-child { color: #000000; }
.benchmark-fill { background: #1A0033; }
.benchmark-row:nth-child(2) .benchmark-fill { background: #8B8490; }
.benchmark-row:nth-child(3) .benchmark-fill { background: #5F00B2; }
.research-opinion { border-radius: 16px; background: #FAFAFA; }
.manifesto, .foam, .close { background: #1A0033; color: #FFFFFF; }
.manifesto p, .foam-intro p, .principle p, .close p, .not-rag-head p, .no-card p { color: #FFFFFF; }
.manifesto-label, .foam-intro .kicker { color: #D9D6DC; }
.hero .eyebrow::before { background: #5F00B2; }
.problem::before { border-color: #5F00B2; }
.otel-orbit::after { border-color: rgba(95, 0, 178, 0.48); }
.ab-panel.with { background: #1A0033; color: #FFFFFF; }
.with .agent-answer, .yes-foam, .mcp-ready { background: #E8EEF0; color: #000000; }
.mcp-ready { border-color: #CCCCCC; }
.service:nth-child(3n)::before { border-color: #8B8490; }
.with .agent-answer::before { color: #000000; }
.with .picture-mosaic-wrap::before { border-color: #FFFFFF; }
.with .picture-mosaic-wrap::after { border-color: #D9D6DC; }
.result-band { background: #5F00B2; color: #FFFFFF; }
.security-panel { border-radius: 16px; background: #FAFAFA; color: #000000; }
.security-panel .kicker { color: #5C5361; }
.principle { background: #370066; }
.not-rag { background: #370066; color: #FFFFFF; }
.no-card { background: #1A0033; }
.otel-card { background: #FFFFFF; }
.otel-compatible { background: #1A0033; }
.funding .wrap { border-color: #1A0033; border-radius: 16px; background: #1A0033; color: #FFFFFF; font-weight: 500; }
.funding strong { color: #FFFFFF; }
.lineage-number::before { border-color: #5F00B2; }
.lineage-number::after { border-color: #8B8490; }
.close .button { border-color: #FFFFFF; background: #FFFFFF; color: #1A0033; }
.site-footer { position: relative; z-index: 1; padding: 32px 0 24px; border-top: 1px solid #DEDEDE; background: #F5F5F5; color: #1A0033; box-shadow: 0 -14px 36px rgba(26,0,51,.07); }
.site-footer.is-light { border-top-color: #DEDEDE; background: #F5F5F5; color: #1A0033; box-shadow: 0 -14px 36px rgba(26,0,51,.07); }
body.landing-dark .site-footer { border-top-color: #FFFFFF26; background: #090111; color: #FFFFFF; box-shadow: 0 -14px 36px rgba(9,1,17,.24); }
.site-footer .footer-inner { width: min(1376px, calc(100% - 64px)); min-height: 151px; margin: 0 auto; padding: 0; }
.site-footer .footer-grid { display: grid; grid-template-columns: 2fr repeat(3,1fr); align-items: start; gap: 32px; }
.site-footer img { display: block; width: 62px; height: auto; }
.site-footer h2 { margin: 0 0 12px; color: #6F6874; font-size: 11px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }
.site-footer a { display: block; margin: 10px 0; font-size: 13px; font-weight: 500; text-decoration: none; }
.site-footer small { display: block; margin-top: 14px; color: #595959; font-size: 12px; font-weight: 500; line-height: 1.55; }
body.landing-dark .site-footer h2 { color: #FFFFFF66; }
body.landing-dark .site-footer small { color: #FFFFFF66; }
body.landing-dark .site-footer a { color: #FFFFFF80; }
body.landing-dark .site-footer a:first-child { color: inherit; }
body.landing-dark .site-footer img { opacity: .9; }
/* The opinion article shares the same chrome and foundation. */
.hero.wrap { width: 100%; margin: 0; padding: 98px 0 108px; border-radius: 0; background: #1A0033; color: #FFFFFF; }
.hero.wrap .hero-inner { width: min(calc(100% - 40px), 1180px); margin-inline: auto; }
.hero.wrap h1 { color: #FFFFFF; font-weight: 500; }
.hero.wrap .eyebrow { color: #D9D6DC; }
.thesis-label { color: #370066; font-family: "DM Sans", Arial, sans-serif; font-weight: 500; }
article:not(.research-card):not(.principle):not(.no-card):not(.otel-card):not(.ab-panel):not(.install-stage):not(.radius-card) p { color: #000000; }
article:not(.research-card):not(.principle):not(.no-card):not(.otel-card):not(.ab-panel):not(.install-stage):not(.radius-card) strong { color: #000000; }
.pull { background: #E8EEF0; color: #000000; border-radius: 16px; }
.pull::after { opacity: 1; }
.failure, .requirement { border-radius: 16px; }
.evidence { border-radius: 16px; background: #FAFAFA; }
/* Keep embedded product demos inside the active landing-page palette. */
.provider-option:nth-child(2) .provider-logo,
.provider-option:nth-child(3) .provider-logo { background: #1A0033; }
.pr-icon, .security-point code { background: #F5F5F5; color: #5F00B2; }
/* The main landing page uses Foam's dark mode. White evidence surfaces stay
   intentionally light while electric purple is reserved for tiny sparks. */
body.landing-dark { background: #1A0033; color: #FFFFFF; }
body.landing-dark .skip-link { background: #FFFFFF; color: #1A0033; }
body.landing-dark .site-header { border-bottom-color: #FFFFFF33; background: #1A0033; }
body.landing-dark .site-header .nav-links,
body.landing-dark .nav-toggle { color: #FFFFFF; }
body.landing-dark .button,
body.landing-dark .site-header .button { border-color: #FFFFFF; background: #FFFFFF; color: #1A0033; }
body.landing-dark .button.ghost,
body.landing-dark .site-header .button.ghost,
body.landing-dark .site-header .nav .button.ghost:last-child { border-color: #FFFFFF; background: transparent; color: #FFFFFF; }
body.landing-dark .hero { background: #1A0033; color: #FFFFFF; }
body.landing-dark .hero h1 .strike,
body.landing-dark .hero-copy { color: #FFFFFF; }
body.landing-dark .hero .eyebrow { color: #D9D6DC; }
body.landing-dark .hero::before { border-color: #8800FF66; }
body.landing-dark .hero .eyebrow::before { background: #8800FF; }
body.landing-dark .proof,
body.landing-dark .problem,
body.landing-dark .otel,
body.landing-dark .lineage,
body.landing-dark .funding { background: #1A0033; color: #FFFFFF; }
body.landing-dark .proof-shell { border-top-color: #FFFFFF33; }
body.landing-dark .proof h2,
body.landing-dark .problem h2,
body.landing-dark .otel h2,
body.landing-dark .lineage h2 { color: #FFFFFF; }
body.landing-dark .kicker,
body.landing-dark .proof-head a { color: #D9D6DC; }
body.landing-dark .section-head p,
body.landing-dark .otel-head p,
body.landing-dark .lineage p { color: #D9D6DC; }
body.landing-dark .problem::before { border-color: #5F00B2; }
body.landing-dark .otel-orbit::before { border-color: #FFFFFF40; }
body.landing-dark .otel-orbit::after { border-color: #8800FF61; }
body.landing-dark .funding .wrap { border-color: #FFFFFF33; background: #370066; color: #FFFFFF; }
body.landing-dark .funding strong { color: #FFFFFF; }
body.landing-dark .close .button { border-color: #FFFFFF; background: #FFFFFF; color: #1A0033; }
/* Color rhythm: large, full-bleed fields create distinction without turning
   individual cards into a multicolor system. Purple 500 carries primary
   emphasis; Electric Purple appears only in tiny lines and indicators. */
body.landing-dark .proof { background: #F5F5F5; color: #000000; }
body.landing-dark .proof h2 { color: #000000; }
body.landing-dark .proof .kicker,
body.landing-dark .proof .proof-head a { color: #370066; }
body.landing-dark .proof .section-head p { color: #333333; }
body.landing-dark .manifesto { background: #26363B; }
body.landing-dark .problem { background: #151416; }
body.landing-dark .foam { background: #1A0033; }
body.landing-dark .otel { background: #F5F5F5; color: #000000; }
body.landing-dark .otel h2 { color: #000000; }
body.landing-dark .otel .kicker { color: #370066; }
body.landing-dark .otel .otel-head p { color: #333333; }
body.landing-dark .not-rag { background: #26363B; }
body.landing-dark .lineage { background: #151416; }
body.landing-dark .funding { background: #C8D6DA; }
body.landing-dark .funding .wrap { border-color: #A8BBC0; background: #FFFFFF; color: #000000; }
body.landing-dark .funding strong { color: #000000; }
body.landing-dark .close { background: #1A0033; }
@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .site-header .nav { width: calc(100% - 34px); height: 64px; gap: 12px; }
  .site-header .brand img { width: 72px; }
  .site-header .nav-cta { margin-left: auto; min-height: 36px; padding: 7px 12px; font-size: 13px; }
  .site-header .nav-links { display: none; }
  .site-header .nav-links.is-open { position: absolute; top: 64px; left: 0; right: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 17px; border-bottom: 1px solid #DEDEDE; background: #FFFFFF; }
  body.landing-dark .site-header .nav-links.is-open { border-bottom-color: #FFFFFF33; background: #1A0033; color: #FFFFFF; }
  .site-header .nav-links.is-open a { display: block; padding: 12px 0; }
  .nav-toggle { display: inline-flex; }
  .hero { padding: 75px 0 82px; }
  .hero h1 { font-size: clamp(43px, 12vw, 65px); }
  .site-footer .footer-inner { width: calc(100% - 34px); }
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .hero.wrap { padding: 76px 0 83px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .install-stage.is-active .repo-choice.demo-choice,
  .install-stage.is-active .repo-choice.demo-choice .repo-checkbox,
  .install-stage.is-active .repo-choice.demo-choice .repo-checkbox::after,
  .install-stage.is-active .gh-pr-row,
  .install-stage.is-active .pr-detail { animation: none; opacity: 1; transform: none; }
}
