/* ============================================================
   1_services.css — Services page styles
   ============================================================ */


/* #region |||||||||| SERVICE CARDS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .svc-card {
    background: var(--C-WHT);
    border-radius: var(--R-LG);
    padding: var(--P-CRD);
    box-shadow: var(--SH-CRD);
    display: flex;
    flex-direction: column;
    gap: var(--S-MD);
    transition: box-shadow var(--T-BASE), transform var(--T-BASE);
  }

  .svc-card:hover { box-shadow: var(--SH-CRD-HVR); transform: translateY(-3px); }

  .svc-card__icon {
    display: block;
    width: 40px;
    height: 40px;
    margin-bottom: var(--S-SM);
    color: var(--C-RUB);
  }

  .svc-card__icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .svc-card__title {
    font-family: var(--F-HDG);
    font-size: var(--T-XL);
    font-weight: 600;
  }

  .svc-card__desc { line-height: 1.7; }

  .svc-card__list {
    margin: 0;
    padding-left: var(--S-MD);
    display: flex;
    flex-direction: column;
    gap: var(--S-XS);
    font-family: var(--F-BDY);
    font-size: var(--T-SM);
    opacity: 0.65;
    margin-top: auto; /* push to bottom of card */
  }

  .svc-card__list li::marker { color: var(--C-RUB); }

/* #endregion */


/* #region |||||||||| PROCESS STEPS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .process-steps {
    list-style: none;
    margin-top: var(--G-CNT);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--G-CRD);
    counter-reset: process;
  }

  .process-step {
    position: relative;
    padding-top: var(--S-LG);
    border-top: 2px solid var(--C-RUB);
    display: flex;
    flex-direction: column;
    gap: var(--S-SM);
  }

  .process-step__number {
    font-family: var(--F-HDG);
    font-size: var(--T-2XL);
    font-weight: 700;
    color: var(--C-RUB);
    opacity: 0.25;
    line-height: 1;
  }

  .process-step__body { display: flex; flex-direction: column; gap: var(--S-XS); }

  .process-step__title { font-family: var(--F-HDG); font-size: var(--T-LG); font-weight: 600; }

  .process-step p { opacity: 0.65; }

  @media (max-width: 900px) { .process-steps { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .process-steps { grid-template-columns: 1fr; } }

/* #endregion */


/* #region |||||||||| CTA BAND ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .cta-band { border-top: 1px solid var(--C-BON-D); }

/* #endregion */


/* #region |||||||||| SERVICES CLOSER LINE ||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .services-closer {
    font-family: var(--F-HDG);
    font-style: italic;
    text-align: center;
    opacity: 0.5;
    border-top: 1px solid var(--C-BON-D);
    padding-top: var(--S-XL) !important;
  }

/* #endregion */


/* #region |||||||||| APPROACH ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .approach-section { border-top: 1px solid var(--C-BON-D); }

  .approach-header { margin-bottom: var(--S-XL); }

  .approach-body { align-items: start; }

  .approach-text { display: flex; flex-direction: column; gap: var(--S-MD); }

  .approach-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--C-BON-D);
  }

  .approach-list__item {
    display: flex;
    align-items: center;
    gap: var(--S-MD);
    padding: var(--S-MD) 0;
    border-bottom: 1px solid var(--C-BON-D);
    font-family: var(--F-HDG);
    font-size: var(--T-LG);
    font-weight: 400;
  }

  .approach-list__marker {
    width: 8px;
    height: 8px;
    border-radius: var(--R-CIRCLE);
    background: var(--C-RUB);
    flex-shrink: 0;
  }

/* #endregion */


/* #region |||||||||| PHILOSOPHY ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .philosophy-section {
    background: var(--C-COL);
    color: var(--C-BON);
    max-width: 100%;
    padding: var(--S-2XL) var(--P-PGE-X);
  }

  .philosophy-inner {
    max-width: var(--L-CWID);
    margin: 0 auto;
  }

  @media (min-width: 1160px) { .philosophy-inner { padding: 0; } }

  .philosophy-section .section__header { color: var(--C-BON); }

  .philosophy-lead {
    font-family: var(--F-HDG);
    font-style: italic;
    color: var(--C-BON);
    opacity: 0.8;
    margin: var(--S-LG) 0 var(--S-XL);
    max-width: var(--L-WPRO);
  }

  .philosophy-body { gap: var(--S-2XL); }

  .philosophy-body p { color: var(--C-BON); line-height: 1.8; }

  .philosophy-sign {
    margin-top: var(--S-XL);
    font-family: var(--F-HDG);
    font-style: italic;
    color: var(--C-RUB);
    padding-top: var(--S-XL);
    border-top: 1px solid rgba(255,255,255,0.12);
  }

/* #endregion */


/* #region |||||||||| CTA BAND ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*| */

  .cta-band { border-top: 1px solid var(--C-BON-D); }

/* #endregion */
