@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b1f3a;--deep:#09172c;--orange:#ff5e1a;--violet:#5c00d2;--aqua:#00c2b3;--pale:#f5f7fb;--ink:#17283d;--line:#dce3ef;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 'DM Sans',Arial,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:white;color:var(--navy);padding:10px}.site-header{background:var(--navy);color:white;position:sticky;top:0;z-index:40;border-bottom:1px solid #ffffff20}.nav{min-height:80px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;flex-direction:column;min-width:172px;line-height:1;letter-spacing:-.055em;font:800 22px/1 'Manrope',sans-serif}.brand b{color:var(--orange)}.brand small{font:600 10px/1.1 'Manrope',sans-serif;letter-spacing:.25em;margin-top:4px;padding-left:4px}.nav-links{display:flex;gap:28px;align-items:center;margin-left:auto}.nav-links a{font-size:14px;font-weight:700;color:#d7e1f2}.nav-links a:hover,.nav-links a[aria-current=page]{color:white}.nav-links a[aria-current=page]{box-shadow:0 2px var(--orange);padding-bottom:4px}.nav-actions{display:flex;align-items:center;gap:13px}.wa{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff55;border-radius:50%;font-size:20px;line-height:1;color:#fff}.wa:hover{background:#ffffff20}.menu-toggle{display:none;background:none;border:1px solid #ffffff55;color:#fff;border-radius:10px;padding:7px 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border:1px solid transparent;border-radius:8px;padding:12px 20px;font-weight:800;font-size:14px;line-height:1.35;text-align:center;transition:transform .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-orange{background:var(--orange);color:#151c2a}.btn-orange:hover{background:#ff7840}.btn-outline{border-color:#ffffff70;color:white;background:transparent}.btn-outline:hover{background:#ffffff1a}.btn-navy{background:var(--navy);color:white}.btn-light{border-color:var(--line);background:#fff;color:var(--navy)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--violet);margin:0 0 18px}.eyebrow.light{color:#8be7df}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.04em;line-height:1.13}h1{font-size:clamp(40px,5.4vw,76px);font-weight:800}h2{font-size:clamp(30px,3.4vw,48px);font-weight:800}h3{font-size:21px}.lead{font-size:clamp(17px,1.55vw,20px);line-height:1.65}.hero{color:white;background:radial-gradient(circle at 72% 40%,#242472 0,#121e4c 30%,var(--navy) 68%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center;min-height:620px;padding:72px 0 94px}.hero h1{max-width:700px}.hero h1 em{font-style:normal;color:var(--orange)}.hero .lead{max-width:630px;color:#dbe3f0}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.micro{font-size:13px;color:#c6d0df;margin:13px 0 0}.hero-art{position:relative;min-height:440px;isolation:isolate}.hero-art img{height:480px;width:100%;object-fit:cover;object-position:center;border-radius:28px;box-shadow:0 24px 80px #01081980}.hero-art:after{content:'';position:absolute;inset:0;border:1px solid #ffffff42;border-radius:28px;pointer-events:none}.art-label{position:absolute;z-index:1;bottom:25px;left:24px;background:#0b1f3ad9;border:1px solid #ffffff35;border-radius:12px;padding:12px 18px;color:#e1e8f5;font-size:14px;backdrop-filter:blur(14px)}.art-label strong{color:white}.statement{background:#122b4d;color:#fff;border-top:1px solid #ffffff1a}.statement .wrap{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 0}.statement strong{font:800 20px/1.3 Manrope,sans-serif}.statement span{color:#9ce0dd;font-size:14px}.section{padding:100px 0}.section.pale{background:var(--pale)}.section.navy{background:var(--navy);color:#fff}.section-head{max-width:780px;margin-bottom:42px}.section-head p:last-child{color:#5c6b7f;font-size:18px}.section.navy .section-head p:last-child{color:#c3d0e4}.two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.prose{max-width:620px}.prose p{font-size:17px;color:#4c5b70}.callout{background:#f0ebfb;border-left:4px solid var(--violet);padding:26px 30px;border-radius:0 12px 12px 0}.callout p:last-child{margin:0}.list-clean{list-style:none;padding:0;margin:0}.list-clean li{padding:16px 0;border-bottom:1px solid var(--line);font-weight:700}.list-clean li:before{content:'';color:var(--orange);margin-right:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;display:flex;flex-direction:column;min-height:355px;box-shadow:0 12px 35px #0d28500a}.card .num{color:var(--violet);font:800 13px Manrope,sans-serif;letter-spacing:.12em}.card .family{font-size:13px;font-weight:800;color:#67788b;margin:20px 0 7px}.card p{color:#506076;line-height:1.6}.card a{font-weight:800;color:var(--violet);margin-top:auto}.card a:hover{text-decoration:underline}.card.feature{background:var(--navy);color:#fff;border-color:var(--navy)}.card.feature .num,.card.feature a{color:#a9f1ea}.card.feature p,.card.feature .family{color:#cbd7e8}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;counter-reset:steps}.step{border-top:2px solid #455b77;padding-top:25px}.step:before{counter-increment:steps;content:'0' counter(steps);color:#8de7df;font:800 16px Manrope,sans-serif}.step h3{margin:20px 0 12px}.step p{color:#c9d4e5}.step strong{color:white}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}.benefits div{border-bottom:1px solid var(--line);padding:20px 0;font-size:18px;font-weight:700}.benefits div:before{content:'✓';color:var(--violet);margin-right:14px}.inline-note{padding:24px 30px;background:#fff4ed;border-radius:12px;margin-top:24px}.inline-note p{margin:0}.faq-grid{display:grid;grid-template-columns:230px 1fr;gap:60px;margin-top:34px}.faq-group{margin-bottom:38px}.faq-group h3{font-size:18px;color:var(--violet);margin:0 0 12px}details{border-bottom:1px solid var(--line);padding:17px 0}summary{cursor:pointer;list-style:none;font-weight:700;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--violet);font-size:24px;line-height:1}details[open] summary:after{content:'−'}details p{color:#516177;margin:14px 28px 2px 0}.final-cta{background:linear-gradient(120deg,#111e45,#35108d);color:white;padding:80px 0}.final-cta .wrap{max-width:1000px}.final-cta h2{max-width:740px}.final-cta p{font-size:18px;color:#d8d4ec}.footer{background:#071629;color:#d4ddeb;padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer .brand{align-items:flex-start;color:#fff}.footer h3{font-size:16px;color:#fff;letter-spacing:0}.footer a:hover{text-decoration:underline}.footer ul{padding:0;list-style:none;margin:0}.footer li{margin:8px 0}.footer-bottom{border-top:1px solid #ffffff30;margin-top:50px;padding-top:20px;font-size:13px;color:#a4b2c6}.page-hero{background:var(--navy);color:white;padding:90px 0}.page-hero h1{font-size:clamp(38px,5vw,66px);max-width:900px;margin-bottom:18px}.page-hero p{color:#d8e0ed;max-width:690px;font-size:19px}.service-block{padding:75px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.service-block:nth-of-type(even){background:var(--pale)}.service-block .two{align-items:center}.service-block h2{max-width:590px}.service-block p{color:#506076}.service-block .panel{padding:34px;border-radius:18px;background:var(--navy);color:white}.service-block .panel p{color:#cad5e5}.service-block .panel li{margin:10px 0}.badge{display:inline-block;border:1px solid #a9b4cd;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:700;margin-bottom:18px}.contact-box{background:var(--pale);border-radius:16px;padding:35px}.legal{max-width:800px}.legal p{color:#536276}.calendar-dialog{border:0;border-radius:20px;padding:0;width:min(560px,calc(100vw - 30px));max-height:calc(100vh - 30px);box-shadow:0 30px 100px #0008}.calendar-dialog::backdrop{background:#06172bba}.calendar-inner{padding:28px}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.modal-head h2{font-size:26px;margin:5px 0}.icon-button{border:0;background:#edf1f7;border-radius:50%;width:38px;height:38px;font-size:22px}.demo-notice{background:#fff2e8;padding:12px 15px;border-radius:8px;font-size:14px;color:#653817}.cal-top{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.cal-top button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 12px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.days span{font-size:12px;font-weight:700;color:#63758a;padding:7px 0}.days button{border:0;background:#f4f6fa;border-radius:8px;height:38px}.days button:disabled{opacity:.3;cursor:default}.days button.selected,.times button.selected{background:var(--navy);color:#fff}.times{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.times button{background:#f4f6fa;border:1px solid var(--line);border-radius:7px;padding:7px 14px}.modal-foot{border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:#57677c}.consent{position:fixed;z-index:60;bottom:18px;left:18px;right:18px;max-width:560px;background:white;box-shadow:0 15px 55px #0716294d;border:1px solid var(--line);border-radius:12px;padding:20px}.consent p{margin:0 0 12px;font-size:14px}.consent-actions{display:flex;gap:10px}.consent .btn{min-height:40px}.small{font-size:14px;color:#64748b}@media(max-width:1040px){.nav-links{gap:14px}.nav-actions .btn{display:none}.hero-grid{min-height:540px}}@media(max-width:760px){.wrap{width:min(100% - 36px,1180px)}.nav{min-height:70px}.brand{min-width:150px;font-size:19px}.menu-toggle{display:block;margin-left:auto}.nav-actions{margin-left:0}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--navy);padding:16px 22px 26px;flex-direction:column;align-items:stretch;border-top:1px solid #ffffff30}.nav-links.open{display:flex}.nav-actions .wa{width:36px;height:36px}.hero-grid{display:flex;flex-direction:column;gap:35px;padding:60px 0}.hero-art{width:100%;min-height:0}.hero-art img{height:300px}.statement .wrap{display:block}.statement span{display:block;margin-top:8px}.section{padding:70px 0}.two,.cards,.steps,.benefits,.faq-grid,.footer-grid{grid-template-columns:1fr}.cards{gap:15px}.card{min-height:0}.faq-grid{gap:5px}.page-hero{padding:70px 0}.service-block{padding:60px 0}.footer-grid{gap:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Module de rendez-vous commun à toutes les pages. */
.booking-widget{position:fixed;z-index:55;right:22px;bottom:22px;width:min(390px,calc(100vw - 32px));color:var(--ink);font-family:'DM Sans',Arial,sans-serif}.booking-panel{overflow:hidden;background:#fff;border:1px solid #dbe2ed;border-radius:18px;box-shadow:0 20px 65px #06152b50;max-height:min(570px,calc(100dvh - 100px));overflow-y:auto}.booking-panel-head{display:flex;align-items:center;gap:12px;padding:19px 20px;background:var(--navy);color:#fff}.booking-panel-head strong{display:block;font:800 15px/1.3 Manrope,sans-serif}.booking-panel-head small{display:block;color:#c3d3e8;font-size:12px;margin-top:3px}.booking-monogram{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #ffffff40;border-radius:12px;background:#ffffff17;color:#fff;font:800 21px Manrope,sans-serif}.booking-monogram span{color:var(--orange)}.booking-close{margin-left:auto;align-self:flex-start;border:0;background:transparent;color:#cbd7e8;font-size:26px;line-height:1;padding:0 2px}.booking-close:hover{color:#fff}.booking-panel-body{padding:22px}.booking-panel-body h2{font-size:23px;line-height:1.24;letter-spacing:-.035em;margin:0 0 10px}.booking-panel-body p{color:#536276;line-height:1.5;margin:0 0 22px;font-size:14px}.booking-day-caption{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:10px}.booking-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.booking-days button{min-width:0;min-height:63px;border:1px solid #d3dce9;border-radius:10px;background:#f8faff;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25}.booking-days button:hover,.booking-days button.active{border:2px solid var(--violet);background:#f2ecff}.booking-days span{font-size:12px;text-transform:capitalize}.booking-days strong{font:800 20px Manrope,sans-serif}.booking-primary{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;margin-top:20px;border:0;border-radius:10px;background:linear-gradient(105deg,var(--navy),var(--violet) 68%,#d0462b);color:white;font-weight:800;box-shadow:0 8px 20px #32137730}.booking-primary:hover{filter:brightness(1.12)}.booking-panel-body .booking-footnote{font-size:12px;color:#68788a;margin:12px 0 0;text-align:center}.booking-launcher{position:absolute;right:0;bottom:0;display:none;place-items:center;width:62px;height:62px;border:2px solid #ffffffa8;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--violet));color:#fff;box-shadow:0 10px 32px #06152b70}.booking-launcher:hover{transform:translateY(-2px)}.booking-widget.is-collapsed{width:62px;height:62px}.booking-widget.is-collapsed .booking-panel{display:none}.booking-widget.is-collapsed .booking-launcher{display:grid}.booking-widget :focus-visible{outline:3px solid var(--orange);outline-offset:3px}@media(max-width:760px){.booking-widget{right:16px;bottom:16px;width:min(390px,calc(100vw - 32px))}.booking-panel{max-height:calc(100dvh - 96px)}.consent{bottom:88px;right:16px;left:16px;max-width:none}}@media(max-width:390px){.booking-panel-body{padding:16px}.booking-panel-head{padding:16px}.booking-panel-body h2{font-size:20px}.booking-days{gap:4px}}
