*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#F7F4F1;color:#17171C;font:17px/1.6 'Jost',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.l{max-width:1180px;margin:0 auto;padding:0 24px}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0}
.marque{font:600 clamp(30px,3.4vw,40px)/1 'Cormorant Garamond',serif;text-decoration:none;letter-spacing:.01em}
.marque small{display:block;margin-top:4px;font:500 12px 'Jost',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#6B6670}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:25px;background:#17171C;color:#FFFFFF;text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.btn.l2{background:transparent;color:#17171C;border:1px solid #17171C}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:56px 0 88px}
.hero h1{margin:0 0 18px;font:500 clamp(42px,6vw,72px)/1.04 'Cormorant Garamond',serif;letter-spacing:-.01em}
.hero h1 em{color:#8C3B4E}
.hero p{margin:0 0 30px;max-width:520px;color:#4A4650;font-size:18px}
.hero .b{display:flex;flex-wrap:wrap;gap:12px}
.ecrans{position:relative;aspect-ratio:5/4}
.ecrans img{position:absolute;border-radius:18px;box-shadow:0 30px 60px rgba(23,23,28,.18);object-fit:cover}
.ecrans .a1{width:78%;left:0;top:0}
.ecrans .a2{width:62%;right:0;bottom:0}
.points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:0 0 96px}
.points div{background:#FFFFFF;border-radius:20px;padding:24px}
.points b{display:block;font:600 22px 'Cormorant Garamond',serif;margin-bottom:6px}
.points span{font-size:15px;color:#5B5660}
.modeles{padding:88px 0;background:#FFFFFF}
.modeles h2,.etapes h2{margin:0 0 10px;font:500 clamp(34px,4.4vw,52px)/1.1 'Cormorant Garamond',serif}
.modeles p.s,.etapes p.s{margin:0 0 40px;color:#5B5660;max-width:640px}
.grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grille figure{margin:0}.vm{text-decoration:none;color:inherit}.vm img{transition:transform .25s,box-shadow .25s}.vm:hover img{transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,23,28,.14)}.vm figcaption span{text-decoration:underline}
.grille img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border-radius:14px;border:1px solid #ECE8E4}
.grille figcaption{display:flex;justify-content:space-between;gap:8px;padding:10px 4px 0;font-weight:600}
.grille figcaption span{font-weight:400;color:#6B6670;font-size:14px}
.etapes{padding:88px 0}
.etapes ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:e}
.etapes li{background:#FFFFFF;border-radius:20px;padding:28px;counter-increment:e}
.etapes li::before{content:counter(e);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:22px;background:#8C3B4E;color:#FFFFFF;font-weight:600;margin-bottom:14px}
.etapes li b{display:block;font:600 23px 'Cormorant Garamond',serif;margin-bottom:4px}
.etapes li span{color:#5B5660;font-size:15px}
.fin{padding:0 0 96px}
.fin div{background:#17171C;color:#FFFFFF;border-radius:28px;padding:56px 48px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.fin h2{margin:0 0 6px;font:500 clamp(30px,3.6vw,44px)/1.1 'Cormorant Garamond',serif}
.fin p{margin:0;color:#C9C4CC}
.fin .btn{background:#FFFFFF;color:#17171C}
footer{padding:28px 0 40px;color:#6B6670;font-size:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:36px;padding:28px 0 64px}.points{grid-template-columns:repeat(2,minmax(0,1fr))}.grille{grid-template-columns:repeat(2,minmax(0,1fr))}.etapes ol{grid-template-columns:1fr}}
@media (max-width:560px){header .btn{min-height:44px;padding:0 18px}.points{grid-template-columns:1fr}.grille{grid-template-columns:1fr}.fin div{padding:36px 26px}.modeles,.etapes{padding:64px 0}}
nav.hn{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
nav.hn a.n{text-decoration:none;font-weight:500;font-size:15px;color:#3E3A44}
nav.hn a.n:hover,nav.hn a.n.on{color:#17171C;text-decoration:underline;text-underline-offset:4px}
.page{padding:40px 0 80px;max-width:820px}
.page h1{margin:0 0 18px;font:500 clamp(38px,5vw,60px)/1.06 'Cormorant Garamond',serif}
.page .chapo{font-size:19px;color:#4A4650;margin:0 0 36px}
.page h2{margin:44px 0 12px;font:500 clamp(28px,3.2vw,38px)/1.15 'Cormorant Garamond',serif}
.page h3{margin:28px 0 8px;font-size:19px}
.page p,.page li{color:#3E3A44}
.page ul,.page ol{padding-left:22px}
.page li{margin:6px 0}
.cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
.cartes div,.offre{background:#FFFFFF;border-radius:20px;padding:26px}
.cartes b{display:block;font:600 22px 'Cormorant Garamond',serif;margin-bottom:6px}
.cartes span{font-size:15px;color:#5B5660}
.offres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
.offre .prix{font:500 52px/1 'Cormorant Garamond',serif;margin:10px 0 4px}
.offre .prix small{font:500 16px 'Jost',sans-serif;color:#6B6670}
.offre.fonce{background:#17171C;color:#FFFFFF}
.offre.fonce p,.offre.fonce li{color:#D6D1D9}
.offre h2{margin:0;font-size:30px}
.offre ul{margin:16px 0 22px}
.offre .btn{width:100%}
.offre.fonce .btn{background:#FFFFFF;color:#17171C}
form.interet{display:grid;gap:10px;margin-top:6px}
form.interet input{min-height:50px;border-radius:14px;border:1px solid #D9D3CE;padding:0 16px;font:inherit;font-size:16px;background:#FFFFFF;color:#17171C}
.ok{background:#E7F3EC;color:#1B5E3B;border-radius:14px;padding:14px 18px;margin:0 0 20px}
.faq details{background:#FFFFFF;border-radius:16px;padding:18px 22px;margin:0 0 12px}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:12px 0 0}
.articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.articles a{background:#FFFFFF;border-radius:20px;padding:26px;text-decoration:none}
.articles b{display:block;font:600 22px/1.2 'Cormorant Garamond',serif;margin-bottom:8px}
.articles span{font-size:15px;color:#5B5660}
.fil{font-size:14px;color:#6B6670;margin:0 0 18px}
.fil a{color:#6B6670}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer a{text-decoration:none}
@media (max-width:900px){nav.hn a.n{display:none}.cartes,.offres,.articles{grid-template-columns:1fr}}

button.btn{font-family:inherit;border:0;cursor:pointer}

.avis-v{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;background:#FFFFFF;border-radius:28px;padding:40px;margin:0 0 96px}.avis-v h2{font:600 36px/1.1 'Cormorant Garamond',serif;margin:0 0 12px}.avis-v p{color:#5B5660;margin:0 0 22px}.avis-et{text-align:center}.avis-et span{display:flex;justify-content:center;gap:4px;line-height:1}.avis-et small{display:block;margin-top:10px;font-size:14px;color:#5B5660}@media (max-width:760px){.avis-v{grid-template-columns:1fr;padding:28px}}
.offres.seule{grid-template-columns:minmax(0,560px);justify-content:center}
.offert{display:inline-block;background:#E9F7EF;color:#14532D;font-weight:600;border-radius:999px;padding:8px 16px;margin:8px 0 4px}
.offre.fonce .offert{background:#FFFFFF;color:#17171C}
.offre .mini{font-size:14px;margin:18px 0 0}
.offre.fonce .mini a{color:#FFFFFF}
.fin div div{display:block;padding:0;border-radius:0}
.fin p.offert{background:#FFFFFF;color:#17171C;margin:16px 0 0}
.hero p.google{max-width:none;display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;padding:10px 18px;border-radius:999px;background:#FFFFFF;box-shadow:0 4px 18px rgba(0,0,0,.08);font:600 16px 'Jost',sans-serif;color:#17171C}
.hero p.google b{color:#8C3B4E}
.google svg{flex:0 0 auto}
.hero p.google{flex-wrap:wrap}
.hero p.google a{font:500 14px 'Jost',sans-serif;color:#8C3B4E;text-decoration:underline;text-underline-offset:3px}
.hero p.b2{margin:14px 0 0;font-size:15px}
.hero p.b2 a{color:#17171C;text-underline-offset:3px}
.cond{margin:6px 0 0;font-size:14px;opacity:.8}
.fin p.cond{color:#C9C4CC;margin:8px 0 0}
.entrees{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
.bientot{display:inline-block;margin:0 0 10px;padding:6px 14px;border-radius:999px;background:#FFF4D6;color:#7A5200;font-weight:600;font-size:14px}
footer nav.leg{width:100%;gap:14px;font-size:13px;opacity:.85}
.hero p.google{border-radius:22px}
