@font-face {
  font-family: TitleSans;
  src: url(/fonts/ABCDiatype_Regular-s.p.101_s0sdv3-ds.woff2) format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: TitleSans;
  src: url(/fonts/ABCDiatype_Medium-s.p.1zfhlow4l3tdq.woff2) format("woff2");
  font-display: swap;
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: TitleSans;
  src: url(/fonts/ABCDiatype_Bold-s.p.2g11yfly1dr71.woff2) format("woff2");
  font-display: swap;
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: TitleSerif;
  src: url(/fonts/MartinaPlantijn_Regular-s.p.09bvmw9c6lxyi.woff2)
    format("woff2");
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}
:root {
  --font-geist-sans: TitleSans, Arial, sans-serif;
  --font-instrument-serif: TitleSerif, Georgia, serif;
  --page: #f8f8f3;
  --ink: #333;
  --muted: #666;
  --rule: rgba(0, 0, 0, 0.1);
}
html {
  color-scheme: light;
}
body {
  background: var(--page) !important;
  color: var(--ink) !important;
  font-family: TitleSans, Arial, sans-serif;
  font-weight: 400;
}
.font-sans {
  font-family: TitleSans, Arial, sans-serif;
}
.font-serif {
  font-family: TitleSerif, Georgia, serif;
}
h1,
h2,
h3 {
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
}
p {
  color: var(--muted);
}
.container {
  width: min(calc(100% - 32px), 1040px) !important;
  max-width: 1040px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.bg-bg,
.bg-bg-elevated,
.bg-bg-inset {
  background: var(--page) !important;
}
.text-fg {
  color: var(--ink) !important;
}
.text-fg-muted,
.text-fg-subtle {
  color: var(--muted) !important;
}
.text-accent {
  color: #a76d3b !important;
}
.border-border {
  border-color: var(--rule) !important;
}
.bg-border {
  background: var(--rule) !important;
}
.radial-glow,
.bg-dot-grid {
  display: none;
}
.bg-fg {
  background: #191919 !important;
}
.text-bg {
  color: var(--page) !important;
}
.border-fg {
  border-color: #191919 !important;
}
.hover\:bg-accent:hover {
  background: #333 !important;
}
.hover\:border-accent:hover {
  border-color: #333 !important;
}
.hover\:text-accent:hover {
  color: #111 !important;
}
.hover\:bg-bg-inset:hover {
  background: #efefe9 !important;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--page);
  border: 0;
  transition: none;
}
.site-header.is-scrolled {
  background: rgba(248, 248, 243, 0.97);
  border: 0;
}
.header-inner {
  max-width: 1136px;
  margin: auto;
  padding: 0 32px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand-wordmark,
footer .brand-wordmark {
  font-family: TitleSerif, Georgia, serif;
  font-size: 23px;
  font-weight: 400;
  gap: 8px;
  color: #191919;
}
.brand-mark {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}
.brand-wordmark{display:inline-flex;align-items:center;white-space:nowrap}
.brand-intro{position:fixed;inset:0;z-index:1000;background:#f8f8f3;pointer-events:none}
.intro-wordmark{position:absolute;transform-origin:top left;visibility:hidden;will-change:transform,opacity}
.intro-arrow{transform-origin:32px 32px}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}}
.site-header nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 14px;
  font-weight: 500;
}
.site-header nav a:not(.nav-contact):not(.nav-careers) {
  position: relative;
}
.site-header nav a[aria-current="page"]:not(.nav-contact):after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: #333;
}
.nav-careers,
.nav-contact {
  border-radius: 999px;
  padding: 8px 12px;
  line-height: 1;
}
.nav-careers {
  background: rgba(0, 0, 0, 0.06);
}
.nav-contact {
  background: #191919;
  color: var(--page);
}
.site-header nav a:hover {
  opacity: 0.7;
}
.menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}
.menu-toggle span {
  height: 1px;
  width: 21px;
  background: #333;
}
.products-content {
  width: min(calc(100% - 32px), 1040px);
  margin: auto;
  padding: 64px 0 144px;
}
.products-content h1 {
  font:
    400 38px/1.05 TitleSerif,
    Georgia,
    serif;
  letter-spacing: -0.01em;
  color: #333;
}
.products-intro {
  margin-top: 32px;
}
.products-intro p {
  font:
    400 18px/1.45 TitleSans,
    Arial,
    sans-serif;
  color: #666;
  margin: 0 0 20px;
}
.products-intro p:last-child {
  margin: 0;
}
.product-list {
  margin-top: 64px;
}
.product-row {
  display: grid;
  grid-template-columns: 1.13fr 1fr;
  gap: 16px;
  border-top: 1px solid var(--rule);
  padding: 32px 0;
  align-items: start;
}
.product-heading {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
.product-marker {
  width: 6px;
  height: 16px;
  margin-top: 6px;
  flex-shrink: 0;
}
.product-row h3 {
  font:
    400 24px/1.15 TitleSerif,
    Georgia,
    serif;
  letter-spacing: -0.01em;
  color: #333;
  text-wrap: balance;
  min-width: 0;
  flex: 1;
}
.product-row p {
  font:
    400 14px/1.45 TitleSans,
    Arial,
    sans-serif;
  color: #666;
  margin: 0;
}
.site-footer {
  background: var(--page);
  border: 0;
}
.footer-inner {
  max-width: 1136px;
  padding: 64px 32px;
  margin: auto;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 40px;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  font-size: 14px;
}
.footer-links nav {
  min-width: 90px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-links h2 {
  font:
    500 14px/1.3 TitleSans,
    Arial,
    sans-serif;
  margin-bottom: 6px;
}
.footer-links a {
  font-size: 14px;
  color: #666;
  line-height: 1.35;
}
.footer-links a:hover {
  color: #111;
}
.footer-links > p {
  font-size: 12px;
  white-space: nowrap;
}
main:not(.products-page) > section:first-child .container {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
main:not(.products-page) h1 {
  font-size: clamp(32px, 4.5vw, 54px) !important;
  line-height: 1.12 !important;
  max-width: 850px;
}
main:not(.products-page) h2 {
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.15 !important;
}
main:not(.products-page) h3 {
  line-height: 1.2 !important;
}
main:not(.products-page) .font-mono {
  letter-spacing: 0.035em !important;
}
main:not(.products-page) p {
  line-height: 1.5;
}
main a.inline-flex,
main button[type="submit"],
main button[type="button"] {
  border-radius: 999px;
  border-width: 1px;
}
main input,
main textarea,
main select {
  background: #fff !important;
  color: #333 !important;
  border-color: #d6d6ce !important;
  border-radius: 3px;
}
main label .text-accent {
  color: #777 !important;
}
main .bg-fg {
  color: #f8f8f3 !important;
}
.eyebrow {
  color: #777;
}
.skip-link {
  background: #191919;
  color: #fff;
}
.form-status {
  background: #eeeee7;
  color: #333;
  border-color: #ccc;
}
.form-status[data-error="true"] {
  border-color: #a76d3b;
}
dialog {
  background: var(--page);
  color: #333;
  border-color: #ddd;
}
.apply-form input,
.apply-form textarea {
  background: white;
  color: #333;
  border-color: #ccc;
}
.action-primary {
  background: #191919;
  color: var(--page);
  border-color: #191919;
  border-radius: 999px;
}
.action-primary:hover {
  background: #333;
  border-color: #333;
}
.action-secondary {
  border-color: #ccc;
  border-radius: 999px;
}
.mobile-menu {
  background: var(--page);
  color: #333;
}
.mobile-menu nav a {
  font-family: TitleSerif, Georgia, serif;
  font-size: 32px;
}
.mobile-menu .nav-careers,
.mobile-menu .nav-contact {
  padding: 0;
  background: none;
  color: #333;
}
.mobile-menu .dialog-header {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .header-inner {
    padding: 0 16px;
  }
  .site-header nav {
    display: none;
  }
  .menu-toggle {
    display: flex;
  }
  .products-content {
    padding-top: 48px;
    padding-bottom: 96px;
  }
  .products-content h1 {
    font-size: 30px;
  }
  .product-row {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 28px 0;
  }
  .product-row p {
    padding: 0;
  }
  .footer-inner {
    padding: 48px 16px;
    flex-direction: column;
    gap: 40px;
  }
  .footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 28px 20px;
  }
  .footer-links > p {
    grid-column: 1/-1;
  }
  .site-footer nav {
    min-width: 0;
  }
  main:not(.products-page) > section:first-child .container {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .mobile-menu nav {
    display: flex;
  }
  .mobile-menu .brand-wordmark {
    font-size: 23px;
  }
}
/* MuJoCo portfolio: real rollouts with readable, evidence-based context. */
.robotics-film .robotics-result{margin-top:24px;padding:16px 20px;background:#eeeee7}
.robotics-showcase{padding:88px 0 96px;border-bottom:1px solid var(--rule)}
.robotics-intro{max-width:760px;margin-bottom:48px}.robotics-kicker{font:500 12px/1.5 TitleSans,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#777;margin:0 0 16px}.robotics-intro h2{font-family:TitleSerif,Georgia,serif;margin-bottom:24px}.robotics-intro>p:last-child{font-size:18px;line-height:1.55;max-width:700px}.robotics-case{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;padding:40px 0 48px;border-top:1px solid var(--rule);align-items:start}.robotics-film{margin:0;min-width:0}.robotics-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0b1720;border:1px solid var(--rule);object-fit:contain}.robotics-film figcaption{font-size:13px;line-height:1.6;color:#666;padding-top:14px}.robotics-copy h3{font:400 30px/1.15 TitleSerif,Georgia,serif;margin:0 0 18px}.robotics-copy>p{font-size:15px;line-height:1.6;margin:0 0 20px}.robotics-copy>.robotics-kicker{font-size:12px;margin-bottom:12px}.robotics-copy h4,.robotics-validation h4{font-size:14px;font-weight:500;margin:20px 0 8px;color:#333}.robotics-result{border-left:3px solid #a76d3b;padding:4px 0 4px 16px;margin-top:24px}.robotics-result>span{display:block;font-size:12px;color:#666}.robotics-result strong{font-size:17px;font-weight:500;display:block;margin:6px 0}.robotics-result strong span{padding:0 5px;color:#999}.robotics-result small{display:block;font-size:12px;line-height:1.5;color:#777}.robotics-learning{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;border-top:1px solid var(--rule);padding-top:40px;margin-top:8px}.robotics-learning h3{font:400 28px/1.2 TitleSerif,Georgia,serif}.robotics-learning>p{font-size:16px;line-height:1.6}.robotics-validation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}.robotics-validation h4{margin-top:0}.robotics-validation p{font-size:14px;line-height:1.6}.robotics-cta{display:inline-flex;gap:24px;align-items:center;background:#191919;color:#f8f8f3!important;padding:12px 20px;border-radius:999px;font-size:14px;margin-top:36px}.robotics-cta:hover{background:#333}.robotics-inline-link{display:inline-flex;gap:14px;margin-top:28px;padding-bottom:4px;border-bottom:1px solid #aaa;font-size:14px;color:#333}.robotics-inline-link:hover{border-color:#111}
@media(max-width:767px){.robotics-showcase{padding:56px 0}.robotics-intro{margin-bottom:32px}.robotics-case{grid-template-columns:1fr;gap:28px;padding:28px 0 36px}.robotics-copy h3{font-size:28px}.robotics-learning{grid-template-columns:1fr;gap:18px}.robotics-validation{grid-template-columns:1fr;gap:20px}.robotics-film figcaption{font-size:13px}.robotics-intro>p:last-child{font-size:17px}}
