/* ===================================================
   Codensec — Services Page Styles (Phase 3)
   Page-specific rules only. Shared primitives (.section,
   .card, .btn, .pill, .container, .cta-band, .rt-index)
   live in base.css.
   =================================================== */

/* ---- Page hero ---- */
.page-hero {
  padding: calc(var(--nav-h) + 64px) 0 64px;
  border-bottom: 1px solid var(--line-soft);
}

.page-hero .container {
  max-width: 720px;
}

.page-hero h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin: 16px 0 20px;
}

.page-hero p {
  color: var(--text-dim);
  font-size: var(--step-1);
}

/* ---- Services list ---- */
.services-list {
  padding-top: 0;
}

.service-row {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 48px;
  padding: 56px 0;
  border-bottom: 1px solid var(--line-soft);
}

.service-row:first-child {
  padding-top: 96px;
}

.service-row:last-child {
  border-bottom: none;
  padding-bottom: 96px;
}

.service-row-head {
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.service-row-head .rt-index {
  font-size: var(--step-0);
}

.service-row-head h2 {
  font-size: var(--step-2);
}

.service-row-body p {
  color: var(--text-dim);
  font-size: var(--step-0);
  line-height: 1.75;
  margin-bottom: 24px;
}

.feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.feature-tags li {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-size: var(--step--1);
  color: var(--text-dim);
  background: var(--bg-raised);
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .service-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .service-row:first-child {
    padding-top: 64px;
  }
}

@media (max-width: 560px) {
  .page-hero {
    padding-top: calc(var(--nav-h) + 32px);
  }
}


/* Shared responsive grid and overflow guardrails */
@media (max-width: 700px) {
  .grid-3,.grid-4,.cards-grid,.services-grid,.tools-grid,.research-grid,.tech-grid,.team-grid,.footer-grid { grid-template-columns: 1fr !important; }
  .hero-grid,.split-grid,.feature-panel,.content-grid,.two-col,.two-column { grid-template-columns: 1fr !important; }
  .card { min-width: 0; }
  table { display: block; width: 100%; overflow-x: auto; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .grid-3,.grid-4,.cards-grid,.services-grid,.tools-grid,.research-grid,.tech-grid,.team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
