.service-hero {
  display: grid;
  grid-template-columns: 1.06fr .94fr;
  min-height: calc(100svh - 76px);
  color: var(--white);
  background: var(--ink);
  border-bottom: 1px solid var(--ink);
}
.service-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem) var(--pad); }
.service-hero h1,
.service-choice h2,
.service-capabilities h2,
.service-process h2,
.service-environment h2,
.service-rates h2,
.service-faq h2,
.service-cta h2 { margin: 0; font-weight: 900; letter-spacing: -.065em; line-height: .92; }
.service-hero h1 { max-width: 920px; font-size: clamp(3rem, 5.55vw, 6.25rem); text-transform: uppercase; }
.service-hero-copy > p { max-width: 46rem; margin: 2rem 0 0; color: rgba(255,255,255,.75); font-size: clamp(1.05rem, 1.55vw, 1.35rem); }
.service-hero-art { position: relative; min-height: 620px; overflow: hidden; border-left: 1px solid rgba(255,255,255,.3); }
.service-hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(0,0,0,.7)); }
.service-hero-art img { width: 100%; height: 100%; object-fit: cover; }
.service-hero-art.recording img { object-position: center 43%; }
.service-hero-art.voiceover img { object-position: center 42%; }
.service-hero-art span { position: absolute; left: 1.5rem; bottom: 1.5rem; z-index: 1; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.service-proof { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--accent); border-bottom: 1px solid var(--ink); }
.service-proof article { min-height: 9.25rem; padding: 1.5rem var(--pad); border-right: 1px solid var(--ink); }
.service-proof article:last-child { border-right: 0; }
.service-proof strong, .service-proof span { display: block; text-transform: uppercase; }
.service-proof strong { margin-bottom: .8rem; font-size: clamp(1.25rem, 2vw, 2.1rem); font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.service-proof span { max-width: 17rem; font-size: .76rem; font-weight: 800; letter-spacing: .055em; line-height: 1.4; }

.service-choice-head,
.service-capabilities-head,
.service-process-head,
.service-faq-head,
.service-rates-head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(2rem, 6vw, 8rem); align-items: start; }
.service-choice h2,
.service-capabilities h2,
.service-process h2,
.service-environment h2,
.service-rates h2,
.service-faq h2,
.service-cta h2 { font-size: clamp(3rem, 5.4vw, 6rem); }
.service-choice-head > p,
.service-capabilities-head > p,
.service-process-head > p,
.service-faq-head > p,
.service-rates-head > p,
.service-environment p { margin: 0; color: var(--muted); font-size: 1.05rem; }

.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border: 1px solid var(--ink); }
.choice-grid article { display: flex; min-height: 23rem; padding: 2rem; flex-direction: column; border-right: 1px solid var(--ink); }
.choice-grid article:last-child { border-right: 0; }
.choice-grid article:nth-child(2) { background: var(--accent); }
.choice-grid span, .capability-grid span { font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.choice-grid h3 { margin: auto 0 1rem; font-size: clamp(2rem, 3.2vw, 3.75rem); letter-spacing: -.055em; line-height: .96; text-transform: uppercase; }
.choice-grid p { margin: 0; }

.service-capabilities { padding-top: 6.5rem; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.service-capabilities-head { padding-bottom: 4rem; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.capability-grid article { min-height: 21rem; padding: clamp(1.5rem, 3vw, 3rem); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.capability-grid article:nth-child(3n) { border-right: 0; }
.capability-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.capability-grid h3 { margin: 4.5rem 0 1rem; font-size: clamp(1.8rem, 2.7vw, 3rem); letter-spacing: -.045em; line-height: 1; text-transform: uppercase; }
.capability-grid p { margin: 0; color: var(--muted); }
.capability-grid .capability-dark { color: var(--white); background: var(--ink); }
.capability-grid .capability-dark p { color: rgba(255,255,255,.7); }

.service-rates { padding-top: 6.5rem; border-top: 1px solid var(--ink); }
.service-rates-head { padding-bottom: 4rem; }
.service-rate-list { border-top: 1px solid var(--ink); }
.service-rate-list article { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(250px,.8fr) minmax(280px,1.2fr); gap: 2rem; align-items: start; padding: 1.5rem var(--pad); border-bottom: 1px solid var(--ink); }
.service-rate-list article:nth-child(even) { background: var(--white); }
.service-rate-list span { font-size: .78rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.service-rate-list strong { font-size: clamp(1.2rem, 2vw, 1.85rem); letter-spacing: -.035em; }
.service-rate-list p { margin: 0; color: var(--muted); }
.rate-note { display: flex; justify-content: space-between; gap: 2rem; padding: 1.5rem var(--pad); color: var(--white); background: var(--ink); }
.rate-note p { max-width: 46rem; margin: 0; }

.service-process-head { margin-bottom: 4rem; }
.service-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ink); }
.service-process-grid article { min-height: 21rem; padding: 2rem; border-right: 1px solid var(--ink); }
.service-process-grid article:last-child { border-right: 0; }
.service-process-grid span { color: var(--accent); font-weight: 900; }
.service-process-grid h3 { margin: 5rem 0 1rem; font-size: 2rem; letter-spacing: -.04em; text-transform: uppercase; }
.service-process-grid p { margin: 0; color: var(--muted); }

.service-environment { display: grid; grid-template-columns: .9fr 1.1fr; color: var(--white); background: var(--ink); }
.service-environment-image { min-height: 680px; overflow: hidden; border-right: 1px solid rgba(255,255,255,.3); }
.service-environment-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.service-environment-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4.5rem, 8vw, 8rem) var(--pad); }
.service-environment p { max-width: 42rem; color: rgba(255,255,255,.72); }
.service-environment .check-list { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.35); }
.service-environment .check-list li { padding: .95rem 0; border-bottom: 1px solid rgba(255,255,255,.22); font-weight: 750; }

