@import url("https://fonts.googleapis.com/css2?family=Bad+Script&family=Dancing+Script:wght@600;700&display=swap");

/* MolpyConsulting shared audit/design normalization */
:root {
  --molpy-bg: #080f14;
  --molpy-surface: #111827;
  --molpy-text: #f8fafc;
  --molpy-muted: #94a3b8;
  --molpy-accent: #38bdf8;
  --molpy-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --molpy-h1: clamp(2.75rem, 6vw, 4.5rem);
  --molpy-h2: clamp(1.75rem, 3.2vw, 2.5rem);
  --molpy-body: clamp(1rem, 1.35vw, 1.125rem);
  --molpy-section-min: 100svh;
}



@media (prefers-color-scheme: light) {
  html:not(.dark) body.molpy-palette {
    --molpy-bg: #f8fafc;
    --molpy-surface: #e2e8f0;
    --molpy-text: #0f172a;
    --molpy-muted: #334155;
    --molpy-accent: #0369a1;
  }
}

html.dark body.molpy-palette {
  --molpy-bg: #080f14;
  --molpy-surface: #111827;
  --molpy-text: #f8fafc;
  --molpy-muted: #94a3b8;
  --molpy-accent: #38bdf8;
}

body.molpy-light,
html:not(.dark) body.molpy-palette.molpy-light {
  --molpy-bg: #f8fafc;
  --molpy-surface: #e2e8f0;
  --molpy-text: #0f172a;
  --molpy-muted: #334155;
  --molpy-accent: #0369a1;
}

body.molpy-palette {
  background: var(--molpy-bg) !important;
  color: var(--molpy-text) !important;
  accent-color: var(--molpy-accent);
}

body.molpy-palette header,
body.molpy-palette footer,
body.molpy-palette .site-header,
body.molpy-palette .site-footer,
body.molpy-palette .footer-bar,
body.molpy-palette .nav,
body.molpy-palette #navbar,
body.molpy-palette .molpy-site-header {
  background: var(--molpy-surface) !important;
  color: var(--molpy-text) !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
}

body.molpy-palette section,
body.molpy-palette .panel-dark,
body.molpy-palette .panel-light,
body.molpy-palette .glass,
body.molpy-palette .card,
body.molpy-palette article,
body.molpy-palette .feature-card,
body.molpy-palette .pricing-card,
body.molpy-palette .mini-card,
body.molpy-palette .contact-card,
body.molpy-palette .cta-card {
  border-color: rgba(148, 163, 184, 0.22) !important;
}

body.molpy-palette a,
body.molpy-palette .footer-links a,
body.molpy-palette .site-footer__links a {
  color: var(--molpy-accent) !important;
}

body.molpy-palette p,
body.molpy-palette li,
body.molpy-palette small,
body.molpy-palette .lead,
body.molpy-palette .footer-copy,
body.molpy-palette .section-lead,
body.molpy-palette .hero-body,
body.molpy-palette .hero-subtitle,
body.molpy-palette .home-subtitle,
body.molpy-palette .muted {
  color: var(--molpy-muted) !important;
}

body.molpy-palette h1,
body.molpy-palette h2,
body.molpy-palette h3,
body.molpy-palette h4,
body.molpy-palette .h1,
body.molpy-palette .h2,
body.molpy-palette .hero-title,
body.molpy-palette .home-title,
body.molpy-palette .section-title,
body.molpy-palette .footer-logo,
body.molpy-palette .brand,
body.molpy-palette .brand-text,
body.molpy-palette .nav-logo {
  color: var(--molpy-text) !important;
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
}

body.molpy-standard,
body.molpy-standard button,
body.molpy-standard input,
body.molpy-standard textarea,
body.molpy-standard select {
  font-family: var(--molpy-font) !important;
}

body.molpy-standard h1,
body.molpy-standard .h1,
body.molpy-standard .hero-title,
body.molpy-standard .home-title,
body.molpy-standard .section-title,
body.molpy-standard .zoom-text-container,
body.molpy-standard .footer-logo {
  font-family: var(--molpy-font) !important;
  font-size: var(--molpy-h1) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  font-weight: 800 !important;
}



body.molpy-standard h1,
body.molpy-standard .h1,
body.molpy-standard .hero-title,
body.molpy-standard .home-title,
body.molpy-standard .section-title {
  margin-top: 0 !important;
  margin-bottom: clamp(1rem, 2.4vw, 1.8rem) !important;
}

