/* ============================================================
   PAGES.CSS — Page-specific overrides and unique sections
   ============================================================ */

/* ====================
   HOME — What We Do section
   ==================== */
.what-we-do__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
}

.what-we-do__item {
  text-align: center;
  padding: var(--space-8) var(--space-6);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.what-we-do__item:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-3px);
}

.what-we-do__icon {
  width: 64px;
  height: 64px;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-5);
}

.what-we-do__icon svg {
  width: 32px;
  height: 32px;
  color: #fff;
}

.what-we-do__item h3 {
  font-size: var(--text-xl);
  font-weight: var(--weight-semibold);
  color: var(--color-primary);
  margin-bottom: var(--space-3);
}

.what-we-do__item p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: var(--leading-relaxed);
}

/* ====================
   HOME — Why Techonroute
   ==================== */
.why-us__content {
  max-width: 520px;
}

.why-us__content h2 {
  font-size: var(--text-4xl);
  font-weight: var(--weight-bold);
  color: var(--color-primary);
  margin-bottom: var(--space-5);
}

.why-us__content > p {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
  line-height: var(--leading-relaxed);
}

.why-us__features {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin-bottom: var(--space-10);
}

.why-us__visual {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
  border-radius: var(--radius-2xl);
  padding: var(--space-10);
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.why-us__stat-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
}

.why-us__stat-card .value {
  font-size: var(--text-4xl);
  font-weight: var(--weight-bold);
  color: #fff;
  line-height: 1;
  margin-bottom: var(--space-1);
}

.why-us__stat-card .label {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.7);
}

/* ====================
   ABOUT — Our Approach
   ==================== */
.approach-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
  counter-reset: step;
}

.approach-step {
  padding: var(--space-6);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  position: relative;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.approach-step:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.approach-step__number {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: #fff;
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-4);
}

.approach-step h3 {
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}

.approach-step p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: var(--leading-relaxed);
}

/* Connector line between steps */
.approach-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: calc(var(--space-6) + 18px);
  right: calc(-1 * var(--space-3));
  width: var(--space-6);
  height: 2px;
  background: var(--color-border);
}

/* ====================
   ABOUT — Values
   ==================== */
.values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
}

.value-card {
  text-align: center;
  padding: var(--space-8) var(--space-5);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.value-card__icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-xl);
  background: var(--color-surface-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-4);
}

.value-card__icon svg {
  width: 28px;
  height: 28px;
  color: var(--color-primary);
}

.value-card h3 {
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}

.value-card p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: var(--leading-relaxed);
}

/* ====================
   SERVICE PAGE
   ==================== */
.service-overview {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
}

.service-overview p {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-5);
}

.service-overview p:last-child { margin-bottom: 0; }

/* Service page process timeline */
.service-process {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-4);
}

.service-process-step {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-secondary);
  text-align: center;
}

.service-process-step .step-num {
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-secondary);
  margin-bottom: var(--space-2);
}

.service-process-step h4 {
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}

.service-process-step p {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: var(--leading-relaxed);
}

/* ====================
   CONTACT PAGE
   ==================== */
.contact-form-wrapper {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
}

.contact-form-wrapper h2 {
  font-size: var(--text-2xl);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}

.contact-form-wrapper > p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: var(--space-6);
}

/* ====================
   RESPONSIVE
   ==================== */
@media (max-width: 1023px) {
  .what-we-do__grid { grid-template-columns: 1fr 1fr; }
  .approach-steps   { grid-template-columns: 1fr 1fr; }
  .values-grid      { grid-template-columns: 1fr 1fr; }
  .approach-step::after { display: none; }
}

@media (max-width: 639px) {
  .what-we-do__grid { grid-template-columns: 1fr; }
  .approach-steps   { grid-template-columns: 1fr; }
  .values-grid      { grid-template-columns: 1fr 1fr; }
  .why-us__content h2 { font-size: var(--text-3xl); }
  .contact-form-wrapper { padding: var(--space-5); }
}

@media (max-width: 479px) {
  .values-grid { grid-template-columns: 1fr; }
}
