*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;background:#101010;color:#f7f7f7;line-height:1.65}a{color:inherit}img{display:block;max-width:100%}.container{width:min(1160px,90%);margin-inline:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(8,8,8,.97);border-bottom:1px solid #292929;backdrop-filter:blur(12px)}.header-inner{width:min(1240px,92%);margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:1.55rem;font-weight:900;letter-spacing:.04em;line-height:1.1}.brand span{color:#f2c200}.brand small{display:block;font-size:.58rem;letter-spacing:.12em;color:#aaa;margin-top:6px}.header-actions{display:flex;align-items:center;gap:18px}.phone{text-decoration:none;font-weight:800;white-space:nowrap}.phone:hover,.inline-phone:hover{color:#f2c200}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;background:#f2c200;color:#111;text-decoration:none;text-transform:uppercase;font-weight:800;font-size:.83rem;letter-spacing:.035em;border:2px solid #f2c200;border-radius:2px;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px);background:#fff;border-color:#fff}.button-small{padding:10px 15px;font-size:.76rem}.button-outline{background:transparent;color:#fff;border-color:#fff}.button-outline:hover{color:#111}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid #555;padding:8px 12px;font-size:1.25rem}.main-nav{display:flex;justify-content:center;gap:clamp(18px,4vw,48px);padding:0 20px 17px}.main-nav a{text-transform:uppercase;font-size:.76rem;letter-spacing:.08em;text-decoration:none;color:#c9c9c9;font-weight:700}.main-nav a:hover,.main-nav a.active{color:#f2c200}.hero,.page-hero{position:relative;background-size:cover;background-position:center;isolation:isolate}.hero-home{min-height:680px;display:flex;align-items:center;background-image:url('images/terrassement-maison-saint-martin-bellevue.webp')}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.69) 50%,rgba(0,0,0,.34) 100%);z-index:-1}.hero-inner{width:min(1160px,90%);margin:0 auto;padding:85px 0}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#f2c200;margin-bottom:15px}.dark-eyebrow{color:#7b6500}.hero h1,.page-hero h1{font-size:clamp(2.5rem,5.5vw,5rem);line-height:1.04;letter-spacing:-.035em;max-width:850px}.hero h1 span{color:#f2c200}.hero-lead{font-size:1.13rem;max-width:660px;color:#e3e3e3;margin:25px 0}.hero-stats{display:flex;gap:0;flex-wrap:wrap;margin:30px 0;border-top:1px solid #7778;border-bottom:1px solid #7778;max-width:720px}.hero-stats span{padding:15px 24px 15px 0;margin-right:24px;display:flex;flex-direction:column}.hero-stats b{font-size:1.05rem}.hero-stats small{color:#c9c9c9}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.hero-note{font-size:.83rem;color:#ddd;margin-top:22px}.section{padding:84px 0}.section-light{background:#f2f1ed;color:#1a1a1a}.section-dark{background:#111;color:#f7f7f7}.section h2,.cta-section h2,.b2b-band h2{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.13;margin-bottom:22px;letter-spacing:-.025em}.intro-grid,.article-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start}.intro-grid p,.article-grid p{margin-bottom:16px;color:#444}.highlight-line{border-left:4px solid #f2c200;padding:12px 0 12px 18px;font-weight:800;color:#111!important}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.service-card{display:block;text-decoration:none;background:#1b1b1b;border:1px solid #343434;padding:28px;min-height:205px;transition:border-color .2s,transform .2s}.service-card:hover{border-color:#f2c200;transform:translateY(-4px)}.service-card>span,.detail-card>span,.value-mark{color:#f2c200;font-weight:900;letter-spacing:.1em}.service-card h3{font-size:1.2rem;margin:17px 0 10px}.service-card p,.value-grid p{color:#bdbdbd;font-size:.95rem}.center-action{text-align:center;margin-top:32px}.b2b-band{padding:68px 0;background:#1b1b1b;border-top:1px solid #333;border-bottom:1px solid #333}.b2b-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.b2b-inner>div{max-width:760px}.b2b-inner p:not(.eyebrow){color:#ccc;max-width:760px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split p{color:#444;margin-bottom:20px}.feature-image{width:100%;height:360px;object-fit:cover;box-shadow:16px 16px 0 #f2c200}.text-link{display:inline-block;font-weight:800;text-decoration:none;border-bottom:2px solid #f2c200;padding-bottom:6px}.text-link span{color:#987c00}.cta-section{text-align:center;padding:75px 0;background:linear-gradient(120deg,#181818,#242424)}.cta-section .container{max-width:850px}.cta-section p{color:#ccc;margin:0 auto 25px;max-width:700px}.page-hero{min-height:390px;display:flex;align-items:center;background-image:url('images/viabilisation-lotissement-la-ravoire.webp')}.page-hero-company{background-image:url('images/terrassement-maison-saint-martin-bellevue.webp')}.page-hero-services{background-image:url('images/viabilisation-lotissement-la-ravoire.webp')}.page-hero-projects{background-image:url('images/acces-chantier-rumilly.webp')}.page-hero-contact{background-image:url('images/terrassement-maison-saint-martin-bellevue.webp')}.page-hero-content{width:min(1160px,90%);margin:auto;padding:70px 0}.page-hero h1{font-size:clamp(2.3rem,4.7vw,4rem);max-width:900px}.page-hero-content>p:last-child{color:#ddd;font-size:1.1rem;max-width:690px;margin-top:18px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:35px}.value-grid article{padding:26px;border-top:2px solid #f2c200;background:#191919}.value-grid h3{margin:14px 0 8px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}.detail-card{padding:30px;border:1px solid #d4d2ca;background:#fff}.detail-card h3{font-size:1.35rem;margin:12px 0}.detail-card p{color:#4a4a4a}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{background:#fff;box-shadow:0 8px 24px #0000000b;overflow:hidden}.project-card img{width:100%;height:245px;object-fit:cover}.project-copy{padding:25px}.project-location{font-size:.69rem;letter-spacing:.11em;font-weight:900;color:#806900;margin-bottom:10px}.project-copy h2{font-size:1.35rem;line-height:1.2;margin-bottom:13px}.project-copy p:not(.project-location){font-size:.95rem;color:#4b4b4b}.project-tag{display:inline-block;margin-top:18px;padding:6px 9px;background:#f4e8a6;font-size:.72rem;font-weight:800}.small-note{font-size:.82rem;color:#666;margin-top:22px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:start}.contact-layout h2{font-size:2.2rem}.contact-layout p{color:#444}.inline-phone{font-weight:800;color:#111}.contact-layout form{margin-top:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-layout label{display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:800;margin-bottom:16px}.contact-layout input,.contact-layout select,.contact-layout textarea{width:100%;border:1px solid #c8c6bf;background:#fff;padding:13px;font:inherit;border-radius:0;color:#171717}.contact-layout input:focus,.contact-layout select:focus,.contact-layout textarea:focus{outline:2px solid #d2ad00;outline-offset:1px}.contact-layout .consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:500;gap:10px}.contact-layout .consent input{width:auto;margin-top:5px}.form-privacy{font-size:.82rem;margin-bottom:16px}.form-privacy a{text-decoration:underline}.hidden{display:none!important}.contact-panel{background:#151515;color:#fff;padding:30px}.contact-panel h2{font-size:1.8rem;margin-bottom:22px}.contact-panel p{color:#ddd;margin-bottom:18px}.contact-panel a{color:#fff}.contact-panel .eyebrow{color:#f2c200}.map-frame{margin-top:25px;height:220px}.map-frame iframe{width:100%;height:100%;border:0}.legal-content{max-width:900px}.legal-content h1{font-size:2.7rem;margin-bottom:28px}.legal-content h2{font-size:1.35rem;margin:28px 0 10px}.legal-content p{margin:12px 0;color:#333}.legal-warning{padding:16px;background:#fff0c2;border-left:4px solid #b18d00}.thank-you{min-height:55vh}.thank-you h1{font-size:2.8rem;margin-bottom:20px}.site-footer{background:#050505;color:#eee;padding:45px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;padding-bottom:32px}.footer-grid p{color:#aaa;margin-top:12px;font-size:.9rem}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:#f2c200}.footer-brand{display:inline-block}.footer-bottom{text-align:center;border-top:1px solid #262626;padding:18px 10px;color:#999;font-size:.8rem}.footer-bottom a{color:#ccc}.footer-bottom a:hover{color:#f2c200}
@media(max-width:850px){.header-inner{min-height:76px}.brand small{font-size:.5rem}.header-actions{margin-left:auto}.header-actions .button{display:none}.menu-toggle{display:block}.main-nav{display:none;align-items:stretch;flex-direction:column;gap:0;padding:8px 5% 16px}.main-nav.nav-open{display:flex}.main-nav a{padding:12px 0;border-top:1px solid #292929}.hero-home{min-height:620px}.hero-inner{padding:65px 0}.intro-grid,.article-grid,.split,.contact-layout{grid-template-columns:1fr;gap:28px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr 1fr}.value-grid{grid-template-columns:1fr}.b2b-inner{align-items:flex-start;flex-direction:column}.feature-image{height:300px}.contact-panel{margin-top:10px}}
@media(max-width:560px){.header-inner{width:92%;gap:10px}.brand{font-size:1.25rem}.brand small{max-width:185px;line-height:1.4}.phone{font-size:.88rem}.hero-home{min-height:640px}.hero h1{font-size:2.55rem}.hero-lead{font-size:1rem}.hero-stats span{min-width:40%;padding-right:10px;margin-right:10px}.hero-buttons{align-items:stretch;flex-direction:column;max-width:340px}.hero-buttons .button{width:100%}.section{padding:60px 0}.service-grid,.detail-grid,.project-grid,.form-row,.footer-grid{grid-template-columns:1fr}.service-card{min-height:0}.page-hero{min-height:340px}.page-hero-content{padding:55px 0}.project-card img{height:230px}.contact-panel{padding:23px}.legal-content h1{font-size:2.2rem}.footer-grid{gap:22px}}
.page-hero-chapareillan{background-image:url('/images/raccordement-eaux-usees-chapareillan.webp')}

.prose ul{margin:12px 0 12px 22px;color:#333}.prose li{margin:6px 0}.list-dark{margin:22px 0 0 22px;color:#ddd;max-width:760px}.list-dark li{margin:8px 0}.real{margin-top:26px;max-width:760px;color:#ccc}.link-row{display:flex;gap:26px;flex-wrap:wrap;margin-top:28px}.detail-card .text-link{margin-top:10px}.intro{color:#444;max-width:700px}
@media(min-width:851px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
