@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@1&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#141414;background:#fff;font-synthesis:none;--muted:#666}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
a,button,input,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid #777;outline-offset:5px}
.header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e5}
.header img{width:164px;height:auto;display:block}
nav{display:flex;align-items:center;gap:36px;font-size:14px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:#141414;color:white;padding:20px 25px;font-size:15px;font-weight:600;border:1px solid #141414;cursor:pointer;transition:background .2s,transform .2s}
.button:hover{background:#333;transform:translateY(-2px)}
.small{padding:15px 20px}
.hero{max-width:1440px;margin:auto;padding:76px 5% 72px;display:grid;grid-template-columns:1.25fr 1fr;gap:6%;align-items:stretch}
.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:600;display:flex;align-items:center;gap:12px;margin:0 0 34px}
.line{width:27px;height:1px;background:currentColor}
h1{font-size:clamp(58px,6.4vw,94px);font-weight:500;letter-spacing:-5px;line-height:1.04;margin:0 0 25px}
.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic}
.intro{font-size:23px;line-height:1.5;margin:0 0 16px;letter-spacing:-.6px}
.description{color:var(--muted);max-width:440px;font-size:16px;line-height:1.7}
.hero-cta{margin-top:18px}
.hero-meta{display:flex;gap:25px;margin-top:26px;font-size:13px;color:#666}
.hero-meta span+span{border-left:1px solid #bbb;padding-left:25px}
.journey{background:#111;color:#fff;min-height:510px;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.journey-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1.5px}
.journey-top>span:last-child{font-size:35px;font-weight:400}
.route{flex:1;position:relative;margin:50px 10px 44px 24px}
.route-stroke{position:absolute;left:10px;top:16px;bottom:16px;width:1px;background:#444}
.route-stroke:after{content:'';position:absolute;height:50px;width:2px;left:0;top:0;background:linear-gradient(transparent,#fff);animation:travel 4s ease-in-out infinite}
.route-point{display:flex;gap:26px;align-items:center;position:relative}
.route-point p{font-size:30px;letter-spacing:-1px;margin:0}
.route-point small{display:block;color:#a4a4a4;font-size:11px;letter-spacing:1.5px;margin-bottom:12px}
.point{background:#111;width:21px;height:21px;border:1px solid white;border-radius:50%;position:relative;flex-shrink:0}
.point:after{content:'';position:absolute;width:5px;height:5px;background:white;top:7px;left:7px;border-radius:50%}
.finish{position:absolute;bottom:0;left:0}
.finish .point{background:white}
.journey-bottom{border-top:1px solid #444;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;line-height:1.6;color:#ccc}
.journey-bottom img{width:100px;height:auto;filter:invert(1);mix-blend-mode:screen}
.service{max-width:1440px;margin:auto;border-top:1px solid #ddd;padding:68px 5%;display:grid;grid-template-columns:1.25fr 1fr;gap:6%}
h2{font-size:clamp(32px,3.4vw,48px);font-weight:500;letter-spacing:-1.8px;line-height:1.15;margin:0}
.service .eyebrow{margin-bottom:22px}
.steps article{display:flex;gap:23px;padding:22px 0;border-bottom:1px solid #ddd}
.steps article:first-child{padding-top:0}
.number{font-size:13px;color:#777;padding-top:4px}
.steps h3{font-size:17px;font-weight:600;margin:0 0 8px}
.steps p{font-size:15px;color:#666;line-height:1.6;margin:0}
.request{background:#f3f3f3;padding:75px max(5%,calc((100vw - 1296px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}
.request h2{font-size:88px;letter-spacing:-4px}
.request-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#666;max-width:310px}
.direct{margin-top:50px;display:flex;flex-direction:column;gap:12px}
.direct>span{font-size:14px;color:#666}
.direct>a{font-size:26px;letter-spacing:-.6px}
.direct .email{font-size:15px;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}
form{background:white;padding:32px}
.form-heading{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:30px}
.form-heading h3{font-size:20px;font-weight:500;margin:0;letter-spacing:-.4px}
.form-heading>span{font-size:12px;color:#666}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px}
label{font-size:14px;font-weight:500;display:block;min-width:0}
input,textarea{display:block;background:#fff;border:1px solid #ccc;border-radius:0;padding:13px 12px;margin-top:9px;width:100%;min-width:0;color:#141414;font-size:16px}
input:focus,textarea:focus{outline:1px solid #141414;border-color:#141414}
textarea{resize:vertical}
.wide{grid-column:1/-1}
.optional{color:#777;font-weight:400;font-size:12px}
.form-note{font-size:12px;line-height:1.6;color:#666;margin:22px 0 16px}
.submit{width:100%;text-align:left}
#status{font-size:14px;line-height:1.5;padding:15px;background:#f2f2f2}
footer{max-width:1440px;margin:auto;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;color:#666;line-height:1.7}
footer img{width:130px;height:auto}
footer>div{display:flex;flex-direction:column;gap:7px;text-align:right}
footer a:hover{text-decoration:underline}
@keyframes travel{0%{top:0;opacity:0}
20%{opacity:1}
90%{opacity:1}
100%{top:80%;opacity:0}
}
@media(min-width:1500px){.request{gap:100px}
}
@media(max-width:900px){nav{gap:18px}
.phone{display:none}
.hero{gap:30px}
.journey{padding:24px}
.route{margin-left:0}
.route-point p{font-size:25px}
.journey-bottom img{display:none}
.request{gap:30px}
.request h2{font-size:68px}
form{padding:25px}
.form-heading h3{font-size:18px}
}
@media(max-width:640px){.header{padding:19px 6%}
.header img{width:126px}
.desktop{display:none}
.small{padding:12px;font-size:12px;gap:12px}
.hero{padding:39px 6% 35px;display:block}
.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:25px}
h1{font-size:60px;letter-spacing:-3.2px}
.intro{font-size:20px}
.description{font-size:15px}
.hero-cta{width:100%;margin-top:12px}
.hero-meta{font-size:12px;gap:17px;margin-bottom:32px}
.hero-meta span+span{padding-left:17px}
.journey{min-height:280px;padding:22px}
.journey-top{font-size:10px}
.journey-top>span:last-child{font-size:25px}
.route{min-height:155px;margin:20px 0}
.route-point p{font-size:23px}
.route-point small{font-size:9px;margin-bottom:5px}
.journey-bottom{padding-top:15px;font-size:12px}
.journey-bottom img{display:block;width:87px}
.service{padding:36px 6%;display:block}
.service h2{font-size:35px;margin-bottom:32px}
.steps article{gap:20px;padding:21px 0}
.steps h3{font-size:16px}
.steps p{font-size:14px}
.request{display:block;padding:40px 6%}
.request h2{font-size:66px;line-height:1;letter-spacing:-2px}
.request h2 br{display:none}
.request .eyebrow{margin-bottom:18px}
.request-copy>p:not(.eyebrow){max-width:100%;font-size:16px}
.direct{margin:24px 0 30px;gap:9px}
.direct>a{font-size:24px}
.direct .email{font-size:14px}
form{padding:24px 18px}
.form-heading{margin-bottom:22px}
.fields{gap:19px}
.fields label{grid-column:1/-1}
.submit{padding:18px 15px;gap:10px;font-size:14px}
footer{padding:30px 6%;align-items:flex-start;flex-wrap:wrap;gap:18px}
footer>p{margin:0;font-size:12px}
footer>div{text-align:left;width:100%}
.request{scroll-margin-top:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:after{animation:none!important;transition:none!important}
}

/* Informations du flyer : rythme éditorial et engagements lisibles. */
.commitments{max-width:1296px;margin:0 auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:32px 0}
.commitments>div{padding:0 32px;border-right:1px solid #ddd}
.commitments>div:first-child{padding-left:0}.commitments>div:last-child{border:0}
.commitments p{font-size:14px;color:#666;margin:10px 0 0}.commitments .metric{font-size:44px;line-height:1.1;letter-spacing:-1.8px;color:#141414;margin:0}.metric span{font-size:18px;letter-spacing:-.3px}
.audience,.extras{max-width:1440px;margin:auto;padding:70px 5%;display:grid;grid-template-columns:1.25fr 1fr;gap:6%}
.audience .eyebrow,.extras .eyebrow{margin-bottom:22px}.section-intro{font-size:16px;line-height:1.7;color:#666;margin:0 0 24px;max-width:410px}
.audience-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}.audience-list li{border:1px solid #d7d7d7;padding:11px 15px;font-size:14px}
.assurance{background:#141414;color:#fff;padding:60px max(5%,calc((100vw - 1296px)/2))}.assurance .eyebrow{color:#bbb;margin-bottom:22px}.assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:45px}.assurance-grid article{border-top:1px solid #555;padding-top:25px}.assurance .number{font-size:12px;letter-spacing:1px;color:#aaa}.assurance h3,.extras h3{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.4px;margin:20px 0 12px}.assurance p:not(.eyebrow){font-size:16px;line-height:1.7;color:#bbb;margin-bottom:0}
.extras .section-intro{margin-top:24px}.text-link{font-size:15px;display:inline-block;border-bottom:1px solid;padding-bottom:6px}.extras-list article{padding:22px 0;border-bottom:1px solid #ddd}.extras-list article:first-child{padding-top:0}.extras h3{margin:0 0 9px}.extras-list p{font-size:16px;line-height:1.7;color:#666;margin:0}.steps p{font-size:16px}
@media(max-width:1440px){.commitments{margin-left:5%;margin-right:5%}}
@media(max-width:900px){.commitments .metric{font-size:36px}.metric span{font-size:16px}.commitments>div{padding:0 20px}.assurance-grid{gap:24px}}
@media(max-width:640px){.commitments{margin:0 6%;padding:0;grid-template-columns:1fr}.commitments>div,.commitments>div:first-child{padding:20px 0;border-right:0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;gap:18px}.commitments .metric{font-size:31px;flex-shrink:0}.commitments p:not(.metric){max-width:140px;text-align:right;line-height:1.5;margin:0}.metric span{font-size:14px}.audience,.extras{display:block;padding:40px 6%}.audience h2,.extras h2{font-size:35px}.audience .section-intro{margin-top:25px}.assurance{padding:40px 6%}.assurance-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.assurance h3{margin-top:14px}.extras-list{margin-top:32px}.description{font-size:16px}.eyebrow{font-size:12px;line-height:1.6}.hero-meta{font-size:14px;gap:12px}.hero-meta span+span{padding-left:12px}.journey-top,.route-point small{font-size:12px;letter-spacing:.8px}.route-point p{font-size:22px}.small{font-size:14px}.header{gap:14px}.header img{width:110px}.small{gap:8px}.form-heading>span,.form-note{font-size:14px}}
@media(max-width:360px){.header{flex-wrap:wrap}.hero-meta{flex-wrap:wrap}.commitments>div{align-items:flex-start;flex-direction:column;gap:8px}.commitments p:not(.metric){max-width:none;text-align:left}}
