/* ==========================================================================
   Studio NETSIDE — feuille de styles unique
   Sommaire
     0. Police Manrope (auto-hébergée)
     1. normalize.css
     2. Base (classes de mise en page l-*)
     3. Styles du site
     4. Effets et composants (en-tête, expertises, icônes)
     5. Animations et survols
     6. Menu mobile (burger)
   ========================================================================== */

/* 0. Police Manrope — variable, graisses 200 à 800 */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('../fonts/manrope-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('../fonts/manrope-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   normalize.css
   ========================================================================== */

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

canvas {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden] {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
/**
 * Address inconsistent and variable font size in all browsers.
 */
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
/**
 * Address differences between Firefox and other browsers.
 */
/**
 * Contain overflow in all browsers.
 */
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button {
  text-transform: none;
}
button {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
/**
 * Define consistent border, margin, and padding.
 */
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */

th {
  padding: 0;
}

/* ==========================================================================
   base (grilles, conteneurs, liens)
   ========================================================================== */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}
.l-inline-block {
  max-width: 100%;
  display: inline-block;
}
h1,
h2,
h3 {
  font-weight: bold;
  margin-bottom: 10px;
}
h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px;
}
h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px;
}
h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
.embed:before,
.embed:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.embed:after {
  clear: both;
}
button,
[type='button'],
[type='reset'] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}
.l-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.l-container:before,
.l-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.l-container:after {
  clear: both;
}
@media screen and (max-width: 991px) {
  .l-container {
    max-width: 728px;
  }
}
@media screen and (max-width: 479px) {
  .l-container {
    max-width: none;
  }
}
/**
 * ## Note
 * Safari (on both iOS and OS X) does not handle viewport units (vh, vw) well.
 * For example percentage units do not work on descendants of elements that
 * have any dimensions expressed in viewport units. It also doesn’t handle them at
 * all in `calc()`.
 */
/**
 * Wrapper around all lightbox elements
 *
 * 1. Since the lightbox can receive focus, IE also gives it an outline.
 * 2. Fixes flickering on Chrome when a transition is in progress
 *    underneath the lightbox.
 */
/**
 * Neat trick to bind the rubberband effect to our canvas instead of the whole
 * document on iOS. It also prevents a bug that causes the document underneath to scroll.
 */
/* .w-lightbox-content */
/*
 * 1. Remove default margin set by user-agent on the <figure> element.
 */
/**
 * IE adds image dimensions as width and height attributes on the IMG tag,
 * but we need both width and height to be set to auto to enable scaling.
 */
/**
 * 1. Reset if style is set by user on "All Images"
 */
/*
 * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
 * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
 * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
 */
/**
 * 1. All IE versions add extra space at the bottom without this.
 */
/*
 * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
 *    which doesn’t work in Safari anyway.
 * 2. Chrome renders images pixelated when switching to GPU. Making sure
 *    the parent is also rendered on the GPU (by setting translate3d for
 *    example) fixes this behavior.
 */
/*
 * Spinner
 *
 * Absolute pixel values are used to avoid rounding errors that would cause
 * the white spinning element to be misaligned with the track.
 */
/*
 * Utility classes
 */
@media (min-width: 768px) {
  /* .w-lightbox-content */
}
.l-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000;
}
.l-nav:before,
.l-nav:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.l-nav:after {
  clear: both;
}
.l-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333;
}
/**
 * NOTE: These rules are overridden in site-designer.less to use container queries instead of media queries
 * when the navbar is inside a Frame on the Open Canvas.
 */
@media screen and (max-width: 767px) {
  .l-brand {
    padding-left: 10px;
  }
}
.l-grid {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-row-gap: 16px;
  grid-column-gap: 16px;
}

/* ==========================================================================
   styles du site
   ========================================================================== */

:root {
  --dark-grey: #1c1c1c;
  --white: #fafafa;
  --light-grey: #b3b3b3;
  --medium-grey: #484848;
  --blue-netside: #717aff;
  --transparent: #0000;
  --neutral-100: white;
  --black: #0f0f0f;
  --graphite: #2c2c2c;
}

.l-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.l-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .l-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .l-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--dark-grey);
  color: var(--white);
  font-family: Inter Display;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 135%;
}

h1, h2.as-h1 {
  text-align: left;
  letter-spacing: -.05vw;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 4vw;
  font-weight: 400;
  line-height: 1;
  display: block;
}

h2 {
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 110%;
}

h3 {
  letter-spacing: -.05rem;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 100%;
}

p {
  margin-bottom: 0;
  line-height: 150%;
}

a {
  color: var(--light-grey);
  text-decoration: none;
  transition: opacity .2s;
}

a:hover {
  opacity: .6;
}

img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
  display: inline-block;
  overflow: hidden;
}

.content-wrapper {
  background-color: #0000;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
}

.content-wrapper.hero-section {
  justify-content: center;
  align-items: flex-end;
  height: 70vh;
  padding-bottom: 0;
  display: flex;
}

.content-wrapper.project-page-hero-section {
  justify-content: center;
  align-items: flex-end;
  height: auto;
  padding-top: 20rem;
  padding-bottom: 0;
  display: flex;
}

.content-wrapper.project-images-section {
  margin-bottom: 0;
}

.content-wrapper.projects-section {
  padding-top: 0;
  overflow: hidden;
}

.content-wrapper.hero-subpages-section {
  justify-content: center;
  align-items: flex-end;
  height: 70vh;
  padding-bottom: 0;
  display: flex;
}

.container {
  grid-row-gap: 1rem;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem 0;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.container.hero-container, .container.home-hero-container {
  grid-row-gap: 1rem;
  padding: 2.5rem 2.5rem 5rem;
}

.divider {
  z-index: -4;
  background-color: var(--medium-grey);
  width: 100%;
  height: 1px;
  margin-top: 0;
  margin-bottom: 1.25rem;
  padding-top: 0;
  padding-bottom: 0;
  position: static;
}

.footer {
  width: 100%;
  max-width: 100%;
  margin-top: 5.5rem;
  padding-top: 0;
  padding-bottom: 1.5rem;
  position: relative;
}

.navbar {
  border-top: 0px solid var(--dark-grey);
  background-color: #0000;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  position: absolute;
}

._9-column-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-content: end;
  place-items: start stretch;
  width: 100%;
  font-size: 1rem;
  display: grid;
  position: relative;
}

._9-column-grid.footer-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 4rem;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
}

._9-column-grid.project-hero {
  margin-bottom: 0;
}

.footer-grid {
  grid-column-gap: 1.5rem;
  grid-row-gap: 5rem;
  grid-template-rows: auto;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
  grid-auto-columns: 1fr;
  place-items: start stretch;
  width: 100%;
  display: grid;
}

.brand {
  z-index: 2;
  color: var(--white);
  font-family: Manrope, sans-serif;
}

.brand.is-current {
  margin-top: 0;
  padding-top: 0;
  position: relative;
}

.brand.is-current:hover {
  opacity: 1;
}

.nav-menu {
  grid-column-gap: 2rem;
  justify-content: flex-start;
  width: auto;
  display: flex;
  position: static;
  left: auto;
}

.footer-links-container {
  grid-column-gap: 1rem;
  grid-row-gap: .5rem;
  flex-direction: column;
  align-items: flex-start;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  display: flex;
}

.preloader {
  z-index: 999;
  grid-column-gap: .35rem;
  background-color: var(--white);
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 1.5rem 1.5rem 0;
  display: none;
  position: fixed;
  inset: 0%;
  overflow: visible;
}

.preloader-block {
  background-color: var(--dark-grey);
  width: 100%;
  height: 5px;
}

