/* Volcan Création : styles du site (thème enfant de Divi). */

@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("fonts/unbounded-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("fonts/unbounded-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("fonts/space-grotesk-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("fonts/space-grotesk-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --vc-bg: #050507;
  --vc-ink: #f5efe8;
  --vc-muted: #a99f98;
  --vc-line: rgba(255, 255, 255, 0.08);
  --vc-lava-1: #ff3d00;
  --vc-lava-2: #ff7a00;
  --vc-lava-3: #ffc247;
  --vc-glass: rgba(18, 13, 15, 0.58);
  --vc-radius: 22px;
  --vc-header-h: 76px;
  --vc-hero-h: 100vh;
  --vc-display: "Unbounded", "Space Grotesk", system-ui, sans-serif;
  --vc-text: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --vc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

html { scroll-behavior: smooth; }
body.vc-site { background: var(--vc-bg) !important; color: var(--vc-ink); font-family: var(--vc-text); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.vc-site ::selection { background: var(--vc-lava-2); color: #140805; }

/* Divi sert de conteneur : fonds transparents, marges neutralisées. */
body.vc-site #page-container { position: relative; z-index: 2; background: transparent !important; padding-top: 0 !important; margin-top: 0 !important; overflow: visible; }
body.vc-site #main-content, body.vc-site #et-main-area, body.vc-site .et-l, body.vc-site .et_builder_inner_content { background: transparent !important; }
body.vc-site .et_pb_section { background: transparent !important; padding: 0 !important; }
body.vc-site .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.vc-site .et_pb_column { width: 100% !important; margin: 0 !important; }
body.vc-site .et_pb_module { margin-bottom: 0 !important; }
body.vc-site .et_pb_text, body.vc-site .et_pb_text_inner { color: inherit; font-size: inherit; line-height: inherit; }
body.vc-site h1, body.vc-site h2, body.vc-site h3 { font-family: var(--vc-display); color: var(--vc-ink); padding: 0; letter-spacing: -0.02em; }
body.vc-site p { padding: 0; }
body.vc-site a { color: inherit; }

/* Photo de l'Etna derrière le haut de page. */
.vc-backdrop { position: absolute; inset: 0 0 auto 0; height: var(--vc-hero-h); z-index: 0; overflow: hidden; pointer-events: none; }
body:not(.vc-home) .vc-backdrop { display: none; }
.vc-backdrop__img { position: absolute; inset: 0; background: #0b0506 url("/wp-content/uploads/2026/10/etna-eruzione-notte.webp") 30% 40% / cover no-repeat; transform-origin: 30% 40%; }
@media (max-width: 1100px) { .vc-backdrop__img { background-image: url("/wp-content/uploads/2026/10/etna-eruzione-notte-1536x1024.webp"); } }
html.vc-js .vc-backdrop__img { animation: vc-intro-zoom 2.2s var(--vc-ease) both; }
.vc-backdrop__shade { position: absolute; inset: 0; background:
  linear-gradient(90deg, rgba(5, 5, 7, 0.78) 0%, rgba(5, 5, 7, 0.35) 42%, rgba(5, 5, 7, 0) 70%),
  linear-gradient(0deg, var(--vc-bg) 0%, rgba(5, 5, 7, 0) 38%),
  linear-gradient(180deg, rgba(5, 5, 7, 0.55) 0%, rgba(5, 5, 7, 0) 22%); }
.vc-backdrop::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--vc-line) 1px, transparent 1px), linear-gradient(90deg, var(--vc-line) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, #000 0%, transparent 75%); -webkit-mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, #000 0%, transparent 75%); opacity: 0.35; }

/* Coulée de lave (canvas dessiné par volcan.js). */
.vc-lava { position: fixed; top: 0; left: 0; z-index: 1; pointer-events: none; }

/* En-tête. */
.vc-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; transition: background 0.4s, backdrop-filter 0.4s, box-shadow 0.4s; }
.vc-header__bar { height: var(--vc-header-h); max-width: 1240px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 28px; }
.vc-header.is-scrolled { background: rgba(8, 6, 8, 0.62); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); box-shadow: 0 1px 0 var(--vc-line); }
.vc-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--vc-lava-1), var(--vc-lava-3), var(--vc-lava-1), transparent); background-size: 200% 100%; opacity: 0; transition: opacity 0.4s; animation: vc-shimmer 6s linear infinite; }
.vc-header.is-scrolled::after { opacity: 0.7; }

