/* Socle commun des maquettes Le Semeur : polices et couleurs du vrai site. */
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 500;src:url(eb-garamond-italic-latin.woff2) format('woff2'),url(eb-garamond-italic-latin-ext.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;src:url(montserrat-latin.woff2) format('woff2'),url(montserrat-latin-ext.woff2) format('woff2')}
:root{
  --gold:#c79533;--gold-l:#e6c27a;--brown:#371409;--amber:#a66311;--ink:#160201;
  --cream:#ebeae5;--paper:#f7f4ed;
  --sans:"Montserrat",system-ui,sans-serif;--serif:"EB Garamond",Georgia,serif;
  --ease:cubic-bezier(.22,.75,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
.serif{font-family:var(--serif);font-style:italic;font-weight:400}
.kicker{font-size:11px;font-weight:700;letter-spacing:.32em;text-transform:uppercase}

/* Apparition au défilement (data-r = délai en ms) */
.r{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.r.in{opacity:1;transform:none}
.r-l{opacity:0;transform:translateX(-30px);transition:all .9s var(--ease)}.r-l.in{opacity:1;transform:none}
.r-s{opacity:0;transform:scale(.88);transition:all .9s var(--spring)}.r-s.in{opacity:1;transform:none}

/* Mots qui montent un par un */
.words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.words .w>span{display:inline-block;transform:translateY(105%);animation:wup .9s var(--ease) forwards}
@keyframes wup{to{transform:none}}

@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-2%,-1%)}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(199,149,51,.55)}100%{box-shadow:0 0 0 18px rgba(199,149,51,0)}}

.gold-text{background:linear-gradient(100deg,#a66311 0%,#e6c27a 25%,#c79533 45%,#fff3d1 55%,#c79533 70%,#a66311 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s linear infinite}

.confetti{position:fixed;inset:0;pointer-events:none;z-index:999}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);transition:transform .6s var(--spring);z-index:998}
.toast.show{transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.r,.r-l,.r-s{opacity:1;transform:none}.words .w>span{transform:none}}
