@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap');

:root {
  --dark: #352b2b;
  --dark-2: #4a3935;
  --copper: #d97745;
  --sand: #f1e6d8;
  --ivory: #fffaf4;
  --white: #ffffff;
  --text: #332f2d;
  --muted: #746b66;
  --line: #dfd3c8;
  --shadow: 0 20px 60px rgba(63,45,40,.16);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", Arial, sans-serif; color: var(--text); background: var(--ivory); line-height: 1.65; }
a { color: inherit; }
button,input,textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 100px 0; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed;top:-60px;left:20px;z-index:9999;background:var(--copper);color:white;padding:10px 16px; }
.skip-link:focus { top:20px; }

.site-header { position:fixed;inset:0 0 auto;z-index:1000;background:rgba(53,43,43,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1); }
.site-header::after { content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--copper); }
.nav { min-height:78px;display:flex;align-items:center;justify-content:space-between; }
.brand { display:flex;align-items:center;gap:12px;text-decoration:none;color:white; }
.brand-icon { width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--copper);font-family:"Oswald";font-size:24px; }
.brand strong,.brand small { display:block;line-height:1.2; }
.brand strong { font-size:15px; }
.brand small { opacity:.72;font-size:11px;margin-top:3px; }
.menu { display:flex;align-items:center;gap:24px; }
.menu a { color:rgba(255,255,255,.86);text-decoration:none;font-weight:700;font-size:13px;transition:.2s; }
.menu a:hover { color:#f1b090; }
.menu .nav-cta { background:var(--copper);color:white;padding:11px 16px;border-radius:5px; }
.menu-toggle { display:none;background:none;border:0;padding:8px; }
.menu-toggle span:not(.sr-only) { display:block;width:26px;height:2px;background:white;margin:5px; }

.hero { min-height:760px;height:92vh;max-height:920px;position:relative;display:flex;align-items:center;color:white;overflow:hidden; }
.slides,.slide { position:absolute;inset:0; }
.slide { opacity:0;background-size:cover;background-position:center;transform:scale(1.04);transition:opacity 1s ease,transform 7s ease; }
.slide.active { opacity:1;transform:scale(1); }
.hero-content { position:relative;z-index:2;padding-top:78px; }
.eyebrow,.section-kicker { margin:0 0 16px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--copper); }
.hero h1,h2 { font-family:"Oswald",Arial,sans-serif;line-height:1.05;margin:0;text-transform:uppercase;letter-spacing:.01em; }
.hero h1 { max-width:850px;font-size:clamp(48px,7vw,84px); }
.hero-text { max-width:690px;font-size:19px;color:rgba(255,255,255,.84);margin:28px 0 34px; }
.hero-actions { display:flex;flex-wrap:wrap;gap:14px; }
.btn { display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:5px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.2s; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--copper);color:white;box-shadow:0 12px 30px rgba(217,119,69,.3); }
.btn-secondary { color:white;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.07); }
.hero-badges { display:flex;flex-wrap:wrap;gap:26px;margin-top:42px;color:rgba(255,255,255,.82);font-size:13px; }
.hero-badges span::before { content:"◆";color:var(--copper);margin-right:8px;font-size:9px; }
.slider-dots { position:absolute;z-index:4;left:50%;bottom:30px;transform:translateX(-50%);display:flex;gap:9px; }
.dot { width:36px;height:4px;padding:0;border:0;background:rgba(255,255,255,.35);cursor:pointer; }
.dot.active { background:var(--copper); }

h2 { color:var(--dark);font-size:clamp(38px,5vw,58px); }
.intro { background:var(--sand); }
.intro-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.intro p { margin-top:0;color:var(--muted); }

