:root{
      --bg:#0d1117;           /* fond principal très sobre */
      --panel:#121826;        /* panneaux/cards */
      --muted:#7d8590;        /* texte secondaire */
      --text:#e6e8eb;         /* texte principal */
      --accent:#c7a75f;       /* or élégant */
      --accent-2:#a89050;     /* or profond */
      --border:rgba(255,255,255,.08);
      --ring:rgba(199,167,95,.35);
      --container:1160px;
      --radius:18px;
      --shadow:0 10px 30px rgba(0,0,0,.35);
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0; font-family:Poppins, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text); background:var(--bg); line-height:1.65;
      -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    }
    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    .container{max-width:var(--container); margin-inline:auto; padding-inline:24px}

    /* Header */
    header{
      position:sticky; top:0; z-index:50; backdrop-filter:saturate(180%) blur(10px);
      background:linear-gradient(180deg, rgba(13,17,23,.85), rgba(13,17,23,.55) 40%, rgba(13,17,23,0));
      border-bottom:1px solid var(--border);
    }

    .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
    .brand{display:flex; align-items:center; gap:14px}
    .brand img{height:40px; width:auto}
    .brand-title{font-family:"Playfair Display", serif; font-weight:600; letter-spacing:.3px}
    .tagline{font-size:12px; color:var(--muted)}
    .nav-cta{display:flex; align-items:center; gap:10px}
    .btn{display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:999px; border:1px solid var(--border); background:transparent; transition:.25s ease; font-weight:500}
    .btn:hover{border-color:var(--accent); box-shadow:0 0 0 4px var(--ring)}
    .btn.primary{background:linear-gradient(180deg, var(--accent), var(--accent-2)); color:#1a1a1a; border-color:transparent}
    .btn.primary:hover{filter:brightness(1.05)}

    /* Hero */
    .hero{
      position:relative; isolation:isolate; min-height:100vh; display:grid; place-items:center; overflow:hidden;
      background:
        radial-gradient(1000px 600px at 70% -10%, rgba(199,167,95,.18), transparent 60%),
        radial-gradient(1200px 800px at -20% 120%, rgba(199,167,95,.08), transparent 60%),
        linear-gradient(180deg, #0b0f15 0%, #0d1117 60%);
    }
    .hero:before{
      content:""; position:absolute; inset:-20% -10%; background:
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600"><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop stop-color="%23ffffff" stop-opacity="0.06"/><stop offset="1" stop-color="%23ffffff" stop-opacity="0"/></linearGradient></defs><g fill="url(%23g)" opacity=".6">'+
        Array.from({length:24}).map((_,i)=>`<circle cx="${(i%8)*120+60}" cy="${Math.floor(i/8)*160+80}" r="1.2"/>`).join('')+
        '</g></svg>');
      mask: radial-gradient(80% 60% at 60% 35%, #000 40%, transparent 70%);
      pointer-events:none; opacity:0.6; mix-blend-mode:screen;
    }

  /* Image de fond du hero */
  .hero .hero-bg{
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:url('assets/img/7.jpg'); /* remplacez par votre image */
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transform:scale(1.03);
  }
  /* Assombrissement pour lisibilité du texte */
  .hero .hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
      180deg,
      rgba(13,17,23,.78) 0%,
      rgba(13,17,23,.58) 40%,
      rgba(13,17,23,.85) 100%
    );
  }

  /* Optionnel: léger parallaxe desktop */
  @media (min-width:1024px){
    .hero .hero-bg{ will-change: transform; }
  }
