@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --cv-ink: #10213f;
  --cv-ink-soft: #3a4e71;
  --cv-brand: #0b4fb3;
  --cv-brand-deep: #083a84;
  --cv-accent: #c07a2d;
  --cv-sky: #e9f2ff;
  --cv-cream: #fdf7ec;
  --cv-white: #ffffff;
  --cv-border: rgba(16, 33, 63, 0.14);
  --cv-shadow-lg: 0 28px 54px rgba(16, 33, 63, 0.14);
  --cv-shadow-md: 0 16px 32px rgba(16, 33, 63, 0.11);
  --cv-radius-xl: 22px;
  --cv-radius-lg: 16px;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Manrope", "Trebuchet MS", "Segoe UI", sans-serif !important;
  color: var(--cv-ink) !important;
  background:
    radial-gradient(circle at 7% 12%, rgba(11, 79, 179, 0.12), transparent 26%),
    radial-gradient(circle at 92% 6%, rgba(192, 122, 45, 0.11), transparent 24%),
    linear-gradient(150deg, #f5f9ff 0%, #ffffff 54%, #fef8ef 100%) !important;
}

h1, h2, h3, h4, h5, h6,
.hero h1,
.blog-title,
.post-title,
.section-title,
.brand-name {
  font-family: "Fraunces", Georgia, "Times New Roman", serif !important;
  letter-spacing: 0.01em;
  color: #0e264a !important;
}

p, li {
  line-height: 1.68 !important;
}

a {
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

/* Top nav + header polish */
nav.site-nav,
.site-header {
  border-bottom: 1px solid rgba(11, 79, 179, 0.13) !important;
  box-shadow: 0 12px 28px rgba(11, 79, 179, 0.09) !important;
  backdrop-filter: blur(6px);
}

nav.site-nav .nav-links,
#mainNav {
  gap: 10px !important;
}

nav.site-nav a,
#mainNav a {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.05em !important;
}

nav.site-nav a:hover,
nav.site-nav a.active,
#mainNav a:hover,
#mainNav a.active {
  border-color: rgba(11, 79, 179, 0.26) !important;
  box-shadow: 0 8px 18px rgba(11, 79, 179, 0.24) !important;
}

/* Hero wrappers across pages */
.about-hero,
.services-hero,
.expertise-hero,
.contact-hero,
.blog-header,
.post-header-section {
  max-width: 1180px;
  margin: 28px auto 0 auto !important;
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88)),
    radial-gradient(circle at 12% 4%, rgba(11, 79, 179, 0.13), transparent 38%),
    radial-gradient(circle at 96% 95%, rgba(192, 122, 45, 0.12), transparent 40%) !important;
  border: 1px solid var(--cv-border) !important;
  border-radius: var(--cv-radius-xl) !important;
  box-shadow: var(--cv-shadow-lg) !important;
  position: relative;
  overflow: hidden;
}

.about-hero::after,
.services-hero::after,
.expertise-hero::after,
.contact-hero::after,
.blog-header::after,
.post-header-section::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -70px;
  top: -90px;
  background: radial-gradient(circle, rgba(11, 79, 179, 0.18), transparent 68%);
  pointer-events: none;
}

.hero {
  border-top: 0 !important;
}

.hero .hero-content {
  background: linear-gradient(150deg, rgba(8, 31, 68, 0.82), rgba(8, 48, 111, 0.72)) !important;
  border: 1px solid rgba(255, 255, 255, 0.27) !important;
  backdrop-filter: blur(2px);
  box-shadow: 0 26px 50px rgba(8, 31, 68, 0.36);
}

.hero .hero-super {
  color: #ffe0bb !important;
  font-weight: 700 !important;
}

/* Shared section/card styling */
.section-wrap,
.services-section,
.wrap,
.blog-list-section,
.post-body-section,
.section.white,
.contact-block,
[class*="section-bg"] {
  max-width: 1180px;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: var(--cv-radius-xl);
}

.section-wrap,
.services-section,
.wrap,
.post-body-section,
[class*="section-bg"] {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid var(--cv-border) !important;
  box-shadow: var(--cv-shadow-md) !important;
}

.blog-list-section {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(250, 246, 236, 0.76)) !important;
  border: 1px solid var(--cv-border) !important;
  box-shadow: var(--cv-shadow-md) !important;
}

.grid > div,
.grid-2 > div,
.grid-3 > div,
.card,
.service-block,
.blog-entry {
  border: 1px solid rgba(11, 79, 179, 0.12) !important;
  border-radius: var(--cv-radius-lg) !important;
  box-shadow: 0 12px 24px rgba(10, 36, 72, 0.07);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  background: linear-gradient(180deg, #ffffff, #fdfdff) !important;
}

.grid > div:hover,
.grid-2 > div:hover,
.grid-3 > div:hover,
.card:hover,
.service-block:hover,
.blog-entry:hover {
  transform: translateY(-4px);
  border-color: rgba(11, 79, 179, 0.3) !important;
  box-shadow: 0 22px 36px rgba(10, 36, 72, 0.14);
}

/* Blog list cards often carry inline styles */
.blog-entry[style] {
  border-radius: var(--cv-radius-lg) !important;
  padding: 14px !important;
  border: 1px solid rgba(11, 79, 179, 0.14) !important;
  background: #fff !important;
}

.blog-entry img[style] {
  width: 124px !important;
  border: 1px solid rgba(11, 79, 179, 0.14) !important;
}

.about-img,
.about-journey-img,
.featured-image,
.post-header-img,
.header-photo {
  border-radius: 16px !important;
  border: 1px solid rgba(11, 79, 179, 0.16) !important;
  box-shadow: 0 18px 30px rgba(9, 33, 70, 0.16) !important;
}

.blog-entry-title {
  color: #0b3f91 !important;
  text-decoration: none !important;
}

.blog-entry-title:hover {
  color: #082f6f !important;
  text-decoration: underline !important;
}

/* Badge + logo treatments */
.badgebar-outer {
  border: 1px solid rgba(11, 79, 179, 0.15) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(239, 247, 255, 0.83)) !important;
  box-shadow: 0 10px 20px rgba(11, 79, 179, 0.08) !important;
}

