.text-media { padding-block: var(--section-space); }
.text-media__inner { display: grid; grid-template-columns: minmax(0, 471fr) minmax(0, 546fr); gap: 95px; align-items: center; }
.text-media--right .text-media__media { order: 1; }
.text-media--no-image .text-media__inner { display: block; max-width: 800px; }
.text-media__media { position: relative; border-radius: var(--radius-card); min-width: 0; }
.text-media__image { display: block; width: 100%; height: 100%; aspect-ratio: 471 / 400; object-fit: cover; border-radius: inherit; }
.text-media--feature_grid .text-media__image { aspect-ratio: 471 / 650; }
.text-media--feature_stack .text-media__image { aspect-ratio: 580 / 560; }
.text-media--feature_stack .text-media__inner { grid-template-columns: minmax(0,580fr) minmax(0,452fr); gap: var(--space-15); }
.text-media__copy h2 { font-size: var(--text-title); line-height: var(--leading-title); font-weight: var(--font-weight-medium); margin: 0 0 var(--space-8); }
.text-media .section-prose, .text-media .feature-items p { color: var(--color-text-secondary); }
.text-media__overlay { position: absolute; left: var(--space-7); bottom: var(--space-7); max-width: min(329px, calc(100% - 40px)); background: var(--color-white); padding: var(--space-6); border-radius: var(--radius-input); box-shadow: var(--shadow-card); }
.text-media__overlay h3 { margin: 0 0 var(--space-3); font-size: var(--text-base); line-height: var(--leading-body); }
.text-media__overlay p { margin: 0; font-size: var(--text-small); line-height: var(--leading-body); }
.text-media .feature-items { margin-top: var(--space-9); }
.text-media .section-link { margin-top: var(--space-8); }
/* Figma 161:415: 448×482 outer frame, exported 480×593 artwork at (-32,-111). */
.text-media--artwork .text-media__inner { grid-template-columns: minmax(0,448fr) minmax(0,600fr); gap: var(--space-13); }
.text-media--artwork .text-media__media { aspect-ratio: 448/482; border-radius: 0; }
.text-media--artwork .text-media__image { position: absolute; left: calc(100% * -32 / 448); top: calc(100% * -111 / 482); width: calc(100% * 480 / 448); height: calc(100% * 593 / 482); aspect-ratio: 480/593; object-fit: contain; border-radius: 0; }
.text-media--wide .text-media__inner { grid-template-columns: minmax(0,493fr) minmax(0,555fr); gap: var(--space-13); }
.text-media--wide.text-media--right .text-media__inner { grid-template-columns: minmax(0,555fr) minmax(0,493fr); }
.text-media--wide .text-media__image { aspect-ratio: 493/412; }
@media(max-width:1000px) { .text-media__inner, .text-media--feature_stack .text-media__inner { gap: var(--space-9); } }
@media(max-width:767px) { .text-media__inner, .text-media--feature_stack .text-media__inner { grid-template-columns: 1fr; gap: var(--space-8); } .text-media--right .text-media__media { order: 0; } .text-media__copy h2 { font-size: var(--text-h4); line-height: var(--leading-h4); } .text-media--feature_grid .text-media__image { aspect-ratio: 350 / 436; } }

@media(max-width:767px) {
  .text-media--artwork .text-media__inner, .text-media--wide .text-media__inner, .text-media--wide.text-media--right .text-media__inner { grid-template-columns: 1fr; }
  .text-media--artwork .text-media__media { aspect-ratio: 480/593; }
  .text-media--artwork .text-media__image { inset: 0; width: 100%; height: 100%; }
}
.text-media--editorial .text-media__inner { grid-template-columns: minmax(0,480fr) minmax(0,552fr); gap: var(--space-15); }
.text-media--editorial.text-media--right .text-media__inner { grid-template-columns: minmax(0,552fr) minmax(0,480fr); }
.text-media--editorial .text-media__image { aspect-ratio: 480/400; }
@media(max-width:767px) { .text-media--editorial .text-media__inner, .text-media--editorial.text-media--right .text-media__inner { grid-template-columns: 1fr; } }