.preloader-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.horizontal-footer-links-container {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

.navbar-text {
  max-width: 300px;
  color: var(--white);
  padding-top: 2px;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  display: block;
}

.grey-text {
  color: var(--light-grey);
  font-family: Manrope, sans-serif;
  font-size: 1.125rem;
}

.hero-heading {
  letter-spacing: -2px;
  font-size: 3.2vw;
  font-weight: 500;
  line-height: 1.1;
  display: inline;
}

.nav-link {
  color: var(--white);
  padding-top: 5px;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
}

.case-grid {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-rows: auto auto auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 0;
  margin-bottom: 5rem;
  display: grid;
}

.project-wrapper {
  width: 100%;
  height: auto;
  color: var(--white);
  cursor: pointer;
  background-color: #2e2e2e;
  border: 1px #000;
  border-radius: 20px;
  padding-top: 110%;
  transition-property: none;
  position: relative;
}

.project-wrapper:hover {
  opacity: 1;
}

.project-image-container {
  border-radius: 20px;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.project-image {
  height: 100%;
  padding-bottom: 0;
}

.hero-heading-container {
  direction: ltr;
  margin-top: -.25rem;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.5rem;
  line-height: 125%;
}

.project-image-overlay {
  background-color: #0000001a;
  background-image: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.view-project-wrapper {
  width: 100%;
  height: 100%;
  color: var(--white);
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  padding-bottom: 0%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.view-project-button {
  grid-column-gap: .5rem;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  width: 80px;
  height: 80px;
  color: var(--white);
  letter-spacing: .05rem;
  text-transform: uppercase;
  background-color: #000000b3;
  border-radius: 50vw;
  justify-content: center;
  align-self: auto;
  align-items: center;
  padding: 0;
  font-size: .75rem;
  font-weight: 500;
  line-height: 150%;
  display: flex;
}

.view-project-button-content-container {
  grid-column-gap: .5rem;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.view-project-button-text {
  letter-spacing: -.5px;
  text-transform: none;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
}

.view-project-button-text-hover {
  letter-spacing: -.5px;
  text-transform: none;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  position: absolute;
  inset: 0%;
}

.project-service {
  color: #ffffffa6;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
}

.pretitle-section {
  color: var(--blue-netside);
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  line-height: 135%;
}

._3-column-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 20px;
  display: grid;
}

._3-column-grid.number-grid {
  grid-row-gap: 4rem;
  margin-bottom: 0;
}

.large-number-wrapper {
  grid-row-gap: .75rem;
  border: 0px solid var(--medium-grey);
  border-radius: 0;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
}

.large-number-container {
  grid-row-gap: .5rem;
  flex-direction: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  padding-bottom: 0;
  display: flex;
}

.large-number {
  color: var(--blue-netside);
  font-size: 3.8vw;
  font-weight: 400;
  line-height: 100%;
}

.project-list-item {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-direction: column;
  width: 100%;
  padding-top: 0;
  font-family: Manrope, sans-serif;
  display: flex;
}

.project-list-item:where(.is-compact) {
  display: flex;
}

.project-1-column {
  grid-row-gap: 2.5rem;
  flex-direction: column;
  width: 100%;
  margin-bottom: 2.5rem;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

.project-info-list {
  grid-row-gap: 1rem;
  flex-direction: column;
  width: 100%;
  margin-top: 5rem;
  margin-bottom: 5rem;
  display: flex;
}

.text-block {
  color: var(--white);
  font-family: Manrope, sans-serif;
  font-size: 1rem;
}

.body {
  margin-top: 0;
  font-family: Manrope, sans-serif;
  font-weight: 500;
}

.copy {
  color: var(--light-grey);
  text-transform: none;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: .75rem;
  font-weight: 500;
}

.paragraph {
  font-family: Manrope, sans-serif;
  font-size: 1.125rem;
}

.divider-content {
  z-index: -4;
  background-color: #fff3;
  width: 100%;
  height: 1px;
  margin-top: 20px;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: static;
}

.link {
  color: var(--blue-netside);
  font-family: Manrope, sans-serif;
}

.image {
  width: 30px;
  height: auto;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
}

.text-block-2 {
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  position: static;
  inset: auto 0% 0%;
}

.img-project {
  color: var(--white);
  border-radius: 20px;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
}

.pretitle-project {
  color: var(--light-grey);
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 130%;
  text-decoration: none;
}

.project-text-container {
  background-color: var(--transparent);
  opacity: 1;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background-image: linear-gradient(0deg, #000000b3, #fff0 55%);
  border-radius: 20px;
  grid-template-rows: auto;
  width: 100%;
  max-width: none;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  position: absolute;
  inset: 0%;
}

.project-2-column {
  grid-column-gap: 2.5em;
  grid-row-gap: 2.5em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 2.5em;
  display: grid;
}

.keyfact-content-container {
  margin-top: 2rem;
  margin-bottom: 0;
}

.hero-block-project {
  height: auto;
  position: relative;
}

.next-case-grid {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
  margin-bottom: 2.5em;
}

.arrow-down {
  width: 2.75rem;
  height: 100%;
  padding-top: 10px;
}

.next-title-block {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 3em;
  display: flex;
}

.navbar-brand-name {
  color: var(--white);
  font-family: Manrope, sans-serif;
}

.block-brand {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: column;
  display: flex;
}

.footer-text {
  font-family: Manrope, sans-serif;
  display: none;
}

.div-block {
  position: absolute;
  inset: auto 1.5rem 1.5rem;
}

.contact-block {
  grid-column-gap: 3.75rem;
  grid-row-gap: 3.75rem;
  flex-flow: column;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  padding-left: 2.5rem;
  padding-right: 2.5em;
  display: flex;
}

.madeby {
  color: var(--light-grey);
  font-family: Manrope, sans-serif;
  font-size: .75rem;
  font-weight: 500;
}

.text-project-large {
  color: var(--light-grey);
  letter-spacing: 0;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 125%;
}

.project-list-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 0;
  display: grid;
}

.project-2-column-text {
  grid-column-gap: 2.5em;
  grid-row-gap: 2.5em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 0;
  display: grid;
}

.project-context-container {
  direction: ltr;
  margin-top: -.25rem;
  margin-bottom: 0;
  padding-right: 5rem;
  font-family: Manrope, sans-serif;
  font-size: 1.5rem;
  line-height: 125%;
}

.case-grid-home {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template: "."
                 "."
                 / 1fr minmax(200px, 1fr);
  grid-auto-columns: 1fr;
  margin-top: 5rem;
  margin-bottom: 2.5rem;
  display: grid;
}

.expertises-list {
  grid-row-gap: 0rem;
  flex-direction: column;
  width: 100%;
  margin: 5rem auto;
  padding: 0 2.5rem;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.heading-2 {
  color: var(--white);
  letter-spacing: -1px;
  padding-top: 0;
  font-family: Manrope, sans-serif;
  font-size: 2.2vw;
  font-weight: 500;
  line-height: 120%;
  position: sticky;
}

.heading-2.grey-text {
  color: var(--light-grey);
}

.container-inline {
  grid-row-gap: 3.75rem;
  flex-direction: column;
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem 5rem;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.cta-wrapper {
  justify-content: center;
  align-items: flex-start;
  margin-top: .5rem;
  margin-bottom: 4rem;
  display: flex;
}

.div-block-3 {
  margin-top: 0;
}

._9-column-grid-intro {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex: 0 auto;
  grid-template-rows: auto;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-content: end;
  place-items: stretch stretch;
  width: 100%;
  font-size: 1rem;
  display: grid;
  position: relative;
}

._3-column-grid-expertises {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  background-color: var(--transparent);
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.section-about {
  grid-row-gap: 1rem;
  flex-direction: column;
  width: 100%;
  margin: 5rem auto;
  padding: 0 2.5rem;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.paragraph-2 {
  color: var(--light-grey);
}

._9-column-grid-key-figures {
  grid-column-gap: 1rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-content: end;
  place-items: start stretch;
  width: 100%;
  font-size: 1rem;
  display: grid;
  position: relative;
}

.primary-text-link {
  color: var(--white);
  letter-spacing: -1px;
  padding-top: 0;
  font-family: Manrope, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 120%;
}

.primary-link-button {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  border-bottom-style: none;
  border-bottom-color: var(--transparent);
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 0;
  font-family: Manrope, sans-serif;
  transition-property: all;
  transition-duration: .8s;
  display: inline-flex;
}

.primary-link-button:hover {
  border-bottom-style: none;
  border-bottom-color: var(--white);
  opacity: 1;
  padding-bottom: 0;
}

.arrow-large {
  width: 24px;
  margin-top: 3px;
}

.image-4 {
  width: 36px;
  transform-style: preserve-3d;
  transform: rotateX(180deg)rotateY(0)rotateZ(0);
}

.link-block-4 {
  display: none;
}

.link-block-4:where(.is-alt) {
  display: block;
}

.link-block-5:where(.is-alt) {
  display: none;
}

._404-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto auto;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-content: end;
  place-items: start stretch;
  width: 100%;
  font-size: 1rem;
  display: grid;
  position: relative;
}

.secondary-link-button {
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  border-bottom-style: none;
  border-bottom-color: var(--transparent);
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 0;
  font-family: Manrope, sans-serif;
  transition-property: all;
  transition-duration: .8s;
  display: inline-flex;
}

.secondary-link-button:hover {
  opacity: 1;
  padding-bottom: 0;
}

.secondary-text-link {
  color: var(--white);
  letter-spacing: -1px;
  padding-top: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 120%;
}

.arrow-medium {
  width: 16px;
  margin-top: 0;
}

.menu-container {
  grid-row-gap: 1rem;
  flex-direction: column;
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem 2.5rem 0;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.hero-block-wrapper {
  position: relative;
}

.card-expertise {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-style: solid;
  border-width: 1px 0 0;
  border-color: #ffffff26 var(--medium-grey) var(--medium-grey);
  background-color: var(--transparent);
  width: 100%;
  height: auto;
  color: var(--white);
  cursor: default;
  border-radius: 0;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  padding: 2.5rem 0;
  font-size: 1rem;
  display: grid;
}

.intro-text {
  grid-row-gap: 1rem;
  flex-direction: column;
  width: 100%;
  margin: 5rem auto;
  padding: 0 2.5rem;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.expertise-numb {
  border: 0px solid var(--dark-grey);
  color: var(--light-grey);
  text-align: left;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: .75rem;
  font-weight: 400;
}

.expertise-heading {
  border: 0px solid var(--dark-grey);
  color: var(--white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 2rem;
  font-weight: 400;
}

.expertise-desc {
  border: 0px solid var(--dark-grey);
  max-width: none;
  color: var(--light-grey);
  letter-spacing: -.3px;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 150%;
  transition: all .2s;
}

.contact-details-container {
  grid-row-gap: 0rem;
  border-left: 0px none var(--medium-grey);
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: auto;
  height: 100%;
  margin: 0 0 0 0;
  padding: 0;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.contact-content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-top: 1px solid var(--medium-grey);
  border-bottom: 0px none var(--medium-grey);
  border-left: 0px none var(--medium-grey);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-left: 0;
  display: flex;
}

.contact-link {
  box-sizing: border-box;
  color: var(--white);
  letter-spacing: -1px;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 1.75rem;
  line-height: 120%;
  display: block;
}

.thumb-expertise-wrapper {
  border: 1px solid var(--medium-grey);
  background-color: var(--transparent);
  width: 100%;
  height: 100%;
  color: var(--white);
  cursor: pointer;
  border-radius: 7px;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem;
  font-size: 1rem;
  transition-property: none;
  display: flex;
}

.thumb-expertise-wrapper:hover {
  opacity: 1;
}

.thumb-expertise-content {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  border: 0px solid var(--dark-grey);
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  padding-right: 0;
  display: flex;
}

.thumb-expertise-ico {
  justify-content: center;
  align-self: flex-end;
  align-items: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  margin-top: 0;
  display: block;
}

.thumb-expertise-header {
  border: 0px solid var(--dark-grey);
  flex-flow: column;
  justify-content: flex-start;
  align-self: flex-end;
  align-items: flex-start;
  width: auto;
  margin-bottom: .75rem;
  display: flex;
}

.thumb-expertise-numb {
  border: 0px solid var(--dark-grey);
  width: auto;
  color: var(--light-grey);
  text-align: left;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: .75rem;
  font-weight: 400;
}

.thumb-expertise-title {
  border: 0px solid var(--dark-grey);
  color: var(--white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
}

.thumb-expertise-body {
  border: 0px solid var(--dark-grey);
  width: auto;
  margin-right: 2rem;
  overflow: hidden;
}

.thumb-expertise-paragrahe {
  border: 0px solid var(--dark-grey);
  color: var(--light-grey);
  letter-spacing: -.3px;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 150%;
}

.expertises-section {
  border-bottom: 1px solid var(--medium-grey);
  color: var(--neutral-100);
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 5rem;
}

.expertises-container-default {
  color: #fff;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.expertises---grid-2-columns-stats {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: grid;
}

.contact-heading-container {
  direction: ltr;
  margin-top: -.25rem;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.5rem;
  line-height: 125%;
}

.contact-pretitle {
  color: var(--light-grey);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: Manrope, sans-serif;
  font-size: .6rem;
  font-weight: 800;
}

.contact-body {
  box-sizing: border-box;
  color: var(--white);
  letter-spacing: -1px;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 1.75rem;
  line-height: 120%;
  display: block;
}

.code, .code-2 {
  font-size: 1vw;
}

._9-column-grid-contact {
  grid-column-gap: 1rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr) minmax(16px, 1fr);
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  align-content: end;
  place-items: start stretch;
  width: 100%;
  font-size: 1rem;
  display: grid;
  position: relative;
}

.title-extra-large {
  color: var(--medium-grey);
  letter-spacing: -10px;
  margin-bottom: 0;
  margin-left: -.5rem;
  padding-left: 0;
  font-size: 11vw;
  font-weight: 500;
  line-height: 90%;
}

.faq-content-wrapper {
  grid-row-gap: 0rem;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem 0;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.faq---grid-2-columns-stats {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  margin-top: 5rem;
  display: grid;
}

.faq---grid-1-column-gap-row {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.faq---accordion-item-wrapper {
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
  border-style: solid none none;
  border-width: 1px 0 0;
  border-color: var(--medium-grey);
  background-color: var(--transparent);
  cursor: pointer;
  border-radius: 0;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0;
  padding: 2.5rem 0;
  transition: transform .3s;
  display: flex;
}

.faq---accordion-item-wrapper:where(.is-last) {
  border-bottom-style: none;
  border-bottom-width: 0;
  padding-bottom: 0;
}

.faq---accordion-item-wrapper:hover {
  box-shadow: none;
  transform: scale(.99);
}

.card-faq-title {
  border: 0px solid var(--dark-grey);
  color: var(--white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 120%;
}

.card-faq-spacer {
  min-height: 16px;
}

.card-faq-header {
  align-items: center;
  width: 100%;
  display: flex;
}

.card-faq-ico {
  justify-content: center;
  align-self: flex-start;
  align-items: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  margin-top: 0;
  margin-right: 0;
  display: block;
}

.card-faq-content-wrapper {
  flex-direction: column;
  justify-content: center;
  max-width: 1200px;
  display: flex;
}

.brix---acordion-body {
  width: 100%;
  overflow: hidden;
}

.faq-paragraphe {
  border: 0px solid var(--dark-grey);
  color: var(--light-grey);
  letter-spacing: -.3px;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 150%;
}

.container-contact {
  grid-row-gap: 3.75rem;
  flex-direction: column;
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem 5rem;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.expertises-items {
  grid-row-gap: 0rem;
  flex-direction: column;
  width: 100%;
  margin: 5rem auto;
  padding: 0 2.5rem;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.grid-process {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  flex: 1;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  place-content: stretch;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
}

.process-content-wrapper {
  grid-row-gap: 2.5rem;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin-bottom: 5rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5rem 0;
  font-family: Manrope, sans-serif;
  display: flex;
  position: relative;
}

.process-intro {
  flex: 1;
  align-self: stretch;
  position: static;
}

.card-process-numb {
  width: auto;
  color: var(--white);
  text-align: left;
  letter-spacing: 0;
  border: 1px solid #fafafa33;
  border-radius: 5px;
  padding: 8px 15px;
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 100%;
}

.card-process-title {
  border: 0px solid var(--dark-grey);
  color: var(--white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
}

.card-process-body {
  border: 0px solid var(--dark-grey);
  width: auto;
  margin-right: 0;
  padding-top: 1.5rem;
  overflow: hidden;
}

.card-process-paragraphe {
  border: 0px solid var(--dark-grey);
  color: var(--light-grey);
  letter-spacing: -.3px;
  margin-bottom: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 150%;
}

.project-agency {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-direction: column;
  width: 100%;
  padding-top: 0;
  font-family: Manrope, sans-serif;
  display: flex;
}

.project-agency:where(.is-compact) {
  display: none;
}

.brand-name {
  z-index: 2;
  color: var(--white);
  font-family: Manrope, sans-serif;
}

.brand-name.is-current {
  margin-top: 0;
  padding-top: 2px;
  position: relative;
}

.brand-name.is-current:hover {
  opacity: 1;
}

.card-stack__item-bottom {
  background-color: var(--transparent);
  border-radius: 0;
  flex: 0 auto;
  width: 100%;
  display: block;
  position: static;
}

.card-stack__item-top {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  place-items: center start;
  display: inline-flex;
}

.card-stack__item {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--black);
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: var(--black);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: var(--black);
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--black);
  background-color: var(--graphite);
  width: 480px;
  max-width: none;
  box-shadow: 15px 15px 0 0 var(--black);
  transform-origin: 50% 100%;
  color: var(--white);
  top: var(--stack-top);
  height: var(--stack-card-height);
  border-radius: 20px;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  padding: 2.5em;
  display: flex;
  position: sticky;
  overflow: hidden;
}

.cards-stack-section {
  justify-content: center;
  align-items: center;
  margin-bottom: 5rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  display: flex;
}

.card-stack {
  grid-auto-rows: var(--stack-row);
  display: grid;
  position: relative;
}

.card-stack__item-inner {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
  display: flex;
}

.card-stack__item-middle {
  box-sizing: border-box;
  aspect-ratio: auto;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  position: static;
}

.code-embed-ico-process {
  width: 100%;
  padding-left: 20%;
  padding-right: 20%;
  overflow: hidden;
}

@media screen and (min-width: 1920px) {
  p {
    font-size: 1rem;
  }

  .content-wrapper {
    padding-bottom: 0;
  }

  .content-wrapper.project-images-section {
    padding-top: 0;
    padding-bottom: 0;
  }

  .container.hero-container, .container.home-hero-container {
    padding-top: 3rem;
    padding-bottom: 5rem;
  }

  ._9-column-grid {
    font-size: 1rem;
  }

  .navbar-text {
    display: block;
  }

  .hero-heading {
    display: inline;
  }

  .case-grid {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .project-wrapper {
    border-radius: 20px;
    padding-top: 110%;
  }

  .project-image-container {
    height: 100%;
  }

  .hero-heading-container {
    margin-bottom: 0;
    font-size: 1.25rem;
  }

  .view-project-wrapper {
    justify-content: center;
    align-items: center;
    padding-bottom: 0%;
  }

  ._3-column-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  ._3-column-grid.number-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .project-list-item {
    margin-top: 0;
  }

  .project-info-list {
    margin-top: 7rem;
    margin-bottom: 7rem;
  }

  .divider-content {
    margin-top: 20px;
  }

  .project-2-column {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
  }

  .arrow-down {
    width: 3.25rem;
  }

  .footer-text {
    font-family: Manrope, sans-serif;
  }

  .text-project-large {
    font-size: 1.5vw;
  }

  .project-2-column-text {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    grid-template-columns: 1fr 1fr;
  }

  .project-context-container {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }

  .case-grid-home {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  ._9-column-grid-intro {
    font-size: 1rem;
  }

  ._3-column-grid-expertises {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr 1fr;
  }

  ._9-column-grid-key-figures, ._404-grid {
    font-size: 1rem;
  }

  .contact-details-container {
    padding-left: 0;
  }

  .contact-content {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
  }

  .thumb-expertise-content {
    width: 100%;
  }

  .contact-heading-container {
    margin-bottom: 0;
    font-size: 1.25rem;
  }

  ._9-column-grid-contact {
    font-size: 1rem;
  }

  .title-extra-large {
    letter-spacing: -10px;
    margin-bottom: 0;
    font-size: 11vw;
  }

  .faq---accordion-item-wrapper {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .process-intro {
    max-width: none;
  }

  .project-agency {
    margin-top: 0;
  }

  .card-stack__item-top {
    display: inline-flex;
  }
}

@media screen and (max-width: 991px) {
  h1, h2.as-h1 {
    letter-spacing: -.05vw;
    font-size: 4.5vw;
    line-height: 110%;
  }

  h3 {
    margin-bottom: 0;
    font-size: 1.25rem;
    line-height: 100%;
  }

  .content-wrapper {
    margin-bottom: 0;
    padding-bottom: 0;
    position: static;
  }

  .content-wrapper.hero-section {
    height: auto;
  }

  .content-wrapper.project-page-hero-section {
    height: auto;
    padding-top: 0;
  }

  .content-wrapper.projects-section {
    margin-top: .5rem;
    padding-top: 0;
  }

  .content-wrapper.hero-subpages-section {
    height: auto;
  }

  .container {
    grid-row-gap: 0rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .container.hero-container {
    padding: 1rem 1.5rem .5rem;
  }

  .container.home-hero-container {
    padding: 1rem 1.5rem 2rem;
  }

  .footer {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .navbar {
    margin-top: 0;
    margin-bottom: 8rem;
    padding-top: 0;
    position: relative;
    top: auto;
  }

  ._9-column-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: minmax(16px, 1fr);
  }

  ._9-column-grid.footer-grid {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    grid-template-rows: auto auto auto auto auto auto auto;
    grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) 1fr;
    grid-auto-flow: column;
    place-items: start;
    margin-top: 0;
  }

  ._9-column-grid.navbar-grid {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    grid-template-rows: auto;
    grid-template-columns: minmax(16px, 1fr) 1fr .25fr;
  }

  ._9-column-grid.project-hero {
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr);
    margin-bottom: 0;
  }

  .footer-grid {
    grid-column-gap: 40px;
    grid-row-gap: 2.5rem;
    grid-template-columns: minmax(16px, 1fr) 1fr;
  }

  .brand {
    margin-left: 0;
    padding-left: 0;
  }

  .brand.is-current {
    margin-left: 0;
  }

  .nav-menu {
    width: auto;
    color: var(--white);
    flex-direction: row;
    justify-content: flex-start;
    display: flex;
    position: static;
    top: 0;
    left: 0;
    right: 0;
  }

  .footer-links-container {
    margin-bottom: 1rem;
  }

  .navbar-text {
    display: none;
  }

  .hero-heading {
    letter-spacing: -.031rem;
    font-size: 2rem;
  }

  .nav-link:hover {
    opacity: 1;
  }

  .case-grid {
    grid-template-columns: 1fr 1fr;
    margin-top: 1.5rem;
    margin-bottom: 3rem;
  }

  .project-wrapper, .project-image-container {
    border-radius: 15px;
  }

  .hero-heading-container {
    max-width: 520px;
    margin-top: 0;
  }

  .view-project-wrapper {
    border-radius: 15px;
    display: none;
  }

  .large-number {
    font-size: 3.8rem;
  }

  .project-1-column {
    grid-row-gap: 1rem;
    margin-bottom: 1rem;
  }

  .project-info-list {
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;
  }

  .img-project {
    border-radius: 7px;
  }

  .project-text-container {
    border-radius: 15px;
  }

  .project-2-column {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    margin-bottom: 1em;
  }

  .keyfact-content-container {
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
  }

  .hero-block-project {
    margin-top: 2em;
    margin-bottom: 1em;
  }

  .next-case-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-bottom: .25rem;
  }

  .arrow-down {
    width: 1.6rem;
  }

  .next-title-block {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-top: 0;
    margin-bottom: 2em;
  }

  .block-brand {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    max-width: 480px;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .footer-text {
    display: block;
  }

  .div-block {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .div-block-pretitle {
    display: block;
  }

  .div-block-pretitle.hidden {
    display: none;
  }

  .contact-block {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    margin-bottom: 2.5rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .madeby {
    margin-bottom: 1.5rem;
  }

  .text-project-large {
    font-size: 1.2rem;
    line-height: 125%;
  }

  .project-2-column-text {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    margin-bottom: 2em;
  }

  .project-context-container {
    margin-top: 0;
    padding-right: 0;
    font-size: 1.2rem;
  }

  .case-grid-home {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-columns: 1fr 1fr;
    margin-top: 1.25rem;
    margin-bottom: 0;
  }

  .expertises-list {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .heading-2 {
    letter-spacing: -.3px;
    font-size: 1.5rem;
    line-height: 125%;
  }

  .container-inline {
    grid-row-gap: 1rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .cta-wrapper {
    justify-content: center;
    align-items: flex-start;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
  }

  ._9-column-grid-intro {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
  }

  .section-about {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  ._9-column-grid-key-figures {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
  }

  .primary-text-link {
    letter-spacing: -.3px;
    font-size: 1.5rem;
    line-height: 125%;
  }

  .arrow-large {
    width: 18px;
  }

  ._404-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    grid-template-rows: auto auto auto;
    grid-template-columns: minmax(16px, 1fr);
    margin-bottom: 2.25rem;
    display: flex;
  }

  .secondary-text-link {
    letter-spacing: -.3px;
    font-size: 1.1rem;
    line-height: 125%;
  }

  .arrow-medium {
    width: 14px;
    margin-top: 1px;
  }

  .menu-container {
    grid-row-gap: 0rem;
    padding: 1.5rem 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .card-expertise {
    flex-flow: column;
    padding: 1.5rem 0;
    display: flex;
  }

  .intro-text {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .expertise-numb {
    text-align: right;
    margin-top: 0;
  }

  .expertise-heading {
    letter-spacing: -.3px;
    font-size: 2rem;
  }

  .contact-details-container {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .contact-content {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .contact-link {
    letter-spacing: -.5px;
    font-size: 1.5rem;
  }

  .thumb-expertise-wrapper {
    padding: 1.5rem;
  }

  .thumb-expertise-numb {
    margin-top: 0;
  }

  .thumb-expertise-title {
    letter-spacing: -.3px;
    font-size: 2rem;
  }

  .expertises-section {
    padding-top: 0;
    padding-bottom: 2.5em;
  }

  .expertises---grid-2-columns-stats {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .contact-heading-container {
    max-width: 520px;
    margin-top: 0;
  }

  .contact-body {
    letter-spacing: -.5px;
    font-size: 1.5rem;
  }

  ._9-column-grid-contact {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
  }

  .title-extra-large {
    letter-spacing: -7px;
    margin-bottom: 3rem;
    margin-left: -.5rem;
    font-size: 13vw;
  }

  .faq-content-wrapper {
    grid-row-gap: 0rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .faq---grid-2-columns-stats {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    margin-top: 1rem;
    display: flex;
  }

  .faq---accordion-item-wrapper {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    padding: 2rem 0;
  }

  .faq---accordion-item-wrapper:hover {
    transform: none;
  }

  .card-faq-title {
    letter-spacing: 0;
    font-size: 1.5rem;
  }

  .card-faq-spacer {
    min-height: 12px;
  }

  .container-contact {
    grid-row-gap: 1rem;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    font-family: Manrope, sans-serif;
  }

  .expertises-items {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .grid-process {
    display: block;
  }

  .process-content-wrapper {
    grid-row-gap: 0rem;
    margin-bottom: 2.5rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .card-process-numb {
    margin-top: 0;
  }

  .card-process-title {
    letter-spacing: -.3px;
    font-size: 2rem;
  }

  .brand-name {
    margin-left: 0;
    padding-left: 0;
  }

  .brand-name.is-current {
    margin-left: 0;
  }

  .card-stack__item {
    border-radius: 15px;
  }

  .cards-stack-section {
    margin-bottom: 3rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  h1, h2.as-h1 {
    letter-spacing: 0;
    font-size: 2rem;
  }

  h2 {
    font-size: .9375rem;
  }

  h3 {
    margin-bottom: 0;
    font-size: 1.25rem;
    line-height: 100%;
  }

  .content-wrapper {
    padding-top: 0;
    padding-bottom: 0;
  }

  .content-wrapper.hero-section {
    justify-content: center;
    align-items: flex-end;
  }

  .container {
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .container.hero-container {
    padding-top: 1rem;
    padding-bottom: .5rem;
  }

  .container.home-hero-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
  }

  .navbar {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  ._9-column-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr);
    grid-auto-columns: 1fr;
    display: flex;
  }

  ._9-column-grid.footer-grid {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    grid-template-rows: auto auto auto auto auto auto auto;
    grid-template-columns: minmax(16px, 1fr) minmax(16px, 1fr) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    place-items: start;
    margin-top: 0;
    display: grid;
  }

  ._9-column-grid.navbar-grid {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    grid-template-rows: auto;
    grid-template-columns: minmax(16px, .5fr) 1fr .25fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .footer-grid {
    grid-row-gap: 48px;
  }

  .nav-menu {
    order: 1;
    justify-content: flex-start;
    width: auto;
  }

  .footer-links-container {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    margin-bottom: 1rem;
  }

  .navbar-text {
    display: none;
  }

  .nav-link:hover {
    opacity: 1;
  }

  .case-grid {
    margin-top: 1.5rem;
    margin-bottom: 3rem;
  }

  .project-wrapper, .project-image-container, .view-project-wrapper {
    border-radius: 15px;
  }

  .pretitle-section {
    font-size: .9375rem;
  }

  ._3-column-grid {
    grid-row-gap: .5rem;
    grid-template-columns: 1fr 1fr;
    margin-bottom: .5rem;
  }

  ._3-column-grid.number-grid {
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: flex-start;
    display: flex;
  }

  .project-list-item {
    padding-top: 0;
  }

  .project-info-list {
    margin-top: 1rem;
    margin-bottom: 2rem;
  }

  .img-project {
    border-radius: 7px;
  }

  .project-text-container {
    border-radius: 15px;
  }

  .keyfact-content-container {
    margin-bottom: 2rem;
  }

  .next-case-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-bottom: .25rem;
  }

  .arrow-down {
    width: 1.5rem;
  }

  .next-title-block {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .block-brand {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .footer-text {
    display: block;
  }

  .div-block {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .madeby {
    margin-bottom: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .text-project-large {
    font-size: 1.2rem;
    line-height: 120%;
  }

  .project-list-grid {
    grid-row-gap: .5rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    margin-bottom: .5rem;
  }

  .project-2-column-text {
    margin-bottom: 2em;
  }

  .case-grid-home {
    margin-bottom: 0;
  }

  .expertises-list {
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .heading-2 {
    font-size: 1.3rem;
  }

  .container-inline {
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .cta-wrapper {
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 2rem;
  }

  ._9-column-grid-intro {
    grid-row-gap: 1.5rem;
  }

  .section-about {
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  ._9-column-grid-key-figures {
    grid-row-gap: 1.5rem;
    grid-template-rows: auto auto;
  }

  .primary-text-link {
    font-size: 1.3rem;
  }

  ._404-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr);
    grid-auto-columns: 1fr;
    margin-bottom: 2.25rem;
    display: flex;
  }

  .secondary-text-link {
    font-size: 1.1rem;
  }

  .menu-container {
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .card-expertise {
    padding: 1.5rem 0;
  }

  .intro-text {
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .expertise-numb {
    margin-top: 0;
    font-size: .75rem;
    line-height: 135%;
  }

  .expertise-heading {
    font-size: 1.8rem;
    line-height: 100%;
  }

  .expertise-desc {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .contact-details-container {
    margin-bottom: 0;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .contact-content {
    border-bottom-style: none;
    border-bottom-width: 0;
    width: 100%;
    padding-bottom: 1rem;
  }

  .thumb-expertise-wrapper {
    padding: 1.25rem;
  }

  .thumb-expertise-numb {
    margin-top: 0;
    font-size: .75rem;
    line-height: 135%;
  }

  .thumb-expertise-title {
    font-size: 1.8rem;
    line-height: 100%;
  }

  .thumb-expertise-paragrahe {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .expertises-section {
    padding-top: 0;
    padding-bottom: 2.5rem;
  }

  .expertises---grid-2-columns-stats {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  ._9-column-grid-contact {
    grid-row-gap: 1.5rem;
    grid-template-rows: auto auto;
    display: flex;
  }

  .title-extra-large {
    letter-spacing: -5px;
    margin-bottom: 2.5rem;
    font-size: 11vw;
  }

  .faq-content-wrapper {
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .faq---grid-2-columns-stats {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    margin-top: 1rem;
  }

  .faq---accordion-item-wrapper {
    padding: 2rem 0;
  }

  .card-faq-title {
    font-size: 1.5rem;
    line-height: 120%;
  }

  .faq-paragraphe {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .contact-list-items {
    width: 100%;
  }

  .container-contact {
    padding-bottom: 1rem;
    padding-left: 0;
    padding-right: 0;
    font-family: Manrope, sans-serif;
  }

  .expertises-items {
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .process-content-wrapper {
    margin-bottom: 2rem;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-family: Manrope, sans-serif;
  }

  .card-process-numb {
    margin-top: 0;
    font-size: .75rem;
    line-height: 135%;
  }

  .card-process-title {
    font-size: 1.8rem;
    line-height: 100%;
  }

  .card-process-body {
    padding-top: 1rem;
  }

  .card-process-paragraphe {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .project-agency {
    padding-top: 0;
  }

  .card-stack__item-bottom {
    margin-top: 0;
  }

  .card-stack__item-top {
    justify-content: flex-end;
    align-items: center;
  }

  .card-stack__item {
    width: 100%;
    box-shadow: 5px 5px 0 0 var(--black);
    padding: 1.5em;
  }

  .cards-stack-section {
    margin-bottom: 2.5rem;
  }

  .card-stack__item-middle {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  h1, h2.as-h1 {
    letter-spacing: 0;
    font-size: 1.75rem;
  }

  h2 {
    letter-spacing: 0;
    font-size: 1.75rem;
  }

  h3 {
    letter-spacing: -.05rem;
    font-size: 1.5rem;
  }

  .content-wrapper {
    padding-top: 0;
    padding-bottom: 0;
    position: static;
  }

  .content-wrapper.hero-section {
    padding-top: 6rem;
  }

  .content-wrapper.project-page-hero-section {
    padding-top: 4rem;
  }

  .content-wrapper.project-images-section {
    padding-top: 0;
    padding-bottom: 0;
  }

  .content-wrapper.projects-section {
    margin-top: .5rem;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 1rem;
  }

  .content-wrapper.hero-subpages-section {
    padding-top: 6rem;
  }

  .container {
    grid-row-gap: 0rem;
    margin-bottom: 0;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .container.hero-container {
    padding: 1rem 1.5rem 0;
  }

  .container.project-container {
    padding-bottom: 0;
  }

  .container.home-hero-container {
    padding: 1rem 1.5rem 2rem;
  }

  .footer {
    margin-top: 0;
    padding-bottom: 0;
  }

  .navbar {
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    position: relative;
    top: 0;
  }

  ._9-column-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    display: flex;
  }

  ._9-column-grid.footer-grid {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    grid-template-rows: auto auto auto auto auto auto auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
    grid-auto-columns: .75fr;
    grid-auto-flow: column;
    justify-items: start;
    margin-top: 0;
    display: grid;
  }

  ._9-column-grid.navbar-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr .25fr;
    grid-auto-columns: 1fr;
    place-items: start stretch;
    display: grid;
  }

  ._9-column-grid.project-hero {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    margin-bottom: 0;
  }

  .footer-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 48px;
  }

  .nav-menu {
    grid-column-gap: 2rem;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .footer-links-container {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    margin-bottom: 1rem;
  }

  .horizontal-footer-links-container {
    grid-column-gap: .4rem;
    grid-row-gap: .4rem;
    flex-flow: column wrap;
    margin-top: 0;
    margin-bottom: 0;
  }

  .navbar-text {
    max-width: none;
    display: none;
  }

  .grey-text {
    margin-bottom: .5rem;
  }

  .hero-heading {
    letter-spacing: -.3px;
    width: 100%;
    font-size: 1.5rem;
  }

  .nav-link:hover, .nav-link:active, .nav-link:focus {
    opacity: 1;
  }

  .case-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto auto auto auto auto auto auto auto auto auto auto auto;
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    padding-top: 0;
  }

  .project-wrapper {
    border-radius: 15px;
    padding-top: 110%;
  }

  .project-image-container {
    border-radius: 15px;
  }

  .hero-heading-container {
    max-width: none;
    margin-top: 0;
  }

  .view-project-wrapper {
    border-radius: 15px;
  }

  .pretitle-section {
    display: flex;
  }

  ._3-column-grid {
    grid-row-gap: 0rem;
    grid-template-columns: 1fr;
    margin-bottom: 0;
  }

  ._3-column-grid.number-grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    align-items: flex-start;
    width: 100%;
    display: flex;
  }

  .large-number-wrapper {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .large-number {
    font-size: 3.8rem;
  }

  .project-list-item {
    padding-top: 0;
  }

  .project-1-column {
    grid-row-gap: 1rem;
    margin-bottom: 1rem;
  }

  .project-info-list {
    margin-bottom: 2rem;
  }

  .copy {
    margin-bottom: 0;
  }

  .img-project {
    border-radius: 7px;
  }

  .pretitle-project {
    margin-bottom: 1.5rem;
  }

  .project-text-container {
    border-radius: 15px;
  }

  .project-2-column {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    margin-bottom: 1em;
  }

  .keyfact-content-container {
    width: 100%;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
  }

  .hero-block-project {
    margin-top: 2rem;
    margin-bottom: 1rem;
  }

  .next-case-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    margin-top: .75rem;
    margin-bottom: .75rem;
  }

  .arrow-down {
    width: 1.3rem;
    padding-top: 5px;
  }

  .next-title-block {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    margin-top: .5rem;
    margin-bottom: 1em;
  }

  .block-brand {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .footer-text {
    display: block;
  }

  .div-block {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .div-block-pretitle {
    width: 100%;
    display: block;
  }

  .div-block-pretitle.hidden {
    display: none;
  }

  .contact-block {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    margin-bottom: 2.5rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .madeby {
    color: var(--light-grey);
    margin-bottom: 1.5rem;
    font-family: Manrope, sans-serif;
    font-size: .75rem;
  }

  .text-project-large {
    letter-spacing: 0;
    font-size: 1.2rem;
    line-height: 120%;
  }

  .project-list-grid {
    grid-row-gap: 0rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    margin-bottom: 0;
  }

  .project-2-column-text {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    margin-bottom: 2em;
  }

  .project-context-container {
    max-width: none;
    margin-top: 0;
    padding-right: 0;
  }

  .case-grid-home {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
    margin-bottom: 1rem;
    padding-top: 0;
  }

  .expertises-list {
    grid-row-gap: 1rem;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .heading-2 {
    letter-spacing: -.3px;
    align-items: flex-start;
    font-size: 1.3rem;
    line-height: 125%;
    display: block;
  }

  .heading-2.grey-text {
    font-size: 1.3rem;
    display: inline;
  }

  .container-inline {
    grid-row-gap: 1rem;
    margin-bottom: 0;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .cta-wrapper {
    justify-content: center;
    align-items: flex-start;
    margin-top: .75rem;
    margin-bottom: .5rem;
  }

  ._9-column-grid-intro {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    display: flex;
  }

  ._3-column-grid-expertises {
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .section-about {
    grid-row-gap: 1rem;
    margin-top: 2rem;
    margin-bottom: 0;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  ._9-column-grid-key-figures {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    display: flex;
  }

  .primary-text-link {
    letter-spacing: -.3px;
    align-items: flex-start;
    font-size: 1.3rem;
    line-height: 125%;
    display: block;
  }

  .arrow-large {
    width: 18px;
  }

  ._404-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    margin-bottom: 2rem;
    display: flex;
  }

  .secondary-text-link {
    letter-spacing: -.3px;
    align-items: flex-start;
    font-size: 1.1rem;
    line-height: 125%;
    display: block;
  }

  .arrow-medium {
    width: 14px;
    margin-top: 1px;
  }

  .menu-container {
    grid-row-gap: 0rem;
    margin-bottom: 0;
    padding: 1.5rem 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .card-expertise {
    flex-flow: column;
    padding: 1rem 0;
    display: flex;
  }

  .intro-text {
    grid-row-gap: 1rem;
    margin-top: 2rem;
    margin-bottom: 0;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .expertise-numb {
    text-align: right;
    margin-top: 1rem;
    font-size: .75rem;
    line-height: 135%;
  }

  .expertise-heading {
    letter-spacing: 0;
    font-size: 1.8rem;
    line-height: 100%;
  }

  .expertise-desc {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .contact-details-container {
    grid-row-gap: 1rem;
    margin-top: 2rem;
    margin-bottom: 2.5rem;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .contact-content {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    border-bottom-style: none;
    border-bottom-width: 0;
    width: 100%;
    padding-top: 1.25rem;
    padding-bottom: 0;
    display: flex;
  }

  .contact-link {
    letter-spacing: -.5px;
    font-size: 1.5rem;
  }

  .thumb-expertise-wrapper {
    padding: 1.5rem;
  }

  .thumb-expertise-content {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .thumb-expertise-numb {
    margin-top: 0;
    font-size: .75rem;
    line-height: 135%;
  }

  .thumb-expertise-title {
    letter-spacing: 0;
    font-size: 1.8rem;
    line-height: 100%;
  }

  .thumb-expertise-paragrahe {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .expertises-section {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 2.5rem;
  }

  .expertises-container-default {
    padding-left: 0;
    padding-right: 0;
  }

  .expertises---grid-2-columns-stats {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  .contact-heading-container {
    max-width: none;
    margin-top: 0;
  }

  .contact-pretitle {
    margin-bottom: .5rem;
  }

  .contact-body {
    letter-spacing: -.5px;
    font-size: 1.5rem;
  }

  ._9-column-grid-contact {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: minmax(16px, 1fr) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    display: flex;
  }

  .title-extra-large {
    text-align: left;
    letter-spacing: -3px;
    margin-bottom: 2rem;
    margin-left: 0;
    font-size: 16vw;
  }

  .faq-content-wrapper {
    grid-row-gap: 0rem;
    margin-bottom: 0;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .faq---grid-2-columns-stats {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    margin-top: .5rem;
    display: flex;
  }

  .faq---accordion-item-wrapper {
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .faq---accordion-item-wrapper:hover {
    transform: none;
  }

  .card-faq-title {
    letter-spacing: 0;
    font-size: 1.25rem;
    line-height: 120%;
  }

  .faq-paragraphe {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .contact-list-items {
    width: 100%;
  }

  .container-contact {
    grid-row-gap: 1rem;
    margin-bottom: 0;
    padding: 0 0 0;
    font-family: Manrope, sans-serif;
  }

  .expertises-items {
    grid-row-gap: 1rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .grid-process {
    display: block;
  }

  .process-content-wrapper {
    grid-row-gap: 0rem;
    margin-bottom: 2rem;
    padding: 0 1.5rem 0;
    font-family: Manrope, sans-serif;
  }

  .card-process-numb {
    margin-top: 0;
    font-size: .75rem;
    line-height: 135%;
  }

  .card-process-title {
    letter-spacing: 0;
    font-size: 1.8rem;
    line-height: 100%;
  }

  .card-process-body {
    padding-top: 1rem;
  }

  .card-process-paragraphe {
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 140%;
  }

  .project-agency {
    padding-top: 0;
  }

  .card-stack__item-bottom {
    margin-top: 0;
    font-family: Manrope, sans-serif;
  }

  .card-stack__item-top {
    justify-content: flex-start;
    align-items: center;
    font-family: Manrope, sans-serif;
  }

  .card-stack__item {
    width: 100%;
    box-shadow: 5px 5px 0 0 var(--black);
    border-radius: 15px;
    padding: 1.5em;
  }

  .cards-stack-section {
    margin-bottom: 2.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .card-stack__item-middle {
    font-family: Manrope, sans-serif;
    display: flex;
  }

  .code-embed-ico-process {
    padding-left: 28%;
    padding-right: 28%;
  }
}

#gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-1f35b0e8 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-324d9400-55bb-df74-3e8c-f4e45c19f5e5-1f35b0e8 {
  grid-area: span 1 / span 5 / span 1 / span 5;
  align-self: start;
}

#gn-4d508d83-f32c-c1a3-1c9d-5bafdb5b63fc-1f35b0e8 {
  grid-area: 1 / 3 / 2 / 8;
}

#gn-a20b681b-876a-12cc-909f-5fa3cd1653eb-1f35b0e8 {
  grid-area: 2 / 3 / 3 / 8;
}

#gn-0eff3753-59d8-28fe-79ba-c96d16e5a9c3-1f35b0e8 {
  grid-area: 1 / 1 / 2 / 3;
}

#gn-2920df24-c3e6-bccc-81d8-439a47dab5b9-1f35b0e8 {
  grid-area: 1 / 3 / 2 / 10;
}

 #gn-f6a999a7-efc1-1e3c-9702-451b354c933f-1f35b0e8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#gn-f6a999a7-efc1-1e3c-9702-451b354c9341-1f35b0e8 {
  grid-area: 1 / 3 / 2 / 8;
}

#gn-d785c6ac-453f-014c-049b-c761c7645916-1f35b0e8 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-d785c6ac-453f-014c-049b-c761c7645918-1f35b0e8 {
  grid-area: 1 / 3 / 2 / 8;
}

#gn-53f38497-3d38-3629-9f92-b2ad5ff60c12-1f35b0e8 {
  grid-area: 2 / 3 / 3 / 8;
}

#gn-d785c6ac-453f-014c-049b-c761c764594f-1f35b0e8 {
  grid-area: 3 / 3 / 4 / 10;
  align-self: auto;
}

#gn-d785c6ac-453f-014c-049b-c761c7645951-1f35b0e8, #gn-d785c6ac-453f-014c-049b-c761c7645956-1f35b0e8, #gn-d785c6ac-453f-014c-049b-c761c7645958-1f35b0e8, #gn-d785c6ac-453f-014c-049b-c761c764595d-1f35b0e8, #gn-d785c6ac-453f-014c-049b-c761c764595f-1f35b0e8, #gn-d785c6ac-453f-014c-049b-c761c7645964-1f35b0e8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#gn-f6b98c66-1f23-f6c5-bbc7-db279301c93e-ae2af369 {
  grid-area: span 1 / span 2 / span 1 / span 2;
  place-self: start;
}

#gn-87943391-ea46-35c9-04ef-3022041606f8-ae2af369, #gn-c51e9d04-0eef-17e0-f3da-465ccfaf8672-ae2af369 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-57b6d694-783e-21d3-bedd-0c01cceeeccd-ae2af369, #gn-45c92a25-07a8-37b3-3c46-e9b1f303e6f4-ae2af369 {
  place-self: start end;
}

#gn-b9d1130b-5247-7c62-6bd0-949224db4eba-ae2af369 {
  grid-area: 2 / 7 / 3 / 10;
  place-self: start;
}

#gn-40973415-f495-1d1b-0317-3325e0648d94-ae2af369 {
  grid-area: 2 / 1 / 3 / 5;
  align-self: auto;
}

#gn-11dd532d-17e9-35a4-dd11-d4c70889ba5b-37587e6a {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-890164c0-aeea-642f-bdaf-34e537587e70-37587e6a {
  grid-area: 1 / 3 / 2 / 8;
}

#gn-6de61d02-4d57-bbb9-c431-c9eda29f9e45-2930ea5d {
  grid-area: span 1 / span 2 / span 1 / span 2;
  place-self: start;
}

#gn-53336921-24f3-4a85-3021-b21279a80d1b-2930ea5d {
  grid-area: 1 / 3 / 2 / 6;
}

#gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea6a-2930ea5d {
  grid-area: span 1 / span 3 / span 1 / span 3;
  place-self: start end;
}

#gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea63-2930ea5d {
  justify-self: end;
}

#gn-83d5bbbd-29fb-3c1b-f284-a7526dd52df7-1f35b0ea {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-83d5bbbd-29fb-3c1b-f284-a7526dd52dfa-1f35b0ea {
  grid-area: span 2 / span 5 / span 2 / span 5;
  align-self: start;
}

#gn-f88555d5-7a42-707b-a053-f7d66d8cc94f-1f35b0ea {
  grid-area: 3 / 3 / 4 / 8;
  justify-self: start;
}

#gn-3c930f49-61f3-798f-f9bc-2d9784c15480-68b9826c {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-3c930f49-61f3-798f-f9bc-2d9784c15483-68b9826c {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-fc4a53a4-4073-afd3-088d-708cc2868d7c-68b9826c {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-fc4a53a4-4073-afd3-088d-708cc2868d7f-68b9826c {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-aa3bfe9c-ebcc-bd8b-03dc-ebb9460c7212-68b9826c {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-aa3bfe9c-ebcc-bd8b-03dc-ebb9460c7215-68b9826c {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-54b695a5-4350-95ca-a4cb-ba8f26b8850c-26b8850a {
  grid-area: 1 / 3 / 2 / 10;
}

#gn-54b695a5-4350-95ca-a4cb-ba8f26b88510-26b8850a {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#gn-54b695a5-4350-95ca-a4cb-ba8f26b88511-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b88516-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b8851b-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b88520-26b8850a {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-89d7133f-514b-21b2-406f-2a9f42ebcccb-42ebccc9 {
  grid-area: span 1 / span 2 / span 1 / span 2;
  place-self: end start;
}

#gn-89d7133f-514b-21b2-406f-2a9f42ebccce-42ebccc9 {
  grid-area: 1 / 3 / 2 / 9;
  align-self: start;
}

#gn-8da407a7-b386-cad3-93a7-350986ba844b-56659138 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-8da407a7-b386-cad3-93a7-350986ba844e-56659138 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-69811fac-7636-e3d0-0357-cc626430dd90-56659138 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-69811fac-7636-e3d0-0357-cc626430dd93-56659138 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-f2897316-8515-59a5-2153-8cd6d13071e3-56659138 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-f2897316-8515-59a5-2153-8cd6d13071e6-56659138 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-93e0ade2-fe0f-101f-72d1-4ca35dcfa338-06a563a6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-93e0ade2-fe0f-101f-72d1-4ca35dcfa33b-06a563a6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-0f5b70df-214b-e840-9e4c-f27b102c05e0-06a563a6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-0f5b70df-214b-e840-9e4c-f27b102c05e3-06a563a6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-8bcac622-fd07-840d-9f45-70ff79ddbc95-06a563a6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-8bcac622-fd07-840d-9f45-70ff79ddbc98-06a563a6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-6a499848-0cad-53a1-d9ae-943f4c57936d-273c353a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-6a499848-0cad-53a1-d9ae-943f4c579370-273c353a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-e5b680b7-7c71-3730-da7b-4c78735937fc-273c353a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-e5b680b7-7c71-3730-da7b-4c78735937ff-273c353a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-b61da67d-79e9-1444-f013-56f105520384-273c353a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-b61da67d-79e9-1444-f013-56f105520387-273c353a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-1a4d013e-b0fc-042f-feac-bca47a2be712-15026d98 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-1a4d013e-b0fc-042f-feac-bca47a2be715-15026d98 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-a6beb316-d060-c73a-44e4-ff4628a06aa2-15026d98 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-a6beb316-d060-c73a-44e4-ff4628a06aa5-15026d98 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-5e858c49-0923-ac58-7e41-27aa1a33e033-15026d98 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-5e858c49-0923-ac58-7e41-27aa1a33e036-15026d98 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-def5e835 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-324d9400-55bb-df74-3e8c-f4e45c19f5e5-def5e835 {
  grid-area: span 1 / span 5 / span 1 / span 5;
  align-self: start;
}

#gn-242b6d16-2b6e-1ee1-05f1-698abe57c4e8-002dcf32 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-242b6d16-2b6e-1ee1-05f1-698abe57c4eb-002dcf32 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-0ff16946-c444-a07f-a9bd-d82777bc5bd7-002dcf32 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-0ff16946-c444-a07f-a9bd-d82777bc5bda-002dcf32 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-31d3aa4a-e607-ee2a-bf4d-1622668f3cba-002dcf32 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-31d3aa4a-e607-ee2a-bf4d-1622668f3cbd-002dcf32 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-d2977960-4e93-8e3d-0a21-fc28a3b7e732-838cdea1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-d2977960-4e93-8e3d-0a21-fc28a3b7e735-838cdea1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-af782679-7a7d-976d-cd6e-b671e1816070-838cdea1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-af782679-7a7d-976d-cd6e-b671e1816073-838cdea1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-484630bb-d505-99e4-d42a-ea83da86b5da-838cdea1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-484630bb-d505-99e4-d42a-ea83da86b5dd-838cdea1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-332f9465-51d6-cdd1-3e5a-4d7a6aa06f7f-cf4e39cb {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-332f9465-51d6-cdd1-3e5a-4d7a6aa06f82-cf4e39cb {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-640730f7-47ae-089c-df48-da3fe9dcb740-cf4e39cb {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-640730f7-47ae-089c-df48-da3fe9dcb743-cf4e39cb {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-91a64def-52d8-09d4-cdc1-8b8669cd485a-cf4e39cb {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-91a64def-52d8-09d4-cdc1-8b8669cd485d-cf4e39cb {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-daee29e9-9032-857c-b8fa-d1e0e9d2cefb-f841a39b {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-daee29e9-9032-857c-b8fa-d1e0e9d2cefe-f841a39b {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-86144b35-737a-b620-954a-b83a2dc5cf7c-f841a39b {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-86144b35-737a-b620-954a-b83a2dc5cf7f-f841a39b {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-9d7df34b-9477-d146-ec4c-01a44355af1e-f841a39b {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-9d7df34b-9477-d146-ec4c-01a44355af21-f841a39b {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-d45d7384-424a-9d81-6958-69d496bd764a-ae707a21 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-d45d7384-424a-9d81-6958-69d496bd764d-ae707a21 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-e2b983da-82c8-63df-bc92-af31c987b03d-ae707a21 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-e2b983da-82c8-63df-bc92-af31c987b040-ae707a21 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-bb076304-0007-81e9-f0df-9814e8f52331-ae707a21 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-bb076304-0007-81e9-f0df-9814e8f52334-ae707a21 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-30660e0c-0b3a-0490-2afc-1668e8d9e889-2862a032 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-30660e0c-0b3a-0490-2afc-1668e8d9e88c-2862a032 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-6749197c-28c6-2b18-1f5e-0770a6a6cd63-2862a032 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-6749197c-28c6-2b18-1f5e-0770a6a6cd66-2862a032 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-a85fd519-3a19-6866-8e0a-27ef96c15c0b-2862a032 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-a85fd519-3a19-6866-8e0a-27ef96c15c0e-2862a032 {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-56a759d5-efc8-63b7-c362-268ee8617117-06e9c03d {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-56a759d5-efc8-63b7-c362-268ee861711a-06e9c03d {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-5e531bd5-131a-1e8c-4da7-cdfc90cb2d03-06e9c03d {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-5e531bd5-131a-1e8c-4da7-cdfc90cb2d06-06e9c03d {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-47a3b6b6-b99a-287e-7467-8d34a38f03c0-06e9c03d {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: start;
}

#gn-47a3b6b6-b99a-287e-7467-8d34a38f03c3-06e9c03d {
  grid-area: span 1 / span 1 / span 1 / span 1;
  align-self: start;
}

#gn-48527bf4-60c4-8a5b-47d4-4c35fa12f024-6f51f2c6 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-48527bf4-60c4-8a5b-47d4-4c35fa12f027-6f51f2c6 {
  grid-area: span 1 / span 5 / span 1 / span 5;
  align-self: start;
}

#gn-90bbc5cd-ae19-d39a-911a-f1be1f116b4d-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 8;
}

#gn-4f6a6ccf-d2b4-0647-de38-ff09b67cda2f-6f51f2c6, #gn-c8514486-151b-eda2-aceb-55a5d88519dd-6f51f2c6 {
  grid-area: 1 / 1 / 2 / 2;
}

#gn-c8514486-151b-eda2-aceb-55a5d88519df-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 5;
}

#gn-c8514486-151b-eda2-aceb-55a5d88519e1-6f51f2c6 {
  grid-area: 1 / 6 / 2 / 9;
}

#gn-427484c9-017a-6bb9-7e2d-de74628719bd-6f51f2c6 {
  grid-area: 1 / 1 / 2 / 2;
}

#gn-427484c9-017a-6bb9-7e2d-de74628719bf-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 5;
}

#gn-427484c9-017a-6bb9-7e2d-de74628719c1-6f51f2c6 {
  grid-area: 1 / 6 / 2 / 9;
}

#gn-2a89faab-72bb-9578-eec2-3dfce87b91c7-6f51f2c6 {
  grid-area: 1 / 1 / 2 / 2;
}

#gn-2a89faab-72bb-9578-eec2-3dfce87b91c9-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 5;
}

#gn-2a89faab-72bb-9578-eec2-3dfce87b91cb-6f51f2c6 {
  grid-area: 1 / 6 / 2 / 9;
}

#gn-25e63696-b2af-13b5-3756-c89d74a6fb1c-6f51f2c6 {
  grid-area: 1 / 1 / 2 / 2;
}

#gn-25e63696-b2af-13b5-3756-c89d74a6fb1e-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 5;
}

#gn-25e63696-b2af-13b5-3756-c89d74a6fb20-6f51f2c6 {
  grid-area: 1 / 6 / 2 / 9;
}

#gn-1162e31d-8761-a49a-6ffb-bf64e7caf567-6f51f2c6 {
  grid-area: 1 / 1 / 2 / 2;
}

#gn-1162e31d-8761-a49a-6ffb-bf64e7caf569-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 5;
}

#gn-1162e31d-8761-a49a-6ffb-bf64e7caf56b-6f51f2c6 {
  grid-area: 1 / 6 / 2 / 9;
}

#gn-9e2f9f00-9e6a-4b61-8381-080b1e8ca050-6f51f2c6 {
  grid-area: 1 / 1 / 2 / 2;
}

#gn-9e2f9f00-9e6a-4b61-8381-080b1e8ca052-6f51f2c6 {
  grid-area: 1 / 3 / 2 / 5;
}

#gn-9e2f9f00-9e6a-4b61-8381-080b1e8ca054-6f51f2c6, #gn-24efdbc4-0430-4205-46f7-67ab3ebf5c5e-6f51f2c6 {
  grid-area: 1 / 6 / 2 / 9;
}

#gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-747fd781 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#gn-324d9400-55bb-df74-3e8c-f4e45c19f5e5-747fd781 {
  grid-area: span 1 / span 5 / span 1 / span 5;
  align-self: start;
}

#gn-41ba0b9b-87b2-d716-0ace-22f8dc99d9b7-747fd781 {
  grid-area: 1 / 3 / 2 / 10;
  align-self: auto;
}

#gn-b4233262-e7a6-faf5-504a-5cf30dbb7319-747fd781 {
  grid-area: 1 / 3 / 2 / 10;
}

@media screen and (min-width: 1920px) {
  #gn-d785c6ac-453f-014c-049b-c761c7645958-1f35b0e8, #gn-3c930f49-61f3-798f-f9bc-2d9784c15483-68b9826c, #gn-fc4a53a4-4073-afd3-088d-708cc2868d7f-68b9826c, #gn-aa3bfe9c-ebcc-bd8b-03dc-ebb9460c7215-68b9826c, #gn-8da407a7-b386-cad3-93a7-350986ba844e-56659138, #gn-69811fac-7636-e3d0-0357-cc626430dd93-56659138, #gn-f2897316-8515-59a5-2153-8cd6d13071e6-56659138, #gn-93e0ade2-fe0f-101f-72d1-4ca35dcfa33b-06a563a6, #gn-0f5b70df-214b-e840-9e4c-f27b102c05e3-06a563a6, #gn-8bcac622-fd07-840d-9f45-70ff79ddbc98-06a563a6, #gn-6a499848-0cad-53a1-d9ae-943f4c579370-273c353a, #gn-e5b680b7-7c71-3730-da7b-4c78735937ff-273c353a, #gn-b61da67d-79e9-1444-f013-56f105520387-273c353a, #gn-1a4d013e-b0fc-042f-feac-bca47a2be715-15026d98, #gn-a6beb316-d060-c73a-44e4-ff4628a06aa5-15026d98, #gn-5e858c49-0923-ac58-7e41-27aa1a33e036-15026d98, #gn-242b6d16-2b6e-1ee1-05f1-698abe57c4eb-002dcf32, #gn-0ff16946-c444-a07f-a9bd-d82777bc5bda-002dcf32, #gn-31d3aa4a-e607-ee2a-bf4d-1622668f3cbd-002dcf32, #gn-d2977960-4e93-8e3d-0a21-fc28a3b7e735-838cdea1, #gn-af782679-7a7d-976d-cd6e-b671e1816073-838cdea1, #gn-484630bb-d505-99e4-d42a-ea83da86b5dd-838cdea1, #gn-332f9465-51d6-cdd1-3e5a-4d7a6aa06f82-cf4e39cb, #gn-640730f7-47ae-089c-df48-da3fe9dcb743-cf4e39cb, #gn-91a64def-52d8-09d4-cdc1-8b8669cd485d-cf4e39cb, #gn-daee29e9-9032-857c-b8fa-d1e0e9d2cefe-f841a39b, #gn-86144b35-737a-b620-954a-b83a2dc5cf7f-f841a39b, #gn-9d7df34b-9477-d146-ec4c-01a44355af21-f841a39b, #gn-d45d7384-424a-9d81-6958-69d496bd764d-ae707a21, #gn-e2b983da-82c8-63df-bc92-af31c987b040-ae707a21, #gn-bb076304-0007-81e9-f0df-9814e8f52334-ae707a21, #gn-30660e0c-0b3a-0490-2afc-1668e8d9e88c-2862a032, #gn-6749197c-28c6-2b18-1f5e-0770a6a6cd66-2862a032, #gn-a85fd519-3a19-6866-8e0a-27ef96c15c0e-2862a032, #gn-56a759d5-efc8-63b7-c362-268ee861711a-06e9c03d, #gn-5e531bd5-131a-1e8c-4da7-cdfc90cb2d06-06e9c03d, #gn-47a3b6b6-b99a-287e-7467-8d34a38f03c3-06e9c03d {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-90bbc5cd-ae19-d39a-911a-f1be1f116b4d-6f51f2c6 {
    grid-area: 1 / 3 / 2 / 8;
  }
}

@media screen and (max-width: 991px) {
  #gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-1f35b0e8 {
    grid-column: span 1 / span 1;
  }

  #gn-324d9400-55bb-df74-3e8c-f4e45c19f5e5-1f35b0e8 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-4d508d83-f32c-c1a3-1c9d-5bafdb5b63fc-1f35b0e8 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-a20b681b-876a-12cc-909f-5fa3cd1653eb-1f35b0e8 {
    grid-column: span 2 / span 2;
  }

  #gn-2920df24-c3e6-bccc-81d8-439a47dab5b9-1f35b0e8 {
    grid-area: 2 / 1 / 3 / 3;
  }

  #gn-f6a999a7-efc1-1e3c-9702-451b354c933f-1f35b0e8 {
    grid-column: span 2 / span 2;
  }

  #gn-f6a999a7-efc1-1e3c-9702-451b354c9341-1f35b0e8 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-d785c6ac-453f-014c-049b-c761c7645916-1f35b0e8 {
    grid-column: span 2 / span 2;
  }

  #gn-d785c6ac-453f-014c-049b-c761c7645918-1f35b0e8, #gn-53f38497-3d38-3629-9f92-b2ad5ff60c12-1f35b0e8, #gn-d785c6ac-453f-014c-049b-c761c764594f-1f35b0e8 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-f6b98c66-1f23-f6c5-bbc7-db279301c93e-ae2af369 {
    grid-area: 1 / 1 / 2 / 3;
  }

  #gn-92b3ab0d-9b01-442a-fa01-0da781b06472-ae2af369 {
    grid-area: 2 / 1 / 3 / 3;
  }

  #gn-87943391-ea46-35c9-04ef-3022041606f8-ae2af369 {
    grid-area: 3 / 1 / 4 / 3;
  }

  #gn-9505cca1-e9a6-9e07-a22c-b1c81ac84776-ae2af369 {
    grid-area: 4 / 1 / 5 / 3;
  }

  #gn-c51e9d04-0eef-17e0-f3da-465ccfaf8672-ae2af369 {
    grid-area: 5 / 1 / 6 / 3;
  }

  #gn-57b6d694-783e-21d3-bedd-0c01cceeeccd-ae2af369, #gn-45c92a25-07a8-37b3-3c46-e9b1f303e6f4-ae2af369 {
    grid-area: 6 / 3 / 8 / 4;
  }

  #gn-b9d1130b-5247-7c62-6bd0-949224db4eba-ae2af369 {
    grid-area: 6 / 1 / 7 / 3;
    justify-self: start;
  }

  #gn-40973415-f495-1d1b-0317-3325e0648d94-ae2af369 {
    grid-area: 7 / 1 / 8 / 3;
    place-self: start;
  }

  #gn-11dd532d-17e9-35a4-dd11-d4c70889ba5b-37587e6a {
    grid-column: span 2 / span 2;
  }

  #gn-890164c0-aeea-642f-bdaf-34e537587e70-37587e6a {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-6de61d02-4d57-bbb9-c431-c9eda29f9e45-2930ea5d {
    order: -9999;
    grid-area: 1 / 1 / 2 / 2;
    align-self: center;
  }

  #gn-53336921-24f3-4a85-3021-b21279a80d1b-2930ea5d {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea6a-2930ea5d {
    grid-area: 1 / 2 / 2 / 3;
    justify-self: end;
  }

  #gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea63-2930ea5d {
    grid-area: 1 / 3 / 2 / 4;
  }

  #gn-83d5bbbd-29fb-3c1b-f284-a7526dd52df7-1f35b0ea {
    grid-column: span 1 / span 1;
  }

  #gn-83d5bbbd-29fb-3c1b-f284-a7526dd52dfa-1f35b0ea, #gn-f88555d5-7a42-707b-a053-f7d66d8cc94f-1f35b0ea {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-3c930f49-61f3-798f-f9bc-2d9784c15483-68b9826c, #gn-fc4a53a4-4073-afd3-088d-708cc2868d7f-68b9826c, #gn-aa3bfe9c-ebcc-bd8b-03dc-ebb9460c7215-68b9826c {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b8850c-26b8850a {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b88511-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b88516-26b8850a {
    grid-column: span 2 / span 2;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b8851b-26b8850a {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b88520-26b8850a {
    grid-column: span 2 / span 2;
  }

  #gn-89d7133f-514b-21b2-406f-2a9f42ebccce-42ebccc9, #gn-8da407a7-b386-cad3-93a7-350986ba844e-56659138, #gn-69811fac-7636-e3d0-0357-cc626430dd93-56659138, #gn-f2897316-8515-59a5-2153-8cd6d13071e6-56659138, #gn-93e0ade2-fe0f-101f-72d1-4ca35dcfa33b-06a563a6, #gn-0f5b70df-214b-e840-9e4c-f27b102c05e3-06a563a6, #gn-8bcac622-fd07-840d-9f45-70ff79ddbc98-06a563a6, #gn-6a499848-0cad-53a1-d9ae-943f4c579370-273c353a, #gn-e5b680b7-7c71-3730-da7b-4c78735937ff-273c353a, #gn-b61da67d-79e9-1444-f013-56f105520387-273c353a, #gn-1a4d013e-b0fc-042f-feac-bca47a2be715-15026d98, #gn-a6beb316-d060-c73a-44e4-ff4628a06aa5-15026d98, #gn-5e858c49-0923-ac58-7e41-27aa1a33e036-15026d98, #gn-324d9400-55bb-df74-3e8c-f4e45c19f5e5-def5e835, #gn-242b6d16-2b6e-1ee1-05f1-698abe57c4eb-002dcf32, #gn-0ff16946-c444-a07f-a9bd-d82777bc5bda-002dcf32, #gn-31d3aa4a-e607-ee2a-bf4d-1622668f3cbd-002dcf32, #gn-d2977960-4e93-8e3d-0a21-fc28a3b7e735-838cdea1, #gn-af782679-7a7d-976d-cd6e-b671e1816073-838cdea1, #gn-484630bb-d505-99e4-d42a-ea83da86b5dd-838cdea1, #gn-332f9465-51d6-cdd1-3e5a-4d7a6aa06f82-cf4e39cb, #gn-640730f7-47ae-089c-df48-da3fe9dcb743-cf4e39cb, #gn-91a64def-52d8-09d4-cdc1-8b8669cd485d-cf4e39cb, #gn-daee29e9-9032-857c-b8fa-d1e0e9d2cefe-f841a39b, #gn-86144b35-737a-b620-954a-b83a2dc5cf7f-f841a39b, #gn-9d7df34b-9477-d146-ec4c-01a44355af21-f841a39b, #gn-d45d7384-424a-9d81-6958-69d496bd764d-ae707a21, #gn-e2b983da-82c8-63df-bc92-af31c987b040-ae707a21, #gn-bb076304-0007-81e9-f0df-9814e8f52334-ae707a21, #gn-30660e0c-0b3a-0490-2afc-1668e8d9e88c-2862a032, #gn-6749197c-28c6-2b18-1f5e-0770a6a6cd66-2862a032, #gn-a85fd519-3a19-6866-8e0a-27ef96c15c0e-2862a032, #gn-56a759d5-efc8-63b7-c362-268ee861711a-06e9c03d, #gn-5e531bd5-131a-1e8c-4da7-cdfc90cb2d06-06e9c03d, #gn-47a3b6b6-b99a-287e-7467-8d34a38f03c3-06e9c03d {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #gn-48527bf4-60c4-8a5b-47d4-4c35fa12f024-6f51f2c6 {
    grid-column: span 1 / span 1;
  }

  #gn-48527bf4-60c4-8a5b-47d4-4c35fa12f027-6f51f2c6 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-90bbc5cd-ae19-d39a-911a-f1be1f116b4d-6f51f2c6, #gn-324d9400-55bb-df74-3e8c-f4e45c19f5e5-747fd781, #gn-41ba0b9b-87b2-d716-0ace-22f8dc99d9b7-747fd781 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}

