/* ecole — généré depuis les maquettes desktop + mobile (tools/import-maquettes.py), retouchable */
@keyframes tile-in{0%{opacity:0;transform:translateY(22px) scale(.97);filter:blur(4px)}100%{opacity:1;transform:none;filter:none}}
@keyframes cat-in{0%{opacity:0}100%{opacity:1}}
.cat-block{animation:cat-in .5s ease both}
.tiles>.tile{animation:tile-in .7s cubic-bezier(.22,.61,.36,1) both}
.tiles>.tile:nth-child(1){animation-delay:0ms}
.tiles>.tile:nth-child(2){animation-delay:55ms}
.tiles>.tile:nth-child(3){animation-delay:110ms}
.tiles>.tile:nth-child(4){animation-delay:165ms}
.tiles>.tile:nth-child(5){animation-delay:220ms}
.tiles>.tile:nth-child(6){animation-delay:275ms}
.tiles>.tile:nth-child(7){animation-delay:330ms}
.tiles>.tile:nth-child(8){animation-delay:385ms}
.tiles>.tile:nth-child(9){animation-delay:440ms}
.tiles>.tile:nth-child(10){animation-delay:495ms}
.tiles>.tile:nth-child(11){animation-delay:550ms}
.tiles>.tile:nth-child(12){animation-delay:605ms}
.tiles>.tile:nth-child(13){animation-delay:660ms}
.tiles>.tile:nth-child(14){animation-delay:715ms}
.tiles>.tile:nth-child(15){animation-delay:770ms}
.tiles>.tile:nth-child(16){animation-delay:825ms}
.tiles>.tile:nth-child(17){animation-delay:880ms}
.tiles>.tile:nth-child(18){animation-delay:935ms}
.tiles>.tile:nth-child(19){animation-delay:990ms}
.tiles>.tile:nth-child(20){animation-delay:1045ms}
.tiles>.tile:nth-child(21){animation-delay:1100ms}
.tiles>.tile:nth-child(22){animation-delay:1155ms}
@media (prefers-reduced-motion:reduce){.tiles>.tile,.cat-block{animation:none}}
.born{position:absolute;z-index:2;left:50%;top:650px;width:420px;height:auto;transform:translateX(-50%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 46%,transparent 54%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 46%,transparent 54%,transparent 100%);-webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0;animation:born-write 3.6s cubic-bezier(.45,.05,.35,1) .5s forwards}
@keyframes born-write{0%{-webkit-mask-position:100% 0;mask-position:100% 0}100%{-webkit-mask-position:0% 0;mask-position:0% 0}}
@media (prefers-reduced-motion:reduce){.born{animation:none;-webkit-mask-image:none;mask-image:none}}
.cta-big{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;background:#F4F1E8;color:#0C1C36;border:0;cursor:pointer;font:700 13px/1 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,color .25s}
.cta-big:hover{opacity:1;background:#0C1C36;color:#ffffff}
.cta-navy{background:#0C1C36;color:#ffffff}
.cta-navy:hover{background:#5053C6}
.rec-form{background:#ffffff;padding:44px 44px 40px;box-shadow:0 14px 40px rgba(12,28,54,.08);display:flex;flex-direction:column;gap:20px}
.rec-f{display:flex;flex-direction:column;gap:8px;font:600 11px/1 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#4F5566}
.rec-f input{height:50px;padding:0 16px;border:1px solid #D9D7DF;background:#FBFAF7;font:400 15px/1 'Montserrat',sans-serif;color:#0C1C36;outline:none;transition:border-color .2s,background .2s}
.rec-f input:focus{border-color:#5053C6;background:#ffffff}
.rec-file{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:0 18px;border:1.5px dashed #B9B7E8;color:#5053C6;cursor:pointer;font:600 14px/1.3 'Montserrat',sans-serif;transition:background .2s}
.rec-file em{font-style:normal;font-weight:400;color:#4F5566}
.rec-file:hover{background:#F4F3FC}
.cat-tab{min-height:44px;padding:0 22px;border-radius:999px;border:1.5px solid #0C1C36;font:600 12px/1 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.cat-tab:hover{background:#F4F1E8}
.cat-title{margin:0 0 37px;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(36px,3.4vw,48px);line-height:1.1;color:#0C1C36}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 9px}
.tile{position:relative;height:212px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;overflow:hidden;font:600 14.5px/22px 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.tile>span{position:relative;z-index:1;transition:transform .45s cubic-bezier(.3,1,.4,1),font-size .3s ease}
.tile>.tlogo{position:absolute;left:50%;top:44%;height:auto;max-width:82%;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:opacity .4s ease,transform .45s cubic-bezier(.3,1,.4,1);pointer-events:none}
.tile:hover{opacity:1}
.tile:hover>.tlogo{opacity:1;transform:translate(-50%,-50%) scale(1)}
.tile:hover>.tlogo+span{transform:translateY(78px);font-size:11px}
@media (prefers-reduced-motion:reduce){.tile>span,.tile>.tlogo{transition:none}}
.t-navy{background:#0C1C36;color:#F4F1E8}
.t-coral{background:#EF554B;color:#F4F1E8}
.t-purple{background:#5053C6;color:#F4F1E8}
.t-cream{background:#F4F1E8;color:#0C1C36}
.prof{display:flex;align-items:flex-start;gap:32px;background:#ffffff;box-shadow:0 10px 30px rgba(12,28,54,.08);padding:40px 40px 38px;transition:transform .3s ease,box-shadow .3s ease}
.prof:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,28,54,.12)}
.prof-img{flex:0 0 140px;width:140px;height:140px;border-radius:50%;object-fit:cover}
.prof-body{flex:1 1 auto;min-width:0}
.prof-top{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.prof-top h3{margin:0;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:38px;line-height:1.05;color:#5053C6}
.prof-soc{display:flex;gap:10px}
.prof-soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(12,28,54,.2);display:flex;align-items:center;justify-content:center;color:#0C1C36;transition:background .2s,color .2s,border-color .2s}
.prof-soc a:hover{opacity:1;background:#5053C6;border-color:#5053C6;color:#ffffff}
.prof-body p{margin:16px 0 0;font:400 15px/26px 'Montserrat',sans-serif;color:#0C1C36}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pill{display:inline-block;min-width:60px;height:32px;padding:0 14px;border:1px solid #0C1C36;border-radius:999px;font:600 12.5px/30px 'Poppins',sans-serif;color:#0C1C36}
.pill-empty{width:92px}
.val{position:relative;overflow:hidden;min-height:440px;padding:56px 56px 60px;color:#F4F1E8;transition:transform .35s ease,box-shadow .35s ease}
.val:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(12,28,54,.22)}
.val-n{display:block;font:400 72px/1 'DM Serif Display',Georgia,serif;color:rgba(244,241,232,.28)}
.val h3{margin:28px 0 0;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:46px;line-height:1.05}
.val p{margin:24px 0 0;font:400 14.5px/25px 'Poppins',sans-serif}
@media (max-width:900px){
  [style*="max-width:1168px"],[style*="max-width:1238px"],[style*="max-width:1264px"],[style*="max-width:1320px"],[style*="max-width:1392px"],[style*="max-width:1240px"],[style*="max-width:1128px"]{padding-left:20px !important;padding-right:20px !important;margin-left:0 !important;margin-right:0 !important;max-width:100% !important}
  [style*="flex-wrap:wrap"]>[style*="flex:"]{flex:1 1 100% !important;max-width:100% !important;min-width:0 !important}
  [style*="margin-left:89px"],[style*="margin:0 0 0 89px"]{margin-left:0 !important}
  [style*="padding-left:44px"]{padding-left:0 !important}
  [style*="padding:0 52px"],[style*="padding:0 70px 0 71px"],[style*="padding:0 40px"],[style*="padding:0 24px;margin-top:76px"]{padding-left:0 !important;padding-right:0 !important}
  [style*="line-height:62px"],[style*="line-height:64px"],[style*="line-height:66px"],[style*="line-height:76px"],[style*="line-height:60px"],[style*="line-height:42px"]{line-height:1.12 !important}
  h1.serif,h2.serif{font-size:36px !important}
  [style*="padding:132px 0 140px"],[style*="padding:128px 0 132px"],[style*="padding:120px 0"],[style*="padding:112px 0"],[style*="padding:118px"],[style*="padding:110px 0 120px"],[style*="padding:120px 24px 128px"],[style*="padding:96px 0 110px"]{padding-top:72px !important;padding-bottom:72px !important}
  [style*="margin-top:76px"],[style*="margin-top:80px"],[style*="margin-top:72px"],[style*="margin-top:62px"],[style*="margin-top:66px"],[style*="margin-top:64px"]{margin-top:40px !important}
  [style*="padding-top:74px"]{padding-top:0 !important}
  p,blockquote,h1,h2,h3{overflow-wrap:break-word}
  p[style*="font:400 12px"],p[style*="font:400 12.5px"],p[style*="font:400 13px"]{font-size:14px !important;line-height:24px !important}
  [style*="padding:336px 24px 42px"]{padding:150px 20px 32px !important}
  [style*="padding:336px 24px 42px"] h1{font-size:38px !important;min-height:3.4em}
  [style*="padding:336px 24px 42px"]>div:last-child{flex-direction:column;align-items:flex-start;gap:6px !important}
  [style*="padding:336px 24px 42px"] .serif[style*="font-size:68px"]{font-size:46px !important}
  [style*="padding:336px 24px 42px"] svg[width="38"],[style*="padding:336px 24px 42px"] svg[width="28"]{width:22px;height:22px}
  [style*="will-change:transform"]{transform:none !important;transition:none !important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;gap:14px !important}
  figure[style*="flex-direction:column"]{margin-bottom:8px !important}
  [style*="left:52%"],[style*="left:59.2%"],[style*="left:55.5%"]{left:20px !important;right:20px !important;bottom:20px !important;flex-direction:column;align-items:flex-start !important;gap:14px !important}
  article[style*="box-shadow:0 8px 24px"]>div{flex-direction:column !important}
  article[style*="box-shadow:0 8px 24px"] .ulink{margin-top:0 !important}
  [style*="min-height:647px"]{min-height:320px !important}
  p[style*="font:700 33px"]{font-size:20px !important}
  section[style*="height:542px"]{height:600px !important}
  section[style*="height:542px"]>div[style*="bottom:50px"]{background:linear-gradient(transparent,rgba(0,0,0,.55));padding-top:60px;bottom:0 !important;padding-bottom:36px}
  [style*="margin-bottom:58px"]{margin-bottom:0 !important}
  h1 span[style*="inline-flex"]{display:block !important}
  h1 span[style*="inline-flex"]>span{display:block !important;margin:6px 0 4px}
  [style*="padding:0 24px 0 92px"]{padding-left:20px !important}
  [style*="padding:0 24px 0 50px"]{padding-left:20px !important}
  [style*="padding:0 24px 0 50px"]>div{gap:20px !important;justify-content:space-between;width:100%}
  [style*="padding:0 24px 0 50px"] h2{font-size:30px !important}
  article[style*="box-shadow:0 6px 22px"]>div{padding:24px !important}
  article[style*="box-shadow:0 6px 22px"] .ulink{position:static !important;margin-top:16px}
  article[style*="box-shadow:0 6px 22px"] p{margin-top:16px !important}
  article[style*="box-shadow:0 6px 22px"]>img{height:200px !important}
  [style*="padding:42px 54px 38px"]{padding:28px 24px !important}
  section[style*="margin:0 0 0 max(24px"]{margin:0 !important;padding-left:20px !important;padding-right:20px !important}
  .lvl{width:auto !important;flex:1 1 0}
  .lvl-name,.lvl-time{font-size:13px !important;line-height:20px !important}
  [style*="gap:46px;margin-top:34px;padding-left:20px"]{gap:12px !important;padding-left:0 !important;flex-wrap:nowrap !important}
  [style*="padding:44px 0 0 54px"],[style*="padding-top:36px"]{padding:0 !important}
  figure[style*="gap:40px"]{gap:12px !important}
  figure[style*="gap:40px"]>span{flex:0 0 52px !important;font-size:120px !important}
  blockquote[style*="line-height:60px"]{font-size:28px !important;margin-top:12px !important}
  button[aria-label="Lire la vidéo"]{width:68px !important;height:68px !important}
  img[style*="width:368px"]{height:320px !important}
  .prof{flex-direction:column !important;align-items:flex-start !important;padding:28px 22px !important;gap:20px !important}
  .prof-img{width:110px !important;height:110px !important;flex:0 0 110px !important}
  .prof-top h3{font-size:32px !important}
  [style*="minmax(480px,1fr)"]{grid-template-columns:1fr !important}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .tile{height:150px !important;font-size:12px !important;letter-spacing:.08em !important}
  .tile>.tlogo{max-width:78% !important}
  .val{min-height:0 !important;padding:36px 24px !important}
  .val h3{font-size:38px !important}
  .rec-form{padding:24px 20px !important}
  .rec-form>div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  .born{width:300px !important;top:auto !important;bottom:6px}
  section[style*="height:782px"]{height:560px !important}
  .cat-tab{padding:0 16px !important;font-size:11px !important}
  .q{padding:12px 6px !important;font-size:15px !important}
  form[style*="max-width:666px"]{gap:12px !important}
  .ml-dl{grid-template-columns:1fr !important;gap:2px !important}
  .ml-dl dd{margin-bottom:12px !important}
  .ml-h{font-size:24px !important;margin-top:40px !important}
  section[style*="height:800px"]>div[style*="position:absolute;inset:0"]{padding:140px 20px 32px !important}
  section[style*="height:800px"]{height:860px !important}
  [style*="text-align:right"]{text-align:left !important}
  [style*="text-align:right"] p{margin-right:0 !important}
  section[style*="height:542px"]>div[style*="bottom"]{background:linear-gradient(transparent,rgba(0,0,0,.75)) !important}
  section[style*="height:638px"]>div[style*="bottom:56px"]{bottom:0 !important;padding:80px 0 36px;background:linear-gradient(transparent,rgba(0,0,0,.6))}
  section.mc-hero[style]{height:400px !important}
  .mc-hero>img:first-child{object-position:50% 18% !important}
  .mc-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;z-index:1;background:linear-gradient(transparent,#0A0A0A)}
  .mc-hero>header{padding:20px 20px 0 !important;align-items:center !important}
  .mc-hero>header img{width:56px !important;height:54px !important}
  .mc-hero .born{width:240px !important;bottom:4px !important;z-index:2}
  .mc-intro[style]{padding:28px 0 64px !important}
  .mc-intro>div{padding:0 20px !important;gap:28px !important}
  .mc-intro h2{flex:1 1 100% !important;font-size:44px !important;line-height:1.06 !important;letter-spacing:-.005em}
  .mc-intro h2 br{display:none}
  .mc-intro h2 br:first-of-type{display:inline}
  .mc-intro>div>p[style]{font-size:16.5px !important;line-height:28px !important;color:#E6E3DA !important}
  .mc-intro h2::after{content:'';display:block;width:56px;height:4px;background:#5053C6;margin-top:24px}
  .mc-intro p{font-size:16.5px !important;line-height:28px !important}
  .mc-intro>div>div>p{font-size:19px !important;line-height:31px !important;color:#F4F1E8 !important}
  .mc-intro>div>div{gap:24px !important}
  #styles .tiles{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:2px !important;margin-left:-20px !important;margin-right:-20px !important}
  #styles .tiles>.tile{height:auto !important;aspect-ratio:1/1;font-size:14px !important}
}
/* Mobile : cartes professeurs compactes (photo à gauche, environ deux fois moins hautes) */
@media (max-width:900px){
  .prof{flex-direction:row !important;align-items:flex-start !important;padding:18px 16px !important;gap:14px !important}
  .prof-img{width:68px !important;height:68px !important;flex:0 0 68px !important}
  .prof-top{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px}
  .prof-top h3{font-size:24px !important}
  .prof-soc{gap:6px}
  .prof-soc a{width:30px;height:30px}
  .prof-soc svg{width:15px;height:15px}
  .prof-body p{margin-top:8px;font-size:13px;line-height:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .prof .pills{margin-top:10px;gap:6px}
  .prof .pill{font-size:11px;padding:5px 10px}
}
