/* Advertising extends the original portfolio's shared components. */
#advertising .page:first-child { border-top: 1px solid var(--line2); }
#advertising .case-background .prose h3:not(:first-child) { margin-top: 26px; }
#advertising .case-work > h3 { font-size: 19px; margin-top: 28px; }
#advertising .ad-design-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 26px; }
#advertising .ad-design-points h4 { font-size: 16px; line-height: 1.6; margin-bottom: 8px; }
#advertising .ad-design-points p { font-size: 14px; line-height: 1.85; color: var(--tx2); }
#advertising .ad-generation-shots { align-items: start; }
#advertising .ad-generation-shots .shot { margin-top: 0; }
#advertising .ad-generation-details { margin-top: 10px; }
#advertising .ad-agent-roles { border-block: 1px solid var(--line2); margin-bottom: 30px; }
#advertising .ad-agent-roles > div { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 24px; padding: 17px 0; }
#advertising .ad-agent-roles > div + div { border-top: 1px solid var(--line); }
#advertising .ad-agent-roles h4 { font-size: 15px; line-height: 1.8; }
#advertising .ad-agent-roles p { font-size: 14px; line-height: 1.85; color: var(--tx2); }
#advertising .ad-optimization ol { padding-left: 1.5em; font-size: 15px; line-height: 1.95; color: var(--tx2); }
#advertising .ad-optimization li { padding-left: 3px; margin-bottom: 12px; }
#advertising .ad-optimization li b { color: var(--tx); font-weight: 600; }
#advertising .ad-evaluation { margin-top: 26px; }
#advertising .support-note { margin-top: 24px; }
#advertising .ad-demo-address { display: block; margin-top: 7px; }
@media screen and (max-width: 760px) {
  #advertising .ad-design-points { grid-template-columns: 1fr; gap: 22px; }
  #advertising .ad-agent-roles > div { grid-template-columns: 1fr; gap: 6px; }
  #advertising .ad-generation-shots { grid-template-columns: 1fr; }
}
@media print {
  #advertising .page:first-child { border: 0; }
  #advertising .case-work > h3 { font-size: 14px; margin-top: 0; }
  #advertising .case-background .prose h3:not(:first-child) { margin-top: 5mm; }
  #advertising .case-cover .case-background p { font-size: 12px; line-height: 1.65; margin-bottom: 11px; }
  #advertising .case-cover .case-work .flow { height: 94mm; }
  #advertising .shot { max-width: 100%; margin: 3mm auto; border-radius: 6px; }
  #advertising .shot .bar { padding: 5px 10px; }
  #advertising .shot .bar .url { margin: 0; padding: 0; background: none; border: 0; font-family: var(--font); font-size: 9px; }
  #advertising .shot img { height: auto; max-height: none; object-fit: contain; }
  #advertising .shot .cap { padding: 7px 10px; font-size: 10.5px; line-height: 1.65; align-items: start; }
  #advertising .shot .cap b { font-size: 9px; font-family: var(--font); letter-spacing: 0; }
  #advertising .ad-canvas > .shot { max-width: 72%; margin-top: 1mm; margin-bottom: 1mm; }
  #advertising .ad-design-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5mm; margin-top: 4mm; }
  #advertising .ad-design-points h4 { font-size: 12.5px; line-height: 1.5; margin-bottom: 5px; }
  #advertising .ad-design-points p { font-size: 11px; line-height: 1.6; }
  #advertising .ad-generation-shots { grid-template-columns: 1fr 1fr; gap: 5mm; margin: 2mm 0 4mm; }
  #advertising .ad-generation-shots .shot { margin: 0; }
  #advertising .ad-generation-shots .cap { display: block; font-size: 10.5px; line-height: 1.6; }
  #advertising .ad-generation-shots .cap b { display: block; margin-bottom: 3px; }
  #advertising .ad-generation-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1mm; gap: 5mm; }
  #advertising .ad-generation-details .layer { display: block; padding: 3mm 0 0; border: 0; border-top: 1px solid var(--line2); border-radius: 0; background: none; }
  #advertising .ad-generation-details .ltag { font-size: 10px; padding: 0; margin-bottom: 2mm; font-family: var(--font); }
  #advertising .ad-generation-details h4 { font-size: 12px; line-height: 1.5; margin: 0 0 5px; }
  #advertising .ad-generation-details p { font-size: 11.5px; line-height: 1.6; }
  #advertising .ad-agent-roles { margin: 1mm 0 5mm; }
  #advertising .ad-agent-roles > div { grid-template-columns: 30mm minmax(0, 1fr); gap: 5mm; padding: 3mm 0; }
  #advertising .ad-agent-roles h4 { font-size: 12.5px; line-height: 1.6; }
  #advertising .ad-agent-roles p { font-size: 12px; line-height: 1.65; }
  #advertising .ad-optimization h3, #advertising .ad-evaluation h3 { font-size: 14px; line-height: 1.5; margin-bottom: 8px; }
  #advertising .ad-optimization p, #advertising .ad-evaluation p { font-size: 12px; line-height: 1.65; margin-bottom: 8px; }
  #advertising .ad-optimization ol { font-size: 12px; line-height: 1.65; }
  #advertising .ad-optimization li { margin-bottom: 7px; }
  #advertising .ad-evaluation { margin-top: 4mm; }
  #advertising .support-note { margin-top: 4mm; padding-top: 3mm; font-size: 10.5px; line-height: 1.6; }
  #advertising .ad-demo-address { margin-top: 4px; }
}
