/* damiencozette.fr — styles communs. Polices auto-hébergées. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/bricolage-grotesque-latin-opsz.woff2) format('woff2-variations'),url(/assets/fonts/bricolage-grotesque-latin-opsz.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:'Inter';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-latin-400.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:'Inter';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-latin-500.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:'Inter';font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/inter-latin-600.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:'Inter';font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fonts/inter-latin-700.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:'Caveat';font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/caveat-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD}
body{margin:0}
a{color:inherit}a:hover{color:inherit}
@keyframes soPop{0%{opacity:0;transform:scale(.6) rotate(-8deg)}70%{opacity:1;transform:scale(1.06) rotate(2deg)}100%{transform:none}}
@keyframes soDrop{0%{opacity:0;transform:translateY(-60px) rotate(6deg)}70%{opacity:1;transform:translateY(8px) rotate(-1deg)}100%{transform:none}}
@keyframes soMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pop{animation:soPop .8s cubic-bezier(.34,1.56,.64,1) both}
.drop{animation:soDrop 1s cubic-bezier(.34,1.56,.64,1) .2s both}
.p1{animation-delay:.15s}.p2{animation-delay:.3s}.p3{animation-delay:.45s}
.marq{animation:soMarq 22s linear infinite}
@keyframes bibMarq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.biblio{animation:bibMarq 70s linear infinite;will-change:transform}
.push{transition:transform .15s,box-shadow .15s}
.push:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
.push:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}
.polaroid{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.polaroid:hover{transform:rotate(0deg) scale(1.02) !important}
.book{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.book:hover{transform:rotate(0deg) translateY(-12px) scale(1.04) !important}
.motion-off *{animation:none !important;transition:none !important}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
@keyframes soSlide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.marq{animation:soMarq 18s linear infinite}
.menu{animation:soSlide .25s ease-out both}
.tap{transition:transform .12s}
.tap:active{transform:scale(.97)}
.lift{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.lift:hover{transform:translateY(-6px)}
.tilt img{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.tilt:hover img{transform:rotate(-4deg) scale(1.06)}
.p1{animation-delay:.15s}.p2{animation-delay:.3s}
.lift:hover{transform:translateY(-8px) rotate(-1deg)}
.p1{animation-delay:.15s}
.lift:hover{transform:translateY(-8px)}
.v-mobile{display:none}
@media (max-width: 767px){.v-desktop{display:none}.v-mobile{display:block}}
.marq-mobile-fix{}
#cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin:0 auto;background:#121212;color:#FFD23F;border:2px solid #A9A6FF;border-radius:16px;padding:18px 20px;font:500 15px/1.45 Inter,system-ui,sans-serif;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:4px 4px 0 #A9A6FF}
#cookie-banner p{margin:0;flex:1 1 260px}
#cookie-banner button{font:600 15px Inter,system-ui,sans-serif;padding:10px 16px;border-radius:10px;cursor:pointer;border:2px solid #FFD23F}
#cookie-banner .ok{background:#FFD23F;color:#121212}
#cookie-banner .no{background:transparent;color:#FFD23F}
.legal a{color:#121212;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.legal code{font:600 .95em ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(18,18,18,.08);padding:1px 5px;border-radius:4px}

.hand{display:block;text-align:center;margin-top:14px;font-family:'Caveat','Bradley Hand','Segoe Print',cursive;font-weight:600;font-size:32px;line-height:1.1;color:#121212;opacity:.45;letter-spacing:0;transform:rotate(-2deg)}
@media (max-width: 767px){.hand{font-size:10px;margin-top:6px}}
