:root{
  --black:#090909; --ink:#151515; --white:#f8f5f2; --muted:#b9b1ac;
  --coral:#f18f73; --peach:#f5ad91; --brick:#92333a; --orange:#c2633f;
  --line:rgba(255,255,255,.14); --radius:26px;
  --display: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--black);color:var(--white);font-family:var(--body)}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.nav{position:fixed;z-index:50;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(5,5,5,.95),rgba(5,5,5,.58),transparent);backdrop-filter:blur(8px)}
.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;letter-spacing:.08em;font-size:18px}.brand img{width:46px;height:46px;object-fit:cover;border-radius:14px}
.links{display:flex;gap:24px;font-size:14px;color:#ded7d2;align-items:center}.links a:hover{color:#fff}
.lang{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 12px;font-weight:800;font-size:12px;letter-spacing:.08em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:.25s ease;cursor:pointer;font-size:15px}
.btn-primary{background:var(--coral);color:#131313}.btn-primary:hover{transform:translateY(-2px);background:#ff9d80}.btn-ghost{border-color:rgba(255,255,255,.28)}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--coral);font-weight:900}
.section-title{font-family:var(--display);text-transform:uppercase;line-height:.9;letter-spacing:-.035em;margin:18px 0;font-size:clamp(50px,7vw,92px)}
section{padding:110px 0}
.hero{min-height:760px;display:grid;align-items:end;position:relative;overflow:hidden;padding:135px 0 72px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090909 0%,#090909 42%,rgba(9,9,9,.46) 72%,rgba(9,9,9,.16)),url('hero-claire.jpg') center right/cover no-repeat;filter:saturate(.85)}
.hero:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,var(--brick),transparent 68%);filter:blur(55px);opacity:.28;left:-180px;bottom:-160px}
.hero-content{position:relative;z-index:2;max-width:760px}
.hero h1{font-family:var(--display);text-transform:uppercase;line-height:.9;letter-spacing:-.035em;margin:18px 0;font-size:clamp(64px,9vw,128px);max-width:900px}.hero h1 span{color:var(--coral)}
.hero p{max-width:680px;font-size:19px;line-height:1.6;color:#ddd3cd}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.proof{display:flex;gap:28px;flex-wrap:wrap;margin-top:48px;padding-top:26px;border-top:1px solid var(--line)}.proof strong{display:block;font-size:28px}.proof span{font-size:13px;color:var(--muted)}
.intro{background:#f5efea;color:#171412}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.intro p,.bodycopy{font-size:18px;line-height:1.7;color:#514943}
.quote{border-left:4px solid var(--coral);padding:16px 0 16px 28px;font-size:28px;line-height:1.25;font-weight:800;margin:32px 0}
.portrait-card{position:relative}.portrait-card img{width:100%;height:610px;object-fit:cover;object-position:50% 18%;border-radius:34px}
.portrait-card:after{content:"Sciences  •  Mode  •  Bienfaisance";position:absolute;left:-26px;bottom:36px;background:#111;color:#fff;padding:18px 24px;border-radius:0 18px 18px 0;font-weight:800;letter-spacing:.04em}
.parcours{margin-top:26px;border-top:1px solid #ddd0c8;padding-top:22px}.parcours li{margin:8px 0;color:#514943;line-height:1.5}
.pillars{background:#0c0c0c}.pillar-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:46px}.pillar-head p{max-width:470px;color:var(--muted);line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{min-height:520px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;background:#161616}
.card img{width:100%;height:100%;object-fit:cover;opacity:.52;transition:.4s}.card:hover img{transform:scale(1.04);opacity:.66}
.card-overlay{position:absolute;inset:0;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.92) 92%)}
.card-num{position:absolute;top:24px;right:24px;color:var(--coral);font-size:13px;font-weight:900;letter-spacing:.14em}
.card h3{font-family:var(--display);font-size:54px;line-height:.9;text-transform:uppercase;margin:0 0 15px}.card p{color:#d6cfca;line-height:1.55}.card-link{margin-top:14px;color:var(--coral);font-weight:800}
.galerie{background:#0b0b0b}
.galerie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
.gitem{position:relative;border-radius:20px;overflow:hidden}
.gitem img{width:100%;height:280px;object-fit:cover;transition:.35s}.gitem:hover img{transform:scale(1.04)}
.gitem span{position:absolute;left:14px;bottom:12px;background:rgba(9,9,9,.78);padding:7px 13px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--peach)}
.gitem.tall img{height:420px}
.videos{background:#0d0d0d}
.videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.video-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#141414}
.video-card .frame{position:relative;padding-top:56.25%}.video-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-card p{padding:16px 18px;margin:0;color:#d6cfca;line-height:1.45;font-size:15px}
.conversion{background:linear-gradient(135deg,#8b3038,#c2633f 52%,#f18f73);color:#111}
.conversion-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}.conversion .section-title{margin-top:0}
.steps{display:grid;gap:14px}
.step{background:rgba(255,255,255,.86);border-radius:20px;padding:20px;display:flex;gap:16px;align-items:flex-start}
.step b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;flex:0 0 auto}
.step h4{margin:2px 0 7px;font-size:18px}.step p{margin:0;color:#5f514b;line-height:1.5}
.impact{background:#f5efea;color:#181412}.impact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.impact img{border-radius:30px;height:560px;width:100%;object-fit:cover}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
.metric{border:1px solid #d9cec7;border-radius:18px;padding:22px}.metric strong{font-size:38px;display:block;color:var(--brick)}.metric span{color:#665d58}
.partners{background:#f5efea;color:#181412;text-align:center}
.partners-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:44px}
.partners-grid img{width:100%;border-radius:14px;border:1px solid #e3d8d0;transition:.25s}
.partners-grid img:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,10,5,.14)}
.team{background:#0c0c0c}
.team-country{margin-top:52px}
.team-country h3{font-family:var(--display);text-transform:uppercase;font-size:34px;letter-spacing:.02em;margin:0 0 20px;color:var(--peach)}
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.member{border:1px solid var(--line);border-radius:20px;background:#141414;padding:24px 20px;text-align:center}
.member .avatar{width:78px;height:78px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brick),var(--coral));font-family:var(--display);font-size:28px;letter-spacing:.02em;color:#fff}
.member .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.member b{display:block;font-size:16px;margin-bottom:5px}
.member span{font-size:13px;color:var(--muted);line-height:1.4;display:block}
.cta{padding:100px 0;background:#0d0d0d;text-align:center}
.cta-box{border:1px solid var(--line);border-radius:36px;padding:74px 34px;background:radial-gradient(circle at top right,rgba(241,143,115,.25),transparent 35%),#111}
.cta h2{font-family:var(--display);font-size:clamp(52px,8vw,102px);line-height:.9;text-transform:uppercase;margin:0 auto 22px;max-width:950px}
.cta p{max-width:720px;margin:0 auto 28px;color:#c8bfba;font-size:18px;line-height:1.6}
footer{border-top:1px solid var(--line);padding:34px 0;color:#aaa19c}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer-links{display:flex;gap:20px;flex-wrap:wrap}

/* pages de branche */
.page-hero{min-height:520px;display:grid;align-items:end;position:relative;overflow:hidden;padding:150px 0 64px;background:#0b0b0b}
.page-hero:before{content:"";position:absolute;inset:0;background:center 30%/cover no-repeat;opacity:.3;filter:saturate(.8)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .logo-pillar{width:110px;border-radius:20px;margin-bottom:22px;border:1px solid var(--line)}
.manifesto{background:#f5efea;color:#171412}
.manifesto-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.timeline{background:#0c0c0c}
.timeline-list{margin-top:44px;display:grid;gap:14px}
.tl{display:flex;gap:22px;align-items:baseline;border:1px solid var(--line);border-radius:18px;padding:20px 24px;background:#121212}
.tl b{font-family:var(--display);font-size:30px;color:var(--coral);letter-spacing:.02em;min-width:86px}
.tl div{color:#d6cfca;line-height:1.55}
/* formulaire */
.form-wrap{max-width:760px;margin:auto}
.form-card{background:#121212;border:1px solid var(--line);border-radius:26px;padding:38px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}
.field label{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--peach)}
.field input,.field select,.field textarea{background:#0d0d0d;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px 16px;color:var(--white);font-family:var(--body);font-size:16px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--coral);border-color:transparent}
.form-note{color:var(--muted);font-size:14px;line-height:1.5;margin-top:16px}
.form-status{margin-top:16px;font-weight:800;display:none}
.form-status.ok{display:block;color:#9be29b}.form-status.err{display:block;color:#ff9d80}

@media(max-width:900px){
  .links{display:none}
  .intro-grid,.conversion-grid,.impact-grid,.manifesto-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}.card{min-height:460px}
  .pillar-head{display:block}
  .hero:before{background:linear-gradient(180deg,rgba(9,9,9,.2),#090909 78%),url('hero-claire.jpg') 58% top/cover no-repeat}
  .hero{min-height:820px}.hero-content{padding-top:310px}
  .portrait-card img{height:520px}.impact img{height:460px}
  .galerie-grid{grid-template-columns:1fr}.gitem img,.gitem.tall img{height:260px}
  .partners-grid{grid-template-columns:repeat(3,1fr)}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .videos-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .wrap{width:min(100% - 24px,1180px)}.nav-inner{height:72px}.brand span{display:none}.nav .btn{padding:12px 15px}
  .hero h1{font-size:60px}.hero p{font-size:17px}
  .proof{gap:16px}.proof>div{width:45%}
  section{padding:78px 0}.section-title{font-size:54px}
  .metrics{grid-template-columns:1fr}.portrait-card:after{left:0;font-size:13px}
  .cta-box{padding:54px 20px}.tl{flex-direction:column;gap:6px}
  .page-hero .section-title{font-size:clamp(38px,11vw,56px)!important}
  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}.team-country h3{font-size:28px}
}


/* Motion — subtle entrance, depth and hover movement */
@keyframes slFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes slHeroZoom{from{transform:scale(1.02)}to{transform:scale(1.08)}}
@keyframes slFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@media (prefers-reduced-motion:no-preference){
  .hero:before{animation:slHeroZoom 16s ease-in-out infinite alternate}
  .hero-content>*{opacity:0;animation:slFadeUp .8s cubic-bezier(.22,1,.36,1) forwards}
  .hero-content .eyebrow{animation-delay:.1s}
  .hero-content h1{animation-delay:.2s}
  .hero-content p{animation-delay:.32s}
  .hero-content .actions{animation-delay:.44s}
  .hero-content .proof{animation-delay:.56s}

  section:not(.hero) .eyebrow,
  section:not(.hero) .section-title,
  section:not(.hero) .pillar-head>p,
  section:not(.hero) .bodycopy,
  section:not(.hero) .quote,
  section:not(.hero) .parcours,
  section:not(.hero) .cards,
  section:not(.hero) .galerie-grid,
  section:not(.hero) .videos-grid,
  section:not(.hero) .steps,
  section:not(.hero) .metrics,
  section:not(.hero) .team-country,
  section:not(.hero) .partners-grid,
  section:not(.hero) .cta-box{
    animation:slFadeUp .75s cubic-bezier(.22,1,.36,1) both;
  }

  .card{transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .45s ease}
  .card:hover{transform:translateY(-10px);box-shadow:0 24px 55px rgba(0,0,0,.28);border-color:rgba(241,143,115,.45)}
  .gitem{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease}
  .gitem:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(0,0,0,.28)}
  .video-card{transition:transform .4s ease,box-shadow .4s ease}
  .video-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(0,0,0,.24)}
  .step{transition:transform .35s ease,box-shadow .35s ease}
  .step:hover{transform:translateX(7px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
  .metric{transition:transform .35s ease,background .35s ease}
  .metric:hover{transform:translateY(-5px);background:rgba(255,255,255,.55)}
  .member{transition:transform .35s ease,border-color .35s ease}
  .member:hover{transform:translateY(-7px);border-color:rgba(241,143,115,.45)}
  .member .avatar{transition:transform .4s ease}
  .member:hover .avatar{transform:scale(1.08)}
  .partners-grid img{transition:transform .35s ease,box-shadow .35s ease}
  .partners-grid img:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 34px rgba(20,10,5,.16)}
  .portrait-card{animation:slFloat 6s ease-in-out infinite}
  .btn{will-change:transform}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Luxury runway motion — cinematic editorial layer */
@keyframes slCinematicIn{
  from{opacity:0;transform:translate3d(0,54px,0) scale(.985);filter:blur(5px)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
@keyframes slReveal{
  from{opacity:0;clip-path:inset(0 100% 0 0)}
  to{opacity:1;clip-path:inset(0 0 0 0)}
}
@keyframes slSlowPan{
  0%{transform:scale(1.04) translate3d(0,0,0)}
  50%{transform:scale(1.10) translate3d(-1.2%, -1%, 0)}
  100%{transform:scale(1.06) translate3d(1%, .6%, 0)}
}
@keyframes slGlow{
  0%,100%{opacity:.16;transform:scale(1)}
  50%{opacity:.34;transform:scale(1.08)}
}
@keyframes slLineIn{
  from{transform:scaleX(0);transform-origin:left}
  to{transform:scaleX(1);transform-origin:left}
}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}

  /* Editorial navigation */
  .nav{transition:background .5s ease,backdrop-filter .5s ease}
  .brand{transition:letter-spacing .5s ease,transform .5s ease}
  .brand:hover{letter-spacing:.14em;transform:translateX(3px)}
  .links a{position:relative;transition:color .3s ease}
  .links a:not(.lang):after{
    content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;
    background:var(--coral);transform:scaleX(0);transform-origin:right;
    transition:transform .45s cubic-bezier(.22,1,.36,1)
  }
  .links a:not(.lang):hover:after{transform:scaleX(1);transform-origin:left}

  /* Hero: slow runway-camera movement */
  .hero:before{
    animation:slSlowPan 18s cubic-bezier(.45,0,.55,1) infinite alternate;
    will-change:transform
  }
  .hero:after{animation:slGlow 8s ease-in-out infinite}
  .hero h1{animation:slCinematicIn 1.25s cubic-bezier(.16,1,.3,1) .18s both}
  .hero .eyebrow{animation:slReveal .9s cubic-bezier(.16,1,.3,1) .02s both}
  .hero p{animation:slCinematicIn 1s cubic-bezier(.16,1,.3,1) .5s both}
  .hero .actions{animation:slCinematicIn 1s cubic-bezier(.16,1,.3,1) .68s both}
  .hero .proof{animation:slCinematicIn 1s cubic-bezier(.16,1,.3,1) .84s both}
  .hero h1 span{display:inline-block;animation:slReveal 1.15s cubic-bezier(.16,1,.3,1) .34s both}

  /* Large editorial headings */
  .section-title,.cta h2{
    text-wrap:balance;
    transition:transform .7s cubic-bezier(.22,1,.36,1),letter-spacing .7s ease
  }
  .section-title:hover,.cta h2:hover{transform:translateX(5px);letter-spacing:-.02em}

  /* Scroll-driven reveals where supported */
  @supports (animation-timeline:view()){
    section:not(.hero) .eyebrow,
    section:not(.hero) .section-title,
    section:not(.hero) .bodycopy,
    section:not(.hero) .quote,
    section:not(.hero) .cards,
    section:not(.hero) .galerie-grid,
    section:not(.hero) .videos-grid,
    section:not(.hero) .steps,
    section:not(.hero) .metrics,
    section:not(.hero) .team-country,
    section:not(.hero) .partners-grid,
    section:not(.hero) .cta-box{
      animation:slCinematicIn linear both;
      animation-timeline:view();
      animation-range:entry 5% cover 28%;
    }
  }

  /* Fashion-editorial image treatment */
  .portrait-card,.card,.gitem,.video-card,.impact img,.partners-grid img{
    will-change:transform;
  }
  .portrait-card img{
    transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter 1.2s ease;
    filter:saturate(.9) contrast(1.02);
  }
  .portrait-card:hover img{transform:scale(1.045);filter:saturate(1.04) contrast(1.06)}
  .portrait-card:before{
    content:"";
    position:absolute;z-index:2;inset:0;border-radius:34px;
    border:1px solid rgba(255,255,255,.16);pointer-events:none;
  }

  .card{transform:translateZ(0);transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .8s ease,border-color .5s ease}
  .card:after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.11) 50%,transparent 65%);
    transform:translateX(-130%);transition:transform 1s cubic-bezier(.22,1,.36,1)
  }
  .card:hover{transform:translateY(-14px) scale(1.012);box-shadow:0 32px 70px rgba(0,0,0,.38)}
  .card:hover:after{transform:translateX(130%)}
  .card img{transition:transform 1.15s cubic-bezier(.16,1,.3,1),opacity .8s ease}
  .card:hover img{transform:scale(1.09);opacity:.72}
  .card-overlay{transition:background .8s ease}
  .card:hover .card-overlay{background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.96) 94%)}
  .card h3{transition:transform .65s cubic-bezier(.16,1,.3,1),letter-spacing .65s ease}
  .card:hover h3{transform:translateX(7px);letter-spacing:.01em}

  /* Gallery feels like a moving contact sheet */
  .gitem{transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .8s ease}
  .gitem img{transition:transform 1.4s cubic-bezier(.16,1,.3,1),filter 1s ease}
  .gitem:hover{transform:translateY(-11px) scale(1.008);box-shadow:0 28px 60px rgba(0,0,0,.42);z-index:2}
  .gitem:hover img{transform:scale(1.10);filter:saturate(1.08) contrast(1.04)}
  .gitem span{transition:transform .5s cubic-bezier(.16,1,.3,1),background .4s ease}
  .gitem:hover span{transform:translateY(-4px);background:rgba(9,9,9,.92)}

  /* Staggered runway entrance */
  .cards .card:nth-child(2),.galerie-grid .gitem:nth-child(2),.videos-grid .video-card:nth-child(2){animation-delay:.08s}
  .cards .card:nth-child(3),.galerie-grid .gitem:nth-child(3),.videos-grid .video-card:nth-child(3){animation-delay:.16s}
  .galerie-grid .gitem:nth-child(4){animation-delay:.24s}
  .galerie-grid .gitem:nth-child(5){animation-delay:.32s}
  .galerie-grid .gitem:nth-child(6){animation-delay:.40s}
  .galerie-grid .gitem:nth-child(7){animation-delay:.48s}
  .galerie-grid .gitem:nth-child(8){animation-delay:.56s}
  .galerie-grid .gitem:nth-child(9){animation-delay:.64s}

  /* Steps glide like a show sequence */
  .step{transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .6s ease}
  .step:hover{transform:translate3d(10px,-3px,0) scale(1.01);box-shadow:0 18px 40px rgba(0,0,0,.18)}
  .step b{transition:transform .55s cubic-bezier(.16,1,.3,1)}
  .step:hover b{transform:rotate(8deg) scale(1.08)}

  /* Numbers and metrics get a restrained luxury lift */
  .proof strong,.metric strong{transition:transform .5s cubic-bezier(.16,1,.3,1)}
  .proof>div:hover strong,.metric:hover strong{transform:translateY(-4px);display:block}
  .metric{transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s ease}
  .metric:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(70,30,20,.12)}

  /* Team / partner wall */
  .member{transition:transform .7s cubic-bezier(.16,1,.3,1),border-color .5s ease,box-shadow .6s ease}
  .member:hover{transform:translateY(-10px);border-color:rgba(241,143,115,.5);box-shadow:0 22px 45px rgba(0,0,0,.28)}
  .member .avatar{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .5s ease}
  .member:hover .avatar{transform:scale(1.1) rotate(2deg);filter:saturate(1.15)}

  .partners-grid img{transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .6s ease,filter .6s ease}
  .partners-grid img:hover{transform:translateY(-8px) scale(1.025);box-shadow:0 20px 42px rgba(20,10,5,.18);filter:saturate(1.08)}

  /* Buttons move with a soft magnetic feel */
  .btn{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,background .35s ease}
  .btn:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 14px 28px rgba(0,0,0,.18)}
  .btn-primary:hover{box-shadow:0 16px 34px rgba(241,143,115,.24)}

  /* Section dividers appear like runway light bars */
  section{position:relative}
  section:not(.hero):before{
    content:"";position:absolute;top:0;left:50%;width:min(1180px,calc(100% - 40px));height:1px;
    background:linear-gradient(90deg,transparent,rgba(241,143,115,.28),transparent);
    transform:translateX(-50%) scaleX(.15);animation:slLineIn 1.2s cubic-bezier(.16,1,.3,1) both;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero:before,.hero:after,.hero h1,.hero .eyebrow,.hero p,.hero .actions,.hero .proof,.hero h1 span{animation:none!important}
  .section-title,.cta h2,.portrait-card,.card,.gitem,.video-card,.step,.metric,.member,.partners-grid img,.btn{transition:none!important}
}

/* Member portraits */
.member .avatar.member-photo{width:clamp(96px,10vw,140px);height:clamp(96px,10vw,140px);overflow:hidden;background:#f5efea}
.member .avatar.member-photo img{display:block;object-position:center 30%}

/* Mobile hero framing: keep the pink and magenta runway models visible. */
@media(max-width:900px){
  .hero:before{
    background-image:linear-gradient(180deg,rgba(9,9,9,.12) 0%,rgba(9,9,9,.2) 320px,#090909 550px),url("hero-claire.jpg");
    background-position:center,86% 72px;
    background-size:100% 100%,auto 480px;
    background-repeat:no-repeat;
    animation:none;
    transform:none;
  }
}

/* Persistent language switch and logo-side page menu. */
.language-bar{height:38px;background:#090909;border-bottom:1px solid rgba(255,255,255,.14)}
.language-bar .wrap{height:100%;display:flex;justify-content:flex-end;align-items:center}
.language-bar nav{display:flex;align-items:center;gap:12px;font-size:13px}
.language-bar a{padding:8px 4px;color:#ded7d2}
.language-bar a[aria-current="page"]{color:var(--coral);font-weight:800}
.language-bar a:focus-visible,.page-menu summary:focus-visible,.page-menu a:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
.brand-menu{display:flex;align-items:center;gap:12px}
.page-menu{position:relative}
.page-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;font-size:13px;font-weight:800}
.page-menu summary::-webkit-details-marker{display:none}
.page-menu[open] summary{color:var(--coral)}
.page-menu nav{position:absolute;top:calc(100% + 8px);left:0;min-width:180px;padding:8px;background:#141414;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.4)}
.page-menu nav a{display:block;padding:13px 14px;border-radius:8px;color:#fff}
.page-menu nav a:hover{background:#26201d;color:var(--coral)}
.hero{padding-top:173px}
.page-hero{padding-top:188px}
#fondatrice{scroll-margin-top:136px}
@media(min-width:901px){.language-bar,.page-menu{display:none}.brand-menu{display:contents}.hero{padding-top:135px}.page-hero{padding-top:150px}#fondatrice{scroll-margin-top:98px}}
@media(max-width:900px){.hero:before{background-position:center,86% 110px}.hero{padding-top:173px}}
@media(max-width:560px){.nav-inner{gap:8px}.brand-menu{gap:6px}.page-menu summary{padding:8px 7px;font-size:12px}.nav .btn{padding:11px 12px;font-size:12px}.brand img{width:38px;height:38px}.page-menu nav{left:-44px}}

/* Designer partners subsection */
.designers-group{margin-top:64px;padding-top:40px;border-top:1px solid #d9cec7}
.designers-group h3{font-family:var(--display);font-size:clamp(34px,5vw,52px);letter-spacing:.02em;margin:0;text-transform:uppercase}
.designers-group .partners-grid{margin-top:28px}
