.services-lab { background: #fffefa; color: #080807; padding: 88px var(--gutter); }
.services-lab .section-intro { width: 100%; max-width: 1440px; margin: 0 auto 32px; }
body main .services-lab .section-intro h2 { font-weight: 700 !important; }
.services-lab .service-workbench { width: 100%; max-width: 1440px; min-height: 0; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); grid-template-areas: 'tabs tabs' 'copy art'; gap: 48px 72px; margin: 0 auto; align-items: start; }
.services-lab .service-tabs { grid-area: tabs; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; width: 100%; margin: 0; }
body .services-lab .service-tabs button { display: flex; align-items: center; font-family: var(--font-ui); font-size: 24px; font-weight: 600; line-height: 1.4; text-transform: none; color: #4b4b48; padding: 16px 20px 16px 0; min-height: 88px; border-bottom: 3px solid #08080726; background: transparent; text-align: left; opacity: 1; }
body .services-lab .service-tabs button[aria-selected="true"] { color: #080807; font-weight: 700; border-bottom-color: #ff6100; box-shadow: none; }
.services-lab .service-tabs button:hover { color: #080807; background: #08080705; }
.services-lab .service-panel { grid-area: copy; min-width: 0; min-height: 560px; padding: 0; }
body .services-lab .service-panel h3 { font-family: var(--font-display) !important; font-weight: 700 !important; font-size: 40px !important; line-height: 1.2 !important; max-width: 26ch; margin: 0 0 24px; }
.services-lab .service-panel > p:not(.stage-label) { font-family: var(--font-body); font-size: 22px; font-weight: 400; line-height: 1.55; color: #4b4b48; margin: 0; }
.services-lab .service-panel ul { margin: 24px 0; padding: 0; }
.services-lab .service-panel li { font-family: var(--font-body); font-size: 20px; font-weight: 400; line-height: 1.5; color: #4b4b48; padding: 16px 0; border-color: #08080726; }
body .services-lab .service-panel .text-link { font-size: 18px !important; font-weight: 500 !important; text-transform: none; color: #bc4400; }
.services-lab .expertise-visual { grid-area: art; position: static; top: auto; width: 100%; min-height: 0; border: 0; }
.services-lab .expertise-state { min-height: 0; padding: 0; border: 0; }
.services-lab :is(.service-tabs,.service-panel,.expertise-visual) { order: 0 !important; }
.services-lab .visual-label { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.4; color: #080807; }
.services-lab .visual-note { font-family: var(--font-body); font-size: 22px; font-weight: 400; line-height: 1.55; color: #4b4b48; }
.services-lab :is(.strategy-map button,.visual-modes button) { font-family: var(--font-ui); font-size: 18px; font-weight: 600; }
.services-lab .campaign-plan li { font-family: var(--font-ui); font-size: 20px; font-weight: 600; }
.services-lab .strategy-map button[aria-pressed="true"] { background: #ff6100; color: #080807; border-color: #ff6100; }
body .services-lab .service-tabs button:focus-visible { outline: 2px solid #c74600; outline-offset: -4px; }
@media (max-width: 1023px) {
  .services-lab .service-workbench { grid-template-columns: minmax(0,1fr); grid-template-areas: 'tabs' 'copy' 'art'; gap: 40px; }
  .services-lab .service-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .services-lab .service-panel { min-height: 0; }
  .services-lab .expertise-visual { max-width: 620px; }
}
@media (max-width: 680px) {
  .services-lab { padding: 56px 20px; }
  .services-lab .section-intro { margin-bottom: 32px; }
  body main .services-lab .section-intro h2 { font-size: 32px !important; }
  body .services-lab .service-tabs button { font-size: 20px; min-height: 88px; padding: 12px 12px 12px 0; }
  body .services-lab .service-panel h3 { font-size: 32px !important; }
  .services-lab :is(.service-panel > p:not(.stage-label),.visual-note) { font-size: 20px; }
  .services-lab .service-panel li { font-size: 18px; }
  .services-lab .visual-label { font-size: 20px; }
  .services-lab :is(.strategy-map button,.visual-modes button) { font-size: 16px; }
  .services-lab .campaign-plan li { font-size: 18px; }
}
