@charset "UTF-8";
/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/
@view-transition {
  navigation: auto;
}
.on-canvas {
  opacity: 0;
}

#lens-rgb-shift-root {
  -webkit-mask-image: radial-gradient(ellipse, black 70%, transparent 100%), radial-gradient(ellipse, black 40%, transparent 41%);
          mask-image: radial-gradient(ellipse, black 70%, transparent 100%), radial-gradient(ellipse, black 40%, transparent 41%);
  -webkit-mask-size: 100% 100%, 4px 4px;
          mask-size: 100% 100%, 4px 4px;
  -webkit-mask-repeat: no-repeat, repeat;
          mask-repeat: no-repeat, repeat;
}

body {
  background-color: var(--robotsensible_color_mint);
}

body.white-bg {
  background-color: var(--robotsensible_color_white);
}

body.bricks-is-frontend :focus-visible {
  outline: none;
}

.featured-project .project-img img,
.featured-project .project-img video {
  width: auto;
}

html.has-follow-cursor input,
html.has-follow-cursor textarea,
html.has-follow-cursor select,
html.has-follow-cursor option,
html.has-follow-cursor [contenteditable=true] {
  cursor: auto;
}

.follow-cursor {
  --follow-cursor-color: var(--robotsensible_color_mint);
  --follow-cursor-bg: var(--follow-cursor-color);
  --follow-cursor-text-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999999;
  contain: layout style size;
  direction: ltr;
  pointer-events: none;
  color: var(--follow-cursor-color);
  opacity: 1;
  transition: opacity 0.3s, color 0.4s, mix-blend-mode 0.4s;
}

.follow-cursor::before {
  content: "";
  position: absolute;
  top: -5rem;
  left: -5rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: var(--follow-cursor-bg);
  transform: scale(0.1);
  transition: transform 0.3s, opacity 0.1s;
}

.follow-cursor-inner {
  position: relative;
  display: block;
  transform: translateZ(0);
}

.follow-cursor.-hidden {
  opacity: 0;
}

.follow-cursor.-hidden::before {
  transform: scale(0);
}

.follow-cursor.-inverse {
  --follow-cursor-color: var(--robotsensible_color_duck);
}

.follow-cursor.-white {
  --follow-cursor-color: var(--robotsensible_color_white) !important;
}
.follow-cursor.-white.-pointer {
  mix-blend-mode: overlay !important;
}

.follow-cursor.-mint {
  --follow-cursor-color: var(--robotsensible_color_mint) !important;
}

.follow-cursor.-duck {
  --follow-cursor-color: var(--robotsensible_color_duck) !important;
}

.follow-cursor.-active::before {
  transform: scale(0.2);
}

.follow-cursor.-exclusion,
.follow-cursor.-opaque,
.follow-cursor.-pointer {
  mix-blend-mode: color-dodge;
}

body.white-bg:not(.menu-opened) .follow-cursor.-exclusion,
body.white-bg:not(.menu-opened) .follow-cursor.-opaque,
body.white-bg:not(.menu-opened) .follow-cursor.-pointer {
  mix-blend-mode: multiply;
}

body.white-bg:not(.menu-opened) .follow-cursor.-pointer.-text {
  mix-blend-mode: normal;
}

.follow-cursor.-exclusion::before,
.follow-cursor.-opaque::before,
.follow-cursor.-pointer::before {
  background: var(--follow-cursor-bg);
}

.follow-cursor.-pointer::before {
  transform: scale(0.25);
}

.follow-cursor.-pointer.-active::before {
  transform: scale(0.3);
}

.follow-cursor.-opaque::before {
  transform: scale(0.6);
}

.follow-cursor.-opaque.-active::before {
  transform: scale(0.5);
}

.follow-cursor.-lg::before {
  transform: scale(1.05);
}

.follow-cursor.-lg.-active::before {
  transform: scale(1.15);
}

.follow-cursor.-text,
.follow-cursor.-icon,
.follow-cursor.-media {
  mix-blend-mode: normal;
  transition-delay: 0s;
}

.follow-cursor.-text::before {
  background: var(--follow-cursor-bg);
  transform: scale(1);
}

.follow-cursor.-icon::before {
  transform: scale(1);
}

.follow-cursor.-text.-active::before {
  transform: scale(0.8);
  transition-duration: 0.2s;
}

.follow-cursor.-icon.-active::before {
  transform: scale(0.9);
}

