.service-page { background: var(--paper); }
.service-header { position: sticky; z-index: 50; top: 0; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.service-header-inner { min-height: 86px; display: flex; align-items: center; gap: 38px; }
.service-logo { width: 300px; flex: 0 0 auto; }
.service-logo img { width: 100%; height: auto; display: block; }
.service-header nav { margin-left: auto; display: flex; gap: 28px; }
.service-header nav a { font-size: 15px; font-weight: 750; }
.service-header-phone { flex: 0 0 auto; color: var(--blue); font-size: 17px; font-weight: 850; white-space: nowrap; }

.service-hero { padding: 26px 0 0; }
.breadcrumbs { min-width: 0; margin-bottom: 20px; display: flex; gap: 9px; color: var(--muted); font-size: 14px; }
.breadcrumbs a { color: var(--blue); }
.service-hero-grid { min-height: 545px; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.72fr); border-top: 1px solid var(--ink); }
.service-hero-copy { min-width: 0; padding: 42px 46px 46px 0; align-self: center; }
.service-label { color: var(--blue); font-size: 14px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.service-hero h1 { max-width: 760px; margin: 17px 0 20px; font-size: clamp(54px,5.7vw,82px); line-height: .92; letter-spacing: -.068em; text-transform: uppercase; overflow-wrap: anywhere; }
.service-subject { max-width: 680px; margin: 0; color: var(--muted); font-size: 19px; line-height: 1.5; }
.service-offer { max-width: 700px; margin: 22px 0 0; padding: 13px 0 13px 18px; border-left: 6px solid var(--orange); font-size: 19px; line-height: 1.35; }
.service-offer strong { color: var(--blue); }
.service-actions { margin-top: 26px; display: flex; gap: 10px; }
.service-hero-art { position: relative; overflow: hidden; min-height: 545px; display: grid; place-items: center; background: var(--blue); }
.service-hero-art::before { content: ''; position: absolute; width: 66%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.service-hero-art::after { content: ''; position: absolute; width: 135px; height: 135px; right: -25px; bottom: -22px; background: var(--orange); }
.service-hero-art > span { position: absolute; z-index: 2; left: 24px; top: 22px; color: var(--white); font-size: 14px; font-weight: 850; line-height: 1.15; text-transform: uppercase; }
.service-hero-art img { position: relative; z-index: 1; width: min(82%,450px); max-height: 500px; object-fit: contain; filter: drop-shadow(15px 22px 16px rgba(0,0,0,.21)); }

.service-facts { color: var(--white); background: var(--ink); }
.service-facts-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.service-facts-grid > div { min-height: 142px; padding: 24px 28px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; column-gap: 18px; border-left: 1px solid rgba(255,255,255,.22); }
.service-facts-grid > div:first-child { border-left: 0; }
.service-facts b { grid-row: 1/-1; align-self: start; color: var(--orange); font-size: 14px; }
.service-facts strong { align-self: end; font-size: 24px; }
.service-facts span { margin-top: 5px; color: rgba(255,255,255,.6); font-size: 15px; }

.service-content-section { padding: 86px 0; background: var(--white); }
.service-content-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: 64px; align-items: stretch; }
.service-content-title { min-width: 0; display: flex; flex-direction: column; }
.service-content-section h2,.service-process h2,.service-other h2,.service-cta h2 { margin: 14px 0 0; font-size: clamp(41px,4.2vw,62px); line-height: .98; letter-spacing: -.055em; }
.service-instrument-strip { min-height: 225px; margin-top: auto; padding: 20px; display: grid; grid-template-columns: repeat(3,1fr); align-items: end; gap: 6px; background: var(--paper); border: 1px solid var(--line); }
.service-instrument-strip img { width: 100%; height: 165px; object-fit: contain; filter: drop-shadow(8px 12px 8px rgba(23,25,35,.12)); }
.service-description { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.service-description-lead { grid-column: 1/-1; margin: 0; padding: 28px; color: var(--ink); background: var(--paper); border-top: 4px solid var(--blue); font-size: 21px; line-height: 1.55; }
.service-model-card,.service-input-card { min-height: 206px; padding: 25px; display: flex; flex-direction: column; border: 1px solid var(--line); }
.service-model-card { color: var(--white); background: var(--blue); border-color: var(--blue); }
.service-model-card span,.service-input-card span { margin-bottom: auto; color: var(--orange); font-size: 13px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.service-model-card strong { font-size: 21px; line-height: 1.35; }
.service-input-card span { color: var(--blue); }
.service-input-card p { margin: auto 0 0; color: var(--muted); font-size: 16px; line-height: 1.55; }

.service-process { padding: 86px 0; color: var(--white); background: var(--blue); }
.service-process-layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: 60px; align-items: start; }
.service-process .service-label { color: var(--orange); }
.service-process-heading { position: sticky; top: 118px; }
.service-process-heading p { max-width: 430px; margin: 20px 0 0; color: rgba(255,255,255,.64); font-size: 17px; line-height: 1.55; }
.service-process ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; border-top: 1px solid rgba(255,255,255,.3); border-left: 1px solid rgba(255,255,255,.3); }
.service-process li { min-height: 208px; padding: 24px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.service-process li > b { color: var(--orange); font-size: 14px; }
.service-process li > div { margin-top: auto; }
.service-process h3 { margin: 0 0 8px; font-size: 22px; }
.service-process p { margin: 0; color: rgba(255,255,255,.65); font-size: 15px; line-height: 1.5; }

.service-other { padding: 76px 0; background: var(--paper); }
.service-other h2 { max-width: 780px; }
.service-other nav { margin-top: 34px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 2px solid var(--ink); border-left: 1px solid var(--line); }
.service-other nav a { min-height: 64px; padding: 15px 17px; display: flex; align-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 750; }
.service-other nav a:hover { background: var(--orange); }

.service-cta { padding: 68px 0; background: var(--orange); }
.service-cta .container { display: grid; grid-template-columns: minmax(0,1fr) max-content; gap: 64px; align-items: center; }
.service-cta .service-label { color: var(--ink); }
.service-cta h2 { max-width: 760px; font-size: clamp(40px,4vw,58px); }
.service-cta-phone { display: block; font-size: clamp(34px,3.4vw,52px); line-height: 1; font-weight: 850; letter-spacing: -.045em; white-space: nowrap; }
.service-cta p { margin: 16px 0 0; font-size: 16px; line-height: 1.45; }
.service-footer { padding: 46px 0; background: var(--white); }
.service-footer .container { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 50px; align-items: center; }
.service-footer img { width: 280px; height: auto; }
.service-footer p { margin: 0; color: var(--muted); font-size: 14px; }

@media (max-width: 1120px) {
  .service-header nav { display: none; }
  .service-header-phone { margin-left: auto; }
  .service-hero-grid { grid-template-columns: minmax(0,1fr) minmax(340px,.64fr); }
  .service-hero h1 { font-size: clamp(50px,6vw,70px); }
  .service-content-grid { gap: 40px; }
  .service-other nav { grid-template-columns: repeat(3,1fr); }
  .service-cta .container { grid-template-columns: 1fr; gap: 28px; align-items: start; }
}

@media (max-width: 880px) {
  .service-hero-grid { grid-template-columns: 1fr; }
  .service-hero-art { min-height: 440px; }
  .service-content-grid,.service-process-layout { grid-template-columns: 1fr; }
  .service-process-heading { position: static; }
  .service-facts-grid { grid-template-columns: 1fr; }
  .service-facts-grid > div { min-height: 112px; border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
  .service-facts-grid > div:first-child { border-top: 0; }
  .service-other nav { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .service-header-inner { min-height: 74px; gap: 14px; }
  .service-logo { width: 215px; }
  .service-header-phone { font-size: 0; }
  .service-header-phone::after { content: 'Позвонить'; font-size: 14px; }
  .service-hero { padding-top: 18px; }
  .breadcrumbs { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .service-hero-copy { padding: 30px 0 36px; }
  .service-hero h1 { font-size: 46px; }
  .service-subject { font-size: 17px; }
  .service-offer { font-size: 17px; }
  .service-actions { flex-direction: column; }
  .service-actions .button { width: 100%; }
  .service-hero-art { min-height: 355px; }
  .service-hero-art img { width: min(84%,360px); max-height: 330px; }
  .service-content-section,.service-process,.service-other { padding: 64px 0; }
  .service-cta { padding: 58px 0; }
  .service-content-section h2,.service-process h2,.service-other h2,.service-cta h2 { font-size: 37px; }
  .service-instrument-strip { min-height: 175px; }
  .service-instrument-strip img { height: 125px; }
  .service-description { grid-template-columns: 1fr; }
  .service-description-lead { padding: 22px; font-size: 18px; }
  .service-model-card,.service-input-card { min-height: 175px; }
  .service-process-layout { gap: 34px; }
  .service-process ol { grid-template-columns: 1fr; }
  .service-process li { min-height: 175px; }
  .service-other nav { grid-template-columns: 1fr; }
  .service-cta-phone { font-size: 32px; }
  .service-footer .container { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 390px) {
  .service-logo { width: 190px; }
  .service-hero h1 { font-size: 42px; }
  .service-cta-phone { font-size: 29px; }
}
