/* Pages de services D&F Terra-Vert — même charte que l'accueil, sans les effets lourds */
:root{
  --calque:#E9ECE6;--calque-2:#DDE2DA;--ink:#1C0F0A;--terre:#45190F;--vert:#3D7A44;--vert-d:#2F6236;--vert-l:#8CC293;
  --muted:#5B4B43;--line:rgba(69,25,15,.16);--line-2:rgba(69,25,15,.34);--deblai:#1C0F0A;--on-dark:#ECEFE8;--on-dark-muted:#B8AEA7;--line-dark:rgba(236,239,232,.16);
  --f-sans:'Archivo',system-ui,sans-serif;--f-mono:'Martian Mono',ui-monospace,monospace;--pad:clamp(20px,4vw,56px);--ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--calque);color:var(--ink);font-family:var(--f-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
::selection{background:var(--vert);color:#fff}
:focus-visible{outline:2px solid var(--vert);outline-offset:3px}
.mono{font-family:var(--f-mono);font-size:12px}
svg.i{width:18px;height:18px;flex:none}

.btn{display:inline-flex;align-items:center;gap:.7em;height:52px;padding:0 22px;border:1px solid transparent;font-weight:600;font-size:16px;text-decoration:none;transition:background .3s,border-color .3s}
.btn-primary{background:var(--vert);color:#fff}.btn-primary:hover{background:var(--vert-d)}
.btn-light{border-color:rgba(243,241,236,.6);color:#F3F1EC}.btn-light:hover{border-color:#F3F1EC;background:rgba(243,241,236,.1)}
.btn-ghost{border-color:var(--line-2)}.btn-ghost:hover{border-color:var(--terre)}

/* En-tête */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;padding-inline:var(--pad);background:var(--calque);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg{width:40px;height:22px}
.brand b{font-stretch:125%;font-weight:800;font-size:15px;white-space:nowrap}
.nav-cta{display:flex;align-items:center;gap:8px}
.nav .btn{height:42px;padding:0 16px;font-size:15px}

/* Bandeau */
.p-hero{position:relative;color:var(--on-dark);background:var(--deblai);overflow:hidden}
.p-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.p-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,15,10,.85) 0%,rgba(28,15,10,.35) 100%)}
.p-hero-in{position:relative;z-index:1;padding:clamp(56px,10vh,110px) var(--pad) clamp(56px,9vh,96px);max-width:900px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 22px;padding:0;color:#D9D1C9}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.p-hero h1{font-stretch:125%;font-weight:800;letter-spacing:-.035em;line-height:.98;font-size:clamp(2.2rem,5.4vw,4.4rem);margin:0 0 22px;text-wrap:balance}
.p-hero p{font-size:clamp(1.05rem,1.4vw,1.25rem);color:#E4DDD5;max-width:56ch;margin:0 0 30px}
.p-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Contenu */
.p-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,4fr);gap:clamp(32px,5vw,80px);padding:clamp(56px,9vh,110px) var(--pad);align-items:start}
.p-body article>*:first-child{margin-top:0}
.p-body h2{font-stretch:118%;font-weight:800;letter-spacing:-.03em;line-height:1.05;font-size:clamp(1.6rem,2.6vw,2.3rem);margin:56px 0 16px}
.p-body h3{font-stretch:110%;font-weight:700;font-size:1.2rem;margin:28px 0 8px}
.p-body p{color:var(--muted);max-width:66ch;margin:0 0 16px}
.p-body p strong{color:var(--ink)}
.ticks{list-style:none;margin:8px 0 24px;padding:0;border-top:1px solid var(--line)}
.ticks li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-weight:500}
.ticks li::before{content:"";width:8px;height:8px;margin-top:9px;background:var(--vert);transform:rotate(45deg);flex:none}
.p-photo{margin:32px 0;aspect-ratio:16/9;overflow:hidden;background:var(--calque-2)}
.p-photo img{width:100%;height:100%;object-fit:cover}

/* Encadré contact */
.p-aside{position:sticky;top:96px;background:var(--deblai);color:var(--on-dark);padding:clamp(24px,2.6vw,36px)}
.p-aside h2{margin:0 0 10px;font-size:1.6rem;color:var(--on-dark)}
.p-aside p{color:var(--on-dark-muted);margin:0 0 20px}
.p-aside .tel{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line-dark);font-stretch:115%;font-weight:700;font-size:1.35rem;text-decoration:none}
.p-aside .tel:hover{color:var(--vert-l)}
.p-aside .tel svg{color:var(--vert-l)}
.p-aside .btn{width:100%;justify-content:center;margin-top:18px}
.p-aside .mail{display:block;margin-top:14px;color:var(--on-dark-muted);font-size:15px}

/* FAQ */
.p-faq{border-top:1px solid var(--terre);margin-top:8px}
.p-faq details{border-bottom:1px solid var(--line-2)}
.p-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-weight:700;font-size:1.08rem}
.p-faq summary::-webkit-details-marker{display:none}
.p-faq summary::after{content:"";width:11px;height:11px;flex:none;border-right:1.5px solid var(--terre);border-bottom:1.5px solid var(--terre);transform:rotate(45deg) translate(-3px,-3px);transition:transform .4s var(--ease)}
.p-faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.p-faq details p{margin:0 0 20px}

/* Autres services */
.p-related{padding:0 var(--pad) clamp(64px,10vh,120px)}
.p-related h2{font-stretch:118%;font-weight:800;letter-spacing:-.03em;font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 18px}
.p-related nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--terre)}
.p-related a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 18px 20px 0;border-bottom:1px solid var(--line-2);font-weight:600;text-decoration:none}
.p-related a+a{padding-left:18px;border-left:1px solid var(--line)}
.p-related a svg{color:var(--vert)}
.p-related a:hover{color:var(--vert-d)}

/* Pied de page */
.foot{background:var(--deblai);color:var(--on-dark);padding:48px var(--pad) 110px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.foot p{color:var(--on-dark-muted);margin:12px 0 0;max-width:40ch}
.foot h3{margin:0 0 12px;font-size:13px;color:var(--on-dark-muted);font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{text-decoration:none}.foot a:hover{color:var(--vert-l)}
.foot .legal{grid-column:1/-1;padding-top:24px;border-top:1px solid var(--line-dark);color:var(--on-dark-muted);font-size:13px}

.mbar{display:none}

@media (max-width:860px){
  .nav{height:64px}
  .nav .btn{display:none}
  .mono,.crumbs{font-size:13px}
  body{font-size:16px}
  .p-body p{font-size:16px;line-height:1.65}
  .p-body{grid-template-columns:1fr}
  .p-aside{position:static}
  .p-related nav{grid-template-columns:1fr}
  .p-related a+a{padding-left:0;border-left:0}
  .foot{grid-template-columns:1fr}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:45;height:64px;background:var(--calque);border-top:1px solid var(--terre)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;text-decoration:none}
  .mbar a:last-child{background:var(--vert);color:#fff}
}
