/* ═══════════════════════════════════════════════════════
   SYSTEM REQUIREMENTS PAGE  |  #2b4f82 / #b8d6ed
   ═══════════════════════════════════════════════════════ */

[data-page="system-requirements"] {
  --page-primary:   #2b4f82;
  --page-secondary: #b8d6ed;
  --crux-teal:      #2aaea4;
  --crux-dark:      #1a1a1a;
}
body[data-page="system-requirements"] { background: #fff; }

[data-page="system-requirements"] .navbar,
[data-page="system-requirements"] .navbar.scrolled { background: #2b4f82; }
[data-page="system-requirements"] .mob-nav          { background: #2b4f82; }

/* ── HERO ──────────────────────────────────────────────── */
.sr-hero {
  background: var(--page-primary);
  padding: 100px 60px 80px;
  min-height: 280px;
  display: flex; align-items: flex-end;
}
.sr-hero-inner { max-width: 1300px; margin: 0 auto; width: 100%; }
.sr-hero-title {
  font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 700;
  color: #b8d6ed; line-height: 1.05; margin-bottom: 20px; letter-spacing: -.03em;
}
.sr-hero-desc { font-size: 1.0625rem; color: rgba(184,214,237,.7); max-width: 600px; }

/* ── PRODUCT SELECTOR ──────────────────────────────────── */
.sr-products { background: #fff; padding: 80px 0; }
.sr-products-inner { max-width: 1300px; margin: 0 auto; padding: 0 40px; }
.sr-products-intro { margin-bottom: 48px; }
.sr-products-intro h4 {
  font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700;
  color: var(--navy); margin-bottom: 10px; letter-spacing: -.02em;
}
.sr-products-intro p { font-size: 1rem; color: #555; }
.sr-products-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.sr-product-card {
  border: 1.5px solid rgba(43,79,130,.2); border-radius: 12px;
  padding: 40px 36px; display: flex; flex-direction: column;
  align-items: center; text-align: center; gap: 0;
  transition: border-color .2s, box-shadow .2s;
}
.sr-product-card:hover {
  border-color: rgba(43,79,130,.5);
  box-shadow: 0 8px 32px rgba(43,79,130,.1);
}
.sr-product-logo {
  width: 100%; max-width: 280px; margin-bottom: 24px;
  aspect-ratio: 16/4.5; display: flex; align-items: center; justify-content: center;
}
.sr-product-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sr-product-card > p { font-size: 0.9375rem; color: #444; line-height: 1.6; margin-bottom: 28px; flex: 1; }

/* ── Shared button ─────────────────────────────────────── */
.sr-btn {
  display: inline-block; padding: 12px 28px;
  background: var(--page-primary); color: #fff;
  border: none; border-radius: 4px;
  font-weight: 600; font-size: 0.9375rem; text-decoration: none;
  cursor: pointer; transition: background .2s;
  font-family: var(--font);
}
.sr-btn:hover { background: #1e3a63; color: #fff; }
.sr-btn-outline {
  background: transparent; color: var(--page-primary);
  border: 1.5px solid var(--page-primary);
}
.sr-btn-outline:hover { background: rgba(43,79,130,.08); color: var(--page-primary); }

/* ── CRUX SECTION ──────────────────────────────────────── */
.sr-crux {
  background: #f0f4f8;
  padding: 100px 0;
  position: relative; overflow: hidden;
}
/* Background X watermark using the teal color */
.sr-crux::before {
  content: '';
  position: absolute; right: -60px; top: -60px;
  width: 600px; height: 600px;
  background: url('../img/crux-pc-x.png') no-repeat center/contain;
  opacity: .04;
  pointer-events: none;
}
.sr-crux-inner {
  max-width: 1300px; margin: 0 auto; padding: 0 40px;
  display: flex; gap: 80px; align-items: center;
}
.sr-crux-text { flex: 1; }
.sr-crux-visual { flex: 0 0 480px; }

.sr-crux-logos {
  display: flex; align-items: center; gap: 14px; margin-bottom: 28px;
}
.sr-crux-logo { height: 36px; width: auto; }
.sr-crux-x {
  font-size: 1.25rem; font-weight: 700; color: #bbb;
}
.sr-crux-lumion {
  font-size: 1.0625rem; font-weight: 700; color: var(--navy);
  letter-spacing: -.01em;
}

.sr-crux-text h4 {
  font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700;
  color: var(--crux-dark); margin-bottom: 18px; line-height: 1.15; letter-spacing: -.02em;
}
.sr-crux-text > p {
  font-size: 0.9375rem; color: #444; line-height: 1.7; margin-bottom: 14px;
}
.sr-crux-features {
  list-style: none; padding: 0; margin: 24px 0 32px;
}
.sr-crux-features li {
  display: flex; gap: 12px; align-items: baseline;
  font-size: 0.9375rem; color: #444; line-height: 1.5;
  padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.08);
}
.sr-crux-features li:last-child { border-bottom: none; }
.sr-crux-features li span {
  flex-shrink: 0; font-weight: 700; color: var(--crux-teal);
  min-width: 140px;
}
.sr-crux-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.sr-crux-note { font-size: 0.8125rem; color: #888; }

/* PC image */
.sr-crux-img-wrap {
  position: relative;
  background: transparent;
}
.sr-crux-pc {
  width: 100%; display: block;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.2));
}

/* ── SPECS SECTION ─────────────────────────────────────── */
.sr-specs-section { background: #fff; padding: 80px 0; }
.sr-specs-section--alt { background: #f8fafc; }
.sr-specs-inner { max-width: 900px; margin: 0 auto; padding: 0 40px; }

.sr-specs-title-row { margin-bottom: 32px; }
.sr-specs-title-row h4 {
  font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700;
  color: var(--navy); letter-spacing: -.02em;
}
.sr-specs-intro {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px;
  margin-bottom: 40px;
}
.sr-specs-intro p { font-size: 0.9375rem; color: #444; line-height: 1.7; }
.sr-specs-intro a { color: var(--navy); text-decoration: underline; text-underline-offset: 2px; }

/* Tabs */
.sr-tabs {
  display: flex; gap: 0;
  border: 1.5px solid rgba(43,79,130,.2); border-radius: 6px;
  overflow: hidden; margin-bottom: 0;
  background: #f0f4f8;
}
.sr-tab {
  flex: 1; padding: 14px 20px;
  background: transparent; border: none; cursor: pointer;
  font-size: 0.875rem; font-weight: 600; color: rgba(43,79,130,.55);
  font-family: var(--font); transition: background .15s, color .15s;
  border-right: 1px solid rgba(43,79,130,.15);
}
.sr-tab:last-child { border-right: none; }
.sr-tab.active {
  background: var(--page-primary); color: #fff;
}
.sr-tab:not(.active):hover { background: rgba(43,79,130,.07); color: var(--navy); }

/* Tab panels */
.sr-tab-panel { display: none; }
.sr-tab-panel.active { display: block; }

/* Specs table */
.sr-table {
  width: 100%; border-collapse: collapse;
  font-size: 0.9375rem;
}
.sr-table thead th {
  padding: 14px 20px; background: var(--page-primary);
  color: #fff; font-weight: 600; text-align: left;
  font-size: 0.875rem;
}
.sr-table thead th:first-child { width: 180px; }
.sr-th-high { background: #1a3260 !important; }
.sr-table tbody tr { border-bottom: 1px solid rgba(43,79,130,.1); }
.sr-table tbody tr:last-child { border-bottom: none; }
.sr-table tbody th {
  padding: 18px 20px; font-weight: 700; color: var(--navy);
  vertical-align: top; white-space: nowrap; width: 200px;
  background: #f8fafc;
}
.sr-table tbody td {
  padding: 18px 20px; color: #444; line-height: 1.6;
  vertical-align: top;
}
.sr-table tbody td em { font-style: italic; color: #888; font-size: 0.875rem; display: block; margin-top: 4px; }
.sr-td-high { background: rgba(26,50,96,.04); }
.sr-table tbody tr:hover { background: rgba(43,79,130,.025); }

/* CRUX badge inside Pro specs */
.sr-crux-badge {
  display: flex; gap: 20px; align-items: flex-start;
  background: #f0f4f8; border: 1.5px solid var(--crux-teal);
  border-radius: 10px; padding: 24px 28px; margin-top: 40px;
}
.sr-crux-badge-logo { height: 28px; width: auto; flex-shrink: 0; margin-top: 4px; }
.sr-crux-badge p { font-size: 0.9375rem; color: #333; line-height: 1.6; margin-bottom: 10px; }
.sr-crux-badge p b { color: var(--crux-dark); }
.sr-badge-link {
  font-size: 0.9375rem; font-weight: 700; color: var(--crux-teal);
  text-decoration: none;
}
.sr-badge-link:hover { text-decoration: underline; }

/* ── Footer ────────────────────────────────────────────── */
[data-page="system-requirements"] .footer,
[data-page="system-requirements"] .footer-cta,
[data-page="system-requirements"] .footer-nav  { background: #1e3a63; }
[data-page="system-requirements"] .footer-bottom { background: #162e52; }
[data-page="system-requirements"] .footer-link   { color: rgba(255,255,255,.6); }
[data-page="system-requirements"] .footer-link:hover { color: #fff; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 1024px) {
  .sr-crux-inner { gap: 40px; }
  .sr-crux-visual { flex: 0 0 360px; }
}
@media (max-width: 900px) {
  .sr-products-grid { grid-template-columns: 1fr; }
  .sr-crux-inner { flex-direction: column; }
  .sr-crux-visual { flex: auto; width: 100%; max-width: 420px; margin: 0 auto; }
  .sr-specs-intro { grid-template-columns: 1fr; }
  .sr-specs-inner { padding: 0 20px; }
  .sr-products-inner { padding: 0 20px; }
  .sr-crux-inner { padding: 0 20px; }
  .sr-table thead th:first-child,
  .sr-table tbody th { width: auto; white-space: normal; }
  .sr-hero { padding: 80px 20px 60px; }
  .sr-tabs { flex-direction: column; }
}
@media (max-width: 600px) {
  .sr-table { font-size: 0.875rem; }
  .sr-table tbody th,
  .sr-table tbody td { padding: 14px 12px; }
  .sr-crux-features li span { min-width: 110px; }
}

/* ── FAQ SECTION ───────────────────────────────────────── */
.sr-faq {
  background: var(--page-primary);
  padding: 80px 0;
}
.sr-faq-inner {
  max-width: 900px; margin: 0 auto; padding: 0 40px;
}
.sr-faq-inner h4 {
  font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700;
  color: #b8d6ed; margin-bottom: 48px; letter-spacing: -.02em;
}
.sr-faq-accordion { border-top: 1px solid rgba(184,214,237,.2); }

.sr-faq-item { border-bottom: 1px solid rgba(184,214,237,.2); position: relative; }
.sr-faq-item::after {
  content: ''; position: absolute; bottom: -1px; left: 0;
  height: 1px; width: 0; background: #b8d6ed;
  transition: width .3s ease;
}
.sr-faq-item:hover::after,
.sr-faq-item.open::after { width: 100%; }

.sr-faq-header {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  background: none; border: none; cursor: pointer; padding: 22px 0;
  gap: 16px; text-align: left; font-family: var(--font);
  color: rgba(184,214,237,.6); transition: color .2s;
}
.sr-faq-header span { font-size: 1rem; font-weight: 500; color: inherit; line-height: 1.4; }
.sr-faq-header svg { flex-shrink: 0; transition: transform .3s; color: inherit; }
.sr-faq-header:hover { color: #fff; }
.sr-faq-item.open .sr-faq-header { color: #fff; }
.sr-faq-item.open .sr-faq-header svg { transform: rotate(180deg); }

.sr-faq-body { overflow: hidden; height: 0; opacity: 0; }
.sr-faq-body p  { font-size: 0.9375rem; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 14px; }
.sr-faq-body p:last-child { margin-bottom: 20px; }
.sr-faq-body b  { color: #fff; }
.sr-faq-body a  { color: #b8d6ed; text-decoration: underline; text-underline-offset: 2px; }
.sr-faq-body ul, .sr-faq-body ol {
  padding-left: 20px; margin: 8px 0 16px;
  color: rgba(255,255,255,.75); font-size: 0.9375rem;
}
.sr-faq-body li { margin-bottom: 8px; line-height: 1.6; }

/* CRUX questions — subtle teal left border */
.sr-faq-item--crux { border-left: 3px solid var(--crux-teal); padding-left: 16px; }
.sr-faq-item--crux .sr-faq-header:hover { color: #a8f0eb; }
.sr-faq-item--crux.open .sr-faq-header  { color: #a8f0eb; }
.sr-faq-item--crux::after { background: var(--crux-teal); }

@media (max-width: 600px) {
  .sr-faq-inner { padding: 0 20px; }
  .sr-faq { padding: 60px 0; }
}