/* Paid Media composition; shared service-detail primitives stay in local-search.css. */
.paid-media-page h1 span { display:block; }
.pm-hero-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); align-items:center; }
.pm-demand { list-style:none; margin:0; padding:28px 32px; background:var(--charcoal); color:var(--on-dark); border-top:4px solid var(--pink); }
.pm-demand li { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:16px; padding:26px 0; position:relative; }
.pm-demand li + li { border-top:1px solid var(--line-dark); }
.pm-demand li:not(:last-child)::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-down) center/contain no-repeat; mask:var(--icon-arrow-down) center/contain no-repeat; position:absolute; right:0; bottom:-13px; color:var(--pink); background:var(--charcoal); padding:0 10px; z-index:1; }
.pm-demand li > span { color:var(--on-dark-soft); font-size:.8rem; }
.pm-demand strong { font-size:clamp(1.1rem,1.7vw,1.4rem); font-weight:500; letter-spacing:.01em; }
.pm-demand li:last-child strong { color:var(--acid); }
.pm-roles { display:grid; grid-template-columns:1fr 1fr; margin:40px 0 32px; border-block:1px solid var(--line); }
.pm-roles article { padding:36px 40px 24px 0; }
.pm-roles article + article { padding-left:40px; padding-right:0; border-left:1px solid var(--line); }
.pm-role-icon { display:block; width:38px; color:var(--pink); margin-bottom:24px; }
.pm-role-icon svg { display:block; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.pm-roles h3 { max-width:23ch; }
.paid-media-page .pm-examples { color:var(--ink); min-height:3.5em; }
.pm-framework { display:grid; grid-template-columns:1.2fr 1fr; gap:40px 64px; margin:48px 0 30px; }
.pm-framework > div { padding:0; }
.pm-framework dt { display:flex; align-items:center; gap:15px; font-weight:600; font-size:.9rem; margin-bottom:14px; }
.pm-framework dd { margin:0; color:var(--on-dark-soft); }
.pm-situations { margin:0; }
.pm-situations > div { border-top:1px solid var(--line); padding:20px 0; }
.pm-situations dt { font-size:.83rem; font-weight:700; letter-spacing:.04em; margin-bottom:8px; }
.pm-situations dd { margin:0; color:var(--ink-soft); }
.pm-context-links { display:flex; flex-wrap:wrap; gap:12px 32px; margin-top:32px; }
.pm-signals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:48px 0; }
.pm-signals > div { border-top:2px solid var(--pink); padding:22px 0; }
.pm-signals dt { display:flex; justify-content:space-between; gap:12px; font-size:.85rem; font-weight:600; margin-bottom:18px; }
.pm-signals > div:not(:last-child) dt::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-right) center/contain no-repeat; mask:var(--icon-arrow-right) center/contain no-repeat; color:var(--pink); }
.pm-signals dd { margin:0; color:var(--ink-soft); }
.pm-measure { align-items:stretch; }
.pm-asset-slot { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:210px; padding:30px; border:1px dashed #b6b3ae; background:#f7f6f3; text-align:center; }
.pm-asset-slot > span { font-size:2rem; color:var(--pink); }
.pm-asset-slot p { margin:8px 0 0; }
.pm-fit-note { border-top:1px solid var(--line-dark); margin-top:48px; padding-top:32px; }
.pm-fit-note .ls-link { text-decoration-color:var(--on-dark-soft); }
@media(max-width:800px) {
  .pm-hero-grid { grid-template-columns:1fr; }
  .pm-signals { grid-template-columns:1fr; gap:0; }
  .pm-signals > div:not(:last-child) dt::after { content:""; display:inline-block; width:var(--icon-sm); height:var(--icon-sm); background:currentColor; -webkit-mask:var(--icon-arrow-down) center/contain no-repeat; mask:var(--icon-arrow-down) center/contain no-repeat; }
}
@media(max-width:520px) {
  .pm-roles,.pm-framework { grid-template-columns:1fr; }
  .pm-roles article,.pm-roles article + article { padding:28px 0; border-left:0; }
  .pm-roles article + article { border-top:1px solid var(--line); }
  .pm-demand { padding:20px 24px; }
  .pm-framework { margin-top:30px; }
  .pm-context-links { flex-direction:column; align-items:flex-start; }
}
.paid-media-page .ls-related article{border:1px solid var(--line);border-radius:12px;padding:24px}
.paid-media-page .pm-roles{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.paid-media-page .pm-roles article{padding:28px}
.paid-media-page .pm-roles article+article{padding:28px;background:#f5f3f0}
@media(max-width:520px){.paid-media-page .pm-roles article,.paid-media-page .pm-roles article+article{padding:22px}}
