
:root { --cv-colle: 88px; }
@media (max-width: 1023px) { :root { --cv-colle: 84px; } }


.cv-heros-texte { min-width: 0; }
.cv-fil { margin-bottom: clamp(6px, 1.2vw, 16px); }
.cv-lede.v-lede { margin-top: 22px; max-width: 46ch; }
.cv-appels { margin-top: 30px; }
.cv-garantie { margin-top: 16px; }
.cv-note { margin: 18px 0 0; font-size: 13px; line-height: 1.5; color: var(--dn-argent-3); max-width: 52ch; }
.cv-heros-cote { min-width: 0; position: relative; }
@media (max-width: 560px) {
  .cv-appels .dn-btn { flex: 1 1 100%; }
}

.cv-tete { max-width: 860px; }
.cv-chapo.v-lede { margin-top: 20px; max-width: 56ch; }
.cv-tete--centre { margin-inline: auto; text-align: center; }
.cv-tete--petit .v-h2 { font-size: clamp(30px, 3.8vw, 56px); }
.cv-tete--centre .cv-chapo { margin-inline: auto; }

.cv-place { position: relative; aspect-ratio: var(--cv-ratio, 4 / 5); overflow: hidden; border-radius: var(--dn-r-4); isolation: isolate;
  background:
    radial-gradient(120% 80% at 18% 0%, #ffffff1f, transparent 52%),
    radial-gradient(90% 70% at 100% 100%, #7f98bf1a, transparent 60%),
    repeating-linear-gradient(90deg, #ffffff07 0 1px, transparent 1px 3px),
    linear-gradient(160deg, #1d2025 0%, #0f1114 46%, #15181c 100%);
  box-shadow: inset 0 1px 0 #ffffff24, inset 0 0 0 1px #ffffff12, 0 40px 80px -40px #000; }
.cv-place--photo picture, .cv-place--photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.cv-place--photo img { object-fit: cover; object-position: var(--cv-pos, 50% 50%); filter: saturate(.82) brightness(.86); }
.cv-place-lame { position: absolute; inset: -20% -40%; z-index: 1; background: linear-gradient(115deg, transparent 38%, #ffffff12 47%, #ffffff2e 50%, #ffffff12 53%, transparent 62%); translate: -30% 0; }
.cv-place-reflet { position: absolute; left: 8%; right: 8%; top: 0; z-index: 2; height: 1px; background: linear-gradient(90deg, transparent, #ffffff8c, transparent); }
html.v-pret .cv-place-lame { transition: translate 2.4s var(--dn-levee); }
html.v-pret [data-v-entre].is-vu .cv-place-lame, html.v-pret .is-vu .cv-place-lame { translate: 30% 0; }

.cv-carte { position: relative; padding: clamp(22px, 2.4vw, 30px); border-radius: var(--dn-r-4); background: var(--dn-satin-fond); box-shadow: inset 0 1px 0 #ffffff14, inset 0 0 0 1px #ffffff12; }
.cv-carte::before { content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #ffffff59, transparent); pointer-events: none; }
.cv-puces { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cv-puce { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; padding: 0 16px; border-radius: var(--dn-r-rond); background: #ffffff0a; box-shadow: inset 0 0 0 1px #ffffff1a; color: var(--dn-argent-2); font: 700 14px/1 var(--dn-texte); text-decoration: none; transition: background var(--dn-t-2) ease, color var(--dn-t-1) ease, box-shadow var(--dn-t-2) ease; }
.cv-puce:hover { background: #ffffff14; color: var(--dn-blanc); box-shadow: inset 0 0 0 1px #ffffff33; }
.cv-puce svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cv-puce b { font-weight: 700; color: var(--dn-argent-3); }
.cv-etiquette { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 10px; border-radius: var(--dn-r-rond); background: #ffffff0f; box-shadow: inset 0 0 0 1px #ffffff1f; color: var(--dn-argent-2); font: 700 12px/1 var(--dn-texte); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.cv-lien { color: var(--dn-argent-1); text-underline-offset: 3px; }
.cv-lien:hover { color: var(--dn-blanc); }
.cv-icone { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.cv-heros--mg.v-section { padding: calc(var(--vt-tete-h) + 12px) 0 clamp(48px, 6vw, 96px); }
.cv-heros--mg .mg-grille { --mg-g: var(--v-g); --mg-max: var(--v-large); --mg-mord: .06; grid-template-areas: "haut" "mot" "suite" "bas" "objet"; }
.cv-heros--mg .cv-fil { margin-bottom: 0; }
.cv-heros--mg .mg-objet { position: relative; z-index: 2; margin-top: 40px; }
.cv-heros--mg .cv-lede.v-lede { margin-top: 16px; }
.cv-heros--mg .cv-appels { margin-top: 26px; }
@supports (grid-template-rows: subgrid) { .cv-heros--mg .mg-titre > .mg-suite { grid-row: 2; } }
@media (max-width: 1099.98px) {
  .cv-heros--mg .mg-objet { justify-self: center; width: min(100%, 560px); }
}
@media (min-width: 1100px) {
  .cv-heros--mg .mg-grille { --mg-col: 1fr; --mg-col2: .9fr; grid-template-areas: "haut haut" "mot mot" "suite objet" "bas objet"; min-height: min(calc(100svh - var(--vt-tete-h) - 12px), 900px); }
  .cv-heros--mg .mg-objet { grid-row: suite-start / bas-end; align-self: start; margin-top: calc(var(--mg-pied) * var(--mg-mord) * -1); }
  .cv-heros--mg .mg-bas { padding-bottom: 24px; }
  .fo-heros .mg-grille { --mg-mord: .24; }
  .cv-heros--seul .mg-grille { grid-template-columns: minmax(0, 1fr); grid-template-areas: "haut" "mot" "suite" "bas"; min-height: 0; }
  .cv-heros--seul .mg-bas { max-width: 760px; }
  @supports (grid-template-rows: subgrid) { .cv-heros--mg .mg-titre > .mg-suite { grid-row: 2; grid-column: 1; } }
}

#main :is(a, button, input):focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .cv-place-lame { translate: 0 0 !important; transition: none !important; }
}
