/* Approved RTW Pattern rows and cards, scoped to the Agencies page. */
#main-content #post-400 .cg2-agencies-section > .et_pb_row { display: grid; grid-template-columns: 18px minmax(0, 1fr); column-gap: 56px; align-items: start; }
#main-content #post-400 .cg2-agencies-section .et_pb_column { display: contents; }
#main-content #post-400 .cg2-vsection-rail { grid-column: 1; grid-row: 1 / span 12; }
#main-content #post-400 .cg2-vsection-rail p { margin: 0; padding: 0; }
#main-content #post-400 .cg2-rail { width: 18px; margin: 0; padding-top: 10px; writing-mode: vertical-rl; transform: rotate(180deg); }
#main-content #post-400 .cg2-agencies-section .et_pb_module:not(.cg2-vsection-rail) { grid-column: 2; min-width: 0; }
#main-content #post-400 :is(.cg2-vsection-h2, .cg2-final-cta-heading) h2 { max-width: 860px; font-size: 48px !important; line-height: 1.06 !important; }
#main-content #post-400 .cg2-oppo-row { grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.72fr); gap: 28px; }
#main-content #post-400 .cg2-oppo-heading { grid-column: 1; }
#main-content #post-400 .cg2-oppo-body { grid-column: 2; color: var(--cg2-muted); font-size: 17px; line-height: 1.75; }
#main-content #post-400 .cg2-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
#main-content #post-400 .cg2-feature-card { min-height: 220px; padding: 26px; }
#main-content #post-400 .cg2-feature-head { font-size: 22px !important; line-height: 1.3 !important; }
#main-content #post-400 .cg2-feature-body { font-size: 16px; line-height: 1.7; }
#main-content #post-400 .cg2-index-list { border: 1px solid var(--cg2-line-strong); background: var(--cg2-panel); }
#main-content #post-400 .cg2-index-row { display: block; padding: 16px 22px; border-bottom: 1px solid var(--cg2-line); text-decoration: none; transition: background-color 0.18s; }
#main-content #post-400 .cg2-index-row:last-child { border-bottom: 0; }
#main-content #post-400 .cg2-index-row:hover { background: rgba(95, 189, 233, 0.06); }
#main-content #post-400 .cg2-index-title { color: var(--cg2-ink); font-size: 16px; font-weight: 700; line-height: 1.4; }
#main-content #post-400 .cg2-faq-section .cg2-vsection-h2 { margin-bottom: 36px; }
#main-content #post-400 .cg2-faq-item { margin: 0 !important; padding: 0 !important; border: 0 !important; border-top: 1px solid var(--cg2-line) !important; border-radius: 0; background: transparent !important; box-shadow: none !important; }
#main-content #post-400 .cg2-faq-item:last-child { border-bottom: 1px solid var(--cg2-line) !important; }
#main-content #post-400 .et_pb_toggle_title { margin: 0 !important; padding: 0 !important; color: var(--cg2-ink) !important; font: 700 22px/1.35 var(--cg2-sans) !important; }
#main-content #post-400 .et_pb_toggle_title::before { display: none !important; }
#main-content #post-400 .cg2-faq-trigger { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 82px; margin: 0; padding: 25px 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
#main-content #post-400 .cg2-faq-trigger:hover { color: var(--cg2-brand); }
#main-content #post-400 .cg2-faq-icon { flex: 0 0 24px; width: 24px; height: 24px; color: var(--cg2-brand); font: 400 22px/24px ETmodules; text-align: center; }
#main-content #post-400 .cg2-faq-icon::before { content: "\e050"; }
#main-content #post-400 .et_pb_toggle_open .cg2-faq-icon::before { content: "\e04f"; }
#main-content #post-400 .et_pb_toggle_content { max-width: 850px; padding: 0 46px 28px 0 !important; color: var(--cg2-muted) !important; font-size: 17px !important; line-height: 1.75 !important; }
#main-content #post-400 .et_pb_toggle_content p { margin: 0; padding: 0; }
#main-content #post-400 :is(a, button):focus-visible { outline: 2px solid var(--cg2-brand); outline-offset: 5px; }
#main-content #post-400 :is(.cg2-agencies-section, .cg2-oppo-row, .cg2-final-cta) { scroll-margin-top: 110px; }
#main-content #post-400 .cg2-hero { min-height: 0; padding: 64px 0 56px; background: var(--cg2-bg); }
#main-content #post-400 .cg2-hero-heading h1 { font-size: 64px !important; line-height: 1.06 !important; }
#main-content #post-400 .cg2-final-cta { border-top: 1px solid var(--cg2-line); background: var(--cg2-bg); }
#main-content #post-400 :is(h1, h2, h3, p, a, span, div, button) { letter-spacing: 0; }
@media (max-width: 1120px) {
  #main-content #post-400 .cg2-hero-heading h1 { font-size: 56px !important; }
  #main-content #post-400 :is(.cg2-vsection-h2, .cg2-final-cta-heading) h2 { font-size: 42px !important; }
}
@media (max-width: 980px) {
  #main-content #post-400 .cg2-hero-right-col { display: none; }
  #main-content #post-400 .cg2-agencies-section > .et_pb_row { column-gap: 32px; }
  #main-content #post-400 .cg2-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  body.page-id-400 .nfg-aih-chat-icon { top: 13px !important; right: 66px !important; bottom: auto !important; width: 42px !important; height: 42px !important; z-index: 60 !important; }
  body.page-id-400 #nfg-aih-ai-chat { width: calc(100% - 28px) !important; min-width: 0 !important; max-width: 360px !important; right: 14px !important; max-height: calc(100dvh - 104px); }
  #main-content #post-400 .cg2-agencies-section > .et_pb_row { display: block; }
  #main-content #post-400 .cg2-rail { width: auto; padding-top: 0; writing-mode: horizontal-tb; transform: none; }
  #main-content #post-400 .cg2-oppo-row { display: block; }
  #main-content #post-400 .cg2-feature-grid { grid-template-columns: 1fr; }
  #main-content #post-400 .cg2-feature-card { min-height: 0; }
  #main-content #post-400 .cg2-hero-left-col { column-gap: 10px; }
  #main-content #post-400 .cg2-hero-heading h1 { font-size: 42px !important; }
  #main-content #post-400 :is(.cg2-vsection-h2, .cg2-final-cta-heading) h2 { font-size: 32px !important; }
  #main-content #post-400 .cg2-hero { padding: 48px 0 40px; }
  #main-content #post-400 .cg2-faq-trigger { gap: 16px; padding: 22px 0; }
  #main-content #post-400 .et_pb_toggle_content { padding-right: 0 !important; }
}
@media (max-width: 380px) {
  #main-content #post-400 .cg2-hero { padding: 36px 0 32px; }
  #main-content #post-400 a.cg2-btn { padding: 0 10px !important; font-size: 13px !important; }
}
