/* Gentle refresh: original identity, photographs and page structure retained. */
:root { --auliness-violet-dark: #655ba4; --auliness-lilac: #f6f4fb; --cassiopeia-color-hover: #655ba4; }
body { color: #55515d; font-size: 15px; font-weight: 400; line-height: 1.7; }
body a, body a:hover, body a:focus, body a:active { text-decoration: none !important; }
a:hover, a:focus { color: var(--auliness-violet-dark); }
a:focus-visible, button:focus-visible { outline-color: var(--auliness-violet-dark); }
.container-header { box-shadow: 0 3px 18px rgb(55 38 87 / 6%); }
.container-header .mod-menu > li > a, .container-header .mod-menu > li > button, .container-header .mod-menu__heading { font-weight: 500; }
.container-header .mod-menu__sub { border-radius: 0 0 12px 12px; box-shadow: 0 12px 25px rgb(55 38 87 / 14%); }
.container-header .mod-menu__sub a { padding: 11px 0; }
.container-header .mod-menu__sub a:hover, .container-header .mod-menu__sub a:focus-visible { background: rgb(255 255 255 / 12%); color: #fff; }
.container-header .auliness-contact-icons a:hover, .container-header .auliness-contact-icons a:focus-visible { color: var(--auliness-violet-dark) !important; }
.auliness-menu-toggle { font-size: 21px; border-radius: 8px; }
.auliness-menu-toggle:hover { color: var(--auliness-violet-dark); background: var(--auliness-lilac); }
.container-banner, .container-banner > .mod-custom { width: 100%; max-width: none; }
.auliness-hero { width: 100%; background-size: cover; background-position: center; }
.auliness-hero h1 { font-family: Poppins, "Open Sans", sans-serif; font-weight: 400; letter-spacing: .08em; }
.auliness-hero h2 { font-size: clamp(28px, 3vw, 38px); font-weight: 300; letter-spacing: .06em; }
.auliness-page-banner { border-bottom: 1px solid #e6e0f1; }
.auliness-page-banner p { font-family: Poppins, "Open Sans", sans-serif; font-size: clamp(24px, 2.4vw, 34px); font-weight: 400; border-radius: 0 16px 16px 0; box-shadow: 0 6px 20px rgb(55 38 87 / 10%); }
.auliness-page-banner p::after { display: none; }
.auliness-contact-cta { background: var(--auliness-lilac); border-bottom: 1px solid #e6e0f1; font-size: clamp(18px, 2.3vw, 30px); }
.auliness-contact-cta span { color: #777080; }
.auliness-contact-cta strong { color: var(--auliness-violet-dark); font-weight: 500; }
.auliness-home-tools h3, .auliness-feature-cards h3 { font-weight: 400; line-height: 1.35; }
.auliness-home-tools a { border-radius: 14px; transition: background-color .18s ease; }
.auliness-home-tools a:hover { background: var(--auliness-lilac); }
.auliness-feature-cards { margin-top: 75px; margin-bottom: 85px; }
.auliness-feature-cards article { border-color: #e7e2ed; border-radius: 16px; box-shadow: 0 6px 24px rgb(55 38 87 / 4%); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.auliness-feature-cards article > a { border-radius: 16px; }
.auliness-feature-cards article:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgb(55 38 87 / 10%); }
.auliness-feature-cards article:focus-within { outline-color: var(--auliness-violet-dark); }
.page-header h1, .com-content-article__body > h1:first-child { color: #635c73; font-weight: 400; border-bottom-style: solid; border-bottom-color: #ece7f2; padding-bottom: 24px; }
.page-header h1, .com-content-article__body h1, .com-content-article__body h2, .com-content-article__body h3 { font-family: Poppins, "Open Sans", sans-serif; font-weight: 400; }
.com-content-article__body > p { line-height: 1.8; margin-bottom: 16px; }
.txt-left h2, .txt-right h2 { border-radius: 10px; line-height: 1.35; }
.mission img { border-radius: 12px; }
.txt-left li, .txt-right li { line-height: 1.65; border-bottom: 1px solid #ece7f2; transition: background-color .18s ease; }
.txt-left li:hover, .txt-right li:hover { background: var(--auliness-lilac); color: #655ba4; }
.box-outils { border-radius: 12px; background: #fff; }
.box-outils:hover, .box-outils:focus-within { border-top-color: var(--auliness-violet-dark); box-shadow: 0 10px 25px rgb(55 38 87 / 7%); }
.box-outils:hover h2, .box-outils:focus-within h2 { color: var(--auliness-violet-dark); }

/* Contact form, on both the home and contact pages. */
.auliness-contact-form { border: 1px solid #e8e2f1; border-top: 4px solid var(--auliness-violet); border-radius: 20px; box-shadow: 0 16px 48px rgb(72 51 112 / 8%); color: #55515d; }
.auliness-contact-heading h2 { color: var(--auliness-violet-dark); font-weight: 400; line-height: 1.3; }
.auliness-contact-heading p:not(.auliness-kicker) { color: #6c6575; line-height: 1.65; }
.auliness-kicker { color: var(--auliness-violet-dark); }
.auliness-contact-form .formControlLabel { color: #655580; font-size: 14px; margin-bottom: 7px; }
.auliness-contact-form input[type="text"], .auliness-contact-form input[type="email"], .auliness-contact-form input[type="tel"], .auliness-contact-form textarea { background: #fbfafe; border-color: #ded7e9; border-radius: 10px; min-height: 52px; font: 400 16px/1.5 "Open Sans", Arial, sans-serif; color: #3f374c; transition: border-color .18s ease, box-shadow .18s ease; }
.auliness-contact-form textarea { min-height: 160px; }
.auliness-contact-form input::placeholder, .auliness-contact-form textarea::placeholder { color: #82798b; }
.auliness-contact-form input:hover, .auliness-contact-form textarea:hover { border-color: #b1a3cc; }
.auliness-contact-form input:focus, .auliness-contact-form textarea:focus { border-color: var(--auliness-violet); box-shadow: 0 0 0 4px rgb(130 124 193 / 15%); outline: 0; }
.auliness-contact-form .rsform-submit-button { background: var(--auliness-violet-dark); border-radius: 10px; min-height: 52px; font-size: 15px; transition: background-color .18s ease, box-shadow .18s ease; }
.auliness-contact-form .rsform-submit-button:hover, .auliness-contact-form .rsform-submit-button:focus-visible { background: #55488f; box-shadow: 0 5px 16px rgb(101 91 164 / 20%); }
.auliness-contact-details { background: var(--auliness-violet); border-radius: 12px; }
.auliness-contact-details h3 { font-weight: 400; line-height: 1.35; }
.auliness-contact-details a, .auliness-contact-details a:hover, .auliness-contact-details a:focus { color: #fff; }
.auliness-map-link { border-radius: 8px; }
.auliness-map-link:hover { background: rgb(255 255 255 / 14%); }
.auliness-required-note { line-height: 1.5; }
.container-footer { border-top: 1px solid #e7e0f0; }
.container-footer .grid-child { padding-top: 35px; }
.container-footer p { line-height: 1.65; }
.container-footer .mod-menu a { text-transform: none; font-size: 15px; }
.container-footer .mod-menu a:hover { color: #f0e9ff; }
@media (min-width: 1281px) { .container-header .mod-menu > li > a, .container-header .mod-menu > li > button { font-size: 16px; } }
@media (max-width: 991px) { .auliness-contact-form fieldset { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .auliness-feature-cards { gap: 24px; margin: 55px auto; width: 92%; }
  .auliness-contact-form { margin: 30px 0; padding: 24px 18px; }
  .auliness-form-module .auliness-contact-form { margin-left: 15px; margin-right: 15px; }
  .auliness-contact-heading h2 { font-size: 26px; }
  .auliness-contact-heading { margin-bottom: 26px; }
  .auliness-contact-form .rsform-submit-button { width: 100%; }
  .auliness-contact-banner { height: 300px; }
  .auliness-contact-banner h3 { font-size: 28px; }
  .container-footer .grid-child { gap: 32px; }
}
@media (prefers-reduced-motion: reduce) { .auliness-feature-cards article, .auliness-home-tools a, .auliness-contact-form input, .auliness-contact-form textarea, .auliness-contact-form button { transition: none; transform: none; } }

/* Optimized images: same dimensions, composition and full-width cover. */
.auliness-hero { background-image: url('/images/banners/banner-istock-475294806-perf-20260908.webp'); }
.auliness-contact-banner { background-image: url('/images/contactez-nous-perf-20260908.webp'); }
