@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-600-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:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/poppins-600-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:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-mono-400-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:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-mono-400-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:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-400-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:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-400-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:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-500-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:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-500-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:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-500-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:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-500-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:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-700-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:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-700-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}

body{margin:0;background:#fdf6f4;color:#5649e5;font-family:"Poppins","Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.6}
a{color:#5649e5}a:hover{color:#5649e5}
.sans{font-family:"Space Grotesk","Poppins",Arial,sans-serif;font-weight:700;letter-spacing:-.02em}
.mono{font-family:"DM Mono",Menlo,monospace;font-size:12px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;margin:0}
.affiche{font-size:88px;line-height:.95;margin:0}
.t1{font-size:52px;line-height:1.02;margin:0}
.t2{font-size:30px;line-height:1.15;margin:0;font-weight:500}
.t3{font-size:22px;line-height:1.25;margin:0;font-weight:500}
.chapo{font-size:22px;line-height:1.4;max-width:36em;margin:0}
.corps{max-width:34em;margin:0}
.fort{font-weight:500}
.liste{margin:0;padding:0;list-style:none}
.lien{color:#5649e5;text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .2s cubic-bezier(.2,.7,.2,1)}
.lien:hover{background-size:100% 1px}
.btn{display:inline-block;appearance:none;background:none;border:1px solid currentColor;color:#5649e5;font-family:"DM Mono",Menlo,monospace;cursor:pointer;padding:10px 18px;text-decoration:none;font-family:"DM Mono",Menlo,monospace;font-size:12px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;transition:background-color .2s cubic-bezier(.2,.7,.2,1),color .2s cubic-bezier(.2,.7,.2,1)}
.btn:hover{background:#5649e5;color:#fff}
.btn.inverse{color:#fff;border-color:#fff}
.btn.inverse:hover{background:#fff;color:#5649e5}
.filtre{appearance:none;background:none;border:1px solid #5649e5;color:#5649e5;font-family:"DM Mono",Menlo,monospace;font-size:12px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;cursor:pointer;transition:background-color .2s cubic-bezier(.2,.7,.2,1),color .2s cubic-bezier(.2,.7,.2,1)}
.filtre:hover{border-color:#5649e5}
.filtre.actif{background:#5649e5;color:#fff}
.coin{position:fixed;z-index:5;font-size:14px;line-height:1.4;margin:0;background:#fdf6f4;padding:6px 10px}
.hg{left:30px;top:22px}.hd{right:30px;top:16px}.bg{left:30px;bottom:22px}.bd{right:30px;bottom:22px}
.nom{font-family:"Space Grotesk","Poppins",Arial,sans-serif;font-weight:700;font-size:40px;letter-spacing:-.02em;color:inherit;text-decoration:none;line-height:1}
.nom.grand{font-size:40px}
.nom .pt,.titre .pt{display:inline-block;transform-origin:50% 75%;transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.nom:hover .pt,.titre:hover .pt{transform:scale(1.3)}
.plus{appearance:none;background:none;border:0;color:inherit;font:400 34px/1 "Poppins",sans-serif;cursor:pointer;padding:0;width:44px;height:44px;transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.plus.ouvert{transform:rotate(45deg)}
.menu{position:fixed;right:30px;top:76px;z-index:5;margin:0;padding:8px 10px 20px 48px;list-style:none;text-align:right;background:#fdf6f4;display:none}
.menu.ouvert{display:block}
.menu li{font-family:"DM Mono",Menlo,monospace;font-size:17px;line-height:2;letter-spacing:.08em;text-transform:uppercase}
.menu a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .2s cubic-bezier(.2,.7,.2,1)}
.menu a:hover{background-size:100% 1px}
.menu li.actif a::before{content:"( "}.menu li.actif a::after{content:" )"}
.page{box-sizing:border-box;max-width:1360px;margin:0 auto;padding:128px 40px 176px}
.grille{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:24px}
.d9{grid-column:5/-1}.d4c{grid-column:5/span 5}.d10{grid-column:10/-1}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c8{grid-column:span 8}.c9{grid-column:span 9}.c12{grid-column:1/-1}.d3{grid-column:5/span 7}.d4{grid-column:5/span 8}
.filet{border-top:1px solid #5649e540}
.section{margin-top:96px}
.et{margin-bottom:16px}
.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
.titre-page{font-family:"DM Mono",Menlo,monospace;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-left:9px;vertical-align:baseline}
.coin.hg{display:flex;align-items:baseline;gap:0}
.bloc{margin-top:64px}
.mots > span{display:inline-block;opacity:0;transform:translateY(.4em);animation:monte .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i) * 40ms)}
@keyframes monte{to{opacity:1;transform:none}}
.carte{position:relative;border:1px solid #5649e540;padding:24px;transition:border-color .2s cubic-bezier(.2,.7,.2,1)}
.carte:hover{border-color:#5649e5}
.ref{border:0;padding:0}
.ref:hover{border:0}
.effet-scramble .carte{animation:entre .15s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 220ms)}
.effet-scramble .carte *{font-variant-ligatures:none}
@keyframes entre{from{opacity:0;transform:translateY(8px)}}
@keyframes tape{to{clip-path:inset(0 0 0 0)}}
@keyframes fond{to{opacity:1}}
.compteur{font-variant-numeric:tabular-nums}
.plein{background:#5649e5;color:#fff;padding:64px 0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.plein > .grille{max-width:1360px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.plein .mono,.plein a{color:#fff}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.mots > span{opacity:1;transform:none}.carte,.carte > *,.carte .tape,.carte .suit{opacity:1!important;clip-path:none!important;transform:none!important;filter:none!important}.effet-trace .carte{border-color:#5649e540;background:none}}
@media (max-width:700px){.affiche{font-size:44px}.t1{font-size:34px}.t2{font-size:24px}.chapo{font-size:19px}.page{padding:120px 16px 96px}.hg{left:6px;top:14px}.hd{right:6px;top:8px}.bg,.bd{display:none}.menu{right:6px;top:64px}.menu li{font-size:16px}.nom.grand{font-size:30px}.c3,.c4,.c6,.c8,.c9,.d3,.d4,.d9,.d4c,.d10{grid-column:1/-1}.deux{grid-template-columns:1fr}.titre-page{display:none}.page{padding-top:96px}.section{margin-top:64px}.bloc{margin-top:40px}.plein{padding:40px 0}.plein > .grille{padding:0 16px}}
.formulaire{display:flex;flex-direction:column;gap:40px;max-width:34em}
.champ{display:flex;flex-direction:column;gap:8px}
.champ label{font-family:"DM Mono",Menlo,monospace;font-size:12px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.champ input,.champ textarea{appearance:none;background:none;border:0;border-bottom:1px solid #5649e540;border-radius:0;color:#5649e5;font-family:"Poppins","Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.6;padding:8px 0;outline:none;transition:border-color .2s cubic-bezier(.2,.7,.2,1)}
.champ textarea{min-height:7em;resize:vertical}
.champ input:focus,.champ textarea:focus{border-bottom-color:#5649e5;border-bottom-width:2px;margin-bottom:-1px}
.champ input::placeholder,.champ textarea::placeholder{color:#5649e580}
.coordonnees{display:flex;flex-direction:column;gap:32px}
.coordonnees .mono{margin-bottom:6px}
.coordonnees a,.coordonnees span.v{font-family:"Space Grotesk","Poppins",Arial,sans-serif;font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-.01em}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fin{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
.photo{grid-column:1/span 3;align-self:start}
@media (max-width:700px){.photo{grid-column:1/-1;max-width:280px}}
@media (max-width:700px){.effet-scramble{grid-template-columns:1fr!important;row-gap:40px!important}.compteur{margin-left:0!important;width:100%}.menu{padding:8px 10px 16px 24px}}
.carte[hidden]{display:none}
.carte.entre{animation:entre .15s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 220ms)}
.filtres{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.domaine{margin:4px 0 0;font-size:14px;line-height:1.5}
#references{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:56px}
.photo img{width:100%;height:auto;display:block}
main{display:block}
@media (max-width:700px){#references{grid-template-columns:1fr;row-gap:40px}}
.legal{max-width:1360px;margin:0 auto;padding:0 40px 96px;box-sizing:border-box}
.legal .mono{margin:0}
@media (max-width:700px){.legal{padding:0 16px 48px}.liens-pied{flex-direction:column;gap:16px!important}}
.consentement{position:fixed;right:30px;bottom:72px;z-index:6;max-width:420px;display:grid;gap:16px;padding:24px;background:#fdf6f4;border:1px solid #5649e5;color:#5649e5;font-size:15px;line-height:1.5}
.consentement p{margin:0}
.consentement__actions{display:flex;flex-wrap:wrap;gap:8px}
.btn--discret{border-color:#5649e540}
@media (max-width:700px){.consentement{left:16px;right:16px;bottom:16px;max-width:none}}

/* Essai : menu plein écran sur mobile */
@media (max-width:700px){
.menu.ouvert{position:fixed;inset:0;z-index:5;padding:120px 16px 40px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:8px}
.menu.ouvert li{font-size:22px;line-height:1.6}
.coin.hd{z-index:7}.coin.hg{z-index:7}
body.menu-ouvert{overflow:hidden}
}

/* Essai : page Contact inversée (fond violet, texte beige) */
body.inverse{background:#5649e5;color:#fdf6f4}
body.inverse a,body.inverse .coin,body.inverse .plus,body.inverse .nom,body.inverse .menu,body.inverse .filtre{color:#fdf6f4}
body.inverse .coin,body.inverse .menu{background:#5649e5}
body.inverse .filet{border-color:#fdf6f466}
body.inverse .btn{color:#fdf6f4}
body.inverse .btn:hover{background:#fdf6f4;color:#5649e5}
body.inverse .champ input,body.inverse .champ textarea{color:#fdf6f4;border-bottom-color:#fdf6f466}
body.inverse .champ input:focus,body.inverse .champ textarea:focus{border-bottom-color:#fdf6f4}
body.inverse .champ input::placeholder,body.inverse .champ textarea::placeholder{color:#fdf6f4a6}
body.inverse .consentement{background:#5649e5;border-color:#fdf6f4}
body.inverse .btn--discret{border-color:#fdf6f466}

/* Retours Marie du 29/10 : signature centrée, coordonnées décalées sur Contact */
.plein .centre{grid-column:3/span 8;text-align:center}
.plein .centre .t2,.plein .centre .corps,.plein .centre .chapo{margin-left:auto;margin-right:auto}
.coordonnees.decale{padding-left:40px}
@media (max-width:700px){.plein .centre{grid-column:1/-1}.coordonnees.decale{padding-left:0}}
.liens-pied{grid-column:1/-1!important;justify-content:center}
@media (max-width:700px){.liens-pied{align-items:center}}

/* Titres longs (desktop) */
.affiche.long{font-size:72px}
.affiche.moyen{font-size:56px}

/* Retours de Marie du 04/11, mobile uniquement :
   - tous les H1 à la taille de la page Références (44 px), surlignés violet, texte beige
     (fond porté mot par mot : box-decoration-break était mal rendu par certains Safari iOS)
   - accueil : deuxième paragraphe à la taille du premier, en gras */
@media (max-width:700px){
.affiche,.affiche.long,.affiche.moyen{font-size:44px}
h1.affiche{color:#fdf6f4;padding-left:.16em;line-height:1.28}
h1.affiche > span{background:#5649e5;padding:0 .02em .05em;margin-bottom:-.05em;box-shadow:.14em 0 0 #5649e5,-.14em 0 0 #5649e5;line-height:1.28}
body.inverse h1.affiche{color:#5649e5}
body.inverse h1.affiche > span{background:#fdf6f4;box-shadow:.14em 0 0 #fdf6f4,-.14em 0 0 #fdf6f4}
.chapo.second{font-size:17px;line-height:1.6;font-weight:600}
}


/* Retours de Marie du 04/11 (16 h), toutes les versions */
strong{font-weight:600}
.liste.axes li{font-weight:600}
