
.fo-medaillon { position: relative; width: min(420px, 100%); aspect-ratio: 1; margin-left: auto; border-radius: 50%; isolation: isolate; }
.fo-medaillon-bord { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 210deg, #6c737b, #f4f6f8 12%, #8d949c 26%, #3d4247 40%, #e8eaed 55%, #7d848c 68%, #2a2e33 82%, #c9ced4 92%, #6c737b); box-shadow: 0 0 0 1px #000, 0 60px 120px -50px #000, 0 0 90px -30px #ffffff3d; }
.fo-medaillon-bord::after { content: ""; position: absolute; inset: 7%; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #24272c, #0b0c0e 70%); box-shadow: inset 0 2px 0 #00000080, inset 0 -1px 0 #ffffff26, inset 0 0 40px #000; }
.fo-crans { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; }
.fo-crans line { stroke: #c3c8ce; stroke-opacity: .5; stroke-width: 1; stroke-linecap: round; }
.fo-crans line.is-dix { stroke-opacity: .95; stroke-width: 1.6; }
.fo-medaillon-face { position: absolute; inset: 24%; z-index: 2; display: grid; place-content: center; justify-items: center; gap: 6px; border-radius: 50%; background: radial-gradient(circle at 50% 30%, #1d2024, #0e0f12 75%); box-shadow: inset 0 1px 0 #ffffff26, inset 0 0 0 1px #ffffff14, 0 0 0 10px #ffffff05; text-align: center; }
.fo-medaillon-face b { font: 700 clamp(56px, 5.8vw, 92px)/.9 var(--dn-titre); letter-spacing: -.06em; color: transparent; background: var(--dn-chrome-chiffre, linear-gradient(180deg, #fff, #9aa0a8)); -webkit-background-clip: text; background-clip: text; padding: 0 .04em .04em 0; }
.fo-medaillon-sur, .fo-medaillon-sous { font: 700 12px/1 var(--dn-texte); letter-spacing: .2em; text-transform: uppercase; color: var(--dn-argent-2); }
.fo-medaillon-reflet { position: absolute; inset: 0; z-index: 3; overflow: hidden; border-radius: 50%; mix-blend-mode: screen; pointer-events: none; }
.fo-medaillon-reflet::before { content: ""; position: absolute; inset: 0 -80%; background: linear-gradient(120deg, transparent 35%, #ffffff1f 47%, #ffffff40 50%, #ffffff1f 53%, transparent 65%); translate: -43% 0; }
html.v-pret .cv-heros-cote.is-vu .fo-medaillon-reflet::before { animation: fo-reflet 6s var(--dn-glisse) .6s infinite; }
@keyframes fo-reflet { 0% { translate: -43% 0; } 45%, 100% { translate: 43% 0; } }
html.v-pret .cv-heros-cote:not(.is-vu) .fo-crans line { stroke-opacity: 0; }
html.v-pret .fo-crans line { transition: stroke-opacity .5s ease; }
html.v-pret .fo-crans { --d: 0s; }
@media (max-width: 899px) { .fo-medaillon { width: min(300px, 78vw); margin: 8px auto 0; } }

.fo-prix-tete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; }
.fo-periode { flex: none; }
.fo-cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: clamp(32px, 4vw, 56px); }
.fo-carte { position: relative; display: grid; align-content: start; padding: clamp(22px, 2.4vw, 32px); border-radius: 28px; background: linear-gradient(165deg, #1a1c20eb, #0c0d10f2 70%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 #ffffff2e, inset 0 0 0 1px #ffffff17, 0 0 0 1px #000, 0 50px 90px -50px #000; }
.fo-carte::before { content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #ffffffb3, transparent); }
.fo-carte.is-pro { box-shadow: inset 0 1px 0 #ffffff59, inset 0 0 0 1px #ffffff40, 0 0 0 1px #000, 0 50px 90px -50px #000, 0 0 70px -30px #ffffff4d; }
.fo-carte-nom { display: flex; align-items: center; gap: 10px; margin: 0; font: 600 22px/1.1 var(--dn-titre); letter-spacing: -.03em; color: var(--dn-argent-1); }
.fo-reco { display: inline-flex; align-items: center; min-height: 24px; padding: 0 10px; border-radius: var(--dn-r-rond); background: var(--dn-argent-massif); color: var(--dn-charbon); font: 800 12px/1 var(--dn-texte); letter-spacing: .04em; text-transform: uppercase; box-shadow: inset 0 1px 0 #fff, 0 0 0 1px #000; }
.fo-public { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 22px 0 0; padding-bottom: 14px; border-bottom: 1px solid #ffffff14; font-size: 14px; color: var(--dn-argent-3); }
.fo-public s { font: 600 16px/1 var(--dn-titre); color: var(--dn-argent-2); text-decoration-thickness: 1.5px; text-decoration-color: #ffffff8c; }
.fo-public-prix { display: grid; justify-items: end; gap: 6px; text-align: right; }
.fo-public-prix small { font-size: 13px; font-weight: 600; color: var(--dn-argent-3); }
.fo-an { margin: 10px 0 0; font-size: 14.5px; font-weight: 600; color: var(--dn-argent-1); }
.fo-fondateur { display: grid; gap: 8px; margin: 18px 0 0; }
.fo-fondateur-mot { font: 700 12px/1 var(--dn-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--dn-argent-1); }
.fo-fondateur b { display: flex; align-items: baseline; gap: 6px; }
.fo-fondateur b > span { font: 600 clamp(44px, 4.4vw, 68px)/1 var(--dn-titre); letter-spacing: -.05em; color: transparent; background: var(--dn-chrome-chiffre, linear-gradient(180deg, #fff, #9aa0a8)); -webkit-background-clip: text; background-clip: text; padding-bottom: .04em; }
.fo-fondateur small { font: 600 15px/1 var(--dn-texte); color: var(--dn-argent-3); white-space: nowrap; }
.fo-carte { container-type: inline-size; }
.fo-fondateur b { flex-wrap: wrap; }
.fo-fondateur b > span { font-size: clamp(34px, 17cqi, 68px); }
.fo-garde { margin: 6px 0 0; font-size: 14.5px; font-weight: 600; color: var(--dn-argent-2); }
.fo-note { margin: 24px 0 0; max-width: 80ch; font-size: 14px; line-height: 1.6; color: var(--dn-argent-3); }
@media (max-width: 900px) { .fo-cartes { grid-template-columns: minmax(0, 1fr); } }

.fo-regles-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 48px); margin-top: clamp(28px, 3.4vw, 48px); }
.fo-regles-liste li { position: relative; padding: 26px 0 30px; border-top: 1px solid #ffffff1a; }
.fo-regles-liste li::before { content: ""; position: absolute; left: 0; top: -1px; width: 56px; height: 1px; background: linear-gradient(90deg, #fff, transparent); }
.fo-regle-n { font: 600 13px/1 var(--dn-titre); letter-spacing: .06em; color: var(--dn-argent-3); }
.fo-regles-liste h3 { margin: 16px 0 0; font: 600 clamp(19px, 1.7vw, 24px)/1.15 var(--dn-titre); letter-spacing: -.03em; color: var(--dn-argent-1); text-wrap: balance; }
.fo-regles-liste p { margin: 10px 0 0; font-size: 15.5px; line-height: 1.6; color: var(--dn-argent-3); text-wrap: pretty; }
.fo-regles-pied { margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: var(--dn-argent-3); }
@media (max-width: 1023px) { .fo-regles-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fo-regles-liste { grid-template-columns: minmax(0, 1fr); } }

.fo-liste-plaque { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 28px clamp(32px, 5vw, 80px); align-items: center; padding: clamp(26px, 4vw, 56px); }
.fo-liste-titre { margin: 14px 0 0; font: 600 clamp(28px, 3vw, 44px)/1.05 var(--dn-titre); letter-spacing: -.045em; color: transparent; background: var(--dn-chrome-doux, linear-gradient(180deg, #fff, #9aa0a8)); -webkit-background-clip: text; background-clip: text; padding-bottom: .06em; }
.fo-liste-texte > p:not(.v-sur) { margin: 14px 0 0; max-width: 46ch; font-size: 16px; line-height: 1.6; color: var(--dn-argent-2); }
.fo-form { display: grid; gap: 10px; }
.fo-form-label { font: 700 14px/1 var(--dn-texte); color: var(--dn-argent-2); }
.fo-form-ligne { display: flex; gap: 8px; padding: 6px; border-radius: var(--dn-r-rond); background: linear-gradient(180deg, #ffffff12, #ffffff06); box-shadow: inset 0 1px 0 #ffffff26, inset 0 0 0 1px #ffffff26; transition: box-shadow var(--dn-t-2) ease; }
.fo-form-ligne:focus-within { box-shadow: inset 0 1px 0 #ffffff40, inset 0 0 0 1px #ffffffb3, 0 0 0 4px #9fb6d433; }
.fo-form-champ { flex: 1; min-width: 0; height: 52px; padding: 0 18px; border: 0; border-radius: var(--dn-r-rond); background: none; color: var(--dn-argent-1); font: 500 17px/1 var(--dn-texte); outline: none; }
.fo-form-champ::placeholder { color: var(--dn-argent-3); opacity: 1; }
#main .fo-form-champ:focus-visible { outline: none; }
.fo-form-ligne .dn-btn { flex: none; }
.fo-form-mention { margin: 4px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.5; color: var(--dn-argent-3); }
.fo-form-etat { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.5; color: var(--dn-argent-1); }
.fo-form-etat:empty { display: none; }
.fo-form[aria-busy="true"] .dn-btn { opacity: .7; cursor: progress; }
.fo-profils { display: grid; gap: 10px; min-width: 0; margin: 0 0 8px; padding: 0; border: 0; }
.fo-profils .fo-form-label { padding: 0; }
.fo-profils-liste { display: flex; flex-wrap: wrap; gap: 8px; }
.fo-profil { position: relative; display: inline-flex; }
.fo-profil input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.fo-profil span { display: inline-flex; align-items: center; 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: 600 14px/1 var(--dn-texte); transition: background var(--dn-t-2) ease, color var(--dn-t-1) ease, box-shadow var(--dn-t-2) ease; }
.fo-profil:hover span { background: #ffffff14; color: var(--dn-blanc); }
.fo-profil input:checked + span { background: linear-gradient(180deg, #ffffff26, #ffffff0f); color: var(--dn-blanc); box-shadow: inset 0 1px 0 #ffffff4d, inset 0 0 0 1px #ffffff59; }
.fo-profil input:focus-visible + span { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }
.fo-merci { display: none; justify-items: start; gap: 12px; outline: none; }
.fo-merci > p { margin: 0; max-width: 42ch; font-size: 16px; line-height: 1.6; color: var(--dn-argent-2); }
.fo-merci .fo-merci-titre { font: 600 clamp(24px, 2.4vw, 32px)/1.1 var(--dn-titre); letter-spacing: -.04em; color: var(--dn-blanc); }
.fo-merci-coche { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff, #b3bac2 40%, #5b6169 72%, #2a2e33); color: #0b0c0e; box-shadow: 0 0 0 4px #ffffff0f, 0 18px 30px -12px #000; }
.fo-merci:target, .is-inscrit .fo-merci { display: grid; }
.fo-liste-plaque:has(.fo-merci:target) .fo-form, .is-inscrit .fo-form { display: none; }
@media (prefers-reduced-motion: no-preference) { .is-inscrit .fo-merci { animation: fo-merci .7s var(--dn-ressort) both; } }
@keyframes fo-merci { from { opacity: 0; translate: 0 14px; } }
.fo-oups { display: none; margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.5; color: var(--dn-argent-1); }
.fo-oups:target { display: block; }
@media (max-width: 899px) { .fo-liste-plaque { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .fo-form-ligne { flex-direction: column; padding: 0; background: none; box-shadow: none; }
  .fo-form-champ { flex: none; height: 56px; border-radius: var(--dn-r-rond); background: linear-gradient(180deg, #ffffff12, #ffffff06); box-shadow: inset 0 1px 0 #ffffff26, inset 0 0 0 1px #ffffff26; }
  .fo-form-ligne:focus-within { box-shadow: none; }
  .fo-form-champ:focus { box-shadow: inset 0 1px 0 #ffffff40, inset 0 0 0 1px #ffffffb3, 0 0 0 4px #9fb6d433; }
  .fo-form-ligne .dn-btn { width: 100%; }
  .fo-form-mention, .fo-form-etat, .fo-oups { padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html.v-pret .cv-heros-cote.is-vu .fo-medaillon-reflet::before { animation: none; }
  html.v-pret .cv-heros-cote:not(.is-vu) .fo-crans line { stroke-opacity: .5; }
  html.v-pret .fo-crans line { transition: none; }
}
