*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f2ed;color:#151515}a{text-decoration:none;color:inherit}.topbar{height:90px;background:#070707;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:sticky;top:0;z-index:20;border-bottom:1px solid #2b2b2b}.brand img{width:150px;height:76px;object-fit:cover;object-position:center 66%}.topbar nav{display:flex;align-items:center;gap:30px;color:#eee;font-size:14px}.nav-cta{border:1px solid #d9aa67;padding:12px 18px;color:#e5bd82}.hero{min-height:calc(100vh - 90px);position:relative;background:url('assets/terrasse_pergola.jpeg') center/cover no-repeat;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.36),rgba(0,0,0,.05))}.hero-content{position:relative;z-index:2;color:white;width:min(820px,88vw);margin-left:7vw}.eyebrow{font-size:12px;letter-spacing:.28em;color:#e0b477;font-weight:bold}.eyebrow.dark{color:#a8793e}.hero h1,.intro h2,.section-head h2,.contact h2{font-size:clamp(42px,6vw,78px);line-height:.98;margin:18px 0 25px;letter-spacing:-.04em}.hero h1 span{color:#e0b477}.lead{font-size:19px;line-height:1.6;max-width:670px;color:#eee}.actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-block;padding:16px 24px;border:0;font-weight:bold;cursor:pointer}.gold{background:#d8a760;color:#111}.ghost{border:1px solid rgba(255,255,255,.7);color:#fff}.intro{padding:110px 8vw;max-width:1200px}.intro p:last-child{max-width:760px;font-size:20px;line-height:1.7;color:#555}.services{padding:100px 7vw;background:#fff}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:60px}.section-head h2{font-size:clamp(38px,5vw,66px);margin-bottom:0}.section-head>p{font-size:18px;line-height:1.6;color:#666}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;border-left:1px solid #ddd}.service-grid article{padding:40px 32px;min-height:245px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.service-grid span{color:#b6884f;font-size:12px}.service-grid h3{font-size:23px;margin:45px 0 14px}.service-grid p{color:#666;line-height:1.6}.realisations{padding:100px 7vw;background:#0b0b0b;color:white}.section-head.light>p{color:#aaa}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:370px;gap:12px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#222}.gallery figure.wide{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.03)}figcaption{position:absolute;left:20px;bottom:18px;background:rgba(0,0,0,.68);padding:10px 14px;font-size:13px;letter-spacing:.08em}.promise{display:grid;grid-template-columns:repeat(4,1fr);background:#d8a760;padding:42px 7vw;gap:25px}.promise div{display:flex;gap:15px;align-items:center}.promise strong{font-size:12px}.promise span{font-weight:bold}.contact{padding:110px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact>div>p:not(.eyebrow):not(.zone){font-size:18px;line-height:1.7;color:#555}.zone{font-weight:bold;margin-top:32px}.contact form{background:#fff;padding:36px;box-shadow:0 15px 45px rgba(0,0,0,.08)}label{display:block;font-size:12px;font-weight:bold;margin-bottom:18px}input,textarea{width:100%;margin-top:8px;padding:14px;border:1px solid #ddd;font:inherit;background:#fafafa}footer{background:#050505;color:#aaa;text-align:center;padding:50px 20px}footer img{width:180px;height:130px;object-fit:cover;object-position:center 64%}footer p{font-size:12px;letter-spacing:.12em}@media(max-width:850px){.topbar{height:74px;padding:0 4vw}.brand img{width:120px;height:62px}.topbar nav a:not(.nav-cta){display:none}.hero{min-height:78vh}.hero-content{margin-left:6vw}.lead{font-size:17px}.actions{flex-direction:column;align-items:flex-start}.intro,.services,.realisations,.contact{padding:72px 6vw}.section-head,.contact{grid-template-columns:1fr;gap:25px}.service-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:320px}.gallery figure.wide{grid-column:span 1}.promise{grid-template-columns:1fr 1fr}.hero h1,.intro h2,.section-head h2,.contact h2{font-size:42px}}