/* Shared service layout, scoped to the four primary service pages. */
body.service-refresh { --service-color: #1749dc; background: #fff; }
body.page-hospital-advertising { --service-color: #087d70; }
body.page-professional-advertising { --service-color: #b53453; }
body.page-professional-marketing { --service-color: #202322; }
body.service-refresh .service-hero {
  min-height: 640px; padding: 150px 6% 72px; background: #fff;
  display: flex; align-items: center; border-bottom: 1px solid #dce1df;
}
body.service-refresh .service-hero::before,
body.service-refresh .hero-canvas,
body.service-refresh .service-hero-visual { display: none; }
body.service-refresh .service-hero-content { width: 100%; max-width: 1080px; }
body.service-refresh .service-hero h1 { font-size: 64px; max-width: 960px; line-height: 1.2; letter-spacing: 0; }
body.service-refresh .service-hero .eyebrow { color: var(--service-color); margin: 30px 0 20px; }
body.service-refresh .service-copy { max-width: 660px; font-size: 18px; line-height: 1.8; margin-top: 28px; }
body.service-refresh .keyword-pills { gap: 24px; margin-top: 32px; flex-wrap: wrap; }
body.service-refresh .keyword-pills span { padding: 8px 0; border: 0; border-bottom: 2px solid var(--service-color); background: none; color: #353c39; border-radius: 0; }
body.service-refresh .service-hero::after { content: ''; position: absolute; bottom: 0; left: 6%; width: 90px; height: 5px; background: var(--service-color); transform-origin: left; animation: service-rule 1.1s ease-out both; }
body.service-refresh .section { padding: 80px 6%; }
body.service-refresh .section-inner { max-width: 1280px; }
body.service-refresh .service-grid { grid-template-columns: 0.9fr 1.1fr; gap: 72px; }
body.service-refresh .section h2 { font-size: 36px; line-height: 1.35; letter-spacing: 0; }
body.service-refresh .service-body { font-size: 17px; line-height: 1.9; }
body.service-refresh .system-section { background: #f4f6f5; }
body.service-refresh .service-card-grid { gap: 0; border-top: 1px solid #cdd4d0; }
body.service-refresh .service-card { border: 0; border-bottom: 1px solid #cdd4d0; border-radius: 0; padding: 32px; background: transparent; box-shadow: none; transition: background 220ms ease, transform 220ms ease; }
body.service-refresh .service-card::before,
body.service-refresh .service-card::after { display: none; }
body.service-refresh .service-card:hover { background: #fff; transform: translateY(-5px); box-shadow: none; }
body.service-refresh .service-card h3 { font-size: 24px; line-height: 1.4; color: var(--service-color); }
body.service-refresh .service-card p { font-size: 16px; line-height: 1.8; }
body.service-refresh .faq-list details { border: 0; border-bottom: 1px solid #dce1df; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
body.service-refresh .faq-list summary { padding: 24px 0; }
@keyframes service-rule { from { transform: scaleX(0); } to { transform: scaleX(1); } }
body.page-hospital-advertising.service-refresh .system-section { background: #edf7f3; }
body.page-professional-advertising.service-refresh .system-section { background: #faf2f4; }
body.page-professional-marketing.service-refresh .service-card-grid { grid-template-columns: 1fr; counter-reset: execution; }
body.page-professional-marketing.service-refresh .service-card { display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; align-items: baseline; counter-increment: execution; }
body.page-professional-marketing.service-refresh .service-card h3::before { content: '0' counter(execution) ' / '; color: #777f79; font-size: 15px; }
body.page-hospital-advertising.service-refresh .service-list li { padding: 20px 0; border-bottom: 1px solid #d4e4dc; }
body.page-professional-advertising.service-refresh .service-card { border-right: 1px solid #e4d9dc; }
body.page-professional-advertising .service-hero .button { margin-top: 30px; }
body.page-professional-advertising .service-body p + p { margin-top: 24px; }
@media (max-width: 760px) {
  body.service-refresh .service-hero { padding: 116px 24px 56px; min-height: 570px; }
  body.service-refresh .service-hero h1 { font-size: 40px; line-height: 1.25; }
  body.service-refresh .service-copy { font-size: 16px; }
  body.service-refresh .keyword-pills { gap: 12px 20px; }
  body.service-refresh .section { padding: 56px 24px; }
  body.service-refresh .service-grid { grid-template-columns: 1fr; gap: 24px; }
  body.service-refresh .section h2 { font-size: 28px; }
  body.service-refresh .service-card-grid { grid-template-columns: 1fr; }
  body.service-refresh .service-card { padding: 28px 0; }
  body.page-professional-marketing.service-refresh .service-card { grid-template-columns: 1fr; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  body.service-refresh .service-hero::after { animation: none; }
  body.service-refresh .service-card { transition: none; }
  body.service-refresh .service-card:hover { transform: none; }
}
