@font-face{font-family:Inter;src:url('../fonts/inter-variable-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Poppins;src:url('../fonts/poppins-semibold-latin.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Caveat;src:url('../fonts/Caveat-Variable-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}

:root{--blue:#063665;--blue-deep:#052a50;--blue-bright:#0c5aa6;--orange:#ff9700;--orange-hover:#e68100;--ink:#102d4d;--muted:#536477;--line:#dce5ed;--pale:#f3f5f7;--white:#fff;--shadow:0 22px 60px rgba(4,42,80,.11)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.6 Inter,Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Poppins,Inter,Arial,sans-serif;line-height:1.14;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.5vw,3.6rem)}
h3{font-size:1.2rem}
.container{width:min(100% - 64px,1220px);margin-inline:auto}
.skip-link{position:absolute;z-index:1000;top:-100px;left:1rem;padding:.8rem 1rem;background:var(--orange);font-weight:800}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.site-header{position:relative;z-index:20;background:var(--white);box-shadow:0 2px 18px rgba(6,54,101,.07)}
.site-header__inner{display:flex;align-items:center;min-height:102px;gap:clamp(1rem,3vw,3rem)}
.site-brand{display:flex;flex:0 0 auto;align-items:center;width:155px;padding:8px 0}
.site-brand img{width:128px;height:82px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.7vw,2.8rem);margin-left:auto}
.site-nav a{text-decoration:none;font-size:.91rem;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent;padding:11px 0 8px;transition:border-color .2s,color .2s}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--blue-bright);border-color:var(--blue-bright)}
.header-phone{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;white-space:nowrap;background:var(--blue);color:#fff;border-radius:999px;padding:.8rem 1.05rem;font-size:.9rem;font-weight:800}
.header-phone:hover{background:var(--blue-bright)}
.header-phone__icon{font-size:1.2rem;line-height:1}
.menu-toggle{display:none}
.eyebrow{margin:0 0 1rem;color:var(--blue-bright);font-weight:800;font-size:.72rem;line-height:1.4;text-transform:uppercase;letter-spacing:.16em}
.eyebrow--light{color:#b9dffb}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:54px;padding:.9rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:800;line-height:1.3;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.16)}
.button--accent{background:var(--orange);color:#102d4d}
.button--accent:hover{background:var(--orange-hover)}
.button span{font-size:1.25rem;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--blue);font-weight:800;text-decoration-thickness:2px;text-underline-offset:5px}
.text-link:hover{color:var(--blue-bright)}
.text-link--light{color:#fff}
.text-link--light:hover{color:#e9f4ff}
.hero{position:relative;isolation:isolate;min-height:590px;overflow:hidden;background:linear-gradient(112deg,#07528d 0%,#063665 62%,#032d56 100%);color:#fff}
.hero::after{content:"";position:absolute;z-index:-1;left:38%;top:0;width:24%;height:100%;background:linear-gradient(110deg,rgba(10,92,161,.38),rgba(10,92,161,0));transform:skewX(-20deg);pointer-events:none}
.hero__content{position:relative;z-index:3;display:flex;align-items:center;min-height:590px}
.hero__copy{width:min(62%,680px);padding:70px 0 78px}
.hero h1{max-width:700px;font-size:clamp(3.4rem,6.2vw,6.25rem);font-weight:800;line-height:1.02;margin-bottom:1.35rem;text-wrap:balance}
.hero__intro{max-width:540px;font-size:1.1rem;line-height:1.62;color:#e2effb;margin-bottom:1.8rem}
.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem 1.8rem}
.hero__visual{position:absolute;z-index:1;inset:0 0 0 auto;width:48%;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}
.hero__visual picture,.hero__visual img{width:100%;height:100%}
.hero__visual img{object-fit:cover;object-position:center}
.hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,54,101,.15),rgba(6,54,101,0) 35%)}
.journey{padding:72px 0 78px}
.section-heading{max-width:790px;margin-bottom:2.3rem}
.section-heading h2{margin-bottom:0}
.journey__steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.journey__steps li{display:flex;align-items:flex-start;gap:1rem;padding:2rem 1.5rem 1.65rem 0}
.journey__steps li+li{padding-left:1.5rem;border-left:1px solid var(--line)}
.journey__number{flex:0 0 46px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--blue-bright);color:#fff;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:800}
.journey__steps :is(h2,h3){margin:.1rem 0 .4rem;color:var(--blue)}
.journey__steps p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.services-section{padding:88px 0 94px;background:#fff}
.services-section__inner{display:grid;grid-template-columns:.78fr 1.22fr;align-items:start;gap:clamp(3rem,7vw,7rem)}
.services-section__intro{max-width:430px}
.services-section__intro h2{margin-bottom:1.2rem}
.services-section__intro p:not(.eyebrow){color:var(--muted);font-size:1.05rem}
.services-section__intro .text-link{margin-top:.7rem}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.service-list li{min-height:155px;padding:1.35rem 1.3rem 1.4rem 0;border-bottom:1px solid var(--line)}
.service-list li:nth-child(even){padding-left:1.3rem;border-left:1px solid var(--line)}
.service-list li::before{content:"";display:block;width:39px;height:4px;margin-bottom:1rem;border-radius:4px;background:var(--orange)}
.service-list h3{margin-bottom:.45rem;color:var(--blue);font-size:1.22rem}
.service-list p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.services-section__tri{margin:16px 0 0;padding:1.1rem 1.35rem;border-left:4px solid var(--orange);border-radius:0 8px 8px 0;background:#eaf4fc;color:var(--blue);font-weight:700}
.proof{padding:74px 0 80px;background:var(--pale)}
.proof__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.proof__heading h2{margin:0}
.proof__heading .text-link{margin-bottom:.35rem;white-space:nowrap}
.before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:hidden;border-radius:16px;box-shadow:var(--shadow);background:#fff}
.before-after__item{position:relative;margin:0;min-width:0;height:385px;overflow:hidden}
.before-after__item picture,.before-after__item img{width:100%;height:100%}
.before-after__item img{object-fit:cover}
.before-after__item figcaption{position:absolute;top:18px;left:18px;padding:.65rem 1.1rem;background:var(--blue);color:#fff;border-radius:4px;font-weight:800;font-size:.88rem}
.proof__note{margin-top:1rem;margin-bottom:0;color:var(--muted);font-size:.83rem}
.value-section{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(2rem,6vw,7rem);padding-block:115px}
.value-section__mark{min-height:300px;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:18px;background:linear-gradient(140deg,#063665,#0c5aa6);font-size:clamp(7rem,15vw,14rem);line-height:1;color:#fff;font-family:Poppins,sans-serif;font-weight:600;overflow:hidden}
.value-section__mark span:last-child{color:#ff9700;transform:translateY(25%)}
.value-section__text{max-width:620px}
.value-section__text h2{margin-bottom:1.2rem}
.value-section__text p:not(.eyebrow){color:var(--muted);font-size:1.08rem}
.zone-section{background:var(--blue-deep);color:#fff;padding:75px 0}
.zone-section__inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}
.zone-section__inner>div{max-width:750px}
.zone-section h2{font-size:clamp(2rem,3.2vw,3.3rem);margin-bottom:.85rem}
.zone-section p:not(.eyebrow){margin:0;color:#d8e7f7}
.zone-section .button{flex:0 0 auto}
.site-footer{background:#041f3a;color:#fff}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;padding:70px 0 55px}
.site-footer__brand strong{font-family:Poppins,sans-serif;font-size:1.4rem}
.site-footer p{color:#c7d9e9;max-width:310px;margin:.7rem 0 0}
.site-footer h2{font-family:Inter,sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;margin:.25rem 0 1rem;color:#aac7e3}
.site-footer__grid>div:not(:first-child) a{display:block;width:fit-content;margin:.7rem 0;text-decoration:none;color:#fff;font-size:.9rem}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer__bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #31516d;padding:1.25rem 0;color:#a8c1d9;font-size:.8rem}
.interior-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#07528d,#063665 70%,#032d56);color:#fff}
.interior-hero::after{content:"";position:absolute;inset:0 0 0 auto;width:32%;transform:skewX(-20deg) translateX(20%);background:rgba(19,105,177,.2)}
.interior-hero__inner{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:3rem;min-height:340px;padding-block:65px}
.interior-hero__inner>div{max-width:760px}
.interior-hero h1{font-size:clamp(2.8rem,5.2vw,5.3rem);margin:0 0 1rem}
.interior-hero p:not(.eyebrow){font-size:1.05rem;max-width:660px;color:#e2effb;margin:0}
.interior-hero .button{flex:0 0 auto}
.portfolio{padding-block:85px 110px}
.portfolio .section-heading{max-width:850px;margin-bottom:4.5rem}
.portfolio .section-heading p:not(.eyebrow){color:var(--muted);margin:.75rem 0 0}
.project{padding:0 0 4rem;margin-bottom:4rem;border-bottom:1px solid var(--line)}
.project:last-child{border:0;margin-bottom:0;padding-bottom:0}
.project__copy{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:1.2rem;margin-bottom:1.5rem}
.project__index{color:var(--blue-bright);font-size:.85rem;font-weight:800;letter-spacing:.1em}
.project h3{font-size:clamp(1.7rem,2.7vw,2.7rem);margin:0}
.project__copy p{flex-basis:100%;margin:.45rem 0 0 2.7rem;color:var(--muted)}
.before-after--portfolio{box-shadow:none;background:var(--pale)}
.before-after--portfolio .before-after__item{height:clamp(280px,33vw,450px)}
.before-after--portfolio .before-after__item--portrait img{object-position:center 42%}
.contact-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);padding-block:95px 110px}
.contact-section__intro h2{font-size:clamp(2rem,3.7vw,3.6rem);margin-bottom:1.25rem}
.contact-section__intro p:not(.eyebrow){color:var(--muted);font-size:1.04rem}
.contact-options{display:grid;gap:16px}
.contact-option{padding:2rem;border:1px solid var(--line);border-radius:14px;background:var(--pale)}
.contact-option__symbol{display:grid;place-items:center;width:42px;height:42px;margin-bottom:1.1rem;border-radius:50%;background:var(--blue);color:#fff;font-size:1.2rem}
.contact-option h3{margin-bottom:.5rem;color:var(--blue);font-size:1.45rem}
.contact-option p{color:var(--muted);margin-bottom:.75rem}
.contact-option a{color:var(--blue);font-size:clamp(.98rem,1.8vw,1.22rem);font-weight:800;overflow-wrap:anywhere;text-decoration-thickness:2px;text-underline-offset:4px}
.contact-band{padding:70px 0;background:var(--blue-deep);color:#fff}
.contact-band__inner{display:flex;justify-content:space-between;align-items:center;gap:3rem}
.contact-band h2{margin:0 0 .6rem}
.contact-band p:not(.eyebrow){margin:0;color:#d8e7f7}
.error-page{min-height:55vh;padding-block:100px}
.error-page h1{font-size:clamp(2.3rem,5vw,4.5rem);margin-bottom:1rem}
.error-page p:not(.eyebrow){color:var(--muted);margin-bottom:2rem}
.legal-page{max-width:900px;padding-block:85px 100px}
.legal-page h1{font-size:clamp(2.5rem,5vw,4.7rem);margin-bottom:3.5rem}
.legal-page section{border-top:1px solid var(--line);padding:1.8rem 0}
.legal-page h2{font-size:1.55rem;margin-bottom:1rem}
.legal-page p{color:var(--muted);margin-bottom:1rem}
.legal-page a{color:var(--blue-bright);text-decoration-thickness:2px;text-underline-offset:3px}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.site-footer__legal a{color:inherit;text-decoration:none}
@media(max-width:1050px){.site-header__inner{min-height:88px}.site-brand{width:124px}.site-brand img{width:112px;height:72px}.site-nav{gap:1.2rem}.header-phone{padding:.7rem .8rem}.hero__copy{width:63%}.hero__visual{width:44%}}
@media(max-width:800px){.container{width:min(100% - 40px,1220px)}.site-header__inner{min-height:78px;gap:1rem}.site-brand{width:auto;margin-right:auto}.site-brand img{width:98px;height:64px}.menu-toggle{display:flex;order:3;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px;cursor:pointer}.menu-toggle span{display:block;height:2px;width:100%;background:var(--blue)}.site-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0 20px;background:#fff;box-shadow:0 18px 24px rgba(6,54,101,.13)}.js-ready .site-nav{display:none}.js-ready .site-nav.is-open{display:flex}.site-nav a{padding:15px 6px;border-bottom:1px solid var(--line)}.site-nav a[aria-current=page]{border-color:var(--blue-bright)}.header-phone{margin-left:auto;font-size:.82rem}.hero,.hero__content{min-height:560px}.hero__copy{width:73%;padding:65px 0}.hero__visual{width:42%;opacity:.58}.hero__intro{max-width:440px}.journey__steps{grid-template-columns:1fr}.journey__steps li,.journey__steps li+li{border-left:0;border-top:1px solid var(--line);padding:1.2rem 0}.journey__steps li:first-child{border-top:0}.before-after__item{height:320px}.value-section{grid-template-columns:1fr 1.4fr;gap:2rem}.value-section__mark{min-height:280px}.zone-section__inner{display:block}.zone-section .button{margin-top:1.6rem}.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}}
@media(max-width:800px){.interior-hero__inner{display:block;min-height:300px}.interior-hero .button{margin-top:1.5rem}.contact-section{grid-template-columns:1fr;gap:2rem}.contact-options{grid-template-columns:1fr 1fr}.contact-band__inner{display:block}.contact-band .text-link{margin-top:1.5rem}}
@media(max-width:580px){.container{width:min(100% - 32px,1220px)}.header-phone{padding:.65rem .7rem}.header-phone__icon{display:none}.header-phone span:last-child{font-size:.73rem}.hero,.hero__content{min-height:auto}.hero{background:linear-gradient(145deg,#07528d 0%,#063665 64%,#052a50 100%)}.hero__visual{position:relative;inset:auto;width:100%;height:210px;clip-path:none;opacity:1}.hero__visual::after{background:linear-gradient(0deg,rgba(6,54,101,.2),transparent)}.hero__content{display:block}.hero__copy{width:100%;padding:47px 0 37px}.hero h1{font-size:clamp(2.6rem,10.2vw,4.3rem);margin-bottom:1rem}.hero__intro{font-size:.96rem;line-height:1.55}.hero__actions{display:flex;align-items:stretch;flex-direction:column;gap:1rem}.hero__actions .button{width:100%;justify-content:space-between}.hero__actions .text-link{font-size:.88rem}.journey{padding:55px 0}.section-heading{margin-bottom:1.5rem}.journey__steps li{gap:.9rem}.journey__number{width:40px;height:40px;flex-basis:40px}.proof{padding:55px 0}.proof__heading{display:block}.proof__heading .text-link{white-space:normal}.before-after{grid-template-columns:1fr;gap:5px}.before-after__item{height:260px}.value-section{display:block;padding-block:70px}.value-section__mark{min-height:170px;margin-bottom:2.2rem;font-size:7rem}.zone-section{padding:60px 0}.zone-section .button{width:100%;justify-content:space-between}.site-footer__grid{grid-template-columns:1fr;gap:1.5rem;padding:55px 0 35px}.site-footer__brand{grid-column:auto}.site-footer__bottom{display:block}.site-footer__bottom span{display:block;margin:.3rem 0}}
@media(max-width:580px){.interior-hero__inner{min-height:0;padding-block:53px}.interior-hero h1{font-size:clamp(2.4rem,10vw,3.5rem)}.interior-hero .button{width:100%;justify-content:space-between}.portfolio{padding-block:60px 75px}.portfolio .section-heading{margin-bottom:2.5rem}.project{margin-bottom:2.7rem;padding-bottom:2.7rem}.project__copy p{margin-left:0}.before-after--portfolio .before-after__item{height:280px}.contact-section{padding-block:65px}.contact-options{grid-template-columns:1fr}.contact-option{padding:1.5rem}.contact-band{padding:55px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Parcours vers le devis, d'après la direction visuelle fournie par le client. */
.journey{position:relative;isolation:isolate;overflow:hidden;padding:102px 0 58px;background:linear-gradient(180deg,#fff 0%,#f1f8fe 60%,#fff 100%)}
.journey::after{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-85px;height:180px;border-radius:50% 50% 0 0;background:#e8f4ff;opacity:.7;pointer-events:none}
.journey__photo{position:absolute;z-index:-2;inset:0 0 auto;height:575px;pointer-events:none}
.journey__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12) 20%,rgba(255,255,255,0) 80%),linear-gradient(0deg,#f1f8fe 0%,rgba(241,248,254,.75) 8%,rgba(241,248,254,0) 34%)}
.journey__photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.journey__inner{position:relative}
.journey__top{display:flex;justify-content:space-between;align-items:flex-start;min-height:270px;gap:2rem}
.journey__intro{max-width:790px}
.journey__eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:22px;font-size:.86rem;letter-spacing:.16em}
.journey__eyebrow::after{content:"";width:45px;height:4px;border-radius:3px;background:var(--orange)}
.journey h1{position:relative;margin:0;color:#071f41;font-family:Inter,Arial,sans-serif;font-size:clamp(3.4rem,5.8vw,5.75rem);font-weight:800;line-height:.99;letter-spacing:-.055em;text-wrap:balance}
.journey h1::after{content:"";display:block;width:105px;height:5px;margin-top:22px;border-radius:4px;background:var(--orange);transform:rotate(-2deg)}
.journey h1 span{color:#075eb2}
.journey__note{position:relative;flex:0 0 225px;margin:10px 9% 0 0;color:#063665;font:700 clamp(2.1rem,3.3vw,3.25rem)/.9 Caveat,cursive;text-align:center;transform:rotate(-8deg)}
.journey__note::after{content:"";display:block;width:135px;height:7px;margin:16px auto 0;border-radius:10px;background:var(--orange);transform:rotate(-7deg)}
.journey__steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border:0;margin:0;padding:0;list-style:none}
.journey .journey__steps>li{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;min-height:338px;padding:22px 30px 32px;border:0;border-radius:32px;background:rgba(255,255,255,.96);box-shadow:0 22px 45px rgba(7,69,120,.09)}
.journey .journey__steps>li:not(:last-child)::after{content:"➜";position:absolute;z-index:3;right:-30px;top:112px;width:45px;color:#2d94e1;font-size:2.3rem;line-height:1;transform:rotate(16deg);text-shadow:0 2px #fff}
.journey .journey__number{position:absolute;top:21px;left:21px;display:grid;place-items:center;width:69px;height:69px;flex:none;background:linear-gradient(145deg,#073b7d,#0871c9);font-family:Inter,Arial,sans-serif;font-size:1.65rem;letter-spacing:-.04em;box-shadow:inset 0 2px 2px rgba(255,255,255,.15)}
.journey-card__art{display:grid;place-items:center;width:172px;height:172px;margin:0 auto 10px;border-radius:50%;background:radial-gradient(circle at 42% 35%,#f9fdff,#e4f3fd 68%,#d3e9f8 100%)}
.journey-card__art img{width:170px;height:170px;object-fit:contain}
.journey-card__copy{width:100%;max-width:285px}
.journey .journey__steps :is(h2,h3){margin:0 0 7px;color:#073665;font-family:Inter,Arial,sans-serif;font-size:clamp(1.18rem,1.75vw,1.65rem);font-weight:800;line-height:1.17;letter-spacing:-.04em}
.journey .journey__steps p{margin:0;color:#50698a;font-size:1rem;line-height:1.46}
.journey__benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;list-style:none;margin:48px 0 0;padding:0}
.journey__benefits li{display:flex;align-items:center;justify-content:center;gap:14px;min-height:62px;padding:0 15px;color:#064183;font-weight:700;font-size:.96rem;line-height:1.27}
.journey__benefits li+li{border-left:1px solid #bfdaf0}
.journey__benefit-icon{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:#e3f2fc;color:#0759a5;font:800 1.9rem/1 Inter,Arial,sans-serif}
@media(max-width:1050px){.journey{padding-top:78px}.journey__top{min-height:255px}.journey__note{margin-right:1%;font-size:2.2rem}.journey h1{font-size:clamp(3.2rem,6vw,4.6rem)}.journey .journey__steps>li{padding-inline:21px}.journey__benefits li{gap:9px;padding-inline:9px;font-size:.86rem}.journey__benefit-icon{flex-basis:46px;width:46px;height:46px}}
@media(max-width:800px){.journey{padding:70px 0 56px}.journey__photo{height:440px;opacity:.58}.journey__photo img{object-position:64% center}.journey__top{min-height:230px}.journey__intro{max-width:560px}.journey h1{font-size:clamp(3rem,8vw,4.5rem)}.journey__note{display:none}.journey__steps{grid-template-columns:1fr;gap:16px}.journey .journey__steps>li{display:grid;grid-template-columns:128px 1fr;align-items:center;min-height:155px;padding:21px 28px 21px 85px;border:0}.journey .journey__steps>li:not(:last-child)::after{right:auto;top:auto;bottom:-26px;left:50%;transform:translateX(-50%) rotate(90deg);font-size:1.8rem}.journey .journey__number{top:15px;left:16px;width:50px;height:50px;font-size:1.2rem}.journey-card__art{width:120px;height:120px;margin:0}.journey-card__art img{width:118px;height:118px}.journey-card__copy{max-width:none}.journey__benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0;margin-top:35px}.journey__benefits li:nth-child(3){border-left:0}}
@media(max-width:580px){.journey{padding:58px 0 42px}.journey__photo{height:350px;opacity:.34}.journey__top{min-height:235px}.journey__eyebrow{gap:11px;font-size:.72rem;letter-spacing:.12em}.journey__eyebrow::after{width:26px}.journey h1{font-size:clamp(2.55rem,10.2vw,3.75rem);line-height:1.04}.journey h1::after{margin-top:15px}.journey .journey__steps>li{grid-template-columns:95px 1fr;min-height:145px;padding:22px 16px 20px 17px;border-radius:25px}.journey .journey__number{top:12px;left:12px;width:40px;height:40px;font-size:1rem}.journey-card__art{width:92px;height:92px;margin-top:22px}.journey-card__art img{width:90px;height:90px}.journey .journey__steps :is(h2,h3){font-size:1.12rem}.journey .journey__steps p{font-size:.89rem}.journey__benefits{gap:16px 0}.journey__benefits li{justify-content:flex-start;gap:8px;min-height:50px;padding-inline:6px;font-size:.76rem}.journey__benefit-icon{flex-basis:35px;width:35px;height:35px;font-size:1.3rem}}

/* Comparatifs de la page Réalisations : chaque côté conserve son propre cadrage. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-realisations{background:#f5f9fd}
.page-realisations .portfolio{padding-top:90px}
.page-realisations .portfolio .section-heading{max-width:850px;margin:0 auto 72px;text-align:center}
.page-realisations .portfolio .section-heading h2{color:#082e5b}
.page-realisations .project{margin-bottom:80px;padding-bottom:78px;border-bottom:1px solid #dae8f4}
.page-realisations .project:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.page-realisations .project__copy{display:block;margin:0 auto 32px;text-align:center}
.page-realisations .project__index{display:block;margin-bottom:13px;color:#0b5aa6;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}
.page-realisations .project h3{margin:0;color:#082e5b;font-family:Inter,Arial,sans-serif;font-size:clamp(2.35rem,5vw,4.5rem);font-weight:800;line-height:1.05;letter-spacing:-.055em}
.page-realisations .project h3 span{position:relative;color:#0870ce;white-space:nowrap}
.page-realisations .project h3 span::after{content:"";position:absolute;left:5%;right:5%;bottom:-5px;height:4px;border-radius:4px;background:var(--orange);transform:rotate(-2deg)}
.page-realisations .project__copy p{max-width:700px;margin:14px auto 0;color:#637991;font-size:1.05rem;line-height:1.5}
.comparison{--split:50%;position:relative;border:6px solid #fff;border-radius:34px;background:#e1edf6;box-shadow:0 18px 42px rgba(8,55,103,.12)}
.comparison__images{display:grid;grid-template-columns:var(--split) minmax(0,1fr);height:clamp(360px,40vw,520px);overflow:hidden;border-radius:27px}
.comparison__pane{position:relative;min-width:0;margin:0;overflow:hidden}
.comparison__pane picture,.comparison__pane img{display:block;width:100%;height:100%}
.comparison__pane img{object-fit:cover;object-position:center 48%}
.comparison__pane--after img{object-position:center 53%}
.comparison__pane figcaption{position:absolute;z-index:1;top:22px;padding:12px 21px;border-radius:10px;color:#fff;font-size:1rem;font-weight:800;line-height:1.1;box-shadow:0 5px 13px rgba(0,0,0,.12)}
.comparison__pane--before figcaption{left:22px;background:#083a71}
.comparison__pane--after figcaption{right:22px;background:#ff8e00}
.comparison__divider{position:absolute;z-index:2;top:0;bottom:0;left:var(--split);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 4px rgba(4,38,72,.28)}
.comparison__divider span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff;color:#0870ce;transform:translate(-50%,-50%);box-shadow:0 4px 18px rgba(8,55,103,.2)}
.comparison__range{display:none}
.comparison--interactive .comparison__range{position:absolute;z-index:3;top:50%;left:0;display:block;width:100%;height:66px;margin:0;transform:translateY(-50%);opacity:0;cursor:ew-resize}
.comparison--interactive:focus-within .comparison__divider span{outline:4px solid var(--orange);outline-offset:4px}
.project__facts{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:-42px -13px 0;pointer-events:none}
.project__fact{display:flex;align-items:center;gap:13px;width:min(290px,45%);min-height:91px;padding:16px 20px;border-radius:22px;background:#fff;box-shadow:0 14px 30px rgba(8,55,103,.12)}
.project__fact-icon{display:grid;place-items:center;flex:0 0 47px;width:47px;height:47px;border-radius:50%;background:#eaf4ff;color:#0b68be;font-size:1.7rem;font-weight:800;line-height:1}
.project__fact-icon--before{background:#fff1df;color:#f08300}
.project__fact strong,.project__fact small{display:block}
.project__fact strong{color:#0a3667;font-size:.95rem;line-height:1.25}
.project__fact small{margin-top:4px;color:#667992;font-size:.82rem;line-height:1.25}
@media(max-width:800px){.page-realisations .portfolio{padding-top:65px}.page-realisations .portfolio .section-heading{margin-bottom:55px}.page-realisations .project{margin-bottom:65px;padding-bottom:65px}.comparison__images{height:420px}.project__facts{margin-inline:0}.project__fact{width:min(250px,48%);padding:13px 14px}.project__fact-icon{flex-basis:40px;width:40px;height:40px}}
@media(max-width:580px){.page-realisations .portfolio{padding-top:55px}.page-realisations .portfolio .section-heading{margin-bottom:48px}.page-realisations .project{margin-bottom:55px;padding-bottom:55px}.page-realisations .project__copy{margin-bottom:22px}.page-realisations .project h3{font-size:clamp(2.1rem,9vw,3rem)}.page-realisations .project__copy p{font-size:.92rem}.comparison{border-width:4px;border-radius:24px}.comparison__images{height:350px;border-radius:19px}.comparison__pane figcaption{top:12px;padding:9px 12px;font-size:.8rem;border-radius:8px}.comparison__pane--before figcaption{left:10px}.comparison__pane--after figcaption{right:10px}.comparison__divider span{width:48px;height:48px;font-size:1.8rem}.project__facts{gap:9px;margin:12px 0 0}.project__fact{display:block;width:50%;min-height:93px;padding:12px;border-radius:15px}.project__fact-icon{display:none}.project__fact strong{font-size:.8rem}.project__fact small{font-size:.72rem}}

@media(max-width:800px){.services-section{padding:66px 0 72px}.services-section__inner{grid-template-columns:1fr;gap:2rem}.services-section__intro{max-width:650px}}
@media(max-width:580px){.services-section{padding:56px 0 64px}.service-list{grid-template-columns:1fr}.service-list li{min-height:0;padding:1.3rem 0}.service-list li:nth-child(even){padding-left:0;border-left:0}.services-section__tri{font-size:.9rem}}