.follow-cursor-text {
  position: absolute;
  top: -1.8rem;
  left: -1.8rem;
  width: 3.6rem;
  height: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--follow-cursor-text-color);
  font-size: 1.6rem;
  line-height: 1.2;
  text-align: center;
  opacity: 0;
  text-transform: uppercase;
  transform: scale(0) rotate(10deg);
  transition: opacity 0.4s, transform 0.3s;
}

.follow-cursor.-icon .follow-cursor-text,
.follow-cursor.-text .follow-cursor-text {
  opacity: 1;
  transform: scale(1);
}

.follow-cursor.-icon .follow-cursor-text {
  font-size: 2rem;
}

.follow-cursor.-inverse .follow-cursor-text {
  --follow-cursor-text-color: var(--robotsensible_color_duck);
}

.follow-cursor-text svg,
.follow-cursor-text use {
  display: block;
}

.follow-cursor-icon {
  width: 1em;
  height: 1em;
}

.follow-cursor-media {
  position: absolute;
  width: 36rem;
  height: 36rem;
  margin: -18rem 0 0 -18rem;
}

.follow-cursor-media img,
.follow-cursor-media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translateZ(0);
}

.follow-cursor-media-box {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 50%;
  opacity: 0;
  transform: scale(0) translateZ(0);
  transition: transform 0.35s, opacity 0.2s 0.2s;
}

.follow-cursor.-media {
  z-index: 0;
}

.follow-cursor.-media .follow-cursor-media-box {
  opacity: 1;
  transform: scale(0.696);
  transition-duration: 0.4s, 0.4s;
  transition-delay: 0s, 0s;
}

.follow-cursor.-media.-media-lg .follow-cursor-media-box {
  transform: scale(1) !important;
}

.follow-cursor.-media.-media-blend {
  z-index: 150;
  mix-blend-mode: exclusion;
}

@supports (mix-blend-mode: exclusion) {
  .follow-cursor.-media.-media-blend .follow-cursor-media-box {
    filter: invert(1);
  }
}
body.mint-bg .follow-cursor {
  --follow-cursor-color: var(--robotsensible_color_white);
}
body.mint-bg .follow-cursor.-pointer {
  mix-blend-mode: overlay !important;
}
body.mint-bg .follow-cursor.-mint.-pointer {
  mix-blend-mode: multiply !important;
}

header {
  z-index: 99999;
  --menu-corner-spacing: 3rem;
  --menu-corner-size: 27rem;
  --menu-icon-size: 3rem;
  --logo-size: 32rem;
  --menu-wrapper-padding-y: 9rem;
  --menu-wrapper-padding-x: 10.5rem;
  --menu-bloc-padding-y: 6rem;
  --menu-bloc-padding-x: 7rem;
}

@media (max-width: 991px) {
  header {
    --menu-corner-spacing: 2rem;
    --menu-corner-size: 18rem;
    --logo-size: 24rem;
    --menu-wrapper-padding-y: 6rem;
    --menu-wrapper-padding-x: 7rem;
    --menu-bloc-padding-y: 4.5rem;
    --menu-bloc-padding-x: 5.25rem;
  }
}
@media (max-width: 576px) {
  header {
    --menu-corner-spacing: 1.5rem;
    --menu-corner-size: 13.5rem;
    --logo-size: 18rem;
    --menu-bloc-padding-y: 3rem;
    --menu-bloc-padding-x: 3.5rem;
  }
}
#logo-container {
  transition: all 0.6s ease-in-out;
}
#logo-container #logo-svg {
  overflow: visible;
  width: var(--logo-size);
  transform: translate(-50%, -50%) rotate(-90deg);
  position: absolute;
  left: 50%;
  top: 50%;
  transition: all 0.6s ease-in-out;
}
#logo-container #logo-svg .letter-container {
  position: relative;
  width: auto;
  height: auto;
}
#logo-container #logo-svg path,
#logo-container #logo-svg polygon {
  fill: var(--robotsensible_color_white);
  /* Pas de transition sur « all » : ça entre en conflit avec morphSVG (attribut d) → easing bizarre */
  transition: fill 0.3s ease;
}
#logo-container #logo-svg rect {
  fill: transparent;
  height: 100%;
  transition: width 0.05s ease-in-out;
}

body.white-bg #logo-container #logo-svg path,
body.white-bg #logo-container #logo-svg polygon,
body.mint-bg #logo-container #logo-svg path,
body.mint-bg #logo-container #logo-svg polygon {
  fill: var(--robotsensible_color_duck);
}

