@charset "UTF-8";:root{--ink:#171917;--paper:#f6f5f0;--orange:#ff701b;--muted:#656860;--line:#dcded4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid #b94300;outline-offset:5px}.skip{position:absolute;top:-100px;left:12px;background:white;padding:12px;z-index:9}.skip:focus{top:10px}header{padding:24px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:30px}.brand{text-decoration:none;font-size:32px;font-weight:900;letter-spacing:-2px;line-height:1}.brand span{color:#db5200}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:10px}nav{display:flex;gap:30px;font-size:13px;font-weight:bold;align-items:center}.nav-contact{border:1px solid var(--ink);padding:12px 18px;border-radius:4px}nav a{text-decoration:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:5%;padding:70px 5% 65px;max-width:1550px;margin:auto;align-items:center}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px}.dot{display:inline-block;width:7px;height:7px;background:#e46117;border-radius:50%;margin-right:7px}h1{font-size:clamp(40px,4.5vw,70px);line-height:1.05;letter-spacing:-3px;margin:27px 0}em{font-style:normal;color:#c64b00}.intro{max-width:490px;font-size:17px;color:var(--muted);line-height:1.7}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;gap:30px;justify-content:space-between;padding:16px 20px;text-decoration:none;font-weight:bold;font-size:14px;border-radius:4px}.primary{background:var(--ink);color:white}.primary:hover{background:#353b32}.text-link{font-size:13px;font-weight:bold}.micro{font-size:11px;color:var(--muted);margin-top:20px}.hero-visual{border-radius:8px;overflow:hidden;background:#eaece2;box-shadow:0 18px 40px #272b1b0c}.visual-top{display:flex;justify-content:space-between;padding:22px 24px;font-size:10px;font-weight:bold;letter-spacing:2px}.machine{background:white;margin:0 20px;border-radius:4px;height:290px;display:flex;align-items:center;justify-content:center}.machine img{width:100%;height:100%;object-fit:contain}.visual-bottom{background:var(--orange);padding:24px;display:flex;align-items:center;justify-content:space-between;margin-top:20px}.visual-bottom small{font-size:10px;letter-spacing:2px;font-weight:bold}.visual-bottom h2{font-size:27px;line-height:1.15;letter-spacing:-1px;margin:10px 0 0}.round{border:1px solid var(--ink);border-radius:50%;padding:9px 19px;font-size:28px;text-decoration:none}.ribbon{background:var(--ink);color:#ecefe5;padding:21px 5%;display:flex;justify-content:space-between;gap:22px;font-size:10px;letter-spacing:2px;flex-wrap:wrap}.ribbon span:before{content:'+';color:var(--orange);margin-right:16px}.section{padding:85px 5%;max-width:1550px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section h2{font-size:clamp(31px,3.5vw,47px);letter-spacing:-1.8px;line-height:1.12;margin:16px 0 25px}.section-heading>p{font-size:14px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{padding:30px;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;background:#fcfcf9}.card.featured{background:#eef0e7}.number{font-size:13px;border-bottom:1px solid #ccd0c5;padding-bottom:15px;color:#656860}.card h3{font-size:31px;line-height:1.12;letter-spacing:-1px;margin:24px 0 12px}.card p,.card li{font-size:14px;color:var(--muted)}.card ul{padding-left:17px;margin-bottom:30px}.card li{margin-bottom:8px}.card>a{font-size:13px;font-weight:bold;margin-top:auto}.card small{font-size:10px;margin-top:9px;color:var(--muted)}.process{background:var(--ink);color:white;max-width:none}.process>.eyebrow{color:var(--orange)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.steps span{color:var(--orange);font-size:29px;display:block;border-bottom:1px solid #41483d;padding-bottom:15px}.steps h3{font-size:20px}.steps p{font-size:14px;color:#c0c5bb;max-width:360px}.process-note{border-top:1px solid #41483d;margin-top:35px;padding-top:20px;font-size:12px;color:#c0c5bb}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:50px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:15px;font-weight:bold}details p{color:var(--muted);font-size:14px}.contact{background:#e9ecdf;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;max-width:none}.contact p{color:var(--muted);font-size:14px}.contact .email{font-size:clamp(18px,2.7vw,34px);font-weight:bold;word-break:break-word}.contact .micro{font-size:10px}.contact address{font-style:normal;border-left:1px solid #c8cebe;padding:20px 0 0 45px;align-self:center}.contact address a{font-size:14px}.phone{margin-top:30px}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}footer p,footer>a:not(.brand),footer>span{font-size:11px;color:var(--muted)}.legal{max-width:900px;margin:auto;padding:55px 25px}.legal h1{font-size:40px}.legal h2{font-size:23px;margin-top:35px}.legal p{font-size:15px}@media(max-width:850px){header{padding:20px 6%}nav{gap:15px}nav>a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr;padding:40px 6%;gap:35px}h1{letter-spacing:-2px;font-size:49px}.hero-visual{max-width:600px;width:100%}.machine{height:250px}.section{padding:55px 6%}.cards,.steps{grid-template-columns:1fr}.card{padding:25px}.section-heading{display:block}.steps{gap:20px}.steps p{max-width:none}.faq,.contact{grid-template-columns:1fr;gap:20px}.contact address{border-left:0;border-top:1px solid #c8cebe;padding:25px 0 0}.ribbon{font-size:9px;gap:17px;padding:22px 6%}.ribbon span{width:45%}footer{align-items:start}.brand{font-size:28px}.nav-contact{font-size:11px;padding:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* IdentitÃ© officielle : fond extrait de la fiche LOC, logos du kit validÃ©. */
:root{--ink:#fff;--paper:#101112;--orange:#ff6b00;--muted:#d0d0d0;--line:#4b4b4b}
body{background:#101112 url('assets/fond-officiel.webp') center top/100% auto repeat-y;color:#fff}
header{background:#090a0bd9;border-bottom:1px solid var(--orange);padding-top:22px;padding-bottom:22px}
.brand{display:block;max-width:46%}.brand-logo{display:block;width:280px;max-width:100%;height:auto}
nav a:hover,.text-link:hover,.card>a:hover{color:var(--orange)}
.nav-contact{border-color:var(--orange)}
h1,h2,h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:400;text-transform:uppercase}
h1{font-size:clamp(42px,4.8vw,74px);letter-spacing:.1px;line-height:1.09}
em,.dot{color:var(--orange)}.dot{background:var(--orange)}
.eyebrow{color:#fff}.intro{color:#e0e0e0}
.primary{background:var(--orange);color:#101112;border:1px solid var(--orange)}
.primary:hover{background:#ff8b36;color:#101112}
a:focus-visible,summary:focus-visible{outline-color:#ff8b36}
.hero-visual{background:#101112e8;border:1px solid var(--orange);border-radius:6px;box-shadow:0 18px 40px #0006}
.visual-top{align-items:center;gap:20px;padding:23px 20px}.visual-logo{width:220px;max-width:65%;height:auto}
.visual-top>span{font-size:9px;letter-spacing:1px;color:#ccc}
.machine{border:1px solid var(--orange);border-radius:5px}
.visual-bottom{color:#101112;background:var(--orange)}.visual-bottom h2{letter-spacing:0;font-size:29px}.round{border-color:#101112}
.ribbon{background:#0a0b0c;border-top:1px solid var(--orange);border-bottom:1px solid var(--orange)}
.section h2{letter-spacing:.2px}
.card,.card.featured{background:#101112ed;border:1px solid var(--orange)}
.card-brand{min-height:74px;display:flex;align-items:center;gap:18px;justify-content:space-between;border-bottom:1px solid #565656;padding-bottom:18px}
.card-brand img{width:230px;max-width:85%;height:auto}.card-brand span{font-size:12px;color:var(--orange)}
.card h3{color:var(--orange);letter-spacing:.2px;font-size:33px}
.card p,.card li{color:#dedede}.card small{color:#ccc}
.process{background:#101112ed;border-top:1px solid var(--orange);border-bottom:1px solid var(--orange)}
.steps h3{font-size:25px}.steps span{font-family:Impact,Arial,sans-serif;border-color:#555}
.steps p,.process-note{color:#dedede}.process-note{border-color:#555}
.contact{background:#101112ed;border-top:1px solid var(--orange);border-bottom:1px solid var(--orange)}
.contact address{border-color:var(--orange)}.contact .email{color:var(--orange)}
footer{background:#090a0be8}footer .brand-logo{width:200px}
.legal{background:#101112f0}.legal h1{letter-spacing:0}.legal h2{color:var(--orange)}
.skip{color:#101112}
@media(max-width:850px){body{background-size:auto 1500px}.brand-logo{width:230px}.hero{padding-top:35px}.card-brand img{width:260px}.visual-top{padding:20px}.hero-visual{max-width:600px}h1{font-size:48px}.contact address{border-color:var(--orange)}}
@media(max-width:420px){header{gap:14px}.brand{max-width:53%}.nav-contact{padding:10px 8px;font-size:10px}h1{font-size:40px}.hero{gap:25px}.visual-top>span{font-size:8px}.visual-bottom h2{font-size:25px}.button{gap:16px}.ribbon span{letter-spacing:1px}}

header .brand-logo{width:330px}header .brand{max-width:48%}
.hero .primary{min-height:68px;padding:21px 27px;font-size:18px;min-width:285px;align-items:center}
a.machine{display:flex;text-decoration:none;overflow:hidden}a.machine:focus-visible{outline-offset:3px}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:15px;padding:14px 20px 0}
.carousel-controls button{font:700 14px Arial,sans-serif;color:#fff;background:#202122;border:1px solid #ff6900;border-radius:4px;min-width:44px;min-height:42px;cursor:pointer;padding:8px 12px}
.carousel-controls button:hover{background:#ff6900;color:#101112}.carousel-controls button:focus-visible{outline:3px solid white;outline-offset:3px}
#rental-count{font:12px Arial,sans-serif;color:#ddd;min-width:44px;text-align:center}
.rental-carousel .visual-bottom{min-height:148px;margin-top:14px}.rental-carousel .visual-bottom h2{font-size:28px;margin:10px 0 12px}.rental-carousel .visual-bottom a{font-size:13px;font-weight:bold}
@media(max-width:420px){header .brand-logo{width:230px}.hero .primary{min-width:0;width:100%;font-size:17px}.carousel-controls{gap:9px}.rental-carousel .visual-bottom h2{font-size:25px}}

/* Trois familles visibles dÃ¨s l'accueil. */
.hero{grid-template-columns:1fr;gap:36px;padding-top:40px}
.hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:45px;align-items:center}
.hero-copy>.eyebrow{grid-column:1/-1;margin-top:0}.hero-copy h1{grid-column:1;grid-row:2/5;margin:8px 0;font-size:clamp(38px,4vw,60px)}
.hero-copy .intro,.hero-copy .actions,.hero-copy .micro{grid-column:2}.hero-copy .intro{margin:0}.hero-copy .actions{margin-top:18px}.hero-copy .micro{margin-bottom:0}
.rental-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.rental-categories .hero-visual{width:100%;max-width:none;display:flex;flex-direction:column;min-width:0}
.rental-categories .visual-top{flex-direction:column;align-items:flex-start;gap:16px;padding:20px;min-height:145px}
.rental-categories .visual-logo{width:160px;max-width:75%}.rental-categories .visual-top h2{font-size:clamp(24px,2.3vw,34px);line-height:1.1;letter-spacing:.2px;margin:0;color:var(--orange)}
.rental-categories .machine{height:240px}.rental-count{font:12px Arial,sans-serif;color:#ddd;min-width:44px;text-align:center}
.rental-categories .visual-bottom{flex:1;min-height:130px;padding:20px}.rental-name{font-size:25px;line-height:1.15;margin:0 0 14px;letter-spacing:.2px}
.rental-categories .carousel-controls{gap:10px;padding-left:10px;padding-right:10px}
@media(max-width:1000px){.rental-categories{gap:14px}.rental-categories .machine{height:200px;margin:0 12px}.rental-categories .visual-top{padding:16px;min-height:150px}.rental-name{font-size:22px}}
@media(max-width:700px){.hero-copy{display:block}.hero-copy h1{font-size:42px;margin:22px 0}.hero-copy .intro{margin:18px 0}.rental-categories{grid-template-columns:1fr;gap:24px}.rental-categories .visual-top{min-height:0}.rental-categories .visual-top h2{font-size:30px}.rental-categories .machine{height:260px}.rental-categories .visual-bottom{min-height:115px}.rental-name{font-size:25px}}
/* En-tÃªtes des catÃ©gories : logo central et titre discret. */
.rental-categories .visual-top{align-items:stretch;justify-content:center;gap:18px;padding:22px 20px;min-height:160px}
.rental-categories .visual-logo{width:260px;max-width:95%;height:auto;align-self:center}
.rental-categories .visual-top h2{font-size:24px;line-height:1.2;text-align:left;letter-spacing:.2px;margin:0}
@media(max-width:1000px) and (min-width:701px){.rental-categories .visual-top{padding:20px 16px;min-height:145px}.rental-categories .visual-top h2{font-size:22px}}
@media(max-width:700px){.rental-categories .visual-top{min-height:155px}.rental-categories .visual-top h2{font-size:24px}}

.service-page{max-width:1200px;margin:auto;padding:40px 5%;background:#101112e8}.service-page h1{font-size:clamp(32px,4vw,54px);letter-spacing:0}.service-page h2{font-size:30px;color:var(--orange);letter-spacing:0;margin-top:38px}.service-page p{max-width:850px}.service-page .intro{max-width:850px}.service-page nav{flex-wrap:wrap}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.equipment-grid article{padding:16px;border:1px solid var(--orange);border-radius:6px;background:#101112}.equipment-grid img{width:100%;height:210px;object-fit:contain;background:white;border-radius:4px}.equipment-grid h3{font-size:23px;line-height:1.2}.service-contact{border-top:1px solid var(--orange);margin-top:35px}.service-links{display:flex;flex-wrap:wrap;gap:16px 26px;margin-top:35px}.service-links a{display:inline!important;color:var(--orange);font-size:14px;text-decoration:underline}.home-service-links{padding:0 5% 45px;max-width:1550px;margin:0 auto}.visual-top h2 a{text-decoration:none}.visual-top h2 a:hover{text-decoration:underline}@media(max-width:700px){.equipment-grid{grid-template-columns:1fr}.service-page nav{display:flex}.service-page nav>a{display:inline}.service-page{padding:30px 6%}}

/* PrÃ©sentation des expÃ©riences complÃ©mentaires de lâ€™Ã©quipe. */
.team-partners{display:flex;align-items:center;gap:36px;margin-top:28px;padding:28px 30px;background:#1e1e1e;border-left:3px solid var(--orange);border-radius:4px}.team-partners>div{flex:1}.team-partners .eyebrow{color:var(--orange);margin-top:0}.team-partners h3{font-size:27px;line-height:1.2;margin:12px 0}.team-partners p:last-child{color:#dedede;font-size:14px;max-width:780px;margin-bottom:0}.team-partners .button{flex-shrink:0}@media(max-width:850px){.team-partners{flex-direction:column;align-items:flex-start;padding:24px;gap:24px}}
.team{border-top:1px solid #555;background:#101112e8}.team-intro{max-width:950px;color:#dedede;font-size:17px;margin:0 0 32px;line-height:1.75}.team-cards .eyebrow{color:var(--orange);font-size:11px;margin:0}.team-cards h3{font-size:29px;margin-top:18px}.team-cards p:not(.eyebrow){margin-bottom:20px}.team-cards .card{border-color:#555;border-top:3px solid var(--orange)}

@media(min-width:761px){#activites>.cards,.team-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Pack chantier : illustration originale et prestations accessibles. */
.work-packs{border-top:1px solid #555;background:#101112ed;scroll-margin-top:100px}.work-pack-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,70px);align-items:start}.work-sheet{display:block;max-width:450px;justify-self:center;text-decoration:none}.work-sheet img{display:block;width:100%;height:auto;border:1px solid #ff6900;border-radius:8px}.work-sheet span{display:block;padding:14px 0;color:#ff7900;font-size:14px}.work-carousel{min-width:0;padding:clamp(20px,3vw,36px);border:1px solid #685039;border-radius:8px;background:#151515}.work-carousel-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.work-carousel-top .eyebrow{color:#ff7900}.work-count{font-size:13px;white-space:nowrap;color:#ddd}.work-slides{min-height:230px}.work-slide[hidden]{display:none}.work-number{display:block;font-size:clamp(42px,6vw,66px);line-height:1.1;font-weight:900;color:#ff7900;opacity:.8;margin-top:12px}.work-slide h3{font-size:clamp(30px,4vw,44px);line-height:1.1;margin:12px 0}.work-slide p{color:#ddd;line-height:1.7;margin:16px 0}.work-controls{display:flex;gap:10px;margin:20px 0 28px}.work-controls button{font:inherit;min-width:46px;min-height:44px;border:1px solid #ff7900;border-radius:4px;background:#151515;color:#fff;padding:8px 16px;cursor:pointer}.work-controls button:hover,.work-controls button:focus-visible{background:#ff6900;color:#111}.work-included{border-top:1px solid #555;padding-top:20px}.work-included h3{font-size:25px;margin:0 0 12px}.work-included p{font-size:15px;line-height:1.7;color:#eee}.work-details{font-size:13px;line-height:1.7;color:#c5c5c5}.work-quote{margin-top:12px}.work-carousel .micro{line-height:1.6}.work-sheet:focus-visible{outline:3px solid #fff;outline-offset:5px}@media(max-width:760px){.work-pack-layout{grid-template-columns:1fr}.work-sheet{max-width:360px}.work-slides{min-height:215px}.work-packs .section-heading{display:block}.work-quote{padding:18px;font-size:14px}}

.sheet-carousel{min-width:0}.sheet-slide[hidden],.sheet-controls[hidden]{display:none}.sheet-controls{align-items:center;justify-content:center}.work-service-title{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:22px 0}.work-service-title em{color:#ff7900;font-style:normal}.work-service-intro{font-size:18px;line-height:1.8}.work-carousel>p{line-height:1.8}

.sheet-select-label{display:block;color:#ddd;font-size:13px;margin-bottom:8px}.sheet-select{display:block;width:100%;max-width:550px;padding:13px;color:#fff;background:#171717;border:1px solid #ff7900;border-radius:4px;margin-bottom:18px;font:inherit}.sheet-carousel .work-sheet{max-width:550px;margin:auto}.sheet-count{color:#fff;white-space:nowrap}.work-pack-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:760px){.work-pack-layout{grid-template-columns:1fr}}