@media screen and (max-width: 767px) {
  #gn-40973415-f495-1d1b-0317-3325e0648d94-ae2af369 {
    place-self: start;
  }

  #gn-53336921-24f3-4a85-3021-b21279a80d1b-2930ea5d {
    order: 9999;
  }

  #gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea6a-2930ea5d {
    grid-area: 1 / 2 / 2 / 3;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b88511-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b88516-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b8851b-26b8850a {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b88520-26b8850a {
    grid-column: span 1 / span 1;
  }
}

@media screen and (max-width: 479px) {
  #gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-1f35b0e8 {
    grid-column: span 2 / span 2;
  }

  #gn-0eff3753-59d8-28fe-79ba-c96d16e5a9c3-1f35b0e8 {
    grid-column-end: 2;
  }

  #gn-2920df24-c3e6-bccc-81d8-439a47dab5b9-1f35b0e8 {
    grid-area: 2 / 1 / 3 / 2;
  }

  #gn-f6b98c66-1f23-f6c5-bbc7-db279301c93e-ae2af369 {
    grid-area: 1 / 1 / 2 / 4;
  }

  #gn-92b3ab0d-9b01-442a-fa01-0da781b06472-ae2af369 {
    grid-area: 2 / 1 / 3 / 3;
    place-self: start;
  }

  #gn-87943391-ea46-35c9-04ef-3022041606f8-ae2af369 {
    grid-area: 3 / 1 / 4 / 3;
    place-self: start;
  }

  #gn-9505cca1-e9a6-9e07-a22c-b1c81ac84776-ae2af369 {
    grid-area: 4 / 1 / 5 / 3;
  }

  #gn-c51e9d04-0eef-17e0-f3da-465ccfaf8672-ae2af369 {
    grid-area: 5 / 1 / 6 / 3;
    place-self: start;
  }

  #gn-57b6d694-783e-21d3-bedd-0c01cceeeccd-ae2af369, #gn-45c92a25-07a8-37b3-3c46-e9b1f303e6f4-ae2af369 {
    grid-area: 6 / 3 / 7 / 4;
  }

  #gn-b9d1130b-5247-7c62-6bd0-949224db4eba-ae2af369 {
    grid-area: 6 / 1 / 7 / 3;
  }

  #gn-40973415-f495-1d1b-0317-3325e0648d94-ae2af369 {
    grid-area: 7 / 1 / 8 / 3;
    justify-self: start;
  }

  #gn-890164c0-aeea-642f-bdaf-34e537587e70-37587e6a {
    grid-row: span 1 / span 1;
  }

  #gn-6de61d02-4d57-bbb9-c431-c9eda29f9e45-2930ea5d {
    grid-area: 1 / 1 / 2 / 2;
    justify-self: start;
  }

  #gn-53336921-24f3-4a85-3021-b21279a80d1b-2930ea5d {
    grid-column: span 2 / span 2;
  }

  #gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea6a-2930ea5d {
    grid-area: 2 / 1 / 3 / 3;
    place-self: start;
  }

  #gn-4b4aef14-3e4a-0b5c-d2bc-b8d82930ea63-2930ea5d {
    grid-area: 1 / 2 / 2 / 3;
    justify-self: end;
  }

  #gn-83d5bbbd-29fb-3c1b-f284-a7526dd52df7-1f35b0ea, #gn-3c930f49-61f3-798f-f9bc-2d9784c15480-68b9826c, #gn-fc4a53a4-4073-afd3-088d-708cc2868d7c-68b9826c, #gn-aa3bfe9c-ebcc-bd8b-03dc-ebb9460c7212-68b9826c {
    grid-column: span 2 / span 2;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b88511-26b8850a {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #gn-54b695a5-4350-95ca-a4cb-ba8f26b88516-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b8851b-26b8850a, #gn-54b695a5-4350-95ca-a4cb-ba8f26b88520-26b8850a {
    grid-column: span 1 / span 1;
  }

  #gn-89d7133f-514b-21b2-406f-2a9f42ebcccb-42ebccc9, #gn-8da407a7-b386-cad3-93a7-350986ba844b-56659138, #gn-69811fac-7636-e3d0-0357-cc626430dd90-56659138, #gn-f2897316-8515-59a5-2153-8cd6d13071e3-56659138, #gn-93e0ade2-fe0f-101f-72d1-4ca35dcfa338-06a563a6, #gn-0f5b70df-214b-e840-9e4c-f27b102c05e0-06a563a6, #gn-8bcac622-fd07-840d-9f45-70ff79ddbc95-06a563a6, #gn-6a499848-0cad-53a1-d9ae-943f4c57936d-273c353a, #gn-e5b680b7-7c71-3730-da7b-4c78735937fc-273c353a, #gn-b61da67d-79e9-1444-f013-56f105520384-273c353a, #gn-1a4d013e-b0fc-042f-feac-bca47a2be712-15026d98, #gn-a6beb316-d060-c73a-44e4-ff4628a06aa2-15026d98, #gn-5e858c49-0923-ac58-7e41-27aa1a33e033-15026d98, #gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-def5e835, #gn-242b6d16-2b6e-1ee1-05f1-698abe57c4e8-002dcf32, #gn-0ff16946-c444-a07f-a9bd-d82777bc5bd7-002dcf32, #gn-31d3aa4a-e607-ee2a-bf4d-1622668f3cba-002dcf32, #gn-d2977960-4e93-8e3d-0a21-fc28a3b7e732-838cdea1, #gn-af782679-7a7d-976d-cd6e-b671e1816070-838cdea1, #gn-484630bb-d505-99e4-d42a-ea83da86b5da-838cdea1, #gn-332f9465-51d6-cdd1-3e5a-4d7a6aa06f7f-cf4e39cb, #gn-640730f7-47ae-089c-df48-da3fe9dcb740-cf4e39cb, #gn-91a64def-52d8-09d4-cdc1-8b8669cd485a-cf4e39cb, #gn-daee29e9-9032-857c-b8fa-d1e0e9d2cefb-f841a39b, #gn-86144b35-737a-b620-954a-b83a2dc5cf7c-f841a39b, #gn-9d7df34b-9477-d146-ec4c-01a44355af1e-f841a39b, #gn-d45d7384-424a-9d81-6958-69d496bd764a-ae707a21, #gn-e2b983da-82c8-63df-bc92-af31c987b03d-ae707a21, #gn-bb076304-0007-81e9-f0df-9814e8f52331-ae707a21, #gn-30660e0c-0b3a-0490-2afc-1668e8d9e889-2862a032, #gn-6749197c-28c6-2b18-1f5e-0770a6a6cd63-2862a032, #gn-a85fd519-3a19-6866-8e0a-27ef96c15c0b-2862a032, #gn-56a759d5-efc8-63b7-c362-268ee8617117-06e9c03d, #gn-5e531bd5-131a-1e8c-4da7-cdfc90cb2d03-06e9c03d, #gn-47a3b6b6-b99a-287e-7467-8d34a38f03c0-06e9c03d, #gn-48527bf4-60c4-8a5b-47d4-4c35fa12f024-6f51f2c6, #gn-19650c7a-8439-8312-4d6b-c3f9d6a897a7-747fd781 {
    grid-column: span 2 / span 2;
  }
}

