/* ==========================================================================
   Lot famille : personnages, équipe, labo, pédagogie, recrutement, contact,
   FAQ, journal, Le savais-tu ?, pages légales, plan du site, 404, anglais.
   Toutes les classes spécifiques commencent par fam-.
   ========================================================================== */
/* Le sprite d'Elium (10 images) : en pourcentage, une image vaut 11,11 % et non 100 %. Sans cette correction, le robot clignote. */
@keyframes elium{to{background-position:111.111% 0}}
/* Le tracé des nuages s'arrête à 1222 sur 1440 : on l'étire pour qu'il couvre toute la largeur de l'écran. */
.nuages path{transform:scaleX(1.1785)}
/* Le contour du tracé se referme en bas : on masque ce filet pour que le nuage se fonde dans la section qu'il annonce. */
.nuages--h{transform:translateY(calc(-100% + 3.5px));clip-path:inset(0 0 2px 0)}
.fam-ic{width:1.15em;height:1.15em;flex:none}
button.lien{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.fam-max{max-width:820px;margin-inline:auto}
.fam-entete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 32px;margin-bottom:clamp(24px,3vw,40px)}
.fam-entete>:first-child{flex:1 1 min(560px,100%);min-width:0}
.fam-entete__n{flex:0 1 auto}
.fam-print-only{display:none}
.fam-fs{border:0;padding:0;margin:0;min-width:0}
.fam-fs legend{padding:0;margin-bottom:8px;font-weight:800}
/* Panneaux toujours clairs, y compris au milieu d'une section colorée ou en mode nuit */
.fam-clair{--card:#fff;--field:#fff;--bg:#fff;--fg:#241530;--fg-2:#463a55;background:#fff;color:#241530}

/* ---------- Case de BD découpée en biais ---------- */
.fam-k{position:relative;display:block;min-width:0;--p:none;filter:drop-shadow(6px 7px 0 #241530);text-decoration:none}
.fam-k__bord{position:absolute;inset:0;background:#241530;clip-path:var(--p)}
.fam-k__f{position:absolute;inset:3px;clip-path:var(--p);overflow:hidden;background:var(--c,var(--card))}
.fam-k__f img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- /la-famille/ : la photo de famille ---------- */
.fam-casting{position:relative;overflow:hidden;background:var(--yellow);color:#241530;--fg:#241530;--fg-2:#3c2d4b;padding-block:clamp(36px,4.4vw,64px) clamp(64px,8vw,110px);isolation:isolate}
.fam-casting .rayons{z-index:-2}
.fam-casting::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 72% 44%,rgba(255,255,255,.6),transparent 60%)}
.fam-casting__g{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(14px,3vw,44px);align-items:center}
.fam-casting__t{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.fam-casting__t .fil{margin-bottom:0}
.fam-casting__t .lead{color:#241530;font-weight:700;margin:0;max-width:46ch}
.fam-casting__t h1{font-size:clamp(2.3rem,4.9vw,4.3rem)}
.fam-casting__cr{margin:0;font-weight:700}
.fam-photo{position:relative;width:100%;max-width:600px;justify-self:center;margin-top:18px}
.fam-photo__eclat{position:absolute;inset:-4% -6%;background:#fff;clip-path:polygon(50% 0,59% 14%,75% 4%,76% 22%,96% 18%,86% 36%,100% 50%,86% 64%,96% 82%,76% 78%,75% 96%,59% 86%,50% 100%,41% 86%,25% 96%,24% 78%,4% 82%,14% 64%,0 50%,14% 36%,4% 18%,24% 22%,25% 4%,41% 14%)}
.fam-photo__i{position:relative;width:100%;height:auto;filter:drop-shadow(7px 8px 0 rgba(36,21,48,.92))}
.fam-photo__h{position:absolute;display:block;border-radius:40px;-webkit-tap-highlight-color:transparent}
.fam-photo__h:focus-visible{outline:3px dashed #241530;outline-offset:2px}
.fam-etiq{position:absolute;display:inline-block;padding:.34em .72em .22em;background:var(--c);color:#241530;border:3px solid #241530;border-radius:14px;font:400 clamp(.82rem,1.3vw,1.06rem)/1 var(--display);text-transform:uppercase;white-space:nowrap;transform:rotate(-4deg) scale(.4);opacity:0;transition:transform .2s var(--ease),opacity .12s;box-shadow:3px 3px 0 #241530;pointer-events:none;z-index:4}
.fam-photo__h:hover .fam-etiq,.fam-photo__h:focus-visible .fam-etiq{transform:rotate(-4deg);opacity:1}
@media(hover:none){.fam-etiq{transform:rotate(-4deg);opacity:1}}
.fam-photo__elium{position:absolute;left:-3%;top:2%;width:21%;animation:flotte 5s ease-in-out infinite;z-index:3}
.fam-photo__elium .elium{--w:100%;width:100%}
.fam-photo__bulle{position:absolute;left:14%;top:-3%;z-index:4;max-width:46%}
.fam-photo__bulle .bulle{font-size:.86rem;padding:.55em .85em}
.fam-photo__secret{position:absolute;left:88.5%;top:66%;width:7.5%;height:auto;aspect-ratio:1;opacity:.82;z-index:5}
@media(max-width:900px){
  .fam-casting__g{grid-template-columns:minmax(0,1fr)}
  .fam-photo{max-width:520px;margin-top:84px}
  .fam-photo__bulle{top:-20%;left:8%;max-width:68%}
}

/* ---------- Fiches à retourner ---------- */
.fam-fiches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(34px,4vw,56px) clamp(20px,2.6vw,36px);align-items:stretch;padding-top:30px}
.fam-fiche{position:relative;perspective:1600px;scroll-margin-top:140px;--c-f:var(--c)}
.fam-fiche:nth-child(3n+1){rotate:-.7deg}
.fam-fiche:nth-child(3n+2){rotate:.6deg;margin-top:38px;margin-bottom:-38px}
.fam-fiche:nth-child(3n){rotate:.4deg;margin-top:10px;margin-bottom:-10px}
.fam-fiche__in{position:relative;display:grid;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.3,.5,1)}
.fam-fiche.is-retourne .fam-fiche__in{transform:rotateY(180deg)}
.fam-fiche__f{grid-area:1/1;position:relative;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow)}
.fam-fiche:nth-child(even) .fam-fiche__f{border-radius:var(--sketch-2)}
.fam-fiche__recto{display:flex;flex-direction:column;justify-content:flex-end;background:var(--c);color:#241530;min-height:clamp(480px,44vw,600px)}
.fam-fiche__fond{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.fam-fiche__fond::before{content:"";position:absolute;inset:-40%;background:repeating-conic-gradient(from 0deg at 50% 58%,rgba(255,255,255,.42) 0 9deg,transparent 9deg 18deg)}
.fam-fiche__fond::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(36,21,48,.2) 1.6px,transparent 2px);background-size:11px 11px;-webkit-mask-image:linear-gradient(transparent 46%,#000);mask-image:linear-gradient(transparent 46%,#000)}
.fam-fiche__no{position:absolute;left:12px;top:12px;z-index:3;padding:.3em .62em .16em;background:#fff;border:2.5px solid #241530;border-radius:12px;font:400 .92rem/1 var(--display);transform:rotate(-5deg)}
.fam-fiche__on{position:absolute;right:10px;top:14px;z-index:3;font-size:clamp(1.5rem,2.8vw,2.3rem)}
.fam-fiche--eduard .fam-fiche__on{top:auto;right:auto;left:10px;bottom:150px}
.fam-fiche__pers{position:absolute;left:0;right:0;top:-26px;bottom:124px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:2}
.fam-fiche__pers img{height:var(--t);width:auto;max-width:94%;object-fit:contain;object-position:bottom;filter:drop-shadow(4px 4px 0 rgba(36,21,48,.5));transition:transform .25s steps(3)}
.fam-fiche__recto:hover .fam-fiche__pers img{transform:translateY(-6px) rotate(-1.2deg)}
.fam-fiche__pers .elium{--w:min(84%,320px);width:var(--w);animation:elium 1.15s steps(10) infinite}
.fam-fiche__cart{position:relative;z-index:3;margin:12px;padding:10px 12px 12px;background:#fff;color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow-s);text-align:center;display:grid;gap:4px;justify-items:center}
.fam-fiche__nom{font:400 clamp(1.5rem,2.5vw,2.05rem)/1 var(--display);text-transform:uppercase;padding-top:.08em}
.fam-fiche__tit{margin:0;font-family:var(--hand);font-weight:700;font-size:.92rem;line-height:1.2}
.fam-fiche__b{justify-self:center;align-self:center;margin-top:4px}
.fam-fiche__verso{display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px;background:var(--card);color:var(--fg);transform:rotateY(180deg)}
.fam-fiche__t{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:3px dashed currentColor}
.fam-fiche__dl{margin:0;font-size:.88rem;line-height:1.38}
.fam-fiche__dl dt{font-family:var(--hand);font-weight:800;font-size:.86rem}
.fam-fiche__dl dd{margin:0 0 7px;color:var(--fg-2)}
.fam-fiche__bulle{font-size:.9rem;padding:.6em .9em;margin:2px 10px 16px 0;align-self:flex-start}
.fam-fiche__l{display:grid;gap:5px}
.fam-fiche__lt{font-family:var(--hand);font-weight:800;font-size:.86rem}
.fam-fiche__mondes{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.fam-fiche__mondes a{display:flex;align-items:center;gap:7px;padding:2px 6px 2px 2px;border-radius:9px;font-weight:700;font-size:.84rem;line-height:1.15;text-decoration:none;transition:background .15s}
.fam-fiche__mondes a:hover{background:var(--c);color:#241530}
.fam-fiche__mondes img{width:26px;height:26px;object-fit:contain;flex:none}
.fam-fiche__bd{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fam-fiche__bd a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:center;max-width:150px;font-size:.76rem;font-weight:700;line-height:1.12;text-decoration:none}
.fam-fiche__bd a:hover span{text-decoration:underline}
.fam-fiche__bd img{width:30px;height:40px;object-fit:cover;border:2px solid #241530;border-radius:3px}
.fam-fiche__verso .fam-fiche__b{margin-top:auto}
.fam-fiche__verso>.lien{align-self:flex-start}
.fam-fiche.is-pulse .fam-fiche__f{outline:4px solid var(--pink);outline-offset:3px}
html:not(.js) .fam-fiche__verso{transform:none}
html:not(.js) .fam-fiche__in{display:block}
@media(max-width:1000px){
  .fam-fiches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fam-fiche:nth-child(n){margin:0;rotate:0deg}
  .fam-fiche:nth-child(odd){rotate:-.5deg}.fam-fiche:nth-child(even){rotate:.5deg}
}
.fam-fiches__aide{display:none;margin:0;text-align:center}
/* Sur téléphone, les fiches forment un paquet que l'on fait défiler du doigt : la section reste courte. */
@media(max-width:640px){
  .fam-fiches__aide{display:block}
  .fam-fiches{display:flex;gap:14px;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#241530 transparent;margin-inline:calc(-1*var(--gut));padding:26px var(--gut) 22px;scroll-padding-inline:var(--gut)}
  .fam-fiche{flex:0 0 min(88%,340px);scroll-snap-align:center}
  .fam-fiche__recto{min-height:440px}
  .fam-fiche__verso{gap:8px;padding:14px 14px 12px}
  .fam-fiche__dl{font-size:.84rem;line-height:1.32}
  .fam-fiche__bulle{font-size:.86rem}
}

/* ---------- Quiz « Qui es-tu ? » ---------- */
.fam-quiz-g{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(20px,4vw,56px);align-items:center}
.fam-quiz-p{display:flex;align-items:center;gap:8px;margin-top:10px}
.fam-quiz-p .bulle{font-size:.94rem;margin-bottom:22px}
.fam-quiz{--card:#fff;--field:#fff;--fg:#241530;--fg-2:#463a55;background:#fff;color:#241530;min-height:360px}
.fam-quiz__bar{height:12px;margin-bottom:16px;border:2.5px solid #241530;border-radius:9px;overflow:hidden;background:#FFF7E3}
.fam-quiz__bar i{display:block;height:100%;width:0;background:var(--pink);transition:width .3s var(--ease)}
.fam-quiz__q{border:0;margin:0;padding:0;min-width:0}
.fam-quiz__q legend{padding:0;margin-bottom:14px;color:#241530;line-height:1.15}
.fam-quiz__r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fam-quiz__o{padding:.7em .9em;background:#FFF7E3;color:#241530;border:3px solid #241530;border-radius:var(--blob);font:800 .96rem/1.25 var(--hand);text-align:left;transition:transform .14s var(--ease),background .14s,box-shadow .14s}
.fam-quiz__o:hover,.fam-quiz__o:focus-visible{background:var(--yellow);transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:var(--shadow-s)}
.fam-quiz__res{display:grid;grid-template-columns:clamp(100px,24%,190px) minmax(0,1fr);gap:clamp(12px,2vw,24px);align-items:center;animation:pop .32s var(--ease)}
.fam-quiz__rp{display:flex;justify-content:center;align-items:flex-end;background:var(--c);border:3px solid #241530;border-radius:var(--sketch);padding:12px 8px 0;min-height:240px;align-self:stretch}
.fam-quiz__rp img{max-height:320px;width:auto;max-width:100%;object-fit:contain;object-position:bottom}
.fam-quiz__rp .elium{--w:100%;width:100%;margin-bottom:10px}
.fam-quiz__res .bulle{font-size:.92rem;margin-bottom:12px}
@media(max-width:900px){.fam-quiz-g{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.fam-quiz__r{grid-template-columns:minmax(0,1fr)}.fam-quiz__res{grid-template-columns:minmax(0,1fr)}.fam-quiz__rp{min-height:0}.fam-quiz__rp img{max-height:200px}.fam-quiz__rp .elium{--w:120px;width:120px}}

/* ---------- Mondes : planche en biais ---------- */
.fam-mondes{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);padding-top:30px}
.fam-monde{min-height:clamp(340px,34vw,450px);color:#241530;transition:transform .2s var(--ease)}
.fam-monde:hover{transform:translate(-2px,-4px) rotate(-.4deg)}
.fam-monde--a{grid-column:1/8;--p:polygon(0 0,100% 0,94% 100%,0 100%)}
.fam-monde--b{grid-column:8/13;margin-left:-8%;--p:polygon(9% 0,100% 0,100% 100%,0 100%)}
.fam-monde--c{grid-column:1/6;--p:polygon(0 0,91% 0,100% 100%,0 100%)}
.fam-monde--d{grid-column:6/13;margin-left:-8%;--p:polygon(0 0,100% 0,100% 100%,7% 100%)}
.fam-monde__p{position:absolute;right:3%;bottom:0;height:112%;width:auto;max-width:42%;object-fit:contain;object-position:bottom;z-index:2;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.5));pointer-events:none}
.fam-monde__p--elium{height:auto;width:min(32%,180px);bottom:30%}
.fam-monde--a .fam-monde__p{right:9%}
.fam-monde--b .fam-monde__p,.fam-monde--d .fam-monde__p{right:2%}
.fam-monde--c .fam-monde__p{right:2%;max-width:34%}
.fam-monde__b{position:absolute;left:clamp(14px,6%,30px);top:clamp(12px,5%,24px);max-width:min(60%,300px);font-size:.92rem;z-index:3}
.fam-monde--b .fam-monde__b{left:13%}
.fam-monde__o{position:absolute;left:44%;top:42%;font-size:clamp(1.3rem,2.6vw,2.2rem);z-index:3;white-space:nowrap}
.fam-monde--a .fam-monde__o{left:6%;top:44%}
.fam-monde--b .fam-monde__o{left:30%;top:44%}
.fam-monde--d .fam-monde__o{left:38%;top:44%}
.fam-monde__x{position:absolute;left:14px;bottom:14px;z-index:3;display:grid;gap:3px;width:min(66%,420px);padding:10px 14px;background:#fff;border:var(--stroke) solid #241530;border-radius:var(--sketch);line-height:1.3}
.fam-monde--d .fam-monde__x{left:10%}
.fam-monde__x .titre{color:#241530}
@media(max-width:900px){
  .fam-mondes{grid-template-columns:minmax(0,1fr);gap:26px}
  .fam-monde,.fam-monde--a,.fam-monde--b,.fam-monde--c,.fam-monde--d{grid-column:auto;margin-left:0;min-height:400px;--p:polygon(0 0,100% 2%,100% 100%,0 98%)}
  .fam-monde__x,.fam-monde--d .fam-monde__x{left:12px;right:12px;width:auto;bottom:18px}
  .fam-monde__p,.fam-monde--a .fam-monde__p,.fam-monde--c .fam-monde__p{right:0;bottom:92px;height:62%;max-width:38%}
  .fam-monde__p--elium{height:auto;width:30%;bottom:42%}
  .fam-monde__o,.fam-monde--a .fam-monde__o,.fam-monde--b .fam-monde__o,.fam-monde--d .fam-monde__o{left:6%;top:42%;bottom:auto;font-size:1.5rem;z-index:4}
  .fam-monde__b,.fam-monde--b .fam-monde__b{left:12px;top:18px;max-width:62%}
}

/* ---------- Leurs BD ---------- */
.fam-bd{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-bd__livres{position:relative;aspect-ratio:1/.92}
.fam-bd__l{position:absolute;display:block;width:60%;transition:transform .22s var(--ease)}
.fam-bd__l img{width:100%;height:auto;border:3px solid #241530;border-radius:4px 10px 10px 4px;box-shadow:8px 8px 0 #241530}
.fam-bd__l--1{left:0;top:9%;rotate:-7deg}
.fam-bd__l--2{right:0;top:0;rotate:5deg;z-index:2}
.fam-bd__l:hover{transform:translateY(-10px) scale(1.03);z-index:3}
.fam-bd__o{position:absolute;right:-1%;bottom:2%;z-index:4;font-size:clamp(1.5rem,3vw,2.5rem)}
.fam-bd__ach{display:grid;gap:8px;margin-top:16px}
.fam-bd__ligne{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 14px;background:#fff;border:3px solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);color:#241530}
.fam-bd__ligne>span{display:grid;line-height:1.2}
@media(max-width:900px){.fam-bd{grid-template-columns:minmax(0,1fr)}.fam-bd__livres{max-width:440px;margin-inline:auto;width:100%}.fam-bd__l--1{left:2%}}
@media(max-width:480px){.fam-bd__ligne{grid-template-columns:minmax(0,1fr) auto}.fam-bd__ligne>span{grid-column:1/-1}}
.fam-emc{display:grid;grid-template-columns:clamp(70px,20%,130px) minmax(0,1fr);gap:16px;align-items:center;padding-right:18px}
.fam-emc img{max-height:320px;width:auto;margin-inline:auto}
.fam-emc .bulle{margin-bottom:18px}

/* ---------- /equipe/ ---------- */
.fam-fond{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.4vw,18px);padding-top:30px}
.fam-fond__c{color:#241530;--fg:#241530;--fg-2:#241530}
.fam-fond__c a{color:inherit}
.fam-fond__c--a{--p:polygon(0 0,100% 0,95% 100%,0 100%)}
.fam-fond__c--b{margin-left:-3%;--p:polygon(5% 0,100% 0,100% 100%,0 100%)}
.fam-fond__in{position:relative;z-index:2;display:grid;grid-template-columns:clamp(150px,44%,270px) minmax(0,1fr);gap:clamp(8px,1.4vw,18px);align-items:start;padding:clamp(16px,2.4vw,30px)}
.fam-fond__c--a .fam-fond__in{padding-right:clamp(30px,7%,58px)}
.fam-fond__c--b .fam-fond__in{padding-left:clamp(30px,7%,58px)}
.fam-fond__p{width:100%;height:auto;margin-top:-54px;filter:drop-shadow(3px 4px 0 rgba(36,21,48,.55));transition:transform .25s var(--ease)}
.fam-fond__c:hover .fam-fond__p{transform:rotate(-3deg) scale(1.04)}
.fam-fond__x{display:grid;gap:7px;min-width:0}
.fam-fond__r{margin:0;font-weight:800;line-height:1.2}
.fam-fond__x .liste-check{margin:0}
.fam-fond__x .liste-check li{padding-left:28px}
.fam-fond__x .liste-check li::before{width:19px;height:19px;background-size:12px}
.fam-fond__et{position:absolute;left:50%;top:55%;translate:-50% -50%;z-index:4;font-size:clamp(3rem,7vw,6rem);--oc:var(--yellow)}
.fam-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:clamp(14px,2vw,24px);background:var(--card);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow)}
@media(max-width:900px){
  .fam-fond{grid-template-columns:minmax(0,1fr);gap:44px}
  .fam-fond__c--a,.fam-fond__c--b{margin-left:0;--p:polygon(0 0,100% 2%,100% 100%,0 98%)}
  .fam-fond__c--a .fam-fond__in,.fam-fond__c--b .fam-fond__in{padding:18px}
  .fam-fond__et{top:50%}
  .fam-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){.fam-fond__in{grid-template-columns:minmax(0,1fr)}.fam-fond__p{width:170px;margin-inline:auto}}

/* Le mur de portraits */
.fam-mur{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.4vw,32px) clamp(14px,2vw,26px);align-items:start;margin-top:14px}
.fam-pola{position:relative;margin:0;background:#fff;color:#241530;border:3px solid #241530;padding:10px 10px 12px;box-shadow:var(--shadow);transition:transform .2s var(--ease),box-shadow .2s;min-width:0;grid-column:span 4}
.fam-pola:nth-child(1){grid-column:span 4;rotate:-1.6deg}
.fam-pola:nth-child(2){grid-column:span 3;rotate:1.2deg;margin-top:26px}
.fam-pola:nth-child(3){grid-column:span 5;rotate:-.6deg}
.fam-pola:nth-child(4){grid-column:span 3;rotate:1.4deg}
.fam-pola:nth-child(5){grid-column:span 4;rotate:-1deg;margin-top:18px}
.fam-pola:nth-child(6){grid-column:span 5;rotate:.8deg}
.fam-pola:hover{transform:translateY(-6px) rotate(-.8deg);box-shadow:var(--shadow-l)}
.fam-pola__b{position:relative;display:block;width:100%;text-align:left;color:#241530}
.fam-pola__scotch,.fam-xpc__scotch{position:absolute;left:50%;top:-22px;translate:-50% 0;width:88px;height:24px;background:rgba(255,217,15,.72);border:1.5px solid rgba(36,21,48,.26);rotate:-3deg;z-index:3}
.fam-pola__img{display:block;background:var(--c);aspect-ratio:1/.86;overflow:hidden}
.fam-pola__img img{width:100%;height:100%;object-fit:contain;padding:6px 6px 0}
.fam-pola__dos{position:absolute;inset:0;display:grid;place-items:center;padding:14px;background:var(--c);font:700 clamp(.88rem,1.3vw,1rem)/1.3 var(--hand);text-align:center;opacity:0;pointer-events:none;transition:opacity .16s}
.fam-pola__b[aria-expanded=true] .fam-pola__dos{opacity:1}
.fam-pola figcaption{display:grid;gap:1px;padding-top:9px;text-align:center}
.fam-pola figcaption .titre,.fam-pola--vide .titre{color:#241530}
.fam-pola--vide{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px 16px;margin-top:clamp(22px,2.6vw,34px);padding:14px 20px;background:#FFF7E3;border-style:dashed;text-decoration:none}
.fam-pola__q{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--yellow);border:3px solid #241530;font:400 2rem/1 var(--display);padding-top:.1em}
@media(max-width:860px){
  .fam-mur{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fam-pola:nth-child(n){grid-column:auto;margin-top:0}
  .fam-pola__dos{padding:6px;font-size:.72rem;line-height:1.22}
}
@media(max-width:520px){.fam-pola--vide{grid-template-columns:auto minmax(0,1fr)}.fam-pola--vide>:last-child{grid-column:2}}

/* Les surnoms */
.fam-bocal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-bonbons{display:flex;flex-wrap:wrap;gap:16px 50px;padding:8px 22px}
.fam-bonbon{position:relative;padding:.62em 1.1em;background:var(--c);color:#241530;border:3px solid #241530;border-radius:40px;font:800 1rem/1.15 var(--hand);transition:transform .16s var(--ease),box-shadow .16s;box-shadow:3px 3px 0 #241530}
.fam-bonbon::before,.fam-bonbon::after{content:"";position:absolute;top:50%;width:22px;height:30px;translate:0 -50%;background:#241530}
.fam-bonbon::before{left:-21px;clip-path:polygon(0 0,100% 50%,0 100%)}
.fam-bonbon::after{right:-21px;clip-path:polygon(100% 0,0 50%,100% 100%)}
.fam-bonbon span{position:relative}
.fam-bonbon span::before,.fam-bonbon span::after{content:"";position:absolute;top:50%;width:13px;height:18px;translate:0 -50%;background:var(--c);z-index:1}
.fam-bonbon span::before{left:calc(-1.1em - 16px);clip-path:polygon(0 0,100% 50%,0 100%)}
.fam-bonbon span::after{right:calc(-1.1em - 16px);clip-path:polygon(100% 0,0 50%,100% 100%)}
.fam-bonbon:hover{transform:translateY(-3px) rotate(-2deg)}
.fam-bonbon[aria-pressed=true]{transform:scale(1.07) rotate(-2deg);box-shadow:5px 5px 0 #241530}
.fam-bocal__q{display:block;max-width:none;width:100%;margin:0;font-size:clamp(1.05rem,1.6vw,1.26rem);animation:pop .28s var(--ease)}
.fam-bocal__q footer{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:8px;font:700 .84rem/1.2 var(--text)}
@media(max-width:900px){.fam-bocal{grid-template-columns:minmax(0,1fr)}}

/* Le nom de prof */
.fam-prof{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-prof__f{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.fam-prof__f .input{flex:1 1 200px;min-width:0}
.fam-badge{position:relative;display:grid;gap:6px;justify-items:center;text-align:center;padding:0 16px 16px;background:#fff;color:#241530;border:var(--stroke) solid #241530;border-radius:22px;box-shadow:var(--shadow-l);rotate:1.8deg;width:min(420px,100%);justify-self:center;overflow:hidden}
.fam-badge__t{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% + 32px);padding:8px 12px;background:var(--yellow);border-bottom:3px solid #241530;font:800 .82rem/1.1 var(--hand)}
.fam-badge__t img{width:66px;height:auto}
.fam-badge__s{width:clamp(84px,12vw,120px);margin-top:6px}
.fam-badge__n{font:400 clamp(1.6rem,3.2vw,2.5rem)/1.04 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.fam-badge__p{font:700 1rem/1.25 var(--hand)}
.fam-badge__a{margin-top:6px;justify-content:center}
.fam-badge.is-pop{animation:pop .36s var(--ease)}
@media(max-width:860px){.fam-prof{grid-template-columns:minmax(0,1fr)}}
.fam-ligne{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.fam-ligne .titre{max-width:30ch}

/* ---------- /notre-labo/ ---------- */
.fam-visite-s{position:relative;background:#241530;color:#fff;--fg:#fff;--fg-2:#D9CFF0;padding-block:clamp(36px,4.4vw,64px) clamp(70px,8vw,110px)}
.fam-visite-s .fil a{color:inherit}
.fam-visite-t{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 40px;margin-bottom:22px}
.fam-visite-t__x{flex:1 1 min(600px,100%);min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.fam-visite-t__x .sur{--c-txt:#241530;margin:0}
.fam-visite-t__x .lead{max-width:58ch;color:#E9DEFF}
.fam-visite-t__o{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;flex:1 1 100%}
.fam-visite-t__o .fam-comptoir{margin-left:auto}
@media(max-width:560px){.fam-visite-t__o .fam-comptoir{margin-left:0}}
.fam-inter{display:inline-flex;align-items:center;gap:10px;color:#fff;font:800 1rem/1.15 var(--hand);text-align:left}
.fam-inter__p{position:relative;display:block;width:44px;height:62px;background:#FFF7E3;border:3px solid #000;border-radius:10px;box-shadow:3px 3px 0 #000}
.fam-inter__p i{position:absolute;left:9px;right:9px;top:8px;bottom:8px;background:var(--yellow);border:3px solid #241530;border-radius:5px;transition:background .15s}
.fam-inter__p i::after{content:"";position:absolute;left:1px;right:1px;top:2px;height:14px;background:#fff;border:2.5px solid #241530;border-radius:4px;transition:top .14s var(--ease)}
.fam-inter[aria-pressed=true] .fam-inter__p i{background:#463a55}
.fam-inter[aria-pressed=true] .fam-inter__p i::after{top:calc(100% - 18px)}
.fam-comptoir{display:grid;grid-template-columns:auto minmax(70px,1fr);gap:0 8px;align-items:center;padding:6px 12px;background:#fff;color:#241530;border:3px solid #000;border-radius:14px;box-shadow:3px 3px 0 #000;line-height:1.1}
.fam-comptoir b{font:400 1.4rem/1 var(--display);grid-row:span 2}
.fam-comptoir__b{display:block;height:9px;border:2px solid #241530;border-radius:6px;overflow:hidden}
.fam-comptoir__b i{display:block;height:100%;width:0;background:#6FDB7A;transition:width .3s var(--ease)}
.fam-visite{position:relative;border:var(--stroke) solid #000;border-radius:var(--sketch);box-shadow:10px 10px 0 #000;overflow:hidden;background:#000}
.fam-visite__p{position:relative;aspect-ratio:1600/893}
.fam-visite__j{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fam-visite__n{position:absolute;inset:0;background:#0A0620;opacity:0;pointer-events:none;transition:opacity .45s}
.fam-visite__n img{width:100%;height:100%;object-fit:cover}
.fam-visite.is-nuit .fam-visite__n{opacity:1;-webkit-mask-image:radial-gradient(circle var(--r,130px) at var(--x,50%) var(--y,50%),transparent 58%,rgba(0,0,0,.65) 80%,#000 100%);mask-image:radial-gradient(circle var(--r,130px) at var(--x,50%) var(--y,50%),transparent 58%,rgba(0,0,0,.65) 80%,#000 100%)}
.fam-hot svg{width:58%;height:58%}
.fam-hot.is-vu{background:#6FDB7A}
.fam-hot.is-vu::before{display:none}
.fam-hot .hot__l{color:#241530}
.fam-hot--g .hot__l{left:-6px;translate:0 0}
.fam-hot--d .hot__l{left:auto;right:-6px;translate:0 0}
.fam-hot--b .hot__l{bottom:auto;top:calc(100% + 9px)}
.fam-hot--nuit{opacity:0;pointer-events:none;scale:.4;transition:opacity .3s,scale .3s var(--ease),transform .2s var(--ease);box-shadow:0 0 18px 6px var(--c)}
.fam-visite.is-nuit .fam-hot--nuit{opacity:1;pointer-events:auto;scale:1}
.fam-visite__eliot{position:absolute;left:37%;bottom:-1%;width:clamp(90px,13%,170px);pointer-events:none;z-index:2;animation:respire 2.4s steps(5,end) infinite}
.fam-visite__bulle{position:absolute;left:49%;bottom:12%;max-width:min(26%,250px);font-size:.88rem;padding:.55em .85em;z-index:3;pointer-events:none}
.fam-visite__aide{margin:12px 0 0;color:#E9DEFF;min-height:1.2em}
.fam-visite__ma{display:none}
.fam-inv{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fam-inv__i{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 5px;background:#fff;color:#241530;border:2.5px solid #000;border-radius:14px;font:800 .86rem/1.1 var(--hand);transition:transform .14s var(--ease),background .14s}
.fam-inv__i:hover{transform:translateY(-2px) rotate(-1deg);background:var(--c)}
.fam-inv__i img{width:30px;height:30px;object-fit:contain}
.fam-inv__c{display:none;width:16px;height:16px}
.fam-inv__i.is-vu{background:var(--c)}
.fam-inv__i.is-vu .fam-inv__c{display:block}
@media(max-width:760px){
  .fam-visite{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#fff transparent;-webkit-overflow-scrolling:touch}
  .fam-visite__p{width:900px;max-width:none}
  .fam-visite__ma{display:inline}
  .fam-visite__eliot{width:100px}
  .fam-visite__bulle{max-width:165px;font-size:.8rem;left:24%;bottom:24%}
}
/* Sur téléphone, l'inventaire tient sur une ligne que l'on fait défiler : il ne pousse plus le reste de la page. */
@media(max-width:640px){
  .fam-inv{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#fff transparent;margin-inline:calc(-1*var(--gut));padding:2px var(--gut) 10px}
  .fam-inv__i{flex:none;white-space:nowrap}
}
.fam-pt{--bg:#FFF7E3;--fg:#241530;--fg-2:#463a55;--card:#fff;background:#FFF7E3;color:#241530;padding:0!important;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);overflow:hidden auto}
.fam-pt__v{position:relative;min-height:320px;background:var(--c);border-right:var(--stroke) solid #241530}
.fam-pt__v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fam-pt__v .recit{position:absolute;left:12px;top:12px}
.fam-pt__x{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(18px,3vw,30px);padding-top:clamp(26px,3vw,34px)}
.fam-pt__nav{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding-top:6px;border-top:2.5px dashed rgba(36,21,48,.25)}
:root[data-theme=nuit] .fam-pt__nav{border-top-color:rgba(255,255,255,.25)}
@media(max-width:700px){.fam-pt{grid-template-columns:minmax(0,1fr)}.fam-pt__v{min-height:0;aspect-ratio:16/9;border-right:0;border-bottom:var(--stroke) solid #241530}}

/* Photos réelles */
.fam-photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
.fam-photo-c{position:relative;display:block;padding:10px 10px 6px;background:#fff;color:#241530;border:3px solid #241530;box-shadow:var(--shadow);transition:transform .2s var(--ease),box-shadow .2s;text-align:left}
.fam-photo-c:hover{transform:translateY(-5px) rotate(0deg)!important;box-shadow:var(--shadow-l)}
.fam-photo-c img{width:100%;height:clamp(200px,25vw,350px);object-fit:cover;object-position:center}
.fam-photo-c__l{display:block;padding-top:6px;font-size:.92rem;text-align:center}
.fam-photo-c--1{grid-column:span 7;transform:rotate(-1deg)}
.fam-photo-c--2{grid-column:span 5;transform:rotate(1.2deg);margin-top:20px}
.fam-photo-c--3{grid-column:span 4;transform:rotate(1deg)}
.fam-photo-c--3 img{object-position:center 30%}
.fam-photo-c--4{grid-column:span 8;transform:rotate(-.7deg)}
@media(max-width:640px){.fam-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fam-photo-c:nth-child(n){margin-top:0}.fam-photo-c:nth-child(-n+2){grid-column:1/-1}.fam-photo-c:nth-child(n+3){grid-column:auto}.fam-photo-c img{height:200px}.fam-photo-c:nth-child(n+3) img{height:130px}.fam-photo-c:nth-child(n+3) .fam-photo-c__l{font-size:.78rem;line-height:1.25}}
.fam-lb{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:clamp(14px,4vw,40px);background:rgba(20,10,28,.92);animation:fondu .18s ease}
.fam-lb figure{margin:0;max-width:min(1100px,100%);text-align:center}
.fam-lb img{max-height:calc(100dvh - 130px);width:auto;max-width:100%;margin-inline:auto;border:4px solid #fff;border-radius:8px}
.fam-lb figcaption{margin-top:8px;color:#fff;font-size:1rem}
.fam-lb .ico-btn{background:var(--yellow);color:#241530;border-color:#241530}
.fam-lb__p,.fam-lb__n{position:absolute;top:50%;translate:0 -50%;z-index:2}
.fam-lb__p{left:10px}.fam-lb__n{right:10px}

/* Plan et accès */
.fam-acces{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.fam-acces__g h2{margin-bottom:14px}
.fam-acces__d{display:grid;gap:14px;min-width:0}
.fam-acces__d .case{--card:#fff;--fg:#241530;--fg-2:#463a55}
@media(max-width:960px){.fam-acces{grid-template-columns:minmax(0,1fr)}}
.fam-plan{--card:#fff;--fg:#241530;--field:#fff;display:grid;gap:12px;min-width:0}
.fam-plan .chip{color:#241530;background:#fff}
.fam-plan .chip[aria-pressed=true]{background:var(--pink)}
.fam-plan .chip .small{font-weight:600;opacity:.82}
.fam-plan__carte{position:relative;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);overflow:hidden;background:#FFF7E3}
.fam-plan__carte svg{display:block;width:100%;height:auto}
.fam-plan__t{font-family:var(--hand);font-weight:800;font-size:13.5px;fill:#241530;paint-order:stroke;stroke:#FFF7E3;stroke-width:4.5px;stroke-linejoin:round}
.fam-plan__t--fort{font-size:15.5px;fill:#B3213F}
.fam-plan__t--s{font-size:11.5px}
.fam-plan__t--st{font-family:var(--display);font-weight:400;font-size:18px;letter-spacing:.02em}
.fam-plan__m text,.fam-plan__n text,.fam-plan__titre,.fam-plan__ech{font-family:var(--display);fill:#241530}
.fam-plan__route{transition:d .1s}
.fam-plan__onde{transform-box:fill-box;transform-origin:center;animation:fam-onde 2s ease-out infinite}
@keyframes fam-onde{from{transform:scale(.5);opacity:1}to{transform:scale(2.3);opacity:0}}
.fam-plan__credit{position:absolute;left:8px;bottom:5px;padding:0 5px;font-size:.62rem;line-height:1.5;background:rgba(255,255,255,.86);color:#241530;border-radius:5px}
.fam-plan__txt{margin:0;padding:10px 14px;background:#fff;color:#241530;border:2.5px solid #241530;border-radius:14px;font-size:.95rem;line-height:1.4}
/* Sur téléphone, le crédit du fond de plan passe sous la carte : posé dessus, il masquait Daumesnil et Picpus Reuilly. */
@media(max-width:640px){.fam-plan__credit{position:static;display:block;padding:2px 10px;background:#FFF7E3;border-top:2px solid #241530;border-radius:0;font-size:.6rem}}

/* Enseigne en direct */
.fam-enseigne{position:relative;display:grid;justify-items:center;gap:10px;padding-top:30px;text-align:center}
.fam-enseigne__fils{position:absolute;top:0;left:50%;translate:-50% 0;width:min(170px,60%);height:44px}
.fam-enseigne__fils::before,.fam-enseigne__fils::after{content:"";position:absolute;top:0;bottom:0;width:4px;background:#241530;border-radius:3px}
.fam-enseigne__fils::before{left:0;rotate:18deg;transform-origin:top}
.fam-enseigne__fils::after{right:0;rotate:-18deg;transform-origin:top}
.fam-enseigne__p{position:relative;display:block;width:min(240px,92%);height:84px;perspective:900px;transform-origin:50% -40px;animation:fam-balance 4s ease-in-out infinite;z-index:1}
@keyframes fam-balance{0%,100%{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}
.fam-enseigne__o,.fam-enseigne__f{position:absolute;inset:0;display:grid;place-items:center;border:var(--stroke) solid #241530;border-radius:16px;box-shadow:var(--shadow-s);font:400 clamp(1.9rem,4vw,2.6rem)/1 var(--display);text-transform:uppercase;padding-top:.1em;color:#241530;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s cubic-bezier(.3,1.4,.5,1)}
.fam-enseigne__o{background:#6FDB7A}
.fam-enseigne__f{background:#FF8A80;transform:rotateX(180deg)}
.fam-enseigne[data-etat=ferme] .fam-enseigne__o{transform:rotateX(-180deg)}
.fam-enseigne[data-etat=ferme] .fam-enseigne__f{transform:none}
.fam-enseigne.is-toc .fam-enseigne__p{animation:fam-toc .5s var(--ease)}
@keyframes fam-toc{25%{transform:rotate(-10deg)}60%{transform:rotate(7deg)}}
.fam-enseigne__t{margin:0;font-size:.98rem;line-height:1.3;max-width:34ch}
.fam-sem{background:#fff;color:#241530;border:var(--stroke) solid #241530;border-radius:18px;padding:12px;box-shadow:var(--shadow-s);display:grid;gap:8px;--fg-2:#463a55}
.fam-sem__g{display:grid;gap:4px}
.fam-sem__l{display:grid;grid-template-columns:clamp(56px,20%,74px) repeat(7,minmax(0,1fr));gap:3px;align-items:center;font:800 .78rem/1.1 var(--hand)}
.fam-sem__l b{text-align:center;font-weight:800}
/* L'en-tête « Moment » est masqué et sort de la grille : sans cela, les jours sont décalés d'une colonne par rapport aux cases. */
.fam-sem__l>.sr+b{grid-column:2}
.fam-sem__l b.is-now{background:var(--pink);border-radius:6px;padding:1px 0}
.fam-sem__l i{display:block;height:28px;border:2.5px solid #241530;border-radius:8px;background:#fff}
.fam-sem__l i.is-ouvert{background:#6FDB7A}
.fam-sem__l i.is-vac{background:repeating-linear-gradient(45deg,#6FDB7A 0 5px,#CBF2CF 5px 10px)}
.fam-sem__l i.is-now{outline:3px solid var(--pink);outline-offset:1px}
.fam-coord{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.fam-coord a{display:flex;gap:10px;align-items:flex-start;line-height:1.22;text-decoration:none;font-size:.92rem}
.fam-coord a:hover b{text-decoration:underline}
.fam-coord svg{width:21px;height:21px;flex:none;margin-top:1px}
.fam-coord b{overflow-wrap:anywhere}
.fam-venir{display:grid;gap:clamp(20px,3vw,36px)}
.fam-venir__c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,30px)}
.fam-venir__c .carte:nth-child(2){margin-top:22px;margin-bottom:-22px}
@media(max-width:860px){.fam-venir__c{grid-template-columns:minmax(0,1fr)}.fam-venir__c .carte:nth-child(2){margin:0}}
/* Sur téléphone, les cartes passent à l'horizontale : image à gauche, texte à droite, la section ne s'étire plus. */
@media(max-width:640px){
  .fam-venir__c .carte{flex-direction:row;align-items:stretch}
  .fam-venir__c .carte__media{flex:0 0 36%;aspect-ratio:auto;min-height:128px;border-bottom:0;border-right:var(--stroke) solid #241530}
  .fam-venir__c .carte__media:not(.carte__media--sticker) img{position:absolute;inset:0}
  .fam-venir__c .carte__media--sticker{padding:10px}
  .fam-venir__c .carte__media--sticker img{max-width:100%;width:100%;height:auto}
  .fam-venir__c .carte__body{padding:12px 14px 14px;gap:5px}
  .fam-venir__c .carte__titre{font-size:1.12rem}
}

/* ---------- /pedagogie/ ---------- */
.fam-pil{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);padding-top:30px}
.fam-pil__c{min-height:clamp(380px,34vw,470px);color:#241530;--fg:#241530;--fg-2:#241530;cursor:pointer}
.fam-pil__c:focus-visible{outline:3px dashed #241530;outline-offset:4px}
.fam-pil__c--1{grid-column:1/8;--p:polygon(0 0,100% 0,95% 100%,0 100%)}
.fam-pil__c--2{grid-column:8/13;margin-left:-7%;--p:polygon(8% 0,100% 0,100% 100%,0 100%)}
.fam-pil__c--3{grid-column:1/6;--p:polygon(0 0,92% 0,100% 100%,0 100%)}
.fam-pil__c--4{grid-column:6/13;margin-left:-7%;--p:polygon(0 0,100% 0,100% 100%,6% 100%)}
.fam-pil__c .fam-k__f::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(36,21,48,.14) 1.5px,transparent 1.9px);background-size:10px 10px}
.fam-pil__x{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(18px,2.4vw,30px);padding-right:clamp(120px,27%,250px)}
.fam-pil__c--2 .fam-pil__x{padding-left:clamp(30px,10%,62px);padding-right:clamp(90px,28%,170px)}
.fam-pil__c--3 .fam-pil__x{padding-right:clamp(100px,34%,180px)}
.fam-pil__c--4 .fam-pil__x{padding-left:clamp(30px,8%,62px)}
.fam-pil__n{display:grid;place-items:center;width:44px;height:44px;background:#fff;border:3px solid #241530;border-radius:50%;font:400 1.3rem/1 var(--display);padding-top:.1em}
.fam-pil__t{font:400 clamp(1.9rem,4vw,3.4rem)/1 var(--display);text-transform:uppercase;padding-top:.06em}
.fam-pil__b{font-size:clamp(.92rem,1.3vw,1.06rem);margin:0 12px 16px 0}
.fam-pil__x p{font-size:.94rem;line-height:1.42}
.fam-pil__ex{padding:6px 10px;background:rgba(255,255,255,.72);border-radius:10px;border:2px dashed #241530}
.fam-pil__p{position:absolute;right:2%;bottom:0;height:min(112%,500px);width:auto;max-width:27%;object-fit:contain;object-position:bottom;z-index:2;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.45));pointer-events:none;transition:transform .2s steps(3)}
.fam-pil__c--2 .fam-pil__p,.fam-pil__c--3 .fam-pil__p{max-width:30%}
.fam-pil__c:hover .fam-pil__p{transform:translateY(-8px)}
.fam-pil__o{position:absolute;right:21%;top:-6px;z-index:3;font-size:clamp(1.5rem,3.2vw,2.8rem)}
.fam-pil__c.is-pop .fam-pil__o{animation:onoma-pop-fam .9s var(--ease)}
@keyframes onoma-pop-fam{0%{transform:scale(.4) rotate(-24deg)}40%{transform:scale(1.5) rotate(-7deg)}100%{transform:scale(1) rotate(-7deg)}}
@media(max-width:900px){
  .fam-pil{grid-template-columns:minmax(0,1fr);gap:30px}
  .fam-pil__c:nth-child(n){grid-column:auto;margin-left:0;min-height:0;--p:polygon(0 0,100% 1.5%,100% 100%,0 98.5%)}
  .fam-pil__c:nth-child(n) .fam-pil__x{padding:20px 18px 26px}
  .fam-pil__c:nth-child(n) .fam-pil__x>:nth-child(-n+3){margin-right:clamp(80px,24vw,170px)}
  .fam-pil__c:nth-child(n) .fam-pil__p{bottom:auto;top:-18px;height:clamp(170px,44vw,300px);max-width:30%}
  .fam-pil__o{right:auto;left:62px;top:14px}
}
.fam-dem{list-style:none;padding:0;margin:clamp(34px,4vw,60px) 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.8vw,26px)}
.fam-dem__c{position:relative;display:grid;gap:4px;justify-items:center;text-align:center;padding:12px 10px;background:var(--c);color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);--fg:#241530}
.fam-dem__c img{width:60px;height:60px;object-fit:contain}
.fam-dem__c .titre{color:#241530}
.fam-dem__c:not(:last-child)::after{content:"";position:absolute;right:calc(-1 * clamp(14px,1.8vw,26px));top:50%;width:clamp(14px,1.8vw,26px);height:18px;translate:0 -50%;background:#241530;clip-path:polygon(0 30%,55% 30%,55% 0,100% 50%,55% 100%,55% 70%,0 70%)}
@media(max-width:900px){.fam-dem{grid-template-columns:minmax(0,1fr)}.fam-dem__c{grid-template-columns:60px minmax(0,1fr);justify-items:start;text-align:left}.fam-dem__c img{grid-row:span 2}.fam-dem__c:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:calc(-1 * clamp(14px,1.8vw,26px));height:clamp(14px,1.8vw,26px);width:18px;translate:-50% 0;clip-path:polygon(30% 0,70% 0,70% 55%,100% 55%,50% 100%,0 55%,30% 55%)}}

/* Ça flotte ou ça coule */
.fam-tank-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-tank__obj{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.fam-tank__o{position:relative;width:clamp(58px,6.6vw,76px);height:clamp(58px,6.6vw,76px);padding:8px;background:#fff;border:3px solid #241530;border-radius:16px;box-shadow:3px 3px 0 #241530;transition:transform .15s var(--ease),background .15s}
.fam-tank__o svg{width:100%;height:100%}
.fam-tank__o:hover{transform:translateY(-3px) rotate(-3deg)}
.fam-tank__o[aria-pressed=true]{background:var(--yellow);transform:translateY(-3px) rotate(-3deg) scale(1.06)}
.fam-tank__o.is-fait::after{content:"";position:absolute;right:-8px;top:-8px;width:24px;height:24px;border-radius:50%;background:#6FDB7A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241530' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4 10-11'/%3E%3C/svg%3E") center/15px no-repeat;border:2.5px solid #241530}
.fam-tank__r{margin-top:14px;padding:10px 14px;background:#fff;color:#241530;border:3px solid #241530;border-radius:16px;box-shadow:var(--shadow-s);animation:pop .26s var(--ease);display:grid;gap:6px;justify-items:start}
.fam-tank__r.is-ok{background:#CBF2CF}.fam-tank__r.is-non{background:#FFD2C2}
.fam-tank__r b{font:400 1.2rem/1 var(--display);text-transform:uppercase}
.fam-tank{position:relative;width:min(100%,460px);justify-self:center;aspect-ratio:1/1.02;background:#FFFBEF;border:4px solid #241530;border-radius:14px 14px 34px 34px;box-shadow:var(--shadow-l);overflow:hidden}
.fam-tank__eau{position:absolute;left:0;right:0;bottom:0;height:70%;background:linear-gradient(180deg,rgba(143,227,248,.82),rgba(25,187,234,.88));border-top:4px solid #241530}
.fam-tank__eau::before{content:"";position:absolute;left:0;right:0;bottom:0;height:16%;background:#E9B676;border-top:4px solid #241530;opacity:.85}
.fam-tank__fig{position:absolute;left:50%;top:6%;width:24%;translate:-50% 0;transition:top 1.1s cubic-bezier(.34,1.1,.5,1)}
.fam-tank__fig svg{width:100%;height:auto;display:block}
.fam-tank__fig.is-flotte{top:21%}
.fam-tank__fig.is-flotte svg{animation:fam-bob 2.3s ease-in-out infinite}
.fam-tank__fig.is-coule{top:64%}
@keyframes fam-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}
.fam-tank__on{position:absolute;left:8%;top:10%;font-size:clamp(1.8rem,4vw,3rem);opacity:0;z-index:2}
.fam-tank__on.is-on{animation:fam-plouf 1s var(--ease) both}
@keyframes fam-plouf{0%{opacity:0;transform:scale(.3) rotate(-20deg)}30%{opacity:1;transform:scale(1.2) rotate(-7deg)}80%{opacity:1;transform:scale(1) rotate(-7deg)}100%{opacity:0;transform:scale(1) rotate(-7deg)}}
.fam-tank__score{position:absolute;right:10px;top:10px;padding:2px 12px;background:#fff;color:#241530;border:2.5px solid #241530;border-radius:20px;font:800 .9rem/1.5 var(--hand)}
/* Sur téléphone : le titre d'abord, puis l'aquarium, puis les objets et les boutons juste dessous pour voir l'objet tomber. */
@media(max-width:860px){
  .fam-tank-g{display:flex;flex-direction:column;gap:0}
  .fam-tank-g>div:first-child{display:contents}
  .fam-tank-g>div:first-child>:nth-child(1){order:1;align-self:flex-start}
  .fam-tank-g>div:first-child>:nth-child(2){order:2}
  .fam-tank-g>div:first-child>:nth-child(3){order:3}
  .fam-tank{order:4;align-self:center;max-width:300px;aspect-ratio:1/.84}
  .fam-tank-g>div:first-child>:nth-child(4){order:5}
  .fam-tank-g>div:first-child>:nth-child(5){order:6}
  .fam-tank-g>div:first-child>:nth-child(6){order:7}
  .fam-tank-g>div:first-child>:nth-child(7){order:8}
}
@media(max-width:560px){.fam-tank__obj{flex-wrap:nowrap;gap:8px}.fam-tank__o{flex:1 1 0;min-width:0;width:auto;height:auto;aspect-ratio:1;padding:5px;border-radius:13px}}

/* Écouter ou faire */
.fam-comp{position:relative;aspect-ratio:16/7.8;min-height:330px;width:100%;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-l);overflow:hidden;background:#241530;touch-action:pan-y;user-select:none}
.fam-comp__c{position:absolute;inset:0}
.fam-comp__c img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.fam-comp__e img{filter:grayscale(1) contrast(.86) brightness(1.08)}
.fam-comp__f{clip-path:inset(0 0 0 var(--p))}
.fam-comp__tag{position:absolute;top:12px;z-index:1}
.fam-comp__e .fam-comp__tag{left:12px}
.fam-comp__f .fam-comp__tag{right:12px}
.fam-comp__b{position:absolute;bottom:clamp(30px,5%,42px);width:min(38%,440px)}
.fam-comp__e .fam-comp__b{left:clamp(12px,3%,36px)}
.fam-comp__f .fam-comp__b{right:clamp(12px,3%,36px)}
.fam-comp__bu{width:100%;max-width:none;font-size:clamp(.82rem,1.3vw,1.04rem)}
.fam-comp__i{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;appearance:none}
.fam-comp__h{position:absolute;top:0;bottom:0;left:var(--p);width:5px;translate:-50% 0;background:#241530;z-index:4;pointer-events:none}
.fam-comp__h i{position:absolute;left:50%;top:50%;translate:-50% -50%;display:flex;gap:0;padding:7px 8px;background:var(--yellow);color:#241530;border:3px solid #241530;border-radius:30px;box-shadow:3px 3px 0 #241530}
.fam-comp__h svg{width:18px;height:18px}
.fam-comp__i:focus-visible~.fam-comp__h i{outline:3px solid var(--blue);outline-offset:2px}
@media(max-width:640px){
  .fam-comp{aspect-ratio:auto;height:430px}
  .fam-comp__b{width:calc(50% - 16px);bottom:14px}
  .fam-comp__bu{font-size:.78rem;padding:.55em .7em;line-height:1.26}
  .fam-comp__tag{font-size:.74rem;padding:.4em .6em}
  /* Deux colonnes de phrases courtes : elles tiennent à l'écran, sans défilement ni texte coupé. */
  table.tb.fam-tb2{min-width:0;table-layout:fixed}
  .fam-tb2 th,.fam-tb2 td{padding:9px 10px;font-size:.84rem;line-height:1.35}
}

/* L'enseignement est un art */
.fam-art-s{background:#241530;color:#fff;--fg:#fff;--fg-2:#D9CFF0;background-image:radial-gradient(ellipse at 18% 18%,rgba(255,255,255,.07),transparent 46%),radial-gradient(ellipse at 84% 76%,rgba(255,255,255,.05),transparent 42%)}
.fam-art-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-craie{font-family:var(--hand);font-weight:800;text-transform:none;color:#fff;letter-spacing:.01em;text-shadow:0 0 1px rgba(255,255,255,.7),1px 1px 0 rgba(255,255,255,.14)}
.fam-craie__c{padding:12px 16px;border:3px dashed var(--yellow);border-radius:var(--blob);color:var(--yellow);font-size:1.12rem;line-height:1.35}
.fam-che{display:grid;gap:12px;padding:clamp(14px,2vw,24px);background:#1E3B2F;border:7px solid #8A5A33;border-radius:12px;box-shadow:8px 8px 0 #000;outline:2px solid #000;--card:#fff;--fg:#241530}
.fam-che .chip{color:#241530;background:#fff}
.fam-che .chip[aria-pressed=true]{background:var(--c)}
.fam-che__v{position:relative}
.fam-che__v svg{width:100%;height:auto;overflow:visible}
.fam-che__p{opacity:.24;transition:opacity .2s}
.fam-che__p.is-on{opacity:1;animation:fam-marche 1s linear infinite}
@keyframes fam-marche{to{stroke-dashoffset:-19}}
.fam-che__dep{position:absolute;left:0;bottom:6%;width:15%}
.fam-che__arr{position:absolute;right:0;top:12%;width:16%;animation:flotte 4s ease-in-out infinite}
.fam-che__t{margin:0;color:#fff;font-size:.98rem;line-height:1.4;min-height:4.2em}
.fam-che__t a{color:var(--yellow)}
@media(max-width:900px){.fam-art-g{grid-template-columns:minmax(0,1fr)}}

/* ---------- /nous-rejoindre/ ---------- */
.fam-annonce{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:start}
.fam-ann{position:relative;padding:clamp(22px,3.4vw,42px);background:#FFFBEF;color:#241530;--fg:#241530;--fg-2:#463a55;border:var(--stroke) solid #241530;box-shadow:var(--shadow-l);rotate:-1deg;outline:3px dashed rgba(36,21,48,.55);outline-offset:-13px}
.fam-ann__t{display:inline-block;padding:.34em .8em .2em;margin-bottom:12px;background:#241530;color:var(--yellow);font:400 .96rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em}
.fam-ann .titre{color:#241530;max-width:15ch}
.fam-ann__l{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}
.fam-ann__l li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;line-height:1.35}
.fam-ann__l svg{width:24px;height:24px;color:var(--orange)}
.fam-ann__s{position:absolute;right:clamp(8px,3%,30px);top:clamp(8px,3%,30px);font-size:.82rem}
@media(max-width:560px){.fam-ann__s{--s:84px!important;right:10px;top:10px;padding:4px;font-size:.6rem}}
.fam-elig{position:relative;overflow:hidden}
.fam-elig__r{display:grid;gap:8px;margin:14px 0}
.fam-elig__j{height:14px;border:2.5px solid #241530;border-radius:9px;overflow:hidden;background:var(--field)}
.fam-elig__j i{display:block;height:100%;width:0;background:#6FDB7A;transition:width .3s var(--ease)}
.fam-elig__tampon{position:absolute;right:14px;bottom:18px;padding:.3em .55em .16em;border:4px solid var(--red);border-radius:10px;color:var(--red);font:400 1.06rem/1 var(--display);text-transform:uppercase;rotate:-11deg;opacity:0;scale:2.2;pointer-events:none;transition:opacity .15s,scale .28s var(--ease)}
.fam-elig.is-ok .fam-elig__tampon{opacity:.92;scale:1}
@media(max-width:860px){.fam-annonce{grid-template-columns:minmax(0,1fr)}}
.fam-jour{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.4vw,18px)}
.fam-jour__c{min-width:0}
.fam-jour__c--1{grid-column:span 2;rotate:-.6deg}.fam-jour__c--2{grid-column:span 4;rotate:.4deg}.fam-jour__c--3{grid-column:span 3;rotate:.5deg}.fam-jour__c--4{grid-column:span 3;rotate:-.4deg}.fam-jour__c--5{grid-column:span 4;rotate:-.3deg}.fam-jour__c--6{grid-column:span 2;rotate:.7deg}
.fam-jour__b{position:relative;display:block;width:100%;height:clamp(290px,27vw,360px);text-align:left;background:#241530;color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);overflow:hidden;transition:transform .16s var(--ease),box-shadow .16s}
.fam-jour__c:nth-child(even) .fam-jour__b{border-radius:var(--sketch-2)}
.fam-jour__b:hover{transform:translate(-2px,-3px);box-shadow:var(--shadow-l)}
.fam-jour__i{position:absolute;inset:0}
.fam-jour__i img{width:100%;height:100%;object-fit:cover}
.fam-jour__h{position:absolute;left:10px;top:10px;font-size:.84rem;padding:.4em .7em;z-index:2}
.fam-jour__bu{position:absolute;right:10px;top:54px;max-width:min(78%,300px);font-size:.84rem;padding:.5em .8em;z-index:2}
.fam-jour__o{position:absolute;right:14px;bottom:82px;font-size:clamp(1.3rem,2.2vw,1.9rem);z-index:2}
.fam-jour__t{position:absolute;left:10px;right:10px;bottom:10px;display:grid;gap:3px;padding:8px 12px;background:#fff;border:2.5px solid #241530;border-radius:14px;z-index:3;line-height:1.28}
.fam-jour__t .titre{color:#241530}
.fam-jour__d{display:none}
.fam-jour__b[aria-expanded=true] .fam-jour__d{display:block;animation:fondu .2s}
.fam-jour__b[aria-expanded=true] .fam-jour__o{bottom:136px}
@media(max-width:860px){.fam-jour{grid-template-columns:minmax(0,1fr)}.fam-jour__c:nth-child(n){grid-column:auto}.fam-jour__b{height:268px}}
.fam-cand{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:clamp(20px,3vw,44px);align-items:start}
.fam-cand__f{--card:#fff;--field:#fff;--bg:#fff;--fg:#241530;--fg-2:#463a55;background:#fff;color:#241530}
.fam-cand__f .titre{color:#241530}
.fam-cand>.merci{grid-column:1/-1}
.fam-cand__a{position:sticky;top:100px;display:grid;gap:16px}
.fam-carte-a{position:relative;display:grid;gap:2px;padding:0 14px 12px;background:#fff;color:#241530;border:var(--stroke) solid #241530;border-radius:20px;box-shadow:var(--shadow);rotate:1.2deg;overflow:hidden}
.fam-carte-a__t{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -14px 8px;padding:7px 12px;background:var(--yellow);border-bottom:3px solid #241530;font-weight:800;line-height:1.05}
.fam-carte-a__t img{width:60px}
.fam-carte-a__s{width:74px;justify-self:center}
.fam-carte-a__n{font:400 1.32rem/1.06 var(--display);text-align:center;text-transform:uppercase;overflow-wrap:anywhere;padding-block:4px}
.fam-carte-a .ticket__l{font-size:.84rem;padding:3px 0;border-top:2px dashed rgba(36,21,48,.2)}
.fam-carte-a .ticket__l b{overflow-wrap:anywhere}
.fam-cand__p{display:flex;flex-direction:column;align-items:center}
.fam-cand__p .bulle{font-size:.86rem;margin-bottom:22px}
.fam-cand__p img{height:210px;width:auto}
@media(max-width:960px){.fam-cand{grid-template-columns:minmax(0,1fr)}.fam-cand__a{position:static}.fam-cand__p{display:none}.fam-carte-a{max-width:420px;margin-inline:auto;width:100%}}
.fam-choix3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fam-choix3 label{justify-content:center;padding:10px;text-align:center}
.fam-dispo{display:grid;grid-template-columns:clamp(62px,16%,86px) repeat(7,minmax(0,1fr));gap:4px;align-items:center;margin-bottom:6px}
.fam-dispo b{font:800 .78rem/1.1 var(--hand);text-align:center}
.fam-dispo .fam-dispo__m{text-align:left}
.fam-dispo button{height:36px;min-width:0;background:var(--field);border:2.5px solid #241530;border-radius:9px;transition:background .12s,transform .12s var(--ease)}
.fam-dispo button:hover{transform:scale(1.08)}
.fam-dispo button[aria-pressed=true]{background:#6FDB7A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241530' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4 10-11'/%3E%3C/svg%3E") center/18px no-repeat}
.fam-depot{position:relative;display:grid;gap:5px;justify-items:center;text-align:center;padding:22px 14px;background:var(--field);border:3px dashed #241530;border-radius:18px;cursor:pointer;transition:background .15s,transform .15s var(--ease)}
.fam-depot input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.fam-depot svg{width:34px;height:34px}
.fam-depot:hover,.fam-depot.is-survol{background:#FFF0A8;transform:scale(1.012)}
.fam-depot.is-recu{background:#CBF2CF;border-style:solid}
.fam-depot__t{line-height:1.3;overflow-wrap:anywhere}
.fam-depot__v{position:absolute;right:12px;top:10px;padding:.24em .5em .12em;border:3px solid var(--green);border-radius:8px;color:#1F7A2C;font:400 .96rem/1 var(--display);text-transform:uppercase;rotate:-10deg;opacity:0;scale:2;transition:opacity .15s,scale .25s var(--ease)}
.fam-depot.is-recu .fam-depot__v{opacity:1;scale:1}
.fam-depot .err{grid-row:5}

/* ---------- /contact/ ---------- */
.fam-contact{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.fam-contact__g{min-width:0}
.fam-contact__a{display:grid;gap:16px;min-width:0;position:sticky;top:96px}
@media(max-height:880px){.fam-contact__a{position:static}}
.fam-sujets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px}
.fam-sujet{position:relative;display:flex;align-items:center;gap:8px;padding:5px 9px 5px 5px;background:var(--card);color:var(--fg);border:2.5px solid #241530;border-radius:14px;cursor:pointer;font:800 .86rem/1.12 var(--hand);transition:transform .14s var(--ease),background .14s,box-shadow .14s}
.fam-sujet input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fam-sujet img{width:34px;height:34px;object-fit:contain;flex:none}
.fam-sujet:hover{transform:translate(-1px,-2px)}
.fam-sujet:has(input:checked){background:var(--c);color:#241530;box-shadow:3px 3px 0 #241530;transform:translate(-1px,-1px)}
.fam-sujet:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.fam-astuce{min-height:92px}
.fam-astuce__i{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 12px;align-items:center;animation:fondu .2s}
.fam-astuce__i img{height:92px;width:auto;max-width:70px;object-fit:contain;object-position:bottom;grid-row:span 2}
.fam-astuce__i .bulle{justify-self:start;font-size:.92rem;padding:.5em .85em;margin-bottom:26px}
.fam-astuce__i .lien-fleche{justify-self:start;font-size:.92rem}
.fam-compteur{text-align:right}
/* Le gros bouton d'envoi reste dans sa case sur les petits écrans : son libellé passe à la ligne au besoin. */
.fam-contact .form,.fam-cand .form{grid-template-columns:minmax(0,1fr)}
.fam-contact .form .btn,.fam-cand .form .btn{max-width:100%}
@media(max-width:480px){.fam-contact .form .btn--lg,.fam-cand .form .btn--lg{padding-inline:.8em}}
@media(max-width:960px){.fam-contact{grid-template-columns:minmax(0,1fr)}.fam-contact__a{position:static}}
.fam-copie{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:4px;vertical-align:-7px;background:var(--yellow);color:#241530;border:2px solid #241530;border-radius:8px;transition:transform .15s var(--ease)}
.fam-copie:hover{transform:scale(1.12) rotate(-6deg)}
.fam-copie svg{width:15px;height:15px}
.fam-carte{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(18px,2.6vw,36px);align-items:start}
.fam-carte__rue{min-height:clamp(290px,31vw,430px);--p:polygon(0 0,100% 2%,97% 100%,2% 97%);--c:#FFD90F;color:#241530}
.fam-carte__rec{position:absolute;left:14px;top:16px;z-index:2}
.fam-carte__secret{position:absolute;right:13%;bottom:14%;width:40px;height:40px;z-index:3;opacity:.88}
@media(max-width:860px){.fam-carte{grid-template-columns:minmax(0,1fr)}.fam-carte__rue{min-height:0;aspect-ratio:16/10}}
.fam-rapide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-rapide__l{display:grid;gap:30px}
.fam-rapide__q{justify-self:end;text-decoration:none;max-width:min(420px,100%);transition:transform .15s var(--ease);color:#241530}
.fam-rapide__q:nth-child(even){justify-self:start;rotate:-.8deg}
.fam-rapide__q:hover{transform:translateY(-3px) rotate(-1deg);background:var(--yellow)}
@media(max-width:860px){.fam-rapide{grid-template-columns:minmax(0,1fr)}}

/* ---------- /faq/ ---------- */
.fam-faq-h{position:relative;background:var(--green);color:#241530;--fg:#241530;--fg-2:#241530;padding-block:clamp(36px,4.4vw,64px) clamp(60px,7vw,100px);overflow:hidden;isolation:isolate}
.fam-faq-h::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,rgba(36,21,48,.14) 1.6px,transparent 2px);background-size:12px 12px}
.fam-faq-h__g{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(14px,3vw,44px);align-items:center}
.fam-faq-h__t{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fam-faq-h__t .fil{margin:0}
.fam-faq-h__t .sur{margin:0}
.fam-faq-h__t h1{font-size:clamp(2.2rem,5.2vw,4.2rem)}
.fam-faq-q{position:relative;display:flex;align-items:center;width:min(640px,100%)}
.fam-faq-q>svg{position:absolute;left:15px;width:24px;height:24px;color:#241530;z-index:1;pointer-events:none}
.fam-faq-q .input{padding-left:50px;min-height:60px;font-size:1.08rem;background:#fff;color:#241530;box-shadow:var(--shadow-s)}
.fam-faq-q .input::placeholder{color:#73677f}
.fam-faq-sugg{font-weight:700}
.fam-faq-h__p{position:relative;display:flex;flex-direction:column;align-items:center;gap:0}
.fam-faq-h__p .elium{--w:clamp(130px,17vw,230px)}
.fam-faq-h__b .bulle{font-size:.92rem;margin-bottom:20px}
@media(max-width:760px){.fam-faq-h__g{grid-template-columns:minmax(0,1fr)}.fam-faq-h__p{flex-direction:row;justify-content:flex-end;order:-1;margin-bottom:-6px}.fam-faq-h__p .elium{--w:96px}}
.fam-faq{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.fam-faq__a{position:sticky;top:96px;display:grid;gap:10px;min-width:0}
.fam-faq__rub{display:grid;gap:7px}
.fam-faq__c{display:flex;align-items:center;gap:9px;width:100%;padding:5px 11px 5px 6px;background:var(--card);color:var(--fg);border:2.5px solid #241530;border-radius:14px;font:800 .92rem/1.12 var(--hand);text-align:left;transition:transform .14s var(--ease),background .14s,box-shadow .14s}
.fam-faq__c img{width:32px;height:32px;object-fit:contain;flex:none}
.fam-faq__c b{margin-left:auto;font:400 .92rem/1 var(--display);padding-top:.1em}
.fam-faq__c:hover{transform:translateX(3px)}
.fam-faq__c[aria-pressed=true]{background:var(--c);color:#241530;box-shadow:3px 3px 0 #241530}
.fam-faq__c[disabled]{opacity:.42;cursor:default;transform:none}
.fam-faq__n{margin:0 0 14px;font-size:1.02rem}
.fam-faq__n b{font:400 1.3rem/1 var(--display)}
.fam-faq__s{margin-bottom:clamp(26px,3vw,40px);scroll-margin-top:100px}
.fam-faq__st{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.fam-faq__st img{width:48px;height:48px;object-fit:contain}
.fam-faq__d{scroll-margin-top:110px}
.fam-faq__d:target,.fam-faq__d.is-cible{outline:4px solid var(--pink);outline-offset:2px}
.fam-faq__d summary{color:var(--fg)}
.fam-faq__d .acc__c a{font-weight:700;color:var(--blue);text-underline-offset:3px}
:root[data-theme=nuit] .fam-faq__d .acc__c a{color:var(--cyan)}
.fam-faq__d mark,.fam-mark{background:var(--yellow);color:#241530;padding:0 .12em;border-radius:3px}
.fam-faq__u{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:12px;padding-top:9px;border-top:2.5px dashed rgba(36,21,48,.2)}
:root[data-theme=nuit] .fam-faq__u{border-top-color:rgba(255,255,255,.2)}
.fam-faq__u .chip{font-size:.8rem;padding:.2em .7em}
.fam-faq__lien{width:34px;height:34px;margin-left:auto}
.fam-faq__lien svg{width:17px;height:17px}
.fam-faq__v{display:flex;gap:18px;align-items:center;text-align:left}
.fam-faq__v img{height:190px;width:auto;flex:none}
.fam-faq__fin{display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:space-between;align-items:center;margin-top:10px}
@media(max-width:900px){
  .fam-faq{grid-template-columns:minmax(0,1fr)}
  .fam-faq__a{position:static}
  .fam-faq__rub{display:flex;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin;margin-inline:-2px}
  .fam-faq__c{flex:none;width:auto;white-space:nowrap}
}
@media(max-width:520px){.fam-faq__v{flex-direction:column;text-align:center}.fam-faq__v .stack{align-items:center!important}.fam-faq__v img{height:140px}}

/* ---------- Pages légales ---------- */
.fam-leg__h{padding-top:clamp(26px,3.2vw,44px)}
.fam-leg__case{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(20px,3.6vw,46px);padding-right:clamp(20px,25%,300px);background:var(--c);color:#241530;--fg:#241530;--fg-2:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-l);margin-top:24px}
.fam-leg__case .fil{margin:0}
.fam-leg__case .sur{margin:0}
.fam-leg__case h1{font-size:clamp(1.9rem,4.8vw,3.8rem)}
.fam-leg__case .lead{color:#241530;max-width:58ch}
.fam-leg__perso{position:absolute;right:clamp(10px,4%,56px);bottom:0;height:calc(100% + 34px);width:auto;max-width:22%;object-fit:contain;object-position:bottom;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.4));pointer-events:none}
@media(max-width:640px){.fam-leg__case{padding-right:20px;margin-top:10px}.fam-leg__perso{display:none}}
.fam-leg__g{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(20px,3.6vw,56px);align-items:start}
.fam-leg__a{position:sticky;top:96px;display:grid;gap:14px;min-width:0}
.fam-leg__toc{padding:14px;background:var(--card);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow-s)}
.fam-leg__toc>.titre{display:block;padding-left:8px}
.fam-leg__toc ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.fam-leg__toc a{display:block;padding:4px 8px;border-radius:9px;font-weight:700;font-size:.88rem;line-height:1.2;text-decoration:none}
.fam-leg__toc a:hover{background:var(--paper-2)}
.fam-leg__toc a.is-on{background:var(--yellow);color:#241530}
.fam-leg__clair{padding:12px 14px}
.fam-leg__o{justify-content:flex-start}
.fam-leg__c{min-width:0;display:grid;gap:clamp(4px,1vw,10px)}
.fam-leg__s{padding-block:clamp(16px,2.2vw,28px);border-bottom:3px dashed rgba(36,21,48,.2);scroll-margin-top:100px}
:root[data-theme=nuit] .fam-leg__s{border-bottom-color:rgba(255,255,255,.2)}
.fam-leg__s h2{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.fam-leg__n{flex:none;display:grid;place-items:center;width:42px;height:42px;background:var(--yellow);color:#241530;border:3px solid #241530;border-radius:50%;font:400 1.1rem/1 var(--display);padding-top:.1em}
.fam-leg__s .prose{max-width:none}
.fam-leg__b{margin-top:30px}
.fam-leg__b .bulle{font-size:.96rem;max-width:min(52ch,100%)}
.fam-leg.is-sans-clair .fam-leg__b{display:none}
.fam-idc{margin-bottom:14px;background:var(--card);border:var(--stroke) solid #241530;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.fam-idc__t{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--yellow);color:#241530;border-bottom:3px solid #241530;font-weight:800}
.fam-idc__t img{width:92px}
.fam-idc__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:16px}
.fam-idc__g dt{font:800 .82rem/1.2 var(--hand);opacity:.82}
.fam-idc__g dd{margin:0;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.fam-ici{margin-bottom:14px;display:grid;gap:10px}
.fam-ici__t{display:flex;align-items:center;gap:12px}
.fam-ici__t img{width:50px;height:auto}
.fam-ici__l{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.92rem}
.fam-ici__l li{display:flex;justify-content:space-between;gap:12px;padding:4px 10px;background:var(--paper-2);border-radius:9px}
.fam-droit{margin-top:22px}
@media(max-width:900px){.fam-leg__g{grid-template-columns:minmax(0,1fr)}.fam-leg__a{position:static}}
@media(max-width:560px){.fam-idc__g{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Accessibilité */
.fam-acc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(20px,3.6vw,48px);align-items:start}
.fam-acc__r .reglage{border-bottom-color:rgba(36,21,48,.2)}
:root[data-theme=nuit] .fam-acc__r .reglage{border-bottom-color:rgba(255,255,255,.2)}
.fam-apercu{position:relative;padding:clamp(22px,3vw,30px) clamp(16px,2.4vw,26px);background:var(--card);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);rotate:.6deg}
.fam-apercu__r{position:absolute;left:14px;top:-16px}
.fam-apercu .bulle{margin-bottom:16px}
.fam-acc2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);align-items:start}
.fam-kbd{display:inline-block;padding:.08em .5em;background:#fff;color:#241530;border:2px solid #241530;border-bottom-width:4px;border-radius:7px;font:700 .82rem/1.5 var(--text)}
@media(max-width:860px){.fam-acc,.fam-acc2{grid-template-columns:minmax(0,1fr)}}

/* ---------- /plan-du-site/ ---------- */
.fam-tresor-h{position:relative;background:#E9B676;color:#241530;--fg:#241530;--fg-2:#241530;padding-block:clamp(36px,4.4vw,64px) clamp(30px,3.8vw,54px);overflow:hidden;isolation:isolate}
.fam-tresor-h::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,rgba(36,21,48,.12) 1.5px,transparent 1.9px);background-size:12px 12px}
.fam-tresor-h__g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.fam-tresor-h__g .lead{color:#241530;margin:10px 0 14px;font-weight:700}
.fam-tresor-h__s{width:clamp(96px,17vw,220px);rotate:7deg;filter:drop-shadow(4px 5px 0 rgba(36,21,48,.55))}
.fam-tresor{background:#FFEEC4;color:#241530;--fg:#241530;--fg-2:#463a55;border-top:var(--stroke) solid #241530;background-image:radial-gradient(circle at 12% 8%,rgba(138,90,51,.18),transparent 26%),radial-gradient(circle at 88% 40%,rgba(138,90,51,.14),transparent 30%),radial-gradient(circle at 30% 90%,rgba(138,90,51,.16),transparent 30%)}
.fam-iles{columns:3 290px;column-gap:clamp(20px,3vw,40px)}
.fam-ile{position:relative;break-inside:avoid;margin-bottom:clamp(30px,3.6vw,46px);padding:0 0 12px;background:#FFF7E3;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);overflow:visible}
.fam-ile:nth-child(even){border-radius:var(--sketch-2);rotate:.5deg}
.fam-ile:nth-child(odd){rotate:-.5deg}
.fam-ile::after{content:"";position:absolute;left:50%;bottom:calc(-1 * clamp(30px,3.6vw,46px) - 3px);height:clamp(30px,3.6vw,46px);border-left:4px dashed #8A5A33}
.fam-ile__t{display:flex;align-items:center;gap:10px;padding:7px 12px;margin-bottom:8px;background:var(--c);border-bottom:var(--stroke) solid #241530;border-radius:15px 15px 0 0;font:400 1.14rem/1.08 var(--display);text-transform:uppercase}
.fam-ile__t img{width:38px;height:38px;object-fit:contain;flex:none}
.fam-ile__t a{text-decoration:none}
.fam-ile__t a:hover{text-decoration:underline}
.fam-ile ul{list-style:none;margin:0;padding:0 14px;display:grid;gap:2px}
.fam-ile li a{display:block;padding:2px 6px;border-radius:7px;font-weight:700;font-size:.9rem;line-height:1.24;text-decoration:none}
.fam-ile li a:hover{background:var(--yellow)}
.fam-iles__v{column-span:all;background:#fff}
.fam-tresor-q{margin-bottom:6px}
/* Le bout de la carte : le pointillé mène au trésor, gardé par le chien. Remplit le bas de la dernière colonne. */
.fam-ile-fin{position:relative;break-inside:avoid;display:grid;justify-items:center;gap:0;margin-top:calc(-1 * clamp(30px,3.6vw,46px));padding:clamp(40px,8vw,120px) 0 clamp(30px,3.6vw,46px)}
.fam-ile-fin::before{content:"";position:absolute;left:50%;top:0;height:clamp(34px,7.6vw,112px);border-left:4px dashed #8A5A33}
.fam-ile-fin__b{justify-self:start;margin-bottom:24px;font-size:.96rem}
.fam-ile-fin__c{position:relative;z-index:1;height:clamp(180px,28vw,400px);width:auto;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.45))}
.fam-ile-fin__x{position:absolute;right:6%;bottom:clamp(40px,5vw,72px);width:clamp(60px,6vw,84px);aspect-ratio:1}
.fam-ile-fin__x::before,.fam-ile-fin__x::after{content:"";position:absolute;left:0;top:calc(50% - 9px);width:100%;height:18px;background:var(--red);border:3px solid #241530;border-radius:6px;rotate:45deg}
.fam-ile-fin__x::after{rotate:-45deg}
@media(max-width:560px){
  .fam-tresor-h__g{grid-template-columns:minmax(0,1fr)}
  .fam-tresor-h h1{max-width:calc(100% - 96px)}
  .fam-tresor-h__s{position:absolute;right:14px;top:60px;width:88px}
  .fam-ile ul{display:block;columns:2;column-gap:4px;padding:0 10px}
  .fam-ile li{break-inside:avoid}
  .fam-ile li a{padding:3px 5px;font-size:.84rem}
}

/* ---------- /404.html ---------- */
.fam-404{padding-block:clamp(26px,3vw,44px) clamp(40px,5vw,70px)}
.fam-404__planche{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.76fr) minmax(0,1.1fr);gap:clamp(10px,1.4vw,18px);margin-bottom:clamp(24px,3vw,40px);align-items:stretch}
.fam-404__c{position:relative;min-height:clamp(300px,31vw,420px);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);min-width:0}
.fam-404__c--1{overflow:hidden;background:#241530;rotate:-.8deg}
.fam-404__c--1>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fam-404__rec{position:absolute;left:10px;top:10px;z-index:2;font-size:.84rem}
.fam-404__b{position:absolute;left:10px;top:58px;max-width:62%;font-size:.88rem;padding:.5em .85em;z-index:3}
.fam-404__eliot{position:absolute;right:0;bottom:0;width:52%;z-index:2}
.fam-404__manque{display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:12px;border-style:dashed;box-shadow:none;background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(36,21,48,.07) 12px 24px);rotate:1.8deg;outline:none}
.fam-404__num{font:400 clamp(3.2rem,8.6vw,7rem)/1 var(--display);color:var(--yellow);-webkit-text-stroke:.07em #241530;paint-order:stroke fill;text-shadow:.05em .07em 0 #241530;rotate:-7deg}
.fam-404__txt{margin:0;font-size:1.08rem;font-weight:800}
.fam-404__rempli{display:grid;gap:8px;justify-items:center;animation:pop .34s var(--ease)}
.fam-404__manque.is-repare{border-style:solid;background:var(--yellow);color:#241530;box-shadow:var(--shadow)}
.fam-404__manque.is-repare .fam-404__num,.fam-404__manque.is-repare .fam-404__txt,.fam-404__manque.is-repare .fam-404__ciseaux{display:none}
.fam-404__ciseaux{position:absolute;right:8px;top:8px;width:24px;height:24px;opacity:.55}
.fam-404__ciseaux svg{width:100%;height:100%}
.fam-404__c--3{background:#D79BF2;rotate:.6deg}
.fam-404__fond{position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(circle,rgba(36,21,48,.16) 1.6px,transparent 2px);background-size:11px 11px}
.fam-404__eduard{position:absolute;right:6%;bottom:0;height:calc(100% + 26px);width:auto;max-width:52%;object-fit:contain;object-position:bottom;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.45))}
.fam-404__b2{position:absolute;left:10px;top:12px;max-width:54%;font-size:.88rem;padding:.5em .85em;z-index:3}
.fam-404__g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,3vw,44px);align-items:start}
.fam-404__q{width:100%;margin-top:6px}
@media(max-width:480px){.fam-404__q .input::placeholder{font-size:.8rem}}
.fam-404__res{display:grid;gap:4px;margin-top:8px}
.fam-404__sugg{margin-bottom:10px}
.fam-404__opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fam-404__o{display:grid;gap:5px;justify-items:center;align-content:start;padding:8px 6px;background:var(--c);color:#241530;border:2.5px solid #241530;border-radius:14px;box-shadow:3px 3px 0 #241530;font:800 .8rem/1.12 var(--hand);transition:transform .14s var(--ease)}
.fam-404__o:hover{transform:translateY(-3px) rotate(-1.5deg)}
.fam-404__o img{height:50px;width:auto;object-fit:contain}
.fam-404__l{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.fam-404__l a{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;background:var(--card);border:2.5px solid #241530;border-radius:12px;font:800 .86rem/1.12 var(--hand);text-decoration:none;transition:transform .14s var(--ease),background .14s}
.fam-404__l a:hover{background:var(--yellow);color:#241530;transform:translateX(3px)}
.fam-404__l img{width:30px;height:30px;object-fit:contain;flex:none}
@media(max-width:860px){
  .fam-404__planche{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fam-404__manque{grid-column:1/-1;grid-row:2;min-height:150px}
  .fam-404__g{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){.fam-sujet{font-size:.8rem;gap:6px}.fam-sujet img{width:28px;height:28px}}
.fam-en-h__p .etoiles{color:var(--orange)}
@media(max-width:520px){.fam-404__c--1,.fam-404__c--3{min-height:310px}.fam-404__rec{font-size:.74rem;padding:.35em .6em}.fam-404__b{top:76px;max-width:82%;font-size:.8rem}.fam-404__b2{max-width:66%;font-size:.8rem}.fam-404__eduard{max-width:46%;right:2%}}

/* ---------- /en/ ---------- */
.fam-en-h{position:relative;overflow:hidden;background:var(--yellow);color:#241530;--fg:#241530;--fg-2:#3c2d4b;padding-block:clamp(26px,3.4vw,46px) clamp(66px,8vw,110px);isolation:isolate}
.fam-en-h .rayons{z-index:-2}
.fam-en-h::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 74% 44%,rgba(255,255,255,.62),transparent 60%)}
.fam-en-h .rayons{animation:none}
.fam-en-h__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(14px,3vw,44px);align-items:center}
.fam-en-h__t{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.fam-en-h__t h1{font-size:clamp(2.4rem,5.4vw,4.6rem)}
.fam-en-h__t h1 em{font-style:normal;color:var(--cyan)}
.fam-en-h__t .lead{color:#241530;font-weight:700;margin:0;max-width:48ch}
.fam-en-h__p{display:flex;flex-wrap:wrap;gap:6px 18px;font-weight:700;font-size:.92rem}
.fam-en-h__p b{font:400 1.2rem/1 var(--display)}
.fam-en-h__v{position:relative;max-width:520px;justify-self:center}
.fam-en-h__v>img{filter:drop-shadow(7px 8px 0 rgba(36,21,48,.9))}
.fam-en-h__b{position:absolute;left:-2%;top:0;z-index:2;max-width:46%}
.fam-en-h__b .bulle{font-size:.92rem}
@media(max-width:860px){.fam-en-h__g{grid-template-columns:minmax(0,1fr)}.fam-en-h__v{margin-top:26px;max-width:440px}.fam-en-h__b{top:-8%}}
.fam-en-o{display:grid;gap:clamp(30px,4.6vw,64px)}
.fam-en-c{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
.fam-en-c--b{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.fam-en-c--b .fam-en-c__v{order:2;rotate:.8deg}
.fam-en-c__v{position:relative;aspect-ratio:16/9.6;background:var(--c);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-l);overflow:hidden;rotate:-.8deg}
.fam-en-c__v img{width:100%;height:100%;object-fit:cover}
.fam-en-c__v .onoma{position:absolute;right:14px;bottom:18px;font-size:clamp(1.6rem,3.4vw,2.8rem)}
.fam-en-c__x{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-left:clamp(-70px,-5vw,-28px);padding:clamp(16px,2.4vw,28px);background:var(--card);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow);rotate:.5deg}
.fam-en-c--b .fam-en-c__x{margin-left:0;margin-right:clamp(-70px,-5vw,-28px)}
.fam-en-c__x p{margin:0;color:var(--fg-2)}
@media(max-width:860px){.fam-en-c,.fam-en-c--b{grid-template-columns:minmax(0,1fr)}.fam-en-c--b .fam-en-c__v{order:0}.fam-en-c__x,.fam-en-c--b .fam-en-c__x{margin:-22px 8px 0}.fam-en-c__v .onoma{bottom:34px}}
.fam-en-cave{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:center}
.fam-en-cave__l{display:block;transition:transform .2s var(--ease)}
.fam-en-cave__l:hover{transform:rotate(-1.4deg) scale(1.02)}
.fam-en-cave__l img{border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:10px 10px 0 #000}
@media(max-width:860px){.fam-en-cave{grid-template-columns:minmax(0,1fr)}}
.fam-en-mots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.fam-mot{position:relative;perspective:900px}
.fam-mot__b{display:block;width:100%;aspect-ratio:3/3.7}
.fam-mot__in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,1.3,.5,1)}
.fam-mot__b[aria-pressed=true] .fam-mot__in{transform:rotateY(180deg)}
.fam-mot__f,.fam-mot__d{position:absolute;inset:0;display:grid;gap:4px;place-items:center;align-content:center;padding:8px;text-align:center;color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);backface-visibility:hidden;-webkit-backface-visibility:hidden;font-family:var(--hand);line-height:1.1}
.fam-mot__f{background:var(--c)}
.fam-mot__f img{width:min(66%,124px);height:auto;aspect-ratio:1;object-fit:contain}
.fam-mot__f b,.fam-mot__d b{font-weight:800;font-size:1.02rem}
.fam-mot__d{background:#fff;transform:rotateY(180deg)}
.fam-mot__d b{font:400 clamp(1.1rem,1.8vw,1.4rem)/1.05 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.fam-mot__s{position:absolute;right:-6px;top:-8px;display:grid;place-items:center;width:32px;height:32px;background:var(--yellow);color:#241530;border:2.5px solid #241530;border-radius:50%;z-index:2}
.fam-mot__s svg{width:16px;height:16px}
@media(max-width:1000px){.fam-en-mots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.fam-en-mots{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fam-en-v{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px 40px;align-items:center}
@media(max-width:860px){.fam-en-v{grid-template-columns:minmax(0,1fr)}}

/* ---------- /journal/ : la gazette ---------- */
.fam-gaz-h{background:var(--white);padding-top:clamp(36px,4.4vw,64px)}
.fam-gaz__tete{text-align:center;border-top:7px double currentColor;border-bottom:7px double currentColor;padding-block:6px 10px;margin-bottom:16px}
.fam-gaz__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding-bottom:5px;border-bottom:2px solid currentColor;font:700 .84rem/1.3 var(--hand)}
.fam-gaz__titre{font:400 clamp(2.5rem,9.4vw,7.4rem)/.96 var(--display);text-transform:uppercase;letter-spacing:.005em;padding-top:.12em}
.fam-gaz__dev{margin:4px 0 0;font:600 clamp(.96rem,1.6vw,1.18rem)/1.3 var(--hand)}
.fam-gaz__f{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 22px;padding-bottom:16px}
.fam-gaz{background:var(--white);padding-top:12px;padding-bottom:clamp(64px,9vw,120px)}
.fam-gaz__g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.2vw,28px)}
.fam-gaz__a{position:relative;grid-column:span 4;min-width:0}
.fam-gaz__a--une{grid-column:span 8}
.fam-gaz__a:nth-child(5){grid-column:span 4}
.fam-gaz__a:nth-child(6){grid-column:1/-1}
.fam-gaz__l{display:flex;flex-direction:column;height:100%;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;transition:transform .18s var(--ease),box-shadow .18s}
.fam-gaz__a:nth-child(even) .fam-gaz__l{border-radius:var(--sketch-2)}
.fam-gaz__l:hover{transform:translate(-3px,-3px) rotate(-.5deg);box-shadow:var(--shadow-l)}
.fam-gaz__v{position:relative;display:block;aspect-ratio:16/9.5;overflow:hidden;background:var(--c);border-bottom:var(--stroke) solid #241530}
.fam-gaz__v::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(36,21,48,.14) 1.3px,transparent 1.7px);background-size:8px 8px;pointer-events:none}
.fam-gaz__v img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.fam-gaz__l:hover .fam-gaz__v img{transform:scale(1.05)}
.fam-gaz__a--portrait .fam-gaz__v img,.fam-gaz__a--carre .fam-gaz__v img{object-fit:contain;padding:10px}
.fam-gaz__x{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 16px 16px;flex:1}
.fam-gaz__h{font:400 clamp(1.16rem,1.8vw,1.46rem)/1.08 var(--display);text-transform:uppercase;padding-top:.06em}
.fam-gaz__d{font-size:.92rem;line-height:1.4;color:var(--fg-2)}
.fam-gaz__m{margin-top:auto;padding-top:4px;font-weight:700}
.fam-gaz__a--une .fam-gaz__l,.fam-gaz__a:nth-child(6) .fam-gaz__l{flex-direction:row}
.fam-gaz__a--une .fam-gaz__v,.fam-gaz__a:nth-child(6) .fam-gaz__v{flex:0 0 46%;aspect-ratio:auto;border-bottom:0;border-right:var(--stroke) solid #241530;min-height:300px}
.fam-gaz__a--une .fam-gaz__h{font-size:clamp(1.7rem,3.2vw,2.7rem)}
.fam-gaz__a--une .fam-gaz__d{font-size:1.04rem}
.fam-gaz__o{position:absolute;left:-8px;top:-16px;z-index:3;font-size:clamp(1.5rem,3vw,2.5rem)}
.fam-gaz__g.is-filtre .fam-gaz__a{grid-column:span 6}
@media(max-width:860px){
  .fam-gaz__a:nth-child(n),.fam-gaz__g.is-filtre .fam-gaz__a{grid-column:1/-1}
  .fam-gaz__a--une .fam-gaz__l,.fam-gaz__a:nth-child(6) .fam-gaz__l{flex-direction:column}
  .fam-gaz__a--une .fam-gaz__v,.fam-gaz__a:nth-child(6) .fam-gaz__v{flex:none;aspect-ratio:16/9.5;min-height:0;border-right:0;border-bottom:var(--stroke) solid #241530}
}
.fam-news{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(20px,4vw,56px);align-items:center}
.fam-news>.merci{grid-column:1/-1}
.fam-news .lead{color:#241530}
.fam-news__f{display:flex;flex-wrap:wrap;gap:10px}
.fam-news__f .input{flex:1 1 220px;min-width:0;background:#fff;color:#241530}
.fam-news__ig{display:grid;gap:4px;justify-items:center;text-align:center;padding:16px;background:#fff;color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);rotate:2deg;text-decoration:none;transition:transform .16s var(--ease)}
.fam-news__ig:hover{transform:rotate(-1deg) scale(1.03)}
.fam-news__ig svg{width:44px;height:44px}
.fam-news__ig .titre{color:#241530}
@media(max-width:760px){.fam-news{grid-template-columns:minmax(0,1fr)}}

/* Article */
.fam-prog{position:fixed;left:0;right:0;top:0;height:6px;z-index:70;pointer-events:none}
.fam-prog i{display:block;width:100%;height:100%;background:var(--pink);transform:scaleX(0);transform-origin:left;box-shadow:0 2px 0 #241530}
.fam-art__h{position:relative;background:var(--c);color:#241530;--fg:#241530;--fg-2:#241530;padding-block:clamp(22px,3vw,40px);border-bottom:var(--stroke) solid #241530;isolation:isolate;overflow:hidden}
.fam-art__h::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,rgba(36,21,48,.14) 1.5px,transparent 1.9px);background-size:12px 12px}
.fam-art__hg{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(18px,4vw,56px);align-items:center}
.fam-art__ht{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.fam-art__ht .fil{margin:0}
.fam-art__ht .tag:hover{transform:rotate(-2deg)}
.fam-art__ht h1{font-size:clamp(1.9rem,4.4vw,3.5rem)}
.fam-art__ht .lead{color:#241530}
.fam-art__m{display:flex;flex-wrap:wrap;gap:4px 16px;font-weight:700}
.fam-art__m span{display:inline-flex;align-items:center;gap:6px}
.fam-art__m svg{width:17px;height:17px}
.fam-art__hv{min-width:0}
.fam-art__hv img{display:block;border:var(--stroke) solid #241530}
.fam-art__h--portrait .fam-art__hv img,.fam-art__h--carre .fam-art__hv img{max-height:min(420px,70vw);width:auto;max-width:100%;margin-inline:auto;border-radius:4px 10px 10px 4px;box-shadow:8px 8px 0 #241530;rotate:2.5deg}
.fam-art__h--scene .fam-art__hv img{width:100%;aspect-ratio:16/10.4;object-fit:cover;border-radius:var(--sketch);box-shadow:8px 8px 0 #241530;rotate:1.6deg}
.fam-art__g{display:grid;grid-template-columns:136px minmax(0,780px);justify-content:center;gap:clamp(18px,3.4vw,52px);padding-block:clamp(30px,4vw,56px) clamp(64px,9vw,120px);align-items:start}
.fam-art__a{position:sticky;top:96px;display:grid;gap:7px}
.fam-art__ab{display:flex;align-items:center;gap:8px;width:100%;padding:6px 9px;background:var(--card);color:var(--fg);border:2.5px solid #241530;border-radius:12px;font:800 .82rem/1.1 var(--hand);text-decoration:none;text-align:left;transition:transform .14s var(--ease),background .14s}
.fam-art__ab svg{width:18px;height:18px;flex:none}
.fam-art__ab:hover{background:var(--yellow);color:#241530;transform:translateX(3px)}
.fam-art__ab[aria-pressed=true]{background:var(--pink);color:#241530}
.fam-art__c{min-width:0;max-width:780px}
.fam-art__p{max-width:none;font-size:1.04rem}
.fam-art__p::after{content:"";display:block;clear:both}
.fam-art__p>p:first-of-type::first-letter{float:left;margin:.1em .1em 0 0;font:400 3.25em/.8 var(--display);color:var(--orange);-webkit-text-stroke:.03em #241530;paint-order:stroke fill}
.fam-art__p ul{display:grid;gap:8px}
.fam-art__fig{margin:1.5em auto;max-width:min(100%,480px)}
.fam-art__fig img{display:block;width:100%;margin:0;box-shadow:var(--shadow)}
.fam-art__fig figcaption{position:relative;display:inline-block;margin:-14px 0 0 12px;padding:.32em .8em;background:var(--yellow);color:#241530;border:2.5px solid #241530;font:700 .86rem/1.3 var(--hand);rotate:-.8deg;max-width:calc(100% - 24px)}
.fam-art__fig--d{float:right;width:min(46%,340px);margin:.3em 0 1em 1.6em}
.fam-art__fig--l{max-width:100%}
.fam-art__duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fam-art__duo .fam-art__fig{margin-block:1em}
.fam-art__disc{display:flex;flex-wrap:wrap;gap:8px;margin:1em 0 1.3em}
.fam-art__disc span{--c-txt:#241530;padding:.28em .7em;background:var(--c);color:var(--c-txt);border:2.5px solid #241530;border-radius:10px;font:800 .9rem/1.3 var(--hand);box-shadow:2px 2px 0 #241530}
.fam-art__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:30px;padding:12px 18px;background:var(--card);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow)}
.fam-lies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,30px)}
@media(max-width:860px){
  .fam-art__hg{grid-template-columns:minmax(0,1fr)}
  .fam-art__g{grid-template-columns:minmax(0,1fr)}
  .fam-art__a{position:static;display:flex;flex-wrap:wrap}
  .fam-art__ab{width:auto}
  .fam-lies{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:520px){.fam-art__fig--d{float:none;width:100%;margin:1.5em 0}.fam-art__duo{grid-template-columns:minmax(0,1fr)}}

/* ---------- /le-savais-tu/ ---------- */
.fam-sav-h{position:relative;background:var(--violet);color:#fff;--fg:#fff;--fg-2:#E9DEFF;padding-block:clamp(36px,4.4vw,64px) clamp(66px,8vw,110px);overflow:hidden;isolation:isolate}
.fam-sav-h::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at 20% 30%,#fff 1.5px,transparent 2px),radial-gradient(circle at 70% 60%,#FFD90F 1.5px,transparent 2px),radial-gradient(circle at 40% 80%,#fff 1px,transparent 1.6px);background-size:110px 110px,170px 170px,70px 70px;opacity:.42}
.fam-sav-h__g{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(14px,3vw,44px);align-items:center}
.fam-sav-h__t{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.fam-sav-h__t .fil{margin:0}
.fam-sav-h__t .fil a{color:inherit}
.fam-sav-h__t .lead{color:#E9DEFF;margin:0;max-width:52ch}
.fam-sav-h__t h1{font-size:clamp(2.2rem,5vw,4.2rem)}
.fam-sav-h__v{position:relative;min-height:clamp(320px,31vw,410px);display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-right:clamp(90px,30%,190px)}
.fam-rond{display:inline-grid;place-items:center;flex:none;width:clamp(92px,10vw,132px);aspect-ratio:1;padding:6px;background:#4A1F8F;color:#fff;border:var(--stroke) solid #241530;border-radius:50%;box-shadow:var(--shadow-s);font:800 clamp(.92rem,1.5vw,1.2rem)/1.05 var(--hand);text-align:center;rotate:-8deg}
.fam-sav-h .fam-rond{background:var(--yellow);color:#241530;margin-bottom:-10px;z-index:2}
.fam-fait{display:grid;gap:12px;justify-items:start;width:100%}
.fam-fait__b{font-size:clamp(.94rem,1.4vw,1.1rem);margin-bottom:12px;max-width:100%}
.fam-fait__b.is-pop{animation:pop .3s var(--ease)}
.fam-sav-h__p{position:absolute;right:0;bottom:-90px;height:calc(100% + 60px);width:auto;max-width:34%;object-fit:contain;object-position:bottom;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.5))}
@media(max-width:900px){.fam-sav-h__g{grid-template-columns:minmax(0,1fr)}.fam-sav-h__v{min-height:300px;margin-top:10px}}
.fam-sav{display:grid;grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.fam-plc{position:sticky;top:92px;display:grid;gap:10px;padding:14px;background:var(--yellow);color:#241530;--card:#fff;--fg:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);max-height:calc(100dvh - 110px);overflow:auto}
.fam-plc .titre{color:#241530}
.fam-plc__t{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;align-items:center;line-height:1.2}
.fam-plc__t img{width:54px;height:54px;object-fit:contain}
.fam-plc__in{display:contents}
.fam-plc__c .chip{padding:.2em .62em;border-width:2px;font-size:.8rem;background:#fff;color:#241530}
.fam-plc__c .chip[aria-pressed=true]{background:#6FDB7A;box-shadow:2px 2px 0 #241530}
.fam-plc__r{margin:0;font-size:.94rem;line-height:1.25;font-weight:800}
.fam-sav__g{min-width:0}
.fam-sav__o{display:grid;gap:10px;margin-bottom:24px}
.fam-sav__q{width:100%}
.fam-sav__q .input{min-height:52px}
.fam-sav__fl{display:grid;gap:7px}
.fam-sav__fl .chip{font-size:.84rem;padding:.26em .78em}
.fam-xps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(255px,100%),1fr));gap:clamp(30px,3vw,40px) clamp(18px,2.2vw,28px)}
.fam-xpc{position:relative;min-width:0}
.fam-xpc:nth-child(3n+1){rotate:-.8deg}.fam-xpc:nth-child(3n+2){rotate:.6deg}.fam-xpc:nth-child(3n){rotate:-.3deg}
.fam-xpc__l{position:relative;display:flex;flex-direction:column;height:100%;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);text-decoration:none;transition:transform .18s var(--ease),box-shadow .18s}
.fam-xpc:nth-child(even) .fam-xpc__l{border-radius:var(--sketch-2)}
.fam-xpc__l:hover{transform:translate(-3px,-4px) rotate(-.7deg);box-shadow:var(--shadow-l)}
.fam-xpc__v{position:relative;display:grid;place-items:center;height:196px;padding:12px;background-color:var(--c);background-image:radial-gradient(circle,rgba(36,21,48,.14) 1.5px,transparent 1.9px);background-size:10px 10px;border-bottom:var(--stroke) solid #241530;border-radius:15px 15px 0 0}
.fam-xpc__v svg{position:absolute;left:12px;top:12px;width:calc(100% - 24px);height:calc(100% - 24px);max-width:none}
.fam-xpc__x{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1}
.fam-xpc__t{font:400 1.2rem/1.06 var(--display);text-transform:uppercase;padding-top:.05em}
.fam-xpc__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:5px}
.fam-xpc__m{font-weight:700;line-height:1.25;padding:4px 8px;background:var(--paper-2);border-radius:9px}
.fam-xpc.is-pret .fam-xpc__l{outline:4px solid #3FB54C;outline-offset:2px}
.fam-xpc.is-pret .fam-xpc__m{background:#6FDB7A;color:#241530}
@media(max-width:900px){.fam-sav{grid-template-columns:minmax(0,1fr)}.fam-plc{position:static;max-height:none}}
/* Sur téléphone, le schéma passe à gauche du texte et le placard tient sur trois lignes que l'on fait défiler : la section reste courte. */
@media(max-width:560px){
  .fam-plc__c{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:-14px;padding:2px 14px 9px;scrollbar-width:thin;scrollbar-color:#241530 transparent}
  .fam-plc__in{display:flex;flex-wrap:wrap;gap:7px 6px;width:900px}
  .fam-xps{gap:24px}
  .fam-xpc__l{flex-direction:row}
  .fam-xpc__v{flex:0 0 33%;height:auto;min-height:150px;padding:6px;border-bottom:0;border-right:var(--stroke) solid #241530;border-radius:15px 0 0 15px}
  .fam-xpc__v svg{left:5px;top:5px;width:calc(100% - 10px);height:calc(100% - 10px)}
  .fam-xpc__x{min-width:0;padding:10px 12px 12px}
  .fam-xpc__t{font-size:1.08rem}
  .fam-xpc__x .small{line-height:1.32}
}
.fam-secu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.fam-secu__l{list-style:none;counter-reset:s;margin:16px 0 0;padding:0;display:grid;gap:10px}
.fam-secu__l li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;line-height:1.3}
.fam-secu__l li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;background:#fff;color:#241530;border:3px solid #241530;border-radius:50%;font:400 1.2rem/1 var(--display);padding-top:.1em}
.fam-secu__n{--card:#fff;--fg:#241530;--fg-2:#463a55;rotate:.8deg}
@media(max-width:860px){.fam-secu{grid-template-columns:minmax(0,1fr)}}

/* Fiche d'expérience */
.fam-fi__h{position:relative;background:var(--c);color:#241530;--fg:#241530;--fg-2:#241530;padding-block:clamp(36px,4.4vw,64px) clamp(66px,7vw,96px);overflow:hidden;isolation:isolate}
.fam-fi__h::before{content:"";position:absolute;inset:-50%;z-index:-2;background:repeating-conic-gradient(from 0deg at 72% 46%,rgba(255,255,255,.34) 0 9deg,transparent 9deg 18deg)}
.fam-fi__h::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,rgba(36,21,48,.13) 1.5px,transparent 1.9px);background-size:12px 12px}
.fam-fi__hg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3.6vw,52px);align-items:center}
.fam-fi__ht{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.fam-fi__ht .fil{margin:0}
.fam-fi__ht h1{font-size:clamp(2.2rem,5vw,4.2rem)}
.fam-fi__ht .lead{color:#241530;font-weight:700}
.fam-fi__tags{display:flex;flex-wrap:wrap;gap:6px}
.fam-fi__tags .tag{font-size:.9rem}
.fam-fi__banc{position:relative;display:grid;justify-items:center;gap:10px;padding:clamp(14px,2vw,22px);padding-bottom:18px;background:#FFFBEF;color:#241530;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-l);rotate:.8deg;--fg:#241530}
.fam-fi__sch{width:min(290px,66%);padding-top:6px}
.fam-fi__sch svg{display:block;width:100%;height:auto}
.fam-fi__on{position:absolute;right:6%;top:10%;font-size:clamp(1.8rem,4vw,3.2rem);opacity:0;z-index:3;white-space:nowrap}
.fam-fi__on.is-on{animation:fam-plouf 1.5s var(--ease) both}
.fam-fi__go{position:relative;z-index:3}
.fam-fi__res{margin:0;padding:.5em .9em;background:var(--yellow);color:#241530;border:3px solid #241530;font-weight:700;font-size:.92rem;line-height:1.35;rotate:-.6deg;box-shadow:var(--shadow-s);max-width:min(40ch,calc(100% - 8px));animation:pop .26s var(--ease);position:relative;z-index:3}
.fam-fi__p{position:absolute;left:-16px;bottom:0;height:min(76%,330px);width:auto;max-width:26%;object-fit:contain;object-position:bottom;filter:drop-shadow(3px 3px 0 rgba(36,21,48,.4));pointer-events:none;z-index:2}
.fam-fi__p--eliot{height:min(52%,220px)}
.fam-fi__p--chien{height:min(50%,210px);left:-6px}
.fam-fi__b{position:absolute;right:-12px;top:-22px;max-width:min(52%,250px);z-index:4}
.fam-fi__b .bulle{font-size:.84rem;padding:.5em .85em}
@media(max-width:900px){.fam-fi__hg{grid-template-columns:minmax(0,1fr)}.fam-fi__banc{margin-top:26px}.fam-fi__b{right:-6px;top:-30px}}
/* Sur téléphone, le personnage se tient au-dessus du bouton, à côté du schéma : il n'est plus caché derrière. */
@media(max-width:520px){.fam-fi__sch{width:62%;height:186px;margin-left:26%}.fam-fi__sch svg{height:100%}.fam-fi__p,.fam-fi__p--eliot,.fam-fi__p--chien{left:-6px;top:14px;bottom:auto;height:192px;max-width:30%}.fam-fi__b{max-width:66%;right:6px}.fam-fi__on{top:26%;right:4%}}
.fam-fi__g{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:clamp(22px,3.4vw,48px);align-items:start}
.fam-fi__a{display:grid;gap:18px;min-width:0}
@media(min-width:901px) and (min-height:920px){.fam-fi__a{position:sticky;top:96px}}
.fam-mat{padding:14px 16px;background:var(--yellow);color:#241530;--fg:#241530;--field:#fff;border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);rotate:-.6deg}
.fam-mat .titre{color:#241530;margin-bottom:8px}
.fam-mat__l{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.fam-mat__l .coche{line-height:1.22}
.fam-mat__l small{display:block;font-size:.8rem;font-weight:400}
.fam-mat__l input:checked+span b{text-decoration:line-through;text-decoration-thickness:2px}
.fam-mat__p{height:12px;margin-bottom:6px;background:#fff;border:2.5px solid #241530;border-radius:9px;overflow:hidden}
.fam-mat__p i{display:block;height:100%;width:0;background:#3FB54C;transition:width .25s var(--ease)}
.fam-sec{padding:14px 16px;background:var(--orange-2);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow-s)}
.fam-sec h2{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.fam-sec h2 svg{width:24px;height:24px;flex:none}
.fam-sec ul{margin:0;padding-left:1.1em;display:grid;gap:6px;font-size:.9rem;line-height:1.38}
.fam-fi__c{display:grid;gap:clamp(22px,2.8vw,34px);min-width:0}
.fam-hyp{position:relative;display:grid;gap:10px;padding:clamp(14px,2vw,22px);padding-top:clamp(22px,2.4vw,28px);background:var(--cyan-2);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s)}
.fam-hyp__t{position:absolute;left:14px;top:-15px;padding:.26em .8em .12em;background:var(--cyan);color:#241530;border:2.5px solid #241530;border-radius:20px;font:400 .92rem/1.2 var(--display);text-transform:uppercase;rotate:-1.6deg}
.fam-hyp__r{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:8px}
.fam-hyp__o{padding:.56em .8em;background:var(--card);color:var(--fg);border:2.5px solid #241530;border-radius:14px;font:800 .94rem/1.2 var(--hand);transition:transform .14s var(--ease),background .14s}
.fam-hyp__o:hover:not([disabled]){transform:translate(-1px,-2px);background:var(--yellow);color:#241530}
.fam-hyp__o[disabled]{cursor:default;opacity:.55}
.fam-hyp__o.is-ok{background:#6FDB7A;color:#241530;opacity:1;box-shadow:3px 3px 0 #241530}
.fam-hyp__o.is-non{background:#FF8A80;color:#241530;opacity:1}
.fam-hyp__m{margin:0;font-weight:800;line-height:1.3;animation:fondu .2s}
.fam-etapes__t{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin-bottom:12px}
.fam-et{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.4vw,16px)}
.fam-et__c{min-width:0}
.fam-et__c--0,.fam-et__c--1{grid-column:span 3}
.fam-et__c--2{grid-column:span 6}
.fam-et__c--0{rotate:-.4deg}.fam-et__c--1{rotate:.5deg}
.fam-et__b{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;width:100%;height:100%;padding:12px 34px 12px 12px;background:var(--card);color:var(--fg);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s);text-align:left;line-height:1.36;transition:transform .14s var(--ease),background .14s}
.fam-et__c:nth-child(even) .fam-et__b{border-radius:var(--sketch-2)}
.fam-et__b:hover{transform:translate(-1px,-2px)}
.fam-et__n{display:grid;place-items:center;width:46px;height:46px;background:var(--c);color:#241530;border:3px solid #241530;border-radius:50%;font:400 1.5rem/1 var(--display);padding-top:.1em}
.fam-et__ok{position:absolute;right:8px;top:8px;width:24px;height:24px;color:#1F7A2C;opacity:0;transition:opacity .15s,transform .2s var(--ease);transform:scale(.3)}
.fam-et__b[aria-pressed=true]{background:#CBF2CF;color:#241530}
.fam-et__b[aria-pressed=true] .fam-et__ok{opacity:1;transform:none}
@media(max-width:640px){.fam-et{grid-template-columns:minmax(0,1fr)}.fam-et__c:nth-child(n){grid-column:auto}}
.fam-eu{padding:clamp(12px,1.8vw,20px);background:var(--card);border:var(--stroke) solid #241530;border-radius:var(--sketch-2);box-shadow:var(--shadow)}
.fam-eu__t{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.fam-eu__t .burst{flex:none;padding:1em 1.2em;margin:-6px}
.fam-eu__t .onoma{font-size:clamp(1.3rem,2.4vw,1.9rem)}
.fam-eu__tx{display:flex;flex-direction:column;align-items:flex-start;gap:7px;flex:1 1 220px;min-width:0}
.fam-eu__c{margin-top:12px;padding:12px 14px;background:var(--paper-2);border-radius:14px;font-size:1.02rem;line-height:1.5}
.js .fam-eu:not(.is-open) .fam-eu__c{display:none}
.fam-eu.is-open .fam-eu__c{animation:pop .26s var(--ease)}
.fam-rond-l{display:flex;gap:14px;align-items:center;padding:6px 0}
.fam-rond--s{width:96px;font-size:.92rem}
.fam-fi__ph{margin:0}
.fam-fi__ph img{border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow);max-height:320px;width:100%;object-fit:cover}
.fam-fi__ph figcaption{margin-top:8px;text-align:center}
.fam-var{padding:clamp(12px,1.8vw,20px);background:var(--violet-2);border:var(--stroke) solid #241530;border-radius:var(--sketch);box-shadow:var(--shadow-s)}
.fam-var ul{margin:8px 0;padding-left:1.1em;display:grid;gap:4px}
.fam-fi__at{background:var(--white)}
.fam-ate{min-height:clamp(240px,26vw,340px);--p:polygon(0 3%,100% 0,99% 100%,1% 97%);--c:#241530;color:#241530;transition:transform .18s var(--ease)}
.fam-ate:hover{transform:translateY(-3px)}
.fam-ate__x{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:min(520px,calc(100% - 36px));margin:clamp(18px,2.6vw,30px);padding:14px 16px;background:#fff;border:var(--stroke) solid #241530;border-radius:var(--sketch);line-height:1.34}
.fam-ate__x .titre{color:#241530}
.fam-ate__x .recit{margin-top:-30px}
.fam-fi__nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-block:18px 8px}
.fam-fi__nv{display:flex;align-items:center;gap:10px;max-width:min(44%,340px);padding:7px 12px;background:var(--c);color:#241530;border:2.5px solid #241530;border-radius:14px;box-shadow:3px 3px 0 #241530;text-decoration:none;line-height:1.14;transition:transform .14s var(--ease)}
.fam-fi__nv svg{width:20px;height:20px;flex:none}
.fam-fi__nv small{display:block;font-size:.72rem}
.fam-fi__nv b{font-family:var(--hand);font-weight:800;font-size:.92rem}
.fam-fi__nv:hover{transform:translateY(-2px) rotate(-.6deg)}
@media(max-width:900px){.fam-fi__g{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.fam-fi__nav{flex-direction:column;align-items:stretch}.fam-fi__nv{max-width:none}.fam-fi__nav .btn{order:3}}

/* ---------- Schémas animés des expériences ---------- */
.fam-sx{overflow:visible}
.fam-sx *{transform-box:fill-box}
/* Lait */
.fx-l{transform-origin:center}
.is-on .fx-l1{animation:fx-l1 2.2s cubic-bezier(.2,.8,.3,1) both}
.is-on .fx-l2{animation:fx-l2 2.2s cubic-bezier(.2,.8,.3,1) both}
.is-on .fx-l3{animation:fx-l3 2.2s cubic-bezier(.2,.8,.3,1) both}
.is-on .fx-l4{animation:fx-l4 2.2s cubic-bezier(.2,.8,.3,1) both}
@keyframes fx-l1{to{transform:translate(-44px,-30px) scale(2.1,1.6) rotate(24deg)}}
@keyframes fx-l2{to{transform:translate(44px,-30px) scale(2.1,1.6) rotate(-24deg)}}
@keyframes fx-l3{to{transform:translate(-44px,30px) scale(2.1,1.6) rotate(-24deg)}}
@keyframes fx-l4{to{transform:translate(44px,30px) scale(2.1,1.6) rotate(24deg)}}
.fx-lr{transform-origin:center;opacity:0}
.is-on .fx-lr{animation:fx-lr 1.8s ease-out both}
@keyframes fx-lr{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(4.6)}}
.fx-coton{transform:translate(18px,-18px);transition:transform .3s var(--ease)}
.is-on .fx-coton{transform:none}
/* Fusée en sachet de thé */
.fx-sachet{transform-origin:50% 100%}
.is-on .fx-sachet{animation:fx-sachet 1.8s linear both}
@keyframes fx-sachet{to{transform:scaleY(.14)}}
.fx-flamme{transform-origin:50% 100%;animation:fx-flamme .28s ease-in-out infinite alternate}
@keyframes fx-flamme{to{transform:scale(.92,1.08) rotate(2deg)}}
.is-on .fx-flamme{animation:fx-flamme .28s ease-in-out infinite alternate,fx-flamme-d 1.8s linear both}
@keyframes fx-flamme-d{0%{translate:0 0;opacity:1}92%{translate:0 74px;opacity:1}100%{translate:0 78px;opacity:0}}
.fx-cendre{opacity:0}
.is-on .fx-cendre{animation:fx-cendre 1.5s 1.7s cubic-bezier(.3,.7,.5,1) both}
@keyframes fx-cendre{0%{opacity:1;transform:translateY(0)}85%{opacity:1}100%{opacity:0;transform:translate(10px,-182px) rotate(40deg)}}
.fx-air{opacity:.18}
.is-on .fx-air{opacity:.7;animation:fx-air 1s linear 3}
@keyframes fx-air{to{transform:translateY(-14px)}}
/* Tourbillon */
.fx-eh{transform-origin:50% 100%}
.fx-eb{transform-origin:50% 100%;transform:scaleY(.08)}
.is-on .fx-eh{animation:fx-eh 2.6s ease-in both}
.is-on .fx-eb{animation:fx-eb 2.6s ease-in both}
@keyframes fx-eh{to{transform:scaleY(.04)}}
@keyframes fx-eb{from{transform:scaleY(.08)}to{transform:scaleY(.9)}}
.fx-vortex{opacity:0;transform-origin:50% 50%}
.is-on .fx-vortex{opacity:1;animation:fx-vortex .34s linear infinite alternate,fx-vortex-o 2.6s linear both}
@keyframes fx-vortex{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
@keyframes fx-vortex-o{0%,86%{opacity:1}100%{opacity:0}}
/* Lampe à lave */
.is-on .fx-bu{animation:fx-monte 3s ease-in-out infinite}
.is-on .fx-b1{animation-delay:0s}.is-on .fx-b2{animation-delay:-1s}.is-on .fx-b3{animation-delay:-1.9s}.is-on .fx-b4{animation-delay:-.5s}
@keyframes fx-monte{0%,100%{transform:translateY(0)}50%{transform:translateY(-146px) scale(.88,1.1)}}
.fx-compr{transform-origin:center}
.is-on .fx-compr{animation:fx-compr 3s linear both}
@keyframes fx-compr{to{transform:scale(.25);opacity:.2}}
/* Volcan */
.fx-mousse{transform-origin:50% 100%;transform:scaleY(.1)}
.is-on .fx-mousse{animation:fx-mousse .9s var(--ease) both}
@keyframes fx-mousse{to{transform:none}}
.fx-cou{stroke-dasharray:1;stroke-dashoffset:1}
.is-on .fx-cou1{animation:fx-cou 1.5s .5s ease-out both}
.is-on .fx-cou2{animation:fx-cou 1.5s .7s ease-out both}
.is-on .fx-cou3{animation:fx-cou 1.2s .9s ease-out both}
@keyframes fx-cou{to{stroke-dashoffset:0}}
.fx-vb{opacity:0}
.is-on .fx-vb{animation:fx-vb 1.4s ease-out 2}
.is-on .fx-vb2{animation-delay:.25s}.is-on .fx-vb3{animation-delay:.5s}
@keyframes fx-vb{0%{opacity:0;transform:translateY(30px)}30%{opacity:1}100%{opacity:0;transform:translateY(-34px)}}
/* Encre invisible */
.fx-revele{transform-origin:0 50%;transform:scaleX(0)}
.is-on .fx-revele{animation:fx-revele 2.2s .2s linear both}
@keyframes fx-revele{to{transform:none}}
.is-on .fx-fer{animation:fx-fer 2.4s linear both}
@keyframes fx-fer{0%{transform:translate(0,0)}100%{transform:translate(132px,46px)}}
/* Œuf qui rebondit */
.is-on .fx-oe{animation:fx-oe 1s ease-out 3}
.is-on .fx-oe2{animation-delay:.3s}.is-on .fx-oe3{animation-delay:.6s}
@keyframes fx-oe{to{transform:translateY(-44px);opacity:0}}
.fx-bond{transform-origin:50% 100%}
.is-on .fx-bond{animation:fx-bond .85s .1s cubic-bezier(.3,0,.7,1) 4}
@keyframes fx-bond{0%,100%{transform:scale(1.14,.82)}16%{transform:scale(.96,1.06) translateY(-20px)}50%{transform:scale(1) translateY(-72px)}84%{transform:scale(.96,1.06) translateY(-20px)}}
.fx-ombre{transform-origin:center}
.is-on .fx-ombre{animation:fx-ombre .85s .1s linear 4}
@keyframes fx-ombre{50%{transform:scale(.56);opacity:.1}}
/* Ballon */
.fx-ball{transform-origin:50% 100%;transform:scale(.26,.3)}
.is-on .fx-ball{animation:fx-ball 2.4s var(--ease) both}
@keyframes fx-ball{to{transform:none}}
.is-on .fx-bb{animation:fx-bb .8s ease-out 3}
.is-on .fx-bb2{animation-delay:.25s}.is-on .fx-bb3{animation-delay:.45s}
@keyframes fx-bb{to{transform:translateY(-46px) scale(.5);opacity:0}}
/* Arc-en-ciel */
.fx-c{transform-origin:50% 100%}
.is-on .fx-c{animation:fx-c .62s ease-out both}
.is-on .fx-c1{animation-delay:0s}.is-on .fx-c2{animation-delay:.5s}.is-on .fx-c3{animation-delay:1s}.is-on .fx-c4{animation-delay:1.5s}.is-on .fx-c5{animation-delay:2s}
@keyframes fx-c{from{transform:scaleY(0)}to{transform:none}}
/* Boussole */
.fx-aig{transform-origin:center;transform:rotate(72deg)}
.is-on .fx-aig{animation:fx-aig 3s cubic-bezier(.3,.7,.3,1) both}
@keyframes fx-aig{0%{transform:rotate(72deg)}30%{transform:rotate(-34deg)}50%{transform:rotate(20deg)}68%{transform:rotate(-9deg)}84%{transform:rotate(3deg)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.fx-flamme{animation:none}}

/* ---------- Impression ---------- */
@media print{
  .fam-noprint,.fam-prog,.fam-art__a,.fam-art__cta,.fam-leg__a,.fam-leg__b,.fam-ici,.fam-droit,.nuages,.toasts,.modal,.chat,.tiroir,.recherche{display:none!important}
  .fam-print-only{display:block}
  .fam-print-t{font-weight:700;border-bottom:2px solid #000;padding-bottom:6px;margin-bottom:10px}
  body{background:#fff;color:#000;padding:0}
  .js [data-pop],.js [data-vert]{opacity:1!important;transform:none!important}
  .sec,.fam-fi__h,.fam-art__h,.fam-leg__case{background:none!important;color:#000!important;padding-block:6px!important;box-shadow:none!important;border:0!important}
  .fam-fi__h::before,.fam-fi__h::after,.fam-art__h::before{display:none}
  .fam-fi__hg,.fam-fi__g,.fam-art__g,.fam-leg__g{display:block}
  .fam-fi__ht h1,.fam-art__ht h1,.fam-leg__case h1{color:#000!important;-webkit-text-stroke:0!important;text-shadow:none!important;font-size:26pt}
  .fam-mat,.fam-sec,.fam-et__b,.fam-eu,.fam-var,.fam-hyp{background:#fff!important;color:#000!important;box-shadow:none!important;rotate:0deg!important;border:1px solid #000!important;margin-bottom:8px;break-inside:avoid}
  .fam-et{display:block}
  .fam-et__c{rotate:0deg!important;margin-bottom:6px;break-inside:avoid}
  .fam-eu__c,.js .fam-eu:not(.is-open) .fam-eu__c{display:block!important;background:none;padding:4px 0}
  .fam-eu__t .burst{display:none}
  .fam-rond{background:#fff!important;color:#000!important;box-shadow:none;width:70px;font-size:8pt}
  .fam-fi__ph{display:none}
  .fam-fi__c{display:block}
  .fam-badge{box-shadow:none;rotate:0deg}
  .fam-art__hv img{max-height:220px;box-shadow:none}
}
