:root {

    --hero-photo: url("/wp-content/uploads/des/hero-accueil.webp");
    --paper:      #F6F2E9;
    --paper-2:    #EFE8D9;
    --card:       #FCFAF3;
    --ink:        #1B2A23;
    --ink-soft:   #51615A;
    --line:       rgba(27,42,35,0.14);
    --brass:      #A9772F;
    --brass-2:    #C0913F;
    --rose:       #AB3F63;
    --forest:     #163127;

    
    --h-bg-1:  #10261C;
    --h-bg-2:  #1B3B2B;
    --h-ivory: #F2ECDD;
    --h-soft:  #A9BDAF;
    --h-brass: #D9B36A;
    --h-line:  rgba(217,179,106,0.28);

    --maxw: 1180px;
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
    --sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
    --serif: "Fraunces", Georgia, "Times New Roman", serif;
    --mono: "Spline Sans Mono", ui-monospace, "SFMono-Regular", monospace;
  }
* { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 500; line-height: 1.08; margin: 0; text-wrap: balance; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: 24px; }
.btn {
    position: relative;
    display: inline-flex; align-items: center; gap: 10px;
    padding: 15px 26px;
    font-family: var(--sans); font-weight: 600; font-size: 15px;
    letter-spacing: .01em;
    border-radius: 999px;
    cursor: pointer; border: 1px solid transparent;
    overflow: hidden; isolation: isolate;
    transition: transform .5s var(--ease), box-shadow .5s var(--ease), color .45s var(--ease);
  }
.btn .arrow { transition: transform .5s var(--ease); }
.btn:hover .arrow { transform: translateX(5px); }
.btn::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    transform: translateY(101%);
    transition: transform .5s var(--ease);
  }
.btn:hover::before { transform: translateY(0); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-primary {
    background: linear-gradient(120deg, var(--brass) 0%, var(--brass-2) 100%);
    color: #1a1305;
    box-shadow: 0 8px 24px -12px rgba(169,119,47,.7);
  }
.btn-primary::before { background: var(--forest); }
.btn-primary:hover { color: var(--h-ivory); box-shadow: 0 16px 34px -14px rgba(0,0,0,.5); }
.btn-ghost {
    background: transparent; color: var(--ink);
    border-color: var(--line);
  }
.btn-ghost::before { background: var(--ink); }
.btn-ghost:hover { color: var(--paper); border-color: var(--ink); }
.btn:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
header {
    position: sticky; top: 0; z-index: 50;
    background: color-mix(in srgb, var(--h-bg-1) 82%, transparent);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--h-line);
  }
.nav { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--h-ivory); }
.brand .mark {
    font-family: var(--serif); font-weight: 600; font-size: 24px;
    letter-spacing: .02em;
    display: inline-flex; align-items: baseline;
  }
.brand .mark .par { color: var(--h-brass); }
.brand .tag {
    font-family: var(--mono); font-size: 10px; letter-spacing: .18em;
    text-transform: uppercase; color: var(--h-soft); line-height: 1.3;
    border-left: 1px solid var(--h-line); padding-left: 12px;
  }
.nav-links { display: flex; align-items: center; gap: 30px; }
.nav-links a {
    color: var(--h-soft); font-size: 14.5px; font-weight: 500;
    position: relative; transition: color .3s var(--ease);
  }
.nav-links a::after {
    content: ""; position: absolute; left: 0; bottom: -6px; height: 1px; width: 0;
    background: var(--h-brass); transition: width .35s var(--ease);
  }
.nav-links a:hover { color: var(--h-ivory); }
.nav-links a:hover::after { width: 100%; }
.nav .btn { padding: 11px 20px; }
footer { background: var(--forest); color: var(--h-soft); border-top: 1px solid var(--h-line); }
.foot { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; padding-block: 60px 30px; }
.foot .brand .mark { color: var(--h-ivory); }
.foot p { font-size: .92rem; margin-top: 16px; max-width: 34ch; }
.foot h4 { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--h-brass); margin: 0 0 16px; font-weight: 500; }
.foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.foot ul a { font-size: .93rem; transition: color .3s var(--ease); }
.foot ul a:hover { color: var(--h-ivory); }
.foot-bar { border-top: 1px solid var(--h-line); padding-block: 22px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: var(--h-soft); }
@media (max-width: 940px){.foot{grid-template-columns: 1fr 1fr;}.nav-links{display: none;}}
@media (max-width: 520px){.foot{grid-template-columns: 1fr;}.brand .tag{display: none;}}
/* ---- Blog D(é)S ---- */
body.des-blog{background:var(--paper);}
.blog-main{padding:56px 0 96px;}
.narrow{max-width:780px;margin-inline:auto;padding-inline:24px;}
.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:26px;}
.crumbs a{color:var(--brass);} .crumbs a:hover{text-decoration:underline;}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 16px;}
.post h1,.blog-index h1{font-size:clamp(34px,5vw,54px);line-height:1.06;letter-spacing:-.01em;color:var(--ink);margin:0 0 28px;}
.lede{font-size:1.15rem;color:var(--ink-soft);margin:0 0 36px;max-width:60ch;}
.post-body{font-size:18px;line-height:1.75;color:var(--ink);}
.post-body p{margin:0 0 1.15em;}
.post-body h2{font-size:clamp(26px,3vw,34px);margin:2.1em 0 .7em;color:var(--forest);}
.post-body h3{font-size:22px;margin:1.6em 0 .5em;color:var(--ink);}
.post-body ul,.post-body ol{margin:0 0 1.25em;padding-left:1.3em;}
.post-body li{margin:0 0 .5em;}
.post-body li::marker{color:var(--brass);}
.post-body a{color:var(--forest);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px;}
.post-body a:hover{color:var(--brass);}
.post-body strong{font-weight:600;}
.post-body table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:15.5px;display:block;overflow-x:auto;}
.post-body thead th{background:var(--forest);color:var(--h-ivory);font-weight:500;text-align:left;padding:12px 14px;white-space:nowrap;}
.post-body td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;background:var(--card);}
.post-body blockquote{margin:1.4em 0;padding:16px 22px;border-left:3px solid var(--brass);background:var(--card);}
.post-cta{margin-top:56px;padding:34px 32px;background:var(--forest);color:var(--h-ivory);border-radius:6px;}
.post-cta h2{font-size:28px;color:var(--h-ivory);margin:0 0 10px;}
.post-cta p{color:var(--h-soft);margin:0 0 22px;}
.post-cta .btns{display:flex;flex-wrap:wrap;gap:12px;}
.post-cta .btn-ghost{color:var(--h-ivory);border-color:var(--h-line);} .post-cta .btn-ghost::before{background:var(--h-ivory);} .post-cta .btn-ghost:hover{color:var(--forest);}
.post-list{display:grid;gap:22px;margin-top:10px;}
.post-card{display:block;padding:28px 28px 26px;background:var(--card);border:1px solid var(--line);border-radius:6px;transition:border-color .3s var(--ease),transform .3s var(--ease);}
.post-card:hover{border-color:var(--brass);transform:translateY(-2px);}
.post-card h2{font-size:26px;margin:0 0 10px;color:var(--ink);}
.post-card p{color:var(--ink-soft);margin:0;}
.post-card .kicker{margin-bottom:10px;}
.nav-links-pager{display:flex;justify-content:space-between;margin-top:36px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.nav-links-pager a{color:var(--brass);}
@media (max-width:620px){.blog-main{padding:36px 0 70px;}.post-body{font-size:17px;}.post-cta{padding:26px 22px;}}