.service-faq-head { margin-bottom: 4rem; }
.service-faq-list { border-top: 1px solid var(--ink); }
.service-faq-list details { border-bottom: 1px solid var(--ink); }
.service-faq-list summary { position: relative; padding: 1.45rem 3rem 1.45rem 0; font-size: clamp(1.05rem, 1.7vw, 1.35rem); font-weight: 850; cursor: pointer; list-style: none; }
.service-faq-list summary::-webkit-details-marker { display: none; }
.service-faq-list summary::after { content: "+"; position: absolute; right: .5rem; top: 50%; transform: translateY(-50%); color: var(--accent); font-size: 1.75rem; }
.service-faq-list details[open] summary::after { content: "−"; }
.service-faq-list details p { max-width: 58rem; margin: 0; padding: 0 0 1.5rem; color: var(--muted); }

.service-cta { display: grid; grid-template-columns: 1.15fr .85fr; gap: 3rem; align-items: end; padding: clamp(4.5rem, 8vw, 8rem) var(--pad); color: var(--white); background: var(--ink); border-top: 1px solid rgba(255,255,255,.25); }
.service-cta > div:first-child > span { display: block; margin-bottom: 1.5rem; color: var(--accent); font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.service-cta > div:last-child { display: flex; align-items: flex-start; flex-direction: column; gap: 1.5rem; }

@media (max-width: 980px) {
  .service-hero { grid-template-columns: 1fr; }
  .service-hero-art { min-height: 65svh; border-left: 0; border-top: 1px solid rgba(255,255,255,.3); }
  .service-proof { grid-template-columns: 1fr 1fr; }
  .service-proof article:nth-child(2) { border-right: 0; }
  .service-proof article:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .service-choice-head, .service-capabilities-head, .service-process-head, .service-faq-head, .service-rates-head, .service-cta { grid-template-columns: 1fr; }
  .choice-grid, .capability-grid, .service-process-grid { grid-template-columns: 1fr; }
  .choice-grid article, .capability-grid article, .service-process-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink); }
  .choice-grid article:last-child, .capability-grid article:last-child, .service-process-grid article:last-child { border-bottom: 0; }
  .capability-grid h3, .service-process-grid h3 { margin-top: 3rem; }
  .service-rate-list article { grid-template-columns: .8fr 1fr; }
  .service-rate-list p { grid-column: 1 / -1; }
  .service-environment { grid-template-columns: 1fr; }
  .service-environment-image { min-height: 68svh; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.3); }
}

@media (max-width: 640px) {
  .service-hero { min-height: calc(100svh - 68px); }
  .service-hero-copy { min-height: calc(100svh - 68px); padding-top: 4rem; }
  .service-hero h1 { font-size: clamp(2.65rem, 12vw, 4.4rem); }
  .service-hero-art { min-height: 58svh; }
  .service-proof { grid-template-columns: 1fr; }
  .service-proof article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink); }
  .service-proof article:last-child { border-bottom: 0; }
  .service-choice h2, .service-capabilities h2, .service-process h2, .service-environment h2, .service-rates h2, .service-faq h2, .service-cta h2 { font-size: clamp(2.65rem, 13vw, 4.5rem); }
  .choice-grid article, .capability-grid article { padding: 1.5rem; }
  .service-capabilities, .service-rates { padding-top: 4.5rem; }
  .service-rate-list article { grid-template-columns: 1fr; gap: .55rem; }
  .service-rate-list p { grid-column: auto; }
  .rate-note { align-items: flex-start; flex-direction: column; }
  .service-environment-image { min-height: 70svh; }
}
