*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#102033;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 32px));margin:auto}.topbar{background:#0b1f33;color:#fff;font-size:.9rem}.topbar-inner{display:flex;gap:28px;align-items:center;min-height:42px;flex-wrap:wrap}.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);box-shadow:0 4px 20px rgba(0,0,0,.06)}.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem}.logo strong{display:block;color:#ff6a00}.logo-mark{font-size:2.2rem;color:#0b4c8c}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a:hover{color:#ff6a00}.menu-toggle{display:none;border:0;background:none;font-size:1.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;background:#ff6a00;color:white;padding:13px 22px;border-radius:6px;font-weight:700;border:2px solid #ff6a00;transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,106,0,.25)}.btn-small{padding:10px 16px}.btn-outline{background:transparent;border-color:#fff}.hero{min-height:650px;display:flex;align-items:center;position:relative;background:url('images/couvreur-toiture.jpg') center/cover no-repeat;color:white}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,38,.93) 0%,rgba(6,22,38,.72) 48%,rgba(6,22,38,.2) 100%)}.hero-content{position:relative;z-index:1;max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#ff6a00;font-weight:800;font-size:.82rem}.hero h1{font-size:clamp(3rem,7vw,5.6rem);line-height:.96;margin:14px 0 22px}.hero p{font-size:1.1rem;max-width:570px}.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.section{padding:90px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 46px}.section h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12;margin:10px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 12px 35px rgba(15,35,55,.12);transition:.25s}.card:hover{transform:translateY(-7px)}.card img{width:100%;height:235px;object-fit:cover}.card-body{padding:24px}.card h3{font-size:1.4rem;margin:0 0 8px}.card-body a{color:#ff6a00;font-weight:800}.section-dark{background:#0b1f33;color:white}.about-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:center}.features{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.features div{padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:10px}.features strong,.features span{display:block}.features span{opacity:.75;font-size:.92rem}.about-card{background:white;color:#102033;padding:36px;border-radius:16px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:stretch}.contact-box{background:#f4f7fa;padding:40px;border-radius:16px}.contact-box a:not(.btn){color:#ff6a00}.map-wrap{min-height:430px;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.12)}.map-wrap iframe{width:100%;height:100%;border:0}footer{background:#071522;color:white;padding:24px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:850px){.topbar-inner{gap:10px;padding:8px 0;justify-content:center}.menu-toggle{display:block}.nav-links{position:absolute;top:78px;left:0;right:0;background:white;display:none;flex-direction:column;align-items:flex-start;padding:24px 5%;box-shadow:0 12px 25px rgba(0,0,0,.1)}.nav-links.open{display:flex}.hero{min-height:560px}.cards,.about-grid,.contact-grid{grid-template-columns:1fr}.map-wrap{min-height:360px}}@media(max-width:560px){.container{width:min(100% - 22px,1120px)}.topbar{font-size:.78rem}.topbar-inner{flex-direction:column;padding:10px 0}.navbar .logo{font-size:1rem}.hero{min-height:620px;background-position:65% center}.hero-overlay{background:rgba(6,22,38,.78)}.hero h1{font-size:3rem}.section{padding:65px 0}.cards{gap:18px}.features{grid-template-columns:1fr}.contact-box{padding:28px 22px}.footer-inner{justify-content:center;text-align:center}}