.collectivites-modern { --collectivites-ink: #090d30; --collectivites-muted: #59627e; --collectivites-border: #e8e7f0; --collectivites-soft: #faf7fc; background: #fff; color: #090d30; font-family: Arial, Helvetica, sans-serif; }
.collectivites-modern .rl-container { width: min(1120px, calc(100% - 48px)); }
.collectivites-modern main > section[id] { scroll-margin-top: 110px; }
.collectivites-modern .rl-section-heading > span,
.collectivites-card-kicker,
.collectivites-offer-label { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 12px; border-radius: 99px; background: #f4edf9; color: #715984; font-size: 11px; font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.collectivites-modern .rl-section-heading h2 { margin-top: 20px; color: #090d30; font-size: clamp(30px, 3.4vw, 42px); line-height: 1.22; font-weight: 500; letter-spacing: -.045em; }
.collectivites-modern .rl-section-heading > p { margin-top: 20px; color: #59627e; font-size: 16px; line-height: 1.7; }
.collectivites-modern .rl-button { min-height: 46px; padding: 12px 22px; border: 1px solid #363944; border-radius: 99px; background: linear-gradient(180deg, #454957, #10121a); box-shadow: 0 2px 5px #11132212; font-size: 13px; font-weight: 500; line-height: 1.4; }
.collectivites-modern .rl-button:hover { box-shadow: 0 5px 16px #11132224; }
.collectivites-modern .rl-button-outline { background: #fff; border-color: #d9d4e3; color: #25243f !important; box-shadow: none; }
.collectivites-modern .collectivites-hero { margin-inline: 24px; border-radius: 80px; background: linear-gradient(115deg, #f7e8ff, #fcece5); }
.collectivites-modern .collectivites-hero::after { display: none; }
.collectivites-modern .collectivites-hero-grid { grid-template-columns: 1fr; gap: 56px; padding: 72px 0 52px; }
.collectivites-modern .collectivites-hero-copy { max-width: 100%; text-align: center; }
.collectivites-modern .collectivites-hero h1 { max-width: 1000px; margin: 0 auto; color: #090d30; font-size: clamp(38px, 4.45vw, 56px); line-height: 1.15; font-weight: 600; letter-spacing: -.045em; }
.collectivites-modern .collectivites-hero .home-audience { margin-bottom: 26px; }
.collectivites-modern .collectivites-hero .rl-lead { max-width: 780px; margin: 24px auto 0; color: #4e5976; font-size: 19px; line-height: 1.6; }
.collectivites-modern .collectivites-hero .rl-actions { justify-content: center; gap: 14px; margin-top: 28px; }
.collectivites-modern .collectivites-hero .home-button { min-height: 48px; font-size: 14px; }
.collectivites-modern .collectivites-hero-note { max-width: 100%; margin: 16px 0 0; color: #6d637b; font-size: 12px; }
.collectivites-hero-panels { display: grid; grid-template-columns: 1.65fr 1fr; align-items: stretch; gap: 24px; max-width: 1000px; width: 100%; margin: 0 auto; }
.collectivites-portfolio { min-width: 0; padding: 26px; border: 1px solid #ece6f0; border-radius: 20px; background: #fff; }
.collectivites-portfolio-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.collectivites-portfolio-heading .collectivites-card-kicker { min-height: 0; padding: 0; border-radius: 0; background: none; font-size: 10px; }
.collectivites-portfolio-heading h2 { margin: 8px 0 0; color: #17172f; font-size: 20px; font-weight: 500; line-height: 1.3; letter-spacing: -.035em; }
.collectivites-demo-label { padding: 4px 8px; border-radius: 99px; color: #6c637b; background: #f8f5fb; font-size: 9px; white-space: nowrap; }
.collectivites-portfolio-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0 12px; }
.collectivites-portfolio-metrics > div { padding: 13px 14px; border: 1px solid #e9e7f0; border-radius: 11px; }
.collectivites-portfolio-metrics span { display: block; color: #62627d; font-size: 10px; }
.collectivites-portfolio-metrics strong { display: block; margin-top: 7px; font-size: 28px; font-weight: 500; line-height: 1.2; }
.collectivites-portfolio-sites { display: grid; }
.collectivites-portfolio-sites > div { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid #eeedf3; }
.collectivites-portfolio-sites .feature-site-avatar { width: 36px; height: 36px; }
.collectivites-portfolio-sites > div > span:nth-child(2) { font-size: 12px; }
.collectivites-portfolio-sites > div > span > small { display: block; margin-top: 3px; color: #727087; font-size: 9px; }
.collectivites-portfolio-sites > div > strong { margin-left: auto; font-size: 15px; font-weight: 500; white-space: nowrap; }
.collectivites-portfolio-sites strong small { color: #727087; font-size: 10px; font-weight: 400; }
.collectivites-portfolio-note { margin: 14px 0 0; color: #6a687e; font-size: 10px; line-height: 1.6; }
.collectivites-modern .collectivites-annual-card { padding: 28px; border: 1px solid #ece2ed; border-radius: 20px; background: #ffffffc9; box-shadow: none; }
.collectivites-modern .collectivites-annual-card h2 { margin: 20px 0; font-size: 28px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.collectivites-modern .collectivites-hero-price { display: block; margin: 0 0 22px; }
.collectivites-modern .collectivites-hero-price strong { font-size: 40px; font-weight: 500; line-height: 1.2; }
.collectivites-hero-price strong small { font-size: 16px; color: #655772; }
.collectivites-modern .collectivites-hero-price > span { display: block; margin-top: 6px; color: #71657d; font-size: 11px; font-weight: 400; }
.collectivites-modern .collectivites-card-line { gap: 8px; padding: 10px 0; border-color: #ece5ed; font-size: 11px; }
.collectivites-modern .collectivites-card-line strong { font-weight: 400; }
.collectivites-modern .collectivites-card-line > span { width: 18px; height: 18px; flex-basis: 18px; background: #efe6f7; color: #846299; font-size: 10px; }
.collectivites-modern .collectivites-trust { border: 0; }
.collectivites-modern .collectivites-trust-grid { padding: 34px 0 20px; color: #665976; font-size: 13px; font-weight: 400; }
.collectivites-modern .collectivites-trust-grid span + span { border-color: #e9e3ef; }
.collectivites-modern .collectivites-section { padding: 76px 0; }
.collectivites-modern .collectivites-feature-card { padding: 30px; border-color: #e9e7f0; background: #fbfafd; border-radius: 18px; box-shadow: none; }
.collectivites-modern .collectivites-feature-card h3 { font-weight: 500; font-size: 22px; }
.collectivites-modern .collectivites-icon { border-radius: 13px; background: linear-gradient(135deg, #f5dff1, #e9e2fc); color: #89679f; font-weight: 500; }
.collectivites-modern .collectivites-process-section { margin: 0 24px; padding: 70px 0; border: 0; border-radius: 56px; background: linear-gradient(115deg, #f8f0f5, #f4edf9); }
.collectivites-modern .collectivites-process-list { gap: 18px; }
.collectivites-modern .collectivites-process-list li { padding: 22px 16px; border: 1px solid #ebe4ef; border-radius: 16px; background: #fff; }
.collectivites-modern .collectivites-process-list li:not(:last-child)::after { display: none; }
.collectivites-modern .collectivites-process-list li > span { background: #f0e8f7; color: #816391; font-weight: 500; }
.collectivites-modern .collectivites-process-list strong { font-weight: 500; font-size: 17px; }
.collectivites-modern .collectivites-offer-grid { gap: 22px; }
.collectivites-modern .collectivites-offer-card { padding: 28px; border: 1px solid #e9e7f0; border-radius: 18px; background: #f9f9fc; box-shadow: none; }
.collectivites-modern .collectivites-offer-card.is-featured { transform: none; border-color: #e8dbef; background: linear-gradient(115deg, #f8eef4, #f3e8fc); box-shadow: none; }
.collectivites-modern .collectivites-offer-label { margin: 0; width: fit-content; }
.collectivites-modern .collectivites-offer-card h3 { min-height: 76px; margin-top: 20px; font-size: 23px; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; }
.collectivites-modern .collectivites-offer-card > .collectivites-offer-price { display: block; font-size: 34px; font-weight: 500; line-height: 1.3; margin-bottom: 20px; }
.collectivites-modern .collectivites-offer-price span { display: block; margin-top: 5px; font-size: 11px; font-weight: 400; }
.collectivites-modern .collectivites-offer-card li { color: #585c77; font-size: 12px; line-height: 1.6; }
.collectivites-modern .collectivites-offer-card li::before { color: #9574ad; font-weight: 400; }
.collectivites-modern .collectivites-offer-note { max-width: 950px; margin: 24px auto 0; font-size: 11px; }
.collectivites-modern .collectivites-deliverables-section { margin-inline: 24px; padding: 72px 0; border: 0; border-radius: 48px; background: #f9f9fc; }
.collectivites-modern .collectivites-deliverables-grid { gap: 48px; grid-template-columns: .9fr 1.3fr; }
.collectivites-modern .collectivites-deliverables-grid .collectivites-section-heading { position: static; }
.collectivites-modern .collectivites-deliverables-list article { border-color: #e9e7f0; }
.collectivites-modern .collectivites-deliverables-list article > span { color: #745789; font-weight: 500; }
.collectivites-modern .collectivites-deliverables-list h3 { font-weight: 500; }
.collectivites-modern .collectivites-intermediate-section { padding: 36px 0; }
.collectivites-modern .collectivites-intermediate-card { border-color: #e9e3ef; background: #fcf9fe; box-shadow: none; }
.collectivites-modern .collectivites-intermediate-card h2 { font-size: 26px; font-weight: 500; }
.collectivites-modern .collectivites-purchase-section { margin-inline: 24px; padding: 72px 0; border-radius: 48px; background: linear-gradient(110deg, #f9ecfa, #fbefea); color: #090d30; }
.collectivites-modern .collectivites-purchase-grid { gap: 64px; grid-template-columns: 1fr 1fr; }
.collectivites-modern .collectivites-purchase-intro { color: #665d78; font-size: 14px; }
.collectivites-modern .collectivites-purchase-list li { padding: 18px 0; border-color: #e8dcea; }
.collectivites-modern .collectivites-purchase-list li > strong { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 11px; background: #ffffffbc; color: #9273a5; font-weight: 500; }
.collectivites-modern .collectivites-purchase-list b { color: #2e2544; font-size: 16px; font-weight: 500; }
.collectivites-modern .collectivites-purchase-list small { color: #665d78; }
.collectivites-modern .collectivites-purchase-list a { color: #74558b; font-weight: 500; }
.collectivites-modern .collectivites-account-section { padding: 76px 0; border: 0; background: #fff; }
.collectivites-modern .collectivites-account-grid { align-items: center; gap: 64px; grid-template-columns: 1fr 1fr; }
.collectivites-modern .collectivites-account-card { border-color: #e9e1ef; background: linear-gradient(120deg, #faf4fc, #faf6f3); box-shadow: none; }
.collectivites-modern .collectivites-account-card h3 { font-size: 30px; font-weight: 500; }
.collectivites-modern .collectivites-contact-points li { color: #59627e; font-size: 13px; }
.collectivites-modern .collectivites-contact-points li::before { color: #9976b4; }
.collectivites-modern .collectivites-contact-section { margin: 0 24px 56px; padding: 70px 0; border: 0; border-radius: 48px; background: #f8f5fb; }
.collectivites-modern .collectivites-contact-grid { gap: 64px; grid-template-columns: 1fr 1fr; align-items: start; }
.collectivites-modern .collectivites-contact-form { padding: 28px; border-color: #e7e1ee; border-radius: 22px; background: #fff; box-shadow: 0 10px 32px #3d245b06; }
.collectivites-modern .collectivites-contact-form label > span { color: #514762; font-weight: 500; font-size: 12px; }
.collectivites-modern .collectivites-contact-form :is(input, textarea) { border-color: #e3dfea; border-radius: 10px; background: #fcfbfe; color: #39304a; font-size: 13px; }
.collectivites-modern .collectivites-contact-form > small { color: #6c667d; font-size: 10px; }
.collectivites-modern .collectivites-contact-email a { color: #715388; }
.collectivites-modern .collectivites-register-modal { border-color: #e7e0ed; border-radius: 26px; }
.collectivites-modern .collectivites-register-modal .landing-auth-modal-panel { background: linear-gradient(120deg, #fcf7fe, #fff9f6); }
.collectivites-modern .collectivites-register-modal .landing-auth-modal-eyebrow { color: #89699b; }
.collectivites-modern .collectivites-register-modal .landing-auth-tab.is-active { background: #ede1f5; color: #6e4c88; box-shadow: none; }
.collectivites-modern .collectivites-register-modal .landing-auth-submit { border-color: #363944; border-radius: 99px; background: linear-gradient(180deg, #454957, #10121a); }
.collectivites-modern .collectivites-register-modal .landing-auth-field input { border-color: #e3dfea; background: #fff; }
.collectivites-modern .home-footer { margin-top: 0; }
html:has(.collectivites-register-modal[open]) { overflow: hidden; }
@media (max-width: 1050px) {
  .collectivites-modern .collectivites-hero-grid { padding-top: 60px; }
  .collectivites-hero-panels { gap: 18px; }
  .collectivites-portfolio { padding: 20px; }
  .collectivites-portfolio-heading { flex-wrap: wrap; gap: 8px; }
  .collectivites-modern .collectivites-annual-card { padding: 24px; }
  .collectivites-modern .collectivites-offer-card { padding: 22px; }
  .collectivites-modern .collectivites-offer-card h3 { font-size: 21px; }
  .collectivites-modern .collectivites-deliverables-grid { grid-template-columns: 1fr; gap: 32px; }
  .collectivites-modern .collectivites-deliverables-grid .collectivites-section-heading { text-align: center; margin-inline: auto; }
  .collectivites-modern .collectivites-contact-grid,
  .collectivites-modern .collectivites-account-grid,
  .collectivites-modern .collectivites-purchase-grid { gap: 36px; }
}
@media (max-width: 800px) {
  .collectivites-modern .collectivites-hero { margin-inline: 16px; border-radius: 48px; }
  .collectivites-modern .collectivites-hero-grid { gap: 36px; padding: 48px 0 32px; }
  .collectivites-modern .collectivites-hero h1 { font-size: 44px; }
  .collectivites-modern .collectivites-hero .rl-lead { font-size: 17px; }
  .collectivites-hero-panels { grid-template-columns: 1fr; max-width: 570px; }
  .collectivites-modern .collectivites-annual-card h2 br { display: none; }
  .collectivites-modern .collectivites-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; font-size: 12px; }
  .collectivites-modern .collectivites-trust-grid span + span { border: 0; }
  .collectivites-modern .collectivites-feature-grid,
  .collectivites-modern .collectivites-offer-grid { grid-template-columns: 1fr; max-width: 570px; margin-inline: auto; }
  .collectivites-modern .collectivites-offer-card h3 { min-height: 0; font-size: 24px; }
  .collectivites-modern .collectivites-process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collectivites-modern .collectivites-process-section,
  .collectivites-modern .collectivites-deliverables-section,
  .collectivites-modern .collectivites-purchase-section,
  .collectivites-modern .collectivites-contact-section { margin-inline: 16px; padding-block: 52px; border-radius: 40px; }
  .collectivites-modern .collectivites-account-grid,
  .collectivites-modern .collectivites-contact-grid,
  .collectivites-modern .collectivites-purchase-grid { grid-template-columns: 1fr; }
  .collectivites-modern .collectivites-intermediate-card { flex-direction: column; align-items: flex-start; gap: 20px; }
}
@media (max-width: 540px) {
  .collectivites-modern .rl-container { width: calc(100% - 36px); }
  .collectivites-modern .collectivites-hero { margin-inline: 10px; border-radius: 36px; }
  .collectivites-modern .collectivites-hero-grid { padding-top: 40px; }
  .collectivites-modern .collectivites-hero h1 { font-size: 36px; }
  .collectivites-modern .collectivites-hero .home-audience { font-size: 11px; }
  .collectivites-modern .collectivites-hero .rl-lead { margin-top: 22px; font-size: 16px; }
  .collectivites-modern .collectivites-hero .rl-actions { flex-direction: column; }
  .collectivites-modern .collectivites-hero .home-button { width: 100%; padding-inline: 14px; font-size: 13px; }
  .collectivites-modern .collectivites-hero-note { font-size: 11px; }
  .collectivites-portfolio { padding: 18px 14px; }
  .collectivites-portfolio-heading h2 { font-size: 19px; }
  .collectivites-portfolio-metrics { gap: 6px; }
  .collectivites-portfolio-metrics > div { padding: 12px 8px; }
  .collectivites-portfolio-metrics span { font-size: 9px; min-height: 28px; }
  .collectivites-portfolio-metrics strong { font-size: 24px; }
  .collectivites-portfolio-sites > div { gap: 7px; flex-wrap: wrap; }
  .collectivites-portfolio-sites .feature-site-avatar { width: 28px; height: 28px; }
  .collectivites-portfolio-sites .feature-icon { width: 16px; height: 16px; }
  .collectivites-portfolio-sites > div > span:nth-child(2) { font-size: 11px; }
  .collectivites-portfolio-sites .report-status { margin-left: 35px; }
  .collectivites-portfolio-note { font-size: 9px; }
  .collectivites-modern .collectivites-annual-card { padding: 22px; }
  .collectivites-modern .collectivites-annual-card h2 { font-size: 26px; }
  .collectivites-modern .collectivites-section,
  .collectivites-modern .collectivites-account-section { padding: 52px 0; }
  .collectivites-modern .rl-section-heading h2 { font-size: 30px; }
  .collectivites-modern .rl-section-heading > p { font-size: 15px; }
  .collectivites-modern .collectivites-feature-grid,
  .collectivites-modern .collectivites-offer-grid { margin-top: 30px; }
  .collectivites-modern .collectivites-process-section,
  .collectivites-modern .collectivites-deliverables-section,
  .collectivites-modern .collectivites-purchase-section,
  .collectivites-modern .collectivites-contact-section { margin-inline: 10px; padding-block: 40px; border-radius: 32px; }
  .collectivites-modern .collectivites-process-list { gap: 10px; margin-top: 30px; }
  .collectivites-modern .collectivites-process-list li { padding: 18px 12px; }
  .collectivites-modern .collectivites-process-list strong { font-size: 16px; }
  .collectivites-modern .collectivites-process-list small { font-size: 12px; }
  .collectivites-modern .collectivites-deliverables-list { grid-template-columns: 1fr; }
  .collectivites-modern .collectivites-intermediate-card { padding: 24px; }
  .collectivites-modern .collectivites-intermediate-card .rl-button { white-space: normal; }
  .collectivites-modern .collectivites-account-card { padding: 24px; }
  .collectivites-modern .collectivites-account-card h3 { font-size: 27px; }
  .collectivites-modern .collectivites-contact-form { padding: 20px 16px; }
  .collectivites-modern .collectivites-contact-form .rl-form-row { grid-template-columns: 1fr; }
  .collectivites-modern main > section[id] { scroll-margin-top: 92px; }
}
