:root{
    --forest:#1F3A2E;
    --forest-deep:#12241C;
    --moss:#4C6B4F;
    --sage:#8FA888;
    --parchment:#F3EEE1;
    --parchment-dark:#E8DFC9;
    --bark:#3E3122;
    --amber:#C68B3D;
    --amber-light:#E0B876;
    --line: rgba(62,49,34,0.14);
    --serif: 'Fraunces', serif;
    --sans: 'Work Sans', sans-serif;
    --mono: 'JetBrains Mono', monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  section[id]{ scroll-margin-top: 90px; }
  body{
    font-family: var(--sans);
    color: var(--bark);
    background: var(--parchment);
    line-height:1.6;
    overflow-x:hidden;
  }
  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  .eyebrow{
    font-family: var(--mono);
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:0.72rem;
    color: var(--moss);
    display:flex;
    align-items:center;
    gap:0.6em;
  }
  .eyebrow::before{
    content:'';
    width:22px; height:1px;
    background: var(--amber);
    display:inline-block;
  }
  h1,h2,h3{ font-family: var(--serif); font-weight:500; color: var(--bark); }
  .wrap{ max-width:1120px; margin:0 auto; padding:0 28px; }
  section{ position:relative; padding:110px 0; }
  @media (max-width:720px){ section{ padding:76px 0; } }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background: rgba(243,238,225,0.86);
    backdrop-filter: blur(8px);
    border-bottom:1px solid var(--line);
    transition: background .3s ease;
  }
  nav.wrap{
    display:flex; align-items:center; justify-content:space-between;
    height:78px;
  }
  .brand{ display:flex; align-items:center; gap:12px; }
  .brand-mark{ width:38px; height:auto; }
  .brand-name{ font-family: var(--serif); font-size:1.15rem; letter-spacing:0.01em; }
  .brand-name em{ font-style:normal; color:var(--moss); }
  .nav-links{ display:flex; gap:34px; font-size:0.92rem; }
  .nav-links a{ position:relative; padding:4px 0; }
  .nav-links a::after{
    content:''; position:absolute; left:0; bottom:-2px; height:1px; width:0;
    background: var(--amber); transition: width .25s ease;
  }
  .nav-links a:hover::after{ width:100%; }
  .nav-cta{
    font-family: var(--mono); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em;
    border:1px solid var(--bark); padding:10px 18px; border-radius:2px;
    transition: background .25s ease, color .25s ease;
  }
  .nav-cta:hover{ background: var(--bark); color: var(--parchment); }
  .burger{ display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
  .burger span{ width:24px; height:2px; background:var(--bark); display:block; }

  @media (max-width:860px){
    .nav-links, .nav-cta{ display:none; }
    .burger{ display:flex; }
    .nav-links.open{
      display:flex; flex-direction:column; position:absolute; top:78px; left:0; right:0;
      background: var(--parchment); padding:24px 28px; gap:20px; border-bottom:1px solid var(--line);
    }
    .nav-links.open a{ font-size:1.05rem; }
  }
footer{
    background: var(--forest-deep); color: rgba(243,238,225,0.6);
    padding:36px 0; font-size:0.82rem;
  }
  footer .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center; }

/* ---------- Pages secondaires ---------- */
section.internal-links{ padding:10px 28px 60px; }
main.wrap{ max-width:820px; }
section.wrap{ max-width:820px; }
section.wrap h1, main.wrap h1{ font-size:clamp(2rem,4vw,2.8rem); line-height:1.15; margin-bottom:22px; }
section.wrap h2, main.wrap h2{ font-size:1.4rem; margin:34px 0 10px; }
section.wrap p, main.wrap p{ margin:10px 0; }
section.wrap ul, main.wrap ul{ margin:10px 0 10px 22px; }
section.wrap li, main.wrap li{ padding:2px 0; }
section.wrap a, main.wrap a, .internal-links a{ color:var(--moss); text-decoration:underline; text-underline-offset:3px; }
section.wrap a:hover, main.wrap a:hover, .internal-links a:hover{ color:var(--forest); }
.internal-links ul{ list-style:none; margin:10px 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:6px 18px; }
.footer-links a, .footer-links button{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.footer-links a:hover, .footer-links button:hover{ color:var(--parchment); }
footer .footer-inner{ flex-direction:column; align-items:flex-start; gap:10px !important; }
footer p{ margin:0; }
button:focus-visible{ outline:2px solid var(--amber); outline-offset:2px; }