/* ==========================================================================
   effets et composants (ex-styles intégrés aux pages)
   ========================================================================== */

body{
  -webkit-font-smoothing: antialiased;
  }

.icon-draw path,
  .icon-draw line {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
  }
  .icon-draw.is-drawn path,
  .icon-draw.is-drawn line {
    animation: draw-icon 1.2s ease-out forwards;
  }
  @keyframes draw-icon {
    to { stroke-dashoffset: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .icon-draw path,
    .icon-draw line {
      animation: none;
      stroke-dashoffset: 0;
    }
  }

#header-photo-wrap { position: relative; overflow: hidden; }
#header-photo { opacity: 0; }
#header-effect-canvas {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
}
@media (max-width: 767px) {
  #header-effect-canvas { display: none; }
  #header-photo { opacity: 1; }
}

.card-expertise {
  position: relative;
  z-index: 2;
  cursor: default;
  overflow: visible;
}
.card-expertise .expertise-desc {
  color: #b3b3b3;
  transition: color 0.3s ease;  
}
.card-expertise:hover .expertise-desc {
  color: #fafafa;
}
.hover-preview {
  position: fixed;
  top: 0;
  left: 0;
  width: 400px;
  height: 400px;
  pointer-events: none;
  opacity: 0;
  z-index: 1;
  border-radius: 200px;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
.hover-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.3;
}
.hover-preview.active {
  opacity: 1;
}
@media (max-width: 767px) {
  .hover-preview { display: none; }
  .card-expertise:hover .expertise-desc { color: #b3b3b3; }
}

.card-stack {
  --stack-row: 100svh;
  --stack-top: 10svh;
  --stack-card-height: calc(var(--stack-row) - 2 * var(--stack-top));
  view-timeline-name: --card-stack;
}
@media screen and (max-width: 991px) {
  .card-stack {
    --stack-top: 6svh;
  }
}
@media screen and (max-width: 767px) {
  .card-stack {
    --stack-top: 4svh;
  }
}
@media screen and (max-width: 479px) {
  .card-stack {
    --stack-top: 4svh;
  }
}
.card-stack__item:nth-child(1) { --stack-i: 1; }
.card-stack__item:nth-child(2) { --stack-i: 2; }
.card-stack__item:nth-child(3) { --stack-i: 3; }
.card-stack__item:nth-child(4) { --stack-i: 4; }
.card-stack__item:nth-child(5) { --stack-i: 5; }
.card-stack__item:nth-child(6) { --stack-i: 6; }
@supports (width: calc(sibling-index() * 1px)) {
  .card-stack__item { 
    --stack-i: sibling-index(); 
  }
}
@supports (animation-timeline: view()) {
  .card-stack__item {
    animation: card-stack-away linear forwards;
    animation-timeline: --card-stack;
    animation-range:
      exit-crossing calc(var(--stack-i, 1) * var(--stack-row) - 100svh)
      exit-crossing calc(var(--stack-i, 1) * var(--stack-row) - var(--stack-top));
  }
  .card-stack__item:last-of-type { 
    animation: none; 
  }  
}
@keyframes card-stack-away {
  to {
    transform: perspective(60em) rotateX(25deg) scale(0.85);
    filter: brightness(0.45);
  }
}
@media (prefers-reduced-motion: reduce) {
  .card-stack__item { 
    animation: none; 
  }
}
/* ------------------------- Scaling System by Osmo [https://osmo.supply/] -------------------------  */
/* Desktop */
:root {
  --size-unit: 16; /* body font-size in design - no px */
  --size-container-ideal: 1440; /* screen-size in design - no px */
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}
/* Tablet */
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834; /* screen-size in design - no px */
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}
/* Mobile Landscape */
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 550; /* screen-size in design - no px */
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}
/* Mobile Portrait */
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390; /* screen-size in design - no px */
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

