/* ---- Version mobile, jusqu’à 800 px : un en-tête léger, la ville en ouverture, des blocs, une liste de professeurs.
   L’ordinateur ne change pas : hors de la media query, ces trois lignes ne font que laisser la page telle quelle. ---- */
.home-hero,.home-hero picture{display:contents}
.founder-teaser-photo-mobile{display:none}
@media(max-width:800px){
 html{scroll-padding-top:84px}
 #contenu{--gutter:32px}
 /* L’en-tête reste en haut, sans bande d’onglets : le menu passe par les trois barres. */
 .site-header{position:sticky;top:0;z-index:35;background:#fff}
 .header-row{min-height:68px;gap:12px}
 .header-contact{gap:10px}
 .site-header .nav:not(.is-open){display:none}
 .floating-tools{display:none!important}
 .nav-toggle{border-radius:50%}
 .lang-toggle{border:0;border-radius:0;background:none}
 .lang-toggle a{min-width:40px;min-height:44px;padding:0 8px;color:var(--pp-muted)}
 .lang-toggle a[aria-current]{background:none;color:var(--pp-ink);box-shadow:inset 0 -2px 0 var(--pp-red)}
 .lang-toggle a:not([aria-current]):hover{background:none;color:var(--pp-ink)}
 /* L’ouverture : la photo de la ville, un dégradé, le titre par-dessus. */
 .home-hero{position:relative;display:block;margin:0 calc(var(--gutter)*-1);background:var(--pp-dark);color:#fff;overflow:hidden}
 .home-hero .home-intro{position:relative;z-index:1;display:block;padding:150px var(--gutter) 62px}
 .home-hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:#fff;font-size:.8125rem;text-shadow:0 1px 8px rgba(20,41,64,.6)}
 .home-hero .eyebrow::before{content:'';flex:0 0 28px;height:1px;background:#fff}
 .home-hero .eyebrow:has(.flag)::before{display:none}
 .home-hero .eyebrow .flag{margin-right:0}
 .home-hero h1{color:#fff;font-size:2.75rem;line-height:1.07}
 .home-hero h1 em{color:#d6e4ff}
 .home-hero .home-lead{margin-top:22px;max-width:none}
 .home-hero .home-lead p{margin-bottom:26px;color:#f2f5fb;font-size:1.0625rem}
 .home-hero .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:216px;min-height:54px;padding:0 24px 0 26px;border-radius:999px;background:#f2f4f8;color:var(--pp-ink);font-size:1rem;text-decoration:none}
 .home-hero .text-link:hover{background:#fff;color:var(--pp-ink);text-decoration:none}
 .home-hero .text-link span{font-size:0}
 .home-hero .text-link span::after{content:'↘';font-size:1.25rem}
 .home-hero figure{position:absolute;inset:0;margin:0;border-radius:0;background:none;overflow:visible}
 .home-hero figure img{width:100%;height:100%;object-fit:cover}
 .home-hero figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,41,64,.14) 0,rgba(20,41,64,.5) 24%,rgba(20,41,64,.8) 52%,rgba(20,41,64,.94) 100%)}
 .home-hero figure figcaption{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:16px;display:block;padding:0;background:none;font-size:0}
 .home-hero figure figcaption span{font-size:.75rem;line-height:1.4;color:#eaf0fa}
 /* Le fondateur : un bloc arrondi, la photo à côté du titre. */
 .founder-teaser{grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;margin:24px 0;padding:22px;background:#eef2f7;border:0;border-radius:22px}
 .founder-teaser .founder-teaser-photo{display:block;grid-row:auto;width:96px;height:120px;max-height:none;aspect-ratio:auto;border-radius:14px;object-fit:cover;object-position:50% 20%}
 .founder-teaser>div:last-child{grid-column:1/-1}
 .founder-teaser h2{font-size:1.625rem}
 .founder-teaser .eyebrow{margin-bottom:10px;font-size:.75rem}
 .founder-teaser p:not(.eyebrow){margin-bottom:16px}
 /* À la une */
 .feature{grid-template-columns:minmax(0,1fr);gap:14px;margin:14px 0 0;border:0;border-radius:0;overflow:visible}
 .feature-main{position:relative;overflow:hidden;padding:30px 24px;border-radius:22px}
 .feature-main>*{position:relative;z-index:1}
 .feature-main::after{content:'+';position:absolute;top:-18px;right:6px;font:400 12rem/1 Georgia,serif;color:rgba(255,255,255,.07)}
 .feature-aside{padding:26px 24px;border-radius:22px}
 /* Les titres de section : un petit filet rouge, le lien dessous. */
 #contenu .section-head{display:block;margin:46px 0 20px}
 #contenu .section-head h2{font-size:2.125rem}
 #contenu .section-head h2::before{content:'';display:block;width:36px;height:3px;margin-bottom:20px;background:var(--pp-red)}
 #contenu .section-head .text-link{display:inline-block;margin-top:14px}
 #contenu .section-head p{margin-top:10px}
 .section-intro{margin:0 0 22px}
 /* Les matières en blocs : le premier sur toute la largeur, et le dernier s’il resterait seul. */
 .subject-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:0}
 .subject-tiles>a{padding:20px 16px 22px;border:1px solid #e1e6ee;border-radius:18px;background:#f0f3f8}
 .subject-tiles>a:first-child{grid-column:1/-1;padding-bottom:34px;background:#e8eefc}
 .subject-tiles>a:last-child:nth-child(even){grid-column:1/-1}
 .subject-tiles span{padding-right:24px;font:500 1.5rem/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.02em}
 .subject-tiles small{margin-top:12px}
 .subject-tiles b{top:22px;right:16px;font-weight:400}
 /* Les professeurs en liste : la photo au milieu de la ligne, à côté du texte. */
 #contenu .teacher-grid{grid-template-columns:minmax(0,1fr);gap:0;margin:0 0 30px;border-top:1px solid var(--pp-line)}
 #contenu .teacher-card{flex-direction:row;align-items:center;gap:20px;padding:24px 0;border:0;border-bottom:1px solid var(--pp-line);border-radius:0;overflow:visible;background:none}
 #contenu .teacher-portrait{flex:0 0 108px;background:none}
 #contenu .teacher-portrait img{width:108px;height:136px;aspect-ratio:auto;border-radius:14px;object-fit:cover;object-position:50% 25%}
 #contenu .teacher-body{min-width:0;padding:0}
 #contenu .teacher-body h3{font-size:1.75rem}
 #contenu .teacher-card .teacher-role{margin-top:6px;color:var(--pp-ink);font-weight:700}
 #contenu .teacher-card .teacher-tagline{margin:10px 0 12px}
 #contenu .teacher-card .teacher-meta{display:none}
 /* Le reste de la page suit les mêmes arrondis. */
 .card{border-radius:18px}
 .strength{border-top:0;border-radius:18px}
 .note-band{border-left:0;border-radius:22px}
 .team-image{border-radius:22px}
 .prose a{overflow-wrap:anywhere}
}
@media(max-width:560px){
 #contenu{--gutter:20px}
}
@media(max-width:360px){
 #contenu{--gutter:16px}
 .home-hero h1{font-size:2.375rem}
 .founder-teaser{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px}
 .founder-teaser .founder-teaser-photo{width:72px;height:90px}
 .founder-teaser h2{font-size:1.25rem}
 .subject-tiles span{font-size:1.3125rem}
 #contenu .teacher-card{gap:14px}
 #contenu .teacher-portrait{flex-basis:88px}
 #contenu .teacher-portrait img{width:88px;height:110px}
}
