@font-face{font-family:"Urbanist";font-weight:600;font-display:swap;src:url(../fonts/urbanist-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Urbanist";font-weight:700;font-display:swap;src:url(../fonts/urbanist-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Geist";font-weight:400;font-display:swap;src:url(../fonts/geist-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Geist";font-weight:500;font-display:swap;src:url(../fonts/geist-sans-latin-500-normal.woff2) format("woff2")}

:root{color-scheme:dark;--c-bg:#04131d;--c-surface:#061c2a;--c-accent:#19b2c1;--c-accent-strong:#5fd6e2;--c-on-accent:#062d43;--c-surface-2:#0c4160;--c-bg-soft:#08344c;--c-bg-3:#0a2638;--c-text:#eef6f9;--c-text-muted:#b4cdd9;--c-surface-line:rgba(255,255,255,.14);--c-line-strong:rgba(255,255,255,.26);--c-accent-soft:rgba(95,214,226,.18);--c-err:#ffb4a9;--f-body:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--f-display:"Urbanist","Avenir Next","Segoe UI",system-ui,sans-serif;--radius:14px;--ease:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box}
html{scrollbar-color:#0c4160 #04131d}
body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--c-bg);color:var(--c-text);font-family:var(--f-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--c-accent);color:#03151f}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-accent-strong);text-underline-offset:.2em}a:hover{color:var(--c-text)}
:focus-visible{outline:3px solid var(--c-accent-strong);outline-offset:3px;border-radius:4px}
.proto{position:relative;z-index:60;background:#0a1119;color:var(--c-text-muted);font-size:12px;padding:5px 12px;text-align:center;border-bottom:1px solid var(--c-surface-line)}
.proto a{color:var(--c-accent-strong);margin:0 .5rem}.proto [aria-current]{color:var(--c-text);text-decoration:none;font-weight:500}

/* En-tête : pilule flottante (vitrine.css) */
.vt-header{position:fixed;top:48px;left:50%;translate:-50% 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;width:min(1040px,calc(100% - 32px));padding:6px 6px 6px 16px;border-radius:999px;background:rgba(10,17,25,.62);border:1px solid var(--c-surface-line);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}
.vt-brand{display:inline-flex;flex:0 0 auto}.vt-brand img{width:139px}
.vt-nav{flex:1 1 auto;min-width:0}.vt-nav ul{display:flex;gap:1.4rem;margin:0;padding:0;list-style:none;justify-content:center}
.vt-nav a{position:relative;display:inline-flex;align-items:center;min-height:2.75rem;color:var(--c-text-muted);font-size:.92rem;text-decoration:none}.vt-nav a:hover{color:var(--c-text)}
.vt-nav a[aria-current]{color:var(--c-text)}.vt-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;border-radius:2px;background:var(--c-accent)}
.vt-header__end{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}
.langs summary{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0 .8rem;border-radius:9px;color:var(--c-text-muted);font-size:.85rem;font-weight:500;letter-spacing:.06em;list-style:none;cursor:pointer}.langs summary::-webkit-details-marker{display:none}.langs summary:hover{background:rgba(25,178,193,.14);color:var(--c-text)}
.vt-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 1.2rem;border-radius:999px;background:var(--c-accent);color:#03151f;font-weight:600;font-size:.92rem;text-decoration:none;white-space:nowrap;transition:background .2s}.vt-cta:hover{background:var(--c-accent-strong);color:#03151f}

main{flex:1 0 auto;position:relative;z-index:1;width:100%;padding:8.5rem clamp(1rem,4vw,2.5rem) clamp(3rem,2rem + 5vw,6rem)}
h1{font-family:var(--f-display);font-weight:700;line-height:1;letter-spacing:-.03em;margin:0;text-wrap:balance}

/* Formulaire (commun) */
form{display:grid;gap:1.25rem}fieldset{border:0;padding:0;margin:0;min-width:0}
legend,.lbl{font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted);padding:0;margin-bottom:.6rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}.opts label{position:relative}.opts input{position:absolute;opacity:0;inset:0}
.opts span{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border:1px solid var(--c-surface-line);border-radius:999px;background:transparent;color:var(--c-text-muted);cursor:pointer;font-size:.92rem;transition:border-color .2s,background .2s,color .2s}
.opts span:hover{border-color:var(--c-line-strong);color:var(--c-text)}
.opts input:checked+span{border-color:var(--c-accent);background:rgba(25,178,193,.14);color:var(--c-text)}
.opts input:focus-visible+span{outline:3px solid var(--c-accent-strong);outline-offset:2px}
.fld{display:grid;gap:.1rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.fld input,.fld textarea{font:inherit;color:var(--c-text);caret-color:var(--c-accent-strong);min-height:48px;transition:border-color .2s,box-shadow .2s,background .2s}
.fld input::placeholder,.fld textarea::placeholder{color:#8fa9b8}
.fld textarea{resize:vertical;min-height:9rem}
.chk{display:flex;gap:.75rem;align-items:flex-start;color:var(--c-text-muted);font-size:.875rem}.chk input{width:1.25rem;height:1.25rem;margin-top:.15rem;flex:none;accent-color:var(--c-accent)}
.hp{position:absolute;left:-9999px}
.send{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:0 1.6rem;border:0;border-radius:999px;background:var(--c-accent);color:#03151f;font:inherit;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s}
.send:hover{background:var(--c-accent-strong);transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(25,178,193,.7)}
.send svg{width:18px;height:18px;transition:transform .25s var(--ease)}.send:hover svg{transform:translateX(3px)}
.send:disabled{opacity:.65;cursor:default;transform:none;box-shadow:none}
.send[aria-busy=true] svg{animation:spin 1s linear infinite}
@keyframes spin{to{rotate:360deg}}
.st{margin:0;display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem}.st:empty{display:none}.st svg{flex:none;width:20px;height:20px;margin-top:.15rem}
.st-ok{padding:1rem 1.1rem;border-radius:var(--radius);border:1px solid var(--c-accent);background:rgba(25,178,193,.12)}.st-ok svg{color:var(--c-accent-strong)}
.st-err{padding:1rem 1.1rem;border-radius:var(--radius);border:1px solid rgba(255,180,169,.5);background:rgba(255,180,169,.08);color:var(--c-err)}
.fld input:user-invalid,.fld textarea:user-invalid{border-color:var(--c-err)}

/* Pied de page 4 colonnes (vitrine.css) */
.vt-footer{position:relative;z-index:1;width:100%;max-width:72rem;margin:0 auto;padding:2.5rem clamp(1rem,4vw,2.5rem);border-top:1px solid var(--c-surface-line);color:var(--c-text-muted);font-size:.875rem}
.vt-footer__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1.5rem}.vt-col-title{margin:0 0 1rem;color:var(--c-text);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.vt-col ul{margin:0;padding:0;list-style:none}.vt-col a{display:inline-block;padding:.35rem 0;color:var(--c-text-muted);text-decoration:none}.vt-col a:hover{color:var(--c-text);text-decoration:underline}
.vt-footer__legal{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--c-surface-line);text-align:center}.vt-footer__legal p{margin:0 auto;max-width:46rem}

@media(max-width:900px){.vt-nav{display:none}.vt-header{justify-content:space-between}}
@media(max-width:52rem){.vt-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:36rem){.row{grid-template-columns:1fr}.vt-footer__cols{grid-template-columns:1fr}.vt-brand img{width:96px}.vt-cta{padding:0 .9rem;font-size:.85rem}.vt-header{padding:4px 4px 4px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

body.a::before{content:"";position:fixed;left:0;top:0;width:1px;height:1px;z-index:0;border-radius:50%;box-shadow:41vw 19vh 0 0 rgba(142,227,234,.5),83vw 6vh 0 0 rgba(238,246,249,.55),68vw 12vh 0 0 rgba(142,227,234,.5),74vw 7vh 0 0 rgba(238,246,249,.3),27vw 4vh 0 0 rgba(238,246,249,.55),55vw 53vh 0 0 rgba(238,246,249,.55),30vw 11vh 0 0 rgba(238,246,249,.3),54vw 7vh 0 0 rgba(238,246,249,.3),15vw 28vh 0 0 rgba(238,246,249,.3),80vw 74vh 0 0 rgba(238,246,249,.55),73vw 74vh 0 0 rgba(142,227,234,.5),6vw 28vh 0 0 rgba(238,246,249,.55),71vw 17vh 0 0 rgba(142,227,234,.5),53vw 18vh 0 0 rgba(238,246,249,.3),15vw 73vh 0 0 rgba(142,227,234,.5),71vw 87vh 0 0 rgba(238,246,249,.55),13vw 74vh 0 0 rgba(238,246,249,.3),81vw 24vh 0 0 rgba(142,227,234,.5),12vw 70vh 0 0 rgba(238,246,249,.3),8vw 72vh 0 0 rgba(238,246,249,.55),79vw 26vh 0 0 rgba(142,227,234,.5),87vw 68vh 0 0 rgba(142,227,234,.5),99vw 40vh 0 0 rgba(142,227,234,.5),74vw 58vh 0 0 rgba(142,227,234,.5),38vw 31vh 0 0 rgba(238,246,249,.55),89vw 99vh 0 0 rgba(238,246,249,.55),10vw 73vh 0 0 rgba(142,227,234,.5),67vw 63vh 0 0 rgba(142,227,234,.5),93vw 57vh 0 0 rgba(142,227,234,.5),77vw 9vh 0 0 rgba(238,246,249,.55),65vw 53vh 0 0 rgba(238,246,249,.55),96vw 43vh 0 0 rgba(238,246,249,.55),62vw 53vh 0 0 rgba(238,246,249,.55),85vw 9vh 0 0 rgba(238,246,249,.3),73vw 40vh 0 0 rgba(142,227,234,.5),88vw 44vh 0 0 rgba(238,246,249,.3),63vw 74vh 0 0 rgba(142,227,234,.5),8vw 11vh 0 0 rgba(142,227,234,.5),60vw 89vh 0 0 rgba(238,246,249,.3),8vw 7vh 0 0 rgba(238,246,249,.3),89vw 39vh 0 0 rgba(238,246,249,.3),73vw 87vh 0 0 rgba(142,227,234,.5),36vw 91vh 0 0 rgba(142,227,234,.5),85vw 44vh 0 0 rgba(238,246,249,.55),59vw 45vh 0 0 rgba(238,246,249,.55),78vw 14vh 0 0 rgba(142,227,234,.5),7vw 27vh 0 0 rgba(142,227,234,.5),16vw 94vh 0 0 rgba(238,246,249,.55),50vw 50vh 0 0 rgba(142,227,234,.5),10vw 21vh 0 0 rgba(142,227,234,.5),51vw 70vh 0 0 rgba(142,227,234,.5),17vw 55vh 0 0 rgba(238,246,249,.3),35vw 90vh 0 0 rgba(142,227,234,.5),45vw 87vh 0 0 rgba(142,227,234,.5),29vw 19vh 0 0 rgba(238,246,249,.55),22vw 19vh 0 0 rgba(238,246,249,.55),84vw 29vh 0 0 rgba(238,246,249,.55),62vw 75vh 0 0 rgba(238,246,249,.55),33vw 36vh 0 0 rgba(238,246,249,.55),18vw 53vh 0 0 rgba(238,246,249,.3),47vw 78vh 0 0 rgba(238,246,249,.3),40vw 16vh 0 0 rgba(238,246,249,.3),65vw 79vh 0 0 rgba(238,246,249,.3),86vw 94vh 0 0 rgba(238,246,249,.55),58vw 99vh 0 0 rgba(238,246,249,.3),71vw 50vh 0 0 rgba(142,227,234,.5),51vw 50vh 0 0 rgba(238,246,249,.55),61vw 81vh 0 0 rgba(142,227,234,.5),7vw 24vh 0 0 rgba(238,246,249,.55),26vw 56vh 0 0 rgba(238,246,249,.55);pointer-events:none}
body.a::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(25,178,193,.16),transparent 70%)}
.a main{display:flex;flex-direction:column;align-items:center}
.a h1{font-size:clamp(2.6rem,1.6rem + 4.4vw,5rem);text-align:center;margin-bottom:clamp(1.75rem,3vw,2.75rem)}
.a .card{width:min(38rem,100%);background:var(--c-surface);border:1px solid var(--c-surface-line);border-radius:28px;padding:clamp(1.25rem,3.5vw,2.5rem);box-shadow:0 40px 120px -50px rgba(25,178,193,.45),0 2px 0 rgba(255,255,255,.04) inset}
.a .fld input,.a .fld textarea{background:var(--c-bg);border:1px solid var(--c-surface-line);border-radius:var(--radius);padding:.75rem 1rem}
.a .fld input:hover,.a .fld textarea:hover{border-color:var(--c-line-strong)}
.a .fld input:focus,.a .fld textarea:focus{outline:0;border-color:var(--c-accent);box-shadow:0 0 0 4px rgba(25,178,193,.18)}
.a .send{width:100%}

body.b::before{content:"";position:fixed;left:0;top:0;width:1px;height:1px;z-index:0;border-radius:50%;box-shadow:14vw 43vh 0 0 rgba(95,214,226,.6),13vw 0vh 0 0 rgba(95,214,226,.6),68vw 12vh 0 0 rgba(238,246,249,.4),78vw 3vh 0 0 rgba(95,214,226,.6),26vw 78vh 0 0 rgba(238,246,249,.4),19vw 81vh 0 0 rgba(238,246,249,.4),44vw 77vh 0 0 rgba(238,246,249,.4),60vw 15vh 0 0 rgba(95,214,226,.6),62vw 59vh 0 0 rgba(238,246,249,.4),61vw 39vh 0 0 rgba(95,214,226,.6),18vw 13vh 0 0 rgba(238,246,249,.4),94vw 33vh 0 0 rgba(238,246,249,.4),88vw 20vh 0 0 rgba(95,214,226,.6),26vw 67vh 0 0 rgba(238,246,249,.4),18vw 88vh 0 0 rgba(95,214,226,.6),97vw 67vh 0 0 rgba(238,246,249,.4),82vw 11vh 0 0 rgba(238,246,249,.4),66vw 46vh 0 0 rgba(95,214,226,.6),45vw 98vh 0 0 rgba(95,214,226,.6),68vw 69vh 0 0 rgba(238,246,249,.4),81vw 28vh 0 0 rgba(95,214,226,.6),30vw 51vh 0 0 rgba(95,214,226,.6),25vw 66vh 0 0 rgba(238,246,249,.4),45vw 93vh 0 0 rgba(95,214,226,.6),3vw 35vh 0 0 rgba(238,246,249,.4),33vw 24vh 0 0 rgba(238,246,249,.4),57vw 92vh 0 0 rgba(238,246,249,.4),46vw 10vh 0 0 rgba(95,214,226,.6),13vw 29vh 0 0 rgba(238,246,249,.4),25vw 43vh 0 0 rgba(95,214,226,.6),61vw 79vh 0 0 rgba(95,214,226,.6),61vw 83vh 0 0 rgba(238,246,249,.4),82vw 10vh 0 0 rgba(95,214,226,.6),49vw 100vh 0 0 rgba(95,214,226,.6),61vw 22vh 0 0 rgba(238,246,249,.4),81vw 42vh 0 0 rgba(95,214,226,.6),92vw 50vh 0 0 rgba(238,246,249,.4),51vw 95vh 0 0 rgba(95,214,226,.6),92vw 20vh 0 0 rgba(95,214,226,.6),16vw 3vh 0 0 rgba(95,214,226,.6);pointer-events:none}
.b main{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem);align-items:start;max-width:72rem;margin:0 auto}
.b .lead{position:sticky;top:8.5rem;display:grid;gap:2rem}
.b h1{font-size:clamp(3rem,1.8rem + 5.6vw,6rem);letter-spacing:-.04em}
.b h1 span{color:var(--c-accent-strong)}
.b .okn{height:64px;border-radius:18px;border:1px solid var(--c-surface-line);background:repeating-linear-gradient(90deg,#04131d 0 30px,#eef3f8 30px 60px);background-size:60px 100%;opacity:.9;animation:okn 1.6s linear infinite;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
@keyframes okn{to{background-position:60px 0}}
.b .card{background:var(--c-surface);border:1px solid var(--c-accent);border-radius:28px;padding:clamp(1.25rem,3.5vw,2.75rem);box-shadow:0 0 0 1px var(--c-accent),0 40px 120px -50px var(--c-accent)}
.b .fld input,.b .fld textarea{background:transparent;border:0;border-bottom:1px solid var(--c-line-strong);border-radius:0;padding:.6rem 0}
.b .fld input:focus,.b .fld textarea:focus{outline:0;border-bottom-color:var(--c-accent-strong);box-shadow:0 1px 0 0 var(--c-accent-strong)}
.b .fld textarea{background:var(--c-bg);border:1px solid var(--c-surface-line);border-radius:var(--radius);padding:.75rem 1rem;margin-top:.1rem}
.b .fld textarea:focus{box-shadow:0 0 0 4px rgba(25,178,193,.18);border-color:var(--c-accent)}
@media(max-width:52rem){.b main{grid-template-columns:1fr}.b .lead{position:static}.b .okn{height:40px}}