body.white-bg #menu-icons .menu-icon line {
  stroke: var(--robotsensible_color_duck);
}
#menu-icons .menu-icon {
  width: var(--menu-icon-size);
  height: var(--menu-icon-size);
  max-width: var(--menu-icon-size);
}
#menu-icons .menu-icon line {
  stroke: var(--robotsensible_color_mint);
  transition: all 0.6s ease;
  stroke-width: 2px;
}
#menu-icons .close-icon {
  position: fixed;
  z-index: 1;
  width: var(--menu-icon-size);
  height: var(--menu-icon-size);
  max-width: var(--menu-icon-size);
}
#menu-icons .close-icon line {
  stroke: var(--robotsensible_color_duck);
  transition: all 0.6s ease;
  stroke-width: 2px;
  position: absolute;
}
#menu-icons .menu-icon-wrapper {
  position: fixed;
  width: calc(var(--menu-icon-size) + var(--menu-corner-spacing) * 2);
  max-width: calc(var(--menu-icon-size) + var(--menu-corner-spacing) * 2);
  height: calc(var(--menu-icon-size) + var(--menu-corner-spacing) * 2);
}
#menu-icons .menu-icon-wrapper .icon-wrapper {
  position: absolute;
  width: var(--menu-icon-size);
  height: var(--menu-icon-size);
  max-width: var(--menu-icon-size);
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-tl {
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-tl .icon-wrapper {
  top: var(--menu-corner-spacing);
  left: var(--menu-corner-spacing);
  right: auto;
  bottom: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-tr {
  top: 0;
  right: 0;
  left: auto;
  bottom: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-tr .icon-wrapper {
  top: var(--menu-corner-spacing);
  right: var(--menu-corner-spacing);
  left: auto;
  bottom: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-br {
  bottom: 0;
  right: 0;
  top: auto;
  left: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-br .icon-wrapper {
  bottom: var(--menu-corner-spacing);
  right: var(--menu-corner-spacing);
  top: auto;
  left: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-bl {
  bottom: 0;
  left: 0;
  top: auto;
  right: auto;
}
#menu-icons .menu-icon-wrapper.menu-icon-wrapper-bl .icon-wrapper {
  bottom: var(--menu-corner-spacing);
  left: var(--menu-corner-spacing);
  top: auto;
  right: auto;
}
#menu-icons .menu-icon-wrapper:hover .menu-icon line {
  stroke: var(--robotsensible_color_duck);
  transition: all 0.6s cubic-bezier(0.6, -0.5, 0.08, 1);
}
#menu-icons .menu-icon-wrapper:hover .menu-icon .menu-icon-line-1 {
  transform: translate(-50%, 50%);
}

#menu-corners .menu-corner-wrapper {
  --menu-mask-size: 0px;
  --menu-mask-duration: 0.3s;
  --menu-mask-easing: ease;
  width: calc(var(--menu-icon-size) + var(--menu-corner-spacing) * 2);
  max-width: calc(var(--menu-icon-size) + var(--menu-corner-spacing) * 2);
  height: calc(var(--menu-icon-size) + var(--menu-corner-spacing) * 2);
  position: fixed;
  pointer-events: auto;
}
#menu-corners .menu-corner-wrapper.menu-corner-wrapper-tl {
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
}
#menu-corners .menu-corner-wrapper.menu-corner-wrapper-tr {
  top: 0;
  right: 0;
  left: auto;
  bottom: auto;
}
#menu-corners .menu-corner-wrapper.menu-corner-wrapper-br {
  bottom: 0;
  right: 0;
  top: auto;
  left: auto;
}
#menu-corners .menu-corner-wrapper.menu-corner-wrapper-bl {
  bottom: 0;
  left: 0;
  top: auto;
  right: auto;
}
#menu-corners .menu-corner {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--menu-mask-size);
  max-width: var(--menu-mask-size);
  height: var(--menu-mask-size);
  background-color: var(--robotsensible_color_mint);
  transition: width var(--menu-mask-duration) var(--menu-mask-easing), max-width var(--menu-mask-duration) var(--menu-mask-easing), height var(--menu-mask-duration) var(--menu-mask-easing);
}
#menu-corners .menu-corner.menu-corner-tl {
  -webkit-mask-image: url(#menu-corner__svg-mask-tl);
          mask-image: url(#menu-corner__svg-mask-tl);
}
#menu-corners .menu-corner.menu-corner-tr {
  -webkit-mask-image: url(#menu-corner__svg-mask-tr);
          mask-image: url(#menu-corner__svg-mask-tr);
}
#menu-corners .menu-corner.menu-corner-br {
  -webkit-mask-image: url(#menu-corner__svg-mask-br);
          mask-image: url(#menu-corner__svg-mask-br);
}
#menu-corners .menu-corner.menu-corner-bl {
  -webkit-mask-image: url(#menu-corner__svg-mask-bl);
          mask-image: url(#menu-corner__svg-mask-bl);
}

.menu-corner__svg-mask {
  pointer-events: none;
}
.menu-corner__svg-mask mask rect,
.menu-corner__svg-mask mask circle {
  transition: width var(--menu-mask-duration) var(--menu-mask-easing), height var(--menu-mask-duration) var(--menu-mask-easing), r var(--menu-mask-duration) var(--menu-mask-easing), cx var(--menu-mask-duration) var(--menu-mask-easing), cy var(--menu-mask-duration) var(--menu-mask-easing);
}
.menu-corner__svg-mask mask rect {
  width: var(--menu-mask-size);
  height: var(--menu-mask-size);
  x: 0;
  y: 0;
}
.menu-corner__svg-mask circle {
  r: var(--menu-mask-size);
  cx: 0;
  cy: var(--menu-mask-size);
}

#menu-wrapper {
  opacity: 0;
  transition: opacity 0.6s ease, background-color 0.6s ease 0.3s;
}
#menu-wrapper #menu-border {
  /* background-image: repeating-linear-gradient(315deg, var(--robotsensible_color_duck), var(--robotsensible_color_duck) 2px, transparent 2px, transparent 14px); */
  position: relative;
  background-color: var(--robotsensible_color_mint);
  --x: 0px;
  --y: 0px;
}
@property --mask-intensity {
  #menu-wrapper #menu-border {
    syntax: "<number>";
    inherits: false;
    initial-value: 0.125;
  }
}
@property --mask-boost {
  #menu-wrapper #menu-border {
    syntax: "<number>";
    inherits: false;
    initial-value: 0;
  }
}
#menu-wrapper #menu-border:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#menu-wrapper #menu-border:hover {
  --mask-intensity: 0.25;
  --mask-boost: 0.8;
}
#menu-wrapper #menu-border #menu-numbers {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-size: 1.71dvh;
  font-weight: 300;
  word-wrap: break-word;
  overflow: hidden;
  opacity: 0.5;
  line-height: calc((100dvh - var(--menu-wrapper-padding-y) * 2) / 36);
  color: var(--robotsensible_colors_duck);
  -webkit-mask-image: radial-gradient(250px circle at var(--x) var(--y), rgba(0, 0, 0, var(--mask-intensity)) 20%, rgb(0, 0, 0, calc(var(--mask-intensity) + var(--mask-boost))) 30%);
          mask-image: radial-gradient(250px circle at var(--x) var(--y), rgba(0, 0, 0, var(--mask-intensity)) 20%, rgb(0, 0, 0, calc(var(--mask-intensity) + var(--mask-boost))) 30%);
}
@media (max-width: 991px) {
  #menu-wrapper #menu-border #menu-numbers {
    opacity: 1;
  }
}
#menu-wrapper #menu,
#menu-wrapper #menu-robot {
  position: absolute;
  right: auto;
  bottom: auto;
}
#menu-wrapper #menu-robot {
  width: -moz-max-content;
  width: max-content;
  max-width: none;
  flex: 0 0 auto;
}
#menu-wrapper #menu-robot img {
  display: block;
  height: auto;
}
#menu-wrapper #menu .bricks-nav-menu {
  counter-reset: rs-menu;
}
#menu-wrapper #menu .bricks-nav-menu li {
  counter-increment: rs-menu;
  position: relative;
}
#menu-wrapper #menu .bricks-nav-menu li::before {
  content: "0" counter(rs-menu) ".";
  position: absolute;
  left: calc(100% + 20px);
  bottom: 0;
  color: var(--robotsensible_color_duck);
  font-size: 2rem;
  font-weight: 300;
}
#menu-wrapper #menu .bricks-nav-menu li > a {
  display: block;
}

