:root{
    --barlin-soft: #f7f7f7;
    --barlin-shadow: 0 10px 24px rgba(0,0,0,.22);
  }
.page-hero{
      border-radius: 1.5rem;
      color:#fff;
      background: #9b59b6;
      padding: 1.4rem 1.4rem 1.1rem;
    }
    /* CARTES */
    .section-card{
      border: 1px solid rgba(0,0,0,.10);
      border-radius: 1.25rem;
      box-shadow: var(--barlin-shadow);
      overflow: hidden;
      background: #fff;
    }
    .school-card{
      border: 1px solid rgba(0,0,0,.08);
      border-radius: 1.25rem;
      box-shadow: 0 14px 40px rgba(0,0,0,.10);
      overflow: hidden;
      background:#fff;
      height: 100%;
    }
    .school-card img{
      width: 100%;
      height: auto;
      display:block;
    }
    .meta-list i{
      width: 1.25rem;
      text-align:center;
      opacity:.85;
    }

    /* Liens documents */
    .downloads a{ text-decoration: none; }
    .downloads a:hover{ text-decoration: underline; }

    /* Contenu éditorial (HTML autorisé) */
    .editor-content p{ margin-bottom: .6rem; }
    .editor-content ul, .editor-content ol{ padding-left: 1.2rem; margin-bottom: .6rem; }
    .editor-content a{ text-decoration: underline; }

    /* Focus visible (RGAA) */
    :focus-visible{
      outline: 3px solid rgba(0,0,0,.55);
      outline-offset: 2px;
    }
    @media (min-width:768px){
    .hero-media{
      background: linear-gradient(180deg, var(--ville-soft), #fff);
      border-bottom: 1px solid var(--ville-border);
      padding: 1.25rem;
      text-align:center;
    }
    .hero-media img{
      max-width: 360px;
      width: 100%;
      height: auto;
      border-radius: 1rem;
      box-shadow: 0 10px 22px rgba(0,0,0,.10);
      background: #fff;
    }
    .content-wrap{
      padding: 1.25rem;
    }
    @media (min-width:768px){
      .content-wrap{ padding: 2rem 2.25rem; }
    }
    .lead-title{
      font-weight: 900;
      color: var(--ville-dark);
      letter-spacing:.2px;
    }
    .contact-box{
      border: 1px solid var(--ville-border);
      background: #fff;
      border-radius: 1.25rem;
      padding: 1rem 1rem;
      box-shadow: 0 10px 22px rgba(0,0,0,.08);
    }
    @media (min-width:768px){
      .contact-box{ padding: 1.25rem 1.25rem; }
    }
    .contact-box h2{
      font-weight: 900;
      margin: 0 0 .75rem;
      color: var(--ville-dark);
    }
    .contact-item{
      display:flex;
      gap:.75rem;
      align-items:flex-start;
      margin: .5rem 0;
    }
    .contact-item i{
      width: 1.75rem;
      height: 1.75rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:.75rem;
      background: rgba(50,153,216,.12);
      color: var(--ville-primary);
      flex: 0 0 auto;
      margin-top:.1rem;
    }
    .btn-pill{
      border-radius: 999px;
      font-weight: 900;
      padding: .75rem 1.1rem;
      border: 0;
      color:#fff;
      background: linear-gradient(120deg, var(--ville-orange), #ffb300);
      box-shadow: 0 12px 24px rgba(255,138,0,.22);
    }
    .btn-pill:hover{ filter: brightness(1.02); }
    .btn-pill:focus-visible{
      outline: 3px solid rgba(255,138,0,.45);
      outline-offset: 3px;
    }
    :focus-visible{
      outline: 3px solid rgba(50,153,216,.55);
      outline-offset: 3px;
      border-radius: .4rem;
    }