/* What We Do | Master Specification v5, Section 4.
   Page copy is fixed. Service heights are content-driven; no truncation or line clamps.
   This file extends Home build v4 without changing its shared design tokens. */
.primary-nav a[aria-current="page"], .footer-nav a[aria-current="page"] {
  color: var(--mid-blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .38em;
}
.wwd-page .page-intro { padding-block: 96px 92px; }
.wwd-page .page-intro-inner { max-width: 750px; }
.wwd-page .page-intro h1 { font-size: 48px; line-height: 1.12; letter-spacing: -.035em; }
.wwd-page .page-deck { color: var(--navy); font-size: 30px; line-height: 1.3; font-weight: 500; letter-spacing: -.022em; margin-top: 26px; }
.wwd-page .page-intro-copy { margin-top: 28px; font-size: 18px; line-height: 1.72; }
.wwd-page .page-intro .actions { margin-top: 32px; }
.wwd-page .services { padding: 0 0 28px; }
.wwd-page .service-band { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.85fr); column-gap: 64px; padding-block: 56px; border-top: 1px solid var(--rule); }
.wwd-page .service-number { display: block; color: var(--mid-blue); font-size: 15px; font-weight: 500; line-height: 1.4; margin-bottom: 17px; }
.wwd-page .service-heading h2 { font-size: 24px; line-height: 1.3; letter-spacing: -.018em; margin: 0; max-width: 330px; }
.wwd-page .service-copy { min-width: 0; max-width: 750px; }
.wwd-page .service-copy p { font-size: 17px; line-height: 1.65; }
.wwd-page .service-copy .typical-output { margin-top: 26px; padding: 22px 26px; background: var(--light-neutral); font-size: 16px; line-height: 1.6; }
.wwd-page .typical-output strong { font-weight: 600; color: var(--navy); }
.wwd-page .team-section { border-top: 1px solid var(--rule); }
.wwd-page .editorial-section { padding-block: 80px; }
.wwd-page .editorial-section h2 { font-size: 30px; line-height: 1.25; margin-bottom: 26px; }
.wwd-page .editorial-copy { max-width: 750px; }
.wwd-page .approach-section { background: var(--light-neutral); }
.wwd-page .approach-section .text-link { margin-top: 26px; }
.wwd-page .closing h2 { max-width: 820px; }
@media (max-width: 1179px) {
  .wwd-page .service-band { column-gap: 48px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); }
}
@media (max-width: 1023px) {
  .wwd-page .page-intro { padding-block: 78px 80px; }
  .wwd-page .page-intro h1 { font-size: 44px; }
  .wwd-page .page-deck { font-size: 28px; }
  .wwd-page .service-band { column-gap: 36px; padding-block: 48px; }
  .wwd-page .service-heading h2 { font-size: 23px; }
  .wwd-page .service-copy .typical-output { padding: 20px 22px; }
  .wwd-page .editorial-section { padding-block: 72px; }
}
@media (max-width: 767px) {
  .wwd-page .page-intro { padding-block: 60px 64px; }
  .wwd-page .page-intro h1 { font-size: 38px; line-height: 1.13; }
  .wwd-page .page-deck { font-size: 26px; line-height: 1.3; margin-top: 22px; }
  .wwd-page .page-intro-copy { margin-top: 24px; font-size: 17px; line-height: 1.67; }
  .wwd-page .services { padding-bottom: 16px; }
  .wwd-page .service-band { grid-template-columns: minmax(0,1fr); row-gap: 24px; padding-block: 40px; }
  .wwd-page .service-number { margin-bottom: 12px; font-size: 14px; }
  .wwd-page .service-heading h2 { font-size: 22px; max-width: none; }
  .wwd-page .service-copy p { font-size: 16px; line-height: 1.65; }
  .wwd-page .service-copy .typical-output { margin-top: 24px; padding: 20px; font-size: 16px; }
  .wwd-page .editorial-section { padding-block: 64px; }
  .wwd-page .editorial-section h2 { font-size: 28px; margin-bottom: 24px; }
  .wwd-page .page-intro .btn, .wwd-page .closing .btn { width: 100%; }
}
@media print {
  .wwd-page .page-intro, .wwd-page .editorial-section { padding-block: 28px; }
  .wwd-page .service-band { break-inside: avoid; padding-block: 24px; }
  .wwd-page .typical-output { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