.menu-icon-wrapper .close-icon-wrapper {
  opacity: 0;
  pointer-events: none;
}

body {
  /* Aperçu au survol : uniquement menu fermé (évite conflit avec le masque ouvert + data-corner suivi) */
}
body.menu-closed[data-corner=tl] #menu-corners .menu-corner-wrapper-tl {
  --menu-mask-size: var(--menu-corner-size);
}
body.menu-closed[data-corner=tr] #menu-corners .menu-corner-wrapper-tr {
  --menu-mask-size: var(--menu-corner-size);
}
body.menu-closed[data-corner=br] #menu-corners .menu-corner-wrapper-br {
  --menu-mask-size: var(--menu-corner-size);
}
body.menu-closed[data-corner=bl] #menu-corners .menu-corner-wrapper-bl {
  --menu-mask-size: var(--menu-corner-size);
}
body.menu-opened .menu-icon {
  transition: all 0.6s ease;
}
body.menu-opened .close-icon-wrapper {
  transition: all 0.3s ease 0.3s;
}
body.menu-opened #menu-wrapper {
  opacity: 1;
  background-color: var(--robotsensible_color_mint);
  pointer-events: auto;
}
body.menu-opened #menu-wrapper #menu {
  pointer-events: auto;
}
body.menu-opened .menu-corner-wrapper {
  pointer-events: none !important;
}
body.menu-opened .menu-icon-wrapper .menu-icon {
  pointer-events: none;
}
body.menu-opened #menu-icons .menu-icon-wrapper .menu-icon line {
  stroke: var(--robotsensible_color_duck);
  transition: all 0.3s ease 0.3s;
}
body.menu-opened .follow-cursor:before {
  background-color: var(--robotsensible_color_white);
}
body.menu-opened .follow-cursor.-pointer:before {
  background-color: var(--robotsensible_color_mint);
}
body.menu-opened #logo-container {
  width: 10dvw;
  min-width: min(16dvh, 18rem);
}
body.menu-opened #logo-container #logo-svg {
  width: calc(100dvh - var(--menu-wrapper-padding-y) * 2);
}
body.menu-opened #logo-container #logo-svg path,
body.menu-opened #logo-container #logo-svg polygon {
  fill: var(--robotsensible_color_duck);
  transition: fill 0.3s ease;
}
body.menu-opened[data-menu-corner=tl] #menu-corners .menu-corner-wrapper-tl .menu-corner__svg-mask circle {
  r: 0;
  cx: 0;
  cy: max(100dvw, 100dvh);
}
body.menu-opened[data-menu-corner=tr] #menu-corners .menu-corner-wrapper-tr .menu-corner__svg-mask circle {
  r: 0;
  cx: 0;
  cy: max(100dvw, 100dvh);
}
body.menu-opened[data-menu-corner=br] #menu-corners .menu-corner-wrapper-br .menu-corner__svg-mask circle {
  r: 0;
  cx: 0;
  cy: max(100dvw, 100dvh);
}
body.menu-opened[data-menu-corner=bl] #menu-corners .menu-corner-wrapper-bl .menu-corner__svg-mask circle {
  r: 0;
  cx: 0;
  cy: max(100dvw, 100dvh);
}
body:is(.menu-opening, .menu-opened)[data-menu-corner=tl] #menu-corners .menu-corner-wrapper-tl, body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=tl] #menu-corners .menu-corner-wrapper-tl {
  --menu-mask-size: max(100dvw, 100dvh);
  --menu-mask-easing: linear;
}
body:is(.menu-opening, .menu-opened)[data-menu-corner=tr] #menu-corners .menu-corner-wrapper-tr, body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=tr] #menu-corners .menu-corner-wrapper-tr {
  --menu-mask-size: max(100dvw, 100dvh);
  --menu-mask-easing: linear;
}
body:is(.menu-opening, .menu-opened)[data-menu-corner=br] #menu-corners .menu-corner-wrapper-br, body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=br] #menu-corners .menu-corner-wrapper-br {
  --menu-mask-size: max(100dvw, 100dvh);
  --menu-mask-easing: linear;
}
body:is(.menu-opening, .menu-opened)[data-menu-corner=bl] #menu-corners .menu-corner-wrapper-bl, body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=bl] #menu-corners .menu-corner-wrapper-bl {
  --menu-mask-size: max(100dvw, 100dvh);
  --menu-mask-easing: linear;
}
body {
  /* Phase fermeture 1 : état cercle « plein » (inverse de menu-opened) avant shrink */
}
body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=tl] #menu-corners .menu-corner-wrapper-tl .menu-corner__svg-mask circle {
  r: var(--menu-mask-size);
  cx: 0;
  cy: var(--menu-mask-size);
}
body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=tr] #menu-corners .menu-corner-wrapper-tr .menu-corner__svg-mask circle {
  r: var(--menu-mask-size);
  cx: 0;
  cy: var(--menu-mask-size);
}
body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=br] #menu-corners .menu-corner-wrapper-br .menu-corner__svg-mask circle {
  r: var(--menu-mask-size);
  cx: 0;
  cy: var(--menu-mask-size);
}
body.menu-closing:not([data-menu-close-shrink])[data-menu-corner=bl] #menu-corners .menu-corner-wrapper-bl .menu-corner__svg-mask circle {
  r: var(--menu-mask-size);
  cx: 0;
  cy: var(--menu-mask-size);
}
body.menu-closing[data-menu-close-shrink][data-menu-corner=tl] #menu-corners .menu-corner-wrapper-tl {
  --menu-mask-size: 0px;
  --menu-mask-easing: linear;
}
body.menu-closing[data-menu-close-shrink][data-menu-corner=tr] #menu-corners .menu-corner-wrapper-tr {
  --menu-mask-size: 0px;
  --menu-mask-easing: linear;
}
body.menu-closing[data-menu-close-shrink][data-menu-corner=br] #menu-corners .menu-corner-wrapper-br {
  --menu-mask-size: 0px;
  --menu-mask-easing: linear;
}
body.menu-closing[data-menu-close-shrink][data-menu-corner=bl] #menu-corners .menu-corner-wrapper-bl {
  --menu-mask-size: 0px;
  --menu-mask-easing: linear;
}
body:is(.menu-opening, .menu-opened) .menu-icon-wrapper .menu-icon, body.menu-closing .menu-icon-wrapper .menu-icon {
  opacity: 0;
  pointer-events: none;
}
body:is(.menu-opening, .menu-opened) .menu-icon-wrapper .close-icon-wrapper, body.menu-closing .menu-icon-wrapper .close-icon-wrapper {
  opacity: 1 !important;
  pointer-events: auto;
}
body.menu-opening[data-menu-corner=tl] #menu-wrapper, body.menu-opened[data-menu-corner=tl] #menu-wrapper, body.menu-closing[data-menu-corner=tl] #menu-wrapper {
  justify-content: flex-start !important;
  align-items: flex-start !important;
}
body.menu-opening[data-menu-corner=tl] #menu-wrapper #menu, body.menu-opened[data-menu-corner=tl] #menu-wrapper #menu, body.menu-closing[data-menu-corner=tl] #menu-wrapper #menu {
  top: 0;
  left: 0;
  transform: translate(0, 0);
  padding-right: calc(var(--menu-bloc-padding-x) * 0.75);
}
body.menu-opening[data-menu-corner=tl] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-opened[data-menu-corner=tl] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-closing[data-menu-corner=tl] #menu-wrapper #menu .bricks-nav-menu > li {
  text-align: left;
}
body.menu-opening[data-menu-corner=tl] #menu-wrapper #menu .bricks-nav-menu > li::before, body.menu-opened[data-menu-corner=tl] #menu-wrapper #menu .bricks-nav-menu > li::before, body.menu-closing[data-menu-corner=tl] #menu-wrapper #menu .bricks-nav-menu > li::before {
  right: calc(100% + 20px);
  left: auto;
}
body.menu-opening[data-menu-corner=tl] #menu-wrapper #menu-robot, body.menu-opened[data-menu-corner=tl] #menu-wrapper #menu-robot, body.menu-closing[data-menu-corner=tl] #menu-wrapper #menu-robot {
  top: 100%;
  left: 100%;
  transform: translate(-100%, -100%);
}
body.menu-opening[data-menu-corner=tr] #menu-wrapper, body.menu-opened[data-menu-corner=tr] #menu-wrapper, body.menu-closing[data-menu-corner=tr] #menu-wrapper {
  justify-content: flex-start !important;
  align-items: flex-end !important;
}
body.menu-opening[data-menu-corner=tr] #menu-wrapper #menu, body.menu-opened[data-menu-corner=tr] #menu-wrapper #menu, body.menu-closing[data-menu-corner=tr] #menu-wrapper #menu {
  top: 0;
  left: 100%;
  transform: translate(-100%, 0);
  padding-left: calc(var(--menu-bloc-padding-x) * 0.75);
}
body.menu-opening[data-menu-corner=tr] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-opened[data-menu-corner=tr] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-closing[data-menu-corner=tr] #menu-wrapper #menu .bricks-nav-menu > li {
  text-align: right;
}
body.menu-opening[data-menu-corner=tr] #menu-wrapper #menu-robot, body.menu-opened[data-menu-corner=tr] #menu-wrapper #menu-robot, body.menu-closing[data-menu-corner=tr] #menu-wrapper #menu-robot {
  top: 100%;
  left: 0;
  transform: translate(0, -100%);
}
body.menu-opening[data-menu-corner=br] #menu-wrapper, body.menu-opened[data-menu-corner=br] #menu-wrapper, body.menu-closing[data-menu-corner=br] #menu-wrapper {
  justify-content: flex-end !important;
  align-items: flex-end !important;
}
body.menu-opening[data-menu-corner=br] #menu-wrapper #menu, body.menu-opened[data-menu-corner=br] #menu-wrapper #menu, body.menu-closing[data-menu-corner=br] #menu-wrapper #menu {
  top: 100%;
  left: 100%;
  transform: translate(-100%, -100%);
  padding-left: calc(var(--menu-bloc-padding-x) * 0.75);
}
body.menu-opening[data-menu-corner=br] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-opened[data-menu-corner=br] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-closing[data-menu-corner=br] #menu-wrapper #menu .bricks-nav-menu > li {
  text-align: right;
}
body.menu-opening[data-menu-corner=br] #menu-wrapper #menu-robot, body.menu-opened[data-menu-corner=br] #menu-wrapper #menu-robot, body.menu-closing[data-menu-corner=br] #menu-wrapper #menu-robot {
  top: 0;
  left: 0;
  transform: translate(0, 0);
}
body.menu-opening[data-menu-corner=bl] #menu-wrapper, body.menu-opened[data-menu-corner=bl] #menu-wrapper, body.menu-closing[data-menu-corner=bl] #menu-wrapper {
  justify-content: flex-end !important;
  align-items: flex-start !important;
}
body.menu-opening[data-menu-corner=bl] #menu-wrapper #menu, body.menu-opened[data-menu-corner=bl] #menu-wrapper #menu, body.menu-closing[data-menu-corner=bl] #menu-wrapper #menu {
  top: 100%;
  left: 0;
  transform: translate(0, -100%);
  padding-right: calc(var(--menu-bloc-padding-x) * 0.75);
}
body.menu-opening[data-menu-corner=bl] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-opened[data-menu-corner=bl] #menu-wrapper #menu .bricks-nav-menu > li, body.menu-closing[data-menu-corner=bl] #menu-wrapper #menu .bricks-nav-menu > li {
  text-align: left;
}
body.menu-opening[data-menu-corner=bl] #menu-wrapper #menu .bricks-nav-menu > li::before, body.menu-opened[data-menu-corner=bl] #menu-wrapper #menu .bricks-nav-menu > li::before, body.menu-closing[data-menu-corner=bl] #menu-wrapper #menu .bricks-nav-menu > li::before {
  right: calc(100% + 20px);
  left: auto;
}
body.menu-opening[data-menu-corner=bl] #menu-wrapper #menu-robot, body.menu-opened[data-menu-corner=bl] #menu-wrapper #menu-robot, body.menu-closing[data-menu-corner=bl] #menu-wrapper #menu-robot {
  top: 0;
  left: 100%;
  transform: translate(-100%, 0);
}

