/* ============================================================
   Clearframe Technology — minimal layer over the Brevon template,
   DARK VARIANT (body.dark-body + dark-mode.css do the heavy lift).
   The template's fonts, palette, and component styles are
   authoritative; this file only adds what Brevon has no class for.
   ============================================================ */

/* Approved copy is exact strings — no auto-capitalization anywhere */
.theme-btn .btn_text span, .footer-btn,
.breadcrumb-wrapper .page-heading h1,
.contact-info-box .content h4 { text-transform: none; }

/* Hero-1 ships with bottom padding 0 (expects an image column);
   the text-only hero needs a floor. */
.hero-1 { padding: 180px 0 120px; }
@media (max-width: 767px) { .hero-1 { padding: 140px 0 90px; } }
.hero-1 .hero-content p { line-height: 1.7; max-width: 640px; }
.hero-1 .hero-content .theme-btn { margin-top: 35px; }
/* Centered hero: no image column, so the block holds the middle */
.hero-1 .hero-content.text-center p { margin-inline: auto; }
.hero-1 .hero-content.text-center h6 { justify-content: center; }

/* Ground: not one flat sheet — faint blue glows over the dark base */
.dark-body .page-wrapper {
  background:
    radial-gradient(1100px 520px at 85% 0%, rgba(59, 130, 246, 0.07), transparent 62%),
    radial-gradient(900px 600px at 0% 40%, rgba(59, 130, 246, 0.045), transparent 60%),
    #010514 !important;
}

/* Surfaces get a hairline edge so they read as cards on the dark ground */
.dark-body .service-card-item,
.dark-body .feature-box-items,
.dark-body .contact-info-box {
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.dark-body .counter-box-style-5::before {
  border: 1px solid rgba(255, 255, 255, 0.07);
}

/* Equal-height cards (the template sizes them by content) */
.advance-item { display: flex; }
.advance-item .service-card-item { width: 100%; }
.feature-section .row > [class*="col-"] { display: flex; }
.feature-section .row > [class*="col-"] > .feature-box-items { width: 100%; }
.counter-section-5 .row > [class*="col-"] { display: flex; }
.counter-section-5 .row > [class*="col-"] > .counter-box-style-5 { width: 100%; }

/* Proof strip boxes carry no icons — trim the icon's reserved space */
.counter-box-style-5 { padding: 60px 24px; }
/* Static numerals stay legible on the dark surface */
.dark-body .counter-box-style-5 h2 { color: #fff; }

/* Case-study body (Work page) — no Brevon component for long-form studies */
.cf-study-part { margin-top: 34px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.1); }
.cf-study-part h4 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--theme);
  margin-bottom: 14px;
}
.cf-study-part p { max-width: 780px; }
.cf-study-part p + p { margin-top: 14px; }
.cf-standfirst { font-size: 20px; font-weight: 500; max-width: 680px; }
.cf-confidentiality { border-left: 3px solid var(--theme); padding: 6px 0 6px 26px; max-width: 820px; }

/* Jump index on the Work page */
.cf-jump { list-style: none; margin: 0; padding: 0; max-width: 560px; }
.cf-jump li { border-top: 1px solid rgba(255,255,255,0.1); }
.cf-jump li:last-child { border-bottom: 1px solid rgba(255,255,255,0.1); }
.cf-jump li a {
  display: block; padding: 15px 4px;
  color: #fff; font-weight: 600;
  transition: color .2s, padding-left .2s;
}
.cf-jump li a:hover { color: var(--theme); padding-left: 12px; }

/* §23 placeholders — visible until the principal supplies them */
.cf-placeholder { color: rgba(255,255,255,0.45); border-bottom: 1px dotted rgba(255,255,255,0.35); }

/* Footer legal line */
.cf-footer-legal { color: rgba(255,255,255,0.55); font-size: 14px; margin-top: 8px; }

/* Wordmark sizing */
.logo img, .footer-logo img { width: 250px; max-width: 100%; height: auto; }
@media (max-width: 575px) { .logo img { width: 200px; } }
.offcanvas__logo img { width: 220px; height: auto; }

/* Breadcrumb art is bright — keep the page titles readable */
.breadcrumb-wrapper { position: relative; }
.breadcrumb-wrapper::after {
  content: ""; position: absolute; inset: 0;
  background: rgba(1, 5, 20, 0.55); z-index: 1;
}
.breadcrumb-wrapper .container { position: relative; z-index: 2; }

/* Reduced motion (§7 non-negotiable) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .wow { visibility: visible !important; animation-name: none !important; }
}