.badge-bar img,
.badge-row img {
  filter: saturate(1.08) contrast(1.02);
}

.badge-membership,
.membership {
  font-size: 0.95rem !important;
  letter-spacing: 0.005em !important;
  gap: 6px !important;
}

.trust-kicker {
  margin: 0 0 8px 0 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  color: #5d77a4 !important;
}

.subnav {
  border: 1px solid rgba(11, 79, 179, 0.16) !important;
  box-shadow: 0 12px 24px rgba(11, 79, 179, 0.1) !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

.subnav a {
  border-color: rgba(11, 79, 179, 0.18) !important;
  color: #0e397f !important;
}

.subnav a:hover {
  background: #0b4fb3 !important;
  color: #fff !important;
}

/* Conversion-focused action strip */
.cv-intent-strip {
  max-width: 1180px;
  margin: 14px auto 0 auto;
  border: 1px solid rgba(11, 79, 179, 0.2);
  border-radius: 14px;
  background:
    linear-gradient(125deg, rgba(7, 63, 145, 0.95), rgba(10, 82, 181, 0.94)),
    radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.18), transparent 40%);
  box-shadow: 0 18px 30px rgba(8, 45, 107, 0.23);
  overflow: hidden;
}

.cv-intent-content {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  color: #fff;
}

.cv-intent-copy {
  font-size: 0.95rem;
  line-height: 1.42;
}

.cv-intent-copy strong {
  color: #ffe8c8;
}

.cv-intent-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.cv-intent-primary,
.cv-intent-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid transparent;
  text-decoration: none;
}

.cv-intent-primary {
  background: linear-gradient(135deg, #f3b56b, #d68835);
  color: #10213f;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
}

.cv-intent-secondary {
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.34);
}

.cv-intent-primary:hover,
.cv-intent-secondary:hover {
  transform: translateY(-1px);
}

.cv-trust-line {
  margin-top: 10px !important;
  font-size: 0.88rem !important;
  color: #415e8f !important;
  font-weight: 700 !important;
}

.cv-trust-line::before {
  content: "✓ ";
  color: #0a5ecb;
}

.cv-form-note {
  margin-top: 10px !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
  color: #516891 !important;
}

.cv-form-note strong {
  color: #1f3f73 !important;
}

.cv-hero-secondary {
  margin-top: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  color: #294f86;
}

.cv-hero-secondary a {
  color: #0a54c2;
  text-decoration: underline;
}

/* CTA treatments */
.cta-btn,
.btn,
.primary-btn,
.download-btn,
.sticky-cta {
  border-radius: 999px !important;
  border: 1px solid rgba(11, 79, 179, 0.22) !important;
  background: linear-gradient(135deg, #0b4fb3, #0a64cf) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(11, 79, 179, 0.28);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.btn.outline {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  box-shadow: none !important;
}

.cta-btn:hover,
.btn:hover,
.primary-btn:hover,
.download-btn:hover,
.sticky-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 32px rgba(11, 79, 179, 0.33);
}

/* Forms */
input,
textarea,
select {
  border-radius: 12px !important;
  border: 1px solid rgba(11, 79, 179, 0.2) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
  border-color: rgba(11, 79, 179, 0.45) !important;
  box-shadow: 0 0 0 4px rgba(11, 79, 179, 0.14) !important;
  outline: none;
}

/* Footer polish */
footer {
  border-top: 1px solid rgba(11, 79, 179, 0.14) !important;
  background: linear-gradient(180deg, rgba(244, 249, 255, 0.95), rgba(255, 255, 255, 0.9)) !important;
}

/* Scroll reveal animation */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px) scale(0.995);
  transition:
    opacity 0.52s ease,
    transform 0.52s ease;
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Post content readability */
.post-body-section,
.post-body-section p,
.post-body-section li {
  color: #11274b !important;
}

.post-body-section h2,
.post-body-section h3 {
  color: #0b3f91 !important;
}

/* Mobile refinements */
@media (max-width: 900px) {
  .about-hero,
  .services-hero,
  .expertise-hero,
  .contact-hero,
  .blog-header,
  .post-header-section,
  .section-wrap,
  .services-section,
  .wrap,
  .blog-list-section,
  .post-body-section,
  [class*="section-bg"] {
    margin-left: 12px !important;
    margin-right: 12px !important;
    border-radius: 16px !important;
  }

  nav.site-nav a,
  #mainNav a {
    font-size: 0.88rem !important;
    padding: 7px 10px !important;
  }

  .blog-entry[style] {
    gap: 14px !important;
  }

  .cv-intent-strip {
    margin-left: 12px;
    margin-right: 12px;
  }

  .cv-intent-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .cv-intent-actions {
    width: 100%;
  }
}
