:root {
  --cv-font-sans: 'Sora', sans-serif;
  --cv-font-body: 'DM Sans', sans-serif;
  --cv-font-script: 'Sora', sans-serif;
  --font-heading: 'Sora', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif !important; }
body :where(p,a,li,span,div,label,input,textarea,select,button,small,strong,blockquote,summary) {
  font-family: 'DM Sans', sans-serif !important;
}
body :is(h1,h2,h3,h4,h5,h6,[class*="heading"],[class*="title"],[class*="stat-num"],[class*="metric-val"],.cv-about-cta-msg) {
  font-family: 'Sora', sans-serif !important;
  letter-spacing: -.025em;
}
body :is(input,textarea,select) { font-size: 16px !important; }
body :is(p,li) { line-height: 1.7; }
body :is(a,button,input,textarea,select,summary):focus-visible {
  outline: 3px solid #0284c7;
  outline-offset: 4px;
}
/* Crisp foregrounds on the existing light cards and dark bands. */
body :is(.cv-metric-sub,.cv-stat-sub,.cv-footer-bottom-bar,.cv-footer-bottom-bar a,.cv-footer-bottom-bar span) {
  color: #a8b6ca !important;
}
body .cv-section:not(.cv-mixed-light) .cv-link-action { color: #93c5fd !important; }
body :is(.cv-testimonial-card .fa-quote-left,.cv-cs-testimonial .fa-star) {
  color: #a16207 !important;
}
body .cv-footer-social-icons { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
body .cv-footer-social-icons a {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; background:#17243b; color:#e2e8f0;
  border:1px solid #3b4b62; border-radius:50%;
}
body :is(.cv-footer-social-icons,.cv-footer-socials) i { color:#e2e8f0 !important; }
body .cv-footer-social-icons a:hover { background:#1d4ed8; }
body .cv-btn-gold {
  background-color:#fbbf24 !important;
  color:#101827 !important;
}
body .cv-btn-gold :is(span,i) { color:#101827 !important; -webkit-text-fill-color:#101827 !important; }
body .cv-about-stat-num, body .cv-cs-metric-val {
  background:none !important; color:#172033 !important;
  -webkit-text-fill-color:#172033 !important;
}
body .cv-mixed-light.cv-mixed-light.cv-mixed-light .cv-about-bottom-cta {
  background:#eff6ff !important; border-color:#cbd5e1 !important; box-shadow:none !important;
}
body .cv-mixed-light.cv-mixed-light.cv-mixed-light .cv-about-cta-msg {
  color:#172033 !important; -webkit-text-fill-color:#172033 !important;
}
body .cv-mixed-light.cv-mixed-light.cv-mixed-light :is(.cv-ins-meta,.cv-port-category) {
  color:#475569 !important; -webkit-text-fill-color:#475569 !important;
}
body .cv-mixed-light.cv-mixed-light.cv-mixed-light .cv-ins-badge {
  background:#e8efff !important; color:#1e40af !important;
  -webkit-text-fill-color:#1e40af !important; border:1px solid #c7d7fc;
}
body .cv-ins-nl-btn { background:#fbbf24 !important; color:#101827 !important; }
body .cv-mixed-light.cv-mixed-light.cv-mixed-light .cv-cnt-social-links a {
  background:#1d4ed8 !important;
}
/* Older article layouts keep the same palette and typography. */
body .top-bar { background:#0f766e !important; }
body .cta-band { background:#091220 !important; }
body :is(.btn-primary,.btn-accent,.mobile-action-bar .is-primary,.skip-link) {
  background:#0f766e !important; color:#fff !important;
}
body .btn-outline { color:#0f766e !important; border-color:#0f766e !important; }
body .nav-link { color:#172033; }
body .nav-item.active > .nav-link { color:#0f766e !important; }
body .whatsapp-float { background:#087f46 !important; }
/* Motion never hides content. It remains readable if scripts do not run. */
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body :is(.cv-service-card,.cv-work-card,.cv-insight-card,.cv-client-card,.cv-testimonial-card) {
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  }
  body :is(.cv-service-card,.cv-work-card,.cv-insight-card,.cv-client-card,.cv-testimonial-card):hover {
    transform:translateY(-5px);
    box-shadow:0 14px 30px rgba(15,23,42,.13) !important;
  }
}
@media(max-width:1100px) {
  body .cv-navbar { position:relative; gap:16px; }
  body .cv-mobile-toggle {
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    width:44px; height:44px; padding:10px; flex-shrink:0;
    background:#17243b; border:1px solid #475569; border-radius:9px;
  }
  body .cv-mobile-toggle span { display:block; width:100%; height:2px; background:#fff; }
  body .cv-nav-cta-desktop { display:none !important; }
  body .cv-nav-links {
    display:none; position:absolute; top:100%; left:0; right:0;
    z-index:100; flex-direction:column; padding:16px; gap:6px;
    background:#091220; border:1px solid #475569; border-radius:14px;
    max-height:calc(100dvh - 100px); overflow-y:auto;
  }
  body .cv-nav-links.show { display:flex; }
  body .cv-nav-item a { display:block; padding:12px 14px; color:#e2e8f0; }
  body .cv-nav-cta-mobile { display:block !important; }
}
@media(max-width:991px) {
  body .nav-menu:not(.is-open) { visibility:hidden; pointer-events:none; transform:none; }
  body .nav-menu.is-open { visibility:visible; pointer-events:auto; transform:translateX(0); }
}
@media(max-width:640px) {
  body .cv-container { padding-left:20px; padding-right:20px; }
  body .cv-logo-title { font-size:12px !important; }
  body .cv-logo-sub { font-size:7px !important; letter-spacing:.1em; }
  body .cv-logo-monogram svg { width:30px; height:28px; }
  body .cv-section { padding-top:52px; padding-bottom:52px; }
  body .cv-about-stats-container { grid-template-columns:repeat(2,minmax(0,1fr)) !important; padding:24px 16px !important; }
  body .cv-about-stat-num { font-size:30px !important; }
  body .cv-about-stat-item:nth-child(2)::after { display:none !important; }
  body .cv-hero-title { font-size:clamp(30px,8.4vw,44px); line-height:1.2; }
  body :is(.cv-heading-light,.cv-heading-dark) { font-size:clamp(25px,7vw,34px); line-height:1.25; }
  body .cv-footer-grid { grid-template-columns:1fr; }
  body .cv-footer-bottom-bar { gap:14px; flex-wrap:wrap; }
  body :is(.cv-cnt-grid,.cv-ins-split-grid,.cv-ins-bottom-grid,.cv-cs-cards-grid) { min-width:0; }
  body :is(.cv-cnt-grid,.cv-ins-split-grid,.cv-ins-bottom-grid,.cv-cs-cards-grid) > * { min-width:0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  body *,body *::before,body *::after { animation:none !important; transition:none !important; }
}
body .cv-footer-social { display:flex; gap:10px; margin-top:18px; }
body .cv-footer-social a { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; background:#17243b; border:1px solid #3b4b62; border-radius:50%; color:#e2e8f0; }
body .cv-footer-social i { color:#e2e8f0 !important; }
body .cv-about-stats-container { background-color:#fff !important; }
body .cv-cs-metrics-box { background-color:#fff !important; }
body .cv-about-stat-lbl { color:#475569 !important; }
body .whatsapp-fab { background:#087f46 !important; }
body :is(h1,h2,h3,h4,h5,h6,[class*="heading"],[class*="title"]) :is(span,strong,em) { font-family:'Sora',sans-serif !important; }
body .cv-mixed-panel > * { min-width:0; }
@media(max-width:640px) {
  body .cv-brand-mid-grid { grid-template-columns:minmax(0,1fr); }
  body .cv-brand-feature-card { padding:24px 18px; }
  body .cv-brand-pill { padding:14px 12px; gap:12px; }
  body .cv-brand-pill-text { min-width:0; overflow-wrap:break-word; }
}
@media(max-width:640px) {
  body .cv-faq-item { padding:0 !important; }
  body .cv-faq-question { padding:20px; gap:14px; }
  body .cv-faq-answer { padding:0 20px 20px; font-size:15px !important; }
  body .cv-faq-icon { flex-shrink:0; }
}
@media(max-width:992px) {
  body .site-header { z-index:1101; backdrop-filter:none; -webkit-backdrop-filter:none; background:#fff; }
  body .nav-overlay { z-index:1050; }
}
body .cv-mixed-light.cv-mixed-light.cv-mixed-light :is(.cv-service-arrow,.cv-tech-pill-icon,.cv-btn-outline-dark) {
  background:#eff6ff !important; color:#1d4ed8 !important; border-color:#bfdbfe !important;
}
body .cv-work-card .cv-work-link { color:#fcd34d !important; }
