.elementor-4875 .elementor-element.elementor-element-9447ab2{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-d699648{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-7cfa37f{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-b1941df .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-4875 .elementor-element.elementor-element-4d76fb7{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-9059397{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-619792f{--e-image-carousel-slides-to-show:1;}.elementor-4875 .elementor-element.elementor-element-227b62f{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-001e939{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-f4c0b52{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-5b6732f{width:auto;max-width:auto;}.elementor-4875 .elementor-element.elementor-element-4fd3c0d{width:auto;max-width:auto;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-4875 .elementor-element.elementor-element-619792f{--e-image-carousel-slides-to-show:1;}}@media(max-width:767px){.elementor-4875 .elementor-element.elementor-element-619792f{--e-image-carousel-slides-to-show:1;}}/* Start custom CSS *//* ===== L'Alchimiste des Nombres — styles du nouveau site (Elementor) =====
   Les couleurs se changent ici, dans :root. */
:root {
  --ivoire:#FBF6EF; --blanc:#FFFFFF; --sable:#EFE5D6; --trait:#E8DFD2;
  --encre:#2A2140; --texte:#4A3F5C; --doux:#6B6178; --violet:#5B4B8A; --violet-clair:#E2DAF2;
  --terre:#8A4A2F; --or-clair:#F5EBCF; --or:#7A5A09; --corail-clair:#FCE3DD;
  --n1:#145DAB; --n2:#FB73BE; --n3:#A9C83B; --n4:#1C7A36; --n5:#E27830; --n6:#4CBEEE; --n7:#A587FC; --n8:#D50920; --n9:#441E64;
  --serif:'Fraunces', Georgia, serif; --sans:'Outfit', 'Helvetica Neue', sans-serif;
}
html { scroll-behavior:smooth; }
body:has(.ac-footwrap) { background:var(--ivoire); }
body:has(.ac-footwrap) #colophon { display:none; }

/* --- Remise à zéro des réglages Elementor / Astra --- */
.ac { --kit-widget-spacing:0px; --widgets-spacing:0px 0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px;
  font-family:var(--sans); font-size:17px; line-height:1.6; color:var(--encre); }
.ac *, .ac *::before, .ac *::after { box-sizing:border-box; }
.ac .elementor-widget { font-family:var(--sans); color:var(--encre); font-size:17px; line-height:1.6; font-weight:400; margin:0; }
.ac .elementor-widget-wrap { display:flex; flex-wrap:wrap; align-content:flex-start; }
.ac .elementor-widget-wrap > .elementor-widget { width:100%; }
.ac .elementor-widget-wrap > .elementor-widget.elementor-widget__width-auto { width:auto; }
.ac > .elementor-container > .elementor-column:only-child { flex:1 1 100%; }
.ac .elementor-widget p, .ac .elementor-widget ul, .ac .elementor-widget blockquote, .ac .elementor-widget figure { margin:0; }
.ac .elementor-widget a { color:var(--violet); }
.ac .elementor-widget a:hover { color:#3E3166; }
.ac .elementor-widget img { max-width:100%; height:auto; display:block; }
.ac .elementor-widget-heading { font-family:var(--serif); font-weight:400; line-height:1.1; color:var(--encre); }
.ac .elementor-widget .elementor-heading-title { font:inherit; color:inherit; letter-spacing:inherit; text-transform:none; line-height:inherit; margin:0; padding:0; }
.ac .elementor-widget-heading em, .ac .elementor-widget em { font-style:italic; }
.ac .elementor-widget-wrap { align-content:flex-start; }
.ac .elementor-column-gap-no > .elementor-column > .elementor-element-populated { padding:0; }

/* --- Largeur de page et rythme vertical --- */
.ac > .elementor-container { width:calc(100% - 48px); max-width:1200px; margin-inline:auto; flex-wrap:wrap; }
.ac.ac-sticky > .elementor-container, .ac.ac-footwrap > .elementor-container, .ac.ac-header > .elementor-container,
.ac.ac-footer > .elementor-container, .ac.s-bandeau > .elementor-container { width:100%; max-width:none; }
.ac.s-white { background:var(--blanc); }
.ac.section { padding:96px 0; }
.ac.s-first { padding-top:96px; }
.ac.s-last { padding-bottom:96px; }
.ac.sec-head-row { padding-bottom:48px; }
.ac.s-sub { padding-top:56px; padding-bottom:20px; }
.ac.s-sub:has(+ .notes) { padding-top:64px; }
.ac.s-booking { padding-top:40px; }
.ac.tile-cadeau { padding-top:20px; }
.ac.s-mid { padding-top:72px; }
.ac.s-carousel + .ac.tile-tarot { padding-top:56px; }
.ac.s-note { padding-top:20px; }
.ac.s-note + .s-note { padding-top:16px; }
.ac.sec-head-row.s-mid { padding-bottom:48px; }
@media (max-width:700px) {
  .ac.section { padding:64px 0; } .ac.s-first { padding-top:64px; } .ac.s-last { padding-bottom:64px; }
}

/* --- Colonnes côte à côte (passent à la ligne quand la place manque) --- */
.ac > .elementor-container > .elementor-column { width:auto !important; min-width:0; }
.ac.split > .elementor-container { gap:64px; align-items:center; }
.ac.split > .elementor-container > .elementor-column:first-child { flex:999 1 460px; }
.ac.split > .elementor-container > .elementor-column:last-child { flex:1 1 380px; }
@media (min-width:768px) { .ac.s-reverse > .elementor-container { flex-direction:row-reverse; } }
.ac .split-a > .elementor-widget-wrap { gap:0; }

/* --- Textes --- */
.ac .eyebrow, .ac .eyebrow p { font-size:14px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--terre); }
.ac .h-lg { font-size:clamp(34px, 4vw, 48px); }
.ac .h-md { font-size:28px; }
.ac .center { text-align:center; }
.ac .lead, .ac .lead p, .ac p.lead { font-size:19px; color:var(--texte); }
.ac .muted, .ac .muted p { color:var(--texte); }
.ac .split-a .h-lg { margin:10px 0 20px; }
.ac .split-a .eyebrow + .h-lg { margin-top:10px; }
.ac .t-prose p { color:var(--texte); font-size:17px; }
.ac .t-prose p + p { margin-top:14px; }
.ac .t-prose p.lead { font-size:19px; color:var(--encre); }
.ac .t-prose { margin-top:22px; }
.ac .quote, .ac .quote p { font-family:var(--serif); font-style:italic; font-size:19px; color:var(--violet); }
.ac .quote small { font-family:var(--sans); font-style:normal; font-size:14px; color:var(--doux); display:block; margin-top:4px; }
.ac .quote-sign { margin-top:28px; } .ac .quote-sign p { font-size:24px; }
.ac .signature img { width:180px; margin-top:8px; }
.ac .photo img { width:100%; border-radius:28px; aspect-ratio:1/1; object-fit:cover; }

/* --- Boutons --- */
.ac .elementor-widget-button .elementor-button {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 28px; border-radius:999px;
  font-family:var(--sans); font-weight:500; font-size:16px; line-height:1.2; letter-spacing:0; text-transform:none;
  text-decoration:none; border:1.5px solid transparent; box-shadow:none; background:var(--encre); color:var(--ivoire); fill:currentColor;
  transition:transform .15s ease, background .15s ease; width:auto;
}
.ac .elementor-widget-button .elementor-button:hover { transform:translateY(-1px); background:#3B2F57; color:var(--ivoire); }
.ac .b-line .elementor-button { background:transparent; border-color:var(--encre); color:var(--encre); }
.ac .b-line .elementor-button:hover { background:var(--sable); color:var(--encre); }
.ac .b-sm .elementor-button { min-height:44px; padding:10px 20px; font-size:15px; }
.ac .elementor-widget-button.elementor-widget__width-auto { margin:0 14px 14px 0; }
.ac .elementor-widget-button .elementor-button-text { flex-grow:0; }
.ac .split-a .elementor-widget-button:first-of-type, .ac .hero-text .elementor-widget-button { margin-top:0; }
.ac .split-a .lead + .elementor-widget-button { margin-top:28px; }

/* --- Bandeau Espace élève et en-tête --- */
.ac-sticky { position:sticky; top:0; z-index:50; }
.admin-bar .ac-sticky { top:32px; }
@media (max-width:700px) { .ac-sticky { position:static; } }
.ac .topbar { background:var(--encre); color:var(--violet-clair); font-size:13px; text-align:right; padding:6px max(24px, calc((100% - 1152px) / 2)); }
.ac .topbar a { color:var(--ivoire); text-underline-offset:3px; }
.ac .topbar a:hover { color:#fff; }
.ac.ac-header { background:var(--ivoire); border-bottom:1px solid var(--trait); }
.ac .header-row > .elementor-container { max-width:1200px; margin:0 auto; padding:16px 24px; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }
.ac .header-row .elementor-column { width:auto !important; flex:0 1 auto; }
.ac .logo-col > .elementor-widget-wrap { flex-wrap:nowrap; align-items:center; gap:12px; }
.ac .logo-col .elementor-widget { width:auto; }
.ac .logo-img img { height:88px; width:auto; }
.ac .logo-name a { font-family:var(--serif); font-size:24px; font-weight:600; line-height:1.1; color:var(--encre); text-decoration:none; display:block; }
.ac .logo-name em { font-weight:400; }
.ac .nav-col > .elementor-widget-wrap { align-items:center; justify-content:flex-end; gap:6px 24px; flex-wrap:wrap; }
.ac .nav-col .elementor-widget { width:auto; }
.ac .nav-col .elementor-widget-button.elementor-widget__width-auto { margin:0; }
.ac .nav-links p { display:flex; flex-wrap:wrap; gap:6px 24px; font-size:15px; font-weight:500; }
.ac .nav-links a { color:var(--encre); text-decoration:none; }
.ac .nav-links a:hover { color:var(--violet); text-decoration:underline; text-underline-offset:6px; }
@media (max-width:700px) { .ac .logo-img img { height:68px; } .ac .logo-name a { font-size:20px; } .ac .nav-col > .elementor-widget-wrap { justify-content:flex-start; } }

/* --- Héros --- */
.ac.s-hero { padding:88px 0 72px; }
.ac.s-hero > .elementor-container { gap:56px; }
.ac.s-hero .hero-text { flex:999 1 520px !important; }
.ac.s-hero .hero-visual { flex:1 1 360px !important; }
.ac .hero-title { margin:18px 0 24px; text-wrap:balance; }
.ac .hero-l1 { display:block; font-size:clamp(30px, 3.6vw, 50px); letter-spacing:-.01em; line-height:1.1; }
.ac .hero-l2 { display:block; margin-top:10px; font-style:italic; font-size:clamp(22px, 2.3vw, 32px); color:var(--violet); line-height:1.15; }
@media (min-width:1100px) { .ac .hero-l1 { white-space:nowrap; } }
.ac .hero-lead p { font-size:20px; max-width:540px; margin-bottom:36px; }
.ac .hero-visual > .elementor-widget-wrap { max-width:420px; margin:0 auto; flex-direction:column; align-items:center; gap:28px; flex-wrap:nowrap; }
.ac .portrait img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:50% 18%; border-radius:50%; }
.ac .badge { align-self:flex-start; margin:-84px 0 8px -18px !important; position:relative; z-index:2; width:auto !important;
  background:var(--blanc); border-radius:18px; padding:16px 20px; box-shadow:0 10px 30px rgba(42,33,64,.12); }
.ac .badge p { display:flex; align-items:center; gap:14px; }
.ac .badge strong { font-family:var(--serif); font-weight:400; font-size:36px; line-height:1; color:var(--terre); }
.ac .badge span { font-size:14px; line-height:1.35; }
.ac .quote--hero { text-align:center; }
@media (max-width:700px) { .ac.s-hero { padding-top:48px; } .ac.s-hero > .elementor-container { gap:40px; } .ac .badge { margin-left:8px !important; } }

/* --- Bandeau des Nombres --- */
.ac .bandeau { display:grid; grid-template-columns:repeat(9, minmax(0,1fr)); }
.ac .bandeau span { height:64px; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:26px; color:var(--encre); }
.ac .bandeau .clair { color:#fff; }
@media (max-width:700px) { .ac .bandeau span { height:44px; font-size:18px; } }

/* --- En-têtes de section --- */
.ac.sec-head-row > .elementor-container { align-items:flex-end; justify-content:space-between; gap:20px; }
.ac.sec-head-row .sh-l { flex:0 1 auto; }
.ac.sec-head-row .sh-r { flex:0 1 420px; }
.ac.sec-head-row .h-lg { margin-top:10px; }
.ac .sh-p p { color:var(--texte); }
.ac .sub-h { font-size:28px; }
.ac .sub-h span { font-family:var(--sans); font-size:16px; color:var(--doux); }

/* --- Cartes --- */
.ac.cards > .elementor-container { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px; }
.ac.rows-6 { --rows:6; } .ac.rows-7 { --rows:7; } .ac.rows-8 { --rows:8; }
.ac .card { background:var(--blanc); border-radius:24px; padding:30px; display:grid !important; grid-template-columns:1fr 1fr; grid-template-rows:subgrid; grid-row:span var(--rows, 6); row-gap:14px; column-gap:8px; align-content:start; }
.ac.s-white .card { background:var(--ivoire); }
.ac .card > .elementor-widget-wrap { display:contents; }
.ac .card .elementor-widget { grid-column:1 / -1; width:auto; }
.ac .card .elementor-widget.c-half { grid-column:auto; }
.ac .card .elementor-widget-button .elementor-button { width:100%; }
.ac .dots { display:flex; gap:4px; }
.ac .dots span { width:28px; height:6px; border-radius:3px; }
.ac .c-eb, .ac .c-eb p { font-size:12px; }
.ac .c-h3 { font-weight:600; font-size:24px; line-height:1.2; }
.ac .c-txt p { color:var(--texte); font-size:16px; }
.ac .c-inclus { display:block; margin-top:10px; font-size:15px; color:var(--doux); }
.ac .c-meta p { font-size:14px; color:var(--doux); }
.ac .c-price p { font-family:var(--serif); font-size:32px; line-height:1.2; }
.ac .c-link p { font-size:15px; }

/* --- Notes « Bon à savoir » --- */
.ac.notes > .elementor-container { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; }
.ac .note { background:var(--or-clair); border-radius:20px; padding:26px 30px; }
.ac .note > .elementor-widget-wrap { gap:10px 0; }
.ac .note--violet { background:var(--violet-clair); } .ac .note--bleu { background:#E3F0F7; } .ac .note--corail { background:var(--corail-clair); }
.ac .note--parler { background:var(--blanc); border:1.5px solid var(--encre); }
.ac .n-h3 { font-size:22px; font-weight:600; }
.ac .n-txt ul { margin:0; padding-left:20px; color:var(--texte); font-size:16px; }
.ac .n-txt li + li { margin-top:8px; }
.ac .note--parler .n-txt { margin-bottom:14px; }
.ac .note--parler .n-txt p { color:var(--encre); font-size:17px; }

/* --- Prise de rendez-vous --- */
.ac .booking { border:1px solid var(--trait); border-radius:24px; background:var(--ivoire); padding:48px 32px; text-align:center; }
.ac .booking > .elementor-widget-wrap { flex-direction:column; align-items:center; gap:18px; flex-wrap:nowrap; }
.ac .booking .elementor-widget { width:auto; }
.ac .booking .elementor-widget-button.elementor-widget__width-auto { margin:0; }
.ac .bk-h { font-size:30px; }
.ac .bk-txt p { max-width:480px; color:var(--doux); }

/* --- Tuiles bon cadeau et Tarot --- */
.ac.tile-cadeau > .elementor-container { background:var(--or-clair); border-radius:24px; padding:36px 40px; align-items:center; justify-content:space-between; gap:24px; }
.ac.tile-cadeau .cadeau-txt { flex:1 1 420px; }
.ac.tile-cadeau .cadeau-btn { flex:0 0 auto; }
.ac.tile-cadeau .eyebrow p { color:var(--or); }
.ac .tile-h { font-size:30px; margin:8px 0 10px; }
.ac.tile-cadeau .elementor-widget-button.elementor-widget__width-auto { margin:0; }
.ac.tile-tarot > .elementor-container { background:var(--blanc); border-radius:28px; padding:44px; align-items:center; gap:36px; }
.ac.tile-tarot .tarot-a { flex:1 1 340px; } .ac.tile-tarot .tarot-b { flex:1 1 320px; }
.ac.tile-tarot .tarot-b > .elementor-widget-wrap { gap:16px; }
.ac.tile-tarot .tile-h { margin:0; }
.ac .tarot-img img { width:100%; border-radius:18px; }
@media (max-width:700px) { .ac.tile-tarot > .elementor-container, .ac.tile-cadeau > .elementor-container { padding:28px; } }

/* --- Arbre Arc en Ciel --- */
.ac .tree { margin-top:32px; }
.ac .tree p { color:var(--texte); font-size:16px; }
.ac .tree p + p { margin-top:18px; }
.ac .tree strong { display:block; font-size:18px; color:var(--encre); font-weight:600; }

/* --- Calculateur --- */
.ac .calc { background:var(--encre); color:var(--ivoire); border-radius:32px; padding:40px; display:flex; flex-direction:column; gap:18px; }
.ac .calc h3 { font-family:var(--serif); font-weight:400; font-size:28px; line-height:1.25; margin:0; color:var(--ivoire); }
.ac .calc p { color:#D9D1E6; font-size:16px; margin:0; }
.ac .calc-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.ac .calc-grid > div { display:flex; flex-direction:column; gap:6px; }
.ac .calc label { font-size:14px; color:#D9D1E6; }
.ac .calc input, .ac .calc select { background:var(--ivoire); color:var(--encre); border:0; border-radius:14px; padding:14px 12px; font-family:var(--sans); font-size:17px; min-height:48px; width:100%; }
.ac .calc button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 28px; border-radius:999px; background:var(--n5); color:var(--encre); border:0; font-family:var(--sans); font-weight:600; font-size:16px; cursor:pointer; }
.ac .calc button:hover { background:#EE8A45; color:var(--encre); }
.ac .calc .error { color:#FFB4A8; font-size:14px; min-height:1em; }
.ac .result { display:none; border-radius:20px; padding:24px; gap:12px; flex-direction:column; align-items:flex-start; background:rgba(255,255,255,.08); }
.ac .result.show { display:flex; }
.ac .result-num { flex:0 0 auto; width:76px; height:76px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:38px; }
.ac .result-txt strong { display:block; font-family:var(--serif); font-weight:400; font-size:22px; line-height:1.25; }
.ac .calc .calc-texte { margin:8px 0 12px; color:#E6DFF0; font-size:15px; line-height:1.55; }
.ac .calc-texte em { display:block; font-family:var(--serif); font-size:18px; color:var(--ivoire); margin-bottom:4px; }
.ac .result-txt a { color:var(--ivoire); }
@media (max-width:700px) { .ac .calc { padding:28px; } }

/* --- Carrousel de l'Agenda --- */
.ac.s-carousel .elementor-widget-wrap { justify-content:center; }
.ac .agenda-carousel { width:100%; }
.ac .agenda-carousel .elementor-image-carousel-wrapper, .ac .agenda-carousel .swiper { border-radius:24px; box-shadow:0 16px 40px rgba(42,33,64,.16); }
.ac .agenda-carousel img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.ac .agenda-carousel .elementor-swiper-button { width:52px; height:52px; border-radius:50%; background:rgba(251,246,239,.92); color:var(--encre); fill:var(--encre); box-shadow:0 4px 14px rgba(0,0,0,.18); display:flex; align-items:center; justify-content:center; font-size:22px; }
.ac .agenda-carousel .elementor-swiper-button svg { width:22px; height:22px; fill:var(--encre); }
.ac .agenda-carousel .swiper-pagination-bullet { background:#CFC4D8; opacity:1; width:10px; height:10px; }
.ac .agenda-carousel .swiper-pagination-bullet-active { background:var(--violet); width:26px; border-radius:5px; }
.ac.s-carousel .elementor-widget-button.elementor-widget__width-auto { margin:28px 0 0; }
@media (max-width:700px) { .ac .agenda-carousel .elementor-swiper-button { display:none; } .ac .agenda-carousel .swiper { border-radius:14px; } }

/* --- Vidéo --- */
.ac .video-w .elementor-wrapper { border-radius:24px; overflow:hidden; background:var(--encre); }

/* --- Stage --- */
.ac.stage-card > .elementor-container { background:var(--ivoire); border-radius:24px; padding:30px; gap:12px 40px; align-items:center; }
.ac.stage-card .stage-photos { flex:1.15 1 380px; }
.ac.stage-card .stage-txt { flex:1 1 320px; }
.ac.stage-card .stage-txt > .elementor-widget-wrap { gap:14px; }
.ac .stage-photos > .elementor-widget-wrap { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:150px 150px; gap:8px; }
.ac .stage-photos .sp { width:auto; height:100%; }
.ac .stage-photos .sp img { width:100%; height:100%; object-fit:cover; border-radius:14px; }
.ac .stage-photos .sp:first-child { grid-row:span 2; }
.ac .stage-photos .sp:nth-child(4) { display:none; }
@media (min-width:900px) {
  .ac .stage-photos > .elementor-widget-wrap { grid-template-columns:2fr 1fr 1fr; }
  .ac .stage-photos .sp:nth-child(4) { display:block; grid-column:span 2; }
}
.ac.stage-card .elementor-widget-button.elementor-widget__width-auto { margin:0; }
.ac.stage-card .elementor-widget-button .elementor-button { min-width:220px; }

/* --- Avis --- */
.ac.avis-grid .elementor-widget-wrap { display:block; columns:3 300px; column-gap:20px; }
.ac .avis { break-inside:avoid; margin:0 0 20px !important; background:var(--blanc); border-radius:22px; padding:26px 28px; display:inline-block; width:100%; }
.ac .avis blockquote { margin:0; padding:0; border:0; font-family:var(--serif); font-size:19px; line-height:1.45; color:var(--encre); font-style:normal; }
.ac .avis .avis-qui { margin-top:14px; font-size:14px; color:var(--doux); }
.ac .avis .avis-qui strong { color:var(--terre); font-weight:600; }

/* --- FAQ --- */
.ac .narrow > .elementor-widget-wrap { max-width:772px; margin-inline:auto; }
.ac .faq { display:flex; flex-direction:column; gap:12px; margin-top:32px; }
.ac .faq details { background:var(--ivoire); border-radius:18px; padding:22px 26px; }
.ac .faq summary { font-weight:600; font-size:18px; cursor:pointer; }
.ac .faq details p { margin:12px 0 0; color:var(--texte); }

/* --- Contact --- */
.ac .contact-list p { color:var(--encre); font-size:19px; }
.ac .contact-list p + p { margin-top:18px; }
.ac .contact-list strong { display:block; font-size:15px; color:var(--doux); font-weight:500; }
.ac .split-a .contact-list { margin-top:12px; }

/* --- Pages intérieures (fiches formation, mentions légales) --- */
.ac.page-head { padding:80px 0 56px; }
.ac .back-link p { font-size:15px; }
.ac.page-head .c-dots { margin-top:28px; }
.ac.page-head .eyebrow { margin-top:12px; }
.ac .h-page { margin:14px 0 20px; font-size:clamp(40px, 5vw, 64px); }
.ac.page-head .lead p { max-width:640px; }
.ac .narrow > .elementor-widget-wrap { gap:18px; }
.ac .infos { margin-bottom:12px; }
.ac .prose h2 { font-family:var(--serif); font-weight:400; font-size:34px; line-height:1.1; margin:28px 0 0; color:var(--encre); }
.ac .prose h2:first-child { margin-top:0; }
.ac .prose p, .ac .prose li { color:var(--texte); }
.ac .prose > * + *, .ac .prose .elementor-widget-container > * + * { margin-top:18px; }
.ac .prose ul { margin:18px 0 0; padding-left:22px; }
.ac .h-prose { font-size:34px; }
.ac .small-note p { font-size:15px; color:var(--doux); }
.ac .narrow .elementor-widget-button.elementor-widget__width-auto { margin:0 8px 0 0; }

/* --- Pied de page --- */
.ac.ac-footer { background:var(--encre); color:var(--violet-clair); }
.ac.ac-footer > .elementor-container { max-width:1200px; margin:0 auto; padding:72px 24px 32px; }
.ac.ac-footer .elementor-widget, .ac.ac-footer .elementor-widget p { color:var(--violet-clair); }
.ac.ac-footer a { color:var(--violet-clair); }
.ac.ac-footer a:hover { color:#fff; }
.ac .footer-grid > .elementor-container { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:40px; }
.ac .footer-grid .elementor-column { width:auto !important; }
.ac .footer-logo { width:auto; }
.ac .footer-logo a, .ac .footer-logo img { display:block; }
.ac .footer-logo img { background:var(--ivoire); border-radius:24px; padding:18px 22px; width:190px; height:auto; }
.ac .footer-small p { font-size:14px; margin-top:16px; }
.ac .f-h4 { font-family:var(--sans); font-weight:600; font-size:16px; color:var(--ivoire) !important; margin-bottom:12px; line-height:1.4; }
.ac .f-links p { line-height:1.9; }
.ac .newsletter { display:flex; flex-wrap:wrap; gap:8px; position:relative; }
.ac .newsletter input[type=email] { flex:1 1 180px; min-width:0; background:var(--ivoire); color:var(--encre); border:0; border-radius:999px; padding:12px 18px; font-family:var(--sans); font-size:15px; min-height:44px; }
.ac .newsletter .btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border-radius:999px; background:var(--n7); color:var(--encre); border:0; font-family:var(--sans); font-weight:600; font-size:15px; cursor:pointer; }
.ac .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ac .footer-bottom { margin-top:56px; padding-top:24px; border-top:1px solid #463B5E; }
.ac .footer-bottom p { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:14px; }

[id] { scroll-margin-top:150px; }
@media (max-width:700px) { [id] { scroll-margin-top:16px; } }

/* Ajustements */
.ac.sec-head-row .sh-l { flex:1 1 400px; }
.ac .stage-photos .sp { height:100%; min-height:0; overflow:hidden; border-radius:14px; }
.ac .stage-photos .sp > .elementor-widget-container, .ac .stage-photos .sp a { height:100%; display:block; }
.ac .stage-photos .sp img { height:100% !important; width:100%; object-fit:cover; }
.ac .calc-grid { grid-template-columns:1fr 1fr 1.25fr; }
.ac .calc select { padding:14px 8px; }
.ac .card .b-sm .elementor-button { padding:10px 12px; white-space:nowrap; }
.ac .newsletter .btn, .ac .calc button { text-transform:none; letter-spacing:0; }
.ac.pt0 { padding-top:0; }
.ac .video { aspect-ratio:16/9; border-radius:24px; overflow:hidden; background:var(--encre); }
.ac .video iframe { width:100%; height:100%; border:0; display:block; }/* End custom CSS */