.service-page { background: var(--paper); }

.service-hero {
  min-height: 760px;
  padding-top: var(--header-height);
  color: var(--navy);
  background: #edf3f6;
}
.service-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  align-items: stretch;
  min-height: calc(760px - var(--header-height));
}
.service-hero-copy {
  align-self: center;
  padding: 78px 64px 76px 0;
}
.service-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
  color: #607080;
  font-size: 12px;
  font-weight: 650;
}
.service-breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.service-hero h1 {
  max-width: 760px;
  margin: 24px 0 26px;
  font-size: clamp(50px, 5.2vw, 76px);
  font-weight: 760;
  letter-spacing: -.052em;
  line-height: 1.01;
}
.service-hero-lead { max-width: 650px; margin: 0; color: #536273; font-size: 18px; line-height: 1.62; }
.service-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.service-hero-proofs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 40px;
}
.service-hero-proofs span { padding: 3px 12px 3px 15px; border-left: 2px solid #e2923b; font-size: 13px; font-weight: 720; line-height: 1.45; }
.service-hero-media { position: relative; min-height: 590px; overflow: hidden; }
.service-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.service-hero-media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,49,93,.08), transparent 45%); content: ""; }

.service-intro-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(52px, 8vw, 126px); }
.service-intro-copy h2 { max-width: 560px; margin: 28px 0 28px; font-size: clamp(40px, 4.4vw, 65px); }
.service-intro-copy > p:last-child { max-width: 570px; color: var(--ink-soft); font-size: 17px; line-height: 1.7; }
.service-problem-list { border-top: 1px solid var(--line); }
.service-problem-list article { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.service-problem-list span { color: var(--blue); font-size: 12px; font-weight: 800; }
.service-problem-list h3 { margin-bottom: 7px; color: var(--navy); font-size: 21px; font-weight: 720; letter-spacing: -.02em; }
.service-problem-list p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }

.service-audience-section { padding: 112px 0; color: var(--white); background: var(--night); }
.service-audience-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 10vw, 150px); align-items: start; }
.service-audience-section h2 { max-width: 650px; margin: 28px 0 26px; }
.service-audience-section .service-audience-lead { max-width: 570px; color: #aebdca; font-size: 17px; line-height: 1.65; }
.service-audience-list { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; }
.service-audience-list li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.16); color: #d8e2eb; line-height: 1.5; }
.service-audience-list li::before { color: #79b4ed; font-weight: 800; content: "✓"; }

.service-scope-heading { display: grid; grid-template-columns: .72fr 1.28fr; gap: 60px; margin-bottom: 62px; }
.service-scope-heading h2 { max-width: 820px; }
.service-scope-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #c4cfd7; }
.service-scope-item { min-height: 250px; padding: 32px; border-right: 1px solid #cbd5dc; border-bottom: 1px solid #cbd5dc; }
.service-scope-item:nth-child(3n + 1) { padding-left: 0; }
.service-scope-item:nth-child(3n) { padding-right: 0; border-right: 0; }
.service-scope-item span { display: block; margin-bottom: 70px; color: var(--blue); font-size: 12px; font-weight: 800; }
.service-scope-item h3 { margin-bottom: 12px; color: var(--navy); font-size: 23px; font-weight: 720; letter-spacing: -.025em; }
.service-scope-item p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }

.service-process { background: var(--white); }
.service-process-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; margin-bottom: 60px; }
.service-process-heading > *, .service-scope-heading > * { min-width: 0; }
.service-process-heading h2 { max-width: 820px; }

.service-benefits { padding: 112px 0; color: var(--white); background: var(--navy); }
.service-benefits-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 140px); }
.service-benefits h2 { max-width: 610px; margin: 28px 0 26px; }
.service-benefits-copy > p:last-child { max-width: 570px; color: #c0cfdb; font-size: 17px; line-height: 1.65; }
.service-benefit-list { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.25); list-style: none; counter-reset: benefit; }
.service-benefit-list li { position: relative; padding: 25px 0 25px 54px; border-bottom: 1px solid rgba(255,255,255,.18); color: #e3ebf2; line-height: 1.55; counter-increment: benefit; }
.service-benefit-list li::before { position: absolute; top: 26px; left: 0; color: #82bdf4; font-size: 12px; font-weight: 800; content: "0" counter(benefit); }

.service-related { padding: 72px 0; border-top: 1px solid var(--line); background: var(--white); }
.service-related-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.service-related h2 { max-width: 520px; font-size: clamp(32px, 3.6vw, 48px); }
.service-related-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.service-related-links a { min-height: 48px; padding: 13px 17px; color: var(--navy); border: 1px solid var(--line); border-radius: 10px; font-size: 13px; font-weight: 720; transition: border-color .2s, background .2s; }
.service-related-links a:hover { border-color: var(--blue); background: #f2f6f9; }

@media (max-width: 1120px) {
  .service-hero-layout { grid-template-columns: 1fr .82fr; }
  .service-hero-copy { padding-right: 42px; }
  .service-hero h1 { font-size: 54px; }
  .service-hero-proofs { grid-template-columns: 1fr; gap: 10px; }
  .service-scope-grid { grid-template-columns: repeat(2, 1fr); }
  .service-scope-item, .service-scope-item:nth-child(3n + 1), .service-scope-item:nth-child(3n) { padding: 30px; border-right: 1px solid #cbd5dc; }
  .service-scope-item:nth-child(2n + 1) { padding-left: 0; }
  .service-scope-item:nth-child(2n) { padding-right: 0; border-right: 0; }
}

@media (max-width: 780px) {
  .service-hero { min-height: 0; }
  .service-hero-layout { grid-template-columns: 1fr; min-height: 0; }
  .service-hero-copy { padding: 46px 0 52px; }
  .service-breadcrumbs { margin-bottom: 25px; }
  .service-hero h1 { margin-top: 18px; font-size: clamp(40px, 11.7vw, 52px); line-height: 1.02; }
  .service-hero-lead { font-size: 16px; }
  .service-hero-actions { display: grid; }
  .service-hero-actions .button { width: 100%; }
  .service-hero-proofs { margin-top: 31px; }
  .service-hero-media { min-height: 320px; margin-inline: -18px; }
  .service-intro-layout, .service-audience-layout, .service-benefits-layout { grid-template-columns: 1fr; gap: 48px; }
  .service-audience-section, .service-benefits { padding: 86px 0; }
  .service-scope-heading, .service-process-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 42px; }
  .service-process-heading h2, .service-scope-heading h2 { overflow-wrap: anywhere; }
  .service-scope-grid { grid-template-columns: 1fr; }
  .service-scope-item, .service-scope-item:nth-child(2n + 1), .service-scope-item:nth-child(2n), .service-scope-item:nth-child(3n + 1), .service-scope-item:nth-child(3n) { min-height: 0; padding: 25px 0 28px; border-right: 0; }
  .service-scope-item span { margin-bottom: 26px; }
  .service-related-inner { align-items: flex-start; flex-direction: column; }
  .service-related-links { justify-content: flex-start; }
  .service-related-links a { width: 100%; }
}
