/* SarumanOS shares the site shell and editorial page rhythm with Engineering. */
.software-detail-body nav:where(:not(#site-nav)) { display: flex; position: static; inset: auto; padding: 0; margin-left: 0; flex-direction: row; align-items: center; background: transparent; border: 0; }
.software-detail-body a:focus-visible, .software-detail-body button:focus-visible, .software-detail-body [tabindex]:focus-visible { outline: 2px solid #e09699; outline-offset: 4px; }
.os-container { width: min(100%, 1200px); margin-inline: auto; padding-inline: 24px; }
.os-skip { position: fixed; top: -80px; left: 20px; z-index: 100; padding: 16px; background: #f1eee8; color: #171717; }
.os-skip:focus { top: 12px; }
.os-workspace { background: #f1eee8; color: #171717; padding-top: 30px; }
.os-breadcrumb { display: flex; align-items: center; gap: 12px; margin-bottom: 38px; color: #78726a; font: 400 9px/1.6 var(--mono); }
.os-breadcrumb a { display: inline-flex; align-items: center; min-height: 32px; }
.os-breadcrumb a:hover { color: #8e1118; }
.os-workspace .os-hero { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: 66px; padding-bottom: 44px; }
.os-workspace .os-hero > * { min-width: 0; }
.os-workspace .eyebrow { color: #8e1118; font-size: 9px; line-height: 1.7; }
.os-workspace .os-hero h1 { max-width: 14ch; font-size: clamp(44px, 5vw, 66px); line-height: 1.06; margin-bottom: 24px; }
.os-workspace .os-lead { color: #68615a; font-size: 15px; line-height: 1.8; margin-bottom: 26px; }
.os-workspace .platform-labels { flex-wrap: wrap; margin-top: 0; }
.os-workspace .platform-labels span { color: #68615a; border-color: #cfc9c1; }
.os-hero-actions { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; }
.os-workspace .button-primary { background: #171717; border-color: #171717; color: #f1eee8; font-size: 11px; }
.os-workspace .button-primary:hover { background: #8e1118; border-color: #8e1118; }
.os-hero-demo-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: #8e1118; font-size: 11px; }
.os-workspace figure { margin: 0; background: #171717; border: 1px solid #cec8bf; overflow: hidden; }
.os-workspace figure video, .os-workspace figure img { display: block; width: 100%; height: auto; border: 0; object-fit: contain; background: #111b20; }
.os-workspace figcaption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; padding: 16px 20px; color: #bdb8b1; font: 400 9px/1.7 var(--mono); }
.os-workspace figcaption a { color: #8e1118; display: inline-flex; align-items: center; gap: 6px; }
.os-workspace figcaption a:hover { color: #dc999c; }
.os-workspace-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; min-height: 65px; padding-block: 14px; border-top: 1px solid #cfc9c1; color: #78726a; font: 400 8px/1.8 var(--mono); }
.os-workspace-footer a { display: inline-flex; align-items: center; gap: 22px; min-height: 32px; color: #8e1118; font-size: 10px; }
.os-section-nav { position: sticky; top: 82px; z-index: 10; background: #20201f; border-bottom: 1px solid #383735; }
.os-section-nav nav { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 36px; min-height: 72px; padding-block: 14px; }
.os-section-nav a { display: flex; align-items: center; min-height: 44px; color: #bdb8b1; font: 500 10px/1.5 var(--mono); letter-spacing: .02em; text-transform: none; }
.os-section-nav a:hover, .os-section-nav a[aria-current="location"] { color: #f1eee8; }
.os-section-nav a[aria-current="location"] { box-shadow: inset 0 -1px #dc999c; }
.software-detail-page { padding-top: 0; }
.software-detail-page > .os-section:first-child { border-top: 0; }
.software-detail-page .os-section, #ai-pilot-demo, #simulation-demo { scroll-margin-top: 180px; }
.software-detail-page .os-heading h2 { max-width: 23ch; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.1; }
.software-detail-page .os-workflow article { min-width: 0; }
.os-simulation-start { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; margin-top: 36px; padding: 28px; border: 1px solid #41403d; background: #20201f; }
.os-simulation-start > * { min-width: 0; }
.os-simulation-start h3 { font-size: 24px; font-weight: 400; line-height: 1.2; }
.os-simulation-start p { color: #bdb8b1; font-size: 14px; line-height: 1.75; }
.os-simulation-start ol { list-style: none; margin: 0; padding: 0; }
.os-simulation-start li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 16px; padding-block: 16px; border-top: 1px solid #41403d; }
.os-simulation-start li:first-child { padding-top: 0; border-top: 0; }
.os-simulation-start li > span { color: #d78b90; font: 500 11px/1.6 var(--mono); }
.os-simulation-start strong { font-size: 15px; font-weight: 500; line-height: 1.5; }
.os-simulation-start li p { margin: 6px 0 0; }
.os-simulation-footer { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 28px; margin-top: 20px; }
.os-simulation-footer p { max-width: 64ch; margin: 0; color: #bdb8b1; font-size: 12px; line-height: 1.75; }
.os-simulation-footer a { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; color: #d78b90; font-size: 13px; }
@media (max-width: 850px) {
  .os-simulation-start { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .os-workspace .os-hero { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .os-workspace .os-lead { max-width: 60ch; }
  .os-workspace .os-hero figure { max-width: none; }
  .os-section-nav nav { gap: 24px; }
}
@media (max-width: 700px) {
  .os-container { padding-inline: 18px; }
  .os-breadcrumb { margin-bottom: 24px; }
  .os-workspace .os-hero { padding-bottom: 30px; }
  .os-workspace .os-hero h1 { font-size: clamp(40px, 8vw, 56px); }
  .os-workspace .os-hero .button { width: auto; }
  .os-section-nav nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; padding-block: 6px; }
  .os-section-nav a { font-size: 9px; }
  .software-detail-page .os-section, #ai-pilot-demo, #simulation-demo { scroll-margin-top: 210px; }
}
@media (max-width: 600px) {
  .os-simulation-start { padding: 22px 18px; }
  .os-simulation-start p { font-size: 15px; }
  .os-section-nav { top: 70px; }
}

/* Platform downloads are separate from subscription selection. */
.os-download-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); align-items: center; gap: 36px; }
.os-download-intro > * { min-width: 0; }
.os-download-intro .os-heading p:last-child { margin-bottom: 0; }
.os-download-account { padding: 24px; border: 1px solid #cbc5bd; background: #e9e5de; }
.os-download-account h3 { margin: 0 0 12px; font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
.os-download-account p { margin: 0 0 12px; color: #686560; font-size: 12px; line-height: 1.8; }
.os-download-account a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: #8e1118; font-size: 12px; }
.os-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.os-download-card { display: flex; flex-direction: column; min-width: 0; padding: 24px 20px 20px; border: 1px solid #cbc5bd; background: #faf9f7; }
.os-download-card-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; min-height: 32px; margin-bottom: 22px; }
.os-download-card-top .eyebrow { margin: 0; font-size: 9px; }
.os-download-badge { padding: 5px 7px; border: 1px solid #d6d1ca; color: #686560; font: 400 7px/1.5 var(--mono); letter-spacing: .03em; }
.os-download-badge-admin { background: #e9e5de; }
.os-download-card h3 { margin: 0 0 10px; font-size: 28px; font-weight: 400; letter-spacing: -.035em; line-height: 1.2; }
.os-download-platform { margin: 0; color: #686560; font-size: 12px; line-height: 1.6; }
.os-download-specs { margin: 26px 0; }
.os-download-specs > div { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 12px; align-items: baseline; padding-block: 11px; border-top: 1px solid #e0dbd3; }
.os-download-specs dt { color: #78726a; font-size: 10px; line-height: 1.6; }
.os-download-specs dd { margin: 0; color: #171717; font-size: 11px; line-height: 1.6; text-align: right; overflow-wrap: anywhere; }
.os-download-card .button { width: 100%; justify-content: space-between; gap: 12px; min-height: 48px; padding-inline: 14px; margin-top: auto; font-size: 10px; letter-spacing: .03em; }
.os-download-card .button-secondary { color: #171717; border-color: #cbc5bd; }
.os-download-card .button-secondary:hover { background: #e9e5de; }
.os-download-note { min-height: 3.4em; margin: 14px 0 0; color: #78726a; font-size: 11px; line-height: 1.7; }
.os-download-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 28px; padding-top: 24px; margin-top: 28px; border-top: 1px solid #cbc5bd; }
.os-download-footer p { margin: 0; color: #686560; font-size: 12px; line-height: 1.8; }
.os-download-footer > div { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.os-download-footer a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #8e1118; font-size: 12px; }
@media (max-width: 1000px) {
  .os-download-grid { grid-template-columns: minmax(0, 1fr); }
  .os-download-card { padding: 26px; }
  .os-download-card-top { min-height: 0; }
  .os-download-note { min-height: 0; }
}
@media (max-width: 850px) {
  .os-download-intro { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
  .os-download-card, .os-download-account { padding: 22px 18px; }
  .os-download-grid { gap: 14px; margin-top: 28px; }
  .os-download-footer { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* Mission specifications and telemetry grid */
.os-mission-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 28px; padding: 20px 24px; background: #20201f; border: 1px solid #41403d; }
.os-mission-metrics > div { display: flex; flex-direction: column; gap: 4px; }
.os-mission-metrics .metric-label { color: #8e8a83; font: 500 9px/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.os-mission-metrics .metric-value { color: #f1eee8; font-size: 14px; font-weight: 500; letter-spacing: -.02em; }
@media (max-width: 900px) {
  .os-mission-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .os-mission-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 14px; }
}