.vc-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.vc-logo__mark { position: relative; width: 30px; height: 24px; flex: none; }
.vc-logo__mark::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #3a3236, #161214); clip-path: polygon(0 100%, 38% 14%, 62% 14%, 100% 100%); }
.vc-logo__mark::after { content: ""; position: absolute; left: 38%; right: 38%; top: 6%; height: 30%; border-radius: 50% 50% 40% 40%; background: radial-gradient(circle at 50% 70%, #fff3c8 0%, var(--vc-lava-3) 35%, var(--vc-lava-1) 70%, transparent 72%); filter: drop-shadow(0 0 6px rgba(255, 110, 0, 0.9)); animation: vc-pulse 2.8s ease-in-out infinite; }
.vc-logo__text { font-family: var(--vc-display); font-weight: 600; font-size: 15px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--vc-ink); display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.vc-logo__sep { width: 6px; height: 6px; border-radius: 50%; background: var(--vc-lava-2); box-shadow: 0 0 10px var(--vc-lava-1); }

.vc-nav__list, .vc-overlay__list { list-style: none !important; margin: 0; padding: 0 !important; counter-reset: vc-nav; }
.vc-nav__list { display: flex; gap: 34px; }
.vc-nav__list li, .vc-overlay__list li { counter-increment: vc-nav; padding: 0; }
.vc-nav__list a { position: relative; display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 0; font-size: 13px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; color: rgba(245, 239, 232, 0.82); transition: color 0.3s; }
.vc-nav__list a::before { content: counter(vc-nav, decimal-leading-zero); font-size: 10px; letter-spacing: 0.05em; color: var(--vc-lava-2); opacity: 0.85; }
.vc-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--vc-lava-1), var(--vc-lava-3)); box-shadow: 0 0 12px rgba(255, 90, 0, 0.8); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--vc-ease); }
.vc-nav__list a:hover, .vc-nav__list a:focus-visible { color: #fff; }
.vc-nav__list a:hover::after, .vc-nav__list a:focus-visible::after { transform: scaleX(1); }

.vc-lang { display: inline-flex; padding: 3px; gap: 2px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 999px; background: rgba(10, 8, 9, 0.35); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.vc-lang__item { min-width: 38px; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-align: center; text-decoration: none; color: rgba(245, 239, 232, 0.7); transition: color 0.3s, background 0.3s; }
.vc-lang__item:hover { color: #fff; }
.vc-lang__item.is-current { color: #1a0a04; background: linear-gradient(135deg, var(--vc-lava-3), var(--vc-lava-2) 55%, var(--vc-lava-1)); box-shadow: 0 0 18px rgba(255, 100, 0, 0.55); }

.vc-burger { display: none; position: relative; width: 46px; height: 46px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; background: rgba(10, 8, 9, 0.35); cursor: pointer; }
.vc-burger span { position: absolute; left: 13px; right: 13px; height: 2px; border-radius: 2px; background: var(--vc-ink); transition: transform 0.4s var(--vc-ease), top 0.4s var(--vc-ease); }
.vc-burger span:first-child { top: 18px; }
.vc-burger span:last-child { top: 26px; right: 18px; background: var(--vc-lava-2); }
.vc-burger[aria-expanded="true"] span:first-child { top: 22px; transform: rotate(45deg); }
.vc-burger[aria-expanded="true"] span:last-child { top: 22px; right: 13px; transform: rotate(-45deg); }

/* Menu plein écran (téléphone). */
.vc-overlay { position: fixed; inset: 0; z-index: 40; display: flex; flex-direction: column; justify-content: center; gap: 48px; padding: 110px 32px 48px; background: #070506; opacity: 0; visibility: hidden; transition: opacity 0.45s var(--vc-ease), visibility 0s 0.45s; overflow: hidden; }
.vc-overlay.is-open { opacity: 1; visibility: visible; transition: opacity 0.45s var(--vc-ease); }
.vc-overlay__glow { position: absolute; left: 50%; bottom: -30vh; width: 140vw; height: 70vh; transform: translateX(-50%); background: radial-gradient(ellipse at center, rgba(255, 90, 0, 0.45), rgba(255, 40, 0, 0.12) 45%, transparent 70%); filter: blur(20px); animation: vc-pulse 5s ease-in-out infinite; }
.vc-overlay__list li { overflow: hidden; }
.vc-overlay__list a { display: flex; align-items: baseline; gap: 14px; padding: 10px 0; font-family: var(--vc-display); font-size: clamp(30px, 9vw, 48px); font-weight: 600; text-decoration: none; color: var(--vc-ink); transform: translateY(110%); transition: transform 0.6s var(--vc-ease), color 0.3s; }
.vc-overlay__list a::before { content: counter(vc-nav, decimal-leading-zero); font-family: var(--vc-text); font-size: 13px; letter-spacing: 0.1em; color: var(--vc-lava-2); }
.vc-overlay.is-open .vc-overlay__list a { transform: none; }
.vc-overlay.is-open .vc-overlay__list li:nth-child(2) a { transition-delay: 0.08s; }
.vc-overlay.is-open .vc-overlay__list li:nth-child(3) a { transition-delay: 0.16s; }
.vc-overlay.is-open .vc-overlay__list li:nth-child(4) a { transition-delay: 0.24s; }
.vc-overlay__list a:hover { color: var(--vc-lava-3); }
.vc-lang--overlay { align-self: flex-start; position: relative; }
body.vc-menu-open { overflow: hidden; }

/* Haut de page. */
.vc-hero { position: relative; z-index: 2; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; padding: calc(var(--vc-header-h) + 40px) 24px clamp(64px, 10vh, 120px); }
.vc-hero__content { width: 100%; max-width: 1160px; margin: 0 auto; }
.vc-kicker { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 22px; font-size: 13px; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(245, 239, 232, 0.8); }
.vc-kicker__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--vc-lava-2); box-shadow: 0 0 0 4px rgba(255, 122, 0, 0.18), 0 0 16px var(--vc-lava-1); animation: vc-pulse 2.4s ease-in-out infinite; }
body.vc-site h1.vc-title { margin: 0; font-size: clamp(44px, 9.2vw, 132px); font-weight: 700; line-height: 0.95; letter-spacing: -0.035em; }
.vc-title__lava { display: block; background: linear-gradient(100deg, #c41d00 0%, var(--vc-lava-1) 18%, var(--vc-lava-2) 34%, #ffe3a0 48%, var(--vc-lava-2) 62%, var(--vc-lava-1) 80%, #b01a00 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 28px rgba(255, 80, 0, 0.35)); animation: vc-molten 7s ease-in-out infinite alternate; }
.vc-title__light { display: block; color: transparent; -webkit-text-stroke: 1.5px rgba(245, 239, 232, 0.9); font-weight: 600; }
.vc-lead { max-width: 560px; margin: 28px 0 0; font-size: clamp(17px, 1.6vw, 20px); color: rgba(245, 239, 232, 0.86); }
.vc-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.vc-hero__meta { position: absolute; right: 24px; bottom: clamp(64px, 10vh, 120px); display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(245, 239, 232, 0.55); }
.vc-hero__meta span::before { content: ""; display: inline-block; width: 22px; height: 1px; margin-right: 10px; vertical-align: middle; background: var(--vc-lava-2); }
.vc-scroll { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; text-decoration: none; color: rgba(245, 239, 232, 0.6); }
.vc-scroll__line { position: relative; width: 1px; height: 38px; background: rgba(255, 255, 255, 0.2); overflow: hidden; }
.vc-scroll__line::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--vc-lava-3); box-shadow: 0 0 8px var(--vc-lava-2); animation: vc-drip 2s ease-in infinite; }

/* Boutons. */
.vc-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 999px; font-size: 14px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none !important; transition: transform 0.35s var(--vc-ease), box-shadow 0.35s, background 0.35s, color 0.35s; }
.vc-btn--lava { color: #1a0904 !important; background: linear-gradient(135deg, var(--vc-lava-3), var(--vc-lava-2) 50%, var(--vc-lava-1)); background-size: 160% 160%; box-shadow: 0 10px 40px -10px rgba(255, 80, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
.vc-btn--lava:hover { transform: translateY(-2px); background-position: 100% 100%; box-shadow: 0 16px 50px -8px rgba(255, 80, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
.vc-btn--ghost { color: var(--vc-ink) !important; border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(10, 8, 9, 0.3); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.vc-btn--ghost:hover { border-color: var(--vc-lava-2); color: #fff !important; box-shadow: 0 0 24px -6px rgba(255, 100, 0, 0.6); }
.vc-btn span[aria-hidden] { transition: transform 0.35s var(--vc-ease); }
.vc-btn:hover span[aria-hidden] { transform: translateX(4px); }

/* Sections. */
.vc-section { position: relative; z-index: 2; max-width: 1160px; margin: 0 auto; padding: clamp(90px, 14vw, 170px) 24px; scroll-margin-top: var(--vc-header-h); }
.vc-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 20px; font-size: 12px; font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase; color: var(--vc-lava-3); }
.vc-eyebrow::before { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, var(--vc-lava-1), var(--vc-lava-3)); }
body.vc-site h2.vc-h2 { margin: 0 0 56px; max-width: 880px; text-wrap: balance; font-size: clamp(32px, 5.4vw, 66px); font-weight: 600; line-height: 1.05; }
.vc-h2 em { font-style: normal; background: linear-gradient(90deg, var(--vc-lava-2), var(--vc-lava-3)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.vc-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.vc-card { position: relative; padding: clamp(28px, 4vw, 48px); border-radius: var(--vc-radius); background: linear-gradient(180deg, rgba(24, 17, 19, 0.66), rgba(10, 8, 10, 0.58)); border: 1px solid var(--vc-line); backdrop-filter: blur(16px) saturate(130%); -webkit-backdrop-filter: blur(16px) saturate(130%); overflow: hidden; transition: border-color 0.8s, box-shadow 0.8s, transform 0.5s var(--vc-ease); }
.vc-card::before { content: ""; position: absolute; inset: auto -20% -60% -20%; height: 90%; background: radial-gradient(ellipse at 50% 100%, rgba(255, 80, 0, 0.32), transparent 65%); opacity: 0; transition: opacity 1.2s; pointer-events: none; }
.vc-card.is-lit { border-color: rgba(255, 110, 0, 0.42); box-shadow: 0 0 0 1px rgba(255, 110, 0, 0.12), 0 30px 80px -30px rgba(255, 70, 0, 0.55); }
.vc-card.is-lit::before { opacity: 1; }
.vc-card:hover { transform: translateY(-4px); }
.vc-card__num { position: absolute; top: 26px; right: 30px; font-family: var(--vc-display); font-size: 13px; letter-spacing: 0.1em; color: rgba(245, 239, 232, 0.55); }
.vc-card__icon { position: relative; width: 54px; height: 54px; margin-bottom: 30px; border-radius: 16px; border: 1px solid rgba(255, 140, 40, 0.35); background: radial-gradient(circle at 50% 60%, rgba(255, 120, 0, 0.35), rgba(255, 60, 0, 0.05) 70%); box-shadow: inset 0 0 18px rgba(255, 100, 0, 0.25); }
.vc-card__icon::after { content: ""; position: absolute; inset: 16px; border-radius: 4px; background: linear-gradient(135deg, var(--vc-lava-3), var(--vc-lava-1)); box-shadow: 0 0 14px var(--vc-lava-1); transform: rotate(45deg) scale(0.8); transition: transform 0.6s var(--vc-ease); }
.vc-card--seo .vc-card__icon::after { border-radius: 50%; transform: none; }
.vc-card:hover .vc-card__icon::after { transform: rotate(135deg) scale(0.9); }
.vc-card--seo:hover .vc-card__icon::after { transform: scale(1.1); }
body.vc-site .vc-card h3 { margin: 0 0 14px; font-size: clamp(22px, 2.4vw, 30px); font-weight: 600; line-height: 1.15; }
.vc-card p { margin: 0 0 26px; color: var(--vc-muted); }
.vc-list { list-style: none !important; margin: 0; padding: 0 !important; border-top: 1px solid var(--vc-line); }
.vc-list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 2px !important; border-bottom: 1px solid var(--vc-line); font-size: 17px; font-weight: 500; }
.vc-list li::after { content: "\2192"; color: var(--vc-lava-2); transition: transform 0.35s var(--vc-ease); }
.vc-list li:hover::after { transform: translateX(5px); }

/* Contact. */
.vc-contact { text-align: center; }
.vc-contact .vc-eyebrow { justify-content: center; }
.vc-contact .vc-eyebrow::after { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, var(--vc-lava-3), var(--vc-lava-1)); }
body.vc-site .vc-contact h2.vc-h2 { margin: 0 auto 40px; }
.vc-contact__mail { display: block; margin-top: 26px; font-size: 15px; letter-spacing: 0.06em; color: var(--vc-muted); text-decoration: none; }
.vc-contact__mail:hover { color: var(--vc-lava-3); }

/* Pied de page. */
.vc-footer { position: relative; z-index: 2; max-width: 1160px; margin: 0 auto; padding: 36px 24px 140px; border-top: 1px solid var(--vc-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; font-size: 13px; color: rgba(245, 239, 232, 0.5); }
.vc-footer p { margin: 0; }
.vc-footer a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 122, 0, 0.5); }
.vc-footer a:hover { color: var(--vc-lava-3); }

/* Apparition au défilement. */
html.vc-js .vc-reveal { opacity: 0; transform: translateY(32px); transition: opacity 1s var(--vc-ease), transform 1s var(--vc-ease); }
html.vc-js .vc-reveal.is-visible { opacity: 1; transform: none; }
html.vc-js .vc-reveal--d1 { transition-delay: 0.12s; }
html.vc-js .vc-hero .vc-reveal { transition-delay: calc(0.5s + var(--d, 0s)); }

@keyframes vc-molten { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes vc-shimmer { from { background-position: 0% 0; } to { background-position: 200% 0; } }
@keyframes vc-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }
@keyframes vc-drip { 0% { top: -40%; } 100% { top: 100%; } }
@keyframes vc-intro-zoom { from { transform: scale(1.08); filter: brightness(0.4); } to { transform: none; filter: none; } }

@media (max-width: 860px) {
  :root { --vc-header-h: 68px; }
  .vc-nav, .vc-lang--bar { display: none; }
  .vc-burger { display: block; }
  .vc-logo__text { font-size: 13px; letter-spacing: 0.12em; }
  .vc-cards { grid-template-columns: 1fr; }
  .vc-hero__meta, .vc-scroll { display: none; }
  .vc-hero { min-height: 118vh; min-height: 118svh; }
  .vc-kicker { letter-spacing: 0.16em; font-size: 12px; }
  .vc-backdrop__shade { background:
    linear-gradient(0deg, var(--vc-bg) 0%, rgba(5, 5, 7, 0.7) 30%, rgba(5, 5, 7, 0) 62%),
    linear-gradient(180deg, rgba(5, 5, 7, 0.6) 0%, rgba(5, 5, 7, 0) 25%); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: 0.01ms !important; }
  html.vc-js .vc-reveal { opacity: 1; transform: none; }
}

/* Pages légales (Privacy, Confidentialité). */
.vc-legal { max-width: 760px; margin: 0 auto; padding: calc(var(--vc-header-h) + 64px) 24px 72px; color: rgba(245, 239, 232, 0.86); }
.vc-legal h1 { font-size: clamp(30px, 5vw, 46px); margin: 0 0 6px; }
.vc-legal h2 { font-size: 19px; margin: 36px 0 10px; }
.vc-legal p { margin: 0 0 14px; }
.vc-legal a { color: var(--vc-lava-3); text-decoration: underline; text-underline-offset: 3px; }
.vc-legal__date { color: rgba(245, 239, 232, 0.6); font-size: 15px; }
.vc-legal__back { margin-top: 40px !important; }
.vc-legal .vc-footer { margin-top: 48px; }
body.vc-site:has(.vc-legal) .main_title { display: none; }
body.vc-site:has(.vc-legal) #main-content .container { padding-top: 0; }
body.vc-site:has(.vc-legal) #main-content .container:before { display: none; }
/* Pied de page : la ligne d'identité reste à gauche de la coulée de lave. */
.vc-footer p:first-child { max-width: 30em; }
