/* --------------------------------------------------------------------------
   Services page styles
   -------------------------------------------------------------------------- */

.services-offerings { padding-top: 92px; }
.services-offerings .content-grid { display: block; }
.services-offerings .section-intro { max-width: 620px; }
.services-offerings .service-detail-list { margin-top: 54px; }
.process-section { padding-bottom: 100px; }
.section-intro { max-width: 470px; margin: 20px 0 0; color: var(--color-muted); font-size: 17px; line-height: 1.7; }
.service-detail-list { display: grid; }
.service-detail-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) minmax(220px, .8fr);
  gap: 28px;
  align-items: start;
  padding: 30px 0;
  border-top: 1px solid var(--color-line);
}
.service-detail-row:last-child { border-bottom: 1px solid var(--color-line); }
.service-detail-row > .service-icon { display: none; }
.service-detail-number { color: var(--color-blue); font-size: 15px; font-weight: 700; letter-spacing: .08em; }
.service-detail-main h3 { margin: -4px 0 10px; font-size: 25px; letter-spacing: -.025em; }
.service-detail-main p { margin: 0; color: var(--color-muted); font-size: 15px; line-height: 1.6; }
.service-detail-main .service-outcome { margin-bottom: 10px; color: var(--color-blue); font-size: 13px; font-weight: 700; }
.service-detail-meta { display: grid; gap: 8px; }
.service-detail-meta strong { color: var(--color-text); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.service-detail-meta ul { display: grid; gap: 5px; margin: 0 0 14px; padding: 0; color: var(--color-muted); font-size: 14px; list-style: none; }
.service-detail-meta li::before { margin-right: 8px; color: var(--color-blue); content: "—"; }
.service-detail-meta p { margin: 0; color: var(--color-muted); font-size: 14px; line-height: 1.5; }
.content-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.content-card { padding: 35px; border: 1px solid var(--color-line); border-radius: 5px; transition: border-color 180ms ease, transform 180ms ease; }
.content-card:hover { border-color: var(--color-blue); transform: translateY(-3px); }
.content-card span { color: var(--color-blue); font-size: 28px; }
.content-card .icon-bag { position: relative; display: inline-block; width: 24px; height: 21px; border: 2px solid currentColor; border-radius: 3px; box-sizing: border-box; }
.content-card .icon-bag::before { position: absolute; top: -8px; left: 5px; width: 10px; height: 8px; border: 2px solid currentColor; border-bottom: 0; border-radius: 7px 7px 0 0; content: ""; }
.content-card h3 { margin: 24px 0 10px; font-size: 23px; }
.content-card p { margin: 0; font-size: 15px; line-height: 1.6; }
.content-card .service-outcome { margin: -3px 0 12px; color: var(--color-blue); font-size: 13px; font-weight: 700; letter-spacing: .01em; line-height: 1.4; }
.process-cards .content-card { padding-top: 30px; }
.process-cards .content-card > span { display: inline-block; padding-bottom: 7px; border-bottom: 1px solid var(--color-blue); font-size: 15px; font-weight: 700; letter-spacing: .08em; }

.faq-section { background: var(--color-surface); }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; }
.faq-list { border-top: 1px solid var(--color-line); }
.faq-list details { border-bottom: 1px solid var(--color-line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; color: var(--color-text); cursor: pointer; font-size: 16px; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { color: var(--color-blue); content: "+"; font-size: 22px; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 680px; margin: -4px 34px 20px 0; color: var(--color-muted); font-size: 15px; line-height: 1.65; }