.text-media__image--mobile { display: none; }
.text-media .section-prose p { margin-block: 0 var(--space-8); }
.text-media .section-prose p:last-child { margin-bottom: 0; }
.text-media--wide .text-media__copy { padding-inline: var(--space-9); }
.text-media--wide .text-media__copy h2 { margin-bottom: var(--space-9); }
.text-media--wide .feature-items { margin-top: var(--space-9); }
.text-media--wide .feature-items li { gap: var(--space-5); align-items: center; }
@media(max-width:767px) {
  .text-media__inner { align-items: start; }
  .text-media__copy { display: contents; }
  .text-media__copy h2 { order: -2; margin: 0; }
  .text-media__media { order: -1; }
  .text-media--right .text-media__media { order: -1; }
  .text-media .feature-items, .text-media .section-link { margin-top: 0; }
  .text-media .feature-items li { gap: var(--space-6); }
  .text-media .feature-items h3 { font-size: var(--text-h6); line-height: var(--leading-h6); font-weight: var(--font-weight-bold); }
  .text-media--plain .text-media__image, .text-media--wide .text-media__image { aspect-ratio: 350/300; }
  .text-media--feature_stack.text-media--automatic .text-media__image { aspect-ratio: 350/380; }
  .text-media--wide .text-media__media { order: 1; }
  .text-media--wide .text-media__copy h2 { margin: 0; }
  .text-media--artwork .text-media__media { aspect-ratio: 350/390; }
  .text-media--artwork .text-media__image--mobile { display: block; object-fit: cover; aspect-ratio: 350/390; }
  .text-media__image--desktop { display: none; }
}

.text-media__overlay { display: flex; align-items: flex-start; gap: var(--space-7); width: 329px; }
.text-media__overlay h3 { font-weight: var(--font-weight-medium); margin-bottom: var(--space-1); }
@media(min-width:768px) {
  .text-media--feature_grid.text-media--automatic .text-media__inner { align-items: start; }
  .text-media--feature_grid.text-media--automatic .text-media__copy h2 { margin-bottom: var(--space-7); }
  .text-media--feature_grid.text-media--automatic .section-prose p:first-child { max-width: 476px; margin-bottom: var(--space-7); }
  .text-media--feature_grid.text-media--automatic .section-prose p:last-child { max-width: 452px; margin-bottom: 0; }
  .text-media--feature_grid.text-media--automatic .feature-items { margin-top: var(--space-13); gap: var(--space-10); }
  .text-media--feature_grid.text-media--automatic .feature-items li { padding-block: var(--space-7); }
  .text-media--feature_grid.text-media--automatic .feature-items h3 { margin-bottom: var(--space-1); }
}
.text-media--artwork .feature-icon { display: none; }
.text-media--artwork .feature-items li { display: block; padding: var(--space-7); border-radius: var(--radius-card); background: var(--color-pink-faint); }
.text-media--artwork .feature-items p { color: var(--color-text-secondary); }
@media(min-width:768px) {
  .text-media--feature_stack.text-media--automatic .text-media__copy h2 { margin-bottom: var(--space-5); }
  .text-media--feature_stack.text-media--automatic .feature-items { margin-top: var(--space-10); }
  .text-media--feature_stack.text-media--automatic .feature-items li { padding-inline: var(--space-7); gap: var(--space-6); }
  .text-media--feature_stack.text-media--automatic .feature-items h3 { margin-bottom: var(--space-1); }
  .text-media--artwork .feature-items { margin-top: var(--space-8); gap: var(--space-11); }
  .text-media--artwork .feature-items h3 { font-size: var(--text-h6); line-height: var(--leading-feature-title); margin-bottom: var(--space-5); }
}
@media(max-width:767px) {
  .text-media--artwork .text-media__inner, .text-media--wide .text-media__inner, .text-media--editorial .text-media__inner { gap: var(--space-8); }
}
@media(max-width:767px) { .text-media--editorial .text-media__media { order: 1; } .text-media--editorial .text-media__image { aspect-ratio: 350/290; } }

.text-media__features.is-collapsible:not(.is-expanded) .feature-items > li:nth-child(n+3) { display: none; }
.text-media__more { display: flex; align-items: center; gap: var(--space-3); min-height: var(--touch-target); margin: var(--space-5) 0 0 auto; border: 0; padding: 0; background: transparent; color: var(--color-pink); font: inherit; font-size: var(--text-small); cursor: pointer; }
.text-media__more[hidden] { display: none; }
.text-media__more::after { content: ''; width: 24px; height: 24px; background: url('../../assets/sections/service-chevron.svg') center/24px 24px no-repeat; transform: rotate(90deg); }
.text-media__more[aria-expanded=true]::after { transform: rotate(-90deg); }
@media(max-width:767px) { .text-media--wide .feature-icon { display: none; } .text-media__more { margin-left: 0; } }