body.molpy-standard h1 + p,
body.molpy-standard .h1 + p,
body.molpy-standard .hero-title + p,
body.molpy-standard .home-title + p,
body.molpy-standard .section-title + p,
body.molpy-standard h1 + .lead,
body.molpy-standard .h1 + .lead {
  margin-top: 0 !important;
}

body.molpy-script-h1 h1,
body.molpy-script-h1 .h1,
body.molpy-script-h1 .hero-title,
body.molpy-script-h1 .home-title,
body.molpy-script-h1 .section-title,
body.molpy-script-h1 .zoom-text-container {
  font-family: "Dancing Script", cursive !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
}

body.molpy-standard h2,
body.molpy-standard h3,
body.molpy-standard .h2,
body.molpy-standard .section-head h2,
body.molpy-standard .vision-title,
body.molpy-standard .contact-title,
body.molpy-standard .split__title,
body.molpy-standard .services-diagonal-title,
body.molpy-standard .cta-title {
  font-family: var(--molpy-font) !important;
  font-size: var(--molpy-h2) !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  font-weight: 750 !important;
}



body.molpy-standard h2,
body.molpy-standard h3,
body.molpy-standard .h2,
body.molpy-standard .section-head h2,
body.molpy-standard .split__title,
body.molpy-standard .cta-title {
  margin-top: 0 !important;
  margin-bottom: clamp(0.75rem, 1.8vw, 1.25rem) !important;
}

body.molpy-standard h2 + p,
body.molpy-standard h3 + p,
body.molpy-standard .h2 + p,
body.molpy-standard .split__title + p,
body.molpy-standard .cta-title + p {
  margin-top: 0 !important;
}

body.molpy-script-h1 h2,
body.molpy-script-h1 h3,
body.molpy-script-h1 .h2,
body.molpy-script-h1 .section-head h2,
body.molpy-script-h1 .vision-title,
body.molpy-script-h1 .contact-title,
body.molpy-script-h1 .split__title,
body.molpy-script-h1 .services-diagonal-title,
body.molpy-script-h1 .cta-title {
  font-family: "Bad Script", cursive !important;
  line-height: 1.42 !important;
  font-weight: 400 !important;
}

body.molpy-standard p,
body.molpy-standard .lead,
body.molpy-standard .section-lead,
body.molpy-standard .section-text,
body.molpy-standard .hero-body,
body.molpy-standard .home-subtitle,
body.molpy-standard .vision-description,
body.molpy-standard .feature-desc,
body.molpy-standard .contact-sub,
body.molpy-standard .projets-card-text,
body.molpy-standard .services-item-text {
  font-family: var(--molpy-font) !important;
  font-size: var(--molpy-body) !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}


body.molpy-standard p,
body.molpy-standard .lead,
body.molpy-standard .section-text,
body.molpy-standard .hero-body,
body.molpy-standard .home-subtitle {
  margin-top: 0 !important;
  margin-bottom: clamp(0.9rem, 1.6vw, 1.2rem) !important;
}

body.molpy-standard p:last-child,
body.molpy-standard .lead:last-child,
body.molpy-standard .section-text:last-child {
  margin-bottom: 0 !important;
}

body.molpy-standard main > section,
body.molpy-standard body > section,
body.molpy-standard .section,
body.molpy-standard .section-block,
body.molpy-standard .site-section,
body.molpy-standard .hero,
body.molpy-standard #home,
body.molpy-standard #hero,
body.molpy-standard #vision,
body.molpy-standard #pecheurs,
body.molpy-standard #consommateurs,
body.molpy-standard #contact {
  min-height: var(--molpy-section-min) !important;
  padding-top: clamp(4rem, 8vw, 7rem) !important;
  padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

body.molpy-whatsnew section {
  min-height: var(--molpy-section-min) !important;
}

.molpy-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.molpy-site-header nav {
  position: static !important;
}

@media (max-width: 760px) {
  :root {
    --molpy-h1: clamp(2.2rem, 12vw, 3.25rem);
    --molpy-h2: clamp(1.45rem, 8vw, 2rem);
    --molpy-section-min: auto;
  }

  body.molpy-standard main > section,
  body.molpy-standard body > section,
  body.molpy-standard .section,
  body.molpy-standard .section-block,
  body.molpy-standard .site-section,
  body.molpy-standard .hero,
  body.molpy-standard #home,
  body.molpy-standard #hero,
  body.molpy-standard #vision,
  body.molpy-standard #pecheurs,
  body.molpy-standard #consommateurs,
  body.molpy-standard #contact,
  body.molpy-whatsnew section {
    min-height: auto !important;
  }
}
