@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/marcellus-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/marcellus-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
[id]{scroll-margin-top:24px}

/* ---- Logo */
.logo-bloc{display:block;height:40px;width:auto;filter:drop-shadow(0 3px 3px rgba(60,45,20,.28));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
a:hover>.logo-bloc{transform:translateY(-2px) rotate(-2deg)}

/* ---- En-tête fixe sur ordinateur */
@media (min-width:900px){
  .site-header{position:sticky;top:0;z-index:50;background:#F6F2EA url(img/texture-fond.jpg) 0 0/600px 600px;transition:box-shadow .3s ease}
  .site-header.is-scrolled{box-shadow:0 10px 28px -18px rgba(60,45,20,.55)}
  .site-header nav{transition:padding .3s ease}
  .site-header.is-scrolled nav{padding-top:10px!important;padding-bottom:10px!important}
  [id]{scroll-margin-top:104px}
}

/* ---- Liens et boutons */
a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s ease}
a svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
a:hover svg{transform:translateX(4px)}
a.btn:hover,button.btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px -12px rgba(60,45,20,.7)}
a.btn:active,button.btn:active{transform:none;box-shadow:none}
.site-header nav>div>a:not(.btn){position:relative}
.site-header nav>div>a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.site-header nav>div>a:not(.btn):hover::after,.site-header nav>div>a:not(.btn)[aria-current]::after{transform:scaleX(1)}
:focus-visible{outline:2px solid #6E4E24;outline-offset:3px}

/* ---- Apparition au défilement (activée seulement si JavaScript est disponible) */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.js [data-reveal].in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js [data-reveal]{opacity:1;transform:none}
}
