/* ── SERVICES PAGE ── */
.page-hero {
  padding: 160px 5% 80px; position: relative; overflow: hidden;
}
.page-hero-glow {
  position: absolute; width: 800px; height: 800px;
  top: -200px; right: -150px;
  background: radial-gradient(circle, rgba(13,148,136,.09) 0%, transparent 65%);
  pointer-events: none;
}
.page-hero h1 {
  font-family: var(--ff-head);
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  font-weight: 700; line-height: 1.08; letter-spacing: -.4px;
  animation: fade-in .7s ease both;
}
.page-hero h1 em { font-style: italic; color: var(--azure); }
.page-hero p {
  margin-top: 1.4rem; font-size: 1.05rem;
  color: var(--off); line-height: 1.85; max-width: 640px;
  animation: fade-in .7s .1s ease both;
}
@keyframes fade-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

/* SERVICE GRID */
.services-section { background: var(--ink2); }
.svc-full-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem; margin-top: 2.5rem;
}
@media (max-width: 900px) { .svc-full-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .svc-full-grid { grid-template-columns: 1fr; } }

.svc-card {
  background: var(--ink3); border: 1px solid var(--border);
  border-radius: var(--r2); padding: 1.8rem;
  display: flex; flex-direction: column;
  position: relative; overflow: hidden;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.svc-card:hover { border-color: rgba(14,165,233,.3); transform: translateY(-3px); box-shadow: var(--glow); }
.svc-card::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--azure), var(--teal));
  transform: scaleX(0); transform-origin: left; transition: transform .3s;
}
.svc-card:hover::after { transform: scaleX(1); }

.svc-card-icon {
  width: 52px; height: 52px; border-radius: 12px;
  background: rgba(14,165,233,.08); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; margin-bottom: 1.2rem;
}
.svc-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; }
.svc-card > p { font-size: .87rem; color: var(--muted); line-height: 1.7; flex: 1; margin-bottom: 1rem; }
.svc-tags-row { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .9rem; }
.svc-card ul {
  list-style: none; display: flex; flex-direction: column;
  gap: .3rem; padding: 0;
}
.svc-card ul li {
  font-size: .82rem; color: var(--muted);
  display: flex; align-items: flex-start; gap: .5rem; line-height: 1.5;
}
.svc-card ul li::before {
  content: '›'; color: var(--azure); font-weight: 700;
  flex-shrink: 0; margin-top: .05rem;
}

/* PHASE SECTION */
.phase-section { background: var(--ink3); }
.phases-detailed {
  display: flex; flex-direction: column;
  gap: 1rem; margin-top: 2.5rem;
}
.phase-row {
  display: grid; grid-template-columns: 80px 1fr;
  gap: 1.5rem; align-items: start;
  padding: 1.8rem; background: var(--card);
  border: 1px solid var(--border); border-radius: var(--r2);
  transition: border-color .2s;
}
@media (max-width: 580px) { .phase-row { grid-template-columns: 1fr; gap: 1rem; } }
.phase-row:hover { border-color: rgba(14,165,233,.28); }
.pr-num {
  width: 56px; height: 56px; border-radius: 50%;
  background: rgba(14,165,233,.1); border: 2px solid rgba(14,165,233,.25);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-mono); font-size: .9rem;
  font-weight: 700; color: var(--azure);
}
.pr-content h3 {
  font-family: var(--ff-head); font-size: 1.35rem;
  font-weight: 700; margin-bottom: .5rem;
}
.pr-content h3 em { font-style: italic; color: var(--azure); }
.pr-content p { font-size: .89rem; color: var(--muted); line-height: 1.75; }
.pr-bullets {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .8rem;
}

/* BY PLATFORM / SCENARIO */
.by-section { background: var(--ink2); }
.by-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 2.5rem; }
@media (max-width: 700px) { .by-grid { grid-template-columns: 1fr; } }
.by-block h3 {
  font-family: var(--ff-head); font-size: 1.4rem; font-weight: 700;
  margin-bottom: 1.2rem;
}
.by-block h3 em { font-style: italic; color: var(--azure); }
.by-items {
  display: flex; flex-direction: column; gap: .7rem;
}
.by-item {
  display: flex; align-items: center; gap: .9rem;
  padding: .9rem 1.2rem; background: var(--card);
  border: 1px solid var(--border); border-radius: 10px;
  font-size: .88rem; color: var(--off); font-weight: 500;
  transition: border-color .2s;
}
.by-item:hover { border-color: rgba(14,165,233,.28); }
.by-item .bi-icon { font-size: 1.2rem; flex-shrink: 0; }