/* Hero: centrer badges et boutons */
.hero .badges{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px auto 0;
  text-align: center;
  width: 100%;
}
.hero .badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hero .hero-actions{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px auto 0;
  width: 100%;
}

    .hero-inner{padding-block:84px; display:grid; gap:28px}
    .eyebrow{display:inline-flex; justify-content: center; align-items:center; gap:10px; font-size:12px; color:var(--muted); letter-spacing:.18em; text-transform:uppercase}
    .eyebrow:before{content:""; width:28px; height:1px; background:var(--accent)}
    .hero h1{margin:0; font-family:"Playfair Display", serif; font-weight:700; font-size:clamp(34px, 5.2vw, 56px); line-height:1.15}
    .hero p{margin:4px 0 10px; color:#d4d7db; font-size:18px}
    .badges{display:flex; flex-wrap:wrap; gap:12px; margin:6px 0 4px}
    .badge{border:1px solid #b09654; padding:8px 14px; border-radius:999px; font-size:13px; color:#cfd3d8}
    .hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px}

    /* Sections */
    section{padding-block:72px; border-top:1px solid var(--border)}
    .section-intro{max-width:900px; margin-bottom:22px; text-align:center; margin-left:auto; margin-right:auto}
    h2{font-family:"Playfair Display", serif; font-weight:600; font-size:clamp(26px, 3.2vw, 36px); margin:0 0 10px}
    p{margin:0 0 12px}

    /* Centrage global des titres de section */
section h1,
section h2,
section h3{
  text-align: center;
}

/* Cards / grids */
    .grid{display:grid;
      gap:18px}
    @media(min-width:820px)
    {.grid.cols-2{grid-template-columns:1.2fr .8fr}}
    @media(min-width:900px)
    {.grid.cols-3{grid-template-columns:repeat(3, 1fr)}}

    .card{background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)); border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow)}
    .card h3{font-size:20px; margin:0 0 8px; font-weight:600}
    .list{display:grid; gap:10px; margin-top:6px}
    .list li{list-style:none; position:relative; padding-left:28px}
    .list li:before{content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:linear-gradient(180deg, var(--accent), var(--accent-2)); box-shadow:0 0 0 3px rgba(199,167,95,.15)}

    /* Quote ribbon */
  .ribbon{
  background: linear-gradient(135deg, #c7a75f 0%, #e0c98d 100%);
  padding: 18px 0;
  text-align: center;
  color: #0f1115;
}

.ribbon-content{
  display: flex;
  flex-direction: column;  /* Force l'alignement vertical */
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.ribbon strong{
  font-size: clamp(1rem, 2.2vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.ribbon .btn{
  background: #0f1115;
  color: #fff;
  border-color: #0f1115;
}
.ribbon .btn:hover{
  background: #1a1d24;
  transform: translateY(-2px);
}

@media (max-width: 640px){
  .ribbon-content{ flex-direction: column; gap: 12px; }
}

.badges.badges--wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content: center;   /* centre horizontalement */
  align-items: center;       /* aligne verticalement */
  gap:8px;
  margin-top:14px;
  color: #b09654;
}

/* Carte image de présentation */
.media-card{
  padding:0;
  overflow:hidden;
  border-radius:14px;
  box-shadow: #b09654 10px 10px 30px;
}
.media-card img{
  display:block;
  width:100%;
  height:100%;
  max-height:490px;
  object-fit:cover;
  border-radius:14px;

}
/* ...existing code... */

/* Excellence */
.excellence {
  position: relative;
  padding-block: 64px;
  background:
    radial-gradient(900px 600px at 85% -10%, rgba(199,167,95,.10), transparent 60%),
    radial-gradient(1000px 700px at -10% 110%, rgba(199,167,95,.06), transparent 60%);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.excellence-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 36px;
  align-items: center;
}

.excellence-media {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 10px 10px 30px #b09654, 0 0 0 1px rgba(255,255,255,.04) inset;
  background: #b09654;
  aspect-ratio: 4 / 3;
}

.excellence-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform .6s ease;
}
.excellence-media:hover img {
  transform: scale(1.06);
}

.excellence-content .eyebrow {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted, #98a2b3);
}

/* Layout alterné */
.excellence-row{
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap:36px;
  align-items:center;
  margin-block:28px;
}
.excellence-row.reverse .excellence-content{ order:1; }
.excellence-row.reverse .excellence-media{ order:2; }

.list--check li {
  position: relative;
  padding-left: 28px;
}
.list--check li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: .15rem;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 700;
  font-size: 12px;
  color: #0f1115;
  background: linear-gradient(135deg, #c7a75f 0%, #e0c98d 100%);
  box-shadow: 0 6px 16px rgba(199,167,95,.28);
}

.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.pills .pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(199,167,95,.25);
  background: rgba(199,167,95,.06);
  color: var(--text);
  font-weight: 500;
  font-size: 13px;
}
.pills .pill::before {
  content: "•";
  color: #c7a75f;
  font-weight: 900;
}

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

/* Contact form */
.contact-card{
  padding: 22px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(199,167,95,.06), rgba(199,167,95,.03));
  box-shadow: 0 12px 36px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.04) inset;
}