.services { background:var(--ivory); }
.services .container>h2 { max-width:760px;margin-bottom:45px; }
.cards { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.card { position:relative;min-height:260px;padding:36px 30px;border:1px solid var(--line);border-radius:6px;background:white;transition:.25s; }
.card:hover { transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent; }
.card-number { color:var(--copper);font-family:"Oswald";font-size:15px;font-weight:700; }
.card h3 { color:var(--dark);margin:42px 0 12px;font-family:"Oswald";font-size:23px;text-transform:uppercase; }
.card p { color:var(--muted);margin:0;font-size:14px; }

.why { background:#fff;padding-top:40px; }
.why-grid { display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;box-shadow:var(--shadow); }
.why-image { min-height:520px;background:linear-gradient(rgba(53,43,43,.05),rgba(53,43,43,.15)),url('artisan-zingueur-anderlecht.jpg') center/cover; }
.why-content { background:var(--dark);color:white;padding:70px;display:flex;flex-direction:column;justify-content:center; }
.why-content h2 { color:white; }
.check-list { list-style:none;padding:0;margin:32px 0; }
.check-list li { padding:12px 0 12px 32px;border-bottom:1px solid rgba(255,255,255,.1);position:relative; }
.check-list li::before { content:"✓";position:absolute;left:0;color:var(--copper);font-weight:800; }
.text-link { color:#f1b090;text-decoration:none;font-weight:800; }

.map-section { background:var(--sand); }
.map-heading { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:36px; }
.map-heading p { color:var(--muted);margin:0; }
.map-frame { overflow:hidden;border-radius:8px;box-shadow:var(--shadow);border:8px solid white;line-height:0; }

.contact { background:var(--dark-2);color:white; }
.contact-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start; }
.contact h2 { color:white; }
.contact p { color:rgba(255,255,255,.72); }
.contact-items { margin-top:40px;display:grid;gap:16px; }
.contact-items a,.contact-items>div { display:block;text-decoration:none;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.13); }
.contact-items span,.contact-items strong { display:block; }
.contact-items span { color:rgba(255,255,255,.55);font-size:12px;text-transform:uppercase;letter-spacing:.1em; }
.contact-items strong { margin-top:5px;overflow-wrap:anywhere; }
.contact-form { background:white;color:var(--text);padding:38px;border-radius:8px;box-shadow:var(--shadow); }
.field-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
label { display:block;font-size:13px;font-weight:800;margin-bottom:16px;color:var(--dark); }
input,textarea { width:100%;margin-top:7px;border:1px solid #d9ccc2;border-radius:5px;padding:13px 14px;outline:none;background:#fffaf6;color:var(--text); }
input:focus,textarea:focus { border-color:var(--copper);box-shadow:0 0 0 3px rgba(217,119,69,.16); }
textarea { resize:vertical; }
.form-btn { width:100%;border:0; }
.form-note { margin:12px 0 0!important;color:var(--muted)!important;font-size:11px;text-align:center; }

footer { background:#261f1f;color:rgba(255,255,255,.64);padding:24px 0;font-size:13px; }
.footer-content { display:flex;justify-content:space-between;gap:20px;align-items:center; }
footer a { color:white;text-decoration:none; }
.floating-call { position:fixed;right:22px;bottom:22px;z-index:900;width:58px;height:58px;display:grid;place-items:center;border-radius:8px;background:var(--copper);color:white;font-size:25px;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.25); }

@media(max-width:980px){
  .menu-toggle{display:block}
  .menu{display:none;position:absolute;top:78px;left:0;right:0;background:var(--dark);padding:24px 20px 30px;flex-direction:column;align-items:stretch;gap:6px}
  .menu.open{display:flex}.menu a{padding:12px}.menu .nav-cta{text-align:center}
  .intro-grid,.why-grid,.contact-grid,.map-heading{grid-template-columns:1fr;gap:40px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .why-content{padding:50px 35px}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:75px 0}
  .hero{min-height:720px;height:100svh}
  .hero h1{font-size:clamp(41px,13vw,60px)}
  .hero-text{font-size:16px}
  .hero-actions .btn{width:100%}
  .hero-badges{gap:10px;flex-direction:column;margin-top:28px}
  .cards,.field-row{grid-template-columns:1fr}
  .contact-form{padding:25px 20px}
  .footer-content{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
