.service-hero { position: relative; min-height: min(940px, 96svh); display: flex; align-items: flex-end; overflow: hidden; border-bottom: 1px solid var(--color-border); }
.service-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.72) 43%, rgba(0,0,0,.12) 78%), linear-gradient(0deg, #000 0%, transparent 34%); }
.service-hero-media { position: absolute; inset: 0; }
.service-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: serviceDrift 18s var(--ease) both; }
@keyframes serviceDrift { from { transform: scale(1.045); } to { transform: scale(1); } }
.service-hero-content { position: relative; z-index: 2; width: 100%; padding-top: 150px; padding-bottom: clamp(72px, 9vw, 130px); }
.service-hero h1 { max-width: 1120px; margin: 26px 0 34px; font-size: clamp(54px, 7.2vw, 116px); line-height: .91; font-weight: 500; letter-spacing: 0; }
.service-hero-intro { display: grid; grid-template-columns: minmax(280px, 610px) auto; gap: 48px; align-items: end; }
.service-hero-intro p { margin: 0; color: #b7b7b7; font-size: clamp(17px, 1.45vw, 23px); line-height: 1.55; }
.service-hero-intro .button { justify-self: end; }

.service-thesis { overflow: hidden; }
.service-thesis-grid { display: grid; grid-template-columns: 1fr 3fr; gap: 40px; }
.service-thesis h2 { max-width: 1120px; margin: 0; font-size: clamp(48px, 6.6vw, 104px); line-height: .96; font-weight: 500; }
.service-thesis p { max-width: 680px; margin: 48px 0 0; color: #a1a1a1; font-size: clamp(18px, 1.7vw, 27px); line-height: 1.5; }

.service-questions { padding-bottom: clamp(96px, 13vw, 210px); }
.question-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.question-list li { display: grid; grid-template-columns: 90px minmax(260px, 1.55fr) minmax(280px, 1fr); gap: clamp(24px, 4vw, 70px); align-items: start; padding: clamp(34px, 5vw, 74px) 0; border-bottom: 1px solid var(--color-border); }
.question-list > li > span { padding-top: 8px; color: var(--color-accent-pink); font: 600 11px/1 var(--font-label); }
.question-list h3 { margin: 0; font-size: clamp(34px, 4vw, 64px); line-height: 1; font-weight: 500; }
.question-list p { max-width: 530px; margin: 7px 0 0; color: #999; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.6; }

.service-visual { position: relative; min-height: min(860px, 92svh); overflow: hidden; background: #050505; }
.service-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.service-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.88), transparent 55%); }
.service-visual-copy { position: absolute; z-index: 2; inset: auto 0 0; padding-bottom: clamp(46px, 6vw, 88px); }
.service-visual-copy p { max-width: 890px; margin: 0; font-size: clamp(34px, 4.7vw, 76px); line-height: 1; font-weight: 500; }

.service-scope { background: #fff; color: #000; }
.service-scope .section-index { color: #666; }
.scope-head { display: grid; grid-template-columns: 1fr 3fr; gap: 40px; margin-bottom: clamp(70px, 10vw, 140px); }
.scope-head h2 { max-width: 980px; margin: 0; font-size: clamp(48px, 6.5vw, 100px); line-height: .95; font-weight: 500; }
.scope-list { border-top: 1px solid rgba(0,0,0,.22); }
.scope-row { display: grid; grid-template-columns: 90px 1fr 1fr; gap: clamp(24px, 4vw, 70px); padding: clamp(30px, 4vw, 58px) 0; border-bottom: 1px solid rgba(0,0,0,.22); }
.scope-row > span { color: #777; font: 600 11px/1.3 var(--font-label); }
.scope-row h3 { margin: -6px 0 0; font-size: clamp(28px, 3.2vw, 48px); line-height: 1.05; font-weight: 500; }
.scope-row p { max-width: 540px; margin: 0; color: #555; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.55; }

.service-next { position: relative; min-height: min(720px, 84svh); display: grid; align-items: center; overflow: hidden; }
.service-next::before { content: ''; position: absolute; inset: 0; background: var(--color-accent); }
.service-next::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 78% 50%, transparent 0 20%, rgba(0,0,0,.18) 20.2% 20.35%, transparent 20.55% 31%, rgba(0,0,0,.12) 31.2% 31.35%, transparent 31.55%), linear-gradient(90deg, rgba(0,0,0,.26), transparent 70%); }
.service-next-content { position: relative; z-index: 2; }
.service-next h2 { max-width: 1100px; margin: 26px 0 44px; font-size: clamp(56px, 8vw, 126px); line-height: .89; font-weight: 500; }
.service-next .eyebrow { color: rgba(255,255,255,.75); }
.service-next .eyebrow::before { background: #fff; }

.service-directory { padding-block: 0; border-top: 1px solid var(--color-border); }
.service-directory a { display: grid; grid-template-columns: 64px 1fr auto; gap: 24px; align-items: center; min-height: 128px; border-bottom: 1px solid var(--color-border); transition: padding var(--duration-base) var(--ease), color var(--duration-fast); }
.service-directory a:hover { padding-inline: 18px; color: var(--color-accent-pink); }
.service-directory span { color: #777; font: 600 10px/1 var(--font-label); }
.service-directory strong { font-size: clamp(25px, 3vw, 44px); font-weight: 500; }
.service-directory i { font-style: normal; font-size: 24px; }

@media (max-width: 900px) {
  .service-hero { min-height: 820px; }
  .service-hero::after { background: linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.3)), linear-gradient(0deg, #000, transparent 55%); }
  .service-hero-media img { object-position: 62% center; }
  .service-hero-intro, .service-thesis-grid, .scope-head { grid-template-columns: 1fr; }
  .service-hero-intro .button { justify-self: start; }
  .question-list li, .scope-row { grid-template-columns: 54px 1fr; }
  .question-list p, .scope-row p { grid-column: 2; }
  .service-visual { min-height: 700px; }
}

@media (max-width: 600px) {
  .service-hero { min-height: 760px; }
  .service-hero-content { padding-top: 120px; padding-bottom: 66px; }
  .service-hero h1 { font-size: clamp(48px, 14.2vw, 68px); }
  .service-hero-intro { gap: 26px; }
  .service-thesis h2, .scope-head h2 { font-size: clamp(42px, 12.5vw, 60px); }
  .service-thesis p { margin-top: 28px; font-size: 18px; }
  .question-list li, .scope-row { grid-template-columns: 34px 1fr; gap: 16px; }
  .question-list h3 { font-size: 35px; }
  .service-visual { min-height: 610px; }
  .service-visual-copy p { font-size: 36px; }
  .service-directory a { grid-template-columns: 38px 1fr auto; min-height: 104px; gap: 12px; }
  .service-next { min-height: 650px; }
  .service-next h2 { font-size: clamp(54px, 15vw, 76px); }
}

@media (prefers-reduced-motion: reduce) {
  .service-hero-media img { animation: none; }
}
