/* v2 additions: portal showcase, who we work with, intro-call CTA.
   Matches the site's dark #333333 + gold look. */
.dfl-section { background-color: #333333; color: #ffffff; font-family: Montserrat, sans-serif; }
.dfl-section .u-sheet { min-height: 0; padding: 60px 0; }
.dfl-section h2 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 2rem; line-height: 1.25; margin: 0 0 16px; color: #ffffff; }
.dfl-section .dfl-lead { font-size: 1.05rem; line-height: 1.6; max-width: 760px; margin: 0 auto 32px; color: #e6e6e6; }
.dfl-gold { color: #cbb06a; }
.dfl-rule { width: 64px; height: 3px; background: #cbb06a; border: 0; margin: 0 auto 20px; }

/* Portal showcase */
.dfl-shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 20px; }
.dfl-shot { margin: 0; text-align: left; }
.dfl-shot img { display: block; width: 100%; height: auto; border-radius: 6px; border: 1px solid #4a4a4a; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.dfl-shot figcaption { font-size: .85rem; color: #bdbdbd; margin-top: 8px; }
.dfl-shot figcaption .dfl-tag { display: inline-block; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: #333333; background: #cbb06a; border-radius: 3px; padding: 2px 6px; margin-right: 6px; font-weight: 600; }

/* Who we work with */
.dfl-who { border-top: 1px solid #444444; }
.dfl-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 20px; text-align: left; }
.dfl-card { background: #3b3b3b; border-top: 3px solid #cbb06a; border-radius: 4px; padding: 24px; }
.dfl-card h3 { font-family: Montserrat, sans-serif; font-size: 1.15rem; font-weight: 600; margin: 0 0 10px; color: #cbb06a; }
.dfl-card p { font-size: .95rem; line-height: 1.55; margin: 0; color: #e6e6e6; }
.dfl-also { margin: 28px 20px 0; font-size: .95rem; color: #e6e6e6; }

/* Intro-call CTA */
.dfl-cta { border-top: 1px solid #444444; }
.dfl-btn-gold { display: inline-block; background: #cbb06a; color: #333333 !important; font-weight: 700; font-size: 1.1rem; text-decoration: none; padding: 16px 34px; border-radius: 4px; letter-spacing: .02em; transition: background-color .2s; }
.dfl-btn-gold:hover, .dfl-btn-gold:focus { background: #b0943f; color: #333333 !important; }

@media (max-width: 991px) {
  .dfl-shots, .dfl-cards { grid-template-columns: 1fr; max-width: 640px; margin-left: auto; margin-right: auto; padding: 0 20px; }
}
@media (max-width: 575px) {
  .dfl-section .u-sheet { padding: 44px 0; }
  .dfl-section h2 { font-size: 1.5rem; padding: 0 16px; }
  .dfl-section .dfl-lead { font-size: 1rem; padding: 0 16px; }
  .dfl-btn-gold { font-size: 1rem; padding: 14px 22px; }
}
