:root{--ink:#253f5e;--muted:#5c6e81;--paper:#fafbfd;--line:#dce3ec;--accent:#bd1733;--blue:#365e88;--white:#fff;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #4c8cb8;outline-offset:5px}p{margin:0 0 20px}h1,h2,h3{font-weight:600;line-height:1.09;margin:0;letter-spacing:-.045em}h1{font-size:clamp(42px,5vw,72px)}h2{font-size:clamp(30px,3.2vw,46px)}h3{font-size:24px;letter-spacing:-.025em}.wrap{max-width:1240px;margin:auto;padding:0 42px}.section{padding:95px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:22px}.eyebrow:before{content:'';display:inline-block;width:7px;height:7px;background:#c71c3b;border-radius:50%;margin-right:10px}.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted)}.skip{position:fixed;top:-90px;left:16px;z-index:100;padding:12px;background:var(--accent)}.skip:focus{top:12px}.topline{background:var(--ink);color:#e0e8f2;font-size:11px;letter-spacing:.03em}.topline .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.topline a{color:var(--accent)}header{position:sticky;top:0;z-index:20;background:#fffffff5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:89px}.brand{display:flex;align-items:center;gap:12px;line-height:1.12;font-size:14px;font-weight:750;letter-spacing:.04em}.brand small{font-size:8px;font-weight:500;letter-spacing:.19em;display:block;margin-top:6px}.logo{width:45px;height:45px;display:grid;place-content:center;background:var(--ink);color:var(--accent);font-size:23px;letter-spacing:-3px;border-radius:50% 50% 10% 50%;padding-right:3px}.navlinks{display:flex;align-items:center;gap:27px;font-size:13px}.navlinks a{padding:10px 0;position:relative}.navlinks a:hover,.navlinks a[aria-current]{color:#b71735}.navlinks a[aria-current]:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;border-radius:6px;padding:14px 22px;background:var(--ink);color:white;font-weight:600;font-size:13px;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#334f75}.btn.accent{background:var(--accent);color:var(--ink)}.btn.accent:hover{background:#a4122d}.btn.outline{background:transparent;color:var(--ink);border-color:#aabbd0}.btn.text{padding:12px 0;border-bottom:1px solid #aabbd0;border-radius:0;background:none;color:var(--ink)}.menu{display:none;border:1px solid var(--line);border-radius:4px;background:none;padding:9px 12px}.hero{padding:64px 0 61px}.hero-grid{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:58px}.hero h1 span{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#3c6891}.lead{font-size:16px;line-height:1.8;color:var(--muted);max-width:500px;margin:28px 0}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.hero-note{margin-top:32px;font-size:11px;letter-spacing:.015em;color:var(--muted);display:flex;align-items:center;gap:12px}.hero-note i{width:24px;height:1px;background:#9aacc2}.visual{background:#e4eef8;border-radius:120px 14px 14px 14px;position:relative;padding:30px 26px 18px;min-height:480px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.visual:before{content:'';position:absolute;width:380px;height:380px;border:1px solid #bbcee1;border-radius:50%;right:-70px;top:-80px}.visual-top{font-size:10px;letter-spacing:.17em;text-align:right;position:relative}.visual svg{width:100%;height:auto;position:relative;max-height:345px}.visual-bottom{display:flex;justify-content:space-between;align-items:end;font-size:12px;position:relative;border-top:1px solid #bbcee1;padding-top:14px}.visual-bottom span{font-size:9px;letter-spacing:.06em;color:var(--muted)}.client-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.client-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:26px;padding-top:22px;padding-bottom:22px;font-size:12px}.client-strip strong{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:500}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-head p{max-width:330px;color:var(--muted);font-size:14px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;align-items:start;min-height:333px;transition:transform .2s,border-color .2s}.service:hover{transform:translateY(-4px);border-color:#839ec0}.service .icon{display:grid;place-items:center;width:45px;height:45px;background:#ecf2f9;border-radius:11px;font-size:26px;margin-bottom:32px}.service h3{font-size:25px;margin-bottom:18px}.service p{color:var(--muted);font-size:14px}.service .link{font-size:12px;font-weight:700;margin-top:auto;border-top:1px solid var(--line);padding-top:18px;width:100%;display:flex;justify-content:space-between}.maintenance{background:var(--ink);color:#fff;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.maintenance-copy{padding:60px}.maintenance .eyebrow{color:var(--accent)}.maintenance h2{font-size:40px}.maintenance p{color:#cbd8e8;margin-top:24px;font-size:14px}.maintenance-visual{background:#2d4e77;padding:55px;display:flex;align-items:center;position:relative}.maintenance-visual:before{content:'DF';font-size:230px;line-height:1;font-weight:700;color:#395b83;position:absolute;right:-15px;bottom:20px;letter-spacing:-20px}.checklist{position:relative;background:#fafbfd;color:var(--ink);padding:29px 30px;border-radius:12px;box-shadow:0 20px 50px #182f5355;transform:rotate(-3deg);width:100%}.checklist .sheet-head{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:10px}.checklist ul{list-style:none;margin:0;padding:0}.checklist li{font-size:13px;border-bottom:1px solid var(--line);padding:17px 0}.checklist li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e7eff9;margin-right:14px;color:#315e88}.checklist .sheet-foot{font-size:10px;color:var(--muted);margin-top:20px}.equipment-list{display:flex;flex-wrap:wrap;gap:10px}.equipment-list span{padding:10px 16px;border:1px solid #cbd8e8;border-radius:30px;font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.steps{counter-reset:steps}.step{display:grid;grid-template-columns:38px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.step:before{counter-increment:steps;content:'0' counter(steps);font-size:12px;color:#ba1835;padding-top:5px}.step h3{font-size:20px;margin-bottom:10px}.step p{font-size:14px;color:var(--muted);margin:0}.local{background:#edf3f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.local p{color:var(--muted);margin-top:24px;max-width:500px}.locations{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.locations span{padding:8px 13px;background:#fafbfd;border-radius:5px;font-size:12px}.faq{border-top:1px solid #cbd8e8}.faq details{border-bottom:1px solid #cbd8e8;padding:19px 0}.faq summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:20px;font-weight:400;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;margin:14px 25px 0 0}.contact-banner{padding:60px 0}.contact-banner .inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-banner h2{font-size:35px}.contact-banner p{font-size:14px;color:var(--muted);margin:15px 0 0}footer{background:#1e3655;color:#d1dcea;padding:50px 0 24px;font-size:12px}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:55px}.footer-main .brand{color:#fff}.footer-main p{margin-top:23px}.footer-main h3{font-size:12px;color:#edf3fc;letter-spacing:.08em;margin:0 0 22px}.footer-main a:not(.brand){display:block;margin-bottom:8px}.footer-main a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid #506582;font-size:10px;color:#acbdd1}.mobile-bar{display:none}.breadcrumb{font-size:11px;color:var(--muted);margin:28px 0 30px}.breadcrumb a{text-decoration:underline}.page-hero{padding:0 0 65px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(39px,4.5vw,62px);max-width:820px}.page-hero .lead{max-width:620px}.tag{display:inline-block;background:#e8eff8;padding:7px 11px;border-radius:5px;margin:0 6px 8px 0;font-size:11px}.info-box{background:#fff;border:1px solid var(--line);padding:34px;border-radius:14px}.info-box h3{margin-bottom:20px}.clean-list{list-style:none;padding:0;margin:15px 0}.clean-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.clean-list li:before{content:'→';margin-right:12px;color:#be1835}.text-section p{color:var(--muted);margin-top:22px;font-size:15px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-info h2{font-size:30px}.contact-info .phone{font-size:29px;letter-spacing:-.04em;font-weight:600;display:block;margin:18px 0 3px}.contact-info .block{border-top:1px solid var(--line);padding:25px 0 0;margin-top:27px}.contact-info h3{font-size:12px;letter-spacing:.08em;margin-bottom:10px}.contact-info p{font-size:14px}.contact-info a{overflow-wrap:anywhere}.form{background:#fff;border:1px solid var(--line);border-radius:15px;padding:32px}.form h2{font-size:27px;margin-bottom:13px}.form .small{line-height:1.6}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px;font-weight:600;margin-bottom:19px}input,select,textarea{width:100%;background:#fcfdff;border:1px solid #c9d6e5;border-radius:5px;padding:12px 13px;margin-top:7px;color:var(--ink);font-size:14px}textarea{min-height:115px;resize:vertical}.form button{width:100%}.request-result{margin-top:24px;border-top:1px solid var(--line);padding-top:25px}.request-result h3{font-size:20px;margin-bottom:12px}.request-result .actions{gap:8px}.request-result .btn{font-size:12px;padding:12px 16px;flex:1}.request-result textarea{font-family:inherit;font-size:12px;height:180px}.status{font-size:12px;margin:10px 0 0;color:var(--blue)}.legal{max-width:850px}.legal h2{font-size:25px;margin:35px 0 15px}.legal p{font-size:14px;color:var(--muted)}.review-note{border:1px solid #cbd8e8;background:#edf3fa;padding:15px 20px;font-size:13px;border-radius:8px}.equipment-drawing{color:var(--ink)}@media(min-width:1450px){.wrap{max-width:1340px}.hero{padding-top:80px;padding-bottom:75px}.hero-grid{gap:80px}.visual{min-height:520px}}@media(max-width:1050px){.wrap{padding-left:28px;padding-right:28px}.navlinks{gap:16px}.nav>.btn{display:none}.hero-grid{gap:30px}h1{font-size:52px}.visual{min-height:440px}.maintenance-copy,.maintenance-visual{padding:36px}.two-col{gap:45px}.contact-grid{gap:40px}.service{padding:24px}}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.topline .wrap{font-size:10px}.topline .top-right{display:none}.nav{min-height:76px}.brand{font-size:12px}.brand small{font-size:7px}.logo{width:40px;height:40px}.menu{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:20px 25px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.hero{padding:39px 0}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:48px;max-width:520px}.hero .lead{font-size:15px;margin:22px 0}.eyebrow{font-size:10px;margin-bottom:17px}.hero-note{margin-top:23px}.visual{min-height:370px;max-width:580px;border-top-left-radius:90px;padding:27px 24px 17px}.visual svg{max-height:290px}.client-strip .wrap{flex-wrap:wrap;gap:13px 22px;font-size:11px}.client-strip strong{width:100%}.section{padding:57px 0}.section-head{display:block;margin-bottom:27px}.section-head p{max-width:none;margin-top:20px}.services{grid-template-columns:1fr}.service{min-height:265px;padding:27px}.service .icon{margin-bottom:22px}.two-col,.contact-grid{grid-template-columns:1fr;gap:35px}.maintenance{grid-template-columns:1fr}.maintenance-copy{padding:35px 28px}.maintenance h2{font-size:34px}.maintenance-visual{padding:35px 38px}.checklist{max-width:440px;margin:auto}.contact-banner .inner{align-items:start;flex-direction:column}.contact-banner h2{font-size:31px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}footer{padding-bottom:95px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--paper);padding:10px 14px;border-top:1px solid var(--line);gap:9px}.mobile-bar .btn{padding:12px 8px;flex:1;font-size:12px}.page-hero{padding-bottom:40px}.page-hero h1{font-size:43px}.breadcrumb{margin-top:20px}.form{padding:24px}.field-grid{grid-template-columns:1fr;gap:0}.form .actions{display:block}.form .actions .btn{margin-top:8px;width:100%}.info-box{padding:26px}.request-result .actions{display:flex}.request-result .actions .btn{flex:initial}.lead{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Couleurs du logo et photographies de l’entreprise. */
.topline a{color:#fff}.btn{background:var(--accent)}.btn:hover{background:#a4122d}.btn.accent{color:#fff;background:var(--accent)}.skip{color:white}.brand-logo{width:86px;height:auto;object-fit:contain;flex:none}.brand{gap:10px}.nav{min-height:100px}header{background:#fffffff5}.hero-grid{grid-template-columns:1fr 1.08fr;gap:40px}.hero h1{font-size:clamp(42px,4.5vw,62px)}.hero h1 span{color:#3d6891}.hero .lead{max-width:505px}.team-hero{margin:0;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 16px 45px #253f5e0a;position:relative}.team-hero:before{content:'';display:block;height:5px;background:linear-gradient(90deg,#2d527a 0%,#5f8fb5 70%,#be1835 70%,#be1835 100%)}.team-hero img{width:100%;height:auto;object-fit:contain;display:block}.team-hero figcaption{padding:25px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.team-hero strong{font-size:21px;line-height:1.1;letter-spacing:-.03em}.team-hero figcaption a{font-size:11px;color:#a51835;font-weight:600}.maintenance .eyebrow{color:#a9cee9}.maintenance .eyebrow:before{background:#e3455b}.checklist li:before{color:#315e88}.footer-main .brand-logo{background:#fff;border-radius:8px;padding:3px;width:88px}.footer-main .logo{display:none}.team-section{background:#fff}.team-layout{align-items:center;gap:65px}.team-signature{display:flex;gap:14px;align-items:center;margin:28px 0}.team-signature>span{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#edf3f9;color:#bd1733;font-weight:700}.team-signature strong{font-size:13px;display:block}.team-signature small{font-size:10px;color:var(--muted)}.team-secondary{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafbfd}.team-secondary img{display:block;width:100%;height:auto;object-fit:contain}.team-secondary figcaption{padding:17px 20px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.team-secondary figcaption a{color:#a51835;white-space:nowrap}.mobile-bar .btn.accent{background:#edf3fa;color:#253f5e;border-color:#cbd8e8}.hero-note i{background:#be1835}@media(max-width:1050px){.hero h1{font-size:48px}.hero-grid{gap:30px}.brand-logo{width:76px}.navlinks{gap:15px}.team-hero figcaption{padding:22px 18px;gap:15px}.team-hero strong{font-size:19px}.team-layout{gap:35px}}@media(max-width:760px){.nav{min-height:82px}.brand-logo{width:67px}.brand{font-size:11px;gap:8px}.brand small{font-size:6px}.navlinks{top:82px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:45px}.hero .actions{gap:12px}.team-hero figcaption{padding:21px 18px}.team-hero figcaption a{max-width:130px}.team-layout{grid-template-columns:1fr;gap:32px}.team-secondary figcaption{flex-wrap:wrap}.footer-main .brand-logo{width:77px}}

/* Contenus de service et liens de référencement naturel. */
.hero h1{font-size:clamp(40px,4vw,55px)}
.service-detail{padding-top:55px}
.service-detail h2{max-width:780px}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:32px}
.detail-grid h3{font-size:22px;line-height:1.2}
.detail-grid p{font-size:14px;color:var(--muted);margin:0}
.detail-grid a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
@media(max-width:760px){.hero h1{font-size:41px}.detail-grid{grid-template-columns:1fr}.service-detail{padding-top:40px}}

/* Photos originales en petit format ; témoignages transcrits des captures. */
.field-section{background:#edf3f9}
.field-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.field-photo{margin:0;min-width:0}
.field-image{aspect-ratio:3/4;background:#dfe8f1;border-radius:9px;overflow:hidden;position:relative}
.field-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;max-width:207px;margin:auto}
.field-photo figcaption{font-size:12px;line-height:1.5;font-weight:600;margin-top:13px}
.reviews-section{background:#fff;border-top:1px solid var(--line)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{margin:0;padding:29px 28px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;display:flex;flex-direction:column}
.review-stars{color:#97700e;font-size:20px;letter-spacing:3px;margin-bottom:20px}
.review-card blockquote{margin:0 0 27px;flex:1}
.review-card blockquote p{margin:0;font-size:15px;line-height:1.8}
.review-card figcaption{display:flex;align-items:center;gap:12px}
.review-initial{width:36px;height:36px;flex:none;display:grid;place-items:center;background:#e6edf5;border-radius:50%;color:var(--ink);font-size:13px;font-weight:600}
.review-card strong{display:block;font-size:12px;letter-spacing:.01em}
.review-card small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.reviews-source{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.reviews-source p{margin:0;font-size:11px;color:var(--muted)}
.reviews-source a{flex:none}
@media(min-width:761px) and (max-width:1050px){.field-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;max-width:720px;margin:auto}.field-image{max-width:207px;margin:auto}.field-photo figcaption{max-width:207px;margin:13px auto 0}.reviews-grid{gap:14px}.review-card{padding:24px 18px}}
@media(max-width:760px){.field-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px;max-width:432px;margin:auto}.field-image{max-width:207px;margin:auto}.field-photo figcaption{max-width:207px;margin:12px auto 0}.reviews-grid{grid-template-columns:1fr;gap:18px}.review-card{padding:25px}.review-card blockquote{margin-bottom:24px}.reviews-source{display:block}.reviews-source a{margin-top:14px}.reviews-source p{max-width:350px}}

.team-hero figcaption{flex-wrap:wrap;row-gap:12px}.photo-disclosure{flex:0 0 100%;display:block;font-size:10px;line-height:1.5;color:var(--muted)}

/* Présentation agrandie des marquages de l’équipe. */
.team-layout{grid-template-columns:1fr;gap:32px}.team-layout .text-section{max-width:760px}.team-photo-link{display:block;cursor:zoom-in}.team-photo-link:focus-visible{outline:3px solid #be1835;outline-offset:-4px}.photo-disclosure{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-hero .photo-disclosure a{font-size:10px;white-space:nowrap;max-width:none}
