
@font-face {
  font-family: "Anton";
  src: url("/polices/anton-latin.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face {
  font-family: "Archivo";
  src: url("/polices/archivo-latin.woff2") format("woff2");
  font-weight: 400 800; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face {
  font-family: "Anton repli";
  src: local("Arial Narrow Bold"), local("ArialNarrow-Bold"), local("Impact");
  size-adjust: 92%;
  ascent-override: 118%;
}
:root {
  --jour: #faf9f5;
  --creux: #f1efe8;
  --papier: #ffffff;
  --encre: #141215;
  --encre-2: #57565c;
  --ligne: #e3e1da;
  --accent: #ff2d6f;
  --accent-fonce: #c8124f;
  --accent-socle: #a8154a;
  --nuit: #0b0a0d;
  --nuit-2: #17151c;
  --nuit-ligne: rgba(255, 255, 255, 0.12);
  --nuit-texte-2: rgba(255, 255, 255, 0.72);
  --fa: "Anton", "Anton repli", Impact, sans-serif;
  --fd: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --marge: clamp(18px, 5vw, 48px);
  --large: 1280px;
  --bloc: clamp(56px, 9vw, 140px);
  --r: 22px;
  --t-h1: clamp(2.5rem, 0.9rem + 6.6vw, 5.8rem);
  --t-h2: clamp(2.5rem, 1.35rem + 4.6vw, 5.4rem);
  --t-h3: clamp(1.55rem, 1.2rem + 1.2vw, 2.2rem);
  --t-gros: clamp(1.15rem, 1.02rem + 0.5vw, 1.4rem);
  --t-corps: 1.0625rem;
  --t-petit: 0.875rem;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --tete-h: 68px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--tete-h) + 16px); overflow-x: clip; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  margin: 0;
  background: var(--jour);
  color: var(--encre);
  font: 400 var(--t-corps)/1.55 var(--fd);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
::selection { background: var(--accent); color: #fff; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
button, input, select, textarea { font: inherit; color: inherit; }
.insecable { white-space: nowrap; }
.lv-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lv-saut { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--encre); color: #fff; padding: 12px 16px; border-radius: 12px; text-decoration: none; font-weight: 700; }
.lv-saut:focus { top: 12px; }
.cadre { width: 100%; max-width: var(--large); margin-inline: auto; padding-inline: var(--marge); }
.h1, .h2, .h3 {
  font-family: var(--fa);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.004em;
  hyphens: none;
  text-wrap: balance;
  margin: 0;
}
.h1 { font-size: var(--t-h1); line-height: 1; }
.h2 { font-size: var(--t-h2); line-height: 1; }
.h3 { font-size: var(--t-h3); line-height: 1.04; }
.h--accents { line-height: 1.14; }
.h3.h--accents { line-height: 1.2; }
.h1 em, .h2 em { font-style: normal; color: var(--accent); }
.chapo { font-size: var(--t-gros); line-height: 1.45; color: var(--encre-2); max-width: 36ch; margin: 22px 0 0; text-wrap: pretty; }
.nuit .chapo { color: var(--nuit-texte-2); }
.tete-bloc { max-width: 900px; margin-bottom: clamp(40px, 6vw, 72px); }
.tete-bloc--centre { margin-inline: auto; text-align: center; }
.tete-bloc--centre .chapo { margin-inline: auto; }
.ligne { display: block; overflow: hidden; padding: 0.26em 0 0.34em; margin: -0.26em 0 -0.34em; }
.ligne > span { display: inline-block; will-change: transform; }
.ligne-st-mask { padding: 0.26em 0 0.34em; margin: -0.26em 0 -0.34em; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 56px; padding: 0 24px;
  border-radius: 14px; border: 0;
  font: 700 19px/1 var(--fd); letter-spacing: -0.005em;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color 0.2s var(--ease), color 0.2s var(--ease), transform 0.16s var(--ease);
  -webkit-tap-highlight-color: transparent;
}
.btn svg { width: 19px; height: 19px; flex: none; transition: transform 0.28s var(--ease); }
.btn:hover svg { transform: translateX(3px); }
.btn:active { transform: scale(0.98); }
.btn--plein { background: var(--accent); color: #fff; }
.btn--plein:hover { background: #ef1a5d; }
.btn--doux { background: color-mix(in srgb, var(--encre) 7%, transparent); color: var(--encre); }
.btn--doux:hover { background: color-mix(in srgb, var(--encre) 12%, transparent); }
.btn--encre { background: var(--encre); color: var(--jour); }
.btn--encre:hover { background: color-mix(in srgb, var(--encre) 86%, var(--jour)); }
.btn--petit { min-height: 46px; padding: 0 18px; font-size: 16px; border-radius: 12px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
@media (max-width: 520px) { .actions .btn { flex: 1 1 100%; } .heros .actions .btn, .suivante-actions .btn, .bloc-demo .actions .btn { flex: 1 1 0; padding: 0 14px; } }
.lien-fleche {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  font-weight: 700; font-size: 1.0625rem; color: var(--encre); text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 9px) / 0% 2px no-repeat;
  transition: background-size 0.35s var(--ease);
}
.lien-fleche:hover, .lien-fleche:focus-visible { background-size: calc(100% - 26px) 2px; }
.lien-fleche svg { width: 18px; height: 18px; transition: transform 0.28s var(--ease); }
.lien-fleche:hover svg { transform: translateX(3px); }
@media (pointer: fine) and (min-width: 900px) { .si-tactile { display: none !important; } }
@media (pointer: coarse), (max-width: 899px) { .si-souris { display: none !important; } }
.tete {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--jour) 94%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}
.tete.est-defile { border-bottom-color: var(--ligne); }
.tete-in { display: flex; align-items: center; gap: 16px; height: var(--tete-h); }
.marque { display: flex; align-items: center; color: var(--encre); min-height: 44px; text-decoration: none; }
.marque svg { height: 30px; width: auto; }
.nav { display: none; gap: 4px; margin-left: 18px; }
.nav a, .nav summary {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px;
  font-weight: 600; font-size: 15.5px; text-decoration: none; border-radius: 10px; cursor: pointer;
}
.nav a:hover, .nav summary:hover { background: var(--creux); }
.nav a[aria-current="page"] { color: var(--accent-fonce); }
.tete-droite { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.tel {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; justify-content: center;
  font-weight: 700; font-variant-numeric: tabular-nums; text-decoration: none; border-radius: 12px; padding: 0 10px;
}
.tel svg { width: 19px; height: 19px; }
.tel span { display: none; }
.tel:hover { background: var(--creux); }
.tete-droite > .btn { display: none; }
.menu { position: relative; }
.menu > summary {
  list-style: none; display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 12px; cursor: pointer; border: 1.5px solid var(--ligne);
}
.menu > summary::-webkit-details-marker { display: none; }
.menu > summary svg { width: 22px; height: 22px; }
.menu-panneau {
  position: fixed; inset: var(--tete-h) 0 0 0; background: #faf9f5; color: #141215;
  padding: 18px var(--marge) calc(24px + env(safe-area-inset-bottom));
  display: flex; flex-direction: column; gap: 8px; overflow: auto; overscroll-behavior: contain;
}
.menu-liens a { display: flex; align-items: center; justify-content: space-between; min-height: 64px; font: 400 2.1rem/1 var(--fa); text-transform: uppercase; text-decoration: none; border-bottom: 1px solid #e3e1da; color: #141215; }
.menu-liens a svg { width: 24px; height: 24px; color: #e0195e; }
.menu-liens a[aria-current="page"] { color: #e0195e; }
.menu-groupe { margin: 18px 0 4px; font: 700 12px/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; color: #57565c; }
.menu-metiers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.menu-metiers a { display: flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: 12px; background: #f1efe8; color: #141215; font-weight: 700; text-decoration: none; }
.menu-actions { margin-top: auto; padding-top: 22px; display: grid; gap: 10px; justify-items: center; }
.menu-actions .btn { width: 100%; }
.menu > summary .menu-fermer { display: none; }
.menu[open] > summary .menu-ouvrir { display: none; }
.menu[open] > summary .menu-fermer { display: inline-flex; }
.menu > summary span { display: inline-flex; }
.nav a, .nav summary, .tel { white-space: nowrap; }
@media (min-width: 1180px) {
  .nav { display: flex; }
  .menu { display: none; }
  .tete-droite > .btn { display: inline-flex; }
}
@media (min-width: 1320px) {
  .tel span { display: inline; }
}
.sous-menu { position: relative; }
.sous-menu > summary { list-style: none; gap: 6px; }
.sous-menu > summary::-webkit-details-marker { display: none; }
.sous-menu > summary svg { width: 14px; height: 14px; transition: transform 0.2s; }
.sous-menu[open] > summary svg { transform: rotate(180deg); }
.sous-menu-liste {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 270px;
  background: var(--papier); border: 1px solid var(--ligne); border-radius: 18px; padding: 8px;
  box-shadow: 0 24px 48px -24px rgba(20, 18, 21, 0.28);
  display: grid;
}
.sous-menu-liste a { min-height: 48px; padding: 0 14px; justify-content: space-between; }
.sous-menu-liste a small { color: var(--encre-2); font-weight: 500; font-size: 13px; }
.barre-basse {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  display: flex; gap: 8px; padding: 8px var(--marge) calc(8px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--ligne); box-shadow: 0 -10px 24px -18px rgba(20, 18, 21, .35);
  transform: translateY(110%); transition: transform 0.4s var(--ease);
}
.barre-basse .btn { min-height: 46px; padding: 0 12px; font-size: 15px; gap: 6px; }
.barre-basse .btn--appel svg { width: 17px; height: 17px; }
.barre-basse { background: #faf9f5; }
.barre-basse .btn--doux { background: #ecebe6; color: #141215; }
.barre-basse .btn--plein { background: #e0195e; }
.barre-basse .btn--appel:hover svg { transform: none; }
.barre-basse .btn--plein { flex: 1; }
.barre-basse.est-visible { transform: none; }
@media (min-width: 1180px) { .barre-basse { display: none; } }
.bloc { padding-block: var(--bloc); position: relative; }
.bloc--creux { background: var(--creux); }
.bloc--serre { padding-block: clamp(48px, 6vw, 84px); }
.nuit { background: var(--nuit); color: #fff; }
.nuit ::selection { background: #fff; color: var(--nuit); }
.heros { padding-top: clamp(28px, 3.4vw, 44px); padding-bottom: clamp(56px, 7vw, 96px); position: relative; }
.heros-grille { display: grid; gap: 40px; align-items: center; }
.heros .h1 { position: relative; z-index: 2; }
.heros-texte .chapo { max-width: 34ch; }
.puces { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.puces li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; font-size: 1.0625rem; line-height: 1.35; }
.puces svg { flex: none; width: 22px; height: 22px; margin-top: 1px; color: var(--accent-fonce); }
.nuit .puces svg { color: var(--accent); }
.prix-rappel { margin: 18px 0 0; font-size: 15px; color: var(--encre-2); }
.prix-rappel a { font-weight: 700; color: var(--encre); }
.scene {
  margin: 0;
  position: relative; border-radius: var(--r); overflow: hidden; background: var(--creux);
  isolation: isolate;
}
.scene img, .scene video { width: 100%; height: 100%; object-fit: cover; }
.scene picture { display: contents; }
.heros-visuel { position: relative; }
.heros-visuel .scene { aspect-ratio: 4 / 4.6; }
.heros-visuel .scene img { object-position: 50% 78%; }
.heros-tels { position: absolute; inset: 0; pointer-events: none; }
.heros-tels .telephone { position: absolute; }
.heros-tels .tel-arriere { --l: clamp(132px, 34vw, 210px); right: 3%; bottom: -10%; transform: rotate(4deg); }
.heros-tels .tel-avant { --l: clamp(150px, 40vw, 250px); left: -3%; bottom: -16%; transform: rotate(-3deg); }
@media (min-width: 900px) {
  .heros-grille { grid-template-columns: 1.15fr 0.85fr; gap: 0; }
  .heros-texte { padding-right: 24px; }
  .heros-visuel .scene { aspect-ratio: 4 / 5; }
  .heros-tels .tel-avant { --l: clamp(200px, 17vw, 258px); left: -17%; bottom: -12%; }
  .heros-tels .tel-arriere { --l: clamp(170px, 14vw, 214px); right: -7%; bottom: 8%; }
}
.motion { position: relative; margin: 0; border-radius: var(--r); overflow: hidden; background: #faf9f5; aspect-ratio: 4 / 5; isolation: isolate; box-shadow: 0 2px 4px rgba(20,18,21,.10), 0 30px 60px -28px rgba(20,18,21,.45); }
.motion picture { display: contents; }
.motion img, .motion video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.motion video { opacity: 0; transition: opacity .35s ease; }
.motion.est-anime video { opacity: 1; }
@media (min-width: 900px) {
  .heros--motion .heros-grille { grid-template-columns: 1fr 1.08fr; }
  .heros--motion .heros-texte { padding-right: 40px; }
  .heros--motion .motion { aspect-ratio: 16 / 9; }
}
@media (max-width: 899px) {
  .heros--motion { padding-bottom: 40px; }
  .heros--motion .heros-visuel { margin: 14px 0 20px; display: flex; justify-content: center; }
  .heros--motion .motion { width: min(100%, 270px); }
  .heros--motion .puces { margin-top: 22px; }
}
@media (max-width: 899px) {
  .heros-grille { gap: 0; }
  .heros-texte { display: contents; }
  .heros .fil { order: 0; }
  .heros .h1 { order: 1; }
  .heros .chapo { order: 2; margin-top: 14px; font-size: 1.06rem; }
  .heros-visuel { order: 3; margin: 20px 0 44px; }
  .heros .actions { order: 4; margin-top: 0; }
  .heros .prix-rappel { order: 5; }
  .heros .puces { order: 6; margin-top: 30px; }
  .heros-visuel .scene { aspect-ratio: 4 / 3; }
  .heros-tels .tel-avant { --l: 31vw; left: 2%; bottom: -14%; }
  .heros-tels .tel-arriere { --l: 27vw; right: 3%; bottom: -8%; }
  .heros--seul .heros-texte { display: block; }
  .heros--seul .actions { margin-top: 26px; }
}
.ancres { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: clamp(40px, 6vw, 72px); padding-top: 22px; border-top: 1px solid var(--ligne); }
.ancres > span { font-size: 14px; color: var(--encre-2); margin-right: 6px; }
.ancres a {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px;
  border: 1.5px solid var(--ligne); border-radius: 999px; background: var(--papier);
  font-weight: 700; font-size: 15px; text-decoration: none; transition: border-color 0.2s, background 0.2s;
}
.ancres a svg { width: 15px; height: 15px; color: var(--accent-fonce); transition: transform 0.25s var(--ease); }
.ancres a:hover { border-color: var(--encre); }
.ancres a:hover svg { transform: translateX(3px); }
.telephone {
  --l: 280px;
  width: var(--l);
  padding: calc(var(--l) * 0.034);
  border-radius: calc(var(--l) * 0.16);
  background: linear-gradient(145deg, #2a272f 0%, #0b0a0d 38%, #0b0a0d 70%, #25222a 100%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset, 0 32px 60px -28px rgba(20, 18, 21, 0.55), 0 8px 18px -10px rgba(20, 18, 21, 0.3);
  flex: none;
}
.ecran {
  position: relative; overflow: hidden; background: var(--nuit);
  border-radius: calc(var(--l) * 0.128);
  aspect-ratio: 1290 / 2796;
}
.ecran > img, .ecran > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.ecran--long > img { height: auto; bottom: auto; }
.tablette {
  padding: clamp(8px, 1.2vw, 14px); border-radius: clamp(18px, 2.4vw, 30px);
  background: linear-gradient(145deg, #2a272f 0%, #0b0a0d 40%, #0b0a0d 72%, #25222a 100%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset, 0 40px 80px -40px rgba(20, 18, 21, 0.6);
}
.tablette img { border-radius: clamp(10px, 1.4vw, 18px); width: 100%; aspect-ratio: 1400 / 774; }
.bandeau-faits { padding-block: clamp(12px, 3vw, 30px); }
.chiffres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.chiffres li { display: grid; justify-items: center; text-align: center; gap: 4px; }
.chiffres b { font: 400 clamp(2.2rem, 1.4rem + 3vw, 4rem)/0.9 var(--fa); color: var(--accent); }
.chiffres span { font-weight: 700; font-size: clamp(13px, 0.7rem + 0.4vw, 16px); line-height: 1.2; color: #fff; }
@media (min-width: 760px) { .chiffres li { grid-auto-flow: column; justify-content: center; align-items: center; gap: 14px; text-align: left; } .chiffres span { font-size: 19px; } }
.etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: etape; border-top: 1px solid var(--ligne); }
.etapes li { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; padding: 16px 0; border-bottom: 1px solid var(--ligne); align-items: baseline; }
.etapes .num { font: 400 clamp(2.6rem, 2rem + 3vw, 5.6rem)/0.8 var(--fa); color: var(--accent); grid-row: span 2; min-width: 0.7em; font-variant-numeric: tabular-nums; }
.etapes h3 { font: 400 var(--t-h3)/1 var(--fa); text-transform: uppercase; margin: 0; }
.etapes p { margin: 0; color: var(--encre-2); max-width: 34ch; }
@media (min-width: 900px) {
  .etapes { grid-template-columns: repeat(3, 1fr); border-top: 0; gap: 0; }
  .etapes li { grid-template-columns: 1fr; padding: 0 32px 0 0; border-bottom: 0; border-left: 1px solid var(--ligne); padding-left: 28px; align-content: start; }
  .etapes li:first-child { border-left: 0; padding-left: 0; }
  .etapes .num { grid-row: auto; margin-bottom: 18px; }
}
.sequence { display: grid; gap: 0; }
.seq-visuel { display: none; }
.seq-pas { padding-block: 40px; border-top: 1px solid var(--ligne); display: grid; gap: 26px; }
.seq-pas:first-child { border-top: 0; padding-top: 0; }
.seq-pas { grid-template-columns: minmax(0, 0.82fr) 1fr; align-items: center; gap: 20px; }
.seq-pas .seq-tel-mobile .telephone { --l: min(38vw, 210px); }
.seq-pas h3 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 3.4rem); }
.seq-num { font: 700 13px/1 var(--fd); letter-spacing: 0.14em; color: var(--accent-fonce); font-variant-numeric: tabular-nums; }
.seq-pas h3 { margin: 12px 0 14px; }
.seq-pas p { margin: 0; color: var(--encre-2); max-width: 38ch; font-size: var(--t-gros); line-height: 1.45; }
@media (min-width: 900px) {
  .sequence { grid-template-columns: 0.9fr 1.1fr; gap: clamp(40px, 6vw, 110px); }
  .seq-visuel { display: block; position: relative; }
  .seq-colle { position: sticky; top: calc(var(--tete-h) + 5vh); height: calc(90vh - var(--tete-h)); display: flex; align-items: center; justify-content: center; gap: 30px; }
  .seq-colle .telephone { --l: min(23vw, calc((88vh - var(--tete-h)) * 0.45), 330px); }
  .seq-ecrans { position: absolute; inset: 0; }
  .seq-ecrans > * { position: absolute; inset: 0; opacity: 0; transition: opacity 0.5s var(--ease), transform 0.6s var(--ease); transform: scale(1.03); }
  .seq-ecrans > .est-actif { opacity: 1; transform: none; }
  .seq-frise { display: grid; gap: 12px; align-self: center; }
  .seq-frise span { font: 700 13px/1 var(--fd); letter-spacing: 0.1em; color: var(--encre-2); font-variant-numeric: tabular-nums; display: flex; align-items: center; gap: 10px; transition: color 0.3s; }
  .seq-frise span::before { content: ""; width: 3px; height: 30px; border-radius: 3px; background: var(--ligne); transition: background 0.3s; }
  .seq-frise span.est-actif { color: var(--encre); }
  .seq-frise span.est-actif::before { background: var(--accent); }
  .seq-pas { min-height: 58vh; grid-template-columns: 1fr; align-content: center; border-top: 0; padding-block: 0; }
  .seq-pas h3 { font-size: clamp(3rem, 1.6rem + 2.6vw, 4.6rem); }
  .seq-pas p { font-size: 1.35rem; }
  .seq-pas .seq-tel-mobile { display: none; }
  .seq-pas h3 { transition: color 0.4s; }
  .seq-pas:not(.est-actif) h3 { color: var(--encre-2); }
  .seq-pas:not(.est-actif) .seq-num { color: var(--encre-2); }
}
.viseur { position: absolute; inset: 0; }
.viseur img { width: 100%; height: 100%; object-fit: cover; }
.viseur::after {
  content: ""; position: absolute; left: 52%; top: 62%; width: 70%; aspect-ratio: 1; transform: translate(-50%, -50%);
  background:
    linear-gradient(#fff, #fff) top left / 22% 3px, linear-gradient(#fff, #fff) top left / 3px 22%,
    linear-gradient(#fff, #fff) top right / 22% 3px, linear-gradient(#fff, #fff) top right / 3px 22%,
    linear-gradient(#fff, #fff) bottom left / 22% 3px, linear-gradient(#fff, #fff) bottom left / 3px 22%,
    linear-gradient(#fff, #fff) bottom right / 22% 3px, linear-gradient(#fff, #fff) bottom right / 3px 22%;
  background-repeat: no-repeat; border-radius: 8px;
}
.deux-portes { display: grid; border-radius: var(--r); overflow: hidden; border: 1px solid var(--ligne); }
.porte {
  position: relative; display: grid; align-content: space-between; gap: 40px;
  padding: clamp(26px, 4vw, 52px); min-height: clamp(300px, 34vw, 460px);
  background: var(--papier); text-decoration: none; color: var(--encre);
  transition: background-color 0.45s var(--ease), color 0.45s var(--ease);
  overflow: hidden;
}
.porte + .porte { border-top: 1px solid var(--ligne); }
.porte .mot { font: 400 clamp(4.2rem, 2.4rem + 7vw, 9.5rem)/0.82 var(--fa); text-transform: uppercase; transition: letter-spacing 0.6s var(--ease); }
.porte p { margin: 10px 0 0; font-size: var(--t-gros); color: var(--encre-2); max-width: 26ch; transition: color 0.45s; }
.porte .fleche { width: 58px; height: 58px; border-radius: 50%; border: 2px solid currentColor; display: grid; place-items: center; justify-self: end; transition: transform 0.45s var(--ease), background 0.45s, color 0.45s, border-color 0.45s; }
.porte .fleche svg { width: 24px; height: 24px; }
.porte:hover, .porte:focus-visible { background: var(--accent); color: var(--encre); }
.porte:hover p, .porte:focus-visible p { color: var(--encre); }
.porte:hover .mot { letter-spacing: 0.03em; }
.porte:hover .fleche { background: var(--encre); color: var(--accent); border-color: var(--encre); transform: rotate(-45deg); }
.porte--nuit { background: var(--nuit); color: #fff; }
.porte--nuit p { color: var(--nuit-texte-2); }
.ou-rond { display: none; }
@media (min-width: 800px) {
  .deux-portes { grid-template-columns: 1fr 1fr; position: relative; }
  .porte + .porte { border-top: 0; border-left: 1px solid var(--ligne); }
  .ou-rond { display: grid; place-items: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 3; width: 74px; height: 74px; border-radius: 50%; background: var(--jour); border: 1px solid var(--ligne); font: 400 24px/1 var(--fa); pointer-events: none; }
}
.essai { display: grid; gap: clamp(40px, 6vw, 90px); align-items: center; }
.essai-film { display: flex; justify-content: center; position: relative; }
.essai-film .telephone { --l: min(70vw, 300px); }
.essai-qr { display: grid; gap: 20px; justify-items: start; }
.qr-carte {
  color: var(--encre);
  background: var(--papier); border: 1px solid var(--ligne); border-radius: 26px; padding: 22px;
  display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; max-width: 520px;
}
.qr-carte img { width: 168px; height: 168px; border-radius: 12px; }
.qr-carte b { display: block; font: 400 1.7rem/1.16 var(--fa); text-transform: uppercase; margin-bottom: 8px; }
.qr-carte p { margin: 0; color: var(--encre-2); font-size: 15px; }
.qr-carte code { font: 600 14px/1.3 var(--fd); color: var(--encre); word-break: break-all; }
.essai-mobile { display: grid; gap: 12px; }
.essai-mobile .btn { width: 100%; min-height: 64px; font-size: 20px; }
.note { font-size: var(--t-petit); color: var(--encre-2); margin: 0; }
.nuit .note { color: var(--nuit-texte-2); }
@media (min-width: 900px) { .essai { grid-template-columns: 0.8fr 1.2fr; } }
.comptoir { display: grid; gap: clamp(36px, 5vw, 70px); align-items: center; }
.comptoir-visuel { position: relative; }
.comptoir-visuel .telephone { --l: clamp(108px, 22vw, 168px); position: absolute; right: -2%; bottom: -16%; transform: rotate(5deg); }
.liste-faits { list-style: none; padding: 0; margin: 30px 0 0; display: grid; border-top: 1px solid var(--ligne); }
.liste-faits li { display: grid; grid-template-columns: 92px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--ligne); align-items: center; }
.vignette { width: 92px; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--nuit); box-shadow: 0 0 0 1px color-mix(in srgb, var(--encre) 10%, transparent); }
.vignette img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.vignette--marque { background: #fff; display: grid; place-items: center; }
.vignette--marque svg { width: 40px; height: 40px; }
.liste-faits b { display: block; font-size: 1.0625rem; }
.liste-faits span { color: var(--encre-2); font-size: 15.5px; }
.nuit .liste-faits, .nuit .liste-faits li { border-color: var(--nuit-ligne); }
.nuit .liste-faits span { color: var(--nuit-texte-2); }
@media (min-width: 960px) { .comptoir { grid-template-columns: 1.25fr 0.75fr; } .comptoir--inverse { grid-template-columns: 0.75fr 1.25fr; } .comptoir--inverse .comptoir-visuel { order: 2; } }
@media (max-width: 959px) {
  .comptoir-visuel { margin-bottom: 40px; }
  .comptoir:not(.comptoir--inverse) .comptoir-visuel { margin-right: calc(-1 * var(--marge)); padding: 0 0 26px; overflow: hidden; }
  .comptoir:not(.comptoir--inverse) .tablette { width: 168%; }
  .comptoir:not(.comptoir--inverse) .comptoir-visuel .telephone { right: 6%; bottom: -2%; }
}
.jeux-grille { display: grid; gap: clamp(36px, 5vw, 70px); align-items: center; }
.jeux-boucle { position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 720 / 786; background: var(--nuit); max-width: 520px; width: 100%; justify-self: center; }
.jeux-boucle video { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) { .jeux-grille { grid-template-columns: 0.95fr 1.05fr; } }
.noms { margin-top: clamp(56px, 8vw, 110px); display: grid; gap: 4px; overflow: hidden; }
.noms-rang { display: flex; gap: 0.5em; white-space: nowrap; font: 400 clamp(2.6rem, 1.6rem + 4.4vw, 6.4rem)/1 var(--fa); text-transform: uppercase; width: max-content; }
.noms-rang span { display: inline-flex; align-items: center; gap: 0.5em; }
.noms-rang span::after { content: ""; width: 0.22em; height: 0.22em; border-radius: 50%; background: var(--accent); }
.noms-rang--creux { color: transparent; -webkit-text-stroke: 1.5px var(--encre); }
.jeux-liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); border-top: 1px solid var(--ligne); }
.jeux-liste li { padding: 22px 18px 22px 0; border-bottom: 1px solid var(--ligne); display: grid; gap: 6px; }
.jeux-liste b { font: 400 1.6rem/1 var(--fa); text-transform: uppercase; }
.jeux-liste span { color: var(--encre-2); font-size: 15.5px; }
.jeux-liste small { font-size: 13px; color: var(--encre-2); font-variant-numeric: tabular-nums; }
.nuit .jeux-liste, .nuit .jeux-liste li { border-color: var(--nuit-ligne); }
.nuit .jeux-liste span, .nuit .jeux-liste small { color: var(--nuit-texte-2); }
.nuit .noms-rang--creux { -webkit-text-stroke-color: #fff; }
.film-carte { position: relative; width: min(72vw, 330px); aspect-ratio: 9 / 16; border-radius: 30px; overflow: hidden; background: var(--nuit); box-shadow: 0 40px 70px -36px rgba(20, 18, 21, 0.55); }
.film-carte video { width: 100%; height: 100%; object-fit: cover; }
.film-carte video::-webkit-media-controls-start-playback-button { display: none !important; -webkit-appearance: none; }
.film-carte video::-webkit-media-controls { display: none !important; }
.heros-visuel--film { display: flex; justify-content: center; }
.heros-visuel--film .film-carte { width: min(58vw, 250px); }
@media (min-width: 900px) { .heros-visuel--film .film-carte { width: min(100%, 330px); } }
.essai--seul { grid-template-columns: 1fr !important; max-width: 760px; }
.nuit .film-carte { box-shadow: 0 0 0 1px var(--nuit-ligne); }
.retour { display: grid; gap: 34px; }
@media (min-width: 900px) { .retour { grid-template-columns: repeat(3, 1fr); gap: 28px; } }
.retour article { display: grid; gap: 16px; align-content: start; }
.retour h3 { margin: 6px 0 0; }
.retour p { margin: 0; color: var(--encre-2); max-width: 40ch; }
.retour-visuel { position: relative; aspect-ratio: 4 / 3; border-radius: 22px; overflow: hidden; background: #141215; display: grid; place-items: center; padding: 18px; }
.retour-visuel > img { width: 100%; height: 100%; object-fit: contain; border-radius: 14px; }
.retour-visuel--haut > img { object-fit: cover; object-position: top center; }
.retour-badge { position: absolute; right: 12px; top: 12px; width: 44px; height: 44px; border-radius: 12px; background: #fff; display: grid; place-items: center; box-shadow: 0 6px 16px -8px rgba(0,0,0,.4); }
.retour-badge svg { width: 26px; height: 26px; }
.retour-visuel--recap { background: #ecebe6; }
.recap { width: 100%; height: 100%; background: #fff; color: #141215; border-radius: 16px; padding: 12px 16px 10px; display: grid; align-content: start; gap: 2px; box-shadow: 0 1px 2px rgba(20,18,21,.06), 0 14px 30px -18px rgba(20,18,21,.35); }
.recap-de { display: flex; justify-content: space-between; font-size: 12px; color: #57565c; }
.recap-de b { color: #141215; }
.recap-objet { margin: 4px 0 0; font-size: 13px; font-weight: 700; color: #57565c; max-width: none; }
.recap-chiffres { display: flex; align-items: baseline; gap: 5px; margin-top: 2px; }
.recap-chiffres b { font: 400 2.1rem/1 var(--fa); font-variant-numeric: tabular-nums; }
.recap-chiffres span { font-size: 13px; font-weight: 600; color: #57565c; margin-right: 10px; }
.recap-graphe { width: 100%; height: auto; margin-top: 2px; overflow: visible; }
.recap-graphe text { font: 600 11px var(--fd); fill: #8e8c92; }
.recap-graphe .recap-moy { font-size: 11px; }
.recap-meilleur { margin: 4px 0 0; font-size: 12.5px; font-weight: 600; color: #3b3a40; display: flex; align-items: center; gap: 6px; max-width: none; }
.recap-meilleur span { width: 9px; height: 9px; border-radius: 3px; background: #ff2d6f; flex: none; }
.mail { width: 100%; height: 100%; background: #fff; color: #141215; border-radius: 14px; padding: 14px 16px; display: grid; align-content: start; gap: 6px; font-size: 13px; line-height: 1.45; overflow: hidden; }
.mail-de { display: flex; justify-content: space-between; gap: 8px; color: #57565c; font-size: 12px; }
.mail-de b { color: #141215; }
.mail-objet { font-weight: 700; font-size: 14px; }
.mail p { margin: 0; color: #3b3a40; max-width: none; }
.metiers { display: grid; gap: 14px; grid-template-columns: 1fr; }
.metier { position: relative; display: block; border-radius: var(--r); overflow: hidden; text-decoration: none; color: #fff; aspect-ratio: 4 / 3.3; background: var(--nuit); isolation: isolate; }
.metier img, .metier video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease); z-index: -2; }
.metier::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 10, 13, 0) 38%, rgba(11, 10, 13, 0.82) 100%); }
.metier:hover img, .metier:hover video { transform: scale(1.05); }
.metier-texte { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.metier-texte b { display: block; font: 400 clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem)/0.95 var(--fa); text-transform: uppercase; }
.metier-texte span { display: block; font-size: 14.5px; color: rgba(255, 255, 255, 0.86); margin-top: 6px; }
.metier .fleche { flex: none; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--encre); display: grid; place-items: center; transition: background 0.3s, transform 0.4s var(--ease); }
.metier .fleche svg { width: 20px; height: 20px; }
.metier:hover .fleche { background: var(--accent); transform: rotate(-45deg); }
@media (max-width: 1099px) {
  .metiers { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(72%, 300px); overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(-1 * var(--marge)); padding: 2px var(--marge) 8px 2px; }
  .metier { scroll-snap-align: start; aspect-ratio: 3 / 3.6; }
}
@media (min-width: 1100px) { .metiers { grid-template-columns: repeat(5, 1fr); } .metier { aspect-ratio: 3 / 4.2; } }
.prix-grille { display: grid; gap: clamp(40px, 6vw, 84px); align-items: start; }
@media (min-width: 980px) { .prix-grille { grid-template-columns: 1fr 1fr; } }
.prix-gros { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.prix-gros b { font: 400 clamp(5.4rem, 3.4rem + 8vw, 10rem)/0.8 var(--fa); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.prix-gros b.compte { display: inline-block; text-align: right; white-space: nowrap; }
.prix-gros span { font-size: var(--t-gros); font-weight: 700; line-height: 1.25; }
.prix-gros span small { display: block; font-weight: 500; color: var(--nuit-texte-2); font-size: 15px; }
.inclus { list-style: none; padding: 0; margin: 30px 0 0; display: grid; gap: 12px; }
.inclus li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; }
.inclus svg { width: 22px; height: 22px; color: var(--accent); flex: none; }
.frais { margin-top: 34px; border-top: 1px solid var(--nuit-ligne); }
.frais h3 { font: 700 13px/1 var(--fd); letter-spacing: 0.14em; text-transform: uppercase; color: var(--nuit-texte-2); margin: 22px 0 6px; }
.frais-ligne { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 14px 0; border-bottom: 1px solid var(--nuit-ligne); align-items: baseline; }
.frais-ligne b { font-weight: 700; }
.frais-ligne span { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.frais-ligne small { grid-column: 1 / -1; color: var(--nuit-texte-2); font-size: 14px; }
.calcul { background: var(--nuit-2); border: 1px solid var(--nuit-ligne); border-radius: 28px; padding: clamp(22px, 3.4vw, 40px); }
.calcul h3 { margin: 0 0 6px; }
.calcul > p { margin: 0 0 24px; color: var(--nuit-texte-2); }
.pas-a-pas { display: grid; grid-template-columns: 56px 1fr 56px; gap: 12px; align-items: center; }
.pas-a-pas button {
  width: 56px; height: 56px; border-radius: 16px; border: 1.5px solid var(--nuit-ligne); background: transparent; color: #fff; cursor: pointer;
  display: grid; place-items: center; transition: background 0.2s;
}
.pas-a-pas button:hover { background: rgba(255, 255, 255, 0.08); }
.pas-a-pas button:active { transform: translateY(1px); }
.pas-a-pas button svg { width: 22px; height: 22px; }
.pas-a-pas output, .pas-a-pas input[type=number] {
  text-align: center; font: 400 3.4rem/1 var(--fa); font-variant-numeric: tabular-nums; background: transparent; border: 0; color: #fff; width: 100%;
  -moz-appearance: textfield; appearance: textfield;
}
.pas-a-pas input::-webkit-outer-spin-button, .pas-a-pas input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pas-a-pas label { grid-column: 1 / -1; text-align: center; font-size: 14px; color: var(--nuit-texte-2); margin-top: -4px; }
.curseur { width: 100%; margin: 20px 0 6px; accent-color: var(--accent); height: 44px; cursor: pointer; }
.resultats { margin-top: 18px; border-top: 1px solid var(--nuit-ligne); }
.res { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: baseline; padding: 15px 0; border-bottom: 1px solid var(--nuit-ligne); }
.res > span:first-child { font-weight: 600; }
.res small { grid-column: 1 / -1; color: var(--nuit-texte-2); font-size: 13.5px; }
.montant { font-weight: 800; font-size: 1.25rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.montant .unite { font-weight: 600; font-size: 0.8em; margin-left: 0.25em; color: var(--nuit-texte-2); }
.res--total .montant { font: 400 2.6rem/1 var(--fa); }
.res--total .montant .unite { font-family: var(--fd); font-size: 15px; }
.offerte { color: var(--accent); font-weight: 800; }
.calcul .btn { width: 100%; margin-top: 24px; }
.borne-compare { margin-top: 26px; padding: 18px 20px; border-radius: 18px; border: 1px dashed var(--nuit-ligne); display: grid; gap: 6px; }
.borne-compare b { font: 400 1.5rem/1.16 var(--fa); text-transform: uppercase; }
.borne-compare p { margin: 0; color: var(--nuit-texte-2); font-size: 14.5px; }
.sources { margin: 14px 0 0; font-size: 12.5px; color: var(--nuit-texte-2); line-height: 1.5; }
.sources a { color: inherit; }
.bloc:not(.nuit) .sources { color: var(--encre-2); }
.faq-grille { display: grid; gap: 40px; }
@media (min-width: 980px) { .faq-grille { grid-template-columns: 0.75fr 1.25fr; gap: 80px; } .faq-grille .tete-bloc { position: sticky; top: calc(var(--tete-h) + 32px); align-self: start; } }
.faq { border-top: 1px solid var(--ligne); }
.faq details { border-bottom: 1px solid var(--ligne); }
.faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
  min-height: 72px; padding: 16px 0; font-weight: 700; font-size: 1.15rem; line-height: 1.3;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary i { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--ligne); position: relative; transition: background 0.25s, border-color 0.25s; }
.faq summary i::before, .faq summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: currentColor; transform: translate(-50%, -50%); transition: transform 0.3s var(--ease); }
.faq summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq details[open] summary i { background: var(--encre); border-color: var(--encre); color: #fff; }
.faq details[open] summary i::after { transform: translate(-50%, -50%) rotate(0deg); }
.faq summary:hover { color: var(--accent-fonce); }
.faq .reponse { padding: 0 52px 24px 0; color: var(--encre-2); max-width: 68ch; }
.faq .reponse p { margin: 0 0 10px; }
.contact { display: grid; gap: 40px; align-items: start; }
@media (min-width: 980px) { .contact { grid-template-columns: 0.9fr 1.1fr; gap: 80px; } }
.contact-direct { margin-top: 30px; display: grid; gap: 10px; }
.contact-direct a { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; font-weight: 800; font-size: 1.25rem; text-decoration: none; font-variant-numeric: tabular-nums; }
.contact-direct a svg { width: 22px; height: 22px; color: var(--accent-fonce); }
.menu-actions .lien-fleche svg[fill] { stroke: none; }
.contact-direct a.wa { justify-self: start; padding: 0 20px 0 16px; border-radius: 999px; background: #fff; color: #141215; box-shadow: 0 0 0 1px rgba(20, 18, 21, .1); font-size: 1.1rem; }
.contact-direct a.wa svg, .t-rose .contact-direct a.wa svg { color: #1fa855; }
.formulaire { background: var(--papier); border: 1px solid var(--ligne); border-radius: 28px; padding: clamp(22px, 3.4vw, 40px); display: grid; gap: 18px; }
.champ { display: grid; gap: 8px; }
.champ label { font-weight: 700; font-size: 15px; }
.champ input, .champ select {
  min-height: 56px; border-radius: 14px; border: 1.5px solid var(--ligne); background: var(--jour); padding: 0 16px; font-size: 17px; width: 100%;
  transition: border-color 0.2s, background 0.2s;
}
.champ select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141215' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 20px; padding-right: 44px; }
.champ input:focus, .champ select:focus { outline: none; border-color: var(--encre); background: #fff; }
.champ input:focus-visible, .champ select:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.champ input:user-invalid { border-color: var(--accent-fonce); }
.formulaire .btn { width: 100%; margin-top: 6px; }
.formulaire .note { text-align: center; }
.champs-2 { display: grid; gap: 18px; }
@media (min-width: 600px) { .champs-2 { grid-template-columns: 1fr 1fr; } }
.pied { background: var(--creux); padding-block: clamp(60px, 8vw, 100px) 34px; }
.pied-grille { display: grid; gap: 40px; }
@media (min-width: 900px) { .pied-grille { grid-template-columns: 1.4fr repeat(3, 1fr); } }
.pied .marque svg { height: 34px; }
.pied .marque--anime { display: block; width: 150px; }
@media (max-width: 899px) {
  .pied-grille > div:first-child { display: flex; align-items: center; gap: 18px; }
  .pied .marque--anime { flex: none; width: 96px; }
  .pied-grille > div:first-child p { margin: 0; }
}
.pied .marque--anime video { display: block; width: 100%; height: auto; mix-blend-mode: lighten; }
.pied p { color: var(--encre-2); max-width: 34ch; margin: 18px 0 0; }
.pied .pied-titre { font: 700 13px/1 var(--fd); letter-spacing: 0.14em; text-transform: uppercase; color: var(--encre-2); margin: 6px 0 14px; }
.pied ul { list-style: none; padding: 0; margin: 0; display: grid; }
.pied li a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-weight: 600; }
.pied li a:hover { color: var(--accent-fonce); }
.pied-bas { margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--ligne); display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: space-between; font-size: 14px; color: var(--encre-2); }
.pied .pied-mot { font: 400 clamp(3.6rem, 1rem + 11vw, 12rem)/0.86 var(--fa); text-transform: uppercase; color: var(--encre); margin: clamp(48px, 7vw, 96px) 0 0; letter-spacing: -0.005em; text-wrap: balance; }
.pied .pied-mot em { font-style: normal; color: var(--accent); }
.heros--page .heros-visuel .scene { aspect-ratio: 16 / 11; }
.heros--page .heros-visuel .scene img { object-position: 50% 70%; }
.heros--page .h1 { font-size: clamp(2.5rem, 0.9rem + 5.2vw, 5.6rem); }
.heros .heros-visuel .scene.scene--boucle { aspect-ratio: 720 / 786; }
@media (min-width: 900px) {
  .heros--page .heros-grille { grid-template-columns: 1.05fr 0.95fr; gap: 24px; }
  .heros--page .heros-tels .tel-avant { --l: clamp(170px, 14vw, 220px); left: -9%; bottom: -10%; }
  .heros--page .heros-tels .tel-arriere { --l: clamp(150px, 12vw, 190px); }
  .heros--seul .heros-grille { grid-template-columns: 1fr; }
  .heros--seul .heros-texte { max-width: 980px; }
  .heros--seul .h1 { font-size: clamp(3rem, 1rem + 6vw, 7rem); }
}
.fil { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--encre-2); margin-bottom: 18px; }
.fil a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-weight: 600; color: var(--encre); }
.fil a:hover { text-decoration: underline; }
.duel { display: grid; gap: 14px; }
@media (min-width: 760px) { .duel { grid-template-columns: 1fr 1fr; gap: 18px; } }
.duel .scene { aspect-ratio: 4 / 4.3; }
.duel .scene img { object-position: 50% 60%; }
.duel-etiquette { position: absolute; right: 14px; top: 14px; z-index: 2; padding: 10px 16px; border-radius: 999px; font: 400 1.35rem/1 var(--fa); text-transform: uppercase; letter-spacing: .01em; }
.duel-etiquette--borne { background: #141215; color: #fff; }
.duel-etiquette--poche { background: var(--accent); color: #141215; }
.duel-table { width: 100%; border-collapse: collapse; margin-top: clamp(26px, 4vw, 44px); table-layout: fixed; }
.duel-table th { text-align: left; font: 400 clamp(1.3rem, 1rem + 1vw, 1.9rem)/1.05 var(--fa); text-transform: uppercase; padding: 0 12px 14px 0; vertical-align: bottom; }
.duel-table th + th { color: var(--accent-fonce); }
.duel-table td { padding: 16px 12px 16px 0; border-top: 1px solid var(--ligne); vertical-align: top; font-size: 1.05rem; line-height: 1.35; }
.duel-table td:first-child { color: var(--encre-2); }
.duel-table td + td { font-weight: 700; }
@media (min-width: 760px) { .duel-table td { font-size: 1.25rem; padding-block: 20px; } }
.appel { text-align: center; }
.appel .actions { justify-content: center; }
.tuiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (min-width: 1000px) { .tuiles { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
.tuile { display: grid; grid-template-rows: auto 1fr; border-radius: 22px; overflow: hidden; background: #fff; color: #141215; text-decoration: none; box-shadow: 0 0 0 1px rgba(20, 18, 21, .08); transition: transform .3s var(--ease); }
.tuile:hover { transform: translateY(-3px); }
.tuile-visuel { aspect-ratio: 4 / 3; overflow: hidden; background: #141215; }
.tuile-visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.tuile:hover .tuile-visuel img { transform: scale(1.05); }
.tuile-visuel--sombre { display: grid; place-items: center; padding: 10px; }
.tuile-visuel--sombre img { object-fit: contain; border-radius: 10px; }
.tuile-visuel--prix { background: #e0195e; color: #fff; display: grid; place-content: center; justify-items: center; gap: 4px; text-align: center; }
.tuile-visuel--prix b { font: 400 clamp(2.4rem, 1.6rem + 3vw, 3.6rem)/.9 var(--fa); color: #141215; }
.tuile-visuel--prix span { font-weight: 700; font-size: 14px; }
.tuile-texte { padding: 14px 14px 16px; display: grid; gap: 6px; align-content: start; }
.tuile-texte b { font: 400 clamp(1.25rem, 1rem + 1vw, 1.7rem)/1.05 var(--fa); text-transform: uppercase; }
.tuile-texte > span:not(.tuile-lien) { font-size: 14px; line-height: 1.35; color: #57565c; }
.tuile-lien { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; margin-top: 4px; font-weight: 700; font-size: 15px; color: #141215; }
.tuile-lien svg { width: 16px; height: 16px; transition: transform .28s var(--ease); }
.tuile:hover .tuile-lien svg { transform: translateX(3px); }
@media (max-width: 420px) { .tuile-texte { padding: 12px 12px 14px; } }
.duel--court { grid-template-columns: 1fr 1fr; gap: 10px; }
.duel--court .scene { aspect-ratio: 4 / 5; }
@media (max-width: 759px) { .duel--court .duel-etiquette { font-size: .95rem; padding: 7px 10px; right: 8px; top: auto; bottom: 8px; } }
.prix-court { display: grid; gap: 18px; align-items: center; }
@media (min-width: 900px) { .prix-court { grid-template-columns: 1fr auto; } }
.prix-court .prix-gros { margin: 0; }
.prix-court .lien-fleche { color: #fff; font-size: 1.15rem; }
.suivante { display: grid; gap: 8px; text-decoration: none; color: inherit; padding: 6px 0; }
.suivante-label { font: 700 13px/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; }
.suivante-titre { display: flex; align-items: center; gap: .3em; font: 400 clamp(2.6rem, 1.4rem + 5vw, 5.4rem)/1 var(--fa); text-transform: uppercase; color: #141215; }
.suivante-titre svg { width: .7em; height: .7em; flex: none; transition: transform .35s var(--ease); }
.suivante:hover .suivante-titre svg { transform: translateX(8px); }
.suivante-texte { font-size: 1.1rem; font-weight: 500; }
.suivante-actions { margin-top: 26px; }
.heros-carte { position: absolute; width: clamp(180px, 46%, 320px); height: auto; left: -4%; bottom: -12%; border-radius: 18px; box-shadow: 0 30px 60px -28px rgba(0,0,0,.6); }
@media (min-width: 900px) { .heros-carte { left: -14%; bottom: -8%; } }
@media (max-width: 899px) {
  .pied .pied-mot { display: none; }
  .pied-grille { grid-template-columns: 1fr !important; gap: 20px !important; }
  .pied ul { display: flex; flex-wrap: wrap; gap: 0 18px; }
  .pied .pied-titre { margin-bottom: 4px; }
  .duel-table td { font-size: 15px; padding: 12px 10px 12px 0; }
  .duel-table th { font-size: 1.15rem; }
  [data-s="contact"] .contact-direct a:not(.wa) { display: none; }
  .tuile-visuel { aspect-ratio: 16 / 10; }
  [data-s="guides"] .chapo { display: none; }
  [data-s="borneCourte"] .duel-table tbody tr:not(:nth-child(3)) { display: none; }
  .formulaire { gap: 14px; }
  .champ input, .champ select { min-height: 52px; }
  [data-s="etapes"] .etapes li { padding: 12px 0; gap: 2px 16px; }
  [data-s="etapes"] .etapes .num { font-size: 2.6rem; }
  [data-s="etapes"] .etapes h3 { font-size: 1.35rem; }
  [data-s="etapes"] .etapes p { font-size: 15.5px; line-height: 1.4; }
  .pied { padding-top: 48px; }
  .pied-bas { margin-top: 32px; }
  .contact .contact-direct { margin-top: 8px; }
  .contact .contact-direct a { min-height: 44px; }
  .contact .contact-direct a:not(.wa) { display: none; }
  .tete-bloc { margin-bottom: 28px; }
  .pied-grille { grid-template-columns: 1fr 1fr; gap: 26px 18px; }
  .pied-grille > div:first-child { grid-column: 1 / -1; }
}
.guides { display: grid; gap: 12px; }
@media (min-width: 900px) { .guides { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.guides--liste { gap: 14px; }
@media (min-width: 900px) { .guides--liste { grid-template-columns: repeat(2, 1fr); } }
.guide { display: grid; gap: 10px; align-content: start; padding: 22px; border-radius: 20px; background: #fff; color: #141215; text-decoration: none; box-shadow: 0 0 0 1px rgba(20, 18, 21, .08); transition: transform .3s var(--ease), box-shadow .3s; }
.guide:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(20, 18, 21, .16); }
.guide b { font: 400 clamp(1.35rem, 1.1rem + .9vw, 1.75rem)/1.26 var(--fa); text-transform: uppercase; text-wrap: balance; }
.guide-meta { font: 700 12px/1.3 var(--fd); letter-spacing: .08em; text-transform: uppercase; color: #b0104a; }
.guide-desc { font-size: 15px; line-height: 1.5; color: #57565c; }
.guide-lien { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; font-weight: 700; font-size: 15px; }
.guide-lien svg { width: 16px; height: 16px; transition: transform .28s var(--ease); }
.guide:hover .guide-lien svg { transform: translateX(3px); }
@media (max-width: 899px) {
  [data-s="guides"] .guides { grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(-1 * var(--marge)); padding: 2px var(--marge) 8px 2px; }
  [data-s="guides"] .guide { scroll-snap-align: start; }
}
.heros--blog { padding-bottom: clamp(36px, 5vw, 64px); }
.heros--blog .h1 { font-size: clamp(2.3rem, 1rem + 4.6vw, 4.6rem); max-width: 22ch; line-height: 1.2; }
.article-meta { margin: 18px 0 0; font-weight: 600; }
.article-grille { display: grid; gap: 28px; }
@media (min-width: 1080px) { .article-grille { grid-template-columns: 250px minmax(0, 70ch); gap: 64px; justify-content: center; } }
.article-sommaire { align-self: start; }
@media (min-width: 1080px) { .article-sommaire { position: sticky; top: calc(var(--tete-h) + 24px); } }
.article-sommaire details { background: #f1efe8; border-radius: 16px; padding: 6px 18px 14px; }
.article-sommaire summary { min-height: 44px; display: flex; align-items: center; font: 700 13px/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.article-sommaire ol, .article-sommaire ul { margin: 4px 0 0; padding-left: 20px; display: grid; gap: 2px; }
.article-sommaire li { font-size: 15px; line-height: 1.35; }
.article-sommaire a { display: block; padding: 10px 0; min-height: 44px; color: #141215; text-decoration: none; }
.article-sommaire a:hover { color: #b0104a; text-decoration: underline; }
.article-sommaire-titre { margin: 22px 0 4px; font: 700 13px/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; color: #57565c; }
.article-sommaire > ul { list-style: none; padding: 0; }
.article-corps { font-size: 1.125rem; line-height: 1.72; color: #2a282d; max-width: 70ch; }
.article-corps > * { margin: 0 0 1.1em; }
.article-corps h2 { font: 400 clamp(1.8rem, 1.3rem + 1.6vw, 2.5rem)/1.26 var(--fa); text-transform: uppercase; color: #141215; margin: 2.2em 0 .6em; scroll-margin-top: calc(var(--tete-h) + 20px); text-wrap: balance; }
.article-corps h2:first-child { margin-top: 0; }
.article-corps h3 { font-size: 1.25rem; font-weight: 800; color: #141215; margin: 1.6em 0 .4em; line-height: 1.3; }
.article-corps a { color: #b0104a; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.article-corps a:hover { text-decoration-thickness: 2px; }
.article-corps strong { color: #141215; }
.article-corps ul, .article-corps ol { padding-left: 1.3em; }
.article-corps li { margin: .35em 0; }
.article-corps li::marker { color: #e0195e; }
.tableau { overflow-x: auto; border-radius: 14px; box-shadow: 0 0 0 1px #e3e1da; }
.tableau table { border-collapse: collapse; width: 100%; font-size: 15.5px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.tableau th { text-align: left; background: #f1efe8; font-weight: 800; padding: 12px 14px; white-space: nowrap; }
.tableau td { padding: 12px 14px; border-top: 1px solid #e3e1da; vertical-align: top; }
.reflexe { background: #ffe3ec; border-radius: 18px; padding: 20px 22px; color: #3a0a1b; }
.reflexe p { margin: 0; }
.reflexe-titre { font: 400 1.25rem/1 var(--fa); text-transform: uppercase; color: #b0104a; margin-bottom: 10px !important; }
.phrase { margin-left: 0; margin-right: 0; padding: 18px 22px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #e3e1da; font-style: italic; }
.phrase p { margin: 0; }
.cases { list-style: none; padding-left: 0 !important; }
.cases li { position: relative; padding-left: 34px; }
.cases li::before { content: ""; position: absolute; left: 0; top: .28em; width: 20px; height: 20px; border-radius: 6px; border: 2px solid #e0195e; }
.modele { background: #fff; border-radius: 18px; box-shadow: 0 0 0 1px #e3e1da; padding: 6px 22px 18px; }
.modele figcaption { display: flex; justify-content: space-between; align-items: center; min-height: 48px; font: 700 12px/1 var(--fd); letter-spacing: .12em; text-transform: uppercase; color: #57565c; border-bottom: 1px solid #efeee9; margin-bottom: 12px; }
.modele-copier { min-height: 44px; padding: 0 14px; border-radius: 10px; border: 0; background: #141215; color: #fff; font: 700 13px/1 var(--fd); cursor: pointer; }
.modele-titre { font: 400 1.15rem/1.1 var(--fa); text-transform: uppercase; color: #141215; margin: 0 0 8px; }
.modele-sous { font-weight: 800; color: #141215; margin: 14px 0 4px; }
.modele .cases { margin: 0; }
.modele-texte { margin: 0; }
.article-sources { margin-top: 2.6em !important; padding-top: 1.2em; border-top: 1px solid #e3e1da; font-size: 14px; line-height: 1.55; color: #57565c; }
.article-sources h2 { font-size: 1.2rem !important; margin: 0 0 .6em !important; }
.article-sources a { word-break: break-word; }
.bloc-demo { display: grid; gap: 22px; align-items: center; }
@media (min-width: 900px) { .bloc-demo { grid-template-columns: 1fr auto; } .bloc-demo .actions { margin-top: 0; } }
.t-jour { background: #faf9f5; }
.t-creux { background: #f1efe8; }
.t-pale {
  --jour: #ffe3ec; --creux: #ffd6e3; --papier: #fff; --encre-2: #5b3943;
  --ligne: rgba(20, 18, 21, 0.12); --accent-fonce: #b0104a;
  background: #ffe3ec;
}
.t-pale :is(.h1, .h2) em { color: #d10f55; }
.t-nuit, .t-nuit2 {
  --jour: #0b0a0d; --creux: #141215; --papier: #17151c; --encre: #fff; --encre-2: rgba(255, 255, 255, 0.72);
  --ligne: rgba(255, 255, 255, 0.12); --accent-fonce: #ff2d6f;
  background: #0b0a0d; color: #fff;
}
.t-nuit2 { background: #141215; }
.t-nuit .champ select, .t-nuit2 .champ select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.t-rose {
  --jour: #e0195e; --creux: #d0124f; --papier: #fff; --encre: #fff; --encre-2: #fff;
  --ligne: rgba(255, 255, 255, 0.28); --accent-fonce: #fff;
  background: #e0195e; color: #fff;
}
.t-rose :is(.h1, .h2, .h3, .noms-rang) { color: #141215; }
.t-rose :is(.h1, .h2) em { color: #fff; }
.t-rose .chapo { font-weight: 500; }
.t-rose .btn--plein, .t-rose .btn--encre { background: #141215; color: #fff; }
.t-rose .btn--plein:hover, .t-rose .btn--encre:hover { background: #000; }
.t-rose .btn--doux { background: rgba(20, 18, 21, 0.16); color: #fff; }
.t-rose .btn--doux:hover { background: rgba(20, 18, 21, 0.26); }
.t-rose .ancres a { background: #fff; color: #141215; border-color: transparent; }
.t-rose .ancres a svg { color: #e0195e; }
.t-rose .noms-rang span::after { background: #fff; }
.t-rose .noms-rang--creux { -webkit-text-stroke-color: #141215; color: transparent; }
.t-rose .jeux-boucle, .t-rose .scene { box-shadow: 0 0 0 3px #141215; }
.t-rose .vignette { box-shadow: 0 0 0 2px #141215; }
.t-rose .formulaire { --encre: #141215; --encre-2: #57565c; --ligne: #e3e1da; --jour: #faf9f5; color: #141215; border-color: transparent; }
.t-rose .formulaire .btn--plein { background: #ff2d6f; }
.t-rose .formulaire .btn--plein:hover { background: #ef1a5d; }
.t-rose .contact-direct svg { color: #fff; }
.tete { background: #e0195e; -webkit-backdrop-filter: none; backdrop-filter: none; color: #fff; --encre: #fff; --creux: rgba(255, 255, 255, 0.14); --ligne: rgba(255, 255, 255, 0.3); }
.tete.est-defile { border-bottom-color: rgba(255, 255, 255, 0.24); }
.tete .marque { color: #fff; }
.tete .marque svg path[fill="#ff2d6f"] { fill: #fff; }
.tete .nav a[aria-current="page"] { color: #fff; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.tete .tete-droite > .btn { background: #141215; color: #fff; }
.tete .menu > summary { border-color: rgba(255, 255, 255, 0.4); }
.menu-panneau, .sous-menu-liste { --encre: #141215; --ligne: #e3e1da; --jour: #faf9f5; color: #141215; }
.menu-panneau .btn--plein { color: #fff; }
.menu-panneau .lien-fleche { color: #141215; }
@media (prefers-reduced-motion: reduce) {
  .btn, .porte, .porte .mot, .porte .fleche, .metier img, .metier .fleche { transition-duration: 0.01s; }
  .seq-ecrans > * { transform: none !important; transition: opacity 0.2s linear; }
  .barre-basse { transition: none; }
}
.offres { display: grid; gap: 14px; }
@media (min-width: 760px) {
  .offres { grid-template-columns: repeat(2, 1fr); gap: 16px; padding-top: 44px; }
  .offre--calcul { grid-column: 1 / -1; }
}
@media (min-width: 1100px) { .offres { grid-template-columns: repeat(3, 1fr); } }
.offre {
  position: relative; display: grid; gap: 10px; align-content: start; padding: 20px; border-radius: 26px;
  background: #fff linear-gradient(180deg, #ffffff 0%, #fbfbf9 100%); color: #141215;
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(20, 18, 21, .07), 0 2px 4px -1px rgba(20, 18, 21, .08), 0 22px 40px -24px rgba(20, 18, 21, .30);
}
.offre-titre { margin: 0; font: 700 13px/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; color: #c8124f; }
.offre-prix {
  margin: 2px 0 0; display: flex; align-items: baseline; gap: 4px 10px; flex-wrap: wrap;
  padding: 14px 16px 12px; border-radius: 18px; background: #f3f2ee;
  box-shadow: inset 0 2px 5px rgba(20, 18, 21, .08), inset 0 -1px 0 #fff;
}
.offre-prix b { font: 400 clamp(3.1rem, 2.2rem + 2.6vw, 4.1rem)/.86 var(--fa); font-variant-numeric: tabular-nums; }
.offre-prix span { font-weight: 700; font-size: 16px; }
.offre-prix small { flex-basis: 100%; margin-top: 2px; font-size: 15px; font-weight: 700; color: #c8124f; }
.offre-puces { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.offre-puces li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; font-size: 16px; line-height: 1.4; }
.offre-puces svg { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: #f1f0ec; color: #c8124f; margin-top: -1px; }
.offre--essai .offre-prix b { font-size: 2.1rem; line-height: 1; }
.offre--phare {
  background: #141215 linear-gradient(165deg, #27222c 0%, #141215 46%, #0b0a0d 100%); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 0 0 1px rgba(20, 18, 21, .5), 0 4px 8px -2px rgba(20, 18, 21, .35), 0 40px 70px -30px rgba(20, 18, 21, .75);
}
.offre--phare .offre-titre { color: #ff2d6f; }
.offre--phare .offre-prix { background: #070609; box-shadow: inset 0 3px 8px rgba(0, 0, 0, .55), inset 0 -1px 0 rgba(255, 255, 255, .08); }
.offre--phare .offre-puces svg { background: rgba(255, 45, 111, .16); color: #ff2d6f; }
.offre--phare .offre-prix small { color: #ff2d6f; }
.offre-prix--second { margin-top: 0; padding: 10px 16px 9px; }
.offre-prix--second b { font-size: 2.1rem; line-height: 1; }
.offre-prix .offre-quoi { flex-basis: 100%; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #57565c; }
.offre--objet { margin-top: 46px; }
@media (min-width: 760px) { .offre--objet { margin-top: 0; } }
.offre-objet { position: absolute; top: -58px; right: -8px; width: 168px; pointer-events: none; z-index: 1; }
.offre-objet img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 16px rgba(20, 18, 21, .22)) drop-shadow(0 4px 4px rgba(20, 18, 21, .18)); }
.offre-objet--1 img { transform: rotate(10deg); }
@media (min-width: 760px) {
  .offre-objet { width: 150px; top: -66px; right: -22px; }
  .offre--objet .offre-prix:not(.offre-prix--second) { margin-right: 92px; }
  .offre--objet .offre-prix:not(.offre-prix--second) b { font-size: 3.2rem; }
}
@media (max-width: 759px) {
  .offre-objet { width: 132px; top: -64px; right: -6px; }
  .offre--objet .offre-prix:not(.offre-prix--second) { margin-right: 100px; }
  .offre { gap: 8px; padding: 18px; }
  .offre-prix { padding: 12px 14px 10px; }
  .offre-prix b { font-size: 2.8rem; }
  .offre--essai .offre-prix b, .offre-prix--second b { font-size: 2rem; }
}
.calcul--clair { background: none; border: 0; border-radius: 0; padding: 0; }
.calcul--clair .pas-a-pas { grid-template-columns: 52px 1fr 52px; }
.calcul--clair .pas-a-pas button { width: 52px; height: 52px; border-color: rgba(20, 18, 21, .14); background: #f3f2ee; color: #141215; }
.calcul--clair .pas-a-pas button:hover { background: #ecebe6; }
.calcul--clair .pas-a-pas input[type=number] { color: #141215; font-size: 3rem; }
.calcul--clair .pas-a-pas label { color: #57565c; }
.calcul--clair .curseur { margin: 8px 0 0; }
.calcul--clair .resultats { margin-top: 8px; border-top-color: rgba(20, 18, 21, .12); }
.calcul--clair .res { padding: 11px 0; border-bottom-color: rgba(20, 18, 21, .1); }
.calcul--clair .res small, .calcul--clair .montant .unite { color: #57565c; }
.calcul--clair .res--total { border-bottom: 0; }
.calcul--clair .btn { margin-top: 14px; }
@media (min-width: 900px) {
  .calcul--clair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); grid-template-areas: "pas res" "cur res" "btn res"; column-gap: 40px; align-content: start; }
  .calcul--clair .pas-a-pas { grid-area: pas; }
  .calcul--clair .curseur { grid-area: cur; }
  .calcul--clair .btn { grid-area: btn; align-self: start; }
  .calcul--clair .resultats { grid-area: res; margin-top: 0; border-top: 0; }
}
@media (hover: hover) {
  .offre { transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s cubic-bezier(.2, .8, .2, 1); }
  .offre:not(.offre--calcul):hover { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) { .offre { transition: none; } .offre:hover { transform: none; } }
