:root{
  --ink:#222222; --ink-soft:#5a5550; --paper:#fbf9f6; --paper-alt:#f3ece5;
  --wood:#7a4a25; --wood-dark:#5c361a; --copper:#c08552; --metal:#3d4246; --line:#e4dbd1;
  --radius:10px; --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5em}
h2{font-size:clamp(1.6rem,3vw,2.1rem)}
h3{font-size:1.15rem}
a{color:var(--wood-dark)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.btn{display:inline-block;background:var(--wood);color:#fff;text-decoration:none;padding:.85em 1.4em;border-radius:var(--radius);font-weight:600;border:2px solid var(--wood);cursor:pointer;font-size:1rem;transition:background .2s}
.btn:hover{background:var(--wood-dark);border-color:var(--wood-dark)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-small{padding:.45em 1em;font-size:.9rem;color:#fff!important}
.todo{display:inline-block;background:#fff3c4;color:#7a5b00;border:1px dashed #d4a800;border-radius:4px;padding:0 .4em;font-size:.85em}
.muted{color:var(--ink-soft)} .small{font-size:.85rem}

/* Header */
.topbar{position:sticky;top:0;z-index:10;background:rgba(250,247,242,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{width:40px;height:40px;border-radius:8px;background:var(--ink);color:var(--copper);display:grid;place-items:center;font-family:Georgia,serif;font-weight:700}
.brand-text{font-family:Georgia,serif;font-weight:700;line-height:1.1}
.brand-text small{display:block;font-family:system-ui,sans-serif;font-weight:500;font-size:.75rem;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:22px}
.nav a{text-decoration:none;color:var(--ink);font-weight:500}

/* Hero */
.hero{color:#fff;background:
  linear-gradient(135deg,rgba(35,30,26,.92),rgba(60,50,40,.82)),
  repeating-linear-gradient(90deg,#6b4a2b 0 18px,#7a5533 18px 22px,#5e4126 22px 46px);
  padding:110px 0 120px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#e7c39a;margin:0 0 1em;font-weight:600}
.hero h1{font-size:clamp(1.8rem,4.2vw,2.9rem);max-width:820px}
.lead{font-size:1.15rem;max-width:640px;color:#efe6da}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* Sections */
.section{padding:80px 0}
.section-alt{background:var(--paper-alt)}
.section-intro{color:var(--ink-soft);margin:-.2em 0 2em}
.grid{display:grid;gap:20px}
.services{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;border-top:4px solid var(--wood)}
.card:nth-child(n+5){border-top-color:var(--metal)}
.card p{margin:0;color:var(--ink-soft)}
.icon{font-size:1.8rem;margin-bottom:.4em}

/* Gallery placeholders */
.gallery{grid-template-columns:repeat(3,1fr)}
.gallery figure{margin:0}
.gallery img,.ph{width:100%;aspect-ratio:4/3;border-radius:var(--radius);object-fit:cover;display:block}
.ph{display:grid;place-items:center;border:2px dashed rgba(255,255,255,.55);outline:1px solid var(--line)}
.ph span{background:rgba(0,0,0,.45);color:#fff;padding:.3em .8em;border-radius:20px;font-size:.85rem}
.ph-wood{background:repeating-linear-gradient(90deg,#c49463 0 14px,#b8875a 14px 17px,#cfa06f 17px 40px)}
.ph-oak{background:repeating-linear-gradient(0deg,#a8774a 0 22px,#9a6b40 22px 25px,#b58556 25px 52px)}
.ph-larch{background:repeating-linear-gradient(90deg,#d2a876 0 26px,#c39765 26px 29px,#dbb383 29px 48px)}
.ph-metal{background:linear-gradient(135deg,#6f787e,#4a5258 60%,#3b4247)}
.ph-iron{background:repeating-linear-gradient(90deg,#3d4246 0 6px,#5b6268 6px 40px)}
.ph-steel{background:linear-gradient(160deg,#8d969c,#5f676d)}
figcaption{font-size:.9rem;color:var(--ink-soft);margin-top:.5em}

/* Why */
.why{grid-template-columns:repeat(3,1fr)}
.why-item{padding-left:18px;border-left:3px solid var(--wood)}
.why-item p{margin:0;color:var(--ink-soft)}

/* Zone */
.places{list-style:none;padding:0;margin:1.2em 0;display:flex;flex-wrap:wrap;gap:8px}
.places li{background:#fff;border:1px solid var(--line);border-radius:20px;padding:.25em .9em;font-size:.95rem}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.coords{list-style:none;padding:0;margin:1.5em 0}
.coords li{padding:.7em 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.coords strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:grid;gap:14px}
.form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:.65em .8em;border:1px solid #cfc4b5;border-radius:8px;background:#fffdf9;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--wood);border-color:var(--wood)}
.form .btn{justify-self:start}

/* Footer */
.footer{background:var(--ink);color:#d8cfc3;padding:40px 0;font-size:.95rem}
.footer a{color:#e7c39a}
.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-small{text-align:right;font-size:.85rem}

.fab{display:none}

@media (max-width:860px){
  .services,.gallery,.why{grid-template-columns:repeat(2,1fr)}
  .contact{grid-template-columns:1fr;gap:28px}
}
@media (max-width:600px){
  body{font-size:16px}
  .nav a:not(.btn){display:none}
  .hero{padding:70px 0 80px}
  .hero-actions .btn{flex:1 1 100%;text-align:center}
  .section{padding:56px 0}
  .services,.gallery,.why{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;gap:12px}
  .ph span{font-size:.72rem}
  .footer-small{text-align:left}
  .fab{display:block;position:fixed;right:16px;bottom:16px;background:var(--wood);color:#fff;text-decoration:none;font-weight:700;padding:.8em 1.3em;border-radius:30px;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:20}
}

/* Logo & ajouts */
.brand-logo{height:52px;width:auto;display:block}
.nav-tel{font-weight:700!important;color:var(--wood)!important;white-space:nowrap}
.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.hero-text{flex:1 1 auto}
.hero-logo{flex:0 0 auto;width:340px;height:auto;opacity:.95}
.eyebrow{color:var(--copper)!important}
.hero{background:
  linear-gradient(135deg,rgba(20,20,20,.93),rgba(34,30,27,.86)),
  repeating-linear-gradient(90deg,#5c361a 0 18px,#6b4224 18px 22px,#4f2e16 22px 46px)!important}
.highlight{background:#fff;border:1px solid var(--line);border-left:5px solid var(--ink);border-radius:var(--radius);padding:22px 26px;margin:0 0 28px}
.highlight-tag{margin:0 0 .3em;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--wood);font-weight:700}
.highlight p:last-child{margin:0;color:var(--ink-soft)}
.contact-info .btn{margin-bottom:.5em}
.footer-id{display:flex;align-items:center;gap:18px}
.footer-logo{width:110px;height:auto}
.mentions{flex-basis:100%;border-top:1px solid #3a3a3a;padding-top:16px;font-size:.8rem;color:#a9a29a}
.footer{background:#1b1b1b}
.footer a{color:var(--copper)}
@media (max-width:860px){ .hero-logo{width:240px} .nav-tel{display:none} }
@media (max-width:600px){
  .hero-inner{flex-direction:column-reverse;align-items:flex-start;gap:24px}
  .hero-logo{width:200px}
  .brand-logo{height:44px}
  .brand-text small{font-size:.62rem}
  .footer-id{flex-direction:column;align-items:flex-start}
  .fab{font-size:1.05rem;padding:.9em 1.4em}
}
@media (max-width:600px){ .br-desk{display:none} .fab{opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .2s,transform .2s} .fab.show{opacity:1;pointer-events:auto;transform:none} }
