.identity-strip {
  background: #171717;
  color: #fff;
  border-bottom-color: #171717;
}

.identity-strip span {
  color: #aaa;
  margin-left: 24px;
  font-size: 14px;
}

.identity-strip span b { color: #fff; }
.identity-strip .agency-locations{margin-left:43px;color:#aaa;font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}

section[id]{scroll-margin-top:92px}
#equipe{scroll-margin-top:92px}

.intro-copy .world-map {
  position: relative;
  left: 0;
  width: 112%;
  height: 470px;
  aspect-ratio: auto;
  margin: 105px 0 0 18px;
  padding: 0;
  background: transparent !important;
  overflow: hidden;
  transform: none;
}

.intro-copy .world-map img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  opacity: .72;
  filter: none;
  object-fit: initial;
  object-position: initial;
}

@media(max-width:760px){.intro-copy .world-map{left:0;width:108%;height:300px;margin:80px 0 0 10px;transform:none}.intro-copy .world-map img{width:100%;margin:0}}

.summary,
.profile-copy p,
.activity-list p,
.team-member p:not(.team-role),
.projects-copy > p:last-child,
.contact p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

.client-logos{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:62px;width:100%;overflow:visible}.client-logos a{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;height:54px;padding:0;background:none;border:0;transition:opacity .2s ease}.client-logos a:hover{opacity:.6}.client-logos img{display:block;width:auto;max-width:100%;height:54px;object-fit:contain}.client-logos span{color:#77736c;font-size:14px;font-weight:500;line-height:1;letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:nowrap}
.client-logos a:nth-child(1){height:96px}
.client-logos a:nth-child(1) img{height:96px;width:auto}
.client-logos a:nth-child(2) img{height:48px}
.client-logos a:nth-child(3) img{height:42px}
.client-logos a:nth-child(4) img{height:50px}
.client-logos a:nth-child(5) img{height:48px}
.client-logos a:nth-child(6) img{height:38px}

@media(max-width:760px){.client-logos{gap:18px;margin-top:38px;overflow-x:auto;padding-bottom:10px}.client-logos a{flex:0 0 145px;height:48px}.client-logos img{height:48px}.client-logos span{font-size:12px}}

@media(max-width:760px){.identity-strip .agency-locations{margin-left:8px;font-size:8px;letter-spacing:.12em}}
@media(max-width:760px){section[id]{scroll-margin-top:76px}}
@media(max-width:760px){#equipe{scroll-margin-top:76px}}

.site-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:15px;line-height:1.5}.site-footer .footer-nav{gap:15px 26px}.site-footer .footer-nav a{font-size:15px}.site-footer>p{font-size:14px;margin:0}

.direction-content{display:grid;grid-template-columns:110px minmax(0,1fr);gap:48px;align-items:start}.direction-portrait{width:110px;height:110px;object-fit:cover;border-radius:50%}.direction-content .profile-copy{margin-left:0}

.profile-copy.agency-copy{grid-template-columns:1.35fr 1fr 1fr;gap:4vw;max-width:none;margin:65px 0 0}.agency-visual{width:100%;height:156px;margin:0;overflow:hidden;background:transparent;border-radius:5px}.agency-visual img{width:100%;height:100%;object-fit:cover;object-position:center}

@media(max-width:760px){.site-footer{font-size:14px}.site-footer .footer-nav a{font-size:14px}.site-footer>p{font-size:13px}}
@media(max-width:760px){.direction-content{grid-template-columns:1fr;gap:24px}.direction-portrait{width:85px;height:85px}}
@media(max-width:760px){.profile-copy.agency-copy{grid-template-columns:1fr;gap:24px;margin-left:0}.agency-visual{width:100%;height:180px;margin-bottom:10px}}

.social-links {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

.social-links a {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  color: #fff;
  opacity: .8;
  transition: opacity .2s ease, color .2s ease;
}

.social-links a:hover { color: #b58a43; opacity: 1; }
.social-links svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.social-links svg .fill { fill: currentColor; stroke: none; }
.social-links svg .fill-dark { fill: #171717; stroke: none; }

.visual-carousel {
  position: relative;
  width: 100%;
  height: 430px;
  padding: 30px 4vw 48px;
  overflow: hidden;
  background: #171717;
}

.carousel-track { display: flex; gap: 14px; height: 100%; transition: transform .65s ease; }
.carousel-slide { flex: 0 0 calc((100% - 28px)/3); height: 100%; margin: 0; overflow: hidden; }
.carousel-slide img,
.carousel-slide video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.carousel-arrow {
  position: absolute;
  z-index: 2;
  top: 46%;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  background: rgba(20,20,20,.28);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  transform: translateY(-50%);
}
.carousel-prev { left: 1.5vw; }
.carousel-next { right: 1.5vw; }
.carousel-dots { position: absolute; z-index: 2; left: 50%; bottom: 20px; display: flex; gap: 9px; transform: translateX(-50%); }
.carousel-dots button { width: 7px; height: 7px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.carousel-dots button.is-active { background: #fff; }

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 65px;
}

.team-member {
  display: grid;
  grid-template-columns: minmax(150px, 42%) 1fr;
  min-height: 360px;
  background: #f2eee7;
}

.team-member img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center top;
}

.team-member > div { padding: 34px 28px; align-self: end; }
.team-member h3 { margin: 8px 0 20px; font-size: 25px; font-weight: 400; }
.team-member p { font-size: 14px; line-height: 1.7; }
.team-member .team-role { margin: 0; color: #8b2e38; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.intro-mobile-opening{display:contents}
.intro-mobile-portrait{display:none}
.ness-portrait-dialog{width:min(92vw,560px);max-width:none;padding:0;border:0;background:#f5f2eb;box-shadow:0 20px 70px rgba(0,0,0,.38)}
.ness-portrait-dialog::backdrop{background:rgba(18,17,15,.78)}
.ness-portrait-dialog img{display:block;width:100%;max-height:86vh;object-fit:contain}
.ness-portrait-close{position:absolute;z-index:2;top:10px;right:10px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(20,20,20,.78);color:#fff;font-size:27px;line-height:36px;cursor:pointer}

@media (min-width: 761px) {
  header nav {
    gap: clamp(12px, 1.45vw, 26px);
  }
}

@media (max-width: 760px) {
  .intro-mobile-opening{display:flex;align-items:flex-start;gap:14px;margin:28px 0 30px}
  .intro-mobile-opening h1{flex:1;min-width:0;margin:58px 0 0;font-size:clamp(27px,7.2vw,32px);line-height:1.06;overflow-wrap:normal}
  .intro-copy .intro-mobile-portrait{display:block;flex:0 0 28%;height:190px;margin:0;background:transparent}
  .intro-mobile-portrait button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
  .intro-mobile-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
  .intro>.intro-portrait{display:none}
  .intro .summary{text-align:left!important;word-spacing:normal!important}
  header .menu { display: block; position: relative; z-index: 2; flex: 0 0 auto; margin-left: auto; color: #1d1d1b; font-size: 16px; }
  .identity-strip { flex-wrap: wrap; }
  .identity-strip span { margin-left: 0; font-size: 12px; }
  .identity-strip .social-links { position: static!important; inset: auto!important; display: flex!important; flex-direction: row!important; align-items: center; width: 100%; justify-content: center; gap: 18px; margin: 8px 0 0; padding: 0; background: transparent; }
  .identity-strip .social-links a { display: grid; flex: 0 0 30px; width: 30px; height: 30px; padding: 0; }
  .identity-strip .social-links svg { width: 20px; height: 20px; }
  .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 40px; }
  .team-member { display: block; min-height: 0; }
  .team-member picture { height: 155px; }
  .team-member img { width: 100%; height: 155px; min-height: 0; object-fit: cover; object-position: center top; }
  .team-member > div { min-height: 96px; padding: 15px 12px; }
  .team-member h3 { margin: 6px 0 0; font-size: 20px; }
  .team-member > div p:not(.team-role) { display: none; }
  .team-member .team-role { font-size: 8px; line-height: 1.35; }
  .visual-carousel { height: 170px; min-height: 0; padding: 12px 20px 24px; }
  .carousel-slide { flex-basis: calc((100% - 12px)/2); }
  .carousel-arrow { width: 34px; height: 34px; }
}

main .visual-carousel { padding: 30px 4vw 48px; }
.intro>figure>picture,.agency-visual picture,.carousel-slide picture,.team-member picture,.event-intro picture{display:block;width:100%;height:100%}
@media (max-width: 760px) { main .visual-carousel { padding: 12px 20px 24px; } }

main .event-launch {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 3vw, 52px);
  align-items: center;
  padding-left: 19.9vw;
  padding-right: 7vw;
  background: #171717;
  color: #f5f1e9;
}
.event-launch .number { color: rgba(255,255,255,.42); }
.event-launch h2 { margin: 0 0 38px; font-size: 18px; font-weight: 500; }
.event-launch .large { max-width: 650px; margin: 0; color: #f5f1e9; }
.event-intro a { display: block; }
.event-poster { display: block; width: 100%; height: auto; border-radius: 2px; }
.event-feature { padding: 38px 0 8px; border-top: 1px solid rgba(255,255,255,.28); }
.event-feature .event-kicker { margin: 0 0 18px; color: #b99052; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.event-feature h3 { margin: 0 0 22px; font-size: clamp(38px,4vw,68px); font-weight: 300; }
.event-feature > p:not(.event-kicker) { max-width: 620px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.8; }
.event-feature a { display: inline-block; margin-top: 25px; padding-bottom: 7px; border-bottom: 1px solid #b99052; color: #fff; text-decoration: none; }
.event-feature a span { margin-left: 8px; color: #b99052; }

@media(max-width:760px){
  main .event-launch{grid-template-columns:1fr;gap:44px;padding-inline:24px}
  .event-intro{max-width:520px}
  .event-launch h2{margin-bottom:24px}
  .event-feature{padding-top:28px}
}