.icon-planification-stroke{fill:none;stroke:#717AFF;stroke-width:16;stroke-linecap:round;stroke-miterlimit:10;}

.icon-conception-stroke{fill:none;stroke:#717AFF;stroke-width:16;stroke-linecap:round;stroke-miterlimit:10;}

.icon-developpement-stroke{fill:none;stroke:#717AFF;stroke-width:16;stroke-linecap:round;stroke-miterlimit:10;}

.icon-tests-stroke{fill:none;stroke:#717AFF;stroke-width:16;stroke-linecap:round;stroke-miterlimit:10;}

.icon-formation-stroke{fill:none;stroke:#717AFF;stroke-width:16;stroke-linecap:round;stroke-miterlimit:10;}

/* ==========================================================================
   5. Animations et survols
   Reproduisent à l'identique les animations d'origine du site.
   Les apparitions sont déclenchées par js/site.js (classe .is-in).
   ========================================================================== */

:root {
  --ease-out-cubic: cubic-bezier(.215, .61, .355, 1);
  --ease-out-quad: cubic-bezier(.25, .46, .45, .94);
  --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);
}

/* --- Apparitions au scroll : état initial (uniquement si JavaScript actif) */
@media (scripting: enabled) {
  [data-anim="fade-up"] { opacity: 0; transform: translate3d(0, 20px, 0); }
  [data-anim="fade-up-lg"] { opacity: 0; transform: translate3d(0, 120px, 0); }
  [data-anim="slide-up"] { opacity: 0; transform: translate3d(0, 10%, 0); }
}
[data-anim].is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 1s var(--ease-out-cubic), transform 1s var(--ease-out-cubic);
}
[data-anim="slide-up"].is-in { transition: opacity .5s ease .4s, transform .5s ease .4s; }

/* --- Animation d'entrée de l'accueil (tablette et desktop) */
@media (scripting: enabled) and (min-width: 768px) {
  [data-anim="intro"] { opacity: 0; transform: translate3d(0, 200px, 0); }
  [data-anim="intro-nav"] { opacity: 0; transform: translate3d(0, 80px, 0); }
}
@media (min-width: 768px) {
  [data-anim="intro"].is-in { transition-delay: .5s; }
  [data-anim="intro-nav"].is-in { transition-delay: .55s; }
}
@media (max-width: 767px) {
  [data-anim="intro"].is-in, [data-anim="intro-nav"].is-in { transform: none; transition: none; }
}

/* --- Cartes projets (desktop) */
@media (min-width: 992px) {
  .project-image { transition: transform .5s var(--ease-out-quad); }
  .project-wrapper:hover .project-image { transform: scale(1.05); }
  .view-project-button { opacity: 0; will-change: transform; }
  .project-wrapper:hover .view-project-button { opacity: 1; transition: opacity .5s var(--ease-out-quad); }
  .view-project-button-text { transform: translate3d(0, .5rem, 0); }
  .project-wrapper:hover .view-project-button-text { transform: translate3d(0, 0, 0); transition: transform .5s var(--ease-out-quint); }
  .view-project-button-text-hover { transform: translate3d(0, 100%, 0); }
  .project-wrapper .view-project-button:hover .view-project-button-text { transform: translate3d(0, -100%, 0); transition: transform .4s var(--ease-out-quint); }
  .project-wrapper .view-project-button:hover .view-project-button-text-hover { transform: translate3d(0, 0, 0); transition: transform .5s var(--ease-out-quint); }
}

/* --- Liens fléchés (« Plus de projets », etc.) */
.primary-link-button .arrow-large,
.secondary-link-button .arrow-medium { transition: transform .2s; }
.primary-link-button .primary-text-link,
.secondary-link-button .secondary-text-link { transition: color .2s; }
.primary-link-button:hover .arrow-large,
.secondary-link-button:hover .arrow-medium { transform: rotate(45deg); }
.primary-link-button:hover .primary-text-link,
.secondary-link-button:hover .secondary-text-link { color: var(--blue-netside); }

/* --- Cartes expertises (accueil) */
.thumb-expertise-wrapper { transition: border-color .2s; }
.thumb-expertise-wrapper .thumb-expertise-paragrahe { transition: color .2s; }
.thumb-expertise-wrapper .plus-ico { transition: transform .2s; }
.thumb-expertise-wrapper:hover { border-color: var(--light-grey); }
.thumb-expertise-wrapper:hover .thumb-expertise-paragrahe { color: var(--white); }
.thumb-expertise-wrapper:hover .plus-ico { transform: rotate(90deg); }

/* --- FAQ en accordéon (contact) */
[data-accordion] .brix---acordion-body {
  height: 0;
  opacity: 0;
  transform: translate3d(0, 20px, 0) scale(.96);
  transition: height .3s var(--ease-in-out-quad), opacity .2s var(--ease-in-out-quad), transform .3s var(--ease-in-out-quad);
}
[data-accordion].is-open .brix---acordion-body {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition: height .2s var(--ease-in-out-quad), opacity .2s var(--ease-in-out-quad), transform .2s var(--ease-in-out-quad);
}
[data-accordion] .plus-ico { transition: transform .2s; }
[data-accordion].is-open .plus-ico { transform: rotate(135deg); }

@media (prefers-reduced-motion: reduce) {
  [data-anim], [data-anim].is-in { opacity: 1; transform: none; transition: none; }
}

/* ==========================================================================
   6. Menu mobile (burger) — en dessous de 768px
   En-tête mobile : logo + « Studio NETSIDE » à gauche, burger à droite.
   Le bouton .nav-toggle ouvre le menu existant (.nav-menu) en plein écran.
   Le lien « Accueil » et les coordonnées n'apparaissent que dans ce menu.
   Sans JavaScript, le menu d'origine reste affiché sous le nom du studio.
   ========================================================================== */

.nav-toggle,
.nav-link-home,
.nav-menu-footer { display: none; }

@media (max-width: 767px) and (scripting: enabled) {

  /* --- En-tête : logo à gauche, à 20px de « Studio NETSIDE » */
  .navbar .brand {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    float: none;
    padding-left: 0;
    grid-area: auto !important; /* se place par rapport à tout l'en-tête */
  }
  .navbar .brand-name { padding-left: calc(30px + 20px); white-space: nowrap; }

  /* --- Bouton burger (à droite) : deux traits identiques qui se croisent */
  .nav-toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    display: block;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--white);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .nav-toggle-line {
    position: absolute;
    left: 4px;
    width: 22px;
    height: 2px;
    background-color: currentColor;
    transition: transform .35s var(--ease-out-cubic);
  }
  .nav-toggle-line:first-child { top: 10px; }
  .nav-toggle-line:last-child { top: 18px; }
  .menu-open .nav-toggle-line:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-open .nav-toggle-line:last-child { transform: translateY(-4px) rotate(-45deg); }
  .nav-toggle:focus-visible { outline: 1px solid var(--blue-netside); outline-offset: 4px; border-radius: 4px; }

  /* --- Panneau plein écran (le menu d'origine, repositionné) */
  .navbar .nav-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: .75rem;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding: 7.5rem 1.5rem 2rem;
    overflow-y: auto;
    background-color: var(--dark-grey);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s var(--ease-out-cubic), visibility 0s linear .35s;
  }
  .menu-open .navbar .nav-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity .35s var(--ease-out-cubic), visibility 0s;
  }

  .navbar .nav-menu .nav-link-home { display: block; }
  .navbar .nav-menu .nav-link {
    padding-top: 0;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -.05rem;
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition: opacity .5s var(--ease-out-cubic), transform .5s var(--ease-out-cubic), color .2s;
  }
  .navbar .nav-menu .nav-link.is-current { color: var(--blue-netside); }
  .menu-open .navbar .nav-menu .nav-link { opacity: 1; transform: translate3d(0, 0, 0); }
  .menu-open .navbar .nav-menu .nav-link:nth-child(1) { transition-delay: .08s; }
  .menu-open .navbar .nav-menu .nav-link:nth-child(2) { transition-delay: .14s; }
  .menu-open .navbar .nav-menu .nav-link:nth-child(3) { transition-delay: .2s; }
  .menu-open .navbar .nav-menu .nav-link:nth-child(4) { transition-delay: .26s; }

  /* --- Coordonnées en bas (même écriture que le pied de page, en plus grand) */
  .nav-menu-footer {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-top: auto;
    padding-top: 2rem;
    color: var(--light-grey);
    font-size: 1rem;
    line-height: 1.4;
    opacity: 0;
    transition: opacity .5s var(--ease-out-cubic);
  }
  .nav-menu-footer p { margin: 0; }
  .nav-menu-footer a { color: inherit; text-decoration: none; }
  .menu-open .nav-menu-footer { opacity: 1; transition-delay: .32s; }

  /* La page ne défile pas derrière le menu ouvert */
  html.menu-open,
  html.menu-open body { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-toggle-line,
  .navbar .nav-menu,
  .navbar .nav-menu .nav-link,
  .nav-menu-footer { transition: none !important; }
}