#scrollbar-anim {
  height: var(--logo-size);
}
#scrollbar-anim:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  height: 0;
  background-color: var(--robotsensible_color_white);
  animation: scrollbarAnim 2s ease-in-out infinite 2s;
}

body.white-bg #scrollbar-anim:before,
body.mint-bg #scrollbar-anim:before {
  background-color: var(--robotsensible_color_duck);
}

@keyframes scrollbarAnim {
  0% {
    height: 0;
    top: auto;
    bottom: 0;
  }
  25% {
    height: 100%;
    top: auto;
    bottom: 0;
  }
  26% {
    height: 100%;
    top: 0;
    bottom: auto;
  }
  49% {
    height: 0;
    top: 0;
    bottom: auto;
  }
  50% {
    height: 0;
    top: auto;
    bottom: 0;
  }
  100% {
    height: 0;
    top: auto;
    bottom: 0;
  }
}
body.mint-bg #menu-corners .menu-corner {
  background-color: var(--robotsensible_color_white);
}

body.mint-bg #menu-icons .menu-icon-wrapper:hover .menu-icon line {
  stroke: var(--robotsensible_color_duck);
}

body.mint-bg #menu-icons .menu-icon line,
body.mint-bg #menu-icons .close-icon line {
  stroke: var(--robotsensible_color_duck);
}

