/* Shared content pages and semantic headings retain the existing site palette. */
.bradcam_area .single_bradcam .bradcam_text h1 {
  margin: 5px 0 23px;
  color: #fff;
  font-family: "Montserrat", "Malgun Gothic", sans-serif;
  font-size: clamp(30px, 5vw, 64px);
  font-weight: 600;
  line-height: 1.3;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.content-page { color: #101d32; }
.content-hero { padding: 180px 0 64px; background: #101d32; color: #fff; }
.content-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 32px; color: #b9c8da; font-size: 13px; }
.content-breadcrumb a { color: #b9c8da; }
.content-eyebrow { margin-bottom: 14px; color: #75cbff; font-size: 12px; font-weight: 600; letter-spacing: .16em; }
.content-hero h1 { max-width: 900px; margin: 0 0 24px; color: #fff; font-size: clamp(30px, 4.5vw, 54px); line-height: 1.3; font-weight: 600; }
.content-hero .content-lead { max-width: 850px; margin: 0; color: #dce5ee; font-size: 18px; line-height: 1.9; }
.content-project-meta { display: flex; flex-wrap: wrap; gap: 25px 48px; margin: 34px 0 0; }
.content-project-meta dt { margin-bottom: 7px; color: #9db1c9; font-size: 12px; font-weight: 400; }
.content-project-meta dd { margin: 0; color: #fff; font-size: 15px; }
.content-body { padding-top: 56px; padding-bottom: 70px; }
.content-page h1, .content-page h2, .content-page h3, .content-page p, .content-page dd, .content-page a { word-break: keep-all; overflow-wrap: break-word; }
.content-section { margin-bottom: 52px; scroll-margin-top: 110px; }
.content-section h2, .content-callout h2 { margin: 0 0 20px; font-size: 28px; font-weight: 600; line-height: 1.5; }
.content-section p, .content-callout p { max-width: 900px; margin-bottom: 18px; color: #52647a; font-size: 16px; line-height: 1.9; }
.content-project-image { margin: 0 0 52px; }
.content-project-image > a { display: block; padding: 24px; border-radius: 8px; background: #101d32; text-align: center; }
.content-project-image img { display: block; width: auto; max-width: 100%; height: auto; max-height: 650px; margin: 0 auto; }
.content-project-image figcaption { margin-top: 12px; color: #657080; font-size: 13px; line-height: 1.7; }
.content-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.content-card { padding: 28px; border: 1px solid #dfe6ee; border-radius: 8px; background: #f7f9fc; }
.content-card h3 { margin: 0 0 14px; font-size: 20px; font-weight: 600; line-height: 1.5; }
.content-card p { margin-bottom: 0; font-size: 15px; }
.content-card .project-detail-link { display: inline-block; margin-top: 18px; font-size: 14px; }
.content-text-link, .content-related a { color: #0679bd; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.content-callout { margin: 0 0 52px; padding: 34px; border-radius: 8px; background: #eef6fc; }
.content-related { margin: 0; padding-left: 22px; }
.content-related li { margin: 12px 0; list-style: disc; }
.content-steps { margin: 0; padding-left: 24px; }
.content-steps li { margin: 12px 0; color: #52647a; line-height: 1.9; list-style: decimal; }
.content-service-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 24px 0 0; }
.content-service-links a { color: #75cbff; text-decoration: underline; text-underline-offset: 4px; }
.content-service-example { padding: 18px 22px; border-left: 3px solid #0099ff; background: #f7f9fc; }
.content-faq details { padding: 20px 0; border-bottom: 1px solid #dfe6ee; }
.content-faq summary { color: #101d32; font-weight: 600; cursor: pointer; }
.content-faq details p { margin: 16px 0 0; }
.content-page main a:focus-visible { outline: 3px solid #0099ff; outline-offset: 5px; }

.home-page .home-gallery-caption .project-detail-link,
.portfolio-page .portfolio-gallery-caption .project-detail-link { display: inline-block; margin-top: 16px; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.home-page .home-gallery-caption .project-detail-link { color: #75cbff; }
.portfolio-page .portfolio-gallery-caption .project-detail-link { color: #0679bd; }
.home-page .home-gallery-caption .project-detail-link:focus-visible,
.portfolio-page .portfolio-gallery-caption .project-detail-link:focus-visible { outline: 3px solid #0099ff; outline-offset: 5px; }
.home-page .home-slide .slider_text h1.home-service-title { font-size: clamp(32px, 5.5vw, 72px); line-height: 1.35; word-break: keep-all; }
.home-service-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.about-company-facts { padding: 55px 0; }
.about-company-facts h2 { margin-bottom: 20px; font-size: 28px; }
.about-company-facts p { color: #52647a; line-height: 1.9; }

@media (max-width: 767px) {
  .content-hero { padding: 140px 0 42px; }
  .content-body { padding-top: 32px; padding-bottom: 40px; }
  .content-card-grid { grid-template-columns: 1fr; }
  .content-card, .content-callout { padding: 24px; }
  .content-project-image > a { padding: 12px; }
  .content-section h2, .content-callout h2 { font-size: 24px; }
  .content-project-meta { gap: 20px; }
}
