:root {
    --primary: #227993;
    --accent: #c74c27;
    --dark: #1a1a1a;
    --gray-dark: #333333;
    --gray-mid: #666666;
    --gray-light: #f5f6f7;
    --gray-rule: #e0e2e5;
    --white: #ffffff;
  }

  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }

  body {
    font-family: 'Roboto', sans-serif;
    background: var(--white);
    color: var(--dark);
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    line-height: 1.6;
  }

  .container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; }

  .top-bar { height: 4px; background: var(--accent); }

  .nav-stub {
    background: var(--white);
    border-bottom: 1px solid var(--gray-rule);
    padding: 0.75rem 0;
  }
  .nav-stub .container { display: flex; align-items: center; justify-content: space-between; }
  .nav-wordmark { font-family: 'Roboto Condensed', sans-serif; font-size: 1.3rem; font-weight: 700; letter-spacing: 0.04em; color: var(--dark); }
  .nav-wordmark span { color: var(--accent); }
  .nav-back { font-size: 0.8rem; font-weight: 500; color: var(--primary); text-decoration: none; display: flex; align-items: center; gap: 0.35rem; }
  .nav-back:hover { text-decoration: underline; }
  .nav-back::before { content: '←'; }

  .breadcrumb { padding: 0.75rem 0; border-bottom: 1px solid var(--gray-rule); }
  .breadcrumb .container { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78rem; color: var(--gray-mid); }
  .breadcrumb a { color: var(--primary); text-decoration: none; }
  .breadcrumb a:hover { text-decoration: underline; }
  .breadcrumb .sep { color: var(--gray-rule); }

  /* HERO */
  .hero { padding: 4rem 0 3.5rem; background: var(--white); border-bottom: 3px solid var(--accent); }
  .eyebrow { display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 1rem; }
  .hero h1 { font-family: 'Roboto Condensed', sans-serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 700; line-height: 1.1; color: var(--dark); margin-bottom: 1.25rem; max-width: 680px; }
  .hero-desc { font-size: 1.05rem; font-weight: 300; line-height: 1.75; color: var(--gray-mid); max-width: 620px; margin-bottom: 2rem; }
  .hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; }

  .btn { display: inline-flex; align-items: center; gap: 0.4rem; font-family: 'Roboto', sans-serif; font-size: 0.88rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.8rem 1.6rem; text-decoration: none; transition: background 0.2s, color 0.2s; cursor: pointer; border: none; }
  .btn-filled { background: var(--accent); color: var(--white); }
  .btn-filled:hover { background: #aa3d1e; }
  .btn-outline { background: transparent; color: var(--primary); border: 2px solid var(--primary); }
  .btn-outline:hover { background: var(--primary); color: var(--white); }

  /* STAT ROW */
  .stat-row { background: var(--accent); }
  .stat-row .container { display: grid; grid-template-columns: repeat(3, 1fr); }
  .stat-item { padding: 1.5rem 2rem; text-align: center; border-right: 1px solid rgba(255,255,255,0.2); }
  .stat-item:last-child { border-right: none; }
  .stat-num { font-family: 'Roboto Condensed', sans-serif; font-size: 1.8rem; font-weight: 700; color: var(--white); line-height: 1.1; }
  .stat-label { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.8); margin-top: 0.25rem; }

  /* SECTIONS */
  section { padding: 4.5rem 0; }
  section.shaded { background: var(--gray-light); }
  hr.rule { border: none; border-top: 1px solid var(--gray-rule); margin: 0; }

  .section-eyebrow { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.6rem; }
  h2.section-title { font-family: 'Roboto Condensed', sans-serif; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; line-height: 1.15; color: var(--dark); margin-bottom: 1rem; }
  .section-intro { font-size: 0.98rem; line-height: 1.75; color: var(--gray-mid); max-width: 620px; margin-bottom: 2.5rem; }

  /* CAPABILITY GRID */
  .cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--gray-rule); }
  .cap-card { padding: 1.75rem; border-right: 1px solid var(--gray-rule); border-bottom: 1px solid var(--gray-rule); background: var(--white); position: relative; overflow: hidden; }
  .cap-card:nth-child(3n) { border-right: none; }
  .cap-card:nth-last-child(-n+3) { border-bottom: none; }
  .cap-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 0.3s; }
  .cap-card:hover::before { transform: scaleX(1); }
  .cap-title { font-family: 'Roboto Condensed', sans-serif; font-size: 1rem; font-weight: 700; color: var(--dark); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.03em; }
  .cap-body { font-size: 0.87rem; line-height: 1.65; color: var(--gray-mid); }

  /* TWO COL */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
  .two-col-wide { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem; align-items: start; }

  /* MOTOR LIST */
  .motor-list { display: flex; flex-direction: column; gap: 1px; background: var(--gray-rule); border: 1px solid var(--gray-rule); }
  .motor-item { background: var(--white); padding: 1.5rem 1.75rem; display: grid; grid-template-columns: 2.5rem 1fr; gap: 1.25rem; align-items: start; }
  .motor-num { font-family: 'Roboto Condensed', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--accent); line-height: 1; padding-top: 2px; }
  .motor-title { font-family: 'Roboto Condensed', sans-serif; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--dark); margin-bottom: 0.35rem; }
  .motor-body { font-size: 0.87rem; line-height: 1.6; color: var(--gray-mid); }

  /* SPECS */
  .specs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-rule); font-size: 0.88rem; }
  .specs-table tr { border-bottom: 1px solid var(--gray-rule); }
  .specs-table tr:last-child { border-bottom: none; }
  .specs-table td { padding: 0.8rem 1.1rem; vertical-align: top; line-height: 1.4; }
  .specs-table td:first-child { background: var(--gray-light); color: var(--gray-mid); font-weight: 500; width: 55%; border-right: 1px solid var(--gray-rule); }
  .specs-table td:last-child { color: var(--dark); }
  .specs-note { margin-top: 1.25rem; padding: 1rem 1.25rem; border-left: 3px solid var(--primary); background: rgba(34,121,147,0.04); font-size: 0.83rem; line-height: 1.6; color: var(--gray-mid); }
  .specs-note strong { color: var(--primary); }

  .download-block { background: var(--gray-light); border: 1px solid var(--gray-rule); padding: 2rem; margin-top: 0; }
  .download-block h3 { font-family: 'Roboto Condensed', sans-serif; font-size: 1rem; font-weight: 700; color: var(--dark); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.04em; }
  .download-block p { font-size: 0.86rem; color: var(--gray-mid); line-height: 1.6; margin-bottom: 1.25rem; }
  .btn-disabled { background: var(--gray-rule); color: var(--gray-mid); cursor: not-allowed; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.75rem 1.4rem; display: inline-flex; align-items: center; gap: 0.4rem; }
  .coming-soon { display: block; font-size: 0.75rem; color: var(--gray-mid); margin-top: 0.6rem; font-style: italic; }

  .sidebar-callout { margin-top: 1.5rem; padding: 1.75rem; border: 1px solid var(--gray-rule); background: var(--white); }
  .sidebar-callout h3 { font-family: 'Roboto Condensed', sans-serif; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--dark); margin-bottom: 0.5rem; }
  .sidebar-callout p { font-size: 0.86rem; line-height: 1.65; color: var(--gray-mid); }

  /* FIT COLS */
  .fit-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; }
  .fit-col h3 { font-family: 'Roboto Condensed', sans-serif; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.6rem 1rem; margin-bottom: 1rem; }
  .fit-col.yes h3 { background: var(--primary); color: var(--white); }
  .fit-col.no h3 { background: var(--gray-dark); color: var(--white); }
  .fit-list { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
  .fit-list li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.88rem; color: var(--gray-dark); line-height: 1.5; }
  .fit-list li::before { flex-shrink: 0; margin-top: 2px; font-size: 0.85rem; }
  .fit-col.yes .fit-list li::before { content: '✓'; color: var(--primary); font-weight: 700; }
  .fit-col.no .fit-list li::before { content: '✗'; color: var(--gray-mid); }

  .lab-nudge { margin-top: 2.5rem; padding: 1.75rem 2rem; background: var(--white); border: 1px solid var(--gray-rule); border-left: 4px solid var(--primary); max-width: 680px; font-size: 0.92rem; line-height: 1.7; color: var(--gray-dark); }
  .lab-nudge a { color: var(--primary); font-weight: 600; text-decoration: none; }
  .lab-nudge a:hover { text-decoration: underline; }

  /* VS TABLE */
  .vs-table { width: 100%; border-collapse: collapse; border: 1px solid var(--gray-rule); font-size: 0.88rem; margin-top: 2.5rem; }
  .vs-table thead th { padding: 0.9rem 1.25rem; font-family: 'Roboto Condensed', sans-serif; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-align: left; border-bottom: 2px solid var(--gray-rule); }
  .vs-table thead th.col-feat { background: var(--white); color: var(--gray-mid); width: 28%; }
  .vs-table thead th.col-std { background: var(--gray-light); color: var(--gray-mid); }
  .vs-table thead th.col-servo { background: var(--accent); color: var(--white); }
  .vs-table tbody tr { border-bottom: 1px solid var(--gray-rule); }
  .vs-table tbody tr:last-child { border-bottom: none; }
  .vs-table tbody td { padding: 0.8rem 1.25rem; vertical-align: top; line-height: 1.5; }
  .vs-table tbody td.col-feat { background: var(--gray-light); color: var(--gray-mid); font-weight: 500; border-right: 1px solid var(--gray-rule); }
  .vs-table tbody td.col-std { color: var(--gray-mid); border-right: 1px solid var(--gray-rule); }
  .vs-table tbody td.col-servo { color: var(--dark); font-weight: 500; }

  /* CTA BAND */
  .cta-band { background: var(--primary); padding: 3.5rem 0; text-align: center; }
  .cta-band h2 { font-family: 'Roboto Condensed', sans-serif; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; color: var(--white); margin-bottom: 0.75rem; line-height: 1.2; }
  .cta-band p { font-size: 0.95rem; color: rgba(255,255,255,0.82); max-width: 460px; margin: 0 auto 2rem; line-height: 1.65; }
  .cta-band .btn-filled { background: var(--white); color: var(--primary); }
  .cta-band .btn-filled:hover { background: var(--gray-light); }

  @media (max-width: 768px) {
    .cap-grid, .two-col, .two-col-wide, .fit-cols { grid-template-columns: 1fr; }
    .stat-row .container { grid-template-columns: 1fr; }
    .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.2); }
    .vs-table { display: block; overflow-x: auto; }
    section { padding: 3rem 0; }
  }