.contact-form .form-status{
  display: none;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(16,185,129,.12);
  color: #22c55e;
  border: 1px solid rgba(16,185,129,.35);
  font-weight: 600;
}
.contact-form .form-status.show{ display: block; }

.contact-form .form-grid{
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr;
}
.contact-form .col-span-2{ grid-column: span 2; }

.input-group{
  position: relative;
  display: grid;
  gap: 6px;
}
.input-group label{
  font-size: 0.85rem;
  color: var(--text-soft, #98a2b3);
}

.input, .textarea{
  width: 100%;
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 14px 12px 42px;
  border-radius: 10px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.input option {
  color: white;
  background-color: #1b1d1f;
}
.textarea{ padding-left: 42px; resize: vertical; }

.input::placeholder, .textarea::placeholder{
  color: var(--text-soft, #98a2b3);
}

.input:focus, .textarea:focus{
  border-color: rgba(199,167,95,.55);
  box-shadow: 0 0 0 4px rgba(199,167,95,.15);
  background: rgba(199,167,95,.06);
}

/* Icônes champs */
.input-group .icon{
  position: absolute;
  left: 12px;
  top: 36px;
  width: 18px; height: 18px;
  color: rgba(199,167,95,.9);
  pointer-events: none;
}
.input-group .icon.top{ top: 42px; }

/* Actions */
.form-actions{
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 720px){
  .contact-form .form-grid{ grid-template-columns: 1fr; }
  .form-actions .btn{ width: 100%; }
}

/* Responsive */
@media (max-width: 960px) {
  .excellence-grid {
    grid-template-columns: 1fr;
  }
  .excellence-media {
    order: -1;
    aspect-ratio: 16 / 10;
  }
  .excellence-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .excellence-row.reverse .excellence-content,
  .excellence-row.reverse .excellence-media {
    order: unset;
  }
}


/* --- Footer moderne --- */
.site-footer{
  position: relative;
  background: linear-gradient(180deg, #0d1117, #0b0f14);
  color: var(--text, #e5e7eb);
  margin-top: 32px;
  border-top: 1px solid rgba(148,163,184,.18);
}
.site-footer::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height:2px;
  background: linear-gradient(90deg, rgba(199,167,95,.0), rgba(199,167,95,.6), rgba(199,167,95,.0));
}

.footer-wrap{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 28px;
  padding: 28px 0 18px;
  align-items:start;
}

.footer-col .foot-title{
  font-size:.85rem; letter-spacing:.12em; text-transform:uppercase;
  color: #c7a75f; margin: 4px 0 10px;
}

.foot-meta{ color: var(--text-soft, #9aa4b2); margin: 8px 0; }

/* Liens */
.foot-links{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.foot-links a{
  color: var(--text, #e5e7eb); text-decoration:none; opacity:.9;
  transition: color .2s ease, opacity .2s ease;
}
.foot-links a:hover{ color:#c7a75f; opacity:1; }

/* Réseaux sociaux */
.footer-social{ display:flex; gap:10px; margin-top:10px; }
.footer-social .social{
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.24);
  background: rgba(255,255,255,.03);
  color:#e5e7eb;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, color .2s ease;
}
.footer-social .social:hover{
  background: rgba(199,167,95,.12);
  border-color: rgba(199,167,95,.55);
  color: #c7a75f;
  transform: translateY(-1px);
}
.footer-social svg{ width:16px; height:16px; display:block; }

/* Mentions légales footer */
.footer-legal{
  text-align: center;
  padding: 12px 20px 14px;


}
.footer-legal small{
  display: block;
  color: var(--text-soft, #9aa4b2);
  font-size: 0.75rem;
  line-height: 1.5;
  opacity: 0.85;
}

/* Bas de page */
.footer-bottom{
  border-top: 1px solid rgba(148,163,184,.14);
  background: rgba(255,255,255,.02);
}
.bottom-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap: 14px; padding: 10px 0 14px;
}
.bottom-links{ display:flex; gap:12px; }
.bottom-links a{
  color: var(--text-soft, #9aa4b2); text-decoration:none;
}
.bottom-links a:hover{ color:#c7a75f; }

/* Responsive */
@media (max-width: 860px){
  .footer-wrap{ grid-template-columns: 1fr; text-align:center; }
  .footer-social, .bottom-inner, .bottom-links{ justify-content:center; }
  .bottom-inner{ flex-direction:column; }
}

/* Barre de pills sous la section Excellence (sur une seule ligne) */
.excellence-pills{
  display: flex;
  flex-wrap: nowrap;         /* une seule ligne */
  gap: 8px;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
  overflow-x: auto;          /* scroll horizontal si trop long */
  padding: 6px 2px;
  -webkit-overflow-scrolling: touch;
}
.excellence-pills .pill{
  white-space: nowrap;       /* pas de retour à la ligne */
}

/* Optionnel: style discret de scrollbar */
.excellence-pills::-webkit-scrollbar{ height: 6px; }
.excellence-pills::-webkit-scrollbar-thumb{
  background: rgba(199,167,95,.35);
  border-radius: 6px;
}
.excellence-pills::-webkit-scrollbar-track{
  background: transparent;
}

/* Contact centré: titre, descriptif puis formulaire */
#contact .contact-container{
  max-width: 880px;
  margin: 0 auto;
}
#contact .section-intro{
  text-align: center;
  max-width: 760px;
  margin: 0 auto 18px;
}
#contact .contact-card{
  margin: 0 auto;
}
#contact .form-actions{
  justify-content: center; /* bouton centré */
}

/* Si l'ancien wrapper utilisait une grille, on neutralise */
#contact .container.grid,
#contact .container.cols-2{
  display: block;
}

/* --- Galerie en une ligne --- */
.galerie{ padding-block: 12px; }
.galerie .section-intro{ text-align:center; margin-bottom:16px; }

.gallery-row{
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  padding: 6px 2px 8px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

.gallery-item{
  flex: 0 0 auto;
  min-width: 280px;                      /* largeur réduite */
  height: 180px;                         /* hauteur fixe réduite */
  border-radius: 12px;
  overflow: hidden;
  background: #0e1117;
  box-shadow: 0 12px 26px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.04) inset;
  scroll-snap-align: start;
}
.gallery-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform .5s ease;
}
.gallery-item:hover img{ transform: scale(1.06); }

/* Scrollbar discrète */
.gallery-row::-webkit-scrollbar{ height: 8px; }
.gallery-row::-webkit-scrollbar-thumb{
  background: rgba(199,167,95,.35);
  border-radius: 8px;
}
.gallery-row::-webkit-scrollbar-track{ background: transparent; }


/* Bloc 2 : titre centré puis row normal */
.excellence-block-2 .section-center{
  text-align: center;
  max-width: 820px;
  margin: 20px auto 18px;
}

.excellence-block-2 .excellence-row{
  display: grid;
  grid-template-columns: 1fr 1.05fr;  /* texte gauche, photo droite */
  gap: 36px;
  align-items: center;
}

.excellence-block-2 .excellence-content{
  text-align: left;
  max-width: none;
  margin: 0;
}

@media (max-width: 960px){
  .excellence-block-2 .excellence-row{
    grid-template-columns: 1fr;
  }
}

/* Cards avec image */
.card-with-image{
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.card-image{
  width: 100%;
  height: 180px;
  overflow: hidden;
  background: #0e1117;
}

.card-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.card-with-image:hover .card-image img{
  transform: scale(1.08);
}

.card-content{
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.card-content h3{
  margin: 0 0 6px;
  font-size: 1.15rem;
}

.card-content .list{
  margin: 0;
  flex: 1;
}

/* Hero Contact - version réduite */
.hero--contact{
  padding: 48px 0 28px;
  min-height: auto;
  background:
    radial-gradient(900px 600px at 85% -10%, rgba(199,167,95,.10), transparent 60%),
    radial-gradient(1000px 700px at -10% 110%, rgba(199,167,95,.06), transparent 60%);
}

.hero--contact .section-intro{
  max-width: 680px;
}

.hero--contact h1{
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  margin-bottom: 12px;
}

.hero--contact .eyebrow{
  margin-bottom: 8px;
}

.hero--contact .muted{
  font-size: 1rem;
}

/* Responsive */
@media (max-width: 768px){
  .hero--contact{
    padding: 36px 0 24px;
  }
}
/* Contact avec galerie photos gauche */
.contact-wrapper{
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 32px;
  align-items: start;
}

/* Galerie photos inclinées */
.contact-gallery{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-top: 20px;
}

.gallery-img{
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(0,0,0,.24), 0 0 0 1px rgba(255,255,255,.06) inset;
  background: #0e1117;
  transition: transform .4s ease, box-shadow .4s ease;
}

.gallery-img img{
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

/* Inclinaisons alternées */
.gallery-img--1{
  transform: rotate(-3deg);
  margin-left: 12px;
}
.gallery-img--2{
  transform: rotate(2deg);
  margin-right: 12px;
}
.gallery-img--3{
  transform: rotate(-2.5deg);
  margin-left: 8px;
}

.gallery-img:hover{
  transform: rotate(0deg) scale(1.03);
  box-shadow: 0 20px 50px rgba(199,167,95,.35), 0 0 0 1px rgba(199,167,95,.4) inset;
}

/* Colonne formulaire */
.contact-form-col{
  width: 100%;
}

/* Responsive */
@media (max-width: 1024px){
  .contact-wrapper{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .contact-gallery{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding-top: 0;
  }
  .gallery-img{
    transform: rotate(0deg) !important;
    margin: 0 !important;
  }
  .gallery-img img{
    height: 180px;
  }
}

@media (max-width: 640px){
  .contact-gallery{
    grid-template-columns: 1fr;
  }
}

/* ...existing code... */

/* Section recrutement */
.recruitment{
  padding: 48px 0;
  background: linear-gradient(180deg, rgba(199,167,95,.06), rgba(199,167,95,.03));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.recruitment-content .btn{
  margin-top: 12px;
}

/* Modale */
.modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal.show{ display: flex; }

.modal-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.75);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.modal-content{
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, #1a1d24, #0f1115);
  border: 1px solid rgba(199,167,95,.3);
  border-radius: 16px;
  padding: 28px;
  max-width: 600px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06) inset;
}

.modal-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 8px;
  color: var(--text);
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.modal-close:hover{
  background: rgba(199,167,95,.15);
  border-color: rgba(199,167,95,.5);
}

.modal-content h3{
  margin: 0 0 8px;
  font-size: 1.5rem;
  color: #c7a75f;
}
.modal-intro{
  color: var(--text-soft);
  margin-bottom: 18px;
}

.recruitment-form .form-grid{
  gap: 14px;
}

.input-file{
  cursor: pointer;
  padding: 10px 14px;
}
.input-file::file-selector-button{
  background: rgba(199,167,95,.12);
  border: 1px solid rgba(199,167,95,.35);
  border-radius: 6px;
  padding: 6px 12px;
  color: #c7a75f;
  cursor: pointer;
  margin-right: 10px;
  font-size: 0.9rem;
  transition: background .2s ease;
}
.input-file::file-selector-button:hover{
  background: rgba(199,167,95,.2);
}
/* ...existing code... */

/* Section valeurs */
.values{
  padding: 48px 0;
  background: rgba(255,255,255,.01);
}
.card-icon{
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(199,167,95,.08);
  border: 1px solid rgba(199,167,95,.25);
  border-radius: 12px;
  color: #c7a75f;
  margin-bottom: 12px;
}
.values .card h3{
  margin-bottom: 8px;
}

/* Chiffres clés */
.stats{
  padding: 48px 0;
  background: linear-gradient(135deg, rgba(199,167,95,.08), rgba(199,167,95,.04));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.stats-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
  text-align: center;
}
.stat-number{
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: #c7a75f;
  line-height: 1;
  margin-bottom: 8px;
}
.stat-label{
  color: var(--text-soft);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* Carte partenaire */
.partner-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px;
}
.partner-copy{
  flex: 1;
}
.partner-copy .pills{
  margin-top: 12px;
}
.partner-logo{
  flex-shrink: 0;
}
.partner-logo img{
  height: 64px;
  width: auto;
  display: block;
  opacity: .9;
  transition: opacity .3s ease;
}
.partner-logo:hover img{
  opacity: 1;
}

@media (max-width: 768px){
  .partner-card{
    flex-direction: column;
    text-align: center;
  }
  .partner-logo img{
    height: 48px;
  }
}
