*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h-mobile) + 12px)}
@media(min-width:768px){html{scroll-padding-top:calc(var(--header-h) + 12px)}}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);max-width:100vw;overflow-x:clip}
body{
  font-family:var(--ff-body);
  font-size:17px;
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4,h5{margin:0;font-family:var(--ff-display);font-weight:500;letter-spacing:-0.01em;line-height:1.18;color:var(--text)}
p{margin:0 0 1rem}
a{color:inherit;text-decoration:none;transition:color var(--t-fast)}
button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
[hidden]{display:none !important}

::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
::placeholder{color:var(--text-mute);opacity:1}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}
@media(min-width:768px){.container{padding:0 32px}}

.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}

/* TEX-4 Grille fine — texture papier botanique tres discrete */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(31,53,49,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(31,53,49,0.025) 1px, transparent 1px);
  background-size:36px 36px;
}
body > *{position:relative;z-index:1}