body.mint-bg.menu-opened #menu-wrapper,
body.mint-bg #menu,
body.mint-bg #menu-wrapper #menu-border {
  background-color: var(--robotsensible_color_white);
}

body.mint-bg.menu-opened .follow-cursor {
  color: var(--robotsensible_color_mint) !important;
}
body.mint-bg.menu-opened .follow-cursor:before {
  background-color: var(--robotsensible_color_mint);
}
body.mint-bg.menu-opened .follow-cursor.-pointer {
  mix-blend-mode: multiply !important;
}

body.mint-bg #menu-robot-bg polygon,
body.mint-bg #menu-robot-bg path {
  fill: var(--robotsensible_color_white);
}

.vertical-btn:before {
  content: "";
  background-image: conic-gradient(var(--robotsensible_color_duck) 60deg, transparent 300deg);
  height: 100%;
  aspect-ratio: 1;
  top: 50%;
  left: 50%;
  position: absolute;
  animation: rotate 2s linear infinite;
}
.vertical-btn:after {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  top: 1px;
  left: 1px;
  background: var(--robotsensible_color_mint);
  position: absolute;
}
.vertical-btn.vertical-btn-white:after {
  background: var(--robotsensible_color_white);
}

@keyframes rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@media screen and (min-width: 991px) {
  .vertical-btn .vertical-btn-title {
    writing-mode: sideways-lr;
    text-orientation: mixed;
  }
}
@media screen and (max-width: 990px) {
  .vertical-btn:before {
    height: auto;
    width: 100%;
  }
}
#logo-svg {
  view-transition-name: logo-svg;
}
#logo-svg #letter-01-container > rect {
  view-transition-name: letter-01-rect;
}
#logo-svg #letter-01-container #letter-01 {
  view-transition-name: letter-01;
}
#logo-svg #letter-02-container > rect {
  view-transition-name: letter-02-rect;
}
#logo-svg #letter-02-container #letter-02 {
  view-transition-name: letter-02;
}
#logo-svg #letter-03-container > rect {
  view-transition-name: letter-03-rect;
}
#logo-svg #letter-03-container #letter-03 {
  view-transition-name: letter-03;
}
#logo-svg #letter-04-container > rect {
  view-transition-name: letter-04-rect;
}
#logo-svg #letter-04-container #letter-04 {
  view-transition-name: letter-04;
}
#logo-svg #letter-05-container > rect {
  view-transition-name: letter-05-rect;
}
#logo-svg #letter-05-container #letter-05 {
  view-transition-name: letter-05;
}
#logo-svg #letter-06-container > rect {
  view-transition-name: letter-06-rect;
}
#logo-svg #letter-06-container #letter-06 {
  view-transition-name: letter-06;
}
#logo-svg #letter-07-container > rect {
  view-transition-name: letter-07-rect;
}
#logo-svg #letter-07-container #letter-07 {
  view-transition-name: letter-07;
}
#logo-svg #letter-08-container > rect {
  view-transition-name: letter-08-rect;
}
#logo-svg #letter-08-container #letter-08 {
  view-transition-name: letter-08;
}
#logo-svg #letter-09-container > rect {
  view-transition-name: letter-09-rect;
}
#logo-svg #letter-09-container #letter-09 {
  view-transition-name: letter-09;
}
#logo-svg #letter-10-container > rect {
  view-transition-name: letter-10-rect;
}
#logo-svg #letter-10-container #letter-10 {
  view-transition-name: letter-10;
}
#logo-svg #letter-11-container > rect {
  view-transition-name: letter-11-rect;
}
#logo-svg #letter-11-container #letter-11 {
  view-transition-name: letter-11;
}
#logo-svg #letter-12-container > rect {
  view-transition-name: letter-12-rect;
}
#logo-svg #letter-12-container #letter-12 {
  view-transition-name: letter-12;
}
#logo-svg #letter-13-container > rect {
  view-transition-name: letter-13-rect;
}
#logo-svg #letter-13-container #letter-13 {
  view-transition-name: letter-13;
}

body.projects-page .project-img:hover video,
body.project-page .project-cover video {
  view-transition-name: project-media;
}

body.projects-page .project-img:hover img,
body.project-page .project-cover img {
  view-transition-name: project-media;
}/*# sourceMappingURL=style.css.map */