@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Roboto:wght@400;500&display=swap');
:root{--blue:#174a8a;--blue2:#276ec3;--navy:#071d3b;--ink:#172536;--soft:#f5f7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Roboto,Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}
.topbar{height:38px;background:var(--navy);color:#dce7f7;padding:0 max(4%,32px);display:flex;align-items:center;justify-content:space-between;font-size:13px}
header{height:92px;padding:0 max(4%,32px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 15px #0b285012}
.brand{display:flex;align-items:center;gap:10px;min-width:220px}.logo{width:48px;height:48px;border:3px solid var(--blue);border-radius:3px;display:grid;place-items:center;font:bold 21px Montserrat;color:var(--blue);position:relative}.brand b{display:block;font:700 22px Montserrat;letter-spacing:.3px}.brand strong{display:block;font:700 12px Montserrat;letter-spacing:4px;color:var(--blue)}.brand small{display:block;font:700 7px Montserrat;letter-spacing:1px;margin-top:4px}
nav{display:flex;align-items:center;gap:28px;font:600 11px Montserrat;text-transform:uppercase}nav>a:not(.devis):hover{color:var(--blue2)}.devis,.btn{padding:15px 22px;border-radius:3px;text-transform:uppercase;font:700 11px Montserrat;letter-spacing:.3px}.devis,.dark{background:var(--navy);color:white}.menu-btn{display:none;border:0;background:none;font-size:28px}
.hero{height:540px;background:url('https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=2200&q=90') center/cover;position:relative;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,32,.94),rgba(4,17,32,.58),rgba(4,17,32,.05))}.hero-content{position:relative;color:white;max-width:720px;padding:60px max(8%,70px)}.eyebrow{font:700 11px Montserrat;letter-spacing:1px;color:#78b4ff;margin:0 0 14px}.eyebrow.blue{color:var(--blue)}h1,h2,h3,h4{font-family:Montserrat;margin-top:0}h1{font-size:46px;line-height:1.13;margin-bottom:18px}h1 span{color:#5b9bf1}.hero-content>p:not(.eyebrow){max-width:500px;line-height:1.6;font-size:16px;color:#edf3fa}.hero-actions{display:flex;gap:16px;margin-top:28px}.primary{background:#2472c8;color:white}.ghost{color:white;border:1px solid #ffffff66}.trust{position:relative;margin:-45px auto 0;width:min(90%,1180px);display:grid;grid-template-columns:repeat(4,1fr);background:white;border-radius:15px;box-shadow:0 18px 40px #10223a1c;z-index:3}.trust article{padding:28px 25px;border-right:1px solid #e8edf5}.trust article:last-child{border:0}.icon{color:var(--blue);font-size:30px;float:left;margin-right:15px}.trust h3{font-size:12px;text-transform:uppercase;margin:6px 0 14px}.trust p{clear:both;font-size:13px;line-height:1.55;color:#526171}
.section{padding:76px max(6%,70px);max-width:1400px;margin:auto}h2{font-size:30px;line-height:1.25;margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card{background:white;border:1px solid #e7edf4;border-radius:10px;overflow:hidden;box-shadow:0 8px 25px #10223a0d}.card img{width:100%;height:170px;object-fit:cover;display:block}.card-body{padding:18px}.round{width:43px;height:43px;margin-top:-40px;position:relative;background:var(--navy);border-radius:50%;display:grid;place-items:center;color:white;font-size:21px}.card h3{font-size:15px;line-height:1.4;margin:14px 0}.card p{font-size:13px;line-height:1.6;color:#526171;min-height:82px}.card a{font:700 10px Montserrat;text-transform:uppercase;color:var(--navy)}
.why{display:grid;grid-template-columns:1.05fr 1.8fr;gap:60px;align-items:center;background:var(--soft);max-width:none;padding-left:max(6%,70px);padding-right:max(6%,70px)}.why>div>p:not(.eyebrow){line-height:1.7;color:#526171}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stats>div{text-align:center;border-left:1px solid #d6deea;padding:22px 10px}.stats b{display:block;font:800 30px Montserrat;color:var(--blue)}.stats span{font:700 11px Montserrat;line-height:1.5;color:#30455f;margin-top:10px;display:block}
.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.gallery-grid img{width:100%;height:300px;object-fit:cover;border-radius:8px}.cta{padding:52px max(8%,70px);background:linear-gradient(90deg,#071d3bf2,#0c3a72e8),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=85') center/cover;color:white;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{margin-bottom:10px}.cta p:not(.eyebrow){color:#d7e2ef;line-height:1.6}.outline{border:1px solid white;color:white;white-space:nowrap}
footer{background:#061526;color:#d8e1eb;padding:50px max(6%,70px) 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr 1.5fr;gap:40px}.footer-grid h4{font-size:12px;text-transform:uppercase;color:white}.footer-grid>div>a:not(.brand),.footer-grid span{display:block;margin:11px 0;font-size:13px;color:#aebccc}.footer-grid p{font-size:13px;line-height:1.6;color:#aebccc}.copyright{border-top:1px solid #ffffff1a;margin-top:32px;padding-top:18px;font-size:11px;color:#8797a8}
@media(max-width:1000px){nav{gap:12px}.cards{grid-template-columns:repeat(2,1fr)}.trust{grid-template-columns:repeat(2,1fr)}.why{grid-template-columns:1fr}.stats{margin-top:10px}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{height:auto;padding:9px 18px}.top-contact{display:none}header{height:76px;padding:0 18px}.brand{min-width:auto}.brand b{font-size:17px}.menu-btn{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:18px;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:stretch}nav.open{display:flex}.devis{text-align:center}.hero{height:600px}.hero-content{padding:30px 25px}h1{font-size:36px}.hero-actions{flex-direction:column;align-items:flex-start}.trust{margin:-20px auto 0;width:94%}.trust article{padding:20px}.section{padding:58px 24px}.cards{grid-template-columns:1fr}.why{padding:58px 24px}.stats{grid-template-columns:repeat(2,1fr)}.stats>div{margin-top:15px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:220px}.cta{padding:45px 24px;display:block}.cta .outline{display:inline-block;margin-top:15px}.footer-grid{grid-template-columns:1fr}.logo{width:42px;height:42px}